private CodeElement CreateCodeElement(TypeDeclarationSyntax typeDeclaration, SourceText text, SemanticModel semanticModel) { var symbol = semanticModel.GetDeclaredSymbol(typeDeclaration); 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, typeDeclaration.AttributeLists.Span, typeDeclaration.Span, typeDeclaration.Identifier.Span, text); AddSymbolProperties(symbol, builder); foreach (var member in typeDeclaration.Members) { foreach (var childElement in CreateCodeElements(member, text, semanticModel)) { builder.AddChild(childElement); } } return(builder.ToCodeElement()); }
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()); }