public static ImmutableList<NavigationItem> Build(SemanticModelResult semanticModelResult) { if (semanticModelResult == null) { return ImmutableList<NavigationItem>.Empty; } return new[] { new NavigationItem( displayName: semanticModelResult.Snapshot.TextBuffer.GetContainingProject()?.Name ?? "Miscellaneous Files", imageIndex : NavigationBarImages.Index.ProjectNode) }.ToImmutableList(); }
public static ImmutableList<NavigationItem> Build(SemanticModelResult semanticModelResult) { var codeGenerationUnit = semanticModelResult?.CodeGenerationUnit; if(codeGenerationUnit == null) { return ImmutableList<NavigationItem>.Empty; } var builder = new TaskNavigationItemBuilder(); foreach (var symbol in codeGenerationUnit.TaskDefinitions) { builder.Visit(symbol); } foreach (var symbol in codeGenerationUnit.TaskDeclarations) { builder.Visit(symbol); } var items = builder.NavigationItems .OrderBy(ni => ni.Start) .ToImmutableList(); return items; }