public override void Resolve(CodeGen codegen) { if (is_resolved) { return; } ModuleRef = codegen.PEFile.AddExternModule(name); if (customattr_list != null) { foreach (CustomAttr customattr in customattr_list) { customattr.AddTo(codegen, ModuleRef); } } is_resolved = true; }
internal ImplMap(ushort flag, Method implMeth, string iName, ModuleRef mScope) { flags = flag; meth = implMeth; importName = iName; importScope = mScope; tabIx = MDTable.ImplMap; if (iName == null) flags |= NoMangle; //throw(new NotYetImplementedException("PInvoke ")); }
public void AddPInvokeInfo(ModuleRef scope, string methName, PInvokeAttr callAttr) { pinvokeImpl = new ImplMap((ushort)callAttr,this,methName,scope); methFlags |= PInvokeImpl; }
public override void Resolve (CodeGen codegen) { if (is_resolved) return; ModuleRef = codegen.PEFile.AddExternModule (name); if (customattr_list != null) foreach (CustomAttr customattr in customattr_list) customattr.AddTo (codegen, ModuleRef); is_resolved = true; }
/// <summary> /// Add an external module to this PEFile (.module extern) /// </summary> /// <param name="name">the external module name</param> /// <returns>a descriptor for this external module</returns> public ModuleRef AddExternModule(string name) { ModuleRef modRef = new ModuleRef(metaData,name); metaData.AddToTable(MDTable.ModuleRef,modRef); return modRef; }