예제 #1
0
            public override int Run(InterpretedFrame frame)
            {
                var right = frame.Pop();
                var left  = frame.Pop();

                if (left == null)
                {
                    frame.Push(ScriptingRuntimeHelpers.BooleanToObject(right == null));
                }
                else if (right == null)
                {
                    frame.Push(ScriptingRuntimeHelpers.False);
                }
                else
                {
                    frame.Push(ScriptingRuntimeHelpers.BooleanToObject(((Int16)left) == ((Int16)right)));
                }
                return(+1);
            }
예제 #2
0
            public override int Run(InterpretedFrame frame)
            {
                var other = frame.Pop();
                var obj   = frame.Pop();

                if (obj == null)
                {
                    frame.Push(ScriptingRuntimeHelpers.BooleanToObject(other == null));
                }
                else if (other == null)
                {
                    frame.Push(ScriptingRuntimeHelpers.False);
                }
                else
                {
                    frame.Push(ScriptingRuntimeHelpers.BooleanToObject(obj.Equals(other)));
                }
                return(+1);
            }
예제 #3
0
            public override int Run(InterpretedFrame frame)
            {
                var right = frame.Pop();
                var left  = frame.Pop();

                if (left == null)
                {
                    frame.Push(ScriptingRuntimeHelpers.BooleanToObject(right != null));
                }
                else if (right == null)
                {
                    frame.Push(ScriptingRuntimeHelpers.True);
                }
                else
                {
                    frame.Push(ScriptingRuntimeHelpers.BooleanToObject(((double)left) != ((double)right))); // No, don't try to be clever about double comparison
                }
                return(+1);
            }
예제 #4
0
            public override int Run(InterpretedFrame frame)
            {
                object right = frame.Pop();
                object left  = frame.Pop();

                if (left == null)
                {
                    frame.Push(ScriptingRuntimeHelpers.BooleanToObject(right != null));
                }
                else if (right == null)
                {
                    frame.Push(ScriptingRuntimeHelpers.True);
                }
                else
                {
                    frame.Push(ScriptingRuntimeHelpers.BooleanToObject(((char)left) != ((char)right)));
                }
                return(+1);
            }
예제 #5
0
 public override int Run(InterpretedFrame frame)
 {
     frame.Push(ScriptingRuntimeHelpers.BooleanToObject(frame.Pop() == frame.Pop()));
     return(+1);
 }
예제 #6
0
 public override int Run(InterpretedFrame frame)
 {
     frame.Push(ScriptingRuntimeHelpers.BooleanToObject(_type.IsInstanceOfType(frame.Pop())));
     return(+1);
 }
예제 #7
0
 public override int Run(InterpretedFrame frame)
 {
     frame.Push(ScriptingRuntimeHelpers.BooleanToObject(frame.Pop() != frame.Pop())); // Note: Pop returns different value on each call
     return(+1);
 }