Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
161 commits
Select commit Hold shift + click to select a range
5b181d3
Initial removal of unneeded progression types
CyrusNajmabadi May 26, 2025
15f8471
Remove more unused code
CyrusNajmabadi May 26, 2025
87fe240
Remove more unused code
CyrusNajmabadi May 26, 2025
acc738b
Remove more unused code
CyrusNajmabadi May 26, 2025
bbb88fb
Remove more unused code
CyrusNajmabadi May 26, 2025
8df2d5a
Remove more unused code
CyrusNajmabadi May 26, 2025
8a63832
Remove more unused code
CyrusNajmabadi May 26, 2025
eb2746c
Remove more unused code
CyrusNajmabadi May 26, 2025
1a85c08
Remove more unused code
CyrusNajmabadi May 26, 2025
14da4aa
Remove more unused code
CyrusNajmabadi May 26, 2025
9e031ef
Remove more unused code
CyrusNajmabadi May 26, 2025
a2dccba
Remove more unused code
CyrusNajmabadi May 26, 2025
3a320bb
Remove more unused code
CyrusNajmabadi May 26, 2025
8b342d2
Remove more unused code
CyrusNajmabadi May 26, 2025
9d5a8bb
Remove more unused code
CyrusNajmabadi May 26, 2025
5d722b0
Remove more unused code
CyrusNajmabadi May 26, 2025
de9db43
Remove more unused code
CyrusNajmabadi May 26, 2025
aede48d
Remove tracking support. It is not used
CyrusNajmabadi May 26, 2025
c7ba2c7
IN progress
CyrusNajmabadi May 26, 2025
eaa6048
IN progress
CyrusNajmabadi May 26, 2025
beeaca7
IN progress
CyrusNajmabadi May 26, 2025
0b198d1
IN progress
CyrusNajmabadi May 26, 2025
eba2e4d
IN progress
CyrusNajmabadi May 26, 2025
0654d4e
IN progress
CyrusNajmabadi May 26, 2025
1d60d62
IN progress
CyrusNajmabadi May 26, 2025
40f6e4b
IN progress
CyrusNajmabadi May 26, 2025
a9c4c1a
Add expandability bool
CyrusNajmabadi May 26, 2025
e4ccfb8
Add return type
CyrusNajmabadi May 26, 2025
576b71e
Simplify
CyrusNajmabadi May 26, 2025
9e30137
Mostly working
CyrusNajmabadi May 26, 2025
40a3b3c
Break into individual files
CyrusNajmabadi May 26, 2025
465042c
Rename
CyrusNajmabadi May 26, 2025
98aa4ed
Delete
CyrusNajmabadi May 26, 2025
565e228
in progress
CyrusNajmabadi May 26, 2025
f934877
in progress
CyrusNajmabadi May 26, 2025
ad3c948
extract type
CyrusNajmabadi May 26, 2025
69b918a
Add field support
CyrusNajmabadi May 26, 2025
8685bdb
Add field support
CyrusNajmabadi May 26, 2025
de6784d
Add operator support
CyrusNajmabadi May 26, 2025
fd335eb
Share code
CyrusNajmabadi May 27, 2025
141f3e4
move into own file
CyrusNajmabadi May 27, 2025
39588a2
Simplify
CyrusNajmabadi May 27, 2025
89908c8
Simplify
CyrusNajmabadi May 27, 2025
11fbe8a
in progress
CyrusNajmabadi May 27, 2025
f225e95
in progress
CyrusNajmabadi May 27, 2025
8b9ca75
make the item into its own source
CyrusNajmabadi May 27, 2025
4ada41b
in progress
CyrusNajmabadi May 27, 2025
b3310d4
in progress
CyrusNajmabadi May 27, 2025
d34f33d
Rename
CyrusNajmabadi May 27, 2025
70cf486
Simplify
CyrusNajmabadi May 27, 2025
a18a20c
Compute
CyrusNajmabadi May 27, 2025
a81eb06
Simplify
CyrusNajmabadi May 27, 2025
96a5b41
Simplify
CyrusNajmabadi May 27, 2025
3c442ae
Simplify
CyrusNajmabadi May 27, 2025
1ae1a97
Simplify
CyrusNajmabadi May 27, 2025
16e6f35
Simplify
CyrusNajmabadi May 27, 2025
03408e4
Update c#
CyrusNajmabadi May 27, 2025
d1d4140
in progress
CyrusNajmabadi May 27, 2025
0e5ed71
Merge branch 'operatorGlyph' into removeProgression
CyrusNajmabadi May 27, 2025
ccaec06
Add constructors
CyrusNajmabadi May 27, 2025
4a1e284
Add destructor
CyrusNajmabadi May 27, 2025
492103e
share
CyrusNajmabadi May 27, 2025
451e360
single name builder
CyrusNajmabadi May 27, 2025
5d71f18
Add events
CyrusNajmabadi May 27, 2025
83631ca
All members done
CyrusNajmabadi May 27, 2025
5783191
Simplify
CyrusNajmabadi May 27, 2025
039d8b4
Remove entrypoint
CyrusNajmabadi May 27, 2025
db4fb91
in progress
CyrusNajmabadi May 27, 2025
1f54440
IN progress
CyrusNajmabadi May 27, 2025
ad8bd64
Merge branch 'operatorGlyph' into removeProgression
CyrusNajmabadi May 27, 2025
9e815d9
Merge branch 'main' into removeProgression
CyrusNajmabadi May 27, 2025
d8ff9a1
Simplify
CyrusNajmabadi May 27, 2025
9863d9d
in progress
CyrusNajmabadi May 27, 2025
63dd9cf
Cleanup
CyrusNajmabadi May 27, 2025
218d929
delete files
CyrusNajmabadi May 27, 2025
7b1286b
REmove code
CyrusNajmabadi May 27, 2025
0631e7c
REmove code
CyrusNajmabadi May 28, 2025
d4f852f
REmove code
CyrusNajmabadi May 28, 2025
c0deb7e
In progress
CyrusNajmabadi May 28, 2025
dfe879d
Merge branch 'hierarchyHelper' into removeProgression
CyrusNajmabadi May 28, 2025
cd9e134
Merge remote-tracking branch 'upstream/main' into removeProgression
CyrusNajmabadi May 28, 2025
4aa7b79
Initial search support
CyrusNajmabadi May 28, 2025
2fae084
Cleanup
CyrusNajmabadi May 28, 2025
43ca6e7
rename type
CyrusNajmabadi May 28, 2025
c9cdb51
Cleanup
CyrusNajmabadi May 28, 2025
704c6f7
Working search
CyrusNajmabadi May 28, 2025
b1b5905
Working search
CyrusNajmabadi May 28, 2025
2c0b1c7
Make nested type
CyrusNajmabadi May 28, 2025
a74bb6e
remove code
CyrusNajmabadi May 28, 2025
4787c18
Merge branch 'persistenceVersion' into removeProgression
CyrusNajmabadi May 28, 2025
1105ccc
Remove files
CyrusNajmabadi May 28, 2025
0924c9d
Remove files
CyrusNajmabadi May 28, 2025
3be518a
Remove files
CyrusNajmabadi May 28, 2025
2da09f5
Add base type
CyrusNajmabadi May 28, 2025
43aff20
VB stubs
CyrusNajmabadi May 28, 2025
d93cc11
Add delegate support
CyrusNajmabadi May 28, 2025
9ce5147
Add enum support
CyrusNajmabadi May 28, 2025
05de6e4
Add type support
CyrusNajmabadi May 28, 2025
c525624
add typeblock support
CyrusNajmabadi May 28, 2025
9da2ae6
Add stubs
CyrusNajmabadi May 28, 2025
72dae5a
Add fields
CyrusNajmabadi May 28, 2025
50ed0bf
Add events
CyrusNajmabadi May 28, 2025
c053fc1
Add proeprties
CyrusNajmabadi May 28, 2025
e9e0bad
Add operatosr
CyrusNajmabadi May 28, 2025
d7c04ff
Add constructors
CyrusNajmabadi May 28, 2025
4381b04
Add methods
CyrusNajmabadi May 28, 2025
334a9f8
Merge remote-tracking branch 'upstream/main' into removeProgression
CyrusNajmabadi May 28, 2025
5fc1fe3
Seal type
CyrusNajmabadi May 28, 2025
be0b606
Delete old code
CyrusNajmabadi May 28, 2025
1bbde8f
Delete old code
CyrusNajmabadi May 28, 2025
8314fe1
Delete old code
CyrusNajmabadi May 28, 2025
5a5dc9c
Update persistence version
CyrusNajmabadi May 28, 2025
20036bb
Avoid boxing
CyrusNajmabadi May 28, 2025
b904e2a
Fix c# arrays
CyrusNajmabadi May 28, 2025
68eb24b
Fix vb arrays
CyrusNajmabadi May 28, 2025
411e12c
Add C# tests
CyrusNajmabadi May 28, 2025
b5dd97b
Fix accessibility
CyrusNajmabadi May 28, 2025
3882d54
Add more tests
CyrusNajmabadi May 28, 2025
ca65013
Add tests
CyrusNajmabadi May 28, 2025
3344680
.\.devcontainer\
CyrusNajmabadi May 28, 2025
b2cd55c
Add quotes
CyrusNajmabadi May 28, 2025
7c2d1c4
Add common code for tests
CyrusNajmabadi May 28, 2025
9f1b4d1
VB tests
CyrusNajmabadi May 28, 2025
4bf50da
Add tests
CyrusNajmabadi May 28, 2025
a7d466a
vb tests
CyrusNajmabadi May 28, 2025
b8b45a7
vb tests
CyrusNajmabadi May 28, 2025
e780485
vb tests
CyrusNajmabadi May 28, 2025
9855cbd
Remove progression
CyrusNajmabadi May 28, 2025
7a06fdd
Revert name change
CyrusNajmabadi May 28, 2025
7e62b62
Revert
CyrusNajmabadi May 28, 2025
a3692b8
Add docs
CyrusNajmabadi May 28, 2025
16167ad
Add test
CyrusNajmabadi May 28, 2025
3e5ce6d
add tests
CyrusNajmabadi May 28, 2025
97a4b87
Update src/VisualStudio/Core/Impl/SolutionExplorer/AnalyzersFolderIte…
CyrusNajmabadi May 28, 2025
51da119
Revert
CyrusNajmabadi May 28, 2025
c41f4fc
Merge branch 'removeProgression' of https://github.com/CyrusNajmabadi…
CyrusNajmabadi May 28, 2025
859c168
REstore api
CyrusNajmabadi May 28, 2025
0d8c514
REstore api
CyrusNajmabadi May 28, 2025
db04521
Move core api and data types down to features layer
CyrusNajmabadi May 29, 2025
7b68373
in progress
CyrusNajmabadi May 30, 2025
b11b167
move to paths
CyrusNajmabadi May 30, 2025
c042c16
Rename
CyrusNajmabadi May 30, 2025
29f6b3b
Always use canonical name.
CyrusNajmabadi May 30, 2025
761d2d8
Add null check
CyrusNajmabadi May 30, 2025
eccd5fa
in progress
CyrusNajmabadi May 30, 2025
fc2e017
in progress
CyrusNajmabadi May 30, 2025
e8d0859
in progress
CyrusNajmabadi May 30, 2025
f96d5e2
in progress
CyrusNajmabadi May 30, 2025
24f38eb
in progress
CyrusNajmabadi May 30, 2025
20726c5
Docs
CyrusNajmabadi May 30, 2025
9a28554
Docs
CyrusNajmabadi May 30, 2025
044249d
Simpli
CyrusNajmabadi May 30, 2025
79a50ab
Simplify
CyrusNajmabadi May 30, 2025
5deaa5c
Simplify
CyrusNajmabadi May 30, 2025
01f14ba
docs
CyrusNajmabadi May 30, 2025
f239377
docs
CyrusNajmabadi May 30, 2025
a5d7d5f
Clear
CyrusNajmabadi May 30, 2025
eef276b
Update src/Workspaces/Core/Portable/FindSymbols/Shared/AbstractSyntax…
CyrusNajmabadi May 30, 2025
2ee3bb8
Remove method
CyrusNajmabadi May 30, 2025
511b0cc
Merge branch 'removeProgression' of https://github.com/CyrusNajmabadi…
CyrusNajmabadi May 30, 2025
8506a18
Merge remote-tracking branch 'upstream/main' into removeProgression
CyrusNajmabadi May 30, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions src/Compilers/Test/Core/Traits/Traits.cs
Original file line number Diff line number Diff line change
Expand Up @@ -315,6 +315,7 @@ public static class Features
public const string SmartIndent = nameof(SmartIndent);
public const string SmartTokenFormatting = nameof(SmartTokenFormatting);
public const string Snippets = nameof(Snippets);
public const string SolutionExplorer = nameof(SolutionExplorer);
public const string SourceGenerators = nameof(SourceGenerators);
public const string SplitComment = nameof(SplitComment);
public const string SplitStringLiteral = nameof(SplitStringLiteral);
Expand Down

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -0,0 +1,316 @@
// Licensed to the .NET Foundation under one or more agreements.
// The .NET Foundation licenses this file to you under the MIT license.
// See the LICENSE file in the project root for more information.

using System.Threading.Tasks;
using Microsoft.CodeAnalysis.CSharp;
using Microsoft.CodeAnalysis.CSharp.Syntax;
using Microsoft.CodeAnalysis.Test.Utilities;
using Microsoft.CodeAnalysis.Test.Utilities.SolutionExplorer;
using Xunit;

namespace Microsoft.CodeAnalysis.Editor.CSharp.UnitTests.SolutionExplorer;

[UseExportProvider, Trait(Traits.Feature, Traits.Features.SolutionExplorer)]
public sealed class CSharpSolutionExplorerSymbolTreeItemProviderTests
: AbstractSolutionExplorerSymbolTreeItemProviderTests
{
protected override TestWorkspace CreateWorkspace(string code)
{
return TestWorkspace.CreateCSharp(
code, CSharpParseOptions.Default.WithLanguageVersion(LanguageVersion.Preview));
}

private Task TestCompilationUnit(
string code, string expected)
{
return TestNode<CompilationUnitSyntax>(code, expected);
}

[Fact]
public async Task TestEmptyFile()
{
await TestCompilationUnit("", "");
}

[Fact]
public async Task TestTopLevelClass()
{
await TestCompilationUnit("""
class [|C|]
{
}
""", """
Name="C" Glyph=ClassInternal HasItems=False
""");
}

[Fact]
public async Task TestTwoTopLevelTypes()
{
await TestCompilationUnit("""
class [|C|]
{
}

class [|D|]
{
}
""", """
Name="C" Glyph=ClassInternal HasItems=False
Name="D" Glyph=ClassInternal HasItems=False
""");
}

[Fact]
public async Task TestDelegatesAndEnums()
{
await TestCompilationUnit("""
delegate string [|D|](int x);

enum [|E|]
{
}
""", """
Name="D(int) : string" Glyph=DelegateInternal HasItems=False
Name="E" Glyph=EnumInternal HasItems=False
""");
}

[Fact]
public async Task TestTypesInBlockNamespace()
{
await TestCompilationUnit("""
namespace N
{
class [|C|]
{
}

class [|D|]
{
}
}
""", """
Name="C" Glyph=ClassInternal HasItems=False
Name="D" Glyph=ClassInternal HasItems=False
""");
}

[Fact]
public async Task TestTypesInFileScopedNamespace()
{
await TestCompilationUnit("""
namespace N;

class [|C|]
{
}

class [|D|]
{
}
""", """
Name="C" Glyph=ClassInternal HasItems=False
Name="D" Glyph=ClassInternal HasItems=False
""");
}

[Fact]
public async Task TestTypesAcrossNamespaces()
{
await TestCompilationUnit("""
class [|C|]
{
}

namespace N
{
class [|D|]
{
}
}
""", """
Name="C" Glyph=ClassInternal HasItems=False
Name="D" Glyph=ClassInternal HasItems=False
""");
}

[Theory, CombinatorialData]
public async Task TestTypePermutations(
[CombinatorialValues("Public", "Private", "Protected", "Internal")] string accessibility,
[CombinatorialValues("Record", "Class", "Interface", "Struct")] string type)
{
await TestCompilationUnit($$"""
{{accessibility.ToLowerInvariant()}} {{type.ToLowerInvariant()}} [|C|]
{
}
""", $$"""
Name="C" Glyph={{type switch { "Record" => "Class", "Struct" => "Structure", _ => type }}}{{accessibility}} HasItems=False
""");
}

[Theory, CombinatorialData]
public async Task TestTypeHasItems(
[CombinatorialValues("Record", "Class", "Interface", "Struct")] string type)
{
await TestCompilationUnit($$"""
{{type.ToLowerInvariant()}} [|C|]
{
int i;
}
""", $$"""
Name="C" Glyph={{type switch { "Record" => "Class", "Struct" => "Structure", _ => type }}}Internal HasItems=True
""");
}

[Fact]
public async Task TestEnumHasItems()
{
await TestCompilationUnit("""
enum [|E|]
{
A,
B,
C
}
""", """
Name="E" Glyph=EnumInternal HasItems=True
""");
}

[Theory]
[InlineData("int", "int")]
[InlineData("int[]", "int[]")]
[InlineData("int[][]", "int[][]")]
[InlineData("int[,][,,]", "int[,][,,]")]
[InlineData("int*", "int*")]
[InlineData("int?", "int?")]
[InlineData("(int, string)", "(int, string)")]
[InlineData("(int a, string b)", "(int a, string b)")]
[InlineData("delegate*unmanaged[a]<int, string>", "delegate*<int, string>")]
[InlineData("A.B", "B")]
[InlineData("A::B", "B")]
[InlineData("A::B.C", "C")]
[InlineData("A", "A")]
[InlineData("A.B<C::D, E::F.G<int>>", "B<D, G<int>>")]
public async Task TestTypes(
string parameterType, string resultType)
{
await TestCompilationUnit($$"""
delegate void [|D|]({{parameterType}} x);
""", $$"""
Name="D({{resultType}}) : void" Glyph=DelegateInternal HasItems=False
""");
}

[Fact]
public async Task TestGenericClass()
{
await TestCompilationUnit("""
class [|C|]<T>
{
}
""", """
Name="C<T>" Glyph=ClassInternal HasItems=False
""");
}

[Fact]
public async Task TestGenericDelegate()
{
await TestCompilationUnit("""
delegate void [|D|]<T>();
""", """
Name="D<T>() : void" Glyph=DelegateInternal HasItems=False
""");
}

[Fact]
public async Task TestEnumMembers()
{
await TestNode<EnumDeclarationSyntax>("""
enum E
{
[|A|], [|B|], [|C|]
}
""", """
Name="A" Glyph=EnumMemberPublic HasItems=False
Name="B" Glyph=EnumMemberPublic HasItems=False
Name="C" Glyph=EnumMemberPublic HasItems=False
""");
}

[Fact]
public async Task TestClassMembers()
{
await TestNode<ClassDeclarationSyntax>("""
class C
{
private int [|a|], [|b|];
public P [|Prop|] => default;
internal [|C|]() { }
~[|C|]() { }

protected R [|this|][string s] => default;
private event Action [|A|] { }
public event Action [|B|], [|C|];

void [|M|]<T>(int a) { }
public void IInterface.[|O|]() { }

public static C operator [|+|](C c1, int a) => default;

internal static implicit operator [|int|](C c1) => default;
}
""", """
Name="a : int" Glyph=FieldPrivate HasItems=False
Name="b : int" Glyph=FieldPrivate HasItems=False
Name="Prop : P" Glyph=PropertyPublic HasItems=False
Name="C()" Glyph=MethodInternal HasItems=False
Name="~C()" Glyph=MethodPrivate HasItems=False
Name="this[string] : R" Glyph=PropertyProtected HasItems=False
Name="A : Action" Glyph=EventPrivate HasItems=False
Name="B : Action" Glyph=EventPublic HasItems=False
Name="C : Action" Glyph=EventPublic HasItems=False
Name="M<T>(int) : void" Glyph=MethodPrivate HasItems=False
Name="O() : void" Glyph=MethodPublic HasItems=False
Name="operator +(C, int) : C" Glyph=OperatorPublic HasItems=False
Name="implicit operator int(C)" Glyph=OperatorInternal HasItems=False
""");
}

[Fact]
public async Task TestExtension1()
{
await TestNode<ClassDeclarationSyntax>("""
static class C
{
[|extension|]<T>(int i)
{
}

public static void [|M|](this int i) {}
}
""", """
Name="extension<T>(int)" Glyph=ClassPublic HasItems=False
Name="M(int) : void" Glyph=ExtensionMethodPublic HasItems=False
""");
}

[Fact]
public async Task TestExtension2()
{
await TestNode<ExtensionBlockDeclarationSyntax>("""
static class C
{
extension<T>(int i)
{
public void [|M|]() { }
}
}
""", """
Name="M() : void" Glyph=ExtensionMethodPublic HasItems=False
""");
}
}
52 changes: 52 additions & 0 deletions src/Features/Core/Portable/Common/GlyphExtensions.cs
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@

using System;
using System.Collections.Immutable;
using Microsoft.CodeAnalysis.FindSymbols;
using Microsoft.CodeAnalysis.PooledObjects;
using Microsoft.CodeAnalysis.Shared.Extensions;
using Microsoft.CodeAnalysis.Tags;
Expand Down Expand Up @@ -244,4 +245,55 @@ public static Accessibility GetAccessibility(ReadOnlySpan<string> tags)

return Accessibility.NotApplicable;
}

public static Glyph GetGlyph(DeclaredSymbolInfoKind kind, Accessibility accessibility)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is a move. it is used by both NavTo and SolutionExplorerSymbols

{
// Glyphs are stored in this order:
// ClassPublic,
// ClassProtected,
// ClassPrivate,
// ClassInternal,

var rawGlyph = GetPublicGlyph(kind);

switch (accessibility)
{
case Accessibility.Private:
rawGlyph += (Glyph.ClassPrivate - Glyph.ClassPublic);
break;
case Accessibility.Internal:
rawGlyph += (Glyph.ClassInternal - Glyph.ClassPublic);
break;
case Accessibility.Protected:
case Accessibility.ProtectedOrInternal:
case Accessibility.ProtectedAndInternal:
rawGlyph += (Glyph.ClassProtected - Glyph.ClassPublic);
break;
}

return rawGlyph;
}

private static Glyph GetPublicGlyph(DeclaredSymbolInfoKind kind)
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

this is a move. it is used by both NavTo and SolutionExplorerSymbols

=> kind switch
{
DeclaredSymbolInfoKind.Class => Glyph.ClassPublic,
DeclaredSymbolInfoKind.Constant => Glyph.ConstantPublic,
DeclaredSymbolInfoKind.Constructor => Glyph.MethodPublic,
DeclaredSymbolInfoKind.Delegate => Glyph.DelegatePublic,
DeclaredSymbolInfoKind.Enum => Glyph.EnumPublic,
DeclaredSymbolInfoKind.EnumMember => Glyph.EnumMemberPublic,
DeclaredSymbolInfoKind.Event => Glyph.EventPublic,
DeclaredSymbolInfoKind.ExtensionMethod => Glyph.ExtensionMethodPublic,
DeclaredSymbolInfoKind.Field => Glyph.FieldPublic,
DeclaredSymbolInfoKind.Indexer => Glyph.PropertyPublic,
DeclaredSymbolInfoKind.Interface => Glyph.InterfacePublic,
DeclaredSymbolInfoKind.Method => Glyph.MethodPublic,
DeclaredSymbolInfoKind.Module => Glyph.ModulePublic,
DeclaredSymbolInfoKind.Operator => Glyph.OperatorPublic,
DeclaredSymbolInfoKind.Property => Glyph.PropertyPublic,
DeclaredSymbolInfoKind.Struct => Glyph.StructurePublic,
DeclaredSymbolInfoKind.RecordStruct => Glyph.StructurePublic,
_ => Glyph.ClassPublic,
};
}
Original file line number Diff line number Diff line change
Expand Up @@ -215,6 +215,8 @@ private static string GetItemKind(DeclaredSymbolInfo declaredSymbolInfo)
return NavigateToItemKind.Property;
case DeclaredSymbolInfoKind.Struct:
return NavigateToItemKind.Structure;
case DeclaredSymbolInfoKind.Operator:
return NavigateToItemKind.OtherSymbol;
default:
throw ExceptionUtilities.UnexpectedValue(declaredSymbolInfo.Kind);
}
Expand Down
Loading