home *** CD-ROM | disk | FTP | other *** search
- package sun.tools.tree;
-
- import sun.tools.java.ClassNotFound;
- import sun.tools.java.Constants;
- import sun.tools.java.Environment;
- import sun.tools.java.Type;
-
- public class BinaryEqualityExpression extends BinaryExpression {
- public BinaryEqualityExpression(int var1, int var2, Expression var3, Expression var4) {
- super(var1, var2, Type.tBoolean, var3, var4);
- }
-
- void selectType(Environment var1, Context var2, int var3) {
- if ((var3 & 8192) == 0) {
- if ((var3 & 1792) != 0) {
- try {
- if (!var1.explicitCast(super.left.type, super.right.type) && !var1.explicitCast(super.right.type, super.left.type)) {
- var1.error(super.where, "incompatible.type", super.left.type, super.left.type, super.right.type);
- }
- } catch (ClassNotFound var6) {
- var1.error(super.where, "class.not.found", var6.name, Constants.opNames[super.op]);
- }
- } else {
- Type var4;
- if ((var3 & 128) != 0) {
- var4 = Type.tDouble;
- } else if ((var3 & 64) != 0) {
- var4 = Type.tFloat;
- } else if ((var3 & 32) != 0) {
- var4 = Type.tLong;
- } else if ((var3 & 1) != 0) {
- var4 = Type.tBoolean;
- } else {
- var4 = Type.tInt;
- }
-
- super.left = ((Node)this).convert(var1, var2, var4, super.left);
- super.right = ((Node)this).convert(var1, var2, var4, super.right);
- }
- }
- }
- }
-