private QurasCode _Convert1by1(Pure.VM.OpCode code, OpCode src, NeoMethod to, byte[] data = null)
        {
            QurasCode _code     = new QurasCode();
            int       startaddr = addr;

            _code.addr = addr;
            if (src != null)
            {
                addrconv[src.addr] = addr;
                _code.debugcode    = src.debugcode;
                _code.debugline    = src.debugline;
                _code.debugILAddr  = src.addr;
                _code.debugILCode  = src.code.ToString();
            }


            addr++;

            _code.code = code;

            if (data != null)
            {
                _code.bytes = data;
                addr       += _code.bytes.Length;
            }
            to.body_Codes[startaddr] = _code;
            return(_code);
        }
        private QurasCode _Insert1(Pure.VM.OpCode code, string comment, NeoMethod to, byte[] data = null)
        {
            QurasCode _code     = new QurasCode();
            int       startaddr = addr;

            _code.addr = addr;
            {
                _code.debugcode = comment;
                _code.debugline = 0;
            }

            addr++;

            _code.code = code;

            if (data != null)
            {
                _code.bytes = data;
                addr       += _code.bytes.Length;
            }
            to.body_Codes[startaddr] = _code;
            return(_code);
        }
Example #3
0
 static int getNumber(QurasCode code)
 {
     if (code.code <= Pure.VM.OpCode.PUSHBYTES75 && code.code >= Pure.VM.OpCode.PUSHBYTES1)
     {
         return((int)new BigInteger(code.bytes));
     }
     else if (code.code == Pure.VM.OpCode.PUSH0)
     {
         return(0);
     }
     else if (code.code == Pure.VM.OpCode.PUSH1)
     {
         return(1);
     }
     else if (code.code == Pure.VM.OpCode.PUSH2)
     {
         return(2);
     }
     else if (code.code == Pure.VM.OpCode.PUSH3)
     {
         return(3);
     }
     else if (code.code == Pure.VM.OpCode.PUSH4)
     {
         return(4);
     }
     else if (code.code == Pure.VM.OpCode.PUSH5)
     {
         return(5);
     }
     else if (code.code == Pure.VM.OpCode.PUSH6)
     {
         return(6);
     }
     else if (code.code == Pure.VM.OpCode.PUSH7)
     {
         return(7);
     }
     else if (code.code == Pure.VM.OpCode.PUSH8)
     {
         return(8);
     }
     else if (code.code == Pure.VM.OpCode.PUSH9)
     {
         return(9);
     }
     else if (code.code == Pure.VM.OpCode.PUSH10)
     {
         return(10);
     }
     else if (code.code == Pure.VM.OpCode.PUSH11)
     {
         return(11);
     }
     else if (code.code == Pure.VM.OpCode.PUSH12)
     {
         return(12);
     }
     else if (code.code == Pure.VM.OpCode.PUSH13)
     {
         return(13);
     }
     else if (code.code == Pure.VM.OpCode.PUSH14)
     {
         return(14);
     }
     else if (code.code == Pure.VM.OpCode.PUSH15)
     {
         return(15);
     }
     else if (code.code == Pure.VM.OpCode.PUSH16)
     {
         return(16);
     }
     else if (code.code == Pure.VM.OpCode.PUSHDATA1)
     {
         return(pushdata1bytes2int(code.bytes));
     }
     else
     {
         throw new Exception("not support getNumber From this:" + code.ToString());
     }
 }