本文整理汇总了C#中System.Linq.Expressions.Interpreter.InterpretedFrame.Pop方法的典型用法代码示例。如果您正苦于以下问题:C# InterpretedFrame.Pop方法的具体用法?C# InterpretedFrame.Pop怎么用?C# InterpretedFrame.Pop使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.Linq.Expressions.Interpreter.InterpretedFrame
的用法示例。
在下文中一共展示了InterpretedFrame.Pop方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Run
public override int Run(InterpretedFrame frame)
{
object value = frame.Pop();
object self = frame.Pop();
_field.SetValue(self, value);
return +1;
}
示例2: Run
public override int Run(InterpretedFrame frame)
{
object left = frame.Pop();
object right = frame.Pop();
if (left == null || right == null)
{
frame.Push(null);
return +1;
}
frame.Push(((int)left) | ((int)right));
return +1;
}
示例3: Run
public override int Run(InterpretedFrame frame)
{
var left = frame.Pop();
var right = frame.Pop();
if (left == null || right == null)
{
frame.Push(null);
return +1;
}
frame.Push(((Int64)left) | ((Int64)right));
return +1;
}
示例4: Run
public override int Run(InterpretedFrame frame)
{
object left = frame.Pop();
object right = frame.Pop();
if (left == null || right == null)
{
frame.Push(null);
return 1;
}
frame.Push((long)left & (long)right);
return 1;
}
示例5: Run
public override int Run(InterpretedFrame frame)
{
object value = frame.Pop();
object self = frame.Pop();
if (self == null)
{
throw new NullReferenceException();
}
_field.SetValue(self, value);
return +1;
}
示例6: Run
public override int Run(InterpretedFrame frame)
{
var shift = frame.Pop();
var value = frame.Pop();
if (value == null || shift == null)
{
frame.Push(null);
}
else
{
frame.Push(((Int64)value) >> ((int)shift));
}
return +1;
}
示例7: Run
public override int Run(InterpretedFrame frame)
{
var right = frame.Pop();
var left = frame.Pop();
if (left == null || right == null)
{
frame.Push(_nullValue);
}
else
{
frame.Push(((Char)left) > (Char)right);
}
return +1;
}
示例8: Run
public override int Run(InterpretedFrame frame)
{
object shift = frame.Pop();
object value = frame.Pop();
if (value == null || shift == null)
{
frame.Push(null);
}
else
{
frame.Push(((long)value) << ((int)shift));
}
return +1;
}
示例9: Run
public override int Run(InterpretedFrame frame)
{
object right = frame.Pop();
object left = frame.Pop();
if (left == null || right == null)
{
frame.Push(_nullValue);
}
else
{
frame.Push((short)left >= (short)right);
}
return 1;
}
示例10: Run
public override int Run(InterpretedFrame frame)
{
object right = frame.Pop();
object left = frame.Pop();
if (left == null || right == null)
{
frame.Push(_nullValue);
}
else
{
frame.Push(((char)left) <= (char)right);
}
return +1;
}
示例11: Run
public override int Run(InterpretedFrame frame)
{
object shift = frame.Pop();
object value = frame.Pop();
if (value == null || shift == null)
{
frame.Push(null);
}
else
{
frame.Push((short)((short)value >> (int)shift));
}
return 1;
}
示例12: Run
public sealed override int Run(InterpretedFrame frame)
{
object obj = frame.Pop();
object converted;
if (obj == null)
{
if (_isLiftedToNull)
{
converted = null;
}
else
{
// We cannot have null in a non-lifted numeric context. Throw the exception
// about not Nullable object requiring a value.
converted = (int)(int?)obj;
throw ContractUtils.Unreachable;
}
}
else
{
converted = Convert(obj);
}
frame.Push(converted);
return +1;
}
示例13: Run
public override int Run(InterpretedFrame frame)
{
object self = frame.Pop();
NullCheck(self);
frame.Push(_field.GetValue(self));
return +1;
}
示例14: Run
public override int Run(InterpretedFrame frame)
{
object right = frame.Pop();
object left = frame.Pop();
if (left == null)
{
frame.Push(right == null);
}
else if (right == null)
{
frame.Push(false);
}
else
{
frame.Push((sbyte)left == (sbyte)right);
}
return +1;
}
示例15: Run
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.Boolean_False);
}
else
{
frame.Push(ScriptingRuntimeHelpers.BooleanToObject(((short)left) == ((short)right)));
}
return +1;
}