Example #1
0
 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));
     }
 }
Example #2
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));
     }
 }
Example #3
0
 internal override int ImportTo(Emit.ModuleBuilder module)
 {
     return(field.ImportTo(module));
 }
Example #4
0
 internal abstract int ImportTo(Emit.ModuleBuilder module);
Example #5
0
 internal sealed override int ImportTo(Emit.ModuleBuilder module)
 {
     return(GetMethodInfo().ImportTo(module));
 }
Example #6
0
 internal override int ImportTo(Emit.ModuleBuilder module)
 {
     return(module.ImportMethodOrField(declaringType, field.Name, field.FieldSignature));
 }