diff --git a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/IntegrationTests/ComponentCodeGenerationTestBase.cs b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/IntegrationTests/ComponentCodeGenerationTestBase.cs index 1d957c34f87..cb969d332a5 100644 --- a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/IntegrationTests/ComponentCodeGenerationTestBase.cs +++ b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/IntegrationTests/ComponentCodeGenerationTestBase.cs @@ -12163,6 +12163,28 @@ @rendermode Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer CompileToAssembly(generated); } + [IntegrationTestFact] + public void RenderMode_Directive_WithTypeParam_Razor9() + { + var generated = CompileToCSharp(""" + @typeparam T + @rendermode Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer + """, + configuration: Configuration with { LanguageVersion = RazorLanguageVersion.Version_9_0 }, + expectedCSharpDiagnostics: + // (17,19): error CS0305: Using the generic type 'TestComponent' requires 1 type arguments + // [global::Test.TestComponent.__PrivateComponentRenderModeAttribute] + Diagnostic(ErrorCode.ERR_BadArity, "TestComponent").WithArguments("Test.TestComponent", "type", "1").WithLocation(17, 19)); + + // Assert + AssertDocumentNodeMatchesBaseline(generated.CodeDocument); + AssertCSharpDocumentMatchesBaseline(generated.CodeDocument); + CompileToAssembly(generated, + // (13,19): error CS0305: Using the generic type 'TestComponent' requires 1 type arguments + // [global::Test.TestComponent.__PrivateComponentRenderModeAttribute] + Diagnostic(ErrorCode.ERR_BadArity, "TestComponent").WithArguments("Test.TestComponent", "type", "1").WithLocation(13, 19)); + } + [IntegrationTestFact] public void RenderMode_Directive_WithTypeParam_First() { diff --git a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/IntegrationTests/ComponentRenderModeDirectiveIntegrationTests.cs b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/IntegrationTests/ComponentRenderModeDirectiveIntegrationTests.cs index 0e404a0899b..bb226ab8b69 100644 --- a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/IntegrationTests/ComponentRenderModeDirectiveIntegrationTests.cs +++ b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/IntegrationTests/ComponentRenderModeDirectiveIntegrationTests.cs @@ -27,7 +27,13 @@ @rendermode Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer VerifyRenderModeAttribute(component, $$""" file sealed class __PrivateComponentRenderModeAttribute : global::Microsoft.AspNetCore.Components.RenderModeAttribute { - private static global::Microsoft.AspNetCore.Components.IComponentRenderMode ModeImpl => Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer + private static global::Microsoft.AspNetCore.Components.IComponentRenderMode ModeImpl => + #nullable restore + #line (3,13)-(3,77) "{{DefaultDocumentPath}}" + Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer + #line default + #line hidden + #nullable disable ; public override global::Microsoft.AspNetCore.Components.IComponentRenderMode Mode => ModeImpl; } @@ -80,10 +86,16 @@ @rendermode Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer """); // Assert - VerifyRenderModeAttribute(component, """ + VerifyRenderModeAttribute(component, $$""" private sealed class __PrivateComponentRenderModeAttribute : global::Microsoft.AspNetCore.Components.RenderModeAttribute { - private static global::Microsoft.AspNetCore.Components.IComponentRenderMode ModeImpl => Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer + private static global::Microsoft.AspNetCore.Components.IComponentRenderMode ModeImpl => + #nullable restore + #line (1,13)-(1,77) "{{DefaultDocumentPath}}" + Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer + #line default + #line hidden + #nullable disable ; public override global::Microsoft.AspNetCore.Components.IComponentRenderMode Mode => ModeImpl; } @@ -100,10 +112,16 @@ @rendermode InteractiveServer """); // Assert - VerifyRenderModeAttribute(component, """ + VerifyRenderModeAttribute(component, $$""" private sealed class __PrivateComponentRenderModeAttribute : global::Microsoft.AspNetCore.Components.RenderModeAttribute { - private static global::Microsoft.AspNetCore.Components.IComponentRenderMode ModeImpl => InteractiveServer + private static global::Microsoft.AspNetCore.Components.IComponentRenderMode ModeImpl => + #nullable restore + #line (2,13)-(2,30) "{{DefaultDocumentPath}}" + InteractiveServer + #line default + #line hidden + #nullable disable ; public override global::Microsoft.AspNetCore.Components.IComponentRenderMode Mode => ModeImpl; } @@ -121,10 +139,16 @@ @rendermode InteractiveServer """, genericArity: 1); // Assert - VerifyRenderModeAttribute(component, """ + VerifyRenderModeAttribute(component, $$""" file sealed class __PrivateComponentRenderModeAttribute : global::Microsoft.AspNetCore.Components.RenderModeAttribute { - private static global::Microsoft.AspNetCore.Components.IComponentRenderMode ModeImpl => InteractiveServer + private static global::Microsoft.AspNetCore.Components.IComponentRenderMode ModeImpl => + #nullable restore + #line (3,13)-(3,30) "{{DefaultDocumentPath}}" + InteractiveServer + #line default + #line hidden + #nullable disable ; public override global::Microsoft.AspNetCore.Components.IComponentRenderMode Mode => ModeImpl; } @@ -171,10 +195,9 @@ @rendermode NoExist Assert.Empty(compilationResult.RazorDiagnostics); CompileToAssembly(compilationResult, - // x:\dir\subdir\Test\TestComponent.cshtml(25,101): error CS0103: The name 'NoExist' does not exist in the current context - // NoExist - Diagnostic(ErrorCode.ERR_NameNotInContext, "NoExist").WithArguments("NoExist").WithLocation(25, 101) - ); + // x:\dir\subdir\Test\TestComponent.cshtml(1,13): error CS0103: The name 'NoExist' does not exist in the current context + // NoExist + Diagnostic(ErrorCode.ERR_NameNotInContext, "NoExist").WithArguments("NoExist").WithLocation(1, 13)); } [Fact] @@ -234,7 +257,6 @@ @rendermode Foo ); } - [Fact] public void RenderMode_Referencing_Instance_Code() { @@ -249,10 +271,9 @@ @rendermode myRenderMode Assert.Empty(compilationResult.RazorDiagnostics); CompileToAssembly(compilationResult, - // x:\dir\subdir\Test\TestComponent.cshtml(34, 101): error CS0120: An object reference is required for the non-static field, method, or property 'TestComponent.myRenderMode' - // myRenderMode - Diagnostic(ErrorCode.ERR_ObjectRequired, "myRenderMode").WithArguments("Test.TestComponent.myRenderMode").WithLocation(34, 101) - ); + // x:\dir\subdir\Test\TestComponent.cshtml(1,13): error CS0120: An object reference is required for the non-static field, method, or property 'TestComponent.myRenderMode' + // myRenderMode + Diagnostic(ErrorCode.ERR_ObjectRequired, "myRenderMode").WithArguments("Test.TestComponent.myRenderMode").WithLocation(1, 13)); } [Fact] diff --git a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/RazorLanguageVersionTest.cs b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/RazorLanguageVersionTest.cs index e0689597234..2030a1c3f34 100644 --- a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/RazorLanguageVersionTest.cs +++ b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/RazorLanguageVersionTest.cs @@ -177,7 +177,7 @@ public void TryParseLatest() // Assert Assert.True(result); Assert.Same(RazorLanguageVersion.Latest, version); - Assert.Same(RazorLanguageVersion.Version_9_0, version); + Assert.Same(RazorLanguageVersion.Version_10_0, version); } [Fact] diff --git a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_FullyQualified/TestComponent.ir.txt b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_FullyQualified/TestComponent.ir.txt index 45dc06bf2ca..de07c841928 100644 --- a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_FullyQualified/TestComponent.ir.txt +++ b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_FullyQualified/TestComponent.ir.txt @@ -28,7 +28,7 @@ CSharpCode - IntermediateToken - - CSharp - private static global::Microsoft.AspNetCore.Components.IComponentRenderMode ModeImpl => CSharpCode - (12:0,12 [64] x:\dir\subdir\Test\TestComponent.cshtml) - IntermediateToken - - CSharp - Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer + IntermediateToken - (12:0,12 [64] x:\dir\subdir\Test\TestComponent.cshtml) - CSharp - Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer IntermediateToken - - CSharp - ; CSharpCode - IntermediateToken - - CSharp - public override global::Microsoft.AspNetCore.Components.IComponentRenderMode Mode => ModeImpl; diff --git a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_FullyQualified/TestComponent.mappings.txt b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_FullyQualified/TestComponent.mappings.txt index 668e0fe7fe4..18ccc635016 100644 --- a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_FullyQualified/TestComponent.mappings.txt +++ b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_FullyQualified/TestComponent.mappings.txt @@ -3,3 +3,8 @@ Generated Location: (799:22,44 [64] ) |Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer| +Source Location: (12:0,12 [64] x:\dir\subdir\Test\TestComponent.cshtml) +|Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer| +Generated Location: (1950:51,12 [64] ) +|Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer| + diff --git a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithNamespaces/TestComponent.ir.txt b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithNamespaces/TestComponent.ir.txt index 353bbbbec49..697dd51ef76 100644 --- a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithNamespaces/TestComponent.ir.txt +++ b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithNamespaces/TestComponent.ir.txt @@ -31,7 +31,7 @@ CSharpCode - IntermediateToken - - CSharp - private static global::Microsoft.AspNetCore.Components.IComponentRenderMode ModeImpl => CSharpCode - (43:2,12 [64] x:\dir\subdir\Test\TestComponent.cshtml) - IntermediateToken - - CSharp - Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer + IntermediateToken - (43:2,12 [64] x:\dir\subdir\Test\TestComponent.cshtml) - CSharp - Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer IntermediateToken - - CSharp - ; CSharpCode - IntermediateToken - - CSharp - public override global::Microsoft.AspNetCore.Components.IComponentRenderMode Mode => ModeImpl; diff --git a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithNamespaces/TestComponent.mappings.txt b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithNamespaces/TestComponent.mappings.txt index 45faf716a9b..a13a0f95e58 100644 --- a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithNamespaces/TestComponent.mappings.txt +++ b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithNamespaces/TestComponent.mappings.txt @@ -8,3 +8,8 @@ Source Location: (43:2,12 [64] x:\dir\subdir\Test\TestComponent.cshtml) Generated Location: (1075:32,44 [64] ) |Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer| +Source Location: (43:2,12 [64] x:\dir\subdir\Test\TestComponent.cshtml) +|Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer| +Generated Location: (2226:61,12 [64] ) +|Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer| + diff --git a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithTypeParam/TestComponent.ir.txt b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithTypeParam/TestComponent.ir.txt index 9eaa469b410..8b57f941b00 100644 --- a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithTypeParam/TestComponent.ir.txt +++ b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithTypeParam/TestComponent.ir.txt @@ -29,7 +29,7 @@ CSharpCode - IntermediateToken - - CSharp - private static global::Microsoft.AspNetCore.Components.IComponentRenderMode ModeImpl => CSharpCode - (26:1,12 [64] x:\dir\subdir\Test\TestComponent.cshtml) - IntermediateToken - - CSharp - Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer + IntermediateToken - (26:1,12 [64] x:\dir\subdir\Test\TestComponent.cshtml) - CSharp - Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer IntermediateToken - - CSharp - ; CSharpCode - IntermediateToken - - CSharp - public override global::Microsoft.AspNetCore.Components.IComponentRenderMode Mode => ModeImpl; diff --git a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithTypeParam/TestComponent.mappings.txt b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithTypeParam/TestComponent.mappings.txt index b0f2e6eba1c..f4610091808 100644 --- a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithTypeParam/TestComponent.mappings.txt +++ b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithTypeParam/TestComponent.mappings.txt @@ -8,3 +8,8 @@ Source Location: (26:1,12 [64] x:\dir\subdir\Test\TestComponent.cshtml) Generated Location: (971:33,44 [64] ) |Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer| +Source Location: (26:1,12 [64] x:\dir\subdir\Test\TestComponent.cshtml) +|Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer| +Generated Location: (2086:63,12 [64] ) +|Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer| + diff --git a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_First/TestComponent.ir.txt b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_First/TestComponent.ir.txt index 2cb3caa0e59..5fee6bcbd11 100644 --- a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_First/TestComponent.ir.txt +++ b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_First/TestComponent.ir.txt @@ -29,7 +29,7 @@ CSharpCode - IntermediateToken - - CSharp - private static global::Microsoft.AspNetCore.Components.IComponentRenderMode ModeImpl => CSharpCode - (12:0,12 [64] x:\dir\subdir\Test\TestComponent.cshtml) - IntermediateToken - - CSharp - Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer + IntermediateToken - (12:0,12 [64] x:\dir\subdir\Test\TestComponent.cshtml) - CSharp - Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer IntermediateToken - - CSharp - ; CSharpCode - IntermediateToken - - CSharp - public override global::Microsoft.AspNetCore.Components.IComponentRenderMode Mode => ModeImpl; diff --git a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_First/TestComponent.mappings.txt b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_First/TestComponent.mappings.txt index c4b88fa2dd3..354d7462dfd 100644 --- a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_First/TestComponent.mappings.txt +++ b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_First/TestComponent.mappings.txt @@ -8,3 +8,8 @@ Source Location: (12:0,12 [64] x:\dir\subdir\Test\TestComponent.cshtml) Generated Location: (903:30,44 [64] ) |Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer| +Source Location: (12:0,12 [64] x:\dir\subdir\Test\TestComponent.cshtml) +|Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer| +Generated Location: (2086:63,12 [64] ) +|Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer| + diff --git a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_Razor9/TestComponent.codegen.cs b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_Razor9/TestComponent.codegen.cs new file mode 100644 index 00000000000..fca2fa9975c --- /dev/null +++ b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_Razor9/TestComponent.codegen.cs @@ -0,0 +1,73 @@ +// +#pragma warning disable 1591 +namespace Test +{ + #line default + using global::System; + using global::System.Collections.Generic; + using global::System.Linq; + using global::System.Threading.Tasks; + using global::Microsoft.AspNetCore.Components; + #line default + #line hidden + [global::Test.TestComponent.__PrivateComponentRenderModeAttribute] + #nullable restore + public partial class TestComponent< +#nullable restore +#line 1 "x:\dir\subdir\Test\TestComponent.cshtml" +T + +#line default +#line hidden +#nullable disable + > : global::Microsoft.AspNetCore.Components.ComponentBase + #nullable disable + { + #pragma warning disable 219 + private void __RazorDirectiveTokenHelpers__() { + ((global::System.Action)(() => { + } + ))(); + ((global::System.Action)(() => { +#nullable restore +#line 2 "x:\dir\subdir\Test\TestComponent.cshtml" +global::System.Object __typeHelper = nameof(Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer); + +#line default +#line hidden +#nullable disable + } + ))(); + } + #pragma warning restore 219 + #pragma warning disable 0414 + private static object __o = null; + #pragma warning restore 0414 + #pragma warning disable 1998 + protected override void BuildRenderTree(global::Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder) + { + } + #pragma warning restore 1998 + private sealed class __PrivateComponentRenderModeAttribute : global::Microsoft.AspNetCore.Components.RenderModeAttribute + { + #pragma warning disable 219 + private void __RazorDirectiveTokenHelpers__() { + } + #pragma warning restore 219 + #pragma warning disable 0414 + private static object __o = null; + #pragma warning restore 0414 + private static global::Microsoft.AspNetCore.Components.IComponentRenderMode ModeImpl => +#nullable restore +#line 2 "x:\dir\subdir\Test\TestComponent.cshtml" + Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer + +#line default +#line hidden +#nullable disable + ; + public override global::Microsoft.AspNetCore.Components.IComponentRenderMode Mode => ModeImpl; + } + } +} +#pragma warning restore 1591 diff --git a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_Razor9/TestComponent.ir.txt b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_Razor9/TestComponent.ir.txt new file mode 100644 index 00000000000..a9e3d2358df --- /dev/null +++ b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_Razor9/TestComponent.ir.txt @@ -0,0 +1,35 @@ +Document - + NamespaceDeclaration - - Test + UsingDirective - (3:1,1 [20] ) - global::System + UsingDirective - (26:2,1 [40] ) - global::System.Collections.Generic + UsingDirective - (69:3,1 [25] ) - global::System.Linq + UsingDirective - (97:4,1 [36] ) - global::System.Threading.Tasks + UsingDirective - (136:5,1 [45] ) - global::Microsoft.AspNetCore.Components + CSharpCode - + IntermediateToken - - CSharp - [global::Test.TestComponent.__PrivateComponentRenderModeAttribute] + ClassDeclaration - - public partial - TestComponent - global::Microsoft.AspNetCore.Components.ComponentBase - - T + DesignTimeDirective - + DirectiveToken - (11:0,11 [1] x:\dir\subdir\Test\TestComponent.cshtml) - T + DirectiveToken - (26:1,12 [64] x:\dir\subdir\Test\TestComponent.cshtml) - Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer + CSharpCode - + IntermediateToken - - CSharp - #pragma warning disable 0414 + CSharpCode - + IntermediateToken - - CSharp - private static object __o = null; + CSharpCode - + IntermediateToken - - CSharp - #pragma warning restore 0414 + MethodDeclaration - - protected override - void - BuildRenderTree + ClassDeclaration - - private sealed - __PrivateComponentRenderModeAttribute - global::Microsoft.AspNetCore.Components.RenderModeAttribute - + DesignTimeDirective - + CSharpCode - + IntermediateToken - - CSharp - #pragma warning disable 0414 + CSharpCode - + IntermediateToken - - CSharp - private static object __o = null; + CSharpCode - + IntermediateToken - - CSharp - #pragma warning restore 0414 + CSharpCode - + IntermediateToken - - CSharp - private static global::Microsoft.AspNetCore.Components.IComponentRenderMode ModeImpl => + CSharpCode - (26:1,12 [64] x:\dir\subdir\Test\TestComponent.cshtml) + IntermediateToken - - CSharp - Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer + IntermediateToken - - CSharp - ; + CSharpCode - + IntermediateToken - - CSharp - public override global::Microsoft.AspNetCore.Components.IComponentRenderMode Mode => ModeImpl; diff --git a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_Razor9/TestComponent.mappings.txt b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_Razor9/TestComponent.mappings.txt new file mode 100644 index 00000000000..f77b4850911 --- /dev/null +++ b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentDesignTimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_Razor9/TestComponent.mappings.txt @@ -0,0 +1,10 @@ +Source Location: (11:0,11 [1] x:\dir\subdir\Test\TestComponent.cshtml) +|T| +Generated Location: (534:17,0 [1] ) +|T| + +Source Location: (26:1,12 [64] x:\dir\subdir\Test\TestComponent.cshtml) +|Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer| +Generated Location: (998:33,44 [64] ) +|Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer| + diff --git a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_FullyQualified/TestComponent.codegen.cs b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_FullyQualified/TestComponent.codegen.cs index 09254ae367b..21583a385ae 100644 --- a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_FullyQualified/TestComponent.codegen.cs +++ b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_FullyQualified/TestComponent.codegen.cs @@ -22,7 +22,15 @@ protected override void BuildRenderTree(global::Microsoft.AspNetCore.Components. #pragma warning restore 1998 private sealed class __PrivateComponentRenderModeAttribute : global::Microsoft.AspNetCore.Components.RenderModeAttribute { - private static global::Microsoft.AspNetCore.Components.IComponentRenderMode ModeImpl => Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer + private static global::Microsoft.AspNetCore.Components.IComponentRenderMode ModeImpl => +#nullable restore +#line (1,13)-(1,77) "x:\dir\subdir\Test\TestComponent.cshtml" +Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer + +#line default +#line hidden +#nullable disable + ; public override global::Microsoft.AspNetCore.Components.IComponentRenderMode Mode => ModeImpl; } diff --git a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_FullyQualified/TestComponent.ir.txt b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_FullyQualified/TestComponent.ir.txt index 09fb15ec983..dd168de9614 100644 --- a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_FullyQualified/TestComponent.ir.txt +++ b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_FullyQualified/TestComponent.ir.txt @@ -13,7 +13,7 @@ CSharpCode - IntermediateToken - - CSharp - private static global::Microsoft.AspNetCore.Components.IComponentRenderMode ModeImpl => CSharpCode - (12:0,12 [64] x:\dir\subdir\Test\TestComponent.cshtml) - IntermediateToken - - CSharp - Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer + IntermediateToken - (12:0,12 [64] x:\dir\subdir\Test\TestComponent.cshtml) - CSharp - Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer IntermediateToken - - CSharp - ; CSharpCode - IntermediateToken - - CSharp - public override global::Microsoft.AspNetCore.Components.IComponentRenderMode Mode => ModeImpl; diff --git a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_FullyQualified/TestComponent.mappings.txt b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_FullyQualified/TestComponent.mappings.txt new file mode 100644 index 00000000000..f43427c96e2 --- /dev/null +++ b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_FullyQualified/TestComponent.mappings.txt @@ -0,0 +1,5 @@ +Source Location: (12:0,12 [64] x:\dir\subdir\Test\TestComponent.cshtml) +|Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer| +Generated Location: (1100:27,0 [64] ) +|Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer| + diff --git a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithNamespaces/TestComponent.codegen.cs b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithNamespaces/TestComponent.codegen.cs index aad4143b641..973716b765a 100644 --- a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithNamespaces/TestComponent.codegen.cs +++ b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithNamespaces/TestComponent.codegen.cs @@ -29,7 +29,15 @@ protected override void BuildRenderTree(global::Microsoft.AspNetCore.Components. #pragma warning restore 1998 private sealed class __PrivateComponentRenderModeAttribute : global::Microsoft.AspNetCore.Components.RenderModeAttribute { - private static global::Microsoft.AspNetCore.Components.IComponentRenderMode ModeImpl => Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer + private static global::Microsoft.AspNetCore.Components.IComponentRenderMode ModeImpl => +#nullable restore +#line (3,13)-(3,77) "x:\dir\subdir\Test\TestComponent.cshtml" +Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer + +#line default +#line hidden +#nullable disable + ; public override global::Microsoft.AspNetCore.Components.IComponentRenderMode Mode => ModeImpl; } diff --git a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithNamespaces/TestComponent.ir.txt b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithNamespaces/TestComponent.ir.txt index 05166e87312..94b04eb6e6b 100644 --- a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithNamespaces/TestComponent.ir.txt +++ b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithNamespaces/TestComponent.ir.txt @@ -13,7 +13,7 @@ CSharpCode - IntermediateToken - - CSharp - private static global::Microsoft.AspNetCore.Components.IComponentRenderMode ModeImpl => CSharpCode - (43:2,12 [64] x:\dir\subdir\Test\TestComponent.cshtml) - IntermediateToken - - CSharp - Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer + IntermediateToken - (43:2,12 [64] x:\dir\subdir\Test\TestComponent.cshtml) - CSharp - Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer IntermediateToken - - CSharp - ; CSharpCode - IntermediateToken - - CSharp - public override global::Microsoft.AspNetCore.Components.IComponentRenderMode Mode => ModeImpl; diff --git a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithNamespaces/TestComponent.mappings.txt b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithNamespaces/TestComponent.mappings.txt index 2d3d9bb71c1..f4bd9529513 100644 --- a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithNamespaces/TestComponent.mappings.txt +++ b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithNamespaces/TestComponent.mappings.txt @@ -3,3 +3,8 @@ Generated Location: (146:5,0 [16] ) |Custom.Namespace| +Source Location: (43:2,12 [64] x:\dir\subdir\Test\TestComponent.cshtml) +|Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer| +Generated Location: (1258:34,0 [64] ) +|Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer| + diff --git a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam/TestComponent.codegen.cs b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam/TestComponent.codegen.cs index 10104da8a51..c976239e20b 100644 --- a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam/TestComponent.codegen.cs +++ b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam/TestComponent.codegen.cs @@ -31,7 +31,15 @@ protected override void BuildRenderTree(global::Microsoft.AspNetCore.Components. } file sealed class __PrivateComponentRenderModeAttribute : global::Microsoft.AspNetCore.Components.RenderModeAttribute { - private static global::Microsoft.AspNetCore.Components.IComponentRenderMode ModeImpl => Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer + private static global::Microsoft.AspNetCore.Components.IComponentRenderMode ModeImpl => +#nullable restore +#line (2,13)-(2,77) "x:\dir\subdir\Test\TestComponent.cshtml" +Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer + +#line default +#line hidden +#nullable disable + ; public override global::Microsoft.AspNetCore.Components.IComponentRenderMode Mode => ModeImpl; } diff --git a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam/TestComponent.ir.txt b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam/TestComponent.ir.txt index cb77278e555..89b6b2a3930 100644 --- a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam/TestComponent.ir.txt +++ b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam/TestComponent.ir.txt @@ -13,7 +13,7 @@ CSharpCode - IntermediateToken - - CSharp - private static global::Microsoft.AspNetCore.Components.IComponentRenderMode ModeImpl => CSharpCode - (26:1,12 [64] x:\dir\subdir\Test\TestComponent.cshtml) - IntermediateToken - - CSharp - Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer + IntermediateToken - (26:1,12 [64] x:\dir\subdir\Test\TestComponent.cshtml) - CSharp - Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer IntermediateToken - - CSharp - ; CSharpCode - IntermediateToken - - CSharp - public override global::Microsoft.AspNetCore.Components.IComponentRenderMode Mode => ModeImpl; diff --git a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam/TestComponent.mappings.txt b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam/TestComponent.mappings.txt index d51bcb9ed83..87aeafd088c 100644 --- a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam/TestComponent.mappings.txt +++ b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam/TestComponent.mappings.txt @@ -3,3 +3,8 @@ Generated Location: (519:17,0 [1] ) |T| +Source Location: (26:1,12 [64] x:\dir\subdir\Test\TestComponent.cshtml) +|Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer| +Generated Location: (1208:36,0 [64] ) +|Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer| + diff --git a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_First/TestComponent.codegen.cs b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_First/TestComponent.codegen.cs index b39d974fe95..f717453f37f 100644 --- a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_First/TestComponent.codegen.cs +++ b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_First/TestComponent.codegen.cs @@ -31,7 +31,15 @@ protected override void BuildRenderTree(global::Microsoft.AspNetCore.Components. } file sealed class __PrivateComponentRenderModeAttribute : global::Microsoft.AspNetCore.Components.RenderModeAttribute { - private static global::Microsoft.AspNetCore.Components.IComponentRenderMode ModeImpl => Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer + private static global::Microsoft.AspNetCore.Components.IComponentRenderMode ModeImpl => +#nullable restore +#line (1,13)-(1,77) "x:\dir\subdir\Test\TestComponent.cshtml" +Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer + +#line default +#line hidden +#nullable disable + ; public override global::Microsoft.AspNetCore.Components.IComponentRenderMode Mode => ModeImpl; } diff --git a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_First/TestComponent.ir.txt b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_First/TestComponent.ir.txt index 7953a6f8d4a..82e79475ddc 100644 --- a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_First/TestComponent.ir.txt +++ b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_First/TestComponent.ir.txt @@ -13,7 +13,7 @@ CSharpCode - IntermediateToken - - CSharp - private static global::Microsoft.AspNetCore.Components.IComponentRenderMode ModeImpl => CSharpCode - (12:0,12 [64] x:\dir\subdir\Test\TestComponent.cshtml) - IntermediateToken - - CSharp - Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer + IntermediateToken - (12:0,12 [64] x:\dir\subdir\Test\TestComponent.cshtml) - CSharp - Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer IntermediateToken - - CSharp - ; CSharpCode - IntermediateToken - - CSharp - public override global::Microsoft.AspNetCore.Components.IComponentRenderMode Mode => ModeImpl; diff --git a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_First/TestComponent.mappings.txt b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_First/TestComponent.mappings.txt index aa0066860dd..69a8af45042 100644 --- a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_First/TestComponent.mappings.txt +++ b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_First/TestComponent.mappings.txt @@ -3,3 +3,8 @@ Generated Location: (519:17,0 [1] ) |T| +Source Location: (12:0,12 [64] x:\dir\subdir\Test\TestComponent.cshtml) +|Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer| +Generated Location: (1208:36,0 [64] ) +|Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer| + diff --git a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_Razor9/TestComponent.codegen.cs b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_Razor9/TestComponent.codegen.cs new file mode 100644 index 00000000000..2dcf885600f --- /dev/null +++ b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_Razor9/TestComponent.codegen.cs @@ -0,0 +1,39 @@ +// +#pragma warning disable 1591 +namespace Test +{ + #line default + using global::System; + using global::System.Collections.Generic; + using global::System.Linq; + using global::System.Threading.Tasks; + using global::Microsoft.AspNetCore.Components; + #line default + #line hidden + [global::Test.TestComponent.__PrivateComponentRenderModeAttribute] + #nullable restore + public partial class TestComponent< +#nullable restore +#line (1,12)-(1,13) "x:\dir\subdir\Test\TestComponent.cshtml" +T + +#line default +#line hidden +#nullable disable + > : global::Microsoft.AspNetCore.Components.ComponentBase + #nullable disable + { + #pragma warning disable 1998 + protected override void BuildRenderTree(global::Microsoft.AspNetCore.Components.Rendering.RenderTreeBuilder __builder) + { + } + #pragma warning restore 1998 + private sealed class __PrivateComponentRenderModeAttribute : global::Microsoft.AspNetCore.Components.RenderModeAttribute + { + private static global::Microsoft.AspNetCore.Components.IComponentRenderMode ModeImpl => Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer + ; + public override global::Microsoft.AspNetCore.Components.IComponentRenderMode Mode => ModeImpl; + } + } +} +#pragma warning restore 1591 diff --git a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_Razor9/TestComponent.ir.txt b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_Razor9/TestComponent.ir.txt new file mode 100644 index 00000000000..15e90cdcf64 --- /dev/null +++ b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_Razor9/TestComponent.ir.txt @@ -0,0 +1,19 @@ +Document - + NamespaceDeclaration - - Test + UsingDirective - (3:1,1 [20] ) - global::System + UsingDirective - (26:2,1 [40] ) - global::System.Collections.Generic + UsingDirective - (69:3,1 [25] ) - global::System.Linq + UsingDirective - (97:4,1 [36] ) - global::System.Threading.Tasks + UsingDirective - (136:5,1 [45] ) - global::Microsoft.AspNetCore.Components + CSharpCode - + IntermediateToken - - CSharp - [global::Test.TestComponent.__PrivateComponentRenderModeAttribute] + ClassDeclaration - - public partial - TestComponent - global::Microsoft.AspNetCore.Components.ComponentBase - - T + MethodDeclaration - - protected override - void - BuildRenderTree + ClassDeclaration - - private sealed - __PrivateComponentRenderModeAttribute - global::Microsoft.AspNetCore.Components.RenderModeAttribute - + CSharpCode - + IntermediateToken - - CSharp - private static global::Microsoft.AspNetCore.Components.IComponentRenderMode ModeImpl => + CSharpCode - (26:1,12 [64] x:\dir\subdir\Test\TestComponent.cshtml) + IntermediateToken - - CSharp - Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer + IntermediateToken - - CSharp - ; + CSharpCode - + IntermediateToken - - CSharp - public override global::Microsoft.AspNetCore.Components.IComponentRenderMode Mode => ModeImpl; diff --git a/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_Razor9/TestComponent.mappings.txt b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_Razor9/TestComponent.mappings.txt new file mode 100644 index 00000000000..97b5870256a --- /dev/null +++ b/src/Compiler/Microsoft.AspNetCore.Razor.Language/test/TestFiles/IntegrationTests/ComponentRuntimeCodeGenerationTest/RenderMode_Directive_WithTypeParam_Razor9/TestComponent.mappings.txt @@ -0,0 +1,5 @@ +Source Location: (11:0,11 [1] x:\dir\subdir\Test\TestComponent.cshtml) +|T| +Generated Location: (546:17,0 [1] ) +|T| + diff --git a/src/Compiler/Microsoft.CodeAnalysis.Razor.Compiler/src/Language/Components/ComponentRenderModeDirectivePass.cs b/src/Compiler/Microsoft.CodeAnalysis.Razor.Compiler/src/Language/Components/ComponentRenderModeDirectivePass.cs index ebae947de92..4408b2a2dd7 100644 --- a/src/Compiler/Microsoft.CodeAnalysis.Razor.Compiler/src/Language/Components/ComponentRenderModeDirectivePass.cs +++ b/src/Compiler/Microsoft.CodeAnalysis.Razor.Compiler/src/Language/Components/ComponentRenderModeDirectivePass.cs @@ -67,7 +67,12 @@ protected override void ExecuteCore( { child is not DirectiveTokenIntermediateNode directiveToken ? child - : IntermediateNodeFactory.CSharpToken(directiveToken.Content) + : IntermediateNodeFactory.CSharpToken( + content: directiveToken.Content, + // To avoid breaking hot reload, we don't map the content back to the source unless we're on Razor 10 or higher + source: codeDocument.ParserOptions.LanguageVersion >= RazorLanguageVersion.Version_10_0 + ? directiveToken.Source + : null) } }, IntermediateNodeFactory.CSharpToken(";") diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Test.Common.Cohosting/CohostTestBase.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Test.Common.Cohosting/CohostTestBase.cs index 1149a600c66..ab255282600 100644 --- a/src/Razor/test/Microsoft.AspNetCore.Razor.Test.Common.Cohosting/CohostTestBase.cs +++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Test.Common.Cohosting/CohostTestBase.cs @@ -143,16 +143,17 @@ private protected void UpdateClientLSPInitializationOptions(Func? projectConfigure = null); - protected TextDocument CreateProjectAndRazorDocument( + private protected TextDocument CreateProjectAndRazorDocument( CodeAnalysis.Workspace remoteWorkspace, string contents, RazorFileKind? fileKind = null, @@ -160,7 +161,8 @@ protected TextDocument CreateProjectAndRazorDocument( (string fileName, string contents)[]? additionalFiles = null, bool inGlobalNamespace = false, bool miscellaneousFile = false, - bool addDefaultImports = true) + bool addDefaultImports = true, + Action? projectConfigure = null) { // Using IsLegacy means null == component, so easier for test authors var isComponent = fileKind != RazorFileKind.Legacy; @@ -172,18 +174,23 @@ protected TextDocument CreateProjectAndRazorDocument( var projectId = ProjectId.CreateNewId(debugName: TestProjectData.SomeProject.DisplayName); var documentId = DocumentId.CreateNewId(projectId, debugName: documentFilePath); - return CreateProjectAndRazorDocument(remoteWorkspace, projectId, miscellaneousFile, documentId, documentFilePath, contents, additionalFiles, inGlobalNamespace, addDefaultImports); + return CreateProjectAndRazorDocument(remoteWorkspace, projectId, miscellaneousFile, documentId, documentFilePath, contents, additionalFiles, inGlobalNamespace, addDefaultImports, projectConfigure); } - protected static TextDocument CreateProjectAndRazorDocument(CodeAnalysis.Workspace workspace, ProjectId projectId, bool miscellaneousFile, DocumentId documentId, string documentFilePath, string contents, (string fileName, string contents)[]? additionalFiles, bool inGlobalNamespace, bool addDefaultImports) + private protected static TextDocument CreateProjectAndRazorDocument(CodeAnalysis.Workspace workspace, ProjectId projectId, bool miscellaneousFile, DocumentId documentId, string documentFilePath, string contents, (string fileName, string contents)[]? additionalFiles, bool inGlobalNamespace, bool addDefaultImports, Action? projectConfigure) { - return AddProjectAndRazorDocument(workspace.CurrentSolution, TestProjectData.SomeProject.FilePath, projectId, miscellaneousFile, documentId, documentFilePath, contents, additionalFiles, inGlobalNamespace, addDefaultImports); + return AddProjectAndRazorDocument(workspace.CurrentSolution, TestProjectData.SomeProject.FilePath, projectId, miscellaneousFile, documentId, documentFilePath, contents, additionalFiles, inGlobalNamespace, addDefaultImports, projectConfigure); } - protected static TextDocument AddProjectAndRazorDocument(Solution solution, [DisallowNull] string? projectFilePath, ProjectId projectId, bool miscellaneousFile, DocumentId documentId, string documentFilePath, string contents, (string fileName, string contents)[]? additionalFiles, bool inGlobalNamespace, bool addDefaultImports) + private protected static TextDocument AddProjectAndRazorDocument(Solution solution, [DisallowNull] string? projectFilePath, ProjectId projectId, bool miscellaneousFile, DocumentId documentId, string documentFilePath, string contents, (string fileName, string contents)[]? additionalFiles, bool inGlobalNamespace, bool addDefaultImports, Action? projectConfigure) { var builder = new RazorProjectBuilder(projectId); + if (projectConfigure is not null) + { + projectConfigure(builder); + } + builder.AddReferences(miscellaneousFile ? Net461.ReferenceInfos.All.Select(r => r.Reference) // This isn't quite what Roslyn does, but its close enough for our tests : AspNet80.ReferenceInfos.All.Select(r => r.Reference)); diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Test.Common.Cohosting/RazorProjectBuilder.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Test.Common.Cohosting/RazorProjectBuilder.cs index 8bd7ebb30ad..4d33924234c 100644 --- a/src/Razor/test/Microsoft.AspNetCore.Razor.Test.Common.Cohosting/RazorProjectBuilder.cs +++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Test.Common.Cohosting/RazorProjectBuilder.cs @@ -6,6 +6,7 @@ using System.IO; using System.Text; using Microsoft.AspNetCore.Razor; +using Microsoft.AspNetCore.Razor.Language; using Microsoft.CodeAnalysis; using Microsoft.CodeAnalysis.CSharp; using Microsoft.CodeAnalysis.Diagnostics; @@ -40,6 +41,8 @@ public string? ProjectFilePath public bool GenerateMSBuildProjectDirectory { get; set; } = true; public bool GenerateAdditionalDocumentMetadata { get; set; } = true; + public RazorLanguageVersion RazorLanguageVersion { get; set; } = FallbackRazorConfiguration.Latest.LanguageVersion; + private readonly List _references = []; private readonly List<(DocumentId id, string name, SourceText text, string filePath)> _documents = []; private readonly List<(DocumentId id, string name, SourceText text, string filePath)> _additionalDocuments = []; @@ -111,7 +114,7 @@ public Solution Build(Solution solution) globalConfigContent.AppendLine($""" is_global = true - build_property.RazorLangVersion = {FallbackRazorConfiguration.Latest.LanguageVersion} + build_property.RazorLangVersion = {RazorLanguageVersion} build_property.RazorConfiguration = {FallbackRazorConfiguration.Latest.ConfigurationName} build_property.RootNamespace = {RootNamespace} diff --git a/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/Cohost/CohostEndpointTestBase.cs b/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/Cohost/CohostEndpointTestBase.cs index cba1dc26f9a..9a2f01c80cb 100644 --- a/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/Cohost/CohostEndpointTestBase.cs +++ b/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/Cohost/CohostEndpointTestBase.cs @@ -91,17 +91,18 @@ protected TextDocument CreateProjectAndRazorDocument( return this.CreateProjectAndRazorDocument(contents); } - protected override TextDocument CreateProjectAndRazorDocument( + private protected override TextDocument CreateProjectAndRazorDocument( string contents, RazorFileKind? fileKind = null, string? documentFilePath = null, (string fileName, string contents)[]? additionalFiles = null, bool inGlobalNamespace = false, bool miscellaneousFile = false, - bool addDefaultImports = true) + bool addDefaultImports = true, + Action? projectConfigure = null) { var remoteWorkspace = RemoteWorkspaceProvider.Instance.GetWorkspace(); - var remoteDocument = base.CreateProjectAndRazorDocument(remoteWorkspace, contents, fileKind, documentFilePath, additionalFiles, inGlobalNamespace, miscellaneousFile, addDefaultImports); + var remoteDocument = base.CreateProjectAndRazorDocument(remoteWorkspace, contents, fileKind, documentFilePath, additionalFiles, inGlobalNamespace, miscellaneousFile, addDefaultImports, projectConfigure); // In this project we simulate remote services running OOP by creating a different workspace with a different // set of services to represent the devenv Roslyn side of things. We don't have any actual solution syncing set @@ -116,7 +117,8 @@ protected override TextDocument CreateProjectAndRazorDocument( contents, additionalFiles, inGlobalNamespace, - addDefaultImports); + addDefaultImports, + projectConfigure); } private TextDocument CreateLocalProjectAndRazorDocument( @@ -128,9 +130,10 @@ private TextDocument CreateLocalProjectAndRazorDocument( string contents, (string fileName, string contents)[]? additionalFiles, bool inGlobalNamespace, - bool addDefaultImports) + bool addDefaultImports, + Action? projectConfigure) { - var razorDocument = CreateProjectAndRazorDocument(LocalWorkspace, projectId, miscellaneousFile, documentId, documentFilePath, contents, additionalFiles, inGlobalNamespace, addDefaultImports); + var razorDocument = CreateProjectAndRazorDocument(LocalWorkspace, projectId, miscellaneousFile, documentId, documentFilePath, contents, additionalFiles, inGlobalNamespace, addDefaultImports, projectConfigure); // If we're creating remote and local workspaces, then we'll return the local document, and have to allow // the remote service invoker to map from the local solution to the remote one. diff --git a/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/Cohost/RetryProjectTest.cs b/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/Cohost/RetryProjectTest.cs index d00b9af95da..0bd8db17d59 100644 --- a/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/Cohost/RetryProjectTest.cs +++ b/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/Cohost/RetryProjectTest.cs @@ -72,7 +72,7 @@ public async Task HoverRequest_MultipleProjects_ReturnsResults() var projectId = ProjectId.CreateNewId(debugName: TestProjectData.SomeProject.DisplayName); var documentFilePath = TestProjectData.AnotherProjectComponentFile1.FilePath; var documentId = DocumentId.CreateNewId(projectId, debugName: documentFilePath); - var otherDocument = AddProjectAndRazorDocument(document.Project.Solution, TestProjectData.AnotherProject.FilePath, projectId, miscellaneousFile: false, documentId, documentFilePath, otherInput.Text, additionalFiles: null, inGlobalNamespace: false, addDefaultImports: true); + var otherDocument = AddProjectAndRazorDocument(document.Project.Solution, TestProjectData.AnotherProject.FilePath, projectId, miscellaneousFile: false, documentId, documentFilePath, otherInput.Text, additionalFiles: null, inGlobalNamespace: false, addDefaultImports: true, projectConfigure: null); // Make sure we have the document from our new fork document = otherDocument.Project.Solution.GetAdditionalDocument(document.Id).AssumeNotNull(); diff --git a/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment.txt b/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment.txt new file mode 100644 index 00000000000..933d7e875b5 --- /dev/null +++ b/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment.txt @@ -0,0 +1,35 @@ +Line Δ, Char Δ, Length, Type, Modifier(s), Text +0 0 1 razorTransition [] [@] +0 1 10 razorDirective [] [rendermode] +0 11 9 namespace name [] [Microsoft] +0 9 1 operator [] [.] +0 1 10 namespace name [] [AspNetCore] +0 10 1 operator [] [.] +0 1 10 namespace name [] [Components] +0 10 1 operator [] [.] +0 1 3 namespace name [] [Web] +0 3 1 operator [] [.] +0 1 10 class name [static] [RenderMode] +0 10 1 operator [] [.] +0 1 17 property name [static] [InteractiveServer] +2 0 4 markupCommentPunctuation [] [] +2 0 1 razorTransition [] [@] +0 1 1 razorTransition [] [{] +1 4 3 keyword [] [var] +0 4 1 local name [] [r] +0 2 1 operator [] [=] +0 2 9 namespace name [] [Microsoft] +0 9 1 operator [] [.] +0 1 10 namespace name [] [AspNetCore] +0 10 1 operator [] [.] +0 1 10 namespace name [] [Components] +0 10 1 operator [] [.] +0 1 3 namespace name [] [Web] +0 3 1 operator [] [.] +0 1 10 class name [static] [RenderMode] +0 10 1 operator [] [.] +0 1 15 property name [static] [InteractiveAuto] +0 15 1 punctuation [] [;] +1 0 1 razorTransition [] [}] diff --git a/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_Expression.txt b/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_Expression.txt new file mode 100644 index 00000000000..28d12e8de61 --- /dev/null +++ b/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_Expression.txt @@ -0,0 +1,38 @@ +Line Δ, Char Δ, Length, Type, Modifier(s), Text +0 0 1 razorTransition [] [@] +0 1 10 razorDirective [] [rendermode] +0 11 1 razorTransition [] [@] +0 1 1 razorTransition [] [(] +0 1 9 namespace name [] [Microsoft] +0 9 1 operator [] [.] +0 1 10 namespace name [] [AspNetCore] +0 10 1 operator [] [.] +0 1 10 namespace name [] [Components] +0 10 1 operator [] [.] +0 1 3 namespace name [] [Web] +0 3 1 operator [] [.] +0 1 10 class name [static] [RenderMode] +0 10 1 operator [] [.] +0 1 17 property name [static] [InteractiveServer] +0 17 1 razorTransition [] [)] +2 0 4 markupCommentPunctuation [] [] +2 0 1 razorTransition [] [@] +0 1 1 razorTransition [] [{] +1 4 3 keyword [] [var] +0 4 1 local name [] [r] +0 2 1 operator [] [=] +0 2 9 namespace name [] [Microsoft] +0 9 1 operator [] [.] +0 1 10 namespace name [] [AspNetCore] +0 10 1 operator [] [.] +0 1 10 namespace name [] [Components] +0 10 1 operator [] [.] +0 1 3 namespace name [] [Web] +0 3 1 operator [] [.] +0 1 10 class name [static] [RenderMode] +0 10 1 operator [] [.] +0 1 15 property name [static] [InteractiveAuto] +0 15 1 punctuation [] [;] +1 0 1 razorTransition [] [}] diff --git a/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_Expression_misc_file.txt b/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_Expression_misc_file.txt new file mode 100644 index 00000000000..57368b36cae --- /dev/null +++ b/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_Expression_misc_file.txt @@ -0,0 +1,38 @@ +Line Δ, Char Δ, Length, Type, Modifier(s), Text +0 0 1 razorTransition [] [@] +0 1 10 razorDirective [] [rendermode] +0 11 1 razorTransition [] [@] +0 1 1 razorTransition [] [(] +0 1 9 namespace name [] [Microsoft] +0 9 1 operator [] [.] +0 1 10 variable [] [AspNetCore] +0 10 1 operator [] [.] +0 1 10 variable [] [Components] +0 10 1 operator [] [.] +0 1 3 variable [] [Web] +0 3 1 operator [] [.] +0 1 10 variable [] [RenderMode] +0 10 1 operator [] [.] +0 1 17 variable [] [InteractiveServer] +0 17 1 razorTransition [] [)] +2 0 4 markupCommentPunctuation [] [] +2 0 1 razorTransition [] [@] +0 1 1 razorTransition [] [{] +1 4 3 keyword [] [var] +0 4 1 local name [] [r] +0 2 1 operator [] [=] +0 2 9 namespace name [] [Microsoft] +0 9 1 operator [] [.] +0 1 10 variable [] [AspNetCore] +0 10 1 operator [] [.] +0 1 10 variable [] [Components] +0 10 1 operator [] [.] +0 1 3 variable [] [Web] +0 3 1 operator [] [.] +0 1 10 variable [] [RenderMode] +0 10 1 operator [] [.] +0 1 15 variable [] [InteractiveAuto] +0 15 1 punctuation [] [;] +1 0 1 razorTransition [] [}] diff --git a/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_Expression_with_background.txt b/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_Expression_with_background.txt new file mode 100644 index 00000000000..e85ca4e2705 --- /dev/null +++ b/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_Expression_with_background.txt @@ -0,0 +1,42 @@ +Line Δ, Char Δ, Length, Type, Modifier(s), Text +0 0 1 razorTransition [] [@] +0 1 10 razorDirective [] [rendermode] +0 11 1 razorTransition [] [@] +0 1 1 razorTransition [razorCode] [(] +0 1 9 namespace name [razorCode] [Microsoft] +0 9 1 operator [razorCode] [.] +0 1 10 namespace name [razorCode] [AspNetCore] +0 10 1 operator [razorCode] [.] +0 1 10 namespace name [razorCode] [Components] +0 10 1 operator [razorCode] [.] +0 1 3 namespace name [razorCode] [Web] +0 3 1 operator [razorCode] [.] +0 1 10 class name [static, razorCode] [RenderMode] +0 10 1 operator [razorCode] [.] +0 1 17 property name [static, razorCode] [InteractiveServer] +0 17 1 razorTransition [razorCode] [)] +2 0 4 markupCommentPunctuation [] [] +2 0 1 razorTransition [razorCode] [@] +0 1 1 razorTransition [razorCode] [{] +1 0 4 markupTextLiteral [razorCode] [ ] +0 4 3 keyword [razorCode] [var] +0 3 1 markupTextLiteral [razorCode] [ ] +0 1 1 local name [razorCode] [r] +0 1 1 markupTextLiteral [razorCode] [ ] +0 1 1 operator [razorCode] [=] +0 1 1 markupTextLiteral [razorCode] [ ] +0 1 9 namespace name [razorCode] [Microsoft] +0 9 1 operator [razorCode] [.] +0 1 10 namespace name [razorCode] [AspNetCore] +0 10 1 operator [razorCode] [.] +0 1 10 namespace name [razorCode] [Components] +0 10 1 operator [razorCode] [.] +0 1 3 namespace name [razorCode] [Web] +0 3 1 operator [razorCode] [.] +0 1 10 class name [static, razorCode] [RenderMode] +0 10 1 operator [razorCode] [.] +0 1 15 property name [static, razorCode] [InteractiveAuto] +0 15 1 punctuation [razorCode] [;] +1 0 1 razorTransition [razorCode] [}] diff --git a/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_Expression_with_background_misc_file.txt b/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_Expression_with_background_misc_file.txt new file mode 100644 index 00000000000..380fdce4e32 --- /dev/null +++ b/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_Expression_with_background_misc_file.txt @@ -0,0 +1,42 @@ +Line Δ, Char Δ, Length, Type, Modifier(s), Text +0 0 1 razorTransition [] [@] +0 1 10 razorDirective [] [rendermode] +0 11 1 razorTransition [] [@] +0 1 1 razorTransition [razorCode] [(] +0 1 9 namespace name [razorCode] [Microsoft] +0 9 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [AspNetCore] +0 10 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [Components] +0 10 1 operator [razorCode] [.] +0 1 3 variable [razorCode] [Web] +0 3 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [RenderMode] +0 10 1 operator [razorCode] [.] +0 1 17 variable [razorCode] [InteractiveServer] +0 17 1 razorTransition [razorCode] [)] +2 0 4 markupCommentPunctuation [] [] +2 0 1 razorTransition [razorCode] [@] +0 1 1 razorTransition [razorCode] [{] +1 0 4 markupTextLiteral [razorCode] [ ] +0 4 3 keyword [razorCode] [var] +0 3 1 markupTextLiteral [razorCode] [ ] +0 1 1 local name [razorCode] [r] +0 1 1 markupTextLiteral [razorCode] [ ] +0 1 1 operator [razorCode] [=] +0 1 1 markupTextLiteral [razorCode] [ ] +0 1 9 namespace name [razorCode] [Microsoft] +0 9 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [AspNetCore] +0 10 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [Components] +0 10 1 operator [razorCode] [.] +0 1 3 variable [razorCode] [Web] +0 3 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [RenderMode] +0 10 1 operator [razorCode] [.] +0 1 15 variable [razorCode] [InteractiveAuto] +0 15 1 punctuation [razorCode] [;] +1 0 1 razorTransition [razorCode] [}] diff --git a/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_Razor9.txt b/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_Razor9.txt new file mode 100644 index 00000000000..9f9f101a1d7 --- /dev/null +++ b/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_Razor9.txt @@ -0,0 +1,24 @@ +Line Δ, Char Δ, Length, Type, Modifier(s), Text +0 0 1 razorTransition [] [@] +0 1 10 razorDirective [] [rendermode] +2 0 4 markupCommentPunctuation [] [] +2 0 1 razorTransition [] [@] +0 1 1 razorTransition [] [{] +1 4 3 keyword [] [var] +0 4 1 local name [] [r] +0 2 1 operator [] [=] +0 2 9 namespace name [] [Microsoft] +0 9 1 operator [] [.] +0 1 10 namespace name [] [AspNetCore] +0 10 1 operator [] [.] +0 1 10 namespace name [] [Components] +0 10 1 operator [] [.] +0 1 3 namespace name [] [Web] +0 3 1 operator [] [.] +0 1 10 class name [static] [RenderMode] +0 10 1 operator [] [.] +0 1 15 property name [static] [InteractiveAuto] +0 15 1 punctuation [] [;] +1 0 1 razorTransition [] [}] diff --git a/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_Razor9_misc_file.txt b/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_Razor9_misc_file.txt new file mode 100644 index 00000000000..2e2f2814a9a --- /dev/null +++ b/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_Razor9_misc_file.txt @@ -0,0 +1,35 @@ +Line Δ, Char Δ, Length, Type, Modifier(s), Text +0 0 1 razorTransition [] [@] +0 1 10 razorDirective [] [rendermode] +0 11 9 namespace name [] [Microsoft] +0 9 1 operator [] [.] +0 1 10 variable [] [AspNetCore] +0 10 1 operator [] [.] +0 1 10 variable [] [Components] +0 10 1 operator [] [.] +0 1 3 variable [] [Web] +0 3 1 operator [] [.] +0 1 10 variable [] [RenderMode] +0 10 1 operator [] [.] +0 1 17 variable [] [InteractiveServer] +2 0 4 markupCommentPunctuation [] [] +2 0 1 razorTransition [] [@] +0 1 1 razorTransition [] [{] +1 4 3 keyword [] [var] +0 4 1 local name [] [r] +0 2 1 operator [] [=] +0 2 9 namespace name [] [Microsoft] +0 9 1 operator [] [.] +0 1 10 variable [] [AspNetCore] +0 10 1 operator [] [.] +0 1 10 variable [] [Components] +0 10 1 operator [] [.] +0 1 3 variable [] [Web] +0 3 1 operator [] [.] +0 1 10 variable [] [RenderMode] +0 10 1 operator [] [.] +0 1 15 variable [] [InteractiveAuto] +0 15 1 punctuation [] [;] +1 0 1 razorTransition [] [}] diff --git a/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_Razor9_with_background.txt b/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_Razor9_with_background.txt new file mode 100644 index 00000000000..f1930a86698 --- /dev/null +++ b/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_Razor9_with_background.txt @@ -0,0 +1,28 @@ +Line Δ, Char Δ, Length, Type, Modifier(s), Text +0 0 1 razorTransition [] [@] +0 1 10 razorDirective [] [rendermode] +2 0 4 markupCommentPunctuation [] [] +2 0 1 razorTransition [razorCode] [@] +0 1 1 razorTransition [razorCode] [{] +1 0 4 markupTextLiteral [razorCode] [ ] +0 4 3 keyword [razorCode] [var] +0 3 1 markupTextLiteral [razorCode] [ ] +0 1 1 local name [razorCode] [r] +0 1 1 markupTextLiteral [razorCode] [ ] +0 1 1 operator [razorCode] [=] +0 1 1 markupTextLiteral [razorCode] [ ] +0 1 9 namespace name [razorCode] [Microsoft] +0 9 1 operator [razorCode] [.] +0 1 10 namespace name [razorCode] [AspNetCore] +0 10 1 operator [razorCode] [.] +0 1 10 namespace name [razorCode] [Components] +0 10 1 operator [razorCode] [.] +0 1 3 namespace name [razorCode] [Web] +0 3 1 operator [razorCode] [.] +0 1 10 class name [static, razorCode] [RenderMode] +0 10 1 operator [razorCode] [.] +0 1 15 property name [static, razorCode] [InteractiveAuto] +0 15 1 punctuation [razorCode] [;] +1 0 1 razorTransition [razorCode] [}] diff --git a/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_Razor9_with_background_misc_file.txt b/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_Razor9_with_background_misc_file.txt new file mode 100644 index 00000000000..ac88a4ec265 --- /dev/null +++ b/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_Razor9_with_background_misc_file.txt @@ -0,0 +1,39 @@ +Line Δ, Char Δ, Length, Type, Modifier(s), Text +0 0 1 razorTransition [] [@] +0 1 10 razorDirective [] [rendermode] +0 11 9 namespace name [razorCode] [Microsoft] +0 9 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [AspNetCore] +0 10 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [Components] +0 10 1 operator [razorCode] [.] +0 1 3 variable [razorCode] [Web] +0 3 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [RenderMode] +0 10 1 operator [razorCode] [.] +0 1 17 variable [razorCode] [InteractiveServer] +2 0 4 markupCommentPunctuation [] [] +2 0 1 razorTransition [razorCode] [@] +0 1 1 razorTransition [razorCode] [{] +1 0 4 markupTextLiteral [razorCode] [ ] +0 4 3 keyword [razorCode] [var] +0 3 1 markupTextLiteral [razorCode] [ ] +0 1 1 local name [razorCode] [r] +0 1 1 markupTextLiteral [razorCode] [ ] +0 1 1 operator [razorCode] [=] +0 1 1 markupTextLiteral [razorCode] [ ] +0 1 9 namespace name [razorCode] [Microsoft] +0 9 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [AspNetCore] +0 10 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [Components] +0 10 1 operator [razorCode] [.] +0 1 3 variable [razorCode] [Web] +0 3 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [RenderMode] +0 10 1 operator [razorCode] [.] +0 1 15 variable [razorCode] [InteractiveAuto] +0 15 1 punctuation [razorCode] [;] +1 0 1 razorTransition [razorCode] [}] diff --git a/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_misc_file.txt b/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_misc_file.txt new file mode 100644 index 00000000000..f20b19cfd6d --- /dev/null +++ b/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_misc_file.txt @@ -0,0 +1,35 @@ +Line Δ, Char Δ, Length, Type, Modifier(s), Text +0 0 1 razorTransition [] [@] +0 1 10 razorDirective [] [rendermode] +0 11 9 namespace name [] [Microsoft] +0 9 1 operator [] [.] +0 1 10 variable [] [AspNetCore] +0 10 1 operator [] [.] +0 1 10 variable [] [Components] +0 10 1 operator [] [.] +0 1 3 variable [] [Web] +0 3 1 operator [] [.] +0 1 10 variable [] [RenderMode] +0 10 1 operator [] [.] +0 1 17 variable [] [InteractiveServer] +2 0 4 markupCommentPunctuation [] [] +2 0 1 razorTransition [] [@] +0 1 1 razorTransition [] [{] +1 4 3 keyword [] [var] +0 4 1 local name [] [r] +0 2 1 operator [] [=] +0 2 9 namespace name [] [Microsoft] +0 9 1 operator [] [.] +0 1 10 variable [] [AspNetCore] +0 10 1 operator [] [.] +0 1 10 variable [] [Components] +0 10 1 operator [] [.] +0 1 3 variable [] [Web] +0 3 1 operator [] [.] +0 1 10 variable [] [RenderMode] +0 10 1 operator [] [.] +0 1 15 variable [] [InteractiveAuto] +0 15 1 punctuation [] [;] +1 0 1 razorTransition [] [}] diff --git a/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_with_background.txt b/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_with_background.txt new file mode 100644 index 00000000000..73fe1225f61 --- /dev/null +++ b/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_with_background.txt @@ -0,0 +1,39 @@ +Line Δ, Char Δ, Length, Type, Modifier(s), Text +0 0 1 razorTransition [] [@] +0 1 10 razorDirective [] [rendermode] +0 11 9 namespace name [razorCode] [Microsoft] +0 9 1 operator [razorCode] [.] +0 1 10 namespace name [razorCode] [AspNetCore] +0 10 1 operator [razorCode] [.] +0 1 10 namespace name [razorCode] [Components] +0 10 1 operator [razorCode] [.] +0 1 3 namespace name [razorCode] [Web] +0 3 1 operator [razorCode] [.] +0 1 10 class name [static, razorCode] [RenderMode] +0 10 1 operator [razorCode] [.] +0 1 17 property name [static, razorCode] [InteractiveServer] +2 0 4 markupCommentPunctuation [] [] +2 0 1 razorTransition [razorCode] [@] +0 1 1 razorTransition [razorCode] [{] +1 0 4 markupTextLiteral [razorCode] [ ] +0 4 3 keyword [razorCode] [var] +0 3 1 markupTextLiteral [razorCode] [ ] +0 1 1 local name [razorCode] [r] +0 1 1 markupTextLiteral [razorCode] [ ] +0 1 1 operator [razorCode] [=] +0 1 1 markupTextLiteral [razorCode] [ ] +0 1 9 namespace name [razorCode] [Microsoft] +0 9 1 operator [razorCode] [.] +0 1 10 namespace name [razorCode] [AspNetCore] +0 10 1 operator [razorCode] [.] +0 1 10 namespace name [razorCode] [Components] +0 10 1 operator [razorCode] [.] +0 1 3 namespace name [razorCode] [Web] +0 3 1 operator [razorCode] [.] +0 1 10 class name [static, razorCode] [RenderMode] +0 10 1 operator [razorCode] [.] +0 1 15 property name [static, razorCode] [InteractiveAuto] +0 15 1 punctuation [razorCode] [;] +1 0 1 razorTransition [razorCode] [}] diff --git a/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_with_background_misc_file.txt b/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_with_background_misc_file.txt new file mode 100644 index 00000000000..f8c0f4e9b84 --- /dev/null +++ b/src/Razor/test/Microsoft.VisualStudio.LanguageServices.Razor.Test/TestFiles/SemanticTokens/RenderFragment_with_background_misc_file.txt @@ -0,0 +1,39 @@ +Line Δ, Char Δ, Length, Type, Modifier(s), Text +0 0 1 razorTransition [] [@] +0 1 10 razorDirective [] [rendermode] +0 11 9 namespace name [razorCode] [Microsoft] +0 9 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [AspNetCore] +0 10 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [Components] +0 10 1 operator [razorCode] [.] +0 1 3 variable [razorCode] [Web] +0 3 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [RenderMode] +0 10 1 operator [razorCode] [.] +0 1 17 variable [razorCode] [InteractiveServer] +2 0 4 markupCommentPunctuation [] [] +2 0 1 razorTransition [razorCode] [@] +0 1 1 razorTransition [razorCode] [{] +1 0 4 markupTextLiteral [razorCode] [ ] +0 4 3 keyword [razorCode] [var] +0 3 1 markupTextLiteral [razorCode] [ ] +0 1 1 local name [razorCode] [r] +0 1 1 markupTextLiteral [razorCode] [ ] +0 1 1 operator [razorCode] [=] +0 1 1 markupTextLiteral [razorCode] [ ] +0 1 9 namespace name [razorCode] [Microsoft] +0 9 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [AspNetCore] +0 10 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [Components] +0 10 1 operator [razorCode] [.] +0 1 3 variable [razorCode] [Web] +0 3 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [RenderMode] +0 10 1 operator [razorCode] [.] +0 1 15 variable [razorCode] [InteractiveAuto] +0 15 1 punctuation [razorCode] [;] +1 0 1 razorTransition [razorCode] [}] diff --git a/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/CohostEndpointTestBase.cs b/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/CohostEndpointTestBase.cs index a9ffb6472e9..72dee2fbefb 100644 --- a/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/CohostEndpointTestBase.cs +++ b/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/CohostEndpointTestBase.cs @@ -81,15 +81,16 @@ private protected override RemoteClientLSPInitializationOptions GetRemoteClientL }; } - protected override TextDocument CreateProjectAndRazorDocument( + private protected override TextDocument CreateProjectAndRazorDocument( string contents, RazorFileKind? fileKind = null, string? documentFilePath = null, (string fileName, string contents)[]? additionalFiles = null, bool inGlobalNamespace = false, bool miscellaneousFile = false, - bool addDefaultImports = true) + bool addDefaultImports = true, + Action? projectConfigure = null) { - return CreateProjectAndRazorDocument(LocalWorkspace, contents, fileKind, documentFilePath, additionalFiles, inGlobalNamespace, miscellaneousFile, addDefaultImports); + return CreateProjectAndRazorDocument(LocalWorkspace, contents, fileKind, documentFilePath, additionalFiles, inGlobalNamespace, miscellaneousFile, addDefaultImports, projectConfigure); } } diff --git a/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/Endpoints/Shared/CohostSemanticTokensRangeEndpointTest.cs b/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/Endpoints/Shared/CohostSemanticTokensRangeEndpointTest.cs index cb7bf4bb484..76bea26cc22 100644 --- a/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/Endpoints/Shared/CohostSemanticTokensRangeEndpointTest.cs +++ b/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/Endpoints/Shared/CohostSemanticTokensRangeEndpointTest.cs @@ -136,14 +136,70 @@ public void M() await VerifySemanticTokensAsync(input, colorBackground, miscellaneousFile, fileKind: RazorFileKind.Legacy); } + [Theory] + [CombinatorialData] + public async Task RenderFragment(bool colorBackground, bool miscellaneousFile) + { + var input = """ + @rendermode Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer + + + + @{ + var r = Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveAuto; + } + """; + + await VerifySemanticTokensAsync(input, colorBackground, miscellaneousFile); + } + + [Theory] + [CombinatorialData] + public async Task RenderFragment_Razor9(bool colorBackground, bool miscellaneousFile) + { + var input = """ + @rendermode Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer + + + + @{ + var r = Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveAuto; + } + """; + + await VerifySemanticTokensAsync( + input, + colorBackground, + miscellaneousFile, + projectConfigure: p => p.RazorLanguageVersion = RazorLanguageVersion.Version_9_0); + } + + [Theory] + [CombinatorialData] + public async Task RenderFragment_Expression(bool colorBackground, bool miscellaneousFile) + { + var input = """ + @rendermode @(Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveServer) + + + + @{ + var r = Microsoft.AspNetCore.Components.Web.RenderMode.InteractiveAuto; + } + """; + + await VerifySemanticTokensAsync(input, colorBackground, miscellaneousFile); + } + private async Task VerifySemanticTokensAsync( string input, bool colorBackground, bool miscellaneousFile, RazorFileKind? fileKind = null, - [CallerMemberName] string? testName = null) + [CallerMemberName] string? testName = null, + Action? projectConfigure = null) { - var document = CreateProjectAndRazorDocument(input, fileKind, miscellaneousFile: miscellaneousFile); + var document = CreateProjectAndRazorDocument(input, fileKind, miscellaneousFile: miscellaneousFile, projectConfigure: projectConfigure); var sourceText = await document.GetTextAsync(DisposalToken); // We need to manually initialize the OOP service so we can get semantic token info later diff --git a/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment.txt b/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment.txt new file mode 100644 index 00000000000..9663a1806fa --- /dev/null +++ b/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment.txt @@ -0,0 +1,35 @@ +Line Δ, Char Δ, Length, Type, Modifier(s), Text +0 0 1 razorTransition [] [@] +0 1 10 razorDirective [] [rendermode] +0 11 9 namespace [] [Microsoft] +0 9 1 operator [] [.] +0 1 10 namespace [] [AspNetCore] +0 10 1 operator [] [.] +0 1 10 namespace [] [Components] +0 10 1 operator [] [.] +0 1 3 namespace [] [Web] +0 3 1 operator [] [.] +0 1 10 class [static] [RenderMode] +0 10 1 operator [] [.] +0 1 17 property [static] [InteractiveServer] +2 0 4 markupCommentPunctuation [] [] +2 0 1 razorTransition [] [@] +0 1 1 razorTransition [] [{] +1 4 3 keyword [] [var] +0 4 1 variable [] [r] +0 2 1 operator [] [=] +0 2 9 namespace [] [Microsoft] +0 9 1 operator [] [.] +0 1 10 namespace [] [AspNetCore] +0 10 1 operator [] [.] +0 1 10 namespace [] [Components] +0 10 1 operator [] [.] +0 1 3 namespace [] [Web] +0 3 1 operator [] [.] +0 1 10 class [static] [RenderMode] +0 10 1 operator [] [.] +0 1 15 property [static] [InteractiveAuto] +0 15 1 punctuation [] [;] +1 0 1 razorTransition [] [}] diff --git a/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_Expression.txt b/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_Expression.txt new file mode 100644 index 00000000000..c3614859f15 --- /dev/null +++ b/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_Expression.txt @@ -0,0 +1,38 @@ +Line Δ, Char Δ, Length, Type, Modifier(s), Text +0 0 1 razorTransition [] [@] +0 1 10 razorDirective [] [rendermode] +0 11 1 razorTransition [] [@] +0 1 1 razorTransition [] [(] +0 1 9 namespace [] [Microsoft] +0 9 1 operator [] [.] +0 1 10 namespace [] [AspNetCore] +0 10 1 operator [] [.] +0 1 10 namespace [] [Components] +0 10 1 operator [] [.] +0 1 3 namespace [] [Web] +0 3 1 operator [] [.] +0 1 10 class [static] [RenderMode] +0 10 1 operator [] [.] +0 1 17 property [static] [InteractiveServer] +0 17 1 razorTransition [] [)] +2 0 4 markupCommentPunctuation [] [] +2 0 1 razorTransition [] [@] +0 1 1 razorTransition [] [{] +1 4 3 keyword [] [var] +0 4 1 variable [] [r] +0 2 1 operator [] [=] +0 2 9 namespace [] [Microsoft] +0 9 1 operator [] [.] +0 1 10 namespace [] [AspNetCore] +0 10 1 operator [] [.] +0 1 10 namespace [] [Components] +0 10 1 operator [] [.] +0 1 3 namespace [] [Web] +0 3 1 operator [] [.] +0 1 10 class [static] [RenderMode] +0 10 1 operator [] [.] +0 1 15 property [static] [InteractiveAuto] +0 15 1 punctuation [] [;] +1 0 1 razorTransition [] [}] diff --git a/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_Expression_misc_file.txt b/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_Expression_misc_file.txt new file mode 100644 index 00000000000..8534957dfa0 --- /dev/null +++ b/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_Expression_misc_file.txt @@ -0,0 +1,38 @@ +Line Δ, Char Δ, Length, Type, Modifier(s), Text +0 0 1 razorTransition [] [@] +0 1 10 razorDirective [] [rendermode] +0 11 1 razorTransition [] [@] +0 1 1 razorTransition [] [(] +0 1 9 namespace [] [Microsoft] +0 9 1 operator [] [.] +0 1 10 variable [] [AspNetCore] +0 10 1 operator [] [.] +0 1 10 variable [] [Components] +0 10 1 operator [] [.] +0 1 3 variable [] [Web] +0 3 1 operator [] [.] +0 1 10 variable [] [RenderMode] +0 10 1 operator [] [.] +0 1 17 variable [] [InteractiveServer] +0 17 1 razorTransition [] [)] +2 0 4 markupCommentPunctuation [] [] +2 0 1 razorTransition [] [@] +0 1 1 razorTransition [] [{] +1 4 3 keyword [] [var] +0 4 1 variable [] [r] +0 2 1 operator [] [=] +0 2 9 namespace [] [Microsoft] +0 9 1 operator [] [.] +0 1 10 variable [] [AspNetCore] +0 10 1 operator [] [.] +0 1 10 variable [] [Components] +0 10 1 operator [] [.] +0 1 3 variable [] [Web] +0 3 1 operator [] [.] +0 1 10 variable [] [RenderMode] +0 10 1 operator [] [.] +0 1 15 variable [] [InteractiveAuto] +0 15 1 punctuation [] [;] +1 0 1 razorTransition [] [}] diff --git a/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_Expression_with_background.txt b/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_Expression_with_background.txt new file mode 100644 index 00000000000..6d454600f9e --- /dev/null +++ b/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_Expression_with_background.txt @@ -0,0 +1,42 @@ +Line Δ, Char Δ, Length, Type, Modifier(s), Text +0 0 1 razorTransition [] [@] +0 1 10 razorDirective [] [rendermode] +0 11 1 razorTransition [] [@] +0 1 1 razorTransition [razorCode] [(] +0 1 9 namespace [razorCode] [Microsoft] +0 9 1 operator [razorCode] [.] +0 1 10 namespace [razorCode] [AspNetCore] +0 10 1 operator [razorCode] [.] +0 1 10 namespace [razorCode] [Components] +0 10 1 operator [razorCode] [.] +0 1 3 namespace [razorCode] [Web] +0 3 1 operator [razorCode] [.] +0 1 10 class [static, razorCode] [RenderMode] +0 10 1 operator [razorCode] [.] +0 1 17 property [static, razorCode] [InteractiveServer] +0 17 1 razorTransition [razorCode] [)] +2 0 4 markupCommentPunctuation [] [] +2 0 1 razorTransition [razorCode] [@] +0 1 1 razorTransition [razorCode] [{] +1 0 4 markupTextLiteral [razorCode] [ ] +0 4 3 keyword [razorCode] [var] +0 3 1 markupTextLiteral [razorCode] [ ] +0 1 1 variable [razorCode] [r] +0 1 1 markupTextLiteral [razorCode] [ ] +0 1 1 operator [razorCode] [=] +0 1 1 markupTextLiteral [razorCode] [ ] +0 1 9 namespace [razorCode] [Microsoft] +0 9 1 operator [razorCode] [.] +0 1 10 namespace [razorCode] [AspNetCore] +0 10 1 operator [razorCode] [.] +0 1 10 namespace [razorCode] [Components] +0 10 1 operator [razorCode] [.] +0 1 3 namespace [razorCode] [Web] +0 3 1 operator [razorCode] [.] +0 1 10 class [static, razorCode] [RenderMode] +0 10 1 operator [razorCode] [.] +0 1 15 property [static, razorCode] [InteractiveAuto] +0 15 1 punctuation [razorCode] [;] +1 0 1 razorTransition [razorCode] [}] diff --git a/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_Expression_with_background_misc_file.txt b/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_Expression_with_background_misc_file.txt new file mode 100644 index 00000000000..f70ea619c52 --- /dev/null +++ b/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_Expression_with_background_misc_file.txt @@ -0,0 +1,42 @@ +Line Δ, Char Δ, Length, Type, Modifier(s), Text +0 0 1 razorTransition [] [@] +0 1 10 razorDirective [] [rendermode] +0 11 1 razorTransition [] [@] +0 1 1 razorTransition [razorCode] [(] +0 1 9 namespace [razorCode] [Microsoft] +0 9 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [AspNetCore] +0 10 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [Components] +0 10 1 operator [razorCode] [.] +0 1 3 variable [razorCode] [Web] +0 3 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [RenderMode] +0 10 1 operator [razorCode] [.] +0 1 17 variable [razorCode] [InteractiveServer] +0 17 1 razorTransition [razorCode] [)] +2 0 4 markupCommentPunctuation [] [] +2 0 1 razorTransition [razorCode] [@] +0 1 1 razorTransition [razorCode] [{] +1 0 4 markupTextLiteral [razorCode] [ ] +0 4 3 keyword [razorCode] [var] +0 3 1 markupTextLiteral [razorCode] [ ] +0 1 1 variable [razorCode] [r] +0 1 1 markupTextLiteral [razorCode] [ ] +0 1 1 operator [razorCode] [=] +0 1 1 markupTextLiteral [razorCode] [ ] +0 1 9 namespace [razorCode] [Microsoft] +0 9 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [AspNetCore] +0 10 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [Components] +0 10 1 operator [razorCode] [.] +0 1 3 variable [razorCode] [Web] +0 3 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [RenderMode] +0 10 1 operator [razorCode] [.] +0 1 15 variable [razorCode] [InteractiveAuto] +0 15 1 punctuation [razorCode] [;] +1 0 1 razorTransition [razorCode] [}] diff --git a/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_Razor9.txt b/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_Razor9.txt new file mode 100644 index 00000000000..cb5fd2fa4bc --- /dev/null +++ b/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_Razor9.txt @@ -0,0 +1,24 @@ +Line Δ, Char Δ, Length, Type, Modifier(s), Text +0 0 1 razorTransition [] [@] +0 1 10 razorDirective [] [rendermode] +2 0 4 markupCommentPunctuation [] [] +2 0 1 razorTransition [] [@] +0 1 1 razorTransition [] [{] +1 4 3 keyword [] [var] +0 4 1 variable [] [r] +0 2 1 operator [] [=] +0 2 9 namespace [] [Microsoft] +0 9 1 operator [] [.] +0 1 10 namespace [] [AspNetCore] +0 10 1 operator [] [.] +0 1 10 namespace [] [Components] +0 10 1 operator [] [.] +0 1 3 namespace [] [Web] +0 3 1 operator [] [.] +0 1 10 class [static] [RenderMode] +0 10 1 operator [] [.] +0 1 15 property [static] [InteractiveAuto] +0 15 1 punctuation [] [;] +1 0 1 razorTransition [] [}] diff --git a/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_Razor9_misc_file.txt b/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_Razor9_misc_file.txt new file mode 100644 index 00000000000..a5c4374ca80 --- /dev/null +++ b/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_Razor9_misc_file.txt @@ -0,0 +1,35 @@ +Line Δ, Char Δ, Length, Type, Modifier(s), Text +0 0 1 razorTransition [] [@] +0 1 10 razorDirective [] [rendermode] +0 11 9 namespace [] [Microsoft] +0 9 1 operator [] [.] +0 1 10 variable [] [AspNetCore] +0 10 1 operator [] [.] +0 1 10 variable [] [Components] +0 10 1 operator [] [.] +0 1 3 variable [] [Web] +0 3 1 operator [] [.] +0 1 10 variable [] [RenderMode] +0 10 1 operator [] [.] +0 1 17 variable [] [InteractiveServer] +2 0 4 markupCommentPunctuation [] [] +2 0 1 razorTransition [] [@] +0 1 1 razorTransition [] [{] +1 4 3 keyword [] [var] +0 4 1 variable [] [r] +0 2 1 operator [] [=] +0 2 9 namespace [] [Microsoft] +0 9 1 operator [] [.] +0 1 10 variable [] [AspNetCore] +0 10 1 operator [] [.] +0 1 10 variable [] [Components] +0 10 1 operator [] [.] +0 1 3 variable [] [Web] +0 3 1 operator [] [.] +0 1 10 variable [] [RenderMode] +0 10 1 operator [] [.] +0 1 15 variable [] [InteractiveAuto] +0 15 1 punctuation [] [;] +1 0 1 razorTransition [] [}] diff --git a/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_Razor9_with_background.txt b/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_Razor9_with_background.txt new file mode 100644 index 00000000000..21f9e8c06e0 --- /dev/null +++ b/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_Razor9_with_background.txt @@ -0,0 +1,28 @@ +Line Δ, Char Δ, Length, Type, Modifier(s), Text +0 0 1 razorTransition [] [@] +0 1 10 razorDirective [] [rendermode] +2 0 4 markupCommentPunctuation [] [] +2 0 1 razorTransition [razorCode] [@] +0 1 1 razorTransition [razorCode] [{] +1 0 4 markupTextLiteral [razorCode] [ ] +0 4 3 keyword [razorCode] [var] +0 3 1 markupTextLiteral [razorCode] [ ] +0 1 1 variable [razorCode] [r] +0 1 1 markupTextLiteral [razorCode] [ ] +0 1 1 operator [razorCode] [=] +0 1 1 markupTextLiteral [razorCode] [ ] +0 1 9 namespace [razorCode] [Microsoft] +0 9 1 operator [razorCode] [.] +0 1 10 namespace [razorCode] [AspNetCore] +0 10 1 operator [razorCode] [.] +0 1 10 namespace [razorCode] [Components] +0 10 1 operator [razorCode] [.] +0 1 3 namespace [razorCode] [Web] +0 3 1 operator [razorCode] [.] +0 1 10 class [static, razorCode] [RenderMode] +0 10 1 operator [razorCode] [.] +0 1 15 property [static, razorCode] [InteractiveAuto] +0 15 1 punctuation [razorCode] [;] +1 0 1 razorTransition [razorCode] [}] diff --git a/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_Razor9_with_background_misc_file.txt b/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_Razor9_with_background_misc_file.txt new file mode 100644 index 00000000000..b86e269b4ce --- /dev/null +++ b/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_Razor9_with_background_misc_file.txt @@ -0,0 +1,39 @@ +Line Δ, Char Δ, Length, Type, Modifier(s), Text +0 0 1 razorTransition [] [@] +0 1 10 razorDirective [] [rendermode] +0 11 9 namespace [razorCode] [Microsoft] +0 9 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [AspNetCore] +0 10 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [Components] +0 10 1 operator [razorCode] [.] +0 1 3 variable [razorCode] [Web] +0 3 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [RenderMode] +0 10 1 operator [razorCode] [.] +0 1 17 variable [razorCode] [InteractiveServer] +2 0 4 markupCommentPunctuation [] [] +2 0 1 razorTransition [razorCode] [@] +0 1 1 razorTransition [razorCode] [{] +1 0 4 markupTextLiteral [razorCode] [ ] +0 4 3 keyword [razorCode] [var] +0 3 1 markupTextLiteral [razorCode] [ ] +0 1 1 variable [razorCode] [r] +0 1 1 markupTextLiteral [razorCode] [ ] +0 1 1 operator [razorCode] [=] +0 1 1 markupTextLiteral [razorCode] [ ] +0 1 9 namespace [razorCode] [Microsoft] +0 9 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [AspNetCore] +0 10 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [Components] +0 10 1 operator [razorCode] [.] +0 1 3 variable [razorCode] [Web] +0 3 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [RenderMode] +0 10 1 operator [razorCode] [.] +0 1 15 variable [razorCode] [InteractiveAuto] +0 15 1 punctuation [razorCode] [;] +1 0 1 razorTransition [razorCode] [}] diff --git a/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_misc_file.txt b/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_misc_file.txt new file mode 100644 index 00000000000..f58c30bdcfd --- /dev/null +++ b/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_misc_file.txt @@ -0,0 +1,35 @@ +Line Δ, Char Δ, Length, Type, Modifier(s), Text +0 0 1 razorTransition [] [@] +0 1 10 razorDirective [] [rendermode] +0 11 9 namespace [] [Microsoft] +0 9 1 operator [] [.] +0 1 10 variable [] [AspNetCore] +0 10 1 operator [] [.] +0 1 10 variable [] [Components] +0 10 1 operator [] [.] +0 1 3 variable [] [Web] +0 3 1 operator [] [.] +0 1 10 variable [] [RenderMode] +0 10 1 operator [] [.] +0 1 17 variable [] [InteractiveServer] +2 0 4 markupCommentPunctuation [] [] +2 0 1 razorTransition [] [@] +0 1 1 razorTransition [] [{] +1 4 3 keyword [] [var] +0 4 1 variable [] [r] +0 2 1 operator [] [=] +0 2 9 namespace [] [Microsoft] +0 9 1 operator [] [.] +0 1 10 variable [] [AspNetCore] +0 10 1 operator [] [.] +0 1 10 variable [] [Components] +0 10 1 operator [] [.] +0 1 3 variable [] [Web] +0 3 1 operator [] [.] +0 1 10 variable [] [RenderMode] +0 10 1 operator [] [.] +0 1 15 variable [] [InteractiveAuto] +0 15 1 punctuation [] [;] +1 0 1 razorTransition [] [}] diff --git a/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_with_background.txt b/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_with_background.txt new file mode 100644 index 00000000000..54072f691e4 --- /dev/null +++ b/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_with_background.txt @@ -0,0 +1,39 @@ +Line Δ, Char Δ, Length, Type, Modifier(s), Text +0 0 1 razorTransition [] [@] +0 1 10 razorDirective [] [rendermode] +0 11 9 namespace [razorCode] [Microsoft] +0 9 1 operator [razorCode] [.] +0 1 10 namespace [razorCode] [AspNetCore] +0 10 1 operator [razorCode] [.] +0 1 10 namespace [razorCode] [Components] +0 10 1 operator [razorCode] [.] +0 1 3 namespace [razorCode] [Web] +0 3 1 operator [razorCode] [.] +0 1 10 class [static, razorCode] [RenderMode] +0 10 1 operator [razorCode] [.] +0 1 17 property [static, razorCode] [InteractiveServer] +2 0 4 markupCommentPunctuation [] [] +2 0 1 razorTransition [razorCode] [@] +0 1 1 razorTransition [razorCode] [{] +1 0 4 markupTextLiteral [razorCode] [ ] +0 4 3 keyword [razorCode] [var] +0 3 1 markupTextLiteral [razorCode] [ ] +0 1 1 variable [razorCode] [r] +0 1 1 markupTextLiteral [razorCode] [ ] +0 1 1 operator [razorCode] [=] +0 1 1 markupTextLiteral [razorCode] [ ] +0 1 9 namespace [razorCode] [Microsoft] +0 9 1 operator [razorCode] [.] +0 1 10 namespace [razorCode] [AspNetCore] +0 10 1 operator [razorCode] [.] +0 1 10 namespace [razorCode] [Components] +0 10 1 operator [razorCode] [.] +0 1 3 namespace [razorCode] [Web] +0 3 1 operator [razorCode] [.] +0 1 10 class [static, razorCode] [RenderMode] +0 10 1 operator [razorCode] [.] +0 1 15 property [static, razorCode] [InteractiveAuto] +0 15 1 punctuation [razorCode] [;] +1 0 1 razorTransition [razorCode] [}] diff --git a/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_with_background_misc_file.txt b/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_with_background_misc_file.txt new file mode 100644 index 00000000000..71d70992bad --- /dev/null +++ b/src/Razor/test/Microsoft.VisualStudioCode.RazorExtension.Test/TestFiles/SemanticTokens/RenderFragment_with_background_misc_file.txt @@ -0,0 +1,39 @@ +Line Δ, Char Δ, Length, Type, Modifier(s), Text +0 0 1 razorTransition [] [@] +0 1 10 razorDirective [] [rendermode] +0 11 9 namespace [razorCode] [Microsoft] +0 9 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [AspNetCore] +0 10 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [Components] +0 10 1 operator [razorCode] [.] +0 1 3 variable [razorCode] [Web] +0 3 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [RenderMode] +0 10 1 operator [razorCode] [.] +0 1 17 variable [razorCode] [InteractiveServer] +2 0 4 markupCommentPunctuation [] [] +2 0 1 razorTransition [razorCode] [@] +0 1 1 razorTransition [razorCode] [{] +1 0 4 markupTextLiteral [razorCode] [ ] +0 4 3 keyword [razorCode] [var] +0 3 1 markupTextLiteral [razorCode] [ ] +0 1 1 variable [razorCode] [r] +0 1 1 markupTextLiteral [razorCode] [ ] +0 1 1 operator [razorCode] [=] +0 1 1 markupTextLiteral [razorCode] [ ] +0 1 9 namespace [razorCode] [Microsoft] +0 9 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [AspNetCore] +0 10 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [Components] +0 10 1 operator [razorCode] [.] +0 1 3 variable [razorCode] [Web] +0 3 1 operator [razorCode] [.] +0 1 10 variable [razorCode] [RenderMode] +0 10 1 operator [razorCode] [.] +0 1 15 variable [razorCode] [InteractiveAuto] +0 15 1 punctuation [razorCode] [;] +1 0 1 razorTransition [razorCode] [}]