25 if (localType ==
null)
30 if (runtimeType ==
null)
49 if (dynamicMethod ==
null)
52 if (runtimeMethodInfo ==
null)
92 if (runtimeConstructorInfo ==
null)
111 if (runtimeType ==
null)
128 if (runtimeFieldInfo ==
null)
153 if (optionalParameterTypes !=
null && (callingConvention &
CallingConventions.VarArgs) == 0)
160 if (returnType != typeof(
void))
164 if (parameterTypes !=
null)
166 num -= parameterTypes.Length;
168 if (optionalParameterTypes !=
null)
170 num -= optionalParameterTypes.Length;
186 if (parameterTypes !=
null)
188 num2 = parameterTypes.Length;
191 if (parameterTypes !=
null)
193 for (
int i = 0; i < num2; i++)
198 if (returnType != typeof(
void))
202 if (parameterTypes !=
null)
216 if (methodInfo ==
null)
245 if (optionalParameterTypes !=
null)
247 num -= optionalParameterTypes.Length;
255 if (signature ==
null)
274 if (base.CurrExcStackCount == 0)
278 __ExceptionInfo _ExceptionInfo = base.CurrExcStack[base.CurrExcStackCount - 1];
287 if (base.CurrExcStackCount == 0)
291 __ExceptionInfo _ExceptionInfo = base.CurrExcStack[base.CurrExcStackCount - 1];
295 if (exceptionType !=
null)
303 if (exceptionType ==
null)
307 if (runtimeType ==
null)
341 if (runtimeMethodInfo ==
null && dynamicMethod ==
null)
349 if (parametersNoCopy !=
null && parametersNoCopy.Length != 0)
351 array =
new Type[parametersNoCopy.Length];
354 for (
int i = 0; i < parametersNoCopy.Length; i++)
368 if (runtimeMethodInfo !=
null)
378 if (optionalParameterTypes !=
null && optionalParameterTypes.Length != 0)
381 methodSigHelper.
AddArguments(optionalParameterTypes,
null,
null);
383 return methodSigHelper;
int GetTokenFor(RuntimeConstructorInfo rtMeth, RuntimeType rtType)
override void EmitCalli(OpCode opcode, CallingConvention unmanagedCallConv, Type returnType, Type[] parameterTypes)
DynamicILGenerator(DynamicMethod method, byte[] methodSignature, int size)
int GetTokenFor(RuntimeMethodInfo rtMeth)
override void Emit(OpCode opcode, MethodInfo meth)
int GetTokenFor(RuntimeMethodInfo rtMeth, RuntimeType rtType)
override void EmitCalli(OpCode opcode, CallingConventions callingConvention, Type returnType, Type[] parameterTypes, Type[] optionalParameterTypes)
override void Emit(OpCode opcode, Type type)
override void BeginScope()
int GetTokenFor(RuntimeFieldInfo runtimeField)
int GetTokenFor(DynamicMethod dm)
override void EmitCall(OpCode opcode, MethodInfo methodInfo, Type[] optionalParameterTypes)
int GetTokenForVarArgMethod(DynamicMethod dm, SignatureHelper sig)
override LocalBuilder DeclareLocal(Type localType, bool pinned)
override void BeginCatchBlock(Type exceptionType)
void GetCallableMethod(RuntimeModule module, DynamicMethod dm)
override void BeginExceptFilterBlock()
int GetTokenForVarArgMethod(RuntimeMethodInfo rtMeth, SignatureHelper sig)
int GetTokenFor(RuntimeFieldInfo runtimeField, RuntimeType rtType)
override void Emit(OpCode opcode, ConstructorInfo con)
int GetMemberRefToken(MethodBase methodInfo, Type[] optionalParameterTypes)
override void Emit(OpCode opcode, FieldInfo field)
int GetTokenFor(RuntimeType rtType)
override SignatureHelper GetMemberRefSignature(CallingConventions call, Type returnType, Type[] parameterTypes, Type[][] requiredCustomModifiers, Type[][] optionalCustomModifiers, Type[] optionalParameterTypes)
int GetTokenForSig(byte[] sig)
int GetTokenForString(string s)
override void Emit(OpCode opcode, string str)
override void RecordTokenFixup()
override void UsingNamespace(string ns)
override void Emit(OpCode opcode, SignatureHelper signature)
int GetTokenFor(RuntimeConstructorInfo rtMeth)
int GetTokenFor(VarArgMethod varArgMethod)
void UpdateStackSize(OpCode opcode, int stackchange)
void PutInteger4(int value)
void EnsureCapacity(int size)
MethodInfo m_methodBuilder
SignatureHelper m_localSignature
void InternalEmit(OpCode opcode)
static Type GetMethodBaseReturnType(MethodBase method)
static readonly OpCode Leave
static readonly OpCode Callvirt
static readonly OpCode Newobj
static readonly OpCode Ldftn
static readonly OpCode Endfilter
static readonly OpCode Ldtoken
static readonly OpCode Call
static readonly OpCode Nop
static readonly OpCode Ldvirtftn
static readonly OpCode Calli
void AddArgument(Type clsArgument)
void AddArguments(Type[]? arguments, Type[][]? requiredCustomModifiers, Type[][]? optionalCustomModifiers)
static SignatureHelper GetMethodSigHelper(Module? mod, Type? returnType, Type[]? parameterTypes)
void MarkFilterAddr(int filterAddr)
void MarkCatchAddr(int catchAddr, Type catchException)
RuntimeFieldHandle FieldHandle
virtual Type[] GetParameterTypes()
virtual CallingConventions CallingConvention
virtual ParameterInfo[] GetParametersNoCopy()
virtual bool ContainsGenericParameters
virtual Type[] GetRequiredCustomModifiers()
virtual Type[] GetOptionalCustomModifiers()
virtual Type ParameterType
override RuntimeMethodHandle MethodHandle
RuntimeType GetRuntimeType()
RuntimeType GetRuntimeType()
RuntimeType GetRuntimeType()
override RuntimeMethodHandle MethodHandle
override RuntimeTypeHandle TypeHandle
override bool IsGenericType
static string Argument_ShouldNotSpecifyExceptionType
static string InvalidOperation_NotAVarArgCallingConvention
static string InvalidOperation_NotAllowedInDynamicMethod
static string Argument_InvalidOpCodeOnDynamicMethod
static string Argument_NotMethodCallOpcode
static string Argument_MustBeRuntimeMethodInfo
static string Argument_MustBeRuntimeFieldInfo
static string Argument_GenericsInvalid
static string Argument_NotInExceptionBlock
static string Argument_MustBeRuntimeType
virtual bool ContainsGenericParameters
static IRuntimeMethodInfo GetDynamicMethod(DynamicMethod method, RuntimeModule module, string name, byte[] sig, Resolver resolver)
StackBehaviour StackBehaviourPop
StackBehaviour StackBehaviourPush
override bool Equals([NotNullWhen(true)] object? obj)