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); } }
internal override int ImportTo(Emit.ModuleBuilder module) { return module.ImportMethodOrField(declaringType, this.Name, this.MethodSignature); }
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); } }