internal PEAssemblySymbol(PEAssembly assembly, DocumentationProvider documentationProvider, bool isLinked, MetadataImportOptions importOptions) { Debug.Assert(assembly != null); Debug.Assert(documentationProvider != null); _assembly = assembly; _documentationProvider = documentationProvider; var modules = new ModuleSymbol[assembly.Modules.Length]; for (int i = 0; i < assembly.Modules.Length; i++) { modules[i] = new PEModuleSymbol(this, assembly.Modules[i], importOptions, i); } _modules = modules.AsImmutableOrNull(); _isLinked = isLinked; if (IsPchpCor(assembly)) { _specialAssembly = SpecialAssembly.PchpCorLibrary; // initialize CoreTypes this.PrimaryModule.GlobalNamespace.GetTypeMembers(); } else if (assembly.Identity.Name == "System.Runtime") { _specialAssembly = SpecialAssembly.CorLibrary; } else if (assembly.AssemblyReferences.Length == 0 && assembly.DeclaresTheObjectClass) { _specialAssembly = SpecialAssembly.CorLibrary; } else { // extension assembly ? //var attrs = this.GetAttributes(); } }
public SynthesizedCctorSymbol(Cci.ITypeDefinition container, ModuleSymbol module) : base(container, module, WellKnownMemberNames.StaticConstructorName, true, false, module.DeclaringCompilation.CoreTypes.Void) { SetParameters(ImmutableArray <ParameterSymbol> .Empty); }