コード例 #1
0
        public void PushGlobalAddress(Symbol symbol)
        {
            MethodInstruction push = new MethodInstruction(MethodOpCode.PushGblA, symbol);

            if (push.Equals(LastInstruction()))
            {
                Dup();
            }
            else
            {
                _deferredInstructions.Add(push);
            }
        }
コード例 #2
0
        public void PushLocalAddress(int i)
        {
            MethodInstruction push = new MethodInstruction(MethodOpCode.PushLocA, i);

            if (push.Equals(LastInstruction()))
            {
                Dup();
            }
            else
            {
                _deferredInstructions.Add(push);
            }
        }
コード例 #3
0
 public void PushLocalAddress(int i)
 {
     MethodInstruction push = new MethodInstruction(MethodOpCode.PushLocA, i);
     if (push.Equals(LastInstruction()))
         Dup();
     else
         _deferredInstructions.Add(push);
 }
コード例 #4
0
 public void PushGlobalAddress(Symbol symbol)
 {
     MethodInstruction push = new MethodInstruction(MethodOpCode.PushGblA, symbol);
     if (push.Equals(LastInstruction()))
         Dup();
     else
         _deferredInstructions.Add(push);
 }
コード例 #5
0
 public void PushArgument(int i)
 {
     MethodInstruction push = new MethodInstruction(MethodOpCode.PushArg, i);
     if (push.Equals(LastInstruction()))
         Dup();
     else
         _deferredInstructions.Add(push);
 }