32 readonly Module module;
33 readonly Type arrayClass;
34 readonly
string methodName;
35 readonly CallingConventions callingConvention;
36 readonly Type returnType;
49 internal ArrayMethod(Module module, Type arrayClass,
string methodName, CallingConventions callingConvention, Type returnType, Type[]
parameterTypes)
52 this.arrayClass = arrayClass;
53 this.methodName = methodName;
54 this.callingConvention = callingConvention;
55 this.returnType = returnType ?? module.Universe.System_Void;
61 throw new InvalidOperationException();
66 get {
throw new InvalidOperationException(); }
71 throw new NotSupportedException();
76 throw new NotSupportedException();
79 internal override Type[] GetParameterTypes()
84 internal override int ImportTo(ModuleBuilder module)
86 return module.ImportMethodOrField(arrayClass, methodName,
MethodSignature);
91 get {
throw new NotSupportedException(); }
96 get {
return callingConvention; }
101 get {
return arrayClass; }
108 if (methodSignature ==
null)
112 return methodSignature;
116 public override Module Module
119 get {
return module; }
124 get {
return methodName; }
127 internal override int ParameterCount
135 get {
throw new NotImplementedException(); }
140 get {
return returnType; }
143 internal override bool HasThis
145 get {
return (callingConvention & (CallingConventions.HasThis | CallingConventions.ExplicitThis)) == CallingConventions.HasThis; }
148 internal override int GetCurrentToken()
150 return this.MetadataToken;
153 internal override bool IsBaked
155 get {
return arrayClass.IsBaked; }