Skip to content
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

Track EA APIs #64487

Merged
merged 4 commits into from
Oct 10, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
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
8 changes: 8 additions & 0 deletions docs/ide/external-access.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,13 @@
# External Access Policies

## API Tracking

We track the APIs that we've exposed with a roslyn analyzer, which will fail the build if APIs are removed. Unlike our public APIs, we are allowed to have breaking changes here, but these will often cause insertion failures. Any removal of an existing API (whether the API is fully removed, or the parameters/return changed) needs to have sign off from the current infrastructure rotation, and will potentially require a test insertion before merging to ensure VS isn't broken, or coordinated insertion with the affected partner team.

Because "shipping" for EA projects occurs every time a change is checked in, we don't bother updating the `InternalAPI.Shipped.txt` file for these projects.

Every EA project has an `Internal` namespace that is considered Roslyn implementation details. For example, the OmniSharp namespace is `Microsoft.CodeAnalysis.ExternalAccess.OmniSharp.Internal`. We do not track the APIs under these namespaces, and it's on the dependent projects to not reference anything from these namespaces. Not every EA project actually uses this namespace. If an EA project that doesn't currently use their `Internal` namespace wants to start, modify `/src/Tools/ExternalAccess/.editorconfig` to set the `dotnet_public_api_analyzer.skip_namespaces` key to that namespace for the affected files. Multiple namespaces can be included by using a `,` separator.

## OmniSharp

When a change needs to be made to an API in the ExternalAccess.OmniSharp or ExternalAccess.OmniSharp.CSharp packages, ping @333fred, @JoeRobich, @filipw, or @david-driscoll as a heads up. Breaking changes are allowed, but please wait for acknowledgement and followup questions to ensure that we don't completely break OmniSharp scenarios.
2 changes: 1 addition & 1 deletion eng/Versions.props
Original file line number Diff line number Diff line change
Expand Up @@ -19,7 +19,7 @@
</PropertyGroup>
<PropertyGroup>
<!-- Versions used by several individual references below -->
<RoslynDiagnosticsNugetPackageVersion>3.3.4-beta1.22204.1</RoslynDiagnosticsNugetPackageVersion>
<RoslynDiagnosticsNugetPackageVersion>3.3.4-beta1.22504.1</RoslynDiagnosticsNugetPackageVersion>
<MicrosoftCodeAnalysisNetAnalyzersVersion>7.0.0-preview1.22218.1</MicrosoftCodeAnalysisNetAnalyzersVersion>
<MicrosoftCodeAnalysisTestingVersion>1.1.2-beta1.22462.1</MicrosoftCodeAnalysisTestingVersion>
<MicrosoftVisualStudioExtensibilityTestingVersion>0.1.149-beta</MicrosoftVisualStudioExtensibilityTestingVersion>
Expand Down
37 changes: 37 additions & 0 deletions src/Tools/ExternalAccess/.editorconfig
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
[**]

# RS0016: Only enable if API files are present
dotnet_public_api_analyzer.require_api_files = true

dotnet_diagnostic.RS0051.severity = error
dotnet_diagnostic.RS0052.severity = error
dotnet_diagnostic.RS0053.severity = error
dotnet_diagnostic.RS0054.severity = error
dotnet_diagnostic.RS0055.severity = error
dotnet_diagnostic.RS0056.severity = error
dotnet_diagnostic.RS0057.severity = error
dotnet_diagnostic.RS0058.severity = error
dotnet_diagnostic.RS0059.severity = error
dotnet_diagnostic.RS0060.severity = error
dotnet_diagnostic.RS0061.severity = error

[Apex/**]

# RS0057: Symbol uses some oblivious reference types
dotnet_diagnostic.RS0057.severity = none

[AspNetCore/**]

dotnet_public_api_analyzer.skip_namespaces = Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.Internal

[FSharp/**]

dotnet_public_api_analyzer.skip_namespaces = Microsoft.CodeAnalysis.ExternalAccess.FSharp.Internal

# RS0057: Symbol uses some oblivious reference types
dotnet_diagnostic.RS0057.severity = none

[OmniSharp/**]

dotnet_public_api_analyzer.skip_namespaces = Microsoft.CodeAnalysis.ExternalAccess.OmniSharp.Internal

1 change: 1 addition & 0 deletions src/Tools/ExternalAccess/Apex/InternalAPI.Shipped.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#nullable enable
6 changes: 6 additions & 0 deletions src/Tools/ExternalAccess/Apex/InternalAPI.Unshipped.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
#nullable enable
Microsoft.CodeAnalysis.ExternalAccess.Apex.ApexAsynchronousOperationListenerProviderAccessor
Microsoft.CodeAnalysis.ExternalAccess.Apex.ApexAsynchronousOperationListenerProviderAccessor.ApexAsynchronousOperationListenerProviderAccessor(Microsoft.CodeAnalysis.Shared.TestHooks.AsynchronousOperationListenerProvider! implementation, Microsoft.VisualStudio.LanguageServices.VisualStudioWorkspace? workspace) -> void
Microsoft.CodeAnalysis.ExternalAccess.Apex.ApexAsynchronousOperationListenerProviderAccessor.WaitAllAsync(string![]? featureNames = null, System.Action? eventProcessingAction = null, System.TimeSpan? timeout = null) -> System.Threading.Tasks.Task!
Microsoft.CodeAnalysis.ExternalAccess.Apex.IApexAsynchronousOperationListenerProviderAccessor
~Microsoft.CodeAnalysis.ExternalAccess.Apex.IApexAsynchronousOperationListenerProviderAccessor.WaitAllAsync(string[] featureNames = null, System.Action eventProcessingAction = null, System.TimeSpan? timeout = null) -> System.Threading.Tasks.Task
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@
<ItemGroup>
<PublicAPI Include="PublicAPI.Shipped.txt" />
<PublicAPI Include="PublicAPI.Unshipped.txt" />
<PublicAPI Include="InternalAPI.Shipped.txt" />
<PublicAPI Include="InternalAPI.Unshipped.txt" />
</ItemGroup>

</Project>
</Project>
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
#nullable enable
87 changes: 87 additions & 0 deletions src/Tools/ExternalAccess/AspNetCore/InternalAPI.Unshipped.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
#nullable enable
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreBraceMatchingResult
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreBraceMatchingResult.AspNetCoreBraceMatchingResult() -> void
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreBraceMatchingResult.AspNetCoreBraceMatchingResult(Microsoft.CodeAnalysis.Text.TextSpan LeftSpan, Microsoft.CodeAnalysis.Text.TextSpan RightSpan) -> void
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreBraceMatchingResult.LeftSpan.get -> Microsoft.CodeAnalysis.Text.TextSpan
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreBraceMatchingResult.LeftSpan.init -> void
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreBraceMatchingResult.RightSpan.get -> Microsoft.CodeAnalysis.Text.TextSpan
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreBraceMatchingResult.RightSpan.init -> void
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreBraceMatchingResult.ToBraceMatchingResult() -> Microsoft.CodeAnalysis.BraceMatching.BraceMatchingResult
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreCSharpRouteSyntaxDetector
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreCSharpRouteSyntaxDetector.IsEmbeddedLanguageToken(Microsoft.CodeAnalysis.SyntaxToken token, Microsoft.CodeAnalysis.SemanticModel! semanticModel, System.Threading.CancellationToken cancellationToken, out string? identifier, out System.Collections.Generic.IEnumerable<string!>? options) -> bool
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreCSharpVirtualCharService
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreCSharpVirtualCharService.TryConvertToVirtualChars(Microsoft.CodeAnalysis.SyntaxToken token) -> Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualCharSequence
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreDocumentHighlights
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreDocumentHighlights.AspNetCoreDocumentHighlights() -> void
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreDocumentHighlights.AspNetCoreDocumentHighlights(System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreHighlightSpan> highlightSpans) -> void
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreDocumentHighlights.HighlightSpans.get -> System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreHighlightSpan>
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreEmbeddedLanguageClassificationContext
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreEmbeddedLanguageClassificationContext.AddClassification(string! classificationType, Microsoft.CodeAnalysis.Text.TextSpan span) -> void
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreEmbeddedLanguageClassificationContext.AspNetCoreEmbeddedLanguageClassificationContext() -> void
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreEmbeddedLanguageClassificationContext.AspNetCoreEmbeddedLanguageClassificationContext(Microsoft.CodeAnalysis.Classification.EmbeddedLanguageClassificationContext context) -> void
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreEmbeddedLanguageClassificationContext.CancellationToken.get -> System.Threading.CancellationToken
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreEmbeddedLanguageClassificationContext.SemanticModel.get -> Microsoft.CodeAnalysis.SemanticModel!
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreEmbeddedLanguageClassificationContext.SyntaxToken.get -> Microsoft.CodeAnalysis.SyntaxToken
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreHighlightSpan
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreHighlightSpan.AspNetCoreHighlightSpan() -> void
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreHighlightSpan.AspNetCoreHighlightSpan(Microsoft.CodeAnalysis.Text.TextSpan textSpan, Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreHighlightSpanKind kind) -> void
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreHighlightSpan.Kind.get -> Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreHighlightSpanKind
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreHighlightSpan.TextSpan.get -> Microsoft.CodeAnalysis.Text.TextSpan
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreHighlightSpanKind
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreHighlightSpanKind.Definition = 1 -> Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreHighlightSpanKind
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreHighlightSpanKind.None = 0 -> Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreHighlightSpanKind
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreHighlightSpanKind.Reference = 2 -> Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreHighlightSpanKind
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreHighlightSpanKind.WrittenReference = 3 -> Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreHighlightSpanKind
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualChar
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualChar.AspNetCoreVirtualChar() -> void
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualChar.AspNetCoreVirtualChar(Microsoft.CodeAnalysis.EmbeddedLanguages.VirtualChars.VirtualChar virtualChar) -> void
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualChar.Equals(Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualChar other) -> bool
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualChar.RuneValue.get -> int
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualChar.Span.get -> Microsoft.CodeAnalysis.Text.TextSpan
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualChar.SurrogateChar.get -> char
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualChar.Value.get -> int
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualCharSequence
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualCharSequence.AspNetCoreVirtualCharSequence() -> void
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualCharSequence.AspNetCoreVirtualCharSequence(Microsoft.CodeAnalysis.EmbeddedLanguages.VirtualChars.VirtualCharSequence virtualCharSequence) -> void
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualCharSequence.Contains(Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualChar char) -> bool
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualCharSequence.CreateString() -> string!
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualCharSequence.Enumerator
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualCharSequence.Enumerator.Current.get -> Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualChar
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualCharSequence.Enumerator.Dispose() -> void
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualCharSequence.Enumerator.Enumerator() -> void
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualCharSequence.Enumerator.Enumerator(Microsoft.CodeAnalysis.EmbeddedLanguages.VirtualChars.VirtualCharSequence.Enumerator enumerator) -> void
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualCharSequence.Enumerator.MoveNext() -> bool
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualCharSequence.Enumerator.Reset() -> void
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualCharSequence.Find(int position) -> Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualChar?
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualCharSequence.GetEnumerator() -> Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualCharSequence.Enumerator
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualCharSequence.GetSubSequence(Microsoft.CodeAnalysis.Text.TextSpan span) -> Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualCharSequence
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualCharSequence.IndexOf(Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualChar char) -> int
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualCharSequence.IsDefault.get -> bool
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualCharSequence.Length.get -> int
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualCharSequence.this[int index].get -> Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualChar
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.ExportAspNetCoreEmbeddedLanguageBraceMatcherAttribute
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.ExportAspNetCoreEmbeddedLanguageBraceMatcherAttribute.ExportAspNetCoreEmbeddedLanguageBraceMatcherAttribute(string! name, string! language) -> void
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.ExportAspNetCoreEmbeddedLanguageBraceMatcherAttribute.Language.get -> string!
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.ExportAspNetCoreEmbeddedLanguageBraceMatcherAttribute.Name.get -> string!
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.ExportAspNetCoreEmbeddedLanguageClassifierAttribute
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.ExportAspNetCoreEmbeddedLanguageClassifierAttribute.ExportAspNetCoreEmbeddedLanguageClassifierAttribute(string! name, string! language) -> void
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.ExportAspNetCoreEmbeddedLanguageClassifierAttribute.Language.get -> string!
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.ExportAspNetCoreEmbeddedLanguageClassifierAttribute.Name.get -> string!
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.ExportAspNetCoreEmbeddedLanguageDocumentHighlighterAttribute
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.ExportAspNetCoreEmbeddedLanguageDocumentHighlighterAttribute.ExportAspNetCoreEmbeddedLanguageDocumentHighlighterAttribute(string! name, string! language) -> void
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.ExportAspNetCoreEmbeddedLanguageDocumentHighlighterAttribute.Language.get -> string!
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.ExportAspNetCoreEmbeddedLanguageDocumentHighlighterAttribute.Name.get -> string!
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.IAspNetCoreEmbeddedLanguageBraceMatcher
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.IAspNetCoreEmbeddedLanguageBraceMatcher.FindBraces(Microsoft.CodeAnalysis.SemanticModel! semanticModel, Microsoft.CodeAnalysis.SyntaxToken token, int position, System.Threading.CancellationToken cancellationToken) -> Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreBraceMatchingResult?
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.IAspNetCoreEmbeddedLanguageClassifier
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.IAspNetCoreEmbeddedLanguageClassifier.RegisterClassifications(Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreEmbeddedLanguageClassificationContext context) -> void
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.IAspNetCoreEmbeddedLanguageDocumentHighlighter
Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.IAspNetCoreEmbeddedLanguageDocumentHighlighter.GetDocumentHighlights(Microsoft.CodeAnalysis.SemanticModel! semanticModel, Microsoft.CodeAnalysis.SyntaxToken token, int position, System.Threading.CancellationToken cancellationToken) -> System.Collections.Immutable.ImmutableArray<Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreDocumentHighlights>
override Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualChar.Equals(object? obj) -> bool
override Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualChar.GetHashCode() -> int
override Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualChar.ToString() -> string!
readonly Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualChar.VirtualChar -> Microsoft.CodeAnalysis.EmbeddedLanguages.VirtualChars.VirtualChar
static Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreCSharpVirtualCharService.Instance.get -> Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreCSharpVirtualCharService!
static Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualCharSequence.FromBounds(Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualCharSequence chars1, Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualCharSequence chars2) -> Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualCharSequence
static readonly Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreCSharpRouteSyntaxDetector.Instance -> Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreCSharpRouteSyntaxDetector!
static readonly Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualCharSequence.Empty -> Microsoft.CodeAnalysis.ExternalAccess.AspNetCore.EmbeddedLanguages.AspNetCoreVirtualCharSequence
Loading