-
Notifications
You must be signed in to change notification settings - Fork 4.2k
Move off of Progression for solution explorer. #78714
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Merged
CyrusNajmabadi
merged 161 commits into
dotnet:main
from
CyrusNajmabadi:removeProgression
May 30, 2025
Merged
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 15f8471
Remove more unused code
CyrusNajmabadi 87fe240
Remove more unused code
CyrusNajmabadi acc738b
Remove more unused code
CyrusNajmabadi bbb88fb
Remove more unused code
CyrusNajmabadi 8df2d5a
Remove more unused code
CyrusNajmabadi 8a63832
Remove more unused code
CyrusNajmabadi eb2746c
Remove more unused code
CyrusNajmabadi 1a85c08
Remove more unused code
CyrusNajmabadi 14da4aa
Remove more unused code
CyrusNajmabadi 9e031ef
Remove more unused code
CyrusNajmabadi a2dccba
Remove more unused code
CyrusNajmabadi 3a320bb
Remove more unused code
CyrusNajmabadi 8b342d2
Remove more unused code
CyrusNajmabadi 9d5a8bb
Remove more unused code
CyrusNajmabadi 5d722b0
Remove more unused code
CyrusNajmabadi de9db43
Remove more unused code
CyrusNajmabadi aede48d
Remove tracking support. It is not used
CyrusNajmabadi c7ba2c7
IN progress
CyrusNajmabadi eaa6048
IN progress
CyrusNajmabadi beeaca7
IN progress
CyrusNajmabadi 0b198d1
IN progress
CyrusNajmabadi eba2e4d
IN progress
CyrusNajmabadi 0654d4e
IN progress
CyrusNajmabadi 1d60d62
IN progress
CyrusNajmabadi 40f6e4b
IN progress
CyrusNajmabadi a9c4c1a
Add expandability bool
CyrusNajmabadi e4ccfb8
Add return type
CyrusNajmabadi 576b71e
Simplify
CyrusNajmabadi 9e30137
Mostly working
CyrusNajmabadi 40a3b3c
Break into individual files
CyrusNajmabadi 465042c
Rename
CyrusNajmabadi 98aa4ed
Delete
CyrusNajmabadi 565e228
in progress
CyrusNajmabadi f934877
in progress
CyrusNajmabadi ad3c948
extract type
CyrusNajmabadi 69b918a
Add field support
CyrusNajmabadi 8685bdb
Add field support
CyrusNajmabadi de6784d
Add operator support
CyrusNajmabadi fd335eb
Share code
CyrusNajmabadi 141f3e4
move into own file
CyrusNajmabadi 39588a2
Simplify
CyrusNajmabadi 89908c8
Simplify
CyrusNajmabadi 11fbe8a
in progress
CyrusNajmabadi f225e95
in progress
CyrusNajmabadi 8b9ca75
make the item into its own source
CyrusNajmabadi 4ada41b
in progress
CyrusNajmabadi b3310d4
in progress
CyrusNajmabadi d34f33d
Rename
CyrusNajmabadi 70cf486
Simplify
CyrusNajmabadi a18a20c
Compute
CyrusNajmabadi a81eb06
Simplify
CyrusNajmabadi 96a5b41
Simplify
CyrusNajmabadi 3c442ae
Simplify
CyrusNajmabadi 1ae1a97
Simplify
CyrusNajmabadi 16e6f35
Simplify
CyrusNajmabadi 03408e4
Update c#
CyrusNajmabadi d1d4140
in progress
CyrusNajmabadi 0e5ed71
Merge branch 'operatorGlyph' into removeProgression
CyrusNajmabadi ccaec06
Add constructors
CyrusNajmabadi 4a1e284
Add destructor
CyrusNajmabadi 492103e
share
CyrusNajmabadi 451e360
single name builder
CyrusNajmabadi 5d71f18
Add events
CyrusNajmabadi 83631ca
All members done
CyrusNajmabadi 5783191
Simplify
CyrusNajmabadi 039d8b4
Remove entrypoint
CyrusNajmabadi db4fb91
in progress
CyrusNajmabadi 1f54440
IN progress
CyrusNajmabadi ad8bd64
Merge branch 'operatorGlyph' into removeProgression
CyrusNajmabadi 9e815d9
Merge branch 'main' into removeProgression
CyrusNajmabadi d8ff9a1
Simplify
CyrusNajmabadi 9863d9d
in progress
CyrusNajmabadi 63dd9cf
Cleanup
CyrusNajmabadi 218d929
delete files
CyrusNajmabadi 7b1286b
REmove code
CyrusNajmabadi 0631e7c
REmove code
CyrusNajmabadi d4f852f
REmove code
CyrusNajmabadi c0deb7e
In progress
CyrusNajmabadi dfe879d
Merge branch 'hierarchyHelper' into removeProgression
CyrusNajmabadi cd9e134
Merge remote-tracking branch 'upstream/main' into removeProgression
CyrusNajmabadi 4aa7b79
Initial search support
CyrusNajmabadi 2fae084
Cleanup
CyrusNajmabadi 43ca6e7
rename type
CyrusNajmabadi c9cdb51
Cleanup
CyrusNajmabadi 704c6f7
Working search
CyrusNajmabadi b1b5905
Working search
CyrusNajmabadi 2c0b1c7
Make nested type
CyrusNajmabadi a74bb6e
remove code
CyrusNajmabadi 4787c18
Merge branch 'persistenceVersion' into removeProgression
CyrusNajmabadi 1105ccc
Remove files
CyrusNajmabadi 0924c9d
Remove files
CyrusNajmabadi 3be518a
Remove files
CyrusNajmabadi 2da09f5
Add base type
CyrusNajmabadi 43aff20
VB stubs
CyrusNajmabadi d93cc11
Add delegate support
CyrusNajmabadi 9ce5147
Add enum support
CyrusNajmabadi 05de6e4
Add type support
CyrusNajmabadi c525624
add typeblock support
CyrusNajmabadi 9da2ae6
Add stubs
CyrusNajmabadi 72dae5a
Add fields
CyrusNajmabadi 50ed0bf
Add events
CyrusNajmabadi c053fc1
Add proeprties
CyrusNajmabadi e9e0bad
Add operatosr
CyrusNajmabadi d7c04ff
Add constructors
CyrusNajmabadi 4381b04
Add methods
CyrusNajmabadi 334a9f8
Merge remote-tracking branch 'upstream/main' into removeProgression
CyrusNajmabadi 5fc1fe3
Seal type
CyrusNajmabadi be0b606
Delete old code
CyrusNajmabadi 1bbde8f
Delete old code
CyrusNajmabadi 8314fe1
Delete old code
CyrusNajmabadi 5a5dc9c
Update persistence version
CyrusNajmabadi 20036bb
Avoid boxing
CyrusNajmabadi b904e2a
Fix c# arrays
CyrusNajmabadi 68eb24b
Fix vb arrays
CyrusNajmabadi 411e12c
Add C# tests
CyrusNajmabadi b5dd97b
Fix accessibility
CyrusNajmabadi 3882d54
Add more tests
CyrusNajmabadi ca65013
Add tests
CyrusNajmabadi 3344680
.\.devcontainer\
CyrusNajmabadi b2cd55c
Add quotes
CyrusNajmabadi 7c2d1c4
Add common code for tests
CyrusNajmabadi 9f1b4d1
VB tests
CyrusNajmabadi 4bf50da
Add tests
CyrusNajmabadi a7d466a
vb tests
CyrusNajmabadi b8b45a7
vb tests
CyrusNajmabadi e780485
vb tests
CyrusNajmabadi 9855cbd
Remove progression
CyrusNajmabadi 7a06fdd
Revert name change
CyrusNajmabadi 7e62b62
Revert
CyrusNajmabadi a3692b8
Add docs
CyrusNajmabadi 16167ad
Add test
CyrusNajmabadi 3e5ce6d
add tests
CyrusNajmabadi 97a4b87
Update src/VisualStudio/Core/Impl/SolutionExplorer/AnalyzersFolderIte…
CyrusNajmabadi 51da119
Revert
CyrusNajmabadi c41f4fc
Merge branch 'removeProgression' of https://github.com/CyrusNajmabadi…
CyrusNajmabadi 859c168
REstore api
CyrusNajmabadi 0d8c514
REstore api
CyrusNajmabadi db04521
Move core api and data types down to features layer
CyrusNajmabadi 7b68373
in progress
CyrusNajmabadi b11b167
move to paths
CyrusNajmabadi c042c16
Rename
CyrusNajmabadi 29f6b3b
Always use canonical name.
CyrusNajmabadi 761d2d8
Add null check
CyrusNajmabadi eccd5fa
in progress
CyrusNajmabadi fc2e017
in progress
CyrusNajmabadi e8d0859
in progress
CyrusNajmabadi f96d5e2
in progress
CyrusNajmabadi 24f38eb
in progress
CyrusNajmabadi 20726c5
Docs
CyrusNajmabadi 9a28554
Docs
CyrusNajmabadi 044249d
Simpli
CyrusNajmabadi 79a50ab
Simplify
CyrusNajmabadi 5deaa5c
Simplify
CyrusNajmabadi 01f14ba
docs
CyrusNajmabadi f239377
docs
CyrusNajmabadi a5d7d5f
Clear
CyrusNajmabadi eef276b
Update src/Workspaces/Core/Portable/FindSymbols/Shared/AbstractSyntax…
CyrusNajmabadi 2ee3bb8
Remove method
CyrusNajmabadi 511b0cc
Merge branch 'removeProgression' of https://github.com/CyrusNajmabadi…
CyrusNajmabadi 8506a18
Merge remote-tracking branch 'upstream/main' into removeProgression
CyrusNajmabadi File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
470 changes: 470 additions & 0 deletions
470
...Features/CSharp/Portable/SolutionExplorer/CSharpSolutionExplorerSymbolTreeItemProvider.cs
Large diffs are not rendered by default.
Oops, something went wrong.
316 changes: 316 additions & 0 deletions
316
...Features/CSharpTest/SolutionExplorer/CSharpSolutionExplorerSymbolTreeItemProviderTests.cs
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 | ||
"""); | ||
} | ||
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -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; | ||
|
@@ -244,4 +245,55 @@ public static Accessibility GetAccessibility(ReadOnlySpan<string> tags) | |
|
||
return Accessibility.NotApplicable; | ||
} | ||
|
||
public static Glyph GetGlyph(DeclaredSymbolInfoKind kind, Accessibility accessibility) | ||
{ | ||
// 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) | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe 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, | ||
}; | ||
} |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
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