private CodeElement CreateCodeElement(EnumDeclarationSyntax enumDeclaration, SourceText text, SemanticModel semanticModel) { var symbol = semanticModel.GetDeclaredSymbol(enumDeclaration); if (symbol == null) { return(null); } var builder = new CodeElement.Builder { Kind = symbol.GetKindString(), Name = symbol.ToDisplayString(SymbolDisplayFormats.ShortTypeFormat), DisplayName = symbol.ToDisplayString(SymbolDisplayFormats.TypeFormat), }; AddRanges(builder, enumDeclaration.AttributeLists.Span, enumDeclaration.Span, enumDeclaration.Identifier.Span, text); AddSymbolProperties(symbol, builder); foreach (var member in enumDeclaration.Members) { foreach (var childElement in CreateCodeElements(member, text, semanticModel)) { builder.AddChild(childElement); } } return(builder.ToCodeElement()); }
private CodeElement CreateCodeElement(NamespaceDeclarationSyntax namespaceDeclaration, SourceText text, SemanticModel semanticModel) { var symbol = semanticModel.GetDeclaredSymbol(namespaceDeclaration); if (symbol == null) { return(null); } var builder = new CodeElement.Builder { Kind = symbol.GetKindString(), Name = symbol.ToDisplayString(SymbolDisplayFormats.ShortTypeFormat), DisplayName = symbol.ToDisplayString(SymbolDisplayFormats.TypeFormat), }; AddRanges(builder, attributesSpan: default, namespaceDeclaration.Span, namespaceDeclaration.Name.Span, text);
private CodeElement CreateCodeElement(DelegateDeclarationSyntax delegateDeclaration, SourceText text, SemanticModel semanticModel) { var symbol = semanticModel.GetDeclaredSymbol(delegateDeclaration); if (symbol == null) { return(null); } var builder = new CodeElement.Builder { Kind = symbol.GetKindString(), Name = symbol.ToDisplayString(SymbolDisplayFormats.ShortTypeFormat), DisplayName = symbol.ToDisplayString(SymbolDisplayFormats.TypeFormat), }; AddRanges(builder, delegateDeclaration.AttributeLists.Span, delegateDeclaration.Span, delegateDeclaration.Identifier.Span, text); AddSymbolProperties(symbol, builder); return(builder.ToCodeElement()); }