示例#1
0
 static byte* _getClassModuleIdForStatics(IntPtr thisHandle, IntPtr* ppException, CORINFO_CLASS_STRUCT_* cls, CORINFO_MODULE_STRUCT_** pModule, void** ppIndirection)
 {
     var _this = GetThis(thisHandle);
     try
     {
         return _this.getClassModuleIdForStatics(cls, pModule, ppIndirection);
     }
     catch (Exception ex)
     {
         *ppException = _this.AllocException(ex);
         return default(byte*);
     }
 }
示例#2
0
 private bool isValidStringRef(IntPtr _this, CORINFO_MODULE_STRUCT_* module, uint metaTOK)
 { throw new NotImplementedException("isValidStringRef"); }
示例#3
0
 private CORINFO_ASSEMBLY_STRUCT_* getModuleAssembly(IntPtr _this, CORINFO_MODULE_STRUCT_* mod)
 { throw new NotImplementedException("getModuleAssembly"); }
示例#4
0
 private void addActiveDependency(IntPtr _this, CORINFO_MODULE_STRUCT_* moduleFrom, CORINFO_MODULE_STRUCT_* moduleTo)
 { throw new NotImplementedException("addActiveDependency"); }
示例#5
0
 private void findCallSiteSig(IntPtr _this, CORINFO_MODULE_STRUCT_* module, uint methTOK, CORINFO_CONTEXT_STRUCT* context, CORINFO_SIG_INFO* sig)
 {
     // TODO: dynamic scopes
     // TODO: verification
     var methodIL = (MethodIL)HandleToObject((IntPtr)module);
     Get_CORINFO_SIG_INFO(((MethodDesc)methodIL.GetObject((int)methTOK)).Signature, out *sig);
 }
示例#6
0
 private SIZE_T* getAddrModuleDomainID(IntPtr _this, CORINFO_MODULE_STRUCT_* module)
 { throw new NotImplementedException("getAddrModuleDomainID"); }
示例#7
0
 private CORINFO_MODULE_STRUCT_* embedModuleHandle(IntPtr _this, CORINFO_MODULE_STRUCT_* handle, ref void* ppIndirection)
 { throw new NotImplementedException("embedModuleHandle"); }
示例#8
0
        public virtual InfoAccessType constructStringLiteral_wrapper(IntPtr _this, out IntPtr exception, CORINFO_MODULE_STRUCT_* module, mdToken metaTok, ref void* ppValue)
        {
            exception = IntPtr.Zero;
            try
            {
                return constructStringLiteral(module, metaTok, ref ppValue);

            }
            catch (Exception ex)
            {
                exception = AllocException(ex);
            }
            return (InfoAccessType)0;
        }
示例#9
0
 public virtual void addActiveDependency_wrapper(IntPtr _this, out IntPtr exception, CORINFO_MODULE_STRUCT_* moduleFrom, CORINFO_MODULE_STRUCT_* moduleTo)
 {
     exception = IntPtr.Zero;
     try
     {
         addActiveDependency(moduleFrom, moduleTo);
         return;
     }
     catch (Exception ex)
     {
         exception = AllocException(ex);
     }
 }
示例#10
0
        public virtual CorInfoHelpFunc getLazyStringLiteralHelper_wrapper(IntPtr _this, out IntPtr exception, CORINFO_MODULE_STRUCT_* handle)
        {
            exception = IntPtr.Zero;
            try
            {
                return getLazyStringLiteralHelper(handle);

            }
            catch (Exception ex)
            {
                exception = AllocException(ex);
            }
            return (CorInfoHelpFunc)0;
        }
示例#11
0
        public virtual CORINFO_MODULE_STRUCT_* embedModuleHandle_wrapper(IntPtr _this, out IntPtr exception, CORINFO_MODULE_STRUCT_* handle, ref void* ppIndirection)
        {
            exception = IntPtr.Zero;
            try
            {
                return embedModuleHandle(handle, ref ppIndirection);

            }
            catch (Exception ex)
            {
                exception = AllocException(ex);
            }
            return (CORINFO_MODULE_STRUCT_*)0;
        }
示例#12
0
        public virtual SIZE_T* getAddrModuleDomainID_wrapper(IntPtr _this, out IntPtr exception, CORINFO_MODULE_STRUCT_* module)
        {
            exception = IntPtr.Zero;
            try
            {
                return getAddrModuleDomainID(module);

            }
            catch (Exception ex)
            {
                exception = AllocException(ex);
            }
            return (SIZE_T*)0;
        }
示例#13
0
        public virtual byte* findNameOfToken_wrapper(IntPtr _this, out IntPtr exception, CORINFO_MODULE_STRUCT_* moduleHandle, mdToken token, byte* szFQName, UIntPtr FQNameCapacity)
        {
            exception = IntPtr.Zero;
            try
            {
                return findNameOfToken(moduleHandle, token, szFQName, FQNameCapacity);

            }
            catch (Exception ex)
            {
                exception = AllocException(ex);
            }
            return (byte*)0;
        }
示例#14
0
        public virtual byte* getClassModuleIdForStatics_wrapper(IntPtr _this, out IntPtr exception, CORINFO_CLASS_STRUCT_* cls, CORINFO_MODULE_STRUCT_** pModule, void** ppIndirection)
        {
            exception = IntPtr.Zero;
            try
            {
                return getClassModuleIdForStatics(cls, pModule, ppIndirection);

            }
            catch (Exception ex)
            {
                exception = AllocException(ex);
            }
            return (byte*)0;
        }
示例#15
0
 private bool isValidToken(CORINFO_MODULE_STRUCT_* module, uint metaTOK)
 { throw new NotImplementedException("isValidToken"); }
示例#16
0
 public virtual void findCallSiteSig_wrapper(IntPtr _this, out IntPtr exception, CORINFO_MODULE_STRUCT_* module, uint methTOK, CORINFO_CONTEXT_STRUCT* context, CORINFO_SIG_INFO* sig)
 {
     exception = IntPtr.Zero;
     try
     {
         findCallSiteSig(module, methTOK, context, sig);
         return;
     }
     catch (Exception ex)
     {
         exception = AllocException(ex);
     }
 }
示例#17
0
 private byte* findNameOfToken(IntPtr _this, CORINFO_MODULE_STRUCT_* moduleHandle, mdToken token, byte* szFQName, UIntPtr FQNameCapacity)
 { throw new NotImplementedException("findNameOfToken"); }
示例#18
0
        public virtual CorInfoCanSkipVerificationResult canSkipVerification_wrapper(IntPtr _this, out IntPtr exception, CORINFO_MODULE_STRUCT_* module)
        {
            exception = IntPtr.Zero;
            try
            {
                return canSkipVerification(module);

            }
            catch (Exception ex)
            {
                exception = AllocException(ex);
            }
            return (CorInfoCanSkipVerificationResult)0;
        }
示例#19
0
 private CorInfoHelpFunc getLazyStringLiteralHelper(IntPtr _this, CORINFO_MODULE_STRUCT_* handle)
 {
     // TODO: Lazy string literal helper
     return CorInfoHelpFunc.CORINFO_HELP_UNDEF;
 }
示例#20
0
        [return: MarshalAs(UnmanagedType.Bool)]public virtual bool isValidStringRef_wrapper(IntPtr _this, out IntPtr exception, CORINFO_MODULE_STRUCT_* module, uint metaTOK)
        {
            exception = IntPtr.Zero;
            try
            {
                return isValidStringRef(module, metaTOK);

            }
            catch (Exception ex)
            {
                exception = AllocException(ex);
            }
            return false;
        }
示例#21
0
 private InfoAccessType constructStringLiteral(IntPtr _this, CORINFO_MODULE_STRUCT_* module, mdToken metaTok, ref void* ppValue)
 {
     MethodIL methodIL = (MethodIL)HandleToObject((IntPtr)module);
     object literal = methodIL.GetObject((int)metaTok);
     ppValue = (void*)ObjectToHandle(_compilation.NodeFactory.StringIndirection((string)literal));
     return InfoAccessType.IAT_PPVALUE;
 }
示例#22
0
        [return: MarshalAs(UnmanagedType.Bool)]public virtual bool shouldEnforceCallvirtRestriction_wrapper(IntPtr _this, out IntPtr exception, CORINFO_MODULE_STRUCT_* scope)
        {
            exception = IntPtr.Zero;
            try
            {
                return shouldEnforceCallvirtRestriction(scope);

            }
            catch (Exception ex)
            {
                exception = AllocException(ex);
            }
            return false;
        }
示例#23
0
 private void findSig(IntPtr _this, CORINFO_MODULE_STRUCT_* module, uint sigTOK, CORINFO_CONTEXT_STRUCT* context, CORINFO_SIG_INFO* sig)
 {
     var methodIL = (MethodIL)HandleToObject((IntPtr)module);
     Get_CORINFO_SIG_INFO((MethodSignature)methodIL.GetObject((int)sigTOK), out *sig);
 }
示例#24
0
        public virtual CORINFO_ASSEMBLY_STRUCT_* getModuleAssembly_wrapper(IntPtr _this, out IntPtr exception, CORINFO_MODULE_STRUCT_* mod)
        {
            exception = IntPtr.Zero;
            try
            {
                return getModuleAssembly(mod);

            }
            catch (Exception ex)
            {
                exception = AllocException(ex);
            }
            return (CORINFO_ASSEMBLY_STRUCT_*)0;
        }
示例#25
0
 private CorInfoCanSkipVerificationResult canSkipVerification(IntPtr _this, CORINFO_MODULE_STRUCT_* module)
 { throw new NotImplementedException("canSkipVerification"); }
示例#26
0
 internal static unsafe int GetValue(CORINFO_MODULE_STRUCT_* val)
 {
     return ((int)val - 1) >> 4;
 }
示例#27
0
 private bool shouldEnforceCallvirtRestriction(IntPtr _this, CORINFO_MODULE_STRUCT_* scope)
 { throw new NotImplementedException("shouldEnforceCallvirtRestriction"); }
示例#28
0
 private void findCallSiteSig(CORINFO_MODULE_STRUCT_* module, uint methTOK, CORINFO_CONTEXT_STRUCT* context, CORINFO_SIG_INFO* sig)
 {
     var methodIL = (MethodIL)HandleToObject((IntPtr)module);
     Get_CORINFO_SIG_INFO(((MethodDesc)methodIL.GetObject((int)methTOK)), out *sig);
 }
示例#29
0
 private byte* getClassModuleIdForStatics(IntPtr _this, CORINFO_CLASS_STRUCT_* cls, CORINFO_MODULE_STRUCT_** pModule, void** ppIndirection)
 { throw new NotImplementedException("getClassModuleIdForStatics"); }
示例#30
0
 static CORINFO_ASSEMBLY_STRUCT_* _getModuleAssembly(IntPtr thisHandle, IntPtr* ppException, CORINFO_MODULE_STRUCT_* mod)
 {
     var _this = GetThis(thisHandle);
     try
     {
         return _this.getModuleAssembly(mod);
     }
     catch (Exception ex)
     {
         *ppException = _this.AllocException(ex);
         return default(CORINFO_ASSEMBLY_STRUCT_*);
     }
 }