internal override int ImportTo(Emit.ModuleBuilder module)
		{
			if (methodArgs == null)
			{
				return module.ImportMethodOrField(declaringType, method.Name, method.MethodSignature);
			}
			else
			{
				return module.ImportMethodSpec(declaringType, method, methodArgs);
			}
		}
Beispiel #2
0
		internal override int ImportTo(Emit.ModuleBuilder module)
		{
			return module.ImportMethodOrField(declaringType, this.Name, this.MethodSignature);
		}
Beispiel #3
0
		internal override int ImportTo(Emit.ModuleBuilder module)
		{
			if (methodArgs == null)
			{
				return module.ImportMethodOrField(declaringType, method.Name, method.MethodSignature);
			}
			else
			{
				Writer.ByteBuffer spec = new Writer.ByteBuffer(10);
				Signature.WriteMethodSpec(module, spec, methodArgs);
				Metadata.MethodSpecTable.Record rec = new Metadata.MethodSpecTable.Record();
				Emit.MethodBuilder mb = method as Emit.MethodBuilder;
				if (mb != null && mb.ModuleBuilder == module && !declaringType.IsGenericType)
				{
					rec.Method = mb.MetadataToken;
				}
				else
				{
					rec.Method = module.ImportMember(GetGenericMethodDefinition());
				}
				rec.Instantiation = module.Blobs.Add(spec);
				return 0x2B000000 | module.MethodSpec.FindOrAddRecord(rec);
			}
		}