Esempio n. 1
0
 public BinaryOperationAction(CalculatedValue target, Op operation, JavaValue value1, JavaValue value2)
 {
     Target    = target ?? throw new ArgumentNullException(nameof(target));
     Operation = operation;
     Value1    = value1 ?? throw new ArgumentNullException(nameof(value1));
     Value2    = value2 ?? throw new ArgumentNullException(nameof(value2));
 }
Esempio n. 2
0
 public ConditionalJumpAction(JavaValue value, ActionBlock target, JumpCondition condition, JavaValue valueCmp = null)
 {
     Value     = value ?? throw new ArgumentNullException(nameof(value));
     Target    = target ?? throw new ArgumentNullException(nameof(target));
     Condition = condition;
     ValueCmp  = valueCmp;
 }
Esempio n. 3
0
        public InvokeAction(CalculatedValue target, JavaValue instance, MethodReference method, JavaValue[] args, bool virt = false)
        {
            Target   = target;
            Instance = instance;
            Method   = method;
            Args     = args;
            Virtual  = virt;

            if (Instance == null)
            {
                Debug.Assert(!Virtual || !Method.HasThis);
            }
        }
Esempio n. 4
0
 public SetFieldAction(JavaValue target, JavaValue value, FieldReference field)
 {
     Target = target;
     Value  = value;
     Field  = field;
 }
Esempio n. 5
0
 public GetFieldAction(CalculatedValue target, JavaValue from, FieldReference field)
 {
     Target = target;
     From   = @from;
     Field  = field;
 }
Esempio n. 6
0
 public SetStaticAction(JavaValue value, FieldReference field)
 {
     Value = value;
     Field = field;
 }
Esempio n. 7
0
 public ArrayIndexAction(CalculatedValue target, JavaValue array, JavaValue index)
 {
     Target = target;
     Array  = array;
     Index  = index;
 }
Esempio n. 8
0
 public ArrayLengthAction(CalculatedValue target, JavaValue array)
 {
     Target = target;
     Array  = array;
 }
Esempio n. 9
0
 public JavaState Pop(out JavaValue top)
 {
     return(new JavaState(_stack.Pop(out top), _locals));
 }
Esempio n. 10
0
 public MonitorAction(JavaValue value, bool isEnter)
 {
     Value   = value;
     IsEnter = isEnter;
 }
Esempio n. 11
0
 public ThrowAction(JavaValue value)
 {
     Value = value;
 }
Esempio n. 12
0
 public ReturnAction(JavaValue value = null)
 {
     Value = value;
 }
Esempio n. 13
0
 public ConstantSetAction(CalculatedValue target, JavaValue value)
 {
     Target = target;
     Value  = value;
 }
Esempio n. 14
0
 public UnaryOperationAction(CalculatedValue target, Op operation, JavaValue value)
 {
     Target    = target ?? throw new ArgumentNullException(nameof(target));
     Operation = operation;
     Value     = value ?? throw new ArgumentNullException(nameof(value));
 }
Esempio n. 15
0
 public JavaState Push(JavaValue o)
 {
     return(new JavaState(_stack.Push(o), _locals));
 }
Esempio n. 16
0
 public JavaState PushIf(bool cond, JavaValue val = null)
 {
     return(cond ? Push(val) : this);
 }
Esempio n. 17
0
 public NewArrayAction(CalculatedValue target, TypeReference type, JavaValue count)
 {
     Target = target;
     Type   = type;
     Count  = count;
 }
Esempio n. 18
0
 public JavaState Store(int index, JavaValue value)
 {
     return(new JavaState(_stack, _locals.SetItem(index, value)));
 }
Esempio n. 19
0
 public ArraySetAction(JavaValue array, JavaValue index, JavaValue value)
 {
     Array = array;
     Index = index;
     Value = value;
 }