Terraria v1.4.4.9
Terraria source code documentation
Loading...
Searching...
No Matches

◆ ResolveMethodHandleInternal()

static unsafe RuntimeMethodHandleInternal System.ModuleHandle.ResolveMethodHandleInternal ( RuntimeModule module,
int methodToken,
IntPtr[] typeInstantiationContext,
int typeInstCount,
IntPtr[] methodInstantiationContext,
int methodInstCount )
inlinestaticpackage

Definition at line 168 of file ModuleHandle.cs.

169 {
170 ValidateModulePointer(module);
171 try
172 {
173 fixed (IntPtr* typeInstArgs = typeInstantiationContext)
174 {
175 fixed (IntPtr* methodInstArgs = methodInstantiationContext)
176 {
177 return ResolveMethod(new QCallModule(ref module), methodToken, typeInstArgs, typeInstCount, methodInstArgs, methodInstCount);
178 }
179 }
180 }
181 catch (Exception)
182 {
183 if (!GetMetadataImport(module).IsValidToken(methodToken))
184 {
185 throw new ArgumentOutOfRangeException("methodToken", SR.Format(SR.Argument_InvalidToken, methodToken, new ModuleHandle(module)));
186 }
187 throw;
188 }
189 }
static void ValidateModulePointer(RuntimeModule module)
ModuleHandle(RuntimeModule module)
static unsafe RuntimeMethodHandleInternal ResolveMethod(QCallModule module, int methodToken, IntPtr *typeInstArgs, int typeInstCount, IntPtr *methodInstArgs, int methodInstCount)
static MetadataImport GetMetadataImport(RuntimeModule module)

References System.SR.Argument_InvalidToken, System.SR.Format(), System.ModuleHandle.GetMetadataImport(), System.ModuleHandle.ResolveMethod(), and System.ModuleHandle.ValidateModulePointer().

Referenced by System.Reflection.Associates.AssignAssociates(), and System.ModuleHandle.ResolveMethodHandle().