public SourceMemberContainerTypeSymbol( DeclaredSymbol containingSymbol, MergedDeclaration declaration, DiagnosticBag diagnostics) { _containingSymbol = containingSymbol; _declaration = declaration; if (declaration.Kind != null) { _modelObject = declaration.GetModelObject(containingSymbol?.ModelObject as MutableObjectBase, containingSymbol.ModelBuilder, diagnostics); Debug.Assert(_modelObject != null); } foreach (var singleDeclaration in declaration.Declarations) { diagnostics.AddRange(singleDeclaration.Diagnostics); } _state = SymbolCompletionState.Create(containingSymbol.Language); }
public SourceNamespaceSymbol( SourceModuleSymbol module, Symbol container, MergedDeclaration declaration, DiagnosticBag diagnostics) { Debug.Assert(declaration != null); _module = module; _container = container; _declaration = declaration; if (declaration.Kind != null) { _modelObject = declaration.GetModelObject(container?.ModelObject as MutableObjectBase, module.ModelBuilder, diagnostics); Debug.Assert(_modelObject != null); } foreach (var singleDeclaration in declaration.Declarations) { diagnostics.AddRange(singleDeclaration.Diagnostics); } _state = SymbolCompletionState.Create(module.Language); }