< prev index next >

src/java.corba/share/classes/com/sun/tools/corba/se/idl/constExpr/NotEqual.java

Print this page




  39 
  40 import com.sun.tools.corba.se.idl.Util;
  41 import java.math.BigInteger;
  42 
  43 public class NotEqual extends BinaryExpr
  44 {
  45   protected NotEqual (Expression leftOperand, Expression rightOperand)
  46   {
  47     super ("!=", leftOperand, rightOperand);
  48   } // ctor
  49 
  50   public Object evaluate () throws EvaluationException
  51   {
  52     try
  53     {
  54       Object left = left ().evaluate ();
  55       if (left instanceof Boolean)
  56       {
  57         Boolean l = (Boolean)left;
  58         Boolean r = (Boolean)right ().evaluate ();
  59         value (new Boolean (l.booleanValue () != r.booleanValue()));
  60       }
  61       else
  62       {
  63         Number l = (Number)left;
  64         Number r = (Number)right ().evaluate ();
  65 
  66         if (l instanceof Float || l instanceof Double || r instanceof Float || r instanceof Double)
  67           value (new Boolean (l.doubleValue () != r.doubleValue ()));
  68         else
  69           //daz          value (new Boolean (l.longValue () != r.longValue ()));
  70           value (new Boolean (!((BigInteger)l).equals ((BigInteger)r)));
  71       }
  72     }
  73     catch (ClassCastException e)
  74     {
  75       String[] parameters = {Util.getMessage ("EvaluationException.notEqual"), left ().value ().getClass ().getName (), right ().value ().getClass ().getName ()};
  76       throw new EvaluationException (Util.getMessage ("EvaluationException.1", parameters));
  77     }
  78     return value ();
  79   } // evaluate
  80 } // class NotEqual


  39 
  40 import com.sun.tools.corba.se.idl.Util;
  41 import java.math.BigInteger;
  42 
  43 public class NotEqual extends BinaryExpr
  44 {
  45   protected NotEqual (Expression leftOperand, Expression rightOperand)
  46   {
  47     super ("!=", leftOperand, rightOperand);
  48   } // ctor
  49 
  50   public Object evaluate () throws EvaluationException
  51   {
  52     try
  53     {
  54       Object left = left ().evaluate ();
  55       if (left instanceof Boolean)
  56       {
  57         Boolean l = (Boolean)left;
  58         Boolean r = (Boolean)right ().evaluate ();
  59         value (Boolean.valueOf (l.booleanValue () != r.booleanValue()));
  60       }
  61       else
  62       {
  63         Number l = (Number)left;
  64         Number r = (Number)right ().evaluate ();
  65 
  66         if (l instanceof Float || l instanceof Double || r instanceof Float || r instanceof Double)
  67           value (Boolean.valueOf (l.doubleValue () != r.doubleValue ()));
  68         else
  69           //daz          value (new Boolean (l.longValue () != r.longValue ()));
  70           value (Boolean.valueOf (!((BigInteger)l).equals ((BigInteger)r)));
  71       }
  72     }
  73     catch (ClassCastException e)
  74     {
  75       String[] parameters = {Util.getMessage ("EvaluationException.notEqual"), left ().value ().getClass ().getName (), right ().value ().getClass ().getName ()};
  76       throw new EvaluationException (Util.getMessage ("EvaluationException.1", parameters));
  77     }
  78     return value ();
  79   } // evaluate
  80 } // class NotEqual
< prev index next >