internal PrivateImplementationDetails( CommonPEModuleBuilder moduleBuilder, string moduleName, int submissionSlotIndex, ITypeReference systemObject, ITypeReference systemValueType, ITypeReference systemInt8Type, ITypeReference systemInt16Type, ITypeReference systemInt32Type, ITypeReference systemInt64Type, ICustomAttribute compilerGeneratedAttribute) { Debug.Assert(systemObject != null); Debug.Assert(systemValueType != null); _moduleBuilder = moduleBuilder; _systemObject = systemObject; _systemValueType = systemValueType; _systemInt8Type = systemInt8Type; _systemInt16Type = systemInt16Type; _systemInt32Type = systemInt32Type; _systemInt64Type = systemInt64Type; _compilerGeneratedAttribute = compilerGeneratedAttribute; var isNetModule = moduleBuilder.OutputKind == OutputKind.NetModule; _name = GetClassName(moduleName, submissionSlotIndex, isNetModule); }
public override void Visit(CommonPEModuleBuilder module) { //EDMAURER visit these assembly-level attributes even when producing a module. //They'll be attached off the "AssemblyAttributesGoHere" typeRef if a module is being produced. this.Visit(module.GetSourceAssemblyAttributes(Context.IsRefAssembly)); this.Visit(module.GetSourceAssemblySecurityAttributes()); this.Visit(module.GetSourceModuleAttributes()); }
public EmitContext(CommonPEModuleBuilder module, GreenNode syntaxNodeOpt, DiagnosticBag diagnostics, bool metadataOnly, bool includePrivateMembers) { Debug.Assert(module != null); Debug.Assert(diagnostics != null); Debug.Assert(includePrivateMembers || metadataOnly); Module = module; SyntaxNodeOpt = syntaxNodeOpt; Diagnostics = diagnostics; Flags flags = Flags.None; if (metadataOnly) { flags |= Flags.MetadataOnly; } if (includePrivateMembers) { flags |= Flags.IncludePrivateMembers; } _flags = flags; }
public override abstract void Visit(CommonPEModuleBuilder module);
public abstract void Visit(CommonPEModuleBuilder module);