Пример #1
0
 public override int Run(InterpretedFrame frame)
 {
     Array array = Array.CreateInstance(_elementType, _elementCount);
     for (int i = _elementCount - 1; i >= 0; i--)
     {
         array.SetValue(frame.Pop(), i);
     }
     frame.Push(array);
     return +1;
 }
Пример #2
0
 public override int Run(InterpretedFrame frame)
 {
     int length = ConvertHelper.ToInt32NoNull(frame.Pop());
     if (length < 0)
     {
         // to make behavior aligned with array creation emitted by C# compiler
         throw new OverflowException();
     }
     frame.Push(Array.CreateInstance(_elementType, length));
     return +1;
 }
Пример #3
0
 public override int Run(InterpretedFrame frame)
 {
     // it’s okay to pop the args in this order due to commutativity of referential equality
     frame.Push(PythonOps.IsNot(frame.Pop(), frame.Pop()));
     return(+1);
 }
Пример #4
0
 public override int Run(InterpretedFrame frame)
 {
     frame.Push(ScriptingRuntimeHelpers.BooleanToObject(LightExceptions.IsLightException(frame.Pop())));
     return(+1);
 }
 public override int Run(InterpretedFrame frame)
 {
     frame.Push(PythonOps.GetGlobalContext((CodeContext)frame.Pop()));
     return(+1);
 }
 public override int Run(InterpretedFrame frame)
 {
     frame.Push(PythonOps.GetParentContextFromFunction((PythonFunction)frame.Pop()));
     return(+1);
 }
Пример #7
0
 public override int Run(InterpretedFrame frame)
 {
     object obj = frame.Pop();
     frame.Push(((Array)obj).Length);
     return +1;
 }
 public override int Run(InterpretedFrame frame)
 {
     frame.Push(_global.CurrentValueLightThrow);
     return(+1);
 }
Пример #9
0
 public override int Run(InterpretedFrame frame)
 {
     frame.Push((bool)frame.Pop() ? ScriptingRuntimeHelpers.False : ScriptingRuntimeHelpers.True);
     return(+1);
 }
 public override int Run(InterpretedFrame frame)
 {
     frame.Push(((byte)frame.Pop()) != ((byte)frame.Pop()));
     return(+1);
 }
Пример #11
0
 public override int Run(InterpretedFrame frame)
 {
     frame.Push(_field.GetValue(frame.Pop()));
     return(+1);
 }
Пример #12
0
 public override int Run(InterpretedFrame frame)
 {
     frame.Push(LightExceptions.IsLightException(frame.Pop()));
     return(+1);
 }
Пример #13
0
        public override int Run(InterpretedFrame frame)
        {
            var lengths = new int[_rank];
            for (int i = _rank - 1; i >= 0; i--)
            {
                int length = ConvertHelper.ToInt32NoNull(frame.Pop());

                if (length < 0)
                {
                    // to make behavior aligned with array creation emitted by C# compiler
                    throw new OverflowException();
                }

                lengths[i] = length;
            }
            Array array = Array.CreateInstance(_elementType, lengths);
            frame.Push(array);
            return +1;
        }
Пример #14
0
 public override int Run(InterpretedFrame frame)
 {
     frame.Push(((UInt16)frame.Pop()) == ((UInt16)frame.Pop()));
     return(+1);
 }
Пример #15
0
 public override int Run(InterpretedFrame frame)
 {
     frame.Push(PythonOps.MakeEmptyDict());
     return(+1);
 }
Пример #16
0
 public override int Run(InterpretedFrame frame)
 {
     frame.Push(Convert(frame.Pop()));
     return(+1);
 }
Пример #17
0
 public override int Run(InterpretedFrame frame)
 {
     frame.Push(InterpretedFrame.CurrentFrame.Value);
     return(+1);
 }
Пример #18
0
 public override int Run(InterpretedFrame frame)
 {
     frame.Push(PythonOps.MakeClosureCell());
     return(+1);
 }
Пример #19
0
 public override int Run(InterpretedFrame frame)
 {
     frame.Push(Convert(frame.Pop()));
     return +1;
 }
 public override int Run(InterpretedFrame frame)
 {
     frame.Push(PythonOps.GetVariable((CodeContext)frame.Pop(), _name, !_isLocal, _lightThrow));
     return(+1);
 }
Пример #21
0
 public override int Run(InterpretedFrame frame)
 {
     int index = ConvertHelper.ToInt32NoNull(frame.Pop());
     Array array = (Array)frame.Pop();
     frame.Push(array.GetValue(index));
     return +1;
 }