25using System.Collections.Generic;
33 readonly MethodBuilder methodBuilder;
39 internal ConstructorBuilder(MethodBuilder mb)
41 this.methodBuilder = mb;
44 public override bool Equals(
object obj)
46 ConstructorBuilder other = obj as ConstructorBuilder;
47 return other !=
null && other.methodBuilder.Equals(methodBuilder);
50 public override int GetHashCode()
52 return methodBuilder.GetHashCode();
55 public void __SetSignature(
Type returnType, CustomModifiers returnTypeCustomModifiers,
Type[] parameterTypes, CustomModifiers[] parameterTypeCustomModifiers)
57 methodBuilder.__SetSignature(returnType, returnTypeCustomModifiers, parameterTypes, parameterTypeCustomModifiers);
60 [Obsolete(
"Please use __SetSignature(Type, CustomModifiers, Type[], CustomModifiers[]) instead.")]
61 public void __SetSignature(
Type returnType,
Type[] returnTypeRequiredCustomModifiers,
Type[] returnTypeOptionalCustomModifiers,
Type[] parameterTypes,
Type[][] parameterTypeRequiredCustomModifiers,
Type[][] parameterTypeOptionalCustomModifiers)
63 methodBuilder.SetSignature(returnType, returnTypeRequiredCustomModifiers, returnTypeOptionalCustomModifiers, parameterTypes, parameterTypeRequiredCustomModifiers, parameterTypeOptionalCustomModifiers);
66 public ParameterBuilder DefineParameter(
int position, ParameterAttributes attributes,
string strParamName)
68 return methodBuilder.DefineParameter(position, attributes, strParamName);
71 public void SetCustomAttribute(CustomAttributeBuilder customBuilder)
73 methodBuilder.SetCustomAttribute(customBuilder);
76 public void SetCustomAttribute(
ConstructorInfo con,
byte[] binaryAttribute)
78 methodBuilder.SetCustomAttribute(con, binaryAttribute);
81 public void __AddDeclarativeSecurity(CustomAttributeBuilder customBuilder)
83 methodBuilder.__AddDeclarativeSecurity(customBuilder);
86 public void AddDeclarativeSecurity(
System.Security.Permissions.SecurityAction securityAction,
System.Security.PermissionSet permissionSet)
88 methodBuilder.AddDeclarativeSecurity(securityAction, permissionSet);
91 public void SetImplementationFlags(MethodImplAttributes attributes)
93 methodBuilder.SetImplementationFlags(attributes);
96 public ILGenerator GetILGenerator()
98 return methodBuilder.GetILGenerator();
101 public ILGenerator GetILGenerator(
int streamSize)
103 return methodBuilder.GetILGenerator(streamSize);
106 public Type ReturnType
108 get {
return methodBuilder.ReturnType; }
113 return methodBuilder.GetModule();
116 public MethodToken GetToken()
118 return methodBuilder.GetToken();
121 public bool InitLocals
123 get {
return methodBuilder.InitLocals; }
124 set { methodBuilder.InitLocals = value; }
135 public void SetMethodBody(
byte[] il,
int maxStack,
byte[] localSignature, IEnumerable<ExceptionHandler> exceptionHandlers, IEnumerable<int> tokenFixups)
137 methodBuilder.SetMethodBody(il, maxStack, localSignature, exceptionHandlers, tokenFixups);
142 return methodBuilder;
145 internal override MethodInfo GetMethodOnTypeDefinition()
147 return methodBuilder;
IKVM.Reflection.Module Module
IKVM.Reflection.Type Type
IKVM.Reflection.ConstructorInfo ConstructorInfo
IKVM.Reflection.MethodInfo MethodInfo