예제 #1
0
        public void PushReference(int index)
        {
            var dst = ILIntepreter.Add(ebp, index);

            esp->ObjectType      = ObjectTypes.StackObjectReference;
            *(long *)&esp->Value = (long)dst;
            esp++;
        }
예제 #2
0
        public T ReadObject <T>(int index)
        {
            var esp = ILIntepreter.Add(ebp, index);

            return((T)typeof(T).CheckCLRTypes(StackObject.ToObject(esp, domain, mStack)));
        }
예제 #3
0
        public bool ReadBool(int index)
        {
            var esp = ILIntepreter.Add(ebp, index);

            return(esp->Value == 1);
        }
예제 #4
0
        public double ReaDouble(int index)
        {
            var esp = ILIntepreter.Add(ebp, index);

            return(*(double *)&esp->Value);
        }
예제 #5
0
        public float ReadFloat(int index)
        {
            var esp = ILIntepreter.Add(ebp, index);

            return(*(float *)&esp->Value);
        }
예제 #6
0
        public long ReadLong(int index)
        {
            var esp = ILIntepreter.Add(ebp, index);

            return(*(long *)&esp->Value);
        }
예제 #7
0
        public int ReadInteger(int index)
        {
            var esp = ILIntepreter.Add(ebp, index);

            return(esp->Value);
        }