Welcome to mirror list, hosted at ThFree Co, Russian Federation.

github.com/dotnet/aspnetcore.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles')
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Home.cshtml1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Views/About/About.cshtml1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Views/Home/Index.cshtml1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Views/Home/Index.txt1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Views/Home/_ViewImports.cshtml1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Views/_ViewImports.cshtml1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/_ViewImports.cshtml1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/BasicIntegrationTest/CustomDirective.cshtml1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/BasicIntegrationTest/CustomDirective.ir.txt6
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/BasicIntegrationTest/Empty.cshtml1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/BasicIntegrationTest/Empty.ir.txt6
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/BasicIntegrationTest/HelloWorld.cshtml1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/BasicIntegrationTest/HelloWorld.ir.txt8
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AddTagHelperDirective.cshtml1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AddTagHelperDirective_DesignTime.codegen.cs26
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AddTagHelperDirective_DesignTime.ir.txt14
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AddTagHelperDirective_DesignTime.mappings.txt5
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers.cshtml8
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers_DesignTime.codegen.cs51
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers_DesignTime.ir.txt82
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers_DesignTime.mappings.txt15
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers_Runtime.codegen.cs126
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers_Runtime.ir.txt65
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml26
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await_DesignTime.codegen.cs95
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await_DesignTime.ir.txt130
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await_DesignTime.mappings.txt95
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await_Runtime.codegen.cs104
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await_Runtime.ir.txt125
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports.cshtml1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_DesignTime.codegen.cs37
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_DesignTime.ir.txt20
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_DesignTime.mappings.txt0
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_Imports0.cshtml5
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_Imports1.cshtml2
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_Runtime.codegen.cs36
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_Runtime.ir.txt16
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers.cshtml9
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_DesignTime.codegen.cs49
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_DesignTime.ir.txt84
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_DesignTime.mappings.txt15
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Prefixed.cshtml10
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Prefixed_DesignTime.codegen.cs43
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Prefixed_DesignTime.ir.txt59
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Prefixed_DesignTime.mappings.txt15
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Prefixed_Runtime.codegen.cs82
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Prefixed_Runtime.ir.txt46
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_RemoveTagHelper.cshtml10
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_RemoveTagHelper_Runtime.codegen.cs115
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_RemoveTagHelper_Runtime.ir.txt55
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Runtime.codegen.cs129
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Runtime.ir.txt69
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml37
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks_DesignTime.codegen.cs138
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks_DesignTime.ir.txt101
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks_DesignTime.mappings.txt139
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks_Runtime.codegen.cs136
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks_Runtime.ir.txt112
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7.cshtml43
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7_DesignTime.codegen.cs81
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7_DesignTime.ir.txt45
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7_DesignTime.mappings.txt88
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7_Runtime.codegen.cs84
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7_Runtime.ir.txt48
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlock.cshtml5
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF.cshtml1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF_DesignTime.codegen.cs23
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF_DesignTime.diagnostics.txt1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF_DesignTime.ir.txt13
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF_DesignTime.mappings.txt5
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF_Runtime.codegen.cs18
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF_Runtime.diagnostics.txt1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF_Runtime.ir.txt8
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement.cshtml4
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement_DesignTime.codegen.cs41
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement_DesignTime.ir.txt23
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement_DesignTime.mappings.txt26
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement_Runtime.codegen.cs37
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement_Runtime.ir.txt18
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlock_DesignTime.codegen.cs30
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlock_DesignTime.ir.txt13
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlock_DesignTime.mappings.txt13
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlock_Runtime.codegen.cs26
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlock_Runtime.ir.txt8
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml37
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers_DesignTime.codegen.cs207
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers_DesignTime.ir.txt298
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers_DesignTime.mappings.txt293
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers_Runtime.codegen.cs493
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers_Runtime.ir.txt299
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml15
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes_DesignTime.codegen.cs102
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes_DesignTime.ir.txt120
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes_DesignTime.mappings.txt138
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes_Runtime.codegen.cs108
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes_Runtime.ir.txt107
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CssSelectorTagHelperAttributes.cshtml13
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CssSelectorTagHelperAttributes_Runtime.codegen.cs242
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CssSelectorTagHelperAttributes_Runtime.ir.txt137
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DesignTime.cshtml15
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DesignTime_DesignTime.codegen.cs68
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DesignTime_DesignTime.ir.txt63
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DesignTime_DesignTime.mappings.txt49
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers.cshtml7
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers_DesignTime.codegen.cs57
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers_DesignTime.ir.txt96
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers_DesignTime.mappings.txt20
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers_Runtime.codegen.cs146
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers_Runtime.ir.txt69
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateTargetTagHelper.cshtml3
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateTargetTagHelper_DesignTime.codegen.cs38
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateTargetTagHelper_DesignTime.ir.txt32
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateTargetTagHelper_DesignTime.mappings.txt10
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateTargetTagHelper_Runtime.codegen.cs65
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateTargetTagHelper_Runtime.ir.txt23
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml14
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers_DesignTime.codegen.cs185
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers_DesignTime.ir.txt133
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers_DesignTime.mappings.txt155
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers_Runtime.codegen.cs310
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers_Runtime.ir.txt127
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers.cshtml8
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers_DesignTime.codegen.cs53
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers_DesignTime.diagnostics.txt3
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers_DesignTime.ir.txt67
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers_DesignTime.mappings.txt20
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers_Runtime.codegen.cs114
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers_Runtime.diagnostics.txt3
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers_Runtime.ir.txt51
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyCodeBlock.cshtml3
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyCodeBlock_DesignTime.codegen.cs23
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyCodeBlock_DesignTime.ir.txt15
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyCodeBlock_DesignTime.mappings.txt5
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyCodeBlock_Runtime.codegen.cs19
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyCodeBlock_Runtime.ir.txt10
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyExplicitExpression.cshtml3
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyExplicitExpression_DesignTime.codegen.cs27
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyExplicitExpression_DesignTime.ir.txt15
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyExplicitExpression_DesignTime.mappings.txt5
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyExplicitExpression_Runtime.codegen.cs24
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyExplicitExpression_Runtime.ir.txt10
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression.cshtml3
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode.cshtml3
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode_DesignTime.codegen.cs31
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode_DesignTime.diagnostics.txt1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode_DesignTime.ir.txt17
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode_DesignTime.mappings.txt19
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode_Runtime.codegen.cs23
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode_Runtime.diagnostics.txt1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode_Runtime.ir.txt12
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression_DesignTime.codegen.cs27
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression_DesignTime.diagnostics.txt1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression_DesignTime.ir.txt17
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression_DesignTime.mappings.txt5
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression_Runtime.codegen.cs25
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression_Runtime.diagnostics.txt1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression_Runtime.ir.txt12
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers.cshtml11
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers_DesignTime.codegen.cs79
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers_DesignTime.ir.txt74
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers_DesignTime.mappings.txt49
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers_Runtime.codegen.cs164
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers_Runtime.ir.txt68
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers.cshtml8
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers_DesignTime.codegen.cs47
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers_DesignTime.ir.txt69
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers_DesignTime.mappings.txt20
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers_Runtime.codegen.cs83
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers_Runtime.ir.txt63
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpression.cshtml1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF.cshtml3
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF_DesignTime.codegen.cs27
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF_DesignTime.diagnostics.txt1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF_DesignTime.ir.txt15
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF_DesignTime.mappings.txt5
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF_Runtime.codegen.cs24
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF_Runtime.diagnostics.txt1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF_Runtime.ir.txt10
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup.cshtml1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup_DesignTime.codegen.cs29
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup_DesignTime.diagnostics.txt2
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup_DesignTime.ir.txt18
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup_DesignTime.mappings.txt5
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup_Runtime.codegen.cs29
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup_Runtime.diagnostics.txt2
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup_Runtime.ir.txt13
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpression_DesignTime.codegen.cs27
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpression_DesignTime.ir.txt15
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpression_DesignTime.mappings.txt5
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpression_Runtime.codegen.cs24
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpression_Runtime.ir.txt10
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode.cshtml16
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode_DesignTime.codegen.cs70
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode_DesignTime.ir.txt40
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode_DesignTime.mappings.txt58
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode_Runtime.codegen.cs68
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode_Runtime.ir.txt36
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock.cshtml12
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlockMinimal.cshtml7
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlockMinimal_DesignTime.codegen.cs30
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlockMinimal_DesignTime.ir.txt15
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlockMinimal_DesignTime.mappings.txt13
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlockMinimal_Runtime.codegen.cs27
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlockMinimal_Runtime.ir.txt12
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock_DesignTime.codegen.cs39
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock_DesignTime.ir.txt21
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock_DesignTime.mappings.txt29
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock_Runtime.codegen.cs34
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock_Runtime.ir.txt16
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HiddenSpansInCode.cshtml3
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HiddenSpansInCode_DesignTime.codegen.cs29
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HiddenSpansInCode_DesignTime.ir.txt15
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HiddenSpansInCode_DesignTime.mappings.txt14
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HiddenSpansInCode_Runtime.codegen.cs23
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HiddenSpansInCode_Runtime.ir.txt10
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Double.cshtml2
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Double_DesignTime.codegen.cs22
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Double_DesignTime.ir.txt19
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Double_DesignTime.mappings.txt0
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Double_Runtime.codegen.cs19
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Double_Runtime.ir.txt14
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Single.cshtml2
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Single_DesignTime.codegen.cs22
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Single_DesignTime.ir.txt19
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Single_DesignTime.mappings.txt0
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Single_Runtime.codegen.cs19
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Single_Runtime.ir.txt14
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression.cshtml3
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF.cshtml3
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF_DesignTime.codegen.cs27
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF_DesignTime.diagnostics.txt1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF_DesignTime.ir.txt15
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF_DesignTime.mappings.txt5
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF_Runtime.codegen.cs24
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF_Runtime.diagnostics.txt1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF_Runtime.ir.txt10
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression_DesignTime.codegen.cs39
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression_DesignTime.ir.txt22
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression_DesignTime.mappings.txt19
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression_Runtime.codegen.cs35
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression_Runtime.ir.txt19
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml25
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives_DesignTime.codegen.cs70
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives_DesignTime.diagnostics.txt27
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives_DesignTime.ir.txt84
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives_DesignTime.mappings.txt65
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives_Runtime.codegen.cs27
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives_Runtime.diagnostics.txt27
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives_Runtime.ir.txt54
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper.cshtml3
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper_DesignTime.codegen.cs28
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper_DesignTime.diagnostics.txt2
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper_DesignTime.ir.txt23
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper_DesignTime.mappings.txt5
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper_Runtime.codegen.cs52
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper_Runtime.diagnostics.txt2
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper_Runtime.ir.txt16
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Inherits.cshtml3
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Inherits_DesignTime.codegen.cs31
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Inherits_DesignTime.ir.txt16
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Inherits_DesignTime.mappings.txt10
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Inherits_Runtime.codegen.cs24
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Inherits_Runtime.ir.txt10
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks.cshtml3
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks_DesignTime.codegen.cs46
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks_DesignTime.diagnostics.txt1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks_DesignTime.ir.txt29
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks_DesignTime.mappings.txt25
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks_Runtime.codegen.cs48
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks_Runtime.diagnostics.txt1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks_Runtime.ir.txt23
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml38
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented_DesignTime.codegen.cs146
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented_DesignTime.ir.txt111
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented_DesignTime.mappings.txt153
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented_Runtime.codegen.cs144
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented_Runtime.ir.txt123
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock.cshtml5
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock_DesignTime.codegen.cs40
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock_DesignTime.ir.txt22
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock_DesignTime.mappings.txt23
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock_Runtime.codegen.cs36
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock_Runtime.ir.txt19
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MinimizedTagHelpers.cshtml20
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MinimizedTagHelpers_DesignTime.codegen.cs45
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MinimizedTagHelpers_DesignTime.ir.txt108
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MinimizedTagHelpers_DesignTime.mappings.txt5
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MinimizedTagHelpers_Runtime.codegen.cs188
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MinimizedTagHelpers_Runtime.ir.txt89
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp.cshtml8
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp_DesignTime.codegen.cs44
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp_DesignTime.ir.txt27
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp_DesignTime.mappings.txt35
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp_Runtime.codegen.cs36
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp_Runtime.ir.txt25
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks.cshtml4
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks_DesignTime.codegen.cs40
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks_DesignTime.ir.txt17
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks_DesignTime.mappings.txt21
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks_Runtime.codegen.cs36
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks_Runtime.ir.txt12
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers.cshtml16
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers_DesignTime.codegen.cs56
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers_DesignTime.ir.txt87
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers_DesignTime.mappings.txt29
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers_Runtime.codegen.cs106
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers_Runtime.ir.txt80
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedTagHelpers.cshtml5
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedTagHelpers_DesignTime.codegen.cs33
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedTagHelpers_DesignTime.ir.txt48
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedTagHelpers_DesignTime.mappings.txt5
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedTagHelpers_Runtime.codegen.cs89
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedTagHelpers_Runtime.ir.txt37
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml38
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas_DesignTime.codegen.cs140
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas_DesignTime.ir.txt103
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas_DesignTime.mappings.txt148
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas_Runtime.codegen.cs137
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas_Runtime.ir.txt113
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml11
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions_DesignTime.codegen.cs72
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions_DesignTime.ir.txt45
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions_DesignTime.mappings.txt75
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions_Runtime.codegen.cs62
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions_Runtime.ir.txt40
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf.cshtml5
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf_DesignTime.codegen.cs30
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf_DesignTime.diagnostics.txt3
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf_DesignTime.ir.txt26
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf_DesignTime.mappings.txt19
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf_Runtime.codegen.cs25
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf_Runtime.diagnostics.txt3
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf_Runtime.ir.txt19
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError.cshtml5
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError_DesignTime.codegen.cs31
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError_DesignTime.diagnostics.txt2
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError_DesignTime.ir.txt13
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError_DesignTime.mappings.txt13
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError_Runtime.codegen.cs27
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError_Runtime.diagnostics.txt2
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError_Runtime.ir.txt8
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml23
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers_DesignTime.codegen.cs117
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers_DesignTime.ir.txt136
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers_DesignTime.mappings.txt80
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers_Runtime.codegen.cs260
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers_Runtime.ir.txt117
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments.cshtml15
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments_DesignTime.codegen.cs53
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments_DesignTime.ir.txt42
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments_DesignTime.mappings.txt47
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments_Runtime.codegen.cs53
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments_Runtime.ir.txt37
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RemoveTagHelperDirective.cshtml1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RemoveTagHelperDirective_DesignTime.codegen.cs26
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RemoveTagHelperDirective_DesignTime.ir.txt14
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RemoveTagHelperDirective_DesignTime.mappings.txt5
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections.cshtml17
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections_DesignTime.codegen.cs72
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections_DesignTime.ir.txt59
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections_DesignTime.mappings.txt44
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections_Runtime.codegen.cs70
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections_Runtime.ir.txt53
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleTagHelpers.cshtml5
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleTagHelpers_DesignTime.codegen.cs29
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleTagHelpers_DesignTime.ir.txt35
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleTagHelpers_DesignTime.mappings.txt5
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleTagHelpers_Runtime.codegen.cs56
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleTagHelpers_Runtime.ir.txt26
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf.cshtml4
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf_DesignTime.codegen.cs35
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf_DesignTime.ir.txt18
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf_DesignTime.mappings.txt16
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf_Runtime.codegen.cs30
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf_Runtime.ir.txt15
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelper.cshtml3
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelperWithNewlineBeforeAttributes.cshtml4
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelperWithNewlineBeforeAttributes_DesignTime.codegen.cs33
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelperWithNewlineBeforeAttributes_DesignTime.ir.txt27
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelperWithNewlineBeforeAttributes_DesignTime.mappings.txt10
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelperWithNewlineBeforeAttributes_Runtime.codegen.cs59
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelperWithNewlineBeforeAttributes_Runtime.ir.txt20
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelper_DesignTime.codegen.cs33
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelper_DesignTime.ir.txt27
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelper_DesignTime.mappings.txt10
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelper_Runtime.codegen.cs59
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelper_Runtime.ir.txt20
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/StringLiterals.cshtml237
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/StringLiterals_DesignTime.codegen.cs36
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/StringLiterals_DesignTime.ir.txt953
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/StringLiterals_DesignTime.mappings.txt10
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/StringLiterals_Runtime.codegen.cs267
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/StringLiterals_Runtime.ir.txt945
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes.cshtml19
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes_DesignTime.codegen.cs56
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes_DesignTime.diagnostics.txt5
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes_DesignTime.ir.txt140
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes_DesignTime.mappings.txt25
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes_Runtime.codegen.cs197
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes_Runtime.diagnostics.txt5
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes_Runtime.ir.txt126
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersInSection.cshtml14
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersInSection_Runtime.codegen.cs102
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersInSection_Runtime.ir.txt54
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithBoundAttributes.cshtml4
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithBoundAttributes_DesignTime.codegen.cs34
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithBoundAttributes_DesignTime.ir.txt31
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithBoundAttributes_DesignTime.mappings.txt10
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithBoundAttributes_Runtime.codegen.cs62
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithBoundAttributes_Runtime.ir.txt23
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithPrefix.cshtml5
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithPrefix_DesignTime.codegen.cs38
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithPrefix_DesignTime.ir.txt34
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithPrefix_DesignTime.mappings.txt15
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithPrefix_Runtime.codegen.cs62
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithPrefix_Runtime.ir.txt23
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate.cshtml19
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate_DesignTime.codegen.cs64
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate_DesignTime.ir.txt57
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate_DesignTime.mappings.txt47
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate_Runtime.codegen.cs121
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate_Runtime.ir.txt50
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes.cshtml15
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes_DesignTime.codegen.cs54
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes_DesignTime.ir.txt75
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes_DesignTime.mappings.txt20
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes_Runtime.codegen.cs134
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes_Runtime.ir.txt59
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml53
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates_DesignTime.codegen.cs156
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates_DesignTime.ir.txt149
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates_DesignTime.mappings.txt169
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates_Runtime.codegen.cs188
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates_Runtime.ir.txt147
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml12
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes_DesignTime.codegen.cs80
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes_DesignTime.diagnostics.txt1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes_DesignTime.ir.txt105
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes_DesignTime.mappings.txt116
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes_Runtime.codegen.cs186
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes_Runtime.diagnostics.txt1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes_Runtime.ir.txt92
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/UnfinishedExpressionInCode.cshtml3
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/UnfinishedExpressionInCode_DesignTime.codegen.cs31
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/UnfinishedExpressionInCode_DesignTime.ir.txt17
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/UnfinishedExpressionInCode_DesignTime.mappings.txt19
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/UnfinishedExpressionInCode_Runtime.codegen.cs23
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/UnfinishedExpressionInCode_Runtime.ir.txt12
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings.cshtml10
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings_DesignTime.codegen.cs62
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings_DesignTime.ir.txt42
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings_DesignTime.mappings.txt40
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings_Runtime.codegen.cs62
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings_Runtime.ir.txt29
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/ExtensibleDirectiveTest/NamespaceToken.codegen.cs26
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/ExtensibleDirectiveTest/NamespaceToken.cshtml1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/ExtensibleDirectiveTest/NamespaceToken.ir.txt12
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/ExtensibleDirectiveTest/NamespaceToken.mappings.txt5
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/HtmlAttributeIntegrationTest/HtmlWithConditionalAttribute.cshtml5
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/HtmlAttributeIntegrationTest/HtmlWithConditionalAttribute.ir.txt22
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/HtmlAttributeIntegrationTest/HtmlWithDataDashAttribute.cshtml5
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/HtmlAttributeIntegrationTest/HtmlWithDataDashAttribute.ir.txt23
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithBaseType.codegen.cs18
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithBaseType.cshtml1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithConfigureClass.codegen.cs18
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithConfigureClass.cshtml1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithDefaults.codegen.cs18
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithDefaults.cshtml1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithSetNamespace.codegen.cs18
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithSetNamespace.cshtml1
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/TagHelpersIntegrationTest/NestedTagHelpers.cshtml5
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/TagHelpersIntegrationTest/NestedTagHelpers.ir.txt37
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/TagHelpersIntegrationTest/SimpleTagHelpers.cshtml5
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/TagHelpersIntegrationTest/SimpleTagHelpers.ir.txt26
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/TagHelpersIntegrationTest/TagHelpersWithBoundAttributes.cshtml4
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/TagHelpersIntegrationTest/TagHelpersWithBoundAttributes.ir.txt23
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/Source/BasicMarkup.cshtml8
-rw-r--r--src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/nested-1000.html2002
478 files changed, 24718 insertions, 0 deletions
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Home.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Home.cshtml
new file mode 100644
index 0000000000..7c5b3ca2e3
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Home.cshtml
@@ -0,0 +1 @@
+home-content \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Views/About/About.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Views/About/About.cshtml
new file mode 100644
index 0000000000..5f282702bb
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Views/About/About.cshtml
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Views/Home/Index.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Views/Home/Index.cshtml
new file mode 100644
index 0000000000..5f282702bb
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Views/Home/Index.cshtml
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Views/Home/Index.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Views/Home/Index.txt
new file mode 100644
index 0000000000..5f282702bb
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Views/Home/Index.txt
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Views/Home/_ViewImports.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Views/Home/_ViewImports.cshtml
new file mode 100644
index 0000000000..5f282702bb
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Views/Home/_ViewImports.cshtml
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Views/_ViewImports.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Views/_ViewImports.cshtml
new file mode 100644
index 0000000000..5f282702bb
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/Views/_ViewImports.cshtml
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/_ViewImports.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/_ViewImports.cshtml
new file mode 100644
index 0000000000..5f282702bb
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/DefaultRazorProjectFileSystem/_ViewImports.cshtml
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/BasicIntegrationTest/CustomDirective.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/BasicIntegrationTest/CustomDirective.cshtml
new file mode 100644
index 0000000000..f347706f3d
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/BasicIntegrationTest/CustomDirective.cshtml
@@ -0,0 +1 @@
+@test \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/BasicIntegrationTest/CustomDirective.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/BasicIntegrationTest/CustomDirective.ir.txt
new file mode 100644
index 0000000000..6142bc2eb1
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/BasicIntegrationTest/CustomDirective.ir.txt
@@ -0,0 +1,6 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Razor
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - Template - -
+ MethodDeclaration - - public async override - global::System.Threading.Tasks.Task - ExecuteAsync
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/BasicIntegrationTest/Empty.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/BasicIntegrationTest/Empty.cshtml
new file mode 100644
index 0000000000..5f282702bb
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/BasicIntegrationTest/Empty.cshtml
@@ -0,0 +1 @@
+ \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/BasicIntegrationTest/Empty.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/BasicIntegrationTest/Empty.ir.txt
new file mode 100644
index 0000000000..6142bc2eb1
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/BasicIntegrationTest/Empty.ir.txt
@@ -0,0 +1,6 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Razor
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - Template - -
+ MethodDeclaration - - public async override - global::System.Threading.Tasks.Task - ExecuteAsync
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/BasicIntegrationTest/HelloWorld.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/BasicIntegrationTest/HelloWorld.cshtml
new file mode 100644
index 0000000000..46953c4542
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/BasicIntegrationTest/HelloWorld.cshtml
@@ -0,0 +1 @@
+Hello, World! \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/BasicIntegrationTest/HelloWorld.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/BasicIntegrationTest/HelloWorld.ir.txt
new file mode 100644
index 0000000000..83409ed68c
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/BasicIntegrationTest/HelloWorld.ir.txt
@@ -0,0 +1,8 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Razor
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - Template - -
+ MethodDeclaration - - public async override - global::System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (0:0,0 [13] HelloWorld.cshtml)
+ IntermediateToken - (0:0,0 [13] HelloWorld.cshtml) - Html - Hello, World!
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AddTagHelperDirective.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AddTagHelperDirective.cshtml
new file mode 100644
index 0000000000..10b53aaeaf
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AddTagHelperDirective.cshtml
@@ -0,0 +1 @@
+@addTagHelper "*, TestAssembly"
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AddTagHelperDirective_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AddTagHelperDirective_DesignTime.codegen.cs
new file mode 100644
index 0000000000..9d90489dea
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AddTagHelperDirective_DesignTime.codegen.cs
@@ -0,0 +1,26 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_AddTagHelperDirective_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "*, TestAssembly";
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AddTagHelperDirective_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AddTagHelperDirective_DesignTime.ir.txt
new file mode 100644
index 0000000000..a3c0f0d9e5
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AddTagHelperDirective_DesignTime.ir.txt
@@ -0,0 +1,14 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_AddTagHelperDirective_DesignTime - -
+ DesignTimeDirective -
+ DirectiveToken - (14:0,14 [17] AddTagHelperDirective.cshtml) - "*, TestAssembly"
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (31:0,31 [2] AddTagHelperDirective.cshtml)
+ IntermediateToken - (31:0,31 [2] AddTagHelperDirective.cshtml) - Html - \n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AddTagHelperDirective_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AddTagHelperDirective_DesignTime.mappings.txt
new file mode 100644
index 0000000000..bff77ec3f5
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AddTagHelperDirective_DesignTime.mappings.txt
@@ -0,0 +1,5 @@
+Source Location: (14:0,14 [17] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AddTagHelperDirective.cshtml)
+|"*, TestAssembly"|
+Generated Location: (427:10,37 [17] )
+|"*, TestAssembly"|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers.cshtml
new file mode 100644
index 0000000000..8610fe90aa
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers.cshtml
@@ -0,0 +1,8 @@
+@addTagHelper *, TestAssembly
+
+<p class="btn">
+ <p><strong catchAll="hi">Hello</strong><strong>World</strong></p>
+ <input checked="true" />
+ <input type="checkbox" checked="true" />
+ <input type="checkbox" checked="true" catchAll="hi" />
+</p> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers_DesignTime.codegen.cs
new file mode 100644
index 0000000000..ae87635f43
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers_DesignTime.codegen.cs
@@ -0,0 +1,51 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_AttributeTargetingTagHelpers_DesignTime
+ {
+ private global::TestNamespace.PTagHelper __TestNamespace_PTagHelper;
+ private global::TestNamespace.CatchAllTagHelper __TestNamespace_CatchAllTagHelper;
+ private global::TestNamespace.InputTagHelper __TestNamespace_InputTagHelper;
+ private global::TestNamespace.InputTagHelper2 __TestNamespace_InputTagHelper2;
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "*, TestAssembly";
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __TestNamespace_InputTagHelper.Type = "checkbox";
+ __TestNamespace_InputTagHelper2.Type = __TestNamespace_InputTagHelper.Type;
+#line 6 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers.cshtml"
+__TestNamespace_InputTagHelper2.Checked = true;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __TestNamespace_InputTagHelper.Type = "checkbox";
+ __TestNamespace_InputTagHelper2.Type = __TestNamespace_InputTagHelper.Type;
+#line 7 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers.cshtml"
+__TestNamespace_InputTagHelper2.Checked = true;
+
+#line default
+#line hidden
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers_DesignTime.ir.txt
new file mode 100644
index 0000000000..240c399ef1
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers_DesignTime.ir.txt
@@ -0,0 +1,82 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_AttributeTargetingTagHelpers_DesignTime - -
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.PTagHelper - __TestNamespace_PTagHelper
+ FieldDeclaration - - private - global::TestNamespace.CatchAllTagHelper - __TestNamespace_CatchAllTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper - __TestNamespace_InputTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper2 - __TestNamespace_InputTagHelper2
+ DesignTimeDirective -
+ DirectiveToken - (14:0,14 [15] AttributeTargetingTagHelpers.cshtml) - *, TestAssembly
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (29:0,29 [4] AttributeTargetingTagHelpers.cshtml)
+ IntermediateToken - (29:0,29 [4] AttributeTargetingTagHelpers.cshtml) - Html - \n\n
+ TagHelper - (33:2,0 [228] AttributeTargetingTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (48:2,15 [9] AttributeTargetingTagHelpers.cshtml)
+ IntermediateToken - (48:2,15 [6] AttributeTargetingTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (54:3,4 [3] AttributeTargetingTagHelpers.cshtml) - Html - <p>
+ TagHelper - (57:3,7 [36] AttributeTargetingTagHelpers.cshtml) - strong - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (79:3,29 [5] AttributeTargetingTagHelpers.cshtml)
+ IntermediateToken - (79:3,29 [5] AttributeTargetingTagHelpers.cshtml) - Html - Hello
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperHtmlAttribute - - catchAll - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (75:3,25 [2] AttributeTargetingTagHelpers.cshtml)
+ IntermediateToken - (75:3,25 [2] AttributeTargetingTagHelpers.cshtml) - Html - hi
+ DefaultTagHelperExecute -
+ HtmlContent - (93:3,43 [62] AttributeTargetingTagHelpers.cshtml)
+ IntermediateToken - (93:3,43 [8] AttributeTargetingTagHelpers.cshtml) - Html - <strong>
+ IntermediateToken - (101:3,51 [5] AttributeTargetingTagHelpers.cshtml) - Html - World
+ IntermediateToken - (106:3,56 [9] AttributeTargetingTagHelpers.cshtml) - Html - </strong>
+ IntermediateToken - (115:3,65 [4] AttributeTargetingTagHelpers.cshtml) - Html - </p>
+ IntermediateToken - (119:3,69 [6] AttributeTargetingTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (125:4,4 [6] AttributeTargetingTagHelpers.cshtml) - Html - <input
+ IntermediateToken - (131:4,10 [15] AttributeTargetingTagHelpers.cshtml) - Html - checked="true"
+ IntermediateToken - (146:4,25 [3] AttributeTargetingTagHelpers.cshtml) - Html - />
+ IntermediateToken - (149:4,28 [6] AttributeTargetingTagHelpers.cshtml) - Html - \n
+ TagHelper - (155:5,4 [40] AttributeTargetingTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperProperty - (168:5,17 [8] AttributeTargetingTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper.Type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (168:5,17 [8] AttributeTargetingTagHelpers.cshtml)
+ IntermediateToken - (168:5,17 [8] AttributeTargetingTagHelpers.cshtml) - Html - checkbox
+ DefaultTagHelperProperty - (168:5,17 [8] AttributeTargetingTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper2.Type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (168:5,17 [8] AttributeTargetingTagHelpers.cshtml)
+ IntermediateToken - (168:5,17 [8] AttributeTargetingTagHelpers.cshtml) - Html - checkbox
+ DefaultTagHelperProperty - (187:5,36 [4] AttributeTargetingTagHelpers.cshtml) - checked - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (187:5,36 [4] AttributeTargetingTagHelpers.cshtml) - CSharp - true
+ DefaultTagHelperExecute -
+ HtmlContent - (195:5,44 [6] AttributeTargetingTagHelpers.cshtml)
+ IntermediateToken - (195:5,44 [6] AttributeTargetingTagHelpers.cshtml) - Html - \n
+ TagHelper - (201:6,4 [54] AttributeTargetingTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperProperty - (214:6,17 [8] AttributeTargetingTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper.Type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (214:6,17 [8] AttributeTargetingTagHelpers.cshtml)
+ IntermediateToken - (214:6,17 [8] AttributeTargetingTagHelpers.cshtml) - Html - checkbox
+ DefaultTagHelperProperty - (214:6,17 [8] AttributeTargetingTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper2.Type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (214:6,17 [8] AttributeTargetingTagHelpers.cshtml)
+ IntermediateToken - (214:6,17 [8] AttributeTargetingTagHelpers.cshtml) - Html - checkbox
+ DefaultTagHelperProperty - (233:6,36 [4] AttributeTargetingTagHelpers.cshtml) - checked - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (233:6,36 [4] AttributeTargetingTagHelpers.cshtml) - CSharp - true
+ DefaultTagHelperHtmlAttribute - - catchAll - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (249:6,52 [2] AttributeTargetingTagHelpers.cshtml)
+ IntermediateToken - (249:6,52 [2] AttributeTargetingTagHelpers.cshtml) - Html - hi
+ DefaultTagHelperExecute -
+ HtmlContent - (255:6,58 [2] AttributeTargetingTagHelpers.cshtml)
+ IntermediateToken - (255:6,58 [2] AttributeTargetingTagHelpers.cshtml) - Html - \n
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperHtmlAttribute - - class - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (43:2,10 [3] AttributeTargetingTagHelpers.cshtml)
+ IntermediateToken - (43:2,10 [3] AttributeTargetingTagHelpers.cshtml) - Html - btn
+ DefaultTagHelperExecute -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers_DesignTime.mappings.txt
new file mode 100644
index 0000000000..46733338f6
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers_DesignTime.mappings.txt
@@ -0,0 +1,15 @@
+Source Location: (14:0,14 [15] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers.cshtml)
+|*, TestAssembly|
+Generated Location: (779:14,38 [15] )
+|*, TestAssembly|
+
+Source Location: (187:5,36 [4] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers.cshtml)
+|true|
+Generated Location: (1727:31,42 [4] )
+|true|
+
+Source Location: (233:6,36 [4] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers.cshtml)
+|true|
+Generated Location: (2380:41,42 [4] )
+|true|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers_Runtime.codegen.cs
new file mode 100644
index 0000000000..9969972501
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers_Runtime.codegen.cs
@@ -0,0 +1,126 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "2ceb35a784a30ab44eb8b621c9e61d2361841c63"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_AttributeTargetingTagHelpers_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"2ceb35a784a30ab44eb8b621c9e61d2361841c63", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_AttributeTargetingTagHelpers_Runtime
+ {
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("catchAll", new global::Microsoft.AspNetCore.Html.HtmlString("hi"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_1 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("type", "checkbox", global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_2 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("class", new global::Microsoft.AspNetCore.Html.HtmlString("btn"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ #line hidden
+ #pragma warning disable 0169
+ private string __tagHelperStringValueBuffer;
+ #pragma warning restore 0169
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext __tagHelperExecutionContext;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner();
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __backed__tagHelperScopeManager = null;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __tagHelperScopeManager
+ {
+ get
+ {
+ if (__backed__tagHelperScopeManager == null)
+ {
+ __backed__tagHelperScopeManager = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager(StartTagHelperWritingScope, EndTagHelperWritingScope);
+ }
+ return __backed__tagHelperScopeManager;
+ }
+ }
+ private global::TestNamespace.PTagHelper __TestNamespace_PTagHelper;
+ private global::TestNamespace.CatchAllTagHelper __TestNamespace_CatchAllTagHelper;
+ private global::TestNamespace.InputTagHelper __TestNamespace_InputTagHelper;
+ private global::TestNamespace.InputTagHelper2 __TestNamespace_InputTagHelper2;
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("p", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("\r\n <p>");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("strong", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("Hello");
+ }
+ );
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_CatchAllTagHelper);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_0);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("<strong>World</strong></p>\r\n <input checked=\"true\" />\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper2);
+ __TestNamespace_InputTagHelper.Type = (string)__tagHelperAttribute_1.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_1);
+ __TestNamespace_InputTagHelper2.Type = (string)__tagHelperAttribute_1.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_1);
+#line 6 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers.cshtml"
+__TestNamespace_InputTagHelper2.Checked = true;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("checked", __TestNamespace_InputTagHelper2.Checked, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper2);
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_CatchAllTagHelper);
+ __TestNamespace_InputTagHelper.Type = (string)__tagHelperAttribute_1.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_1);
+ __TestNamespace_InputTagHelper2.Type = (string)__tagHelperAttribute_1.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_1);
+#line 7 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers.cshtml"
+__TestNamespace_InputTagHelper2.Checked = true;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("checked", __TestNamespace_InputTagHelper2.Checked, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_0);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n");
+ }
+ );
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_PTagHelper);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_2);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers_Runtime.ir.txt
new file mode 100644
index 0000000000..1fbf6fd6c7
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/AttributeTargetingTagHelpers_Runtime.ir.txt
@@ -0,0 +1,65 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_AttributeTargetingTagHelpers_Runtime - -
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_0 - catchAll - hi - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_1 - type - checkbox - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_2 - class - btn - HtmlAttributeValueStyle.DoubleQuotes
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.PTagHelper - __TestNamespace_PTagHelper
+ FieldDeclaration - - private - global::TestNamespace.CatchAllTagHelper - __TestNamespace_CatchAllTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper - __TestNamespace_InputTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper2 - __TestNamespace_InputTagHelper2
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (31:1,0 [2] AttributeTargetingTagHelpers.cshtml)
+ IntermediateToken - (31:1,0 [2] AttributeTargetingTagHelpers.cshtml) - Html - \n
+ TagHelper - (33:2,0 [228] AttributeTargetingTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (48:2,15 [9] AttributeTargetingTagHelpers.cshtml)
+ IntermediateToken - (48:2,15 [6] AttributeTargetingTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (54:3,4 [3] AttributeTargetingTagHelpers.cshtml) - Html - <p>
+ TagHelper - (57:3,7 [36] AttributeTargetingTagHelpers.cshtml) - strong - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (79:3,29 [5] AttributeTargetingTagHelpers.cshtml)
+ IntermediateToken - (79:3,29 [5] AttributeTargetingTagHelpers.cshtml) - Html - Hello
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_0
+ DefaultTagHelperExecute -
+ HtmlContent - (93:3,43 [62] AttributeTargetingTagHelpers.cshtml)
+ IntermediateToken - (93:3,43 [8] AttributeTargetingTagHelpers.cshtml) - Html - <strong>
+ IntermediateToken - (101:3,51 [5] AttributeTargetingTagHelpers.cshtml) - Html - World
+ IntermediateToken - (106:3,56 [9] AttributeTargetingTagHelpers.cshtml) - Html - </strong>
+ IntermediateToken - (115:3,65 [4] AttributeTargetingTagHelpers.cshtml) - Html - </p>
+ IntermediateToken - (119:3,69 [6] AttributeTargetingTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (125:4,4 [6] AttributeTargetingTagHelpers.cshtml) - Html - <input
+ IntermediateToken - (131:4,10 [15] AttributeTargetingTagHelpers.cshtml) - Html - checked="true"
+ IntermediateToken - (146:4,25 [3] AttributeTargetingTagHelpers.cshtml) - Html - />
+ IntermediateToken - (149:4,28 [6] AttributeTargetingTagHelpers.cshtml) - Html - \n
+ TagHelper - (155:5,4 [40] AttributeTargetingTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ PreallocatedTagHelperProperty - (168:5,17 [8] AttributeTargetingTagHelpers.cshtml) - __tagHelperAttribute_1 - type - Type
+ PreallocatedTagHelperProperty - (168:5,17 [8] AttributeTargetingTagHelpers.cshtml) - __tagHelperAttribute_1 - type - Type
+ DefaultTagHelperProperty - (187:5,36 [4] AttributeTargetingTagHelpers.cshtml) - checked - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (187:5,36 [4] AttributeTargetingTagHelpers.cshtml) - CSharp - true
+ DefaultTagHelperExecute -
+ HtmlContent - (195:5,44 [6] AttributeTargetingTagHelpers.cshtml)
+ IntermediateToken - (195:5,44 [6] AttributeTargetingTagHelpers.cshtml) - Html - \n
+ TagHelper - (201:6,4 [54] AttributeTargetingTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ PreallocatedTagHelperProperty - (214:6,17 [8] AttributeTargetingTagHelpers.cshtml) - __tagHelperAttribute_1 - type - Type
+ PreallocatedTagHelperProperty - (214:6,17 [8] AttributeTargetingTagHelpers.cshtml) - __tagHelperAttribute_1 - type - Type
+ DefaultTagHelperProperty - (233:6,36 [4] AttributeTargetingTagHelpers.cshtml) - checked - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (233:6,36 [4] AttributeTargetingTagHelpers.cshtml) - CSharp - true
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_0
+ DefaultTagHelperExecute -
+ HtmlContent - (255:6,58 [2] AttributeTargetingTagHelpers.cshtml)
+ IntermediateToken - (255:6,58 [2] AttributeTargetingTagHelpers.cshtml) - Html - \n
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_2
+ DefaultTagHelperExecute -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml
new file mode 100644
index 0000000000..69b68e07c5
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml
@@ -0,0 +1,26 @@
+@functions {
+ public async Task<string> Foo()
+ {
+ return "Bar";
+ }
+}
+
+<section>
+ <h1>Basic Asynchronous Expression Test</h1>
+ <p>Basic Asynchronous Expression: @await Foo()</p>
+ <p>Basic Asynchronous Template: @(await Foo())</p>
+ <p>Basic Asynchronous Statement: @{ await Foo(); }</p>
+ <p>Basic Asynchronous Statement Nested: @{ <b>@await Foo()</b> }</p>
+ <p>Basic Incomplete Asynchronous Statement: @await</p>
+</section>
+
+<section>
+ <h1>Advanced Asynchronous Expression Test</h1>
+ <p>Advanced Asynchronous Expression: @await Foo(1, 2)</p>
+ <p>Advanced Asynchronous Expression Extended: @await Foo.Bar(1, 2)</p>
+ <p>Advanced Asynchronous Template: @(await Foo("bob", true))</p>
+ <p>Advanced Asynchronous Statement: @{ await Foo(something, hello: "world"); }</p>
+ <p>Advanced Asynchronous Statement Extended: @{ await Foo.Bar(1, 2) }</p>
+ <p>Advanced Asynchronous Statement Nested: @{ <b>@await Foo(boolValue: false)</b> }</p>
+ <p>Advanced Incomplete Asynchronous Statement: @await ("wrrronggg")</p>
+</section> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await_DesignTime.codegen.cs
new file mode 100644
index 0000000000..6baa07bacf
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await_DesignTime.codegen.cs
@@ -0,0 +1,95 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Await_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml"
+ __o = await Foo();
+
+#line default
+#line hidden
+#line 11 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml"
+ __o = await Foo();
+
+#line default
+#line hidden
+#line 12 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml"
+ await Foo();
+
+#line default
+#line hidden
+
+#line 13 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml"
+ __o = await Foo();
+
+#line default
+#line hidden
+
+#line 14 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml"
+ __o = await;
+
+#line default
+#line hidden
+#line 19 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml"
+ __o = await Foo(1, 2);
+
+#line default
+#line hidden
+#line 20 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml"
+ __o = await Foo.Bar(1, 2);
+
+#line default
+#line hidden
+#line 21 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml"
+ __o = await Foo("bob", true);
+
+#line default
+#line hidden
+#line 22 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml"
+ await Foo(something, hello: "world");
+
+#line default
+#line hidden
+#line 23 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml"
+ await Foo.Bar(1, 2)
+
+#line default
+#line hidden
+
+#line 24 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml"
+ __o = await Foo(boolValue: false);
+
+#line default
+#line hidden
+
+#line 25 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml"
+ __o = await ("wrrronggg");
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml"
+
+ public async Task<string> Foo()
+ {
+ return "Bar";
+ }
+
+#line default
+#line hidden
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await_DesignTime.ir.txt
new file mode 100644
index 0000000000..b5335d5270
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await_DesignTime.ir.txt
@@ -0,0 +1,130 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Await_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (89:5,1 [102] Await.cshtml)
+ IntermediateToken - (89:5,1 [4] Await.cshtml) - Html - \n\n
+ IntermediateToken - (93:7,0 [9] Await.cshtml) - Html - <section>
+ IntermediateToken - (102:7,9 [6] Await.cshtml) - Html - \n
+ IntermediateToken - (108:8,4 [4] Await.cshtml) - Html - <h1>
+ IntermediateToken - (112:8,8 [34] Await.cshtml) - Html - Basic Asynchronous Expression Test
+ IntermediateToken - (146:8,42 [5] Await.cshtml) - Html - </h1>
+ IntermediateToken - (151:8,47 [6] Await.cshtml) - Html - \n
+ IntermediateToken - (157:9,4 [3] Await.cshtml) - Html - <p>
+ IntermediateToken - (160:9,7 [31] Await.cshtml) - Html - Basic Asynchronous Expression:
+ CSharpExpression - (192:9,39 [11] Await.cshtml)
+ IntermediateToken - (192:9,39 [11] Await.cshtml) - CSharp - await Foo()
+ HtmlContent - (203:9,50 [42] Await.cshtml)
+ IntermediateToken - (203:9,50 [4] Await.cshtml) - Html - </p>
+ IntermediateToken - (207:9,54 [6] Await.cshtml) - Html - \n
+ IntermediateToken - (213:10,4 [3] Await.cshtml) - Html - <p>
+ IntermediateToken - (216:10,7 [29] Await.cshtml) - Html - Basic Asynchronous Template:
+ CSharpExpression - (247:10,38 [11] Await.cshtml)
+ IntermediateToken - (247:10,38 [11] Await.cshtml) - CSharp - await Foo()
+ HtmlContent - (259:10,50 [43] Await.cshtml)
+ IntermediateToken - (259:10,50 [4] Await.cshtml) - Html - </p>
+ IntermediateToken - (263:10,54 [6] Await.cshtml) - Html - \n
+ IntermediateToken - (269:11,4 [3] Await.cshtml) - Html - <p>
+ IntermediateToken - (272:11,7 [30] Await.cshtml) - Html - Basic Asynchronous Statement:
+ CSharpCode - (304:11,39 [14] Await.cshtml)
+ IntermediateToken - (304:11,39 [14] Await.cshtml) - CSharp - await Foo();
+ HtmlContent - (319:11,54 [50] Await.cshtml)
+ IntermediateToken - (319:11,54 [4] Await.cshtml) - Html - </p>
+ IntermediateToken - (323:11,58 [6] Await.cshtml) - Html - \n
+ IntermediateToken - (329:12,4 [3] Await.cshtml) - Html - <p>
+ IntermediateToken - (332:12,7 [37] Await.cshtml) - Html - Basic Asynchronous Statement Nested:
+ CSharpCode - (371:12,46 [1] Await.cshtml)
+ IntermediateToken - (371:12,46 [1] Await.cshtml) - CSharp -
+ HtmlContent - (372:12,47 [3] Await.cshtml)
+ IntermediateToken - (372:12,47 [3] Await.cshtml) - Html - <b>
+ CSharpExpression - (376:12,51 [11] Await.cshtml)
+ IntermediateToken - (376:12,51 [11] Await.cshtml) - CSharp - await Foo()
+ HtmlContent - (387:12,62 [4] Await.cshtml)
+ IntermediateToken - (387:12,62 [4] Await.cshtml) - Html - </b>
+ CSharpCode - (391:12,66 [1] Await.cshtml)
+ IntermediateToken - (391:12,66 [1] Await.cshtml) - CSharp -
+ HtmlContent - (393:12,68 [54] Await.cshtml)
+ IntermediateToken - (393:12,68 [4] Await.cshtml) - Html - </p>
+ IntermediateToken - (397:12,72 [6] Await.cshtml) - Html - \n
+ IntermediateToken - (403:13,4 [3] Await.cshtml) - Html - <p>
+ IntermediateToken - (406:13,7 [41] Await.cshtml) - Html - Basic Incomplete Asynchronous Statement:
+ CSharpExpression - (448:13,49 [5] Await.cshtml)
+ IntermediateToken - (448:13,49 [5] Await.cshtml) - CSharp - await
+ HtmlContent - (453:13,54 [124] Await.cshtml)
+ IntermediateToken - (453:13,54 [4] Await.cshtml) - Html - </p>
+ IntermediateToken - (457:13,58 [2] Await.cshtml) - Html - \n
+ IntermediateToken - (459:14,0 [10] Await.cshtml) - Html - </section>
+ IntermediateToken - (469:14,10 [4] Await.cshtml) - Html - \n\n
+ IntermediateToken - (473:16,0 [9] Await.cshtml) - Html - <section>
+ IntermediateToken - (482:16,9 [6] Await.cshtml) - Html - \n
+ IntermediateToken - (488:17,4 [4] Await.cshtml) - Html - <h1>
+ IntermediateToken - (492:17,8 [37] Await.cshtml) - Html - Advanced Asynchronous Expression Test
+ IntermediateToken - (529:17,45 [5] Await.cshtml) - Html - </h1>
+ IntermediateToken - (534:17,50 [6] Await.cshtml) - Html - \n
+ IntermediateToken - (540:18,4 [3] Await.cshtml) - Html - <p>
+ IntermediateToken - (543:18,7 [34] Await.cshtml) - Html - Advanced Asynchronous Expression:
+ CSharpExpression - (578:18,42 [15] Await.cshtml)
+ IntermediateToken - (578:18,42 [15] Await.cshtml) - CSharp - await Foo(1, 2)
+ HtmlContent - (593:18,57 [56] Await.cshtml)
+ IntermediateToken - (593:18,57 [4] Await.cshtml) - Html - </p>
+ IntermediateToken - (597:18,61 [6] Await.cshtml) - Html - \n
+ IntermediateToken - (603:19,4 [3] Await.cshtml) - Html - <p>
+ IntermediateToken - (606:19,7 [43] Await.cshtml) - Html - Advanced Asynchronous Expression Extended:
+ CSharpExpression - (650:19,51 [19] Await.cshtml)
+ IntermediateToken - (650:19,51 [19] Await.cshtml) - CSharp - await Foo.Bar(1, 2)
+ HtmlContent - (669:19,70 [45] Await.cshtml)
+ IntermediateToken - (669:19,70 [4] Await.cshtml) - Html - </p>
+ IntermediateToken - (673:19,74 [6] Await.cshtml) - Html - \n
+ IntermediateToken - (679:20,4 [3] Await.cshtml) - Html - <p>
+ IntermediateToken - (682:20,7 [32] Await.cshtml) - Html - Advanced Asynchronous Template:
+ CSharpExpression - (716:20,41 [22] Await.cshtml)
+ IntermediateToken - (716:20,41 [22] Await.cshtml) - CSharp - await Foo("bob", true)
+ HtmlContent - (739:20,64 [46] Await.cshtml)
+ IntermediateToken - (739:20,64 [4] Await.cshtml) - Html - </p>
+ IntermediateToken - (743:20,68 [6] Await.cshtml) - Html - \n
+ IntermediateToken - (749:21,4 [3] Await.cshtml) - Html - <p>
+ IntermediateToken - (752:21,7 [33] Await.cshtml) - Html - Advanced Asynchronous Statement:
+ CSharpCode - (787:21,42 [39] Await.cshtml)
+ IntermediateToken - (787:21,42 [39] Await.cshtml) - CSharp - await Foo(something, hello: "world");
+ HtmlContent - (827:21,82 [55] Await.cshtml)
+ IntermediateToken - (827:21,82 [4] Await.cshtml) - Html - </p>
+ IntermediateToken - (831:21,86 [6] Await.cshtml) - Html - \n
+ IntermediateToken - (837:22,4 [3] Await.cshtml) - Html - <p>
+ IntermediateToken - (840:22,7 [42] Await.cshtml) - Html - Advanced Asynchronous Statement Extended:
+ CSharpCode - (884:22,51 [21] Await.cshtml)
+ IntermediateToken - (884:22,51 [21] Await.cshtml) - CSharp - await Foo.Bar(1, 2)
+ HtmlContent - (906:22,73 [53] Await.cshtml)
+ IntermediateToken - (906:22,73 [4] Await.cshtml) - Html - </p>
+ IntermediateToken - (910:22,77 [6] Await.cshtml) - Html - \n
+ IntermediateToken - (916:23,4 [3] Await.cshtml) - Html - <p>
+ IntermediateToken - (919:23,7 [40] Await.cshtml) - Html - Advanced Asynchronous Statement Nested:
+ CSharpCode - (961:23,49 [1] Await.cshtml)
+ IntermediateToken - (961:23,49 [1] Await.cshtml) - CSharp -
+ HtmlContent - (962:23,50 [3] Await.cshtml)
+ IntermediateToken - (962:23,50 [3] Await.cshtml) - Html - <b>
+ CSharpExpression - (966:23,54 [27] Await.cshtml)
+ IntermediateToken - (966:23,54 [27] Await.cshtml) - CSharp - await Foo(boolValue: false)
+ HtmlContent - (993:23,81 [4] Await.cshtml)
+ IntermediateToken - (993:23,81 [4] Await.cshtml) - Html - </b>
+ CSharpCode - (997:23,85 [1] Await.cshtml)
+ IntermediateToken - (997:23,85 [1] Await.cshtml) - CSharp -
+ HtmlContent - (999:23,87 [57] Await.cshtml)
+ IntermediateToken - (999:23,87 [4] Await.cshtml) - Html - </p>
+ IntermediateToken - (1003:23,91 [6] Await.cshtml) - Html - \n
+ IntermediateToken - (1009:24,4 [3] Await.cshtml) - Html - <p>
+ IntermediateToken - (1012:24,7 [44] Await.cshtml) - Html - Advanced Incomplete Asynchronous Statement:
+ CSharpExpression - (1057:24,52 [19] Await.cshtml)
+ IntermediateToken - (1057:24,52 [19] Await.cshtml) - CSharp - await ("wrrronggg")
+ HtmlContent - (1076:24,71 [16] Await.cshtml)
+ IntermediateToken - (1076:24,71 [4] Await.cshtml) - Html - </p>
+ IntermediateToken - (1080:24,75 [2] Await.cshtml) - Html - \n
+ IntermediateToken - (1082:25,0 [10] Await.cshtml) - Html - </section>
+ CSharpCode - (12:0,12 [76] Await.cshtml)
+ IntermediateToken - (12:0,12 [76] Await.cshtml) - CSharp - \n public async Task<string> Foo()\n {\n return "Bar";\n }\n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await_DesignTime.mappings.txt
new file mode 100644
index 0000000000..739f6092e2
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await_DesignTime.mappings.txt
@@ -0,0 +1,95 @@
+Source Location: (192:9,39 [11] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml)
+|await Foo()|
+Generated Location: (749:18,39 [11] )
+|await Foo()|
+
+Source Location: (247:10,38 [11] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml)
+|await Foo()|
+Generated Location: (914:23,38 [11] )
+|await Foo()|
+
+Source Location: (304:11,39 [14] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml)
+| await Foo(); |
+Generated Location: (1080:28,39 [14] )
+| await Foo(); |
+
+Source Location: (371:12,46 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml)
+| |
+Generated Location: (1185:32,58 [1] )
+| |
+
+Source Location: (376:12,51 [11] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml)
+|await Foo()|
+Generated Location: (1321:34,51 [11] )
+|await Foo()|
+
+Source Location: (391:12,66 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml)
+| |
+Generated Location: (1444:38,78 [1] )
+| |
+
+Source Location: (448:13,49 [5] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml)
+|await|
+Generated Location: (1578:40,49 [5] )
+|await|
+
+Source Location: (578:18,42 [15] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml)
+|await Foo(1, 2)|
+Generated Location: (1741:45,42 [15] )
+|await Foo(1, 2)|
+
+Source Location: (650:19,51 [19] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml)
+|await Foo.Bar(1, 2)|
+Generated Location: (1923:50,51 [19] )
+|await Foo.Bar(1, 2)|
+
+Source Location: (716:20,41 [22] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml)
+|await Foo("bob", true)|
+Generated Location: (2099:55,41 [22] )
+|await Foo("bob", true)|
+
+Source Location: (787:21,42 [39] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml)
+| await Foo(something, hello: "world"); |
+Generated Location: (2279:60,42 [39] )
+| await Foo(something, hello: "world"); |
+
+Source Location: (884:22,51 [21] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml)
+| await Foo.Bar(1, 2) |
+Generated Location: (2484:65,51 [21] )
+| await Foo.Bar(1, 2) |
+
+Source Location: (961:23,49 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml)
+| |
+Generated Location: (2599:69,61 [1] )
+| |
+
+Source Location: (966:23,54 [27] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml)
+|await Foo(boolValue: false)|
+Generated Location: (2738:71,54 [27] )
+|await Foo(boolValue: false)|
+
+Source Location: (997:23,85 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml)
+| |
+Generated Location: (2896:75,97 [1] )
+| |
+
+Source Location: (1057:24,52 [19] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml)
+|await ("wrrronggg")|
+Generated Location: (3033:77,52 [19] )
+|await ("wrrronggg")|
+
+Source Location: (12:0,12 [76] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml)
+|
+ public async Task<string> Foo()
+ {
+ return "Bar";
+ }
+|
+Generated Location: (3228:84,12 [76] )
+|
+ public async Task<string> Foo()
+ {
+ return "Bar";
+ }
+|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await_Runtime.codegen.cs
new file mode 100644
index 0000000000..e7c1ed3c55
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await_Runtime.codegen.cs
@@ -0,0 +1,104 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "5a02c3ec89081f6e0a8f4810e127eed40467c358"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Await_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"5a02c3ec89081f6e0a8f4810e127eed40467c358", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Await_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("\r\n<section>\r\n <h1>Basic Asynchronous Expression Test</h1>\r\n <p>Basic Asynchronous Expression: ");
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml"
+ Write(await Foo());
+
+#line default
+#line hidden
+ WriteLiteral("</p>\r\n <p>Basic Asynchronous Template: ");
+#line 11 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml"
+ Write(await Foo());
+
+#line default
+#line hidden
+ WriteLiteral("</p>\r\n <p>Basic Asynchronous Statement: ");
+#line 12 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml"
+ await Foo();
+
+#line default
+#line hidden
+ WriteLiteral("</p>\r\n <p>Basic Asynchronous Statement Nested: ");
+ WriteLiteral(" <b>");
+#line 13 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml"
+ Write(await Foo());
+
+#line default
+#line hidden
+ WriteLiteral("</b> ");
+ WriteLiteral("</p>\r\n <p>Basic Incomplete Asynchronous Statement: ");
+#line 14 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml"
+ Write(await);
+
+#line default
+#line hidden
+ WriteLiteral("</p>\r\n</section>\r\n\r\n<section>\r\n <h1>Advanced Asynchronous Expression Test</h1>\r\n <p>Advanced Asynchronous Expression: ");
+#line 19 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml"
+ Write(await Foo(1, 2));
+
+#line default
+#line hidden
+ WriteLiteral("</p>\r\n <p>Advanced Asynchronous Expression Extended: ");
+#line 20 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml"
+ Write(await Foo.Bar(1, 2));
+
+#line default
+#line hidden
+ WriteLiteral("</p>\r\n <p>Advanced Asynchronous Template: ");
+#line 21 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml"
+ Write(await Foo("bob", true));
+
+#line default
+#line hidden
+ WriteLiteral("</p>\r\n <p>Advanced Asynchronous Statement: ");
+#line 22 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml"
+ await Foo(something, hello: "world");
+
+#line default
+#line hidden
+ WriteLiteral("</p>\r\n <p>Advanced Asynchronous Statement Extended: ");
+#line 23 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml"
+ await Foo.Bar(1, 2)
+
+#line default
+#line hidden
+ WriteLiteral("</p>\r\n <p>Advanced Asynchronous Statement Nested: ");
+ WriteLiteral(" <b>");
+#line 24 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml"
+ Write(await Foo(boolValue: false));
+
+#line default
+#line hidden
+ WriteLiteral("</b> ");
+ WriteLiteral("</p>\r\n <p>Advanced Incomplete Asynchronous Statement: ");
+#line 25 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml"
+ Write(await ("wrrronggg"));
+
+#line default
+#line hidden
+ WriteLiteral("</p>\r\n</section>");
+ }
+ #pragma warning restore 1998
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await.cshtml"
+
+ public async Task<string> Foo()
+ {
+ return "Bar";
+ }
+
+#line default
+#line hidden
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await_Runtime.ir.txt
new file mode 100644
index 0000000000..1890add00a
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Await_Runtime.ir.txt
@@ -0,0 +1,125 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Await_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (91:6,0 [100] Await.cshtml)
+ IntermediateToken - (91:6,0 [2] Await.cshtml) - Html - \n
+ IntermediateToken - (93:7,0 [9] Await.cshtml) - Html - <section>
+ IntermediateToken - (102:7,9 [6] Await.cshtml) - Html - \n
+ IntermediateToken - (108:8,4 [4] Await.cshtml) - Html - <h1>
+ IntermediateToken - (112:8,8 [34] Await.cshtml) - Html - Basic Asynchronous Expression Test
+ IntermediateToken - (146:8,42 [5] Await.cshtml) - Html - </h1>
+ IntermediateToken - (151:8,47 [6] Await.cshtml) - Html - \n
+ IntermediateToken - (157:9,4 [3] Await.cshtml) - Html - <p>
+ IntermediateToken - (160:9,7 [31] Await.cshtml) - Html - Basic Asynchronous Expression:
+ CSharpExpression - (192:9,39 [11] Await.cshtml)
+ IntermediateToken - (192:9,39 [11] Await.cshtml) - CSharp - await Foo()
+ HtmlContent - (203:9,50 [42] Await.cshtml)
+ IntermediateToken - (203:9,50 [4] Await.cshtml) - Html - </p>
+ IntermediateToken - (207:9,54 [6] Await.cshtml) - Html - \n
+ IntermediateToken - (213:10,4 [3] Await.cshtml) - Html - <p>
+ IntermediateToken - (216:10,7 [29] Await.cshtml) - Html - Basic Asynchronous Template:
+ CSharpExpression - (247:10,38 [11] Await.cshtml)
+ IntermediateToken - (247:10,38 [11] Await.cshtml) - CSharp - await Foo()
+ HtmlContent - (259:10,50 [43] Await.cshtml)
+ IntermediateToken - (259:10,50 [4] Await.cshtml) - Html - </p>
+ IntermediateToken - (263:10,54 [6] Await.cshtml) - Html - \n
+ IntermediateToken - (269:11,4 [3] Await.cshtml) - Html - <p>
+ IntermediateToken - (272:11,7 [30] Await.cshtml) - Html - Basic Asynchronous Statement:
+ CSharpCode - (304:11,39 [14] Await.cshtml)
+ IntermediateToken - (304:11,39 [14] Await.cshtml) - CSharp - await Foo();
+ HtmlContent - (319:11,54 [50] Await.cshtml)
+ IntermediateToken - (319:11,54 [4] Await.cshtml) - Html - </p>
+ IntermediateToken - (323:11,58 [6] Await.cshtml) - Html - \n
+ IntermediateToken - (329:12,4 [3] Await.cshtml) - Html - <p>
+ IntermediateToken - (332:12,7 [37] Await.cshtml) - Html - Basic Asynchronous Statement Nested:
+ HtmlContent - (371:12,46 [4] Await.cshtml)
+ IntermediateToken - (371:12,46 [1] Await.cshtml) - Html -
+ IntermediateToken - (372:12,47 [3] Await.cshtml) - Html - <b>
+ CSharpExpression - (376:12,51 [11] Await.cshtml)
+ IntermediateToken - (376:12,51 [11] Await.cshtml) - CSharp - await Foo()
+ HtmlContent - (387:12,62 [5] Await.cshtml)
+ IntermediateToken - (387:12,62 [4] Await.cshtml) - Html - </b>
+ IntermediateToken - (391:12,66 [1] Await.cshtml) - Html -
+ CSharpCode - (392:12,67 [0] Await.cshtml)
+ IntermediateToken - (392:12,67 [0] Await.cshtml) - CSharp -
+ HtmlContent - (393:12,68 [54] Await.cshtml)
+ IntermediateToken - (393:12,68 [4] Await.cshtml) - Html - </p>
+ IntermediateToken - (397:12,72 [6] Await.cshtml) - Html - \n
+ IntermediateToken - (403:13,4 [3] Await.cshtml) - Html - <p>
+ IntermediateToken - (406:13,7 [41] Await.cshtml) - Html - Basic Incomplete Asynchronous Statement:
+ CSharpExpression - (448:13,49 [5] Await.cshtml)
+ IntermediateToken - (448:13,49 [5] Await.cshtml) - CSharp - await
+ HtmlContent - (453:13,54 [124] Await.cshtml)
+ IntermediateToken - (453:13,54 [4] Await.cshtml) - Html - </p>
+ IntermediateToken - (457:13,58 [2] Await.cshtml) - Html - \n
+ IntermediateToken - (459:14,0 [10] Await.cshtml) - Html - </section>
+ IntermediateToken - (469:14,10 [4] Await.cshtml) - Html - \n\n
+ IntermediateToken - (473:16,0 [9] Await.cshtml) - Html - <section>
+ IntermediateToken - (482:16,9 [6] Await.cshtml) - Html - \n
+ IntermediateToken - (488:17,4 [4] Await.cshtml) - Html - <h1>
+ IntermediateToken - (492:17,8 [37] Await.cshtml) - Html - Advanced Asynchronous Expression Test
+ IntermediateToken - (529:17,45 [5] Await.cshtml) - Html - </h1>
+ IntermediateToken - (534:17,50 [6] Await.cshtml) - Html - \n
+ IntermediateToken - (540:18,4 [3] Await.cshtml) - Html - <p>
+ IntermediateToken - (543:18,7 [34] Await.cshtml) - Html - Advanced Asynchronous Expression:
+ CSharpExpression - (578:18,42 [15] Await.cshtml)
+ IntermediateToken - (578:18,42 [15] Await.cshtml) - CSharp - await Foo(1, 2)
+ HtmlContent - (593:18,57 [56] Await.cshtml)
+ IntermediateToken - (593:18,57 [4] Await.cshtml) - Html - </p>
+ IntermediateToken - (597:18,61 [6] Await.cshtml) - Html - \n
+ IntermediateToken - (603:19,4 [3] Await.cshtml) - Html - <p>
+ IntermediateToken - (606:19,7 [43] Await.cshtml) - Html - Advanced Asynchronous Expression Extended:
+ CSharpExpression - (650:19,51 [19] Await.cshtml)
+ IntermediateToken - (650:19,51 [19] Await.cshtml) - CSharp - await Foo.Bar(1, 2)
+ HtmlContent - (669:19,70 [45] Await.cshtml)
+ IntermediateToken - (669:19,70 [4] Await.cshtml) - Html - </p>
+ IntermediateToken - (673:19,74 [6] Await.cshtml) - Html - \n
+ IntermediateToken - (679:20,4 [3] Await.cshtml) - Html - <p>
+ IntermediateToken - (682:20,7 [32] Await.cshtml) - Html - Advanced Asynchronous Template:
+ CSharpExpression - (716:20,41 [22] Await.cshtml)
+ IntermediateToken - (716:20,41 [22] Await.cshtml) - CSharp - await Foo("bob", true)
+ HtmlContent - (739:20,64 [46] Await.cshtml)
+ IntermediateToken - (739:20,64 [4] Await.cshtml) - Html - </p>
+ IntermediateToken - (743:20,68 [6] Await.cshtml) - Html - \n
+ IntermediateToken - (749:21,4 [3] Await.cshtml) - Html - <p>
+ IntermediateToken - (752:21,7 [33] Await.cshtml) - Html - Advanced Asynchronous Statement:
+ CSharpCode - (787:21,42 [39] Await.cshtml)
+ IntermediateToken - (787:21,42 [39] Await.cshtml) - CSharp - await Foo(something, hello: "world");
+ HtmlContent - (827:21,82 [55] Await.cshtml)
+ IntermediateToken - (827:21,82 [4] Await.cshtml) - Html - </p>
+ IntermediateToken - (831:21,86 [6] Await.cshtml) - Html - \n
+ IntermediateToken - (837:22,4 [3] Await.cshtml) - Html - <p>
+ IntermediateToken - (840:22,7 [42] Await.cshtml) - Html - Advanced Asynchronous Statement Extended:
+ CSharpCode - (884:22,51 [21] Await.cshtml)
+ IntermediateToken - (884:22,51 [21] Await.cshtml) - CSharp - await Foo.Bar(1, 2)
+ HtmlContent - (906:22,73 [53] Await.cshtml)
+ IntermediateToken - (906:22,73 [4] Await.cshtml) - Html - </p>
+ IntermediateToken - (910:22,77 [6] Await.cshtml) - Html - \n
+ IntermediateToken - (916:23,4 [3] Await.cshtml) - Html - <p>
+ IntermediateToken - (919:23,7 [40] Await.cshtml) - Html - Advanced Asynchronous Statement Nested:
+ HtmlContent - (961:23,49 [4] Await.cshtml)
+ IntermediateToken - (961:23,49 [1] Await.cshtml) - Html -
+ IntermediateToken - (962:23,50 [3] Await.cshtml) - Html - <b>
+ CSharpExpression - (966:23,54 [27] Await.cshtml)
+ IntermediateToken - (966:23,54 [27] Await.cshtml) - CSharp - await Foo(boolValue: false)
+ HtmlContent - (993:23,81 [5] Await.cshtml)
+ IntermediateToken - (993:23,81 [4] Await.cshtml) - Html - </b>
+ IntermediateToken - (997:23,85 [1] Await.cshtml) - Html -
+ CSharpCode - (998:23,86 [0] Await.cshtml)
+ IntermediateToken - (998:23,86 [0] Await.cshtml) - CSharp -
+ HtmlContent - (999:23,87 [57] Await.cshtml)
+ IntermediateToken - (999:23,87 [4] Await.cshtml) - Html - </p>
+ IntermediateToken - (1003:23,91 [6] Await.cshtml) - Html - \n
+ IntermediateToken - (1009:24,4 [3] Await.cshtml) - Html - <p>
+ IntermediateToken - (1012:24,7 [44] Await.cshtml) - Html - Advanced Incomplete Asynchronous Statement:
+ CSharpExpression - (1057:24,52 [19] Await.cshtml)
+ IntermediateToken - (1057:24,52 [19] Await.cshtml) - CSharp - await ("wrrronggg")
+ HtmlContent - (1076:24,71 [16] Await.cshtml)
+ IntermediateToken - (1076:24,71 [4] Await.cshtml) - Html - </p>
+ IntermediateToken - (1080:24,75 [2] Await.cshtml) - Html - \n
+ IntermediateToken - (1082:25,0 [10] Await.cshtml) - Html - </section>
+ CSharpCode - (12:0,12 [76] Await.cshtml)
+ IntermediateToken - (12:0,12 [76] Await.cshtml) - CSharp - \n public async Task<string> Foo()\n {\n return "Bar";\n }\n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports.cshtml
new file mode 100644
index 0000000000..bf4d925aea
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports.cshtml
@@ -0,0 +1 @@
+<p>Hi there!</p>
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_DesignTime.codegen.cs
new file mode 100644
index 0000000000..b6226ce38a
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_DesignTime.codegen.cs
@@ -0,0 +1,37 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_Imports0.cshtml"
+using System.Globalization;
+
+#line default
+#line hidden
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_Imports0.cshtml"
+using System.ComponentModel;
+
+#line default
+#line hidden
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_Imports1.cshtml"
+using System.Text;
+
+#line default
+#line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_BasicImports_DesignTime : Hello
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_DesignTime.ir.txt
new file mode 100644
index 0000000000..fab53bac03
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_DesignTime.ir.txt
@@ -0,0 +1,20 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ UsingDirective - (1:0,1 [26] BasicImports_Imports0.cshtml) - System.Globalization
+ UsingDirective - (30:1,1 [27] BasicImports_Imports0.cshtml) - System.ComponentModel
+ UsingDirective - (23:1,1 [18] BasicImports_Imports1.cshtml) - System.Text
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_BasicImports_DesignTime - Hello -
+ DesignTimeDirective -
+ DirectiveToken - (69:2,10 [5] BasicImports_Imports0.cshtml) - Hello
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (0:0,0 [18] BasicImports.cshtml)
+ IntermediateToken - (0:0,0 [3] BasicImports.cshtml) - Html - <p>
+ IntermediateToken - (3:0,3 [9] BasicImports.cshtml) - Html - Hi there!
+ IntermediateToken - (12:0,12 [4] BasicImports.cshtml) - Html - </p>
+ IntermediateToken - (16:0,16 [2] BasicImports.cshtml) - Html - \n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_DesignTime.mappings.txt
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_DesignTime.mappings.txt
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_Imports0.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_Imports0.cshtml
new file mode 100644
index 0000000000..b71f569138
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_Imports0.cshtml
@@ -0,0 +1,5 @@
+@using System.Globalization
+@using System.ComponentModel
+@inherits Hello
+@("And also this")
+<p>This will get ignored</p>
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_Imports1.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_Imports1.cshtml
new file mode 100644
index 0000000000..bac4a38695
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_Imports1.cshtml
@@ -0,0 +1,2 @@
+@section ignored { }
+@using System.Text;
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_Runtime.codegen.cs
new file mode 100644
index 0000000000..ed71849611
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_Runtime.codegen.cs
@@ -0,0 +1,36 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "d5e5d28c0c504a7b0c5207a5230a5b7327ce5e09"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_BasicImports_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_Imports0.cshtml"
+using System.Globalization;
+
+#line default
+#line hidden
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_Imports0.cshtml"
+using System.ComponentModel;
+
+#line default
+#line hidden
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_Imports1.cshtml"
+using System.Text;
+
+#line default
+#line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"d5e5d28c0c504a7b0c5207a5230a5b7327ce5e09", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports.cshtml")]
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"39c22940acc420eb6d46b6ff85ef6d5a2ab35fa1", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_Imports0.cshtml")]
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"ede697b6fb90aac312d589ae96a93289cdeb506f", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_Imports1.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_BasicImports_Runtime : Hello
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("<p>Hi there!</p>\r\n");
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_Runtime.ir.txt
new file mode 100644
index 0000000000..014ca50451
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicImports_Runtime.ir.txt
@@ -0,0 +1,16 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ UsingDirective - (1:0,1 [28] BasicImports_Imports0.cshtml) - System.Globalization
+ UsingDirective - (30:1,1 [29] BasicImports_Imports0.cshtml) - System.ComponentModel
+ UsingDirective - (23:1,1 [20] BasicImports_Imports1.cshtml) - System.Text
+ RazorSourceChecksumAttribute -
+ RazorSourceChecksumAttribute -
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_BasicImports_Runtime - Hello -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (0:0,0 [18] BasicImports.cshtml)
+ IntermediateToken - (0:0,0 [3] BasicImports.cshtml) - Html - <p>
+ IntermediateToken - (3:0,3 [9] BasicImports.cshtml) - Html - Hi there!
+ IntermediateToken - (12:0,12 [4] BasicImports.cshtml) - Html - </p>
+ IntermediateToken - (16:0,16 [2] BasicImports.cshtml) - Html - \n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers.cshtml
new file mode 100644
index 0000000000..b58b6b44ff
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers.cshtml
@@ -0,0 +1,9 @@
+@addTagHelper "*, TestAssembly"
+
+<div data-animation="fade" class="randomNonTagHelperAttribute">
+ <p class="Hello World" data-delay="1000">
+ <p data="-delay1000"></p>
+ <input data-interval="2000 + @ViewBag.DefaultInterval + 1" type="text">
+ <input type="checkbox" checked="true"/>
+ </p>
+</div> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_DesignTime.codegen.cs
new file mode 100644
index 0000000000..ee78430716
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_DesignTime.codegen.cs
@@ -0,0 +1,49 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_BasicTagHelpers_DesignTime
+ {
+ private global::TestNamespace.PTagHelper __TestNamespace_PTagHelper;
+ private global::TestNamespace.InputTagHelper __TestNamespace_InputTagHelper;
+ private global::TestNamespace.InputTagHelper2 __TestNamespace_InputTagHelper2;
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "*, TestAssembly";
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+#line 6 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers.cshtml"
+ __o = ViewBag.DefaultInterval;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper.Type = "text";
+ __TestNamespace_InputTagHelper2.Type = __TestNamespace_InputTagHelper.Type;
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __TestNamespace_InputTagHelper.Type = "checkbox";
+ __TestNamespace_InputTagHelper2.Type = __TestNamespace_InputTagHelper.Type;
+#line 7 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers.cshtml"
+__TestNamespace_InputTagHelper2.Checked = true;
+
+#line default
+#line hidden
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_DesignTime.ir.txt
new file mode 100644
index 0000000000..38d793eaeb
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_DesignTime.ir.txt
@@ -0,0 +1,84 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_BasicTagHelpers_DesignTime - -
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.PTagHelper - __TestNamespace_PTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper - __TestNamespace_InputTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper2 - __TestNamespace_InputTagHelper2
+ DesignTimeDirective -
+ DirectiveToken - (14:0,14 [17] BasicTagHelpers.cshtml) - "*, TestAssembly"
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (31:0,31 [73] BasicTagHelpers.cshtml)
+ IntermediateToken - (31:0,31 [4] BasicTagHelpers.cshtml) - Html - \n\n
+ IntermediateToken - (35:2,0 [4] BasicTagHelpers.cshtml) - Html - <div
+ IntermediateToken - (39:2,4 [17] BasicTagHelpers.cshtml) - Html - data-animation="
+ IntermediateToken - (56:2,21 [4] BasicTagHelpers.cshtml) - Html - fade
+ IntermediateToken - (60:2,25 [1] BasicTagHelpers.cshtml) - Html - "
+ IntermediateToken - (61:2,26 [36] BasicTagHelpers.cshtml) - Html - class="randomNonTagHelperAttribute"
+ IntermediateToken - (97:2,62 [1] BasicTagHelpers.cshtml) - Html - >
+ IntermediateToken - (98:2,63 [6] BasicTagHelpers.cshtml) - Html - \n
+ TagHelper - (104:3,4 [216] BasicTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (145:3,45 [10] BasicTagHelpers.cshtml)
+ IntermediateToken - (145:3,45 [10] BasicTagHelpers.cshtml) - Html - \n
+ TagHelper - (155:4,8 [25] BasicTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperHtmlAttribute - - data - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (164:4,17 [10] BasicTagHelpers.cshtml)
+ IntermediateToken - (164:4,17 [10] BasicTagHelpers.cshtml) - Html - -delay1000
+ DefaultTagHelperExecute -
+ HtmlContent - (180:4,33 [10] BasicTagHelpers.cshtml)
+ IntermediateToken - (180:4,33 [10] BasicTagHelpers.cshtml) - Html - \n
+ TagHelper - (190:5,8 [71] BasicTagHelpers.cshtml) - input - TagMode.StartTagOnly
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperHtmlAttribute - - data-interval - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (212:5,30 [7] BasicTagHelpers.cshtml)
+ IntermediateToken - (212:5,30 [7] BasicTagHelpers.cshtml) - Html - 2000 +
+ CSharpExpression - (220:5,38 [23] BasicTagHelpers.cshtml)
+ IntermediateToken - (220:5,38 [23] BasicTagHelpers.cshtml) - CSharp - ViewBag.DefaultInterval
+ HtmlContent - (243:5,61 [4] BasicTagHelpers.cshtml)
+ IntermediateToken - (243:5,61 [4] BasicTagHelpers.cshtml) - Html - + 1
+ DefaultTagHelperProperty - (255:5,73 [4] BasicTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper.Type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (255:5,73 [4] BasicTagHelpers.cshtml)
+ IntermediateToken - (255:5,73 [4] BasicTagHelpers.cshtml) - Html - text
+ DefaultTagHelperProperty - (255:5,73 [4] BasicTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper2.Type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (255:5,73 [4] BasicTagHelpers.cshtml)
+ IntermediateToken - (255:5,73 [4] BasicTagHelpers.cshtml) - Html - text
+ DefaultTagHelperExecute -
+ HtmlContent - (261:5,79 [10] BasicTagHelpers.cshtml)
+ IntermediateToken - (261:5,79 [10] BasicTagHelpers.cshtml) - Html - \n
+ TagHelper - (271:6,8 [39] BasicTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperProperty - (284:6,21 [8] BasicTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper.Type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (284:6,21 [8] BasicTagHelpers.cshtml)
+ IntermediateToken - (284:6,21 [8] BasicTagHelpers.cshtml) - Html - checkbox
+ DefaultTagHelperProperty - (284:6,21 [8] BasicTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper2.Type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (284:6,21 [8] BasicTagHelpers.cshtml)
+ IntermediateToken - (284:6,21 [8] BasicTagHelpers.cshtml) - Html - checkbox
+ DefaultTagHelperProperty - (303:6,40 [4] BasicTagHelpers.cshtml) - checked - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (303:6,40 [4] BasicTagHelpers.cshtml) - CSharp - true
+ DefaultTagHelperExecute -
+ HtmlContent - (310:6,47 [6] BasicTagHelpers.cshtml)
+ IntermediateToken - (310:6,47 [6] BasicTagHelpers.cshtml) - Html - \n
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperHtmlAttribute - - class - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (114:3,14 [11] BasicTagHelpers.cshtml)
+ IntermediateToken - (114:3,14 [11] BasicTagHelpers.cshtml) - Html - Hello World
+ DefaultTagHelperHtmlAttribute - - data-delay - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (139:3,39 [4] BasicTagHelpers.cshtml)
+ IntermediateToken - (139:3,39 [4] BasicTagHelpers.cshtml) - Html - 1000
+ DefaultTagHelperExecute -
+ HtmlContent - (320:7,8 [8] BasicTagHelpers.cshtml)
+ IntermediateToken - (320:7,8 [2] BasicTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (322:8,0 [6] BasicTagHelpers.cshtml) - Html - </div>
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_DesignTime.mappings.txt
new file mode 100644
index 0000000000..6eb05c5160
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_DesignTime.mappings.txt
@@ -0,0 +1,15 @@
+Source Location: (14:0,14 [17] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers.cshtml)
+|"*, TestAssembly"|
+Generated Location: (673:13,37 [17] )
+|"*, TestAssembly"|
+
+Source Location: (220:5,38 [23] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers.cshtml)
+|ViewBag.DefaultInterval|
+Generated Location: (1439:28,38 [23] )
+|ViewBag.DefaultInterval|
+
+Source Location: (303:6,40 [4] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers.cshtml)
+|true|
+Generated Location: (2137:39,42 [4] )
+|true|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Prefixed.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Prefixed.cshtml
new file mode 100644
index 0000000000..089363600c
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Prefixed.cshtml
@@ -0,0 +1,10 @@
+@tagHelperPrefix "THS"
+@addTagHelper "*, TestAssembly"
+
+<THSdiv class="randomNonTagHelperAttribute">
+ <THSp class="Hello World">
+ <p></p>
+ <input type="text">
+ <THSinput type="checkbox" checked="true">
+ </THSp>
+</THSdiv> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Prefixed_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Prefixed_DesignTime.codegen.cs
new file mode 100644
index 0000000000..6322f77a95
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Prefixed_DesignTime.codegen.cs
@@ -0,0 +1,43 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_BasicTagHelpers_Prefixed_DesignTime
+ {
+ private global::TestNamespace.PTagHelper __TestNamespace_PTagHelper;
+ private global::TestNamespace.InputTagHelper __TestNamespace_InputTagHelper;
+ private global::TestNamespace.InputTagHelper2 __TestNamespace_InputTagHelper2;
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "THS";
+ }
+ ))();
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "*, TestAssembly";
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __TestNamespace_InputTagHelper.Type = "checkbox";
+ __TestNamespace_InputTagHelper2.Type = __TestNamespace_InputTagHelper.Type;
+#line 8 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Prefixed.cshtml"
+ __TestNamespace_InputTagHelper2.Checked = true;
+
+#line default
+#line hidden
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Prefixed_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Prefixed_DesignTime.ir.txt
new file mode 100644
index 0000000000..650d25e202
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Prefixed_DesignTime.ir.txt
@@ -0,0 +1,59 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_BasicTagHelpers_Prefixed_DesignTime - -
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.PTagHelper - __TestNamespace_PTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper - __TestNamespace_InputTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper2 - __TestNamespace_InputTagHelper2
+ DesignTimeDirective -
+ DirectiveToken - (17:0,17 [5] BasicTagHelpers_Prefixed.cshtml) - "THS"
+ DirectiveToken - (38:1,14 [17] BasicTagHelpers_Prefixed.cshtml) - "*, TestAssembly"
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (22:0,22 [2] BasicTagHelpers_Prefixed.cshtml)
+ IntermediateToken - (22:0,22 [2] BasicTagHelpers_Prefixed.cshtml) - Html - \n
+ HtmlContent - (55:1,31 [54] BasicTagHelpers_Prefixed.cshtml)
+ IntermediateToken - (55:1,31 [4] BasicTagHelpers_Prefixed.cshtml) - Html - \n\n
+ IntermediateToken - (59:3,0 [7] BasicTagHelpers_Prefixed.cshtml) - Html - <THSdiv
+ IntermediateToken - (66:3,7 [36] BasicTagHelpers_Prefixed.cshtml) - Html - class="randomNonTagHelperAttribute"
+ IntermediateToken - (102:3,43 [1] BasicTagHelpers_Prefixed.cshtml) - Html - >
+ IntermediateToken - (103:3,44 [6] BasicTagHelpers_Prefixed.cshtml) - Html - \n
+ TagHelper - (109:4,4 [136] BasicTagHelpers_Prefixed.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (135:4,30 [56] BasicTagHelpers_Prefixed.cshtml)
+ IntermediateToken - (135:4,30 [10] BasicTagHelpers_Prefixed.cshtml) - Html - \n
+ IntermediateToken - (145:5,8 [3] BasicTagHelpers_Prefixed.cshtml) - Html - <p>
+ IntermediateToken - (148:5,11 [4] BasicTagHelpers_Prefixed.cshtml) - Html - </p>
+ IntermediateToken - (152:5,15 [10] BasicTagHelpers_Prefixed.cshtml) - Html - \n
+ IntermediateToken - (162:6,8 [6] BasicTagHelpers_Prefixed.cshtml) - Html - <input
+ IntermediateToken - (168:6,14 [12] BasicTagHelpers_Prefixed.cshtml) - Html - type="text"
+ IntermediateToken - (180:6,26 [1] BasicTagHelpers_Prefixed.cshtml) - Html - >
+ IntermediateToken - (181:6,27 [10] BasicTagHelpers_Prefixed.cshtml) - Html - \n
+ TagHelper - (191:7,8 [41] BasicTagHelpers_Prefixed.cshtml) - input - TagMode.StartTagOnly
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperProperty - (207:7,24 [8] BasicTagHelpers_Prefixed.cshtml) - type - string TestNamespace.InputTagHelper.Type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (207:7,24 [8] BasicTagHelpers_Prefixed.cshtml)
+ IntermediateToken - (207:7,24 [8] BasicTagHelpers_Prefixed.cshtml) - Html - checkbox
+ DefaultTagHelperProperty - (207:7,24 [8] BasicTagHelpers_Prefixed.cshtml) - type - string TestNamespace.InputTagHelper2.Type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (207:7,24 [8] BasicTagHelpers_Prefixed.cshtml)
+ IntermediateToken - (207:7,24 [8] BasicTagHelpers_Prefixed.cshtml) - Html - checkbox
+ DefaultTagHelperProperty - (226:7,43 [4] BasicTagHelpers_Prefixed.cshtml) - checked - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (226:7,43 [4] BasicTagHelpers_Prefixed.cshtml) - CSharp - true
+ DefaultTagHelperExecute -
+ HtmlContent - (232:7,49 [6] BasicTagHelpers_Prefixed.cshtml)
+ IntermediateToken - (232:7,49 [6] BasicTagHelpers_Prefixed.cshtml) - Html - \n
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperHtmlAttribute - - class - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (122:4,17 [11] BasicTagHelpers_Prefixed.cshtml)
+ IntermediateToken - (122:4,17 [11] BasicTagHelpers_Prefixed.cshtml) - Html - Hello World
+ DefaultTagHelperExecute -
+ HtmlContent - (245:8,11 [11] BasicTagHelpers_Prefixed.cshtml)
+ IntermediateToken - (245:8,11 [2] BasicTagHelpers_Prefixed.cshtml) - Html - \n
+ IntermediateToken - (247:9,0 [9] BasicTagHelpers_Prefixed.cshtml) - Html - </THSdiv>
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Prefixed_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Prefixed_DesignTime.mappings.txt
new file mode 100644
index 0000000000..7c5ad4ca43
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Prefixed_DesignTime.mappings.txt
@@ -0,0 +1,15 @@
+Source Location: (17:0,17 [5] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Prefixed.cshtml)
+|"THS"|
+Generated Location: (682:13,37 [5] )
+|"THS"|
+
+Source Location: (38:1,14 [17] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Prefixed.cshtml)
+|"*, TestAssembly"|
+Generated Location: (787:17,37 [17] )
+|"*, TestAssembly"|
+
+Source Location: (226:7,43 [4] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Prefixed.cshtml)
+|true|
+Generated Location: (1624:33,43 [4] )
+|true|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Prefixed_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Prefixed_Runtime.codegen.cs
new file mode 100644
index 0000000000..af5da65ec3
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Prefixed_Runtime.codegen.cs
@@ -0,0 +1,82 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Prefixed.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "b7372519d2a9b45537aba0e7d34309526d3014c3"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_BasicTagHelpers_Prefixed_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Prefixed.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"b7372519d2a9b45537aba0e7d34309526d3014c3", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Prefixed.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_BasicTagHelpers_Prefixed_Runtime
+ {
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("type", "checkbox", global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_1 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("class", new global::Microsoft.AspNetCore.Html.HtmlString("Hello World"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ #line hidden
+ #pragma warning disable 0169
+ private string __tagHelperStringValueBuffer;
+ #pragma warning restore 0169
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext __tagHelperExecutionContext;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner();
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __backed__tagHelperScopeManager = null;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __tagHelperScopeManager
+ {
+ get
+ {
+ if (__backed__tagHelperScopeManager == null)
+ {
+ __backed__tagHelperScopeManager = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager(StartTagHelperWritingScope, EndTagHelperWritingScope);
+ }
+ return __backed__tagHelperScopeManager;
+ }
+ }
+ private global::TestNamespace.PTagHelper __TestNamespace_PTagHelper;
+ private global::TestNamespace.InputTagHelper __TestNamespace_InputTagHelper;
+ private global::TestNamespace.InputTagHelper2 __TestNamespace_InputTagHelper2;
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("\r\n<THSdiv class=\"randomNonTagHelperAttribute\">\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("p", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("\r\n <p></p>\r\n <input type=\"text\">\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagOnly, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper2);
+ __TestNamespace_InputTagHelper.Type = (string)__tagHelperAttribute_0.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_0);
+ __TestNamespace_InputTagHelper2.Type = (string)__tagHelperAttribute_0.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_0);
+#line 8 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Prefixed.cshtml"
+__TestNamespace_InputTagHelper2.Checked = true;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("checked", __TestNamespace_InputTagHelper2.Checked, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+ }
+ );
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_PTagHelper);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_1);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n</THSdiv>");
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Prefixed_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Prefixed_Runtime.ir.txt
new file mode 100644
index 0000000000..f78f3256b9
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Prefixed_Runtime.ir.txt
@@ -0,0 +1,46 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_BasicTagHelpers_Prefixed_Runtime - -
+ PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_0 - type - checkbox - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_1 - class - Hello World - HtmlAttributeValueStyle.DoubleQuotes
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.PTagHelper - __TestNamespace_PTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper - __TestNamespace_InputTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper2 - __TestNamespace_InputTagHelper2
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (57:2,0 [52] BasicTagHelpers_Prefixed.cshtml)
+ IntermediateToken - (57:2,0 [2] BasicTagHelpers_Prefixed.cshtml) - Html - \n
+ IntermediateToken - (59:3,0 [7] BasicTagHelpers_Prefixed.cshtml) - Html - <THSdiv
+ IntermediateToken - (66:3,7 [36] BasicTagHelpers_Prefixed.cshtml) - Html - class="randomNonTagHelperAttribute"
+ IntermediateToken - (102:3,43 [1] BasicTagHelpers_Prefixed.cshtml) - Html - >
+ IntermediateToken - (103:3,44 [6] BasicTagHelpers_Prefixed.cshtml) - Html - \n
+ TagHelper - (109:4,4 [136] BasicTagHelpers_Prefixed.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (135:4,30 [56] BasicTagHelpers_Prefixed.cshtml)
+ IntermediateToken - (135:4,30 [10] BasicTagHelpers_Prefixed.cshtml) - Html - \n
+ IntermediateToken - (145:5,8 [3] BasicTagHelpers_Prefixed.cshtml) - Html - <p>
+ IntermediateToken - (148:5,11 [4] BasicTagHelpers_Prefixed.cshtml) - Html - </p>
+ IntermediateToken - (152:5,15 [10] BasicTagHelpers_Prefixed.cshtml) - Html - \n
+ IntermediateToken - (162:6,8 [6] BasicTagHelpers_Prefixed.cshtml) - Html - <input
+ IntermediateToken - (168:6,14 [12] BasicTagHelpers_Prefixed.cshtml) - Html - type="text"
+ IntermediateToken - (180:6,26 [1] BasicTagHelpers_Prefixed.cshtml) - Html - >
+ IntermediateToken - (181:6,27 [10] BasicTagHelpers_Prefixed.cshtml) - Html - \n
+ TagHelper - (191:7,8 [41] BasicTagHelpers_Prefixed.cshtml) - input - TagMode.StartTagOnly
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ PreallocatedTagHelperProperty - (207:7,24 [8] BasicTagHelpers_Prefixed.cshtml) - __tagHelperAttribute_0 - type - Type
+ PreallocatedTagHelperProperty - (207:7,24 [8] BasicTagHelpers_Prefixed.cshtml) - __tagHelperAttribute_0 - type - Type
+ DefaultTagHelperProperty - (226:7,43 [4] BasicTagHelpers_Prefixed.cshtml) - checked - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (226:7,43 [4] BasicTagHelpers_Prefixed.cshtml) - CSharp - true
+ DefaultTagHelperExecute -
+ HtmlContent - (232:7,49 [6] BasicTagHelpers_Prefixed.cshtml)
+ IntermediateToken - (232:7,49 [6] BasicTagHelpers_Prefixed.cshtml) - Html - \n
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_1
+ DefaultTagHelperExecute -
+ HtmlContent - (245:8,11 [11] BasicTagHelpers_Prefixed.cshtml)
+ IntermediateToken - (245:8,11 [2] BasicTagHelpers_Prefixed.cshtml) - Html - \n
+ IntermediateToken - (247:9,0 [9] BasicTagHelpers_Prefixed.cshtml) - Html - </THSdiv>
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_RemoveTagHelper.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_RemoveTagHelper.cshtml
new file mode 100644
index 0000000000..56ac77231a
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_RemoveTagHelper.cshtml
@@ -0,0 +1,10 @@
+@addTagHelper "*, TestAssembly"
+@removeTagHelper "doesntmatter, nice"
+
+<div class="randomNonTagHelperAttribute">
+ <p class="Hello World">
+ <p></p>
+ <input type="text" />
+ <input type="checkbox" checked="true"/>
+ </p>
+</div> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_RemoveTagHelper_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_RemoveTagHelper_Runtime.codegen.cs
new file mode 100644
index 0000000000..c60b56f3df
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_RemoveTagHelper_Runtime.codegen.cs
@@ -0,0 +1,115 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_RemoveTagHelper.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "2e30c5c6e01a148ccf4ed5dd4a81939641312a17"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_BasicTagHelpers_RemoveTagHelper_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_RemoveTagHelper.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"2e30c5c6e01a148ccf4ed5dd4a81939641312a17", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_RemoveTagHelper.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_BasicTagHelpers_RemoveTagHelper_Runtime
+ {
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("type", "text", global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_1 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("type", "checkbox", global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_2 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("class", new global::Microsoft.AspNetCore.Html.HtmlString("Hello World"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ #line hidden
+ #pragma warning disable 0169
+ private string __tagHelperStringValueBuffer;
+ #pragma warning restore 0169
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext __tagHelperExecutionContext;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner();
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __backed__tagHelperScopeManager = null;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __tagHelperScopeManager
+ {
+ get
+ {
+ if (__backed__tagHelperScopeManager == null)
+ {
+ __backed__tagHelperScopeManager = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager(StartTagHelperWritingScope, EndTagHelperWritingScope);
+ }
+ return __backed__tagHelperScopeManager;
+ }
+ }
+ private global::TestNamespace.PTagHelper __TestNamespace_PTagHelper;
+ private global::TestNamespace.InputTagHelper __TestNamespace_InputTagHelper;
+ private global::TestNamespace.InputTagHelper2 __TestNamespace_InputTagHelper2;
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("\r\n<div class=\"randomNonTagHelperAttribute\">\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("p", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("p", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ }
+ );
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_PTagHelper);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper2);
+ __TestNamespace_InputTagHelper.Type = (string)__tagHelperAttribute_0.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_0);
+ __TestNamespace_InputTagHelper2.Type = (string)__tagHelperAttribute_0.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_0);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper2);
+ __TestNamespace_InputTagHelper.Type = (string)__tagHelperAttribute_1.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_1);
+ __TestNamespace_InputTagHelper2.Type = (string)__tagHelperAttribute_1.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_1);
+#line 8 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_RemoveTagHelper.cshtml"
+__TestNamespace_InputTagHelper2.Checked = true;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("checked", __TestNamespace_InputTagHelper2.Checked, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+ }
+ );
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_PTagHelper);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_2);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n</div>");
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_RemoveTagHelper_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_RemoveTagHelper_Runtime.ir.txt
new file mode 100644
index 0000000000..ef78c52e75
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_RemoveTagHelper_Runtime.ir.txt
@@ -0,0 +1,55 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_BasicTagHelpers_RemoveTagHelper_Runtime - -
+ PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_0 - type - text - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_1 - type - checkbox - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_2 - class - Hello World - HtmlAttributeValueStyle.DoubleQuotes
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.PTagHelper - __TestNamespace_PTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper - __TestNamespace_InputTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper2 - __TestNamespace_InputTagHelper2
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (72:2,0 [49] BasicTagHelpers_RemoveTagHelper.cshtml)
+ IntermediateToken - (72:2,0 [2] BasicTagHelpers_RemoveTagHelper.cshtml) - Html - \n
+ IntermediateToken - (74:3,0 [4] BasicTagHelpers_RemoveTagHelper.cshtml) - Html - <div
+ IntermediateToken - (78:3,4 [36] BasicTagHelpers_RemoveTagHelper.cshtml) - Html - class="randomNonTagHelperAttribute"
+ IntermediateToken - (114:3,40 [1] BasicTagHelpers_RemoveTagHelper.cshtml) - Html - >
+ IntermediateToken - (115:3,41 [6] BasicTagHelpers_RemoveTagHelper.cshtml) - Html - \n
+ TagHelper - (121:4,4 [130] BasicTagHelpers_RemoveTagHelper.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (144:4,27 [10] BasicTagHelpers_RemoveTagHelper.cshtml)
+ IntermediateToken - (144:4,27 [10] BasicTagHelpers_RemoveTagHelper.cshtml) - Html - \n
+ TagHelper - (154:5,8 [7] BasicTagHelpers_RemoveTagHelper.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperExecute -
+ HtmlContent - (161:5,15 [10] BasicTagHelpers_RemoveTagHelper.cshtml)
+ IntermediateToken - (161:5,15 [10] BasicTagHelpers_RemoveTagHelper.cshtml) - Html - \n
+ TagHelper - (171:6,8 [21] BasicTagHelpers_RemoveTagHelper.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ PreallocatedTagHelperProperty - (184:6,21 [4] BasicTagHelpers_RemoveTagHelper.cshtml) - __tagHelperAttribute_0 - type - Type
+ PreallocatedTagHelperProperty - (184:6,21 [4] BasicTagHelpers_RemoveTagHelper.cshtml) - __tagHelperAttribute_0 - type - Type
+ DefaultTagHelperExecute -
+ HtmlContent - (192:6,29 [10] BasicTagHelpers_RemoveTagHelper.cshtml)
+ IntermediateToken - (192:6,29 [10] BasicTagHelpers_RemoveTagHelper.cshtml) - Html - \n
+ TagHelper - (202:7,8 [39] BasicTagHelpers_RemoveTagHelper.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ PreallocatedTagHelperProperty - (215:7,21 [8] BasicTagHelpers_RemoveTagHelper.cshtml) - __tagHelperAttribute_1 - type - Type
+ PreallocatedTagHelperProperty - (215:7,21 [8] BasicTagHelpers_RemoveTagHelper.cshtml) - __tagHelperAttribute_1 - type - Type
+ DefaultTagHelperProperty - (234:7,40 [4] BasicTagHelpers_RemoveTagHelper.cshtml) - checked - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (234:7,40 [4] BasicTagHelpers_RemoveTagHelper.cshtml) - CSharp - true
+ DefaultTagHelperExecute -
+ HtmlContent - (241:7,47 [6] BasicTagHelpers_RemoveTagHelper.cshtml)
+ IntermediateToken - (241:7,47 [6] BasicTagHelpers_RemoveTagHelper.cshtml) - Html - \n
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_2
+ DefaultTagHelperExecute -
+ HtmlContent - (251:8,8 [8] BasicTagHelpers_RemoveTagHelper.cshtml)
+ IntermediateToken - (251:8,8 [2] BasicTagHelpers_RemoveTagHelper.cshtml) - Html - \n
+ IntermediateToken - (253:9,0 [6] BasicTagHelpers_RemoveTagHelper.cshtml) - Html - </div>
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Runtime.codegen.cs
new file mode 100644
index 0000000000..ed7e3a7cbc
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Runtime.codegen.cs
@@ -0,0 +1,129 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "2775a5b97b6aa9fc7b162124fddb7400ec1e2472"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_BasicTagHelpers_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"2775a5b97b6aa9fc7b162124fddb7400ec1e2472", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_BasicTagHelpers_Runtime
+ {
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("data", new global::Microsoft.AspNetCore.Html.HtmlString("-delay1000"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_1 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("type", "text", global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_2 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("type", "checkbox", global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_3 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("class", new global::Microsoft.AspNetCore.Html.HtmlString("Hello World"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_4 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("data-delay", new global::Microsoft.AspNetCore.Html.HtmlString("1000"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ #line hidden
+ #pragma warning disable 0169
+ private string __tagHelperStringValueBuffer;
+ #pragma warning restore 0169
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext __tagHelperExecutionContext;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner();
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __backed__tagHelperScopeManager = null;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __tagHelperScopeManager
+ {
+ get
+ {
+ if (__backed__tagHelperScopeManager == null)
+ {
+ __backed__tagHelperScopeManager = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager(StartTagHelperWritingScope, EndTagHelperWritingScope);
+ }
+ return __backed__tagHelperScopeManager;
+ }
+ }
+ private global::TestNamespace.PTagHelper __TestNamespace_PTagHelper;
+ private global::TestNamespace.InputTagHelper __TestNamespace_InputTagHelper;
+ private global::TestNamespace.InputTagHelper2 __TestNamespace_InputTagHelper2;
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("\r\n<div data-animation=\"fade\" class=\"randomNonTagHelperAttribute\">\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("p", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("p", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ }
+ );
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_PTagHelper);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_0);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagOnly, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper2);
+ BeginWriteTagHelperAttribute();
+ WriteLiteral("2000 + ");
+#line 6 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers.cshtml"
+ Write(ViewBag.DefaultInterval);
+
+#line default
+#line hidden
+ WriteLiteral(" + 1");
+ __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
+ __tagHelperExecutionContext.AddHtmlAttribute("data-interval", Html.Raw(__tagHelperStringValueBuffer), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ __TestNamespace_InputTagHelper.Type = (string)__tagHelperAttribute_1.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_1);
+ __TestNamespace_InputTagHelper2.Type = (string)__tagHelperAttribute_1.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_1);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper2);
+ __TestNamespace_InputTagHelper.Type = (string)__tagHelperAttribute_2.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_2);
+ __TestNamespace_InputTagHelper2.Type = (string)__tagHelperAttribute_2.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_2);
+#line 7 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers.cshtml"
+__TestNamespace_InputTagHelper2.Checked = true;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("checked", __TestNamespace_InputTagHelper2.Checked, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+ }
+ );
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_PTagHelper);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_3);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_4);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n</div>");
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Runtime.ir.txt
new file mode 100644
index 0000000000..ce7caef785
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/BasicTagHelpers_Runtime.ir.txt
@@ -0,0 +1,69 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_BasicTagHelpers_Runtime - -
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_0 - data - -delay1000 - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_1 - type - text - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_2 - type - checkbox - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_3 - class - Hello World - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_4 - data-delay - 1000 - HtmlAttributeValueStyle.DoubleQuotes
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.PTagHelper - __TestNamespace_PTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper - __TestNamespace_InputTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper2 - __TestNamespace_InputTagHelper2
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (33:1,0 [71] BasicTagHelpers.cshtml)
+ IntermediateToken - (33:1,0 [2] BasicTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (35:2,0 [4] BasicTagHelpers.cshtml) - Html - <div
+ IntermediateToken - (39:2,4 [17] BasicTagHelpers.cshtml) - Html - data-animation="
+ IntermediateToken - (56:2,21 [4] BasicTagHelpers.cshtml) - Html - fade
+ IntermediateToken - (60:2,25 [1] BasicTagHelpers.cshtml) - Html - "
+ IntermediateToken - (61:2,26 [36] BasicTagHelpers.cshtml) - Html - class="randomNonTagHelperAttribute"
+ IntermediateToken - (97:2,62 [1] BasicTagHelpers.cshtml) - Html - >
+ IntermediateToken - (98:2,63 [6] BasicTagHelpers.cshtml) - Html - \n
+ TagHelper - (104:3,4 [216] BasicTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (145:3,45 [10] BasicTagHelpers.cshtml)
+ IntermediateToken - (145:3,45 [10] BasicTagHelpers.cshtml) - Html - \n
+ TagHelper - (155:4,8 [25] BasicTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_0
+ DefaultTagHelperExecute -
+ HtmlContent - (180:4,33 [10] BasicTagHelpers.cshtml)
+ IntermediateToken - (180:4,33 [10] BasicTagHelpers.cshtml) - Html - \n
+ TagHelper - (190:5,8 [71] BasicTagHelpers.cshtml) - input - TagMode.StartTagOnly
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperHtmlAttribute - - data-interval - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (212:5,30 [7] BasicTagHelpers.cshtml)
+ IntermediateToken - (212:5,30 [7] BasicTagHelpers.cshtml) - Html - 2000 +
+ CSharpExpression - (220:5,38 [23] BasicTagHelpers.cshtml)
+ IntermediateToken - (220:5,38 [23] BasicTagHelpers.cshtml) - CSharp - ViewBag.DefaultInterval
+ HtmlContent - (243:5,61 [4] BasicTagHelpers.cshtml)
+ IntermediateToken - (243:5,61 [4] BasicTagHelpers.cshtml) - Html - + 1
+ PreallocatedTagHelperProperty - (255:5,73 [4] BasicTagHelpers.cshtml) - __tagHelperAttribute_1 - type - Type
+ PreallocatedTagHelperProperty - (255:5,73 [4] BasicTagHelpers.cshtml) - __tagHelperAttribute_1 - type - Type
+ DefaultTagHelperExecute -
+ HtmlContent - (261:5,79 [10] BasicTagHelpers.cshtml)
+ IntermediateToken - (261:5,79 [10] BasicTagHelpers.cshtml) - Html - \n
+ TagHelper - (271:6,8 [39] BasicTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ PreallocatedTagHelperProperty - (284:6,21 [8] BasicTagHelpers.cshtml) - __tagHelperAttribute_2 - type - Type
+ PreallocatedTagHelperProperty - (284:6,21 [8] BasicTagHelpers.cshtml) - __tagHelperAttribute_2 - type - Type
+ DefaultTagHelperProperty - (303:6,40 [4] BasicTagHelpers.cshtml) - checked - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (303:6,40 [4] BasicTagHelpers.cshtml) - CSharp - true
+ DefaultTagHelperExecute -
+ HtmlContent - (310:6,47 [6] BasicTagHelpers.cshtml)
+ IntermediateToken - (310:6,47 [6] BasicTagHelpers.cshtml) - Html - \n
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_3
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_4
+ DefaultTagHelperExecute -
+ HtmlContent - (320:7,8 [8] BasicTagHelpers.cshtml)
+ IntermediateToken - (320:7,8 [2] BasicTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (322:8,0 [6] BasicTagHelpers.cshtml) - Html - </div>
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml
new file mode 100644
index 0000000000..8d27de89cc
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml
@@ -0,0 +1,37 @@
+@{
+ int i = 1;
+}
+
+@while(i <= 10) {
+ <p>Hello from C#, #@(i)</p>
+ i += 1;
+}
+
+@if(i == 11) {
+ <p>We wrote 10 lines!</p>
+}
+
+@switch(i) {
+ case 11:
+ <p>No really, we wrote 10 lines!</p>
+ break;
+ default:
+ <p>Actually, we didn't...</p>
+ break;
+}
+
+@for(int j = 1; j <= 10; j += 2) {
+ <p>Hello again from C#, #@(j)</p>
+}
+
+@try {
+ <p>That time, we wrote 5 lines!</p>
+} catch(Exception ex) {
+ <p>Oh no! An error occurred: @(ex.Message)</p>
+}
+
+<p>i is now @i</p>
+
+@lock(new object()) {
+ <p>This block is locked, for your security!</p>
+} \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks_DesignTime.codegen.cs
new file mode 100644
index 0000000000..94c35ebdef
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks_DesignTime.codegen.cs
@@ -0,0 +1,138 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Blocks_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+
+ int i = 1;
+
+#line default
+#line hidden
+#line 5 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+ while(i <= 10) {
+
+
+#line default
+#line hidden
+#line 6 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+ __o = i;
+
+#line default
+#line hidden
+#line 6 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+
+ i += 1;
+}
+
+#line default
+#line hidden
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+ if(i == 11) {
+
+
+#line default
+#line hidden
+#line 11 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+
+}
+
+#line default
+#line hidden
+#line 14 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+ switch(i) {
+ case 11:
+
+
+#line default
+#line hidden
+#line 16 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+
+ break;
+ default:
+
+
+#line default
+#line hidden
+#line 19 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+
+ break;
+}
+
+#line default
+#line hidden
+#line 23 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+ for(int j = 1; j <= 10; j += 2) {
+
+
+#line default
+#line hidden
+#line 24 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+ __o = j;
+
+#line default
+#line hidden
+#line 24 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+
+}
+
+#line default
+#line hidden
+#line 27 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+ try {
+
+
+#line default
+#line hidden
+#line 28 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+
+} catch(Exception ex) {
+
+
+#line default
+#line hidden
+#line 30 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+ __o = ex.Message;
+
+#line default
+#line hidden
+#line 30 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+
+}
+
+#line default
+#line hidden
+#line 33 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+ __o = i;
+
+#line default
+#line hidden
+#line 35 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+ lock(new object()) {
+
+
+#line default
+#line hidden
+#line 36 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+
+}
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks_DesignTime.ir.txt
new file mode 100644
index 0000000000..a6919538e6
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks_DesignTime.ir.txt
@@ -0,0 +1,101 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Blocks_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (2:0,2 [18] Blocks.cshtml)
+ IntermediateToken - (2:0,2 [18] Blocks.cshtml) - CSharp - \n int i = 1;\n
+ HtmlContent - (23:3,0 [2] Blocks.cshtml)
+ IntermediateToken - (23:3,0 [2] Blocks.cshtml) - Html - \n
+ CSharpCode - (26:4,1 [22] Blocks.cshtml)
+ IntermediateToken - (26:4,1 [22] Blocks.cshtml) - CSharp - while(i <= 10) {\n
+ HtmlContent - (48:5,4 [19] Blocks.cshtml)
+ IntermediateToken - (48:5,4 [3] Blocks.cshtml) - Html - <p>
+ IntermediateToken - (51:5,7 [16] Blocks.cshtml) - Html - Hello from C#, #
+ CSharpExpression - (69:5,25 [1] Blocks.cshtml)
+ IntermediateToken - (69:5,25 [1] Blocks.cshtml) - CSharp - i
+ HtmlContent - (71:5,27 [4] Blocks.cshtml)
+ IntermediateToken - (71:5,27 [4] Blocks.cshtml) - Html - </p>
+ CSharpCode - (75:5,31 [16] Blocks.cshtml)
+ IntermediateToken - (75:5,31 [16] Blocks.cshtml) - CSharp - \n i += 1;\n}
+ HtmlContent - (91:7,1 [4] Blocks.cshtml)
+ IntermediateToken - (91:7,1 [4] Blocks.cshtml) - Html - \n\n
+ CSharpCode - (96:9,1 [19] Blocks.cshtml)
+ IntermediateToken - (96:9,1 [19] Blocks.cshtml) - CSharp - if(i == 11) {\n
+ HtmlContent - (115:10,4 [25] Blocks.cshtml)
+ IntermediateToken - (115:10,4 [3] Blocks.cshtml) - Html - <p>
+ IntermediateToken - (118:10,7 [18] Blocks.cshtml) - Html - We wrote 10 lines!
+ IntermediateToken - (136:10,25 [4] Blocks.cshtml) - Html - </p>
+ CSharpCode - (140:10,29 [3] Blocks.cshtml)
+ IntermediateToken - (140:10,29 [3] Blocks.cshtml) - CSharp - \n}
+ HtmlContent - (143:11,1 [4] Blocks.cshtml)
+ IntermediateToken - (143:11,1 [4] Blocks.cshtml) - Html - \n\n
+ CSharpCode - (148:13,1 [35] Blocks.cshtml)
+ IntermediateToken - (148:13,1 [35] Blocks.cshtml) - CSharp - switch(i) {\n case 11:\n
+ HtmlContent - (183:15,8 [36] Blocks.cshtml)
+ IntermediateToken - (183:15,8 [3] Blocks.cshtml) - Html - <p>
+ IntermediateToken - (186:15,11 [29] Blocks.cshtml) - Html - No really, we wrote 10 lines!
+ IntermediateToken - (215:15,40 [4] Blocks.cshtml) - Html - </p>
+ CSharpCode - (219:15,44 [40] Blocks.cshtml)
+ IntermediateToken - (219:15,44 [40] Blocks.cshtml) - CSharp - \n break;\n default:\n
+ HtmlContent - (259:18,8 [29] Blocks.cshtml)
+ IntermediateToken - (259:18,8 [3] Blocks.cshtml) - Html - <p>
+ IntermediateToken - (262:18,11 [22] Blocks.cshtml) - Html - Actually, we didn't...
+ IntermediateToken - (284:18,33 [4] Blocks.cshtml) - Html - </p>
+ CSharpCode - (288:18,37 [19] Blocks.cshtml)
+ IntermediateToken - (288:18,37 [19] Blocks.cshtml) - CSharp - \n break;\n}
+ HtmlContent - (307:20,1 [4] Blocks.cshtml)
+ IntermediateToken - (307:20,1 [4] Blocks.cshtml) - Html - \n\n
+ CSharpCode - (312:22,1 [39] Blocks.cshtml)
+ IntermediateToken - (312:22,1 [39] Blocks.cshtml) - CSharp - for(int j = 1; j <= 10; j += 2) {\n
+ HtmlContent - (351:23,4 [25] Blocks.cshtml)
+ IntermediateToken - (351:23,4 [3] Blocks.cshtml) - Html - <p>
+ IntermediateToken - (354:23,7 [22] Blocks.cshtml) - Html - Hello again from C#, #
+ CSharpExpression - (378:23,31 [1] Blocks.cshtml)
+ IntermediateToken - (378:23,31 [1] Blocks.cshtml) - CSharp - j
+ HtmlContent - (380:23,33 [4] Blocks.cshtml)
+ IntermediateToken - (380:23,33 [4] Blocks.cshtml) - Html - </p>
+ CSharpCode - (384:23,37 [3] Blocks.cshtml)
+ IntermediateToken - (384:23,37 [3] Blocks.cshtml) - CSharp - \n}
+ HtmlContent - (387:24,1 [4] Blocks.cshtml)
+ IntermediateToken - (387:24,1 [4] Blocks.cshtml) - Html - \n\n
+ CSharpCode - (392:26,1 [11] Blocks.cshtml)
+ IntermediateToken - (392:26,1 [11] Blocks.cshtml) - CSharp - try {\n
+ HtmlContent - (403:27,4 [35] Blocks.cshtml)
+ IntermediateToken - (403:27,4 [3] Blocks.cshtml) - Html - <p>
+ IntermediateToken - (406:27,7 [28] Blocks.cshtml) - Html - That time, we wrote 5 lines!
+ IntermediateToken - (434:27,35 [4] Blocks.cshtml) - Html - </p>
+ CSharpCode - (438:27,39 [31] Blocks.cshtml)
+ IntermediateToken - (438:27,39 [31] Blocks.cshtml) - CSharp - \n} catch(Exception ex) {\n
+ HtmlContent - (469:29,4 [29] Blocks.cshtml)
+ IntermediateToken - (469:29,4 [3] Blocks.cshtml) - Html - <p>
+ IntermediateToken - (472:29,7 [26] Blocks.cshtml) - Html - Oh no! An error occurred:
+ CSharpExpression - (500:29,35 [10] Blocks.cshtml)
+ IntermediateToken - (500:29,35 [10] Blocks.cshtml) - CSharp - ex.Message
+ HtmlContent - (511:29,46 [4] Blocks.cshtml)
+ IntermediateToken - (511:29,46 [4] Blocks.cshtml) - Html - </p>
+ CSharpCode - (515:29,50 [3] Blocks.cshtml)
+ IntermediateToken - (515:29,50 [3] Blocks.cshtml) - CSharp - \n}
+ HtmlContent - (518:30,1 [16] Blocks.cshtml)
+ IntermediateToken - (518:30,1 [4] Blocks.cshtml) - Html - \n\n
+ IntermediateToken - (522:32,0 [3] Blocks.cshtml) - Html - <p>
+ IntermediateToken - (525:32,3 [9] Blocks.cshtml) - Html - i is now
+ CSharpExpression - (535:32,13 [1] Blocks.cshtml)
+ IntermediateToken - (535:32,13 [1] Blocks.cshtml) - CSharp - i
+ HtmlContent - (536:32,14 [8] Blocks.cshtml)
+ IntermediateToken - (536:32,14 [4] Blocks.cshtml) - Html - </p>
+ IntermediateToken - (540:32,18 [4] Blocks.cshtml) - Html - \n\n
+ CSharpCode - (545:34,1 [26] Blocks.cshtml)
+ IntermediateToken - (545:34,1 [26] Blocks.cshtml) - CSharp - lock(new object()) {\n
+ HtmlContent - (571:35,4 [47] Blocks.cshtml)
+ IntermediateToken - (571:35,4 [3] Blocks.cshtml) - Html - <p>
+ IntermediateToken - (574:35,7 [40] Blocks.cshtml) - Html - This block is locked, for your security!
+ IntermediateToken - (614:35,47 [4] Blocks.cshtml) - Html - </p>
+ CSharpCode - (618:35,51 [3] Blocks.cshtml)
+ IntermediateToken - (618:35,51 [3] Blocks.cshtml) - CSharp - \n}
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks_DesignTime.mappings.txt
new file mode 100644
index 0000000000..abaf089f36
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks_DesignTime.mappings.txt
@@ -0,0 +1,139 @@
+Source Location: (2:0,2 [18] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml)
+|
+ int i = 1;
+|
+Generated Location: (713:18,2 [18] )
+|
+ int i = 1;
+|
+
+Source Location: (26:4,1 [22] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml)
+|while(i <= 10) {
+ |
+Generated Location: (845:24,1 [22] )
+|while(i <= 10) {
+ |
+
+Source Location: (69:5,25 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml)
+|i|
+Generated Location: (1007:30,25 [1] )
+|i|
+
+Source Location: (75:5,31 [16] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml)
+|
+ i += 1;
+}|
+Generated Location: (1155:35,31 [16] )
+|
+ i += 1;
+}|
+
+Source Location: (96:9,1 [19] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml)
+|if(i == 11) {
+ |
+Generated Location: (1288:42,1 [19] )
+|if(i == 11) {
+ |
+
+Source Location: (140:10,29 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml)
+|
+}|
+Generated Location: (1452:48,29 [3] )
+|
+}|
+
+Source Location: (148:13,1 [35] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml)
+|switch(i) {
+ case 11:
+ |
+Generated Location: (1572:54,1 [35] )
+|switch(i) {
+ case 11:
+ |
+
+Source Location: (219:15,44 [40] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml)
+|
+ break;
+ default:
+ |
+Generated Location: (1767:61,44 [40] )
+|
+ break;
+ default:
+ |
+
+Source Location: (288:18,37 [19] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml)
+|
+ break;
+}|
+Generated Location: (1960:69,37 [19] )
+|
+ break;
+}|
+
+Source Location: (312:22,1 [39] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml)
+|for(int j = 1; j <= 10; j += 2) {
+ |
+Generated Location: (2096:76,1 [39] )
+|for(int j = 1; j <= 10; j += 2) {
+ |
+
+Source Location: (378:23,31 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml)
+|j|
+Generated Location: (2282:82,31 [1] )
+|j|
+
+Source Location: (384:23,37 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml)
+|
+}|
+Generated Location: (2437:87,37 [3] )
+|
+}|
+
+Source Location: (392:26,1 [11] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml)
+|try {
+ |
+Generated Location: (2557:93,1 [11] )
+|try {
+ |
+
+Source Location: (438:27,39 [31] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml)
+|
+} catch(Exception ex) {
+ |
+Generated Location: (2723:99,39 [31] )
+|
+} catch(Exception ex) {
+ |
+
+Source Location: (500:29,35 [10] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml)
+|ex.Message|
+Generated Location: (2905:106,35 [10] )
+|ex.Message|
+
+Source Location: (515:29,50 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml)
+|
+}|
+Generated Location: (3082:111,50 [3] )
+|
+}|
+
+Source Location: (535:32,13 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml)
+|i|
+Generated Location: (3214:117,13 [1] )
+|i|
+
+Source Location: (545:34,1 [26] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml)
+|lock(new object()) {
+ |
+Generated Location: (3333:122,1 [26] )
+|lock(new object()) {
+ |
+
+Source Location: (618:35,51 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml)
+|
+}|
+Generated Location: (3526:128,51 [3] )
+|
+}|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks_Runtime.codegen.cs
new file mode 100644
index 0000000000..b139b936e7
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks_Runtime.codegen.cs
@@ -0,0 +1,136 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "ed55fda2b7b0b96b044fc45da658dc062479924f"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Blocks_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"ed55fda2b7b0b96b044fc45da658dc062479924f", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Blocks_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+
+ int i = 1;
+
+#line default
+#line hidden
+ WriteLiteral("\r\n");
+#line 5 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+ while(i <= 10) {
+
+#line default
+#line hidden
+ WriteLiteral(" <p>Hello from C#, #");
+#line 6 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+ Write(i);
+
+#line default
+#line hidden
+ WriteLiteral("</p>\r\n");
+#line 7 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+ i += 1;
+}
+
+#line default
+#line hidden
+ WriteLiteral("\r\n");
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+ if(i == 11) {
+
+#line default
+#line hidden
+ WriteLiteral(" <p>We wrote 10 lines!</p>\r\n");
+#line 12 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+}
+
+#line default
+#line hidden
+ WriteLiteral("\r\n");
+#line 14 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+ switch(i) {
+ case 11:
+
+#line default
+#line hidden
+ WriteLiteral(" <p>No really, we wrote 10 lines!</p>\r\n");
+#line 17 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+ break;
+ default:
+
+#line default
+#line hidden
+ WriteLiteral(" <p>Actually, we didn\'t...</p>\r\n");
+#line 20 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+ break;
+}
+
+#line default
+#line hidden
+ WriteLiteral("\r\n");
+#line 23 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+ for(int j = 1; j <= 10; j += 2) {
+
+#line default
+#line hidden
+ WriteLiteral(" <p>Hello again from C#, #");
+#line 24 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+ Write(j);
+
+#line default
+#line hidden
+ WriteLiteral("</p>\r\n");
+#line 25 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+}
+
+#line default
+#line hidden
+ WriteLiteral("\r\n");
+#line 27 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+ try {
+
+#line default
+#line hidden
+ WriteLiteral(" <p>That time, we wrote 5 lines!</p>\r\n");
+#line 29 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+} catch(Exception ex) {
+
+#line default
+#line hidden
+ WriteLiteral(" <p>Oh no! An error occurred: ");
+#line 30 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+ Write(ex.Message);
+
+#line default
+#line hidden
+ WriteLiteral("</p>\r\n");
+#line 31 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+}
+
+#line default
+#line hidden
+ WriteLiteral("\r\n<p>i is now ");
+#line 33 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+ Write(i);
+
+#line default
+#line hidden
+ WriteLiteral("</p>\r\n\r\n");
+#line 35 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+ lock(new object()) {
+
+#line default
+#line hidden
+ WriteLiteral(" <p>This block is locked, for your security!</p>\r\n");
+#line 37 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks.cshtml"
+}
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks_Runtime.ir.txt
new file mode 100644
index 0000000000..9fa7984a1d
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Blocks_Runtime.ir.txt
@@ -0,0 +1,112 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Blocks_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (2:0,2 [18] Blocks.cshtml)
+ IntermediateToken - (2:0,2 [18] Blocks.cshtml) - CSharp - \n int i = 1;\n
+ HtmlContent - (23:3,0 [2] Blocks.cshtml)
+ IntermediateToken - (23:3,0 [2] Blocks.cshtml) - Html - \n
+ CSharpCode - (26:4,1 [18] Blocks.cshtml)
+ IntermediateToken - (26:4,1 [18] Blocks.cshtml) - CSharp - while(i <= 10) {\n
+ HtmlContent - (44:5,0 [23] Blocks.cshtml)
+ IntermediateToken - (44:5,0 [4] Blocks.cshtml) - Html -
+ IntermediateToken - (48:5,4 [3] Blocks.cshtml) - Html - <p>
+ IntermediateToken - (51:5,7 [16] Blocks.cshtml) - Html - Hello from C#, #
+ CSharpExpression - (69:5,25 [1] Blocks.cshtml)
+ IntermediateToken - (69:5,25 [1] Blocks.cshtml) - CSharp - i
+ HtmlContent - (71:5,27 [6] Blocks.cshtml)
+ IntermediateToken - (71:5,27 [4] Blocks.cshtml) - Html - </p>
+ IntermediateToken - (75:5,31 [2] Blocks.cshtml) - Html - \n
+ CSharpCode - (77:6,0 [16] Blocks.cshtml)
+ IntermediateToken - (77:6,0 [16] Blocks.cshtml) - CSharp - i += 1;\n}\n
+ HtmlContent - (93:8,0 [2] Blocks.cshtml)
+ IntermediateToken - (93:8,0 [2] Blocks.cshtml) - Html - \n
+ CSharpCode - (96:9,1 [15] Blocks.cshtml)
+ IntermediateToken - (96:9,1 [15] Blocks.cshtml) - CSharp - if(i == 11) {\n
+ HtmlContent - (111:10,0 [31] Blocks.cshtml)
+ IntermediateToken - (111:10,0 [4] Blocks.cshtml) - Html -
+ IntermediateToken - (115:10,4 [3] Blocks.cshtml) - Html - <p>
+ IntermediateToken - (118:10,7 [18] Blocks.cshtml) - Html - We wrote 10 lines!
+ IntermediateToken - (136:10,25 [4] Blocks.cshtml) - Html - </p>
+ IntermediateToken - (140:10,29 [2] Blocks.cshtml) - Html - \n
+ CSharpCode - (142:11,0 [3] Blocks.cshtml)
+ IntermediateToken - (142:11,0 [3] Blocks.cshtml) - CSharp - }\n
+ HtmlContent - (145:12,0 [2] Blocks.cshtml)
+ IntermediateToken - (145:12,0 [2] Blocks.cshtml) - Html - \n
+ CSharpCode - (148:13,1 [27] Blocks.cshtml)
+ IntermediateToken - (148:13,1 [27] Blocks.cshtml) - CSharp - switch(i) {\n case 11:\n
+ HtmlContent - (175:15,0 [46] Blocks.cshtml)
+ IntermediateToken - (175:15,0 [8] Blocks.cshtml) - Html -
+ IntermediateToken - (183:15,8 [3] Blocks.cshtml) - Html - <p>
+ IntermediateToken - (186:15,11 [29] Blocks.cshtml) - Html - No really, we wrote 10 lines!
+ IntermediateToken - (215:15,40 [4] Blocks.cshtml) - Html - </p>
+ IntermediateToken - (219:15,44 [2] Blocks.cshtml) - Html - \n
+ CSharpCode - (221:16,0 [30] Blocks.cshtml)
+ IntermediateToken - (221:16,0 [30] Blocks.cshtml) - CSharp - break;\n default:\n
+ HtmlContent - (251:18,0 [39] Blocks.cshtml)
+ IntermediateToken - (251:18,0 [8] Blocks.cshtml) - Html -
+ IntermediateToken - (259:18,8 [3] Blocks.cshtml) - Html - <p>
+ IntermediateToken - (262:18,11 [22] Blocks.cshtml) - Html - Actually, we didn't...
+ IntermediateToken - (284:18,33 [4] Blocks.cshtml) - Html - </p>
+ IntermediateToken - (288:18,37 [2] Blocks.cshtml) - Html - \n
+ CSharpCode - (290:19,0 [19] Blocks.cshtml)
+ IntermediateToken - (290:19,0 [19] Blocks.cshtml) - CSharp - break;\n}\n
+ HtmlContent - (309:21,0 [2] Blocks.cshtml)
+ IntermediateToken - (309:21,0 [2] Blocks.cshtml) - Html - \n
+ CSharpCode - (312:22,1 [35] Blocks.cshtml)
+ IntermediateToken - (312:22,1 [35] Blocks.cshtml) - CSharp - for(int j = 1; j <= 10; j += 2) {\n
+ HtmlContent - (347:23,0 [29] Blocks.cshtml)
+ IntermediateToken - (347:23,0 [4] Blocks.cshtml) - Html -
+ IntermediateToken - (351:23,4 [3] Blocks.cshtml) - Html - <p>
+ IntermediateToken - (354:23,7 [22] Blocks.cshtml) - Html - Hello again from C#, #
+ CSharpExpression - (378:23,31 [1] Blocks.cshtml)
+ IntermediateToken - (378:23,31 [1] Blocks.cshtml) - CSharp - j
+ HtmlContent - (380:23,33 [6] Blocks.cshtml)
+ IntermediateToken - (380:23,33 [4] Blocks.cshtml) - Html - </p>
+ IntermediateToken - (384:23,37 [2] Blocks.cshtml) - Html - \n
+ CSharpCode - (386:24,0 [3] Blocks.cshtml)
+ IntermediateToken - (386:24,0 [3] Blocks.cshtml) - CSharp - }\n
+ HtmlContent - (389:25,0 [2] Blocks.cshtml)
+ IntermediateToken - (389:25,0 [2] Blocks.cshtml) - Html - \n
+ CSharpCode - (392:26,1 [7] Blocks.cshtml)
+ IntermediateToken - (392:26,1 [7] Blocks.cshtml) - CSharp - try {\n
+ HtmlContent - (399:27,0 [41] Blocks.cshtml)
+ IntermediateToken - (399:27,0 [4] Blocks.cshtml) - Html -
+ IntermediateToken - (403:27,4 [3] Blocks.cshtml) - Html - <p>
+ IntermediateToken - (406:27,7 [28] Blocks.cshtml) - Html - That time, we wrote 5 lines!
+ IntermediateToken - (434:27,35 [4] Blocks.cshtml) - Html - </p>
+ IntermediateToken - (438:27,39 [2] Blocks.cshtml) - Html - \n
+ CSharpCode - (440:28,0 [25] Blocks.cshtml)
+ IntermediateToken - (440:28,0 [25] Blocks.cshtml) - CSharp - } catch(Exception ex) {\n
+ HtmlContent - (465:29,0 [33] Blocks.cshtml)
+ IntermediateToken - (465:29,0 [4] Blocks.cshtml) - Html -
+ IntermediateToken - (469:29,4 [3] Blocks.cshtml) - Html - <p>
+ IntermediateToken - (472:29,7 [26] Blocks.cshtml) - Html - Oh no! An error occurred:
+ CSharpExpression - (500:29,35 [10] Blocks.cshtml)
+ IntermediateToken - (500:29,35 [10] Blocks.cshtml) - CSharp - ex.Message
+ HtmlContent - (511:29,46 [6] Blocks.cshtml)
+ IntermediateToken - (511:29,46 [4] Blocks.cshtml) - Html - </p>
+ IntermediateToken - (515:29,50 [2] Blocks.cshtml) - Html - \n
+ CSharpCode - (517:30,0 [3] Blocks.cshtml)
+ IntermediateToken - (517:30,0 [3] Blocks.cshtml) - CSharp - }\n
+ HtmlContent - (520:31,0 [14] Blocks.cshtml)
+ IntermediateToken - (520:31,0 [2] Blocks.cshtml) - Html - \n
+ IntermediateToken - (522:32,0 [3] Blocks.cshtml) - Html - <p>
+ IntermediateToken - (525:32,3 [9] Blocks.cshtml) - Html - i is now
+ CSharpExpression - (535:32,13 [1] Blocks.cshtml)
+ IntermediateToken - (535:32,13 [1] Blocks.cshtml) - CSharp - i
+ HtmlContent - (536:32,14 [8] Blocks.cshtml)
+ IntermediateToken - (536:32,14 [4] Blocks.cshtml) - Html - </p>
+ IntermediateToken - (540:32,18 [4] Blocks.cshtml) - Html - \n\n
+ CSharpCode - (545:34,1 [22] Blocks.cshtml)
+ IntermediateToken - (545:34,1 [22] Blocks.cshtml) - CSharp - lock(new object()) {\n
+ HtmlContent - (567:35,0 [53] Blocks.cshtml)
+ IntermediateToken - (567:35,0 [4] Blocks.cshtml) - Html -
+ IntermediateToken - (571:35,4 [3] Blocks.cshtml) - Html - <p>
+ IntermediateToken - (574:35,7 [40] Blocks.cshtml) - Html - This block is locked, for your security!
+ IntermediateToken - (614:35,47 [4] Blocks.cshtml) - Html - </p>
+ IntermediateToken - (618:35,51 [2] Blocks.cshtml) - Html - \n
+ CSharpCode - (620:36,0 [1] Blocks.cshtml)
+ IntermediateToken - (620:36,0 [1] Blocks.cshtml) - CSharp - }
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7.cshtml
new file mode 100644
index 0000000000..e2c134767e
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7.cshtml
@@ -0,0 +1,43 @@
+<body>
+ @{
+ var nameLookup = new Dictionary<string, (string FirstName, string LastName, object Extra)>()
+ {
+ ["John Doe"] = ("John", "Doe", true)
+ };
+
+ @* This is all C# 7 bits that should work. *@
+
+ int Sixteen = 0b0001_0000;
+ long BillionsAndBillions = 100_000_000_000;
+ double AvogadroConstant = 6.022_140_857_747_474e23;
+ decimal GoldenRatio = 1.618_033_988_749_894_848_204_586_834_365_638_117_720_309_179M;
+ }
+
+ @if (nameLookup.TryGetValue("John Doe", out var entry))
+ {
+ if (entry.Extra is bool alive)
+ {
+ // Do Something
+ }
+ }
+ <p>
+ Here's a very unique number: @(1.618_033_988_749_894_848_204_586_834_365_638_117_720_309_179M)
+ </p>
+
+ <div>
+ @((First: "John", Last: "Doe").First) @* Value Tuples *@
+ </div>
+
+ @switch (entry.Extra)
+ {
+ case int age:
+ // Do something
+ break;
+ case IEnumerable<string> childrenNames:
+ // Do more something
+ break;
+ case null:
+ // Do even more of something
+ break;
+ }
+</body> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7_DesignTime.codegen.cs
new file mode 100644
index 0000000000..84b5e22683
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7_DesignTime.codegen.cs
@@ -0,0 +1,81 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_CSharp7_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7.cshtml"
+
+ var nameLookup = new Dictionary<string, (string FirstName, string LastName, object Extra)>()
+ {
+ ["John Doe"] = ("John", "Doe", true)
+ };
+
+
+
+#line default
+#line hidden
+#line 8 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7.cshtml"
+
+
+ int Sixteen = 0b0001_0000;
+ long BillionsAndBillions = 100_000_000_000;
+ double AvogadroConstant = 6.022_140_857_747_474e23;
+ decimal GoldenRatio = 1.618_033_988_749_894_848_204_586_834_365_638_117_720_309_179M;
+
+
+#line default
+#line hidden
+#line 16 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7.cshtml"
+ if (nameLookup.TryGetValue("John Doe", out var entry))
+ {
+ if (entry.Extra is bool alive)
+ {
+ // Do Something
+ }
+ }
+
+#line default
+#line hidden
+#line 24 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7.cshtml"
+ __o = 1.618_033_988_749_894_848_204_586_834_365_638_117_720_309_179M;
+
+#line default
+#line hidden
+#line 28 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7.cshtml"
+ __o = (First: "John", Last: "Doe").First;
+
+#line default
+#line hidden
+#line 31 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7.cshtml"
+ switch (entry.Extra)
+ {
+ case int age:
+ // Do something
+ break;
+ case IEnumerable<string> childrenNames:
+ // Do more something
+ break;
+ case null:
+ // Do even more of something
+ break;
+ }
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7_DesignTime.ir.txt
new file mode 100644
index 0000000000..f9f5e43b98
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7_DesignTime.ir.txt
@@ -0,0 +1,45 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_CSharp7_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (0:0,0 [12] CSharp7.cshtml)
+ IntermediateToken - (0:0,0 [6] CSharp7.cshtml) - Html - <body>
+ IntermediateToken - (6:0,6 [6] CSharp7.cshtml) - Html - \n
+ CSharpCode - (14:1,6 [187] CSharp7.cshtml)
+ IntermediateToken - (14:1,6 [187] CSharp7.cshtml) - CSharp - \n var nameLookup = new Dictionary<string, (string FirstName, string LastName, object Extra)>()\n {\n ["John Doe"] = ("John", "Doe", true)\n };\n\n
+ CSharpCode - (246:7,53 [253] CSharp7.cshtml)
+ IntermediateToken - (246:7,53 [253] CSharp7.cshtml) - CSharp - \n\n int Sixteen = 0b0001_0000;\n long BillionsAndBillions = 100_000_000_000;\n double AvogadroConstant = 6.022_140_857_747_474e23;\n decimal GoldenRatio = 1.618_033_988_749_894_848_204_586_834_365_638_117_720_309_179M;\n
+ HtmlContent - (502:14,0 [6] CSharp7.cshtml)
+ IntermediateToken - (502:14,0 [6] CSharp7.cshtml) - Html - \n
+ CSharpCode - (509:15,5 [159] CSharp7.cshtml)
+ IntermediateToken - (509:15,5 [159] CSharp7.cshtml) - CSharp - if (nameLookup.TryGetValue("John Doe", out var entry))\n {\n if (entry.Extra is bool alive)\n {\n // Do Something\n }\n }
+ HtmlContent - (668:21,5 [48] CSharp7.cshtml)
+ IntermediateToken - (668:21,5 [6] CSharp7.cshtml) - Html - \n
+ IntermediateToken - (674:22,4 [3] CSharp7.cshtml) - Html - <p>
+ IntermediateToken - (677:22,7 [39] CSharp7.cshtml) - Html - \n Here's a very unique number:
+ CSharpExpression - (718:23,39 [62] CSharp7.cshtml)
+ IntermediateToken - (718:23,39 [62] CSharp7.cshtml) - CSharp - 1.618_033_988_749_894_848_204_586_834_365_638_117_720_309_179M
+ HtmlContent - (781:23,102 [33] CSharp7.cshtml)
+ IntermediateToken - (781:23,102 [6] CSharp7.cshtml) - Html - \n
+ IntermediateToken - (787:24,4 [4] CSharp7.cshtml) - Html - </p>
+ IntermediateToken - (791:24,8 [8] CSharp7.cshtml) - Html - \n\n
+ IntermediateToken - (799:26,4 [5] CSharp7.cshtml) - Html - <div>
+ IntermediateToken - (804:26,9 [10] CSharp7.cshtml) - Html - \n
+ CSharpExpression - (816:27,10 [34] CSharp7.cshtml)
+ IntermediateToken - (816:27,10 [34] CSharp7.cshtml) - CSharp - (First: "John", Last: "Doe").First
+ HtmlContent - (872:28,0 [18] CSharp7.cshtml)
+ IntermediateToken - (872:28,0 [4] CSharp7.cshtml) - Html -
+ IntermediateToken - (876:28,4 [6] CSharp7.cshtml) - Html - </div>
+ IntermediateToken - (882:28,10 [8] CSharp7.cshtml) - Html - \n\n
+ CSharpCode - (891:30,5 [291] CSharp7.cshtml)
+ IntermediateToken - (891:30,5 [291] CSharp7.cshtml) - CSharp - switch (entry.Extra)\n {\n case int age:\n // Do something\n break;\n case IEnumerable<string> childrenNames:\n // Do more something\n break;\n case null:\n // Do even more of something\n break;\n }
+ HtmlContent - (1182:41,5 [9] CSharp7.cshtml)
+ IntermediateToken - (1182:41,5 [2] CSharp7.cshtml) - Html - \n
+ IntermediateToken - (1184:42,0 [7] CSharp7.cshtml) - Html - </body>
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7_DesignTime.mappings.txt
new file mode 100644
index 0000000000..821eec5170
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7_DesignTime.mappings.txt
@@ -0,0 +1,88 @@
+Source Location: (14:1,6 [187] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7.cshtml)
+|
+ var nameLookup = new Dictionary<string, (string FirstName, string LastName, object Extra)>()
+ {
+ ["John Doe"] = ("John", "Doe", true)
+ };
+
+ |
+Generated Location: (719:18,6 [187] )
+|
+ var nameLookup = new Dictionary<string, (string FirstName, string LastName, object Extra)>()
+ {
+ ["John Doe"] = ("John", "Doe", true)
+ };
+
+ |
+
+Source Location: (246:7,53 [253] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7.cshtml)
+|
+
+ int Sixteen = 0b0001_0000;
+ long BillionsAndBillions = 100_000_000_000;
+ double AvogadroConstant = 6.022_140_857_747_474e23;
+ decimal GoldenRatio = 1.618_033_988_749_894_848_204_586_834_365_638_117_720_309_179M;
+ |
+Generated Location: (1075:29,53 [253] )
+|
+
+ int Sixteen = 0b0001_0000;
+ long BillionsAndBillions = 100_000_000_000;
+ double AvogadroConstant = 6.022_140_857_747_474e23;
+ decimal GoldenRatio = 1.618_033_988_749_894_848_204_586_834_365_638_117_720_309_179M;
+ |
+
+Source Location: (509:15,5 [159] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7.cshtml)
+|if (nameLookup.TryGetValue("John Doe", out var entry))
+ {
+ if (entry.Extra is bool alive)
+ {
+ // Do Something
+ }
+ }|
+Generated Location: (1450:40,5 [159] )
+|if (nameLookup.TryGetValue("John Doe", out var entry))
+ {
+ if (entry.Extra is bool alive)
+ {
+ // Do Something
+ }
+ }|
+
+Source Location: (718:23,39 [62] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7.cshtml)
+|1.618_033_988_749_894_848_204_586_834_365_638_117_720_309_179M|
+Generated Location: (1765:51,39 [62] )
+|1.618_033_988_749_894_848_204_586_834_365_638_117_720_309_179M|
+
+Source Location: (816:27,10 [34] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7.cshtml)
+|(First: "John", Last: "Doe").First|
+Generated Location: (1955:56,10 [34] )
+|(First: "John", Last: "Doe").First|
+
+Source Location: (891:30,5 [291] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7.cshtml)
+|switch (entry.Extra)
+ {
+ case int age:
+ // Do something
+ break;
+ case IEnumerable<string> childrenNames:
+ // Do more something
+ break;
+ case null:
+ // Do even more of something
+ break;
+ }|
+Generated Location: (2112:61,5 [291] )
+|switch (entry.Extra)
+ {
+ case int age:
+ // Do something
+ break;
+ case IEnumerable<string> childrenNames:
+ // Do more something
+ break;
+ case null:
+ // Do even more of something
+ break;
+ }|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7_Runtime.codegen.cs
new file mode 100644
index 0000000000..535e7351ce
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7_Runtime.codegen.cs
@@ -0,0 +1,84 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "69466b91f73ea9f94ccef045495a0da11bb763c6"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_CSharp7_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"69466b91f73ea9f94ccef045495a0da11bb763c6", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_CSharp7_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("<body>\r\n");
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7.cshtml"
+
+ var nameLookup = new Dictionary<string, (string FirstName, string LastName, object Extra)>()
+ {
+ ["John Doe"] = ("John", "Doe", true)
+ };
+
+
+
+#line default
+#line hidden
+#line 8 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7.cshtml"
+
+
+ int Sixteen = 0b0001_0000;
+ long BillionsAndBillions = 100_000_000_000;
+ double AvogadroConstant = 6.022_140_857_747_474e23;
+ decimal GoldenRatio = 1.618_033_988_749_894_848_204_586_834_365_638_117_720_309_179M;
+
+
+#line default
+#line hidden
+ WriteLiteral("\r\n");
+#line 16 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7.cshtml"
+ if (nameLookup.TryGetValue("John Doe", out var entry))
+ {
+ if (entry.Extra is bool alive)
+ {
+ // Do Something
+ }
+ }
+
+#line default
+#line hidden
+ WriteLiteral(" <p>\r\n Here\'s a very unique number: ");
+#line 24 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7.cshtml"
+ Write(1.618_033_988_749_894_848_204_586_834_365_638_117_720_309_179M);
+
+#line default
+#line hidden
+ WriteLiteral("\r\n </p>\r\n\r\n <div>\r\n ");
+#line 28 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7.cshtml"
+ Write((First: "John", Last: "Doe").First);
+
+#line default
+#line hidden
+ WriteLiteral(" ");
+ WriteLiteral("\r\n </div>\r\n\r\n");
+#line 31 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7.cshtml"
+ switch (entry.Extra)
+ {
+ case int age:
+ // Do something
+ break;
+ case IEnumerable<string> childrenNames:
+ // Do more something
+ break;
+ case null:
+ // Do even more of something
+ break;
+ }
+
+#line default
+#line hidden
+ WriteLiteral("</body>");
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7_Runtime.ir.txt
new file mode 100644
index 0000000000..ff3f1b48ff
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CSharp7_Runtime.ir.txt
@@ -0,0 +1,48 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_CSharp7_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (0:0,0 [8] CSharp7.cshtml)
+ IntermediateToken - (0:0,0 [6] CSharp7.cshtml) - Html - <body>
+ IntermediateToken - (6:0,6 [2] CSharp7.cshtml) - Html - \n
+ CSharpCode - (8:1,0 [4] CSharp7.cshtml)
+ IntermediateToken - (8:1,0 [4] CSharp7.cshtml) - CSharp -
+ CSharpCode - (14:1,6 [187] CSharp7.cshtml)
+ IntermediateToken - (14:1,6 [187] CSharp7.cshtml) - CSharp - \n var nameLookup = new Dictionary<string, (string FirstName, string LastName, object Extra)>()\n {\n ["John Doe"] = ("John", "Doe", true)\n };\n\n
+ CSharpCode - (246:7,53 [253] CSharp7.cshtml)
+ IntermediateToken - (246:7,53 [253] CSharp7.cshtml) - CSharp - \n\n int Sixteen = 0b0001_0000;\n long BillionsAndBillions = 100_000_000_000;\n double AvogadroConstant = 6.022_140_857_747_474e23;\n decimal GoldenRatio = 1.618_033_988_749_894_848_204_586_834_365_638_117_720_309_179M;\n
+ HtmlContent - (502:14,0 [2] CSharp7.cshtml)
+ IntermediateToken - (502:14,0 [2] CSharp7.cshtml) - Html - \n
+ CSharpCode - (504:15,0 [4] CSharp7.cshtml)
+ IntermediateToken - (504:15,0 [4] CSharp7.cshtml) - CSharp -
+ CSharpCode - (509:15,5 [161] CSharp7.cshtml)
+ IntermediateToken - (509:15,5 [161] CSharp7.cshtml) - CSharp - if (nameLookup.TryGetValue("John Doe", out var entry))\n {\n if (entry.Extra is bool alive)\n {\n // Do Something\n }\n }\n
+ HtmlContent - (670:22,0 [46] CSharp7.cshtml)
+ IntermediateToken - (670:22,0 [4] CSharp7.cshtml) - Html -
+ IntermediateToken - (674:22,4 [3] CSharp7.cshtml) - Html - <p>
+ IntermediateToken - (677:22,7 [39] CSharp7.cshtml) - Html - \n Here's a very unique number:
+ CSharpExpression - (718:23,39 [62] CSharp7.cshtml)
+ IntermediateToken - (718:23,39 [62] CSharp7.cshtml) - CSharp - 1.618_033_988_749_894_848_204_586_834_365_638_117_720_309_179M
+ HtmlContent - (781:23,102 [33] CSharp7.cshtml)
+ IntermediateToken - (781:23,102 [6] CSharp7.cshtml) - Html - \n
+ IntermediateToken - (787:24,4 [4] CSharp7.cshtml) - Html - </p>
+ IntermediateToken - (791:24,8 [8] CSharp7.cshtml) - Html - \n\n
+ IntermediateToken - (799:26,4 [5] CSharp7.cshtml) - Html - <div>
+ IntermediateToken - (804:26,9 [2] CSharp7.cshtml) - Html - \n
+ IntermediateToken - (806:27,0 [8] CSharp7.cshtml) - Html -
+ CSharpExpression - (816:27,10 [34] CSharp7.cshtml)
+ IntermediateToken - (816:27,10 [34] CSharp7.cshtml) - CSharp - (First: "John", Last: "Doe").First
+ HtmlContent - (851:27,45 [1] CSharp7.cshtml)
+ IntermediateToken - (851:27,45 [1] CSharp7.cshtml) - Html -
+ HtmlContent - (870:27,64 [16] CSharp7.cshtml)
+ IntermediateToken - (870:27,64 [6] CSharp7.cshtml) - Html - \n
+ IntermediateToken - (876:28,4 [6] CSharp7.cshtml) - Html - </div>
+ IntermediateToken - (882:28,10 [4] CSharp7.cshtml) - Html - \n\n
+ CSharpCode - (886:30,0 [4] CSharp7.cshtml)
+ IntermediateToken - (886:30,0 [4] CSharp7.cshtml) - CSharp -
+ CSharpCode - (891:30,5 [293] CSharp7.cshtml)
+ IntermediateToken - (891:30,5 [293] CSharp7.cshtml) - CSharp - switch (entry.Extra)\n {\n case int age:\n // Do something\n break;\n case IEnumerable<string> childrenNames:\n // Do more something\n break;\n case null:\n // Do even more of something\n break;\n }\n
+ HtmlContent - (1184:42,0 [7] CSharp7.cshtml)
+ IntermediateToken - (1184:42,0 [7] CSharp7.cshtml) - Html - </body>
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlock.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlock.cshtml
new file mode 100644
index 0000000000..1c78883a10
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlock.cshtml
@@ -0,0 +1,5 @@
+@{
+ for(int i = 1; i <= 10; i++) {
+ Output.Write("<p>Hello from C#, #" + i.ToString() + "</p>");
+ }
+} \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF.cshtml
new file mode 100644
index 0000000000..38417d481c
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF.cshtml
@@ -0,0 +1 @@
+@{ \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF_DesignTime.codegen.cs
new file mode 100644
index 0000000000..8160ceea8d
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF_DesignTime.codegen.cs
@@ -0,0 +1,23 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_CodeBlockAtEOF_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF_DesignTime.diagnostics.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF_DesignTime.diagnostics.txt
new file mode 100644
index 0000000000..c3072c6248
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF_DesignTime.diagnostics.txt
@@ -0,0 +1 @@
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF.cshtml(1,2): Error RZ1006: The code block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF_DesignTime.ir.txt
new file mode 100644
index 0000000000..764d204441
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF_DesignTime.ir.txt
@@ -0,0 +1,13 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_CodeBlockAtEOF_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (2:0,2 [0] CodeBlockAtEOF.cshtml)
+ IntermediateToken - (2:0,2 [0] CodeBlockAtEOF.cshtml) - CSharp -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF_DesignTime.mappings.txt
new file mode 100644
index 0000000000..91017073c6
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF_DesignTime.mappings.txt
@@ -0,0 +1,5 @@
+Source Location: (2:0,2 [0] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF.cshtml)
+||
+Generated Location: (651:17,14 [0] )
+||
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF_Runtime.codegen.cs
new file mode 100644
index 0000000000..95ce16e337
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF_Runtime.codegen.cs
@@ -0,0 +1,18 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "b4fbc3b07404cc5be74ae0ba920a16e9cf39a378"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_CodeBlockAtEOF_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"b4fbc3b07404cc5be74ae0ba920a16e9cf39a378", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_CodeBlockAtEOF_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF_Runtime.diagnostics.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF_Runtime.diagnostics.txt
new file mode 100644
index 0000000000..c3072c6248
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF_Runtime.diagnostics.txt
@@ -0,0 +1 @@
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF.cshtml(1,2): Error RZ1006: The code block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF_Runtime.ir.txt
new file mode 100644
index 0000000000..daf2692204
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockAtEOF_Runtime.ir.txt
@@ -0,0 +1,8 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_CodeBlockAtEOF_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (2:0,2 [0] CodeBlockAtEOF.cshtml)
+ IntermediateToken - (2:0,2 [0] CodeBlockAtEOF.cshtml) - CSharp -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement.cshtml
new file mode 100644
index 0000000000..9c34a940eb
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement.cshtml
@@ -0,0 +1,4 @@
+@{
+ var a = 1; <text>foo</text>
+ var b = 1; <text>bar @(a+b)</text>
+}
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement_DesignTime.codegen.cs
new file mode 100644
index 0000000000..5df492cc3c
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement_DesignTime.codegen.cs
@@ -0,0 +1,41 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_CodeBlockWithTextElement_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement.cshtml"
+
+ var a = 1;
+
+#line default
+#line hidden
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement.cshtml"
+
+ var b = 1;
+
+#line default
+#line hidden
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement.cshtml"
+ __o = a+b;
+
+#line default
+#line hidden
+
+
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement_DesignTime.ir.txt
new file mode 100644
index 0000000000..8a220afc95
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement_DesignTime.ir.txt
@@ -0,0 +1,23 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_CodeBlockWithTextElement_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (2:0,2 [17] CodeBlockWithTextElement.cshtml)
+ IntermediateToken - (2:0,2 [17] CodeBlockWithTextElement.cshtml) - CSharp - \n var a = 1;
+ HtmlContent - (25:1,21 [3] CodeBlockWithTextElement.cshtml)
+ IntermediateToken - (25:1,21 [3] CodeBlockWithTextElement.cshtml) - Html - foo
+ CSharpCode - (35:1,31 [22] CodeBlockWithTextElement.cshtml)
+ IntermediateToken - (35:1,31 [22] CodeBlockWithTextElement.cshtml) - CSharp - \n var b = 1;
+ HtmlContent - (63:2,23 [4] CodeBlockWithTextElement.cshtml)
+ IntermediateToken - (63:2,23 [4] CodeBlockWithTextElement.cshtml) - Html - bar
+ CSharpExpression - (69:2,29 [3] CodeBlockWithTextElement.cshtml)
+ IntermediateToken - (69:2,29 [3] CodeBlockWithTextElement.cshtml) - CSharp - a+b
+ CSharpCode - (80:2,40 [2] CodeBlockWithTextElement.cshtml)
+ IntermediateToken - (80:2,40 [2] CodeBlockWithTextElement.cshtml) - CSharp - \n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement_DesignTime.mappings.txt
new file mode 100644
index 0000000000..5279d46d18
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement_DesignTime.mappings.txt
@@ -0,0 +1,26 @@
+Source Location: (2:0,2 [17] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement.cshtml)
+|
+ var a = 1; |
+Generated Location: (749:18,2 [17] )
+|
+ var a = 1; |
+
+Source Location: (35:1,31 [22] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement.cshtml)
+|
+ var b = 1; |
+Generated Location: (930:24,31 [22] )
+|
+ var b = 1; |
+
+Source Location: (69:2,29 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement.cshtml)
+|a+b|
+Generated Location: (1123:30,38 [3] )
+|a+b|
+
+Source Location: (80:2,40 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement.cshtml)
+|
+|
+Generated Location: (1221:34,61 [2] )
+|
+|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement_Runtime.codegen.cs
new file mode 100644
index 0000000000..0bd342205c
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement_Runtime.codegen.cs
@@ -0,0 +1,37 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "b794c71d64ba4731b2802f7d0dae1f863a9f9dd9"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_CodeBlockWithTextElement_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"b794c71d64ba4731b2802f7d0dae1f863a9f9dd9", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_CodeBlockWithTextElement_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement.cshtml"
+
+ var a = 1;
+
+#line default
+#line hidden
+ WriteLiteral("foo");
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement.cshtml"
+
+ var b = 1;
+
+#line default
+#line hidden
+ WriteLiteral("bar ");
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement.cshtml"
+ Write(a+b);
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement_Runtime.ir.txt
new file mode 100644
index 0000000000..0c163f3a41
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlockWithTextElement_Runtime.ir.txt
@@ -0,0 +1,18 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_CodeBlockWithTextElement_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (2:0,2 [17] CodeBlockWithTextElement.cshtml)
+ IntermediateToken - (2:0,2 [17] CodeBlockWithTextElement.cshtml) - CSharp - \n var a = 1;
+ HtmlContent - (25:1,21 [3] CodeBlockWithTextElement.cshtml)
+ IntermediateToken - (25:1,21 [3] CodeBlockWithTextElement.cshtml) - Html - foo
+ CSharpCode - (35:1,31 [22] CodeBlockWithTextElement.cshtml)
+ IntermediateToken - (35:1,31 [22] CodeBlockWithTextElement.cshtml) - CSharp - \n var b = 1;
+ HtmlContent - (63:2,23 [4] CodeBlockWithTextElement.cshtml)
+ IntermediateToken - (63:2,23 [4] CodeBlockWithTextElement.cshtml) - Html - bar
+ CSharpExpression - (69:2,29 [3] CodeBlockWithTextElement.cshtml)
+ IntermediateToken - (69:2,29 [3] CodeBlockWithTextElement.cshtml) - CSharp - a+b
+ CSharpCode - (80:2,40 [2] CodeBlockWithTextElement.cshtml)
+ IntermediateToken - (80:2,40 [2] CodeBlockWithTextElement.cshtml) - CSharp - \n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlock_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlock_DesignTime.codegen.cs
new file mode 100644
index 0000000000..ad75abc7df
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlock_DesignTime.codegen.cs
@@ -0,0 +1,30 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_CodeBlock_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlock.cshtml"
+
+ for(int i = 1; i <= 10; i++) {
+ Output.Write("<p>Hello from C#, #" + i.ToString() + "</p>");
+ }
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlock_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlock_DesignTime.ir.txt
new file mode 100644
index 0000000000..2dadb8d1fa
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlock_DesignTime.ir.txt
@@ -0,0 +1,13 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_CodeBlock_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (2:0,2 [115] CodeBlock.cshtml)
+ IntermediateToken - (2:0,2 [115] CodeBlock.cshtml) - CSharp - \n for(int i = 1; i <= 10; i++) {\n Output.Write("<p>Hello from C#, #" + i.ToString() + "</p>");\n }\n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlock_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlock_DesignTime.mappings.txt
new file mode 100644
index 0000000000..8d4bb56709
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlock_DesignTime.mappings.txt
@@ -0,0 +1,13 @@
+Source Location: (2:0,2 [115] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlock.cshtml)
+|
+ for(int i = 1; i <= 10; i++) {
+ Output.Write("<p>Hello from C#, #" + i.ToString() + "</p>");
+ }
+|
+Generated Location: (719:18,2 [115] )
+|
+ for(int i = 1; i <= 10; i++) {
+ Output.Write("<p>Hello from C#, #" + i.ToString() + "</p>");
+ }
+|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlock_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlock_Runtime.codegen.cs
new file mode 100644
index 0000000000..ccc2670366
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlock_Runtime.codegen.cs
@@ -0,0 +1,26 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlock.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "d570564dcb19afbfb9fcd1b8a7e339d22c0d0c97"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_CodeBlock_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlock.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"d570564dcb19afbfb9fcd1b8a7e339d22c0d0c97", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlock.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_CodeBlock_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlock.cshtml"
+
+ for(int i = 1; i <= 10; i++) {
+ Output.Write("<p>Hello from C#, #" + i.ToString() + "</p>");
+ }
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlock_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlock_Runtime.ir.txt
new file mode 100644
index 0000000000..f700c27032
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CodeBlock_Runtime.ir.txt
@@ -0,0 +1,8 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_CodeBlock_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (2:0,2 [115] CodeBlock.cshtml)
+ IntermediateToken - (2:0,2 [115] CodeBlock.cshtml) - CSharp - \n for(int i = 1; i <= 10; i++) {\n Output.Write("<p>Hello from C#, #" + i.ToString() + "</p>");\n }\n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml
new file mode 100644
index 0000000000..bc85b1d389
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml
@@ -0,0 +1,37 @@
+@addTagHelper "*, TestAssembly"
+
+@if (true)
+{
+ var checkbox = "checkbox";
+
+ <div class="randomNonTagHelperAttribute">
+ <p age="@@@(1+2)" class="@@string"></p>
+ <p time="Current Time: @DateTime.Now">
+ <h1>Set Time:</h1>
+ @if (false)
+ {
+ <p>New Time: <input type="text" value="" placeholder="Enter in a new time..."/></p>
+ }
+ else
+ {
+ <p>Current Time: <input type=@checkbox checked=true /></p>
+ <input tYPe='@(true ? "checkbox" : "anything")' />
+ <input type='@if(true) { <text>checkbox</text> } else { <text>anything</text> }'>
+ }
+ </p>
+ <p unbound="first value" age="@DateTimeOffset.Now.Year - 1970" unbound="second value" >
+ @{ var @object = false;}
+ <input ChecKED="@(@object)">
+ </p>
+ <p age="-1970 + @DateTimeOffset.Now.Year">
+ <input unbound="hello" unbound="world" checked="@(DateTimeOffset.Now.Year > 2014)" />
+ </p>
+ <p age="DateTimeOffset.Now.Year - 1970">
+ <input checked="DateTimeOffset.Now.Year > 2014">
+ </p>
+ <p age="@("My age is this long.".Length)">
+ <input checked=" @( DateTimeOffset.Now.Year ) > 2014 " />
+ </p>
+ @someMethod(@<p age="123" class="hello"><input checked=@checked /></p>)
+ </div>
+} \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers_DesignTime.codegen.cs
new file mode 100644
index 0000000000..37b7b26436
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers_DesignTime.codegen.cs
@@ -0,0 +1,207 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ComplexTagHelpers_DesignTime
+ {
+ private global::TestNamespace.PTagHelper __TestNamespace_PTagHelper;
+ private global::TestNamespace.InputTagHelper __TestNamespace_InputTagHelper;
+ private global::TestNamespace.InputTagHelper2 __TestNamespace_InputTagHelper2;
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "*, TestAssembly";
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+ if (true)
+{
+ var checkbox = "checkbox";
+
+
+
+#line default
+#line hidden
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+#line 8 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+__TestNamespace_PTagHelper.Age = @@(1+2);
+
+#line default
+#line hidden
+#line 11 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+ if (false)
+ {
+
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __TestNamespace_InputTagHelper.Type = "text";
+ __TestNamespace_InputTagHelper2.Type = __TestNamespace_InputTagHelper.Type;
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+#line 13 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+
+ }
+ else
+ {
+
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+#line 17 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+ __o = checkbox;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper.Type = string.Empty;
+ __TestNamespace_InputTagHelper2.Type = __TestNamespace_InputTagHelper.Type;
+#line 17 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+ __TestNamespace_InputTagHelper2.Checked = true;
+
+#line default
+#line hidden
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+
+
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+#line 18 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+ __o = true ? "checkbox" : "anything";
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper.Type = string.Empty;
+ __TestNamespace_InputTagHelper2.Type = __TestNamespace_InputTagHelper.Type;
+
+
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+#line 19 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+ if(true) {
+
+#line default
+#line hidden
+#line 19 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+ } else {
+
+#line default
+#line hidden
+#line 19 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+ }
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper.Type = string.Empty;
+ __TestNamespace_InputTagHelper2.Type = __TestNamespace_InputTagHelper.Type;
+#line 19 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+
+ }
+
+#line default
+#line hidden
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+ __o = DateTime.Now;
+
+#line default
+#line hidden
+#line 23 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+ var @object = false;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+#line 24 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+__TestNamespace_InputTagHelper2.Checked = (@object);
+
+#line default
+#line hidden
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+#line 22 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+ __TestNamespace_PTagHelper.Age = DateTimeOffset.Now.Year - 1970;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+#line 27 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+ __TestNamespace_InputTagHelper2.Checked = (DateTimeOffset.Now.Year > 2014);
+
+#line default
+#line hidden
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+#line 26 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+__TestNamespace_PTagHelper.Age = -1970 + @DateTimeOffset.Now.Year;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+#line 30 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+__TestNamespace_InputTagHelper2.Checked = DateTimeOffset.Now.Year > 2014;
+
+#line default
+#line hidden
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+#line 29 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+__TestNamespace_PTagHelper.Age = DateTimeOffset.Now.Year - 1970;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+#line 33 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+__TestNamespace_InputTagHelper2.Checked = @( DateTimeOffset.Now.Year ) > 2014 ;
+
+#line default
+#line hidden
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+#line 32 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+__TestNamespace_PTagHelper.Age = ("My age is this long.".Length);
+
+#line default
+#line hidden
+#line 35 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+ __o = someMethod(item => new Template(async(__razor_template_writer) => {
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+#line 35 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+ __TestNamespace_InputTagHelper2.Checked = checked;
+
+#line default
+#line hidden
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+#line 35 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+__TestNamespace_PTagHelper.Age = 123;
+
+#line default
+#line hidden
+}
+));
+
+#line default
+#line hidden
+#line 36 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+
+}
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers_DesignTime.ir.txt
new file mode 100644
index 0000000000..39903d2ef9
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers_DesignTime.ir.txt
@@ -0,0 +1,298 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ComplexTagHelpers_DesignTime - -
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.PTagHelper - __TestNamespace_PTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper - __TestNamespace_InputTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper2 - __TestNamespace_InputTagHelper2
+ DesignTimeDirective -
+ DirectiveToken - (14:0,14 [17] ComplexTagHelpers.cshtml) - "*, TestAssembly"
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (31:0,31 [4] ComplexTagHelpers.cshtml)
+ IntermediateToken - (31:0,31 [4] ComplexTagHelpers.cshtml) - Html - \n\n
+ CSharpCode - (36:2,1 [52] ComplexTagHelpers.cshtml)
+ IntermediateToken - (36:2,1 [52] ComplexTagHelpers.cshtml) - CSharp - if (true)\n{\n var checkbox = "checkbox";\n\n
+ HtmlContent - (88:6,4 [51] ComplexTagHelpers.cshtml)
+ IntermediateToken - (88:6,4 [4] ComplexTagHelpers.cshtml) - Html - <div
+ IntermediateToken - (92:6,8 [36] ComplexTagHelpers.cshtml) - Html - class="randomNonTagHelperAttribute"
+ IntermediateToken - (128:6,44 [1] ComplexTagHelpers.cshtml) - Html - >
+ IntermediateToken - (129:6,45 [10] ComplexTagHelpers.cshtml) - Html - \n
+ TagHelper - (139:7,8 [39] ComplexTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperProperty - (147:7,16 [8] ComplexTagHelpers.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (147:7,16 [1] ComplexTagHelpers.cshtml) - CSharp - @
+ IntermediateToken - (149:7,18 [0] ComplexTagHelpers.cshtml) - CSharp -
+ CSharpExpression - (149:7,18 [6] ComplexTagHelpers.cshtml)
+ IntermediateToken - (149:7,18 [1] ComplexTagHelpers.cshtml) - CSharp - @
+ IntermediateToken - (150:7,19 [1] ComplexTagHelpers.cshtml) - CSharp - (
+ IntermediateToken - (151:7,20 [3] ComplexTagHelpers.cshtml) - CSharp - 1+2
+ IntermediateToken - (154:7,23 [1] ComplexTagHelpers.cshtml) - CSharp - )
+ DefaultTagHelperHtmlAttribute - - class - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (164:7,33 [1] ComplexTagHelpers.cshtml)
+ IntermediateToken - (164:7,33 [1] ComplexTagHelpers.cshtml) - Html - @
+ HtmlContent - (166:7,35 [6] ComplexTagHelpers.cshtml)
+ IntermediateToken - (166:7,35 [6] ComplexTagHelpers.cshtml) - Html - string
+ DefaultTagHelperExecute -
+ HtmlContent - (178:7,47 [10] ComplexTagHelpers.cshtml)
+ IntermediateToken - (178:7,47 [10] ComplexTagHelpers.cshtml) - Html - \n
+ TagHelper - (188:8,8 [531] ComplexTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (226:8,46 [46] ComplexTagHelpers.cshtml)
+ IntermediateToken - (226:8,46 [14] ComplexTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (240:9,12 [4] ComplexTagHelpers.cshtml) - Html - <h1>
+ IntermediateToken - (244:9,16 [9] ComplexTagHelpers.cshtml) - Html - Set Time:
+ IntermediateToken - (253:9,25 [5] ComplexTagHelpers.cshtml) - Html - </h1>
+ IntermediateToken - (258:9,30 [14] ComplexTagHelpers.cshtml) - Html - \n
+ CSharpCode - (273:10,13 [43] ComplexTagHelpers.cshtml)
+ IntermediateToken - (273:10,13 [43] ComplexTagHelpers.cshtml) - CSharp - if (false)\n {\n
+ TagHelper - (316:12,16 [83] ComplexTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (319:12,19 [10] ComplexTagHelpers.cshtml)
+ IntermediateToken - (319:12,19 [10] ComplexTagHelpers.cshtml) - Html - New Time:
+ TagHelper - (329:12,29 [66] ComplexTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperProperty - (342:12,42 [4] ComplexTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper.Type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (342:12,42 [4] ComplexTagHelpers.cshtml)
+ IntermediateToken - (342:12,42 [4] ComplexTagHelpers.cshtml) - Html - text
+ DefaultTagHelperProperty - (342:12,42 [4] ComplexTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper2.Type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (342:12,42 [4] ComplexTagHelpers.cshtml)
+ IntermediateToken - (342:12,42 [4] ComplexTagHelpers.cshtml) - Html - text
+ DefaultTagHelperHtmlAttribute - - value - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (355:12,55 [0] ComplexTagHelpers.cshtml)
+ IntermediateToken - (355:12,55 [0] ComplexTagHelpers.cshtml) - Html -
+ DefaultTagHelperHtmlAttribute - - placeholder - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (370:12,70 [22] ComplexTagHelpers.cshtml)
+ IntermediateToken - (370:12,70 [22] ComplexTagHelpers.cshtml) - Html - Enter in a new time...
+ DefaultTagHelperExecute -
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperExecute -
+ CSharpCode - (399:12,99 [66] ComplexTagHelpers.cshtml)
+ IntermediateToken - (399:12,99 [66] ComplexTagHelpers.cshtml) - CSharp - \n }\n else\n {\n
+ TagHelper - (465:16,16 [58] ComplexTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (468:16,19 [14] ComplexTagHelpers.cshtml)
+ IntermediateToken - (468:16,19 [14] ComplexTagHelpers.cshtml) - Html - Current Time:
+ TagHelper - (482:16,33 [37] ComplexTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperProperty - (494:16,45 [9] ComplexTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper.Type - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (495:16,46 [8] ComplexTagHelpers.cshtml)
+ IntermediateToken - (495:16,46 [8] ComplexTagHelpers.cshtml) - CSharp - checkbox
+ DefaultTagHelperProperty - (494:16,45 [9] ComplexTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper2.Type - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (495:16,46 [8] ComplexTagHelpers.cshtml)
+ IntermediateToken - (495:16,46 [8] ComplexTagHelpers.cshtml) - CSharp - checkbox
+ DefaultTagHelperProperty - (512:16,63 [4] ComplexTagHelpers.cshtml) - checked - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (512:16,63 [4] ComplexTagHelpers.cshtml) - CSharp - true
+ DefaultTagHelperExecute -
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperExecute -
+ CSharpCode - (523:16,74 [18] ComplexTagHelpers.cshtml)
+ IntermediateToken - (523:16,74 [18] ComplexTagHelpers.cshtml) - CSharp - \n
+ TagHelper - (541:17,16 [50] ComplexTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperProperty - (554:17,29 [33] ComplexTagHelpers.cshtml) - tYPe - string TestNamespace.InputTagHelper.Type - HtmlAttributeValueStyle.SingleQuotes
+ CSharpExpression - (556:17,31 [30] ComplexTagHelpers.cshtml)
+ IntermediateToken - (556:17,31 [30] ComplexTagHelpers.cshtml) - CSharp - true ? "checkbox" : "anything"
+ DefaultTagHelperProperty - (554:17,29 [33] ComplexTagHelpers.cshtml) - tYPe - string TestNamespace.InputTagHelper2.Type - HtmlAttributeValueStyle.SingleQuotes
+ CSharpExpression - (556:17,31 [30] ComplexTagHelpers.cshtml)
+ IntermediateToken - (556:17,31 [30] ComplexTagHelpers.cshtml) - CSharp - true ? "checkbox" : "anything"
+ DefaultTagHelperExecute -
+ CSharpCode - (591:17,66 [18] ComplexTagHelpers.cshtml)
+ IntermediateToken - (591:17,66 [18] ComplexTagHelpers.cshtml) - CSharp - \n
+ TagHelper - (609:18,16 [81] ComplexTagHelpers.cshtml) - input - TagMode.StartTagOnly
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperProperty - (622:18,29 [66] ComplexTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper.Type - HtmlAttributeValueStyle.SingleQuotes
+ CSharpCode - (623:18,30 [11] ComplexTagHelpers.cshtml)
+ IntermediateToken - (623:18,30 [11] ComplexTagHelpers.cshtml) - CSharp - if(true) {
+ HtmlContent - (640:18,47 [8] ComplexTagHelpers.cshtml)
+ IntermediateToken - (640:18,47 [8] ComplexTagHelpers.cshtml) - Html - checkbox
+ CSharpCode - (655:18,62 [10] ComplexTagHelpers.cshtml)
+ IntermediateToken - (655:18,62 [10] ComplexTagHelpers.cshtml) - CSharp - } else {
+ HtmlContent - (671:18,78 [8] ComplexTagHelpers.cshtml)
+ IntermediateToken - (671:18,78 [8] ComplexTagHelpers.cshtml) - Html - anything
+ CSharpCode - (686:18,93 [2] ComplexTagHelpers.cshtml)
+ IntermediateToken - (686:18,93 [2] ComplexTagHelpers.cshtml) - CSharp - }
+ DefaultTagHelperProperty - (622:18,29 [66] ComplexTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper2.Type - HtmlAttributeValueStyle.SingleQuotes
+ CSharpCode - (623:18,30 [11] ComplexTagHelpers.cshtml)
+ IntermediateToken - (623:18,30 [11] ComplexTagHelpers.cshtml) - CSharp - if(true) {
+ HtmlContent - (640:18,47 [8] ComplexTagHelpers.cshtml)
+ IntermediateToken - (640:18,47 [8] ComplexTagHelpers.cshtml) - Html - checkbox
+ CSharpCode - (655:18,62 [10] ComplexTagHelpers.cshtml)
+ IntermediateToken - (655:18,62 [10] ComplexTagHelpers.cshtml) - CSharp - } else {
+ HtmlContent - (671:18,78 [8] ComplexTagHelpers.cshtml)
+ IntermediateToken - (671:18,78 [8] ComplexTagHelpers.cshtml) - Html - anything
+ CSharpCode - (686:18,93 [2] ComplexTagHelpers.cshtml)
+ IntermediateToken - (686:18,93 [2] ComplexTagHelpers.cshtml) - CSharp - }
+ DefaultTagHelperExecute -
+ CSharpCode - (690:18,97 [15] ComplexTagHelpers.cshtml)
+ IntermediateToken - (690:18,97 [15] ComplexTagHelpers.cshtml) - CSharp - \n }
+ HtmlContent - (705:19,13 [10] ComplexTagHelpers.cshtml)
+ IntermediateToken - (705:19,13 [10] ComplexTagHelpers.cshtml) - Html - \n
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperHtmlAttribute - - time - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlAttributeValue - (197:8,17 [7] ComplexTagHelpers.cshtml) -
+ IntermediateToken - (197:8,17 [7] ComplexTagHelpers.cshtml) - Html - Current
+ HtmlAttributeValue - (204:8,24 [6] ComplexTagHelpers.cshtml) -
+ IntermediateToken - (205:8,25 [5] ComplexTagHelpers.cshtml) - Html - Time:
+ CSharpExpressionAttributeValue - (210:8,30 [14] ComplexTagHelpers.cshtml) -
+ IntermediateToken - (212:8,32 [12] ComplexTagHelpers.cshtml) - CSharp - DateTime.Now
+ DefaultTagHelperExecute -
+ HtmlContent - (719:20,12 [10] ComplexTagHelpers.cshtml)
+ IntermediateToken - (719:20,12 [10] ComplexTagHelpers.cshtml) - Html - \n
+ TagHelper - (729:21,8 [181] ComplexTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (816:21,95 [14] ComplexTagHelpers.cshtml)
+ IntermediateToken - (816:21,95 [14] ComplexTagHelpers.cshtml) - Html - \n
+ CSharpCode - (832:22,14 [21] ComplexTagHelpers.cshtml)
+ IntermediateToken - (832:22,14 [21] ComplexTagHelpers.cshtml) - CSharp - var @object = false;
+ HtmlContent - (856:23,0 [12] ComplexTagHelpers.cshtml)
+ IntermediateToken - (856:23,0 [12] ComplexTagHelpers.cshtml) - Html -
+ TagHelper - (868:23,12 [28] ComplexTagHelpers.cshtml) - input - TagMode.StartTagOnly
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperProperty - (884:23,28 [10] ComplexTagHelpers.cshtml) - ChecKED - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (885:23,29 [9] ComplexTagHelpers.cshtml)
+ IntermediateToken - (885:23,29 [1] ComplexTagHelpers.cshtml) - CSharp - (
+ IntermediateToken - (886:23,30 [7] ComplexTagHelpers.cshtml) - CSharp - @object
+ IntermediateToken - (893:23,37 [1] ComplexTagHelpers.cshtml) - CSharp - )
+ DefaultTagHelperExecute -
+ HtmlContent - (896:23,40 [10] ComplexTagHelpers.cshtml)
+ IntermediateToken - (896:23,40 [10] ComplexTagHelpers.cshtml) - Html - \n
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperHtmlAttribute - - unbound - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (741:21,20 [11] ComplexTagHelpers.cshtml)
+ IntermediateToken - (741:21,20 [11] ComplexTagHelpers.cshtml) - Html - first value
+ DefaultTagHelperProperty - (759:21,38 [31] ComplexTagHelpers.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (760:21,39 [23] ComplexTagHelpers.cshtml)
+ IntermediateToken - (760:21,39 [23] ComplexTagHelpers.cshtml) - CSharp - DateTimeOffset.Now.Year
+ IntermediateToken - (783:21,62 [2] ComplexTagHelpers.cshtml) - CSharp - -
+ IntermediateToken - (785:21,64 [5] ComplexTagHelpers.cshtml) - CSharp - 1970
+ DefaultTagHelperHtmlAttribute - - unbound - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (801:21,80 [12] ComplexTagHelpers.cshtml)
+ IntermediateToken - (801:21,80 [12] ComplexTagHelpers.cshtml) - Html - second value
+ DefaultTagHelperExecute -
+ HtmlContent - (910:24,12 [10] ComplexTagHelpers.cshtml)
+ IntermediateToken - (910:24,12 [10] ComplexTagHelpers.cshtml) - Html - \n
+ TagHelper - (920:25,8 [155] ComplexTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (962:25,50 [14] ComplexTagHelpers.cshtml)
+ IntermediateToken - (962:25,50 [14] ComplexTagHelpers.cshtml) - Html - \n
+ TagHelper - (976:26,12 [85] ComplexTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperHtmlAttribute - - unbound - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (992:26,28 [5] ComplexTagHelpers.cshtml)
+ IntermediateToken - (992:26,28 [5] ComplexTagHelpers.cshtml) - Html - hello
+ DefaultTagHelperHtmlAttribute - - unbound - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (1008:26,44 [5] ComplexTagHelpers.cshtml)
+ IntermediateToken - (1008:26,44 [5] ComplexTagHelpers.cshtml) - Html - world
+ DefaultTagHelperProperty - (1024:26,60 [33] ComplexTagHelpers.cshtml) - checked - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (1025:26,61 [32] ComplexTagHelpers.cshtml)
+ IntermediateToken - (1025:26,61 [1] ComplexTagHelpers.cshtml) - CSharp - (
+ IntermediateToken - (1026:26,62 [30] ComplexTagHelpers.cshtml) - CSharp - DateTimeOffset.Now.Year > 2014
+ IntermediateToken - (1056:26,92 [1] ComplexTagHelpers.cshtml) - CSharp - )
+ DefaultTagHelperExecute -
+ HtmlContent - (1061:26,97 [10] ComplexTagHelpers.cshtml)
+ IntermediateToken - (1061:26,97 [10] ComplexTagHelpers.cshtml) - Html - \n
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperProperty - (928:25,16 [32] ComplexTagHelpers.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (928:25,16 [5] ComplexTagHelpers.cshtml) - CSharp - -1970
+ IntermediateToken - (933:25,21 [2] ComplexTagHelpers.cshtml) - CSharp - +
+ IntermediateToken - (935:25,23 [1] ComplexTagHelpers.cshtml) - CSharp -
+ CSharpExpression - (936:25,24 [24] ComplexTagHelpers.cshtml)
+ IntermediateToken - (936:25,24 [1] ComplexTagHelpers.cshtml) - CSharp - @
+ IntermediateToken - (937:25,25 [23] ComplexTagHelpers.cshtml) - CSharp - DateTimeOffset.Now.Year
+ DefaultTagHelperExecute -
+ HtmlContent - (1075:27,12 [10] ComplexTagHelpers.cshtml)
+ IntermediateToken - (1075:27,12 [10] ComplexTagHelpers.cshtml) - Html - \n
+ TagHelper - (1085:28,8 [116] ComplexTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (1125:28,48 [14] ComplexTagHelpers.cshtml)
+ IntermediateToken - (1125:28,48 [14] ComplexTagHelpers.cshtml) - Html - \n
+ TagHelper - (1139:29,12 [48] ComplexTagHelpers.cshtml) - input - TagMode.StartTagOnly
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperProperty - (1155:29,28 [30] ComplexTagHelpers.cshtml) - checked - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (1155:29,28 [30] ComplexTagHelpers.cshtml) - CSharp - DateTimeOffset.Now.Year > 2014
+ DefaultTagHelperExecute -
+ HtmlContent - (1187:29,60 [10] ComplexTagHelpers.cshtml)
+ IntermediateToken - (1187:29,60 [10] ComplexTagHelpers.cshtml) - Html - \n
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperProperty - (1093:28,16 [30] ComplexTagHelpers.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (1093:28,16 [30] ComplexTagHelpers.cshtml) - CSharp - DateTimeOffset.Now.Year\-1970
+ DefaultTagHelperExecute -
+ HtmlContent - (1201:30,12 [10] ComplexTagHelpers.cshtml)
+ IntermediateToken - (1201:30,12 [10] ComplexTagHelpers.cshtml) - Html - \n
+ TagHelper - (1211:31,8 [133] ComplexTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (1253:31,50 [14] ComplexTagHelpers.cshtml)
+ IntermediateToken - (1253:31,50 [14] ComplexTagHelpers.cshtml) - Html - \n
+ TagHelper - (1267:32,12 [63] ComplexTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperProperty - (1283:32,28 [43] ComplexTagHelpers.cshtml) - checked - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (1283:32,28 [3] ComplexTagHelpers.cshtml) - CSharp -
+ CSharpExpression - (1286:32,31 [30] ComplexTagHelpers.cshtml)
+ IntermediateToken - (1286:32,31 [1] ComplexTagHelpers.cshtml) - CSharp - @
+ IntermediateToken - (1287:32,32 [1] ComplexTagHelpers.cshtml) - CSharp - (
+ IntermediateToken - (1288:32,33 [27] ComplexTagHelpers.cshtml) - CSharp - DateTimeOffset.Now.Year
+ IntermediateToken - (1315:32,60 [1] ComplexTagHelpers.cshtml) - CSharp - )
+ IntermediateToken - (1316:32,61 [2] ComplexTagHelpers.cshtml) - CSharp - >
+ IntermediateToken - (1318:32,63 [5] ComplexTagHelpers.cshtml) - CSharp - 2014
+ IntermediateToken - (1323:32,68 [3] ComplexTagHelpers.cshtml) - CSharp -
+ DefaultTagHelperExecute -
+ HtmlContent - (1330:32,75 [10] ComplexTagHelpers.cshtml)
+ IntermediateToken - (1330:32,75 [10] ComplexTagHelpers.cshtml) - Html - \n
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperProperty - (1219:31,16 [32] ComplexTagHelpers.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (1220:31,17 [31] ComplexTagHelpers.cshtml)
+ IntermediateToken - (1220:31,17 [1] ComplexTagHelpers.cshtml) - CSharp - (
+ IntermediateToken - (1221:31,18 [29] ComplexTagHelpers.cshtml) - CSharp - "My age is this long.".Length
+ IntermediateToken - (1250:31,47 [1] ComplexTagHelpers.cshtml) - CSharp - )
+ DefaultTagHelperExecute -
+ HtmlContent - (1344:33,12 [10] ComplexTagHelpers.cshtml)
+ IntermediateToken - (1344:33,12 [10] ComplexTagHelpers.cshtml) - Html - \n
+ CSharpExpression - (1355:34,9 [69] ComplexTagHelpers.cshtml)
+ IntermediateToken - (1355:34,9 [11] ComplexTagHelpers.cshtml) - CSharp - someMethod(
+ Template - (1367:34,21 [57] ComplexTagHelpers.cshtml)
+ TagHelper - (1367:34,21 [57] ComplexTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ TagHelper - (1394:34,48 [26] ComplexTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperProperty - (1409:34,63 [8] ComplexTagHelpers.cshtml) - checked - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (1410:34,64 [7] ComplexTagHelpers.cshtml)
+ IntermediateToken - (1410:34,64 [7] ComplexTagHelpers.cshtml) - CSharp - checked
+ DefaultTagHelperExecute -
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperProperty - (1375:34,29 [3] ComplexTagHelpers.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (1375:34,29 [3] ComplexTagHelpers.cshtml) - CSharp - 123
+ DefaultTagHelperHtmlAttribute - - class - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (1387:34,41 [5] ComplexTagHelpers.cshtml)
+ IntermediateToken - (1387:34,41 [5] ComplexTagHelpers.cshtml) - Html - hello
+ DefaultTagHelperExecute -
+ IntermediateToken - (1424:34,78 [1] ComplexTagHelpers.cshtml) - CSharp - )
+ HtmlContent - (1425:34,79 [12] ComplexTagHelpers.cshtml)
+ IntermediateToken - (1425:34,79 [6] ComplexTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (1431:35,4 [6] ComplexTagHelpers.cshtml) - Html - </div>
+ CSharpCode - (1437:35,10 [3] ComplexTagHelpers.cshtml)
+ IntermediateToken - (1437:35,10 [3] ComplexTagHelpers.cshtml) - CSharp - \n}
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers_DesignTime.mappings.txt
new file mode 100644
index 0000000000..35f9f98fe8
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers_DesignTime.mappings.txt
@@ -0,0 +1,293 @@
+Source Location: (14:0,14 [17] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|"*, TestAssembly"|
+Generated Location: (675:13,37 [17] )
+|"*, TestAssembly"|
+
+Source Location: (36:2,1 [52] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|if (true)
+{
+ var checkbox = "checkbox";
+
+ |
+Generated Location: (1103:25,1 [52] )
+|if (true)
+{
+ var checkbox = "checkbox";
+
+ |
+
+Source Location: (147:7,16 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|@|
+Generated Location: (1409:35,33 [1] )
+|@|
+
+Source Location: (149:7,18 [0] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+||
+Generated Location: (1410:35,34 [0] )
+||
+
+Source Location: (149:7,18 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|@|
+Generated Location: (1410:35,34 [1] )
+|@|
+
+Source Location: (150:7,19 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|(|
+Generated Location: (1411:35,35 [1] )
+|(|
+
+Source Location: (151:7,20 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|1+2|
+Generated Location: (1412:35,36 [3] )
+|1+2|
+
+Source Location: (154:7,23 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|)|
+Generated Location: (1415:35,39 [1] )
+|)|
+
+Source Location: (273:10,13 [43] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|if (false)
+ {
+ |
+Generated Location: (1557:40,13 [43] )
+|if (false)
+ {
+ |
+
+Source Location: (399:12,99 [66] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|
+ }
+ else
+ {
+ |
+Generated Location: (2277:52,99 [66] )
+|
+ }
+ else
+ {
+ |
+
+Source Location: (495:16,46 [8] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|checkbox|
+Generated Location: (2724:63,46 [8] )
+|checkbox|
+
+Source Location: (512:16,63 [4] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|true|
+Generated Location: (3077:70,63 [4] )
+|true|
+
+Source Location: (523:16,74 [18] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|
+ |
+Generated Location: (3296:75,86 [18] )
+|
+ |
+
+Source Location: (556:17,31 [30] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|true ? "checkbox" : "anything"|
+Generated Location: (3649:80,31 [30] )
+|true ? "checkbox" : "anything"|
+
+Source Location: (591:17,66 [18] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|
+ |
+Generated Location: (3945:86,78 [18] )
+|
+ |
+
+Source Location: (623:18,30 [11] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|if(true) { |
+Generated Location: (4297:91,30 [11] )
+|if(true) { |
+
+Source Location: (655:18,62 [10] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+| } else { |
+Generated Location: (4497:96,62 [10] )
+| } else { |
+
+Source Location: (686:18,93 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+| }|
+Generated Location: (4727:101,93 [2] )
+| }|
+
+Source Location: (690:18,97 [15] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|
+ }|
+Generated Location: (5107:108,97 [15] )
+|
+ }|
+
+Source Location: (212:8,32 [12] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|DateTime.Now|
+Generated Location: (5375:115,32 [12] )
+|DateTime.Now|
+
+Source Location: (832:22,14 [21] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+| var @object = false;|
+Generated Location: (5529:120,14 [21] )
+| var @object = false;|
+
+Source Location: (885:23,29 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|(|
+Generated Location: (5927:127,42 [1] )
+|(|
+
+Source Location: (886:23,30 [7] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|@object|
+Generated Location: (5928:127,43 [7] )
+|@object|
+
+Source Location: (893:23,37 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|)|
+Generated Location: (5935:127,50 [1] )
+|)|
+
+Source Location: (760:21,39 [23] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|DateTimeOffset.Now.Year|
+Generated Location: (6197:133,38 [23] )
+|DateTimeOffset.Now.Year|
+
+Source Location: (783:21,62 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+| -|
+Generated Location: (6220:133,61 [2] )
+| -|
+
+Source Location: (785:21,64 [5] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+| 1970|
+Generated Location: (6222:133,63 [5] )
+| 1970|
+
+Source Location: (1025:26,61 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|(|
+Generated Location: (6623:140,60 [1] )
+|(|
+
+Source Location: (1026:26,62 [30] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|DateTimeOffset.Now.Year > 2014|
+Generated Location: (6624:140,61 [30] )
+|DateTimeOffset.Now.Year > 2014|
+
+Source Location: (1056:26,92 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|)|
+Generated Location: (6654:140,91 [1] )
+|)|
+
+Source Location: (928:25,16 [5] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|-1970|
+Generated Location: (6911:146,33 [5] )
+|-1970|
+
+Source Location: (933:25,21 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+| +|
+Generated Location: (6916:146,38 [2] )
+| +|
+
+Source Location: (935:25,23 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+| |
+Generated Location: (6918:146,40 [1] )
+| |
+
+Source Location: (936:25,24 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|@|
+Generated Location: (6919:146,41 [1] )
+|@|
+
+Source Location: (937:25,25 [23] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|DateTimeOffset.Now.Year|
+Generated Location: (6920:146,42 [23] )
+|DateTimeOffset.Now.Year|
+
+Source Location: (1155:29,28 [30] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|DateTimeOffset.Now.Year > 2014|
+Generated Location: (7321:153,42 [30] )
+|DateTimeOffset.Now.Year > 2014|
+
+Source Location: (1093:28,16 [30] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|DateTimeOffset.Now.Year - 1970|
+Generated Location: (7607:159,33 [30] )
+|DateTimeOffset.Now.Year - 1970|
+
+Source Location: (1283:32,28 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+| |
+Generated Location: (8015:166,42 [3] )
+| |
+
+Source Location: (1286:32,31 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|@|
+Generated Location: (8018:166,45 [1] )
+|@|
+
+Source Location: (1287:32,32 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|(|
+Generated Location: (8019:166,46 [1] )
+|(|
+
+Source Location: (1288:32,33 [27] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+| DateTimeOffset.Now.Year |
+Generated Location: (8020:166,47 [27] )
+| DateTimeOffset.Now.Year |
+
+Source Location: (1315:32,60 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|)|
+Generated Location: (8047:166,74 [1] )
+|)|
+
+Source Location: (1316:32,61 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+| >|
+Generated Location: (8048:166,75 [2] )
+| >|
+
+Source Location: (1318:32,63 [5] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+| 2014|
+Generated Location: (8050:166,77 [5] )
+| 2014|
+
+Source Location: (1323:32,68 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+| |
+Generated Location: (8055:166,82 [3] )
+| |
+
+Source Location: (1220:31,17 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|(|
+Generated Location: (8314:172,33 [1] )
+|(|
+
+Source Location: (1221:31,18 [29] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|"My age is this long.".Length|
+Generated Location: (8315:172,34 [29] )
+|"My age is this long.".Length|
+
+Source Location: (1250:31,47 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|)|
+Generated Location: (8344:172,63 [1] )
+|)|
+
+Source Location: (1355:34,9 [11] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|someMethod(|
+Generated Location: (8482:177,9 [11] )
+|someMethod(|
+
+Source Location: (1410:34,64 [7] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|checked|
+Generated Location: (8900:181,63 [7] )
+|checked|
+
+Source Location: (1375:34,29 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|123|
+Generated Location: (9155:187,33 [3] )
+|123|
+
+Source Location: (1424:34,78 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|)|
+Generated Location: (9196:192,1 [1] )
+|)|
+
+Source Location: (1437:35,10 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml)
+|
+}|
+Generated Location: (9335:197,10 [3] )
+|
+}|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers_Runtime.codegen.cs
new file mode 100644
index 0000000000..8602f83cc4
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers_Runtime.codegen.cs
@@ -0,0 +1,493 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "0ebc2a451a011b17f08d86ab395d2ef2bdaaf44e"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ComplexTagHelpers_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"0ebc2a451a011b17f08d86ab395d2ef2bdaaf44e", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ComplexTagHelpers_Runtime
+ {
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("type", "text", global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_1 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("value", new global::Microsoft.AspNetCore.Html.HtmlString(""), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_2 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("placeholder", new global::Microsoft.AspNetCore.Html.HtmlString("Enter in a new time..."), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_3 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("unbound", new global::Microsoft.AspNetCore.Html.HtmlString("first value"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_4 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("unbound", new global::Microsoft.AspNetCore.Html.HtmlString("second value"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_5 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("unbound", new global::Microsoft.AspNetCore.Html.HtmlString("hello"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_6 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("unbound", new global::Microsoft.AspNetCore.Html.HtmlString("world"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_7 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("class", new global::Microsoft.AspNetCore.Html.HtmlString("hello"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ #line hidden
+ #pragma warning disable 0169
+ private string __tagHelperStringValueBuffer;
+ #pragma warning restore 0169
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext __tagHelperExecutionContext;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner();
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __backed__tagHelperScopeManager = null;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __tagHelperScopeManager
+ {
+ get
+ {
+ if (__backed__tagHelperScopeManager == null)
+ {
+ __backed__tagHelperScopeManager = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager(StartTagHelperWritingScope, EndTagHelperWritingScope);
+ }
+ return __backed__tagHelperScopeManager;
+ }
+ }
+ private global::TestNamespace.PTagHelper __TestNamespace_PTagHelper;
+ private global::TestNamespace.InputTagHelper __TestNamespace_InputTagHelper;
+ private global::TestNamespace.InputTagHelper2 __TestNamespace_InputTagHelper2;
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("\r\n");
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+ if (true)
+{
+ var checkbox = "checkbox";
+
+
+#line default
+#line hidden
+ WriteLiteral(" <div class=\"randomNonTagHelperAttribute\">\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("p", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ }
+ );
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_PTagHelper);
+#line 8 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+__TestNamespace_PTagHelper.Age = @@(1+2);
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("age", __TestNamespace_PTagHelper.Age, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ BeginWriteTagHelperAttribute();
+ WriteLiteral("@");
+ WriteLiteral("string");
+ __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
+ __tagHelperExecutionContext.AddHtmlAttribute("class", Html.Raw(__tagHelperStringValueBuffer), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("p", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("\r\n <h1>Set Time:</h1>\r\n");
+#line 11 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+ if (false)
+ {
+
+#line default
+#line hidden
+ WriteLiteral(" ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("p", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("New Time: ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper2);
+ __TestNamespace_InputTagHelper.Type = (string)__tagHelperAttribute_0.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_0);
+ __TestNamespace_InputTagHelper2.Type = (string)__tagHelperAttribute_0.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_0);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_1);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_2);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ }
+ );
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_PTagHelper);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n");
+#line 14 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+ }
+ else
+ {
+
+#line default
+#line hidden
+ WriteLiteral(" ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("p", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("Current Time: ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper2);
+ BeginWriteTagHelperAttribute();
+#line 17 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+ WriteLiteral(checkbox);
+
+#line default
+#line hidden
+ __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
+ __TestNamespace_InputTagHelper.Type = __tagHelperStringValueBuffer;
+ __tagHelperExecutionContext.AddTagHelperAttribute("type", __TestNamespace_InputTagHelper.Type, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ __TestNamespace_InputTagHelper2.Type = __TestNamespace_InputTagHelper.Type;
+#line 17 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+__TestNamespace_InputTagHelper2.Checked = true;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("checked", __TestNamespace_InputTagHelper2.Checked, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ }
+ );
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_PTagHelper);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper2);
+ BeginWriteTagHelperAttribute();
+#line 18 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+ WriteLiteral(true ? "checkbox" : "anything");
+
+#line default
+#line hidden
+ __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
+ __TestNamespace_InputTagHelper.Type = __tagHelperStringValueBuffer;
+ __tagHelperExecutionContext.AddTagHelperAttribute("tYPe", __TestNamespace_InputTagHelper.Type, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.SingleQuotes);
+ __TestNamespace_InputTagHelper2.Type = __TestNamespace_InputTagHelper.Type;
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagOnly, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper2);
+ BeginWriteTagHelperAttribute();
+#line 19 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+ if(true) {
+
+#line default
+#line hidden
+ WriteLiteral("checkbox");
+#line 19 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+ } else {
+
+#line default
+#line hidden
+ WriteLiteral("anything");
+#line 19 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+ }
+
+#line default
+#line hidden
+ __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
+ __TestNamespace_InputTagHelper.Type = __tagHelperStringValueBuffer;
+ __tagHelperExecutionContext.AddTagHelperAttribute("type", __TestNamespace_InputTagHelper.Type, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.SingleQuotes);
+ __TestNamespace_InputTagHelper2.Type = __TestNamespace_InputTagHelper.Type;
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n");
+#line 20 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+ }
+
+#line default
+#line hidden
+ WriteLiteral(" ");
+ }
+ );
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_PTagHelper);
+ BeginAddHtmlAttributeValues(__tagHelperExecutionContext, "time", 3, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ AddHtmlAttributeValue("", 197, "Current", 197, 7, true);
+ AddHtmlAttributeValue(" ", 204, "Time:", 205, 6, true);
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+AddHtmlAttributeValue(" ", 210, DateTime.Now, 211, 13, false);
+
+#line default
+#line hidden
+ EndAddHtmlAttributeValues(__tagHelperExecutionContext);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("p", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("\r\n");
+#line 23 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+ var @object = false;
+
+#line default
+#line hidden
+ WriteLiteral(" ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagOnly, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper2);
+#line 24 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+__TestNamespace_InputTagHelper2.Checked = (@object);
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("ChecKED", __TestNamespace_InputTagHelper2.Checked, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+ }
+ );
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_PTagHelper);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_3);
+#line 22 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+__TestNamespace_PTagHelper.Age = DateTimeOffset.Now.Year - 1970;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("age", __TestNamespace_PTagHelper.Age, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_4);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("p", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper2);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_5);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_6);
+#line 27 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+__TestNamespace_InputTagHelper2.Checked = (DateTimeOffset.Now.Year > 2014);
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("checked", __TestNamespace_InputTagHelper2.Checked, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+ }
+ );
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_PTagHelper);
+#line 26 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+__TestNamespace_PTagHelper.Age = -1970 + @DateTimeOffset.Now.Year;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("age", __TestNamespace_PTagHelper.Age, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("p", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagOnly, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper2);
+#line 30 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+__TestNamespace_InputTagHelper2.Checked = DateTimeOffset.Now.Year > 2014;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("checked", __TestNamespace_InputTagHelper2.Checked, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+ }
+ );
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_PTagHelper);
+#line 29 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+__TestNamespace_PTagHelper.Age = DateTimeOffset.Now.Year - 1970;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("age", __TestNamespace_PTagHelper.Age, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("p", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper2);
+#line 33 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+__TestNamespace_InputTagHelper2.Checked = @( DateTimeOffset.Now.Year ) > 2014 ;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("checked", __TestNamespace_InputTagHelper2.Checked, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+ }
+ );
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_PTagHelper);
+#line 32 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+__TestNamespace_PTagHelper.Age = ("My age is this long.".Length);
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("age", __TestNamespace_PTagHelper.Age, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+#line 35 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+ Write(someMethod(item => new Template(async(__razor_template_writer) => {
+ PushWriter(__razor_template_writer);
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("p", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper2);
+#line 35 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+__TestNamespace_InputTagHelper2.Checked = checked;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("checked", __TestNamespace_InputTagHelper2.Checked, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ }
+ );
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_PTagHelper);
+#line 35 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+__TestNamespace_PTagHelper.Age = 123;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("age", __TestNamespace_PTagHelper.Age, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_7);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ PopWriter();
+}
+)));
+
+#line default
+#line hidden
+ WriteLiteral("\r\n </div>\r\n");
+#line 37 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers.cshtml"
+}
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers_Runtime.ir.txt
new file mode 100644
index 0000000000..92bc67f8c6
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ComplexTagHelpers_Runtime.ir.txt
@@ -0,0 +1,299 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ComplexTagHelpers_Runtime - -
+ PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_0 - type - text - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_1 - value - - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_2 - placeholder - Enter in a new time... - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_3 - unbound - first value - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_4 - unbound - second value - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_5 - unbound - hello - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_6 - unbound - world - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_7 - class - hello - HtmlAttributeValueStyle.DoubleQuotes
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.PTagHelper - __TestNamespace_PTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper - __TestNamespace_InputTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper2 - __TestNamespace_InputTagHelper2
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (33:1,0 [2] ComplexTagHelpers.cshtml)
+ IntermediateToken - (33:1,0 [2] ComplexTagHelpers.cshtml) - Html - \n
+ CSharpCode - (36:2,1 [48] ComplexTagHelpers.cshtml)
+ IntermediateToken - (36:2,1 [48] ComplexTagHelpers.cshtml) - CSharp - if (true)\n{\n var checkbox = "checkbox";\n\n
+ HtmlContent - (84:6,0 [55] ComplexTagHelpers.cshtml)
+ IntermediateToken - (84:6,0 [4] ComplexTagHelpers.cshtml) - Html -
+ IntermediateToken - (88:6,4 [4] ComplexTagHelpers.cshtml) - Html - <div
+ IntermediateToken - (92:6,8 [36] ComplexTagHelpers.cshtml) - Html - class="randomNonTagHelperAttribute"
+ IntermediateToken - (128:6,44 [1] ComplexTagHelpers.cshtml) - Html - >
+ IntermediateToken - (129:6,45 [10] ComplexTagHelpers.cshtml) - Html - \n
+ TagHelper - (139:7,8 [39] ComplexTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperProperty - (147:7,16 [8] ComplexTagHelpers.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (147:7,16 [1] ComplexTagHelpers.cshtml) - CSharp - @
+ IntermediateToken - (149:7,18 [0] ComplexTagHelpers.cshtml) - CSharp -
+ CSharpExpression - (149:7,18 [6] ComplexTagHelpers.cshtml)
+ IntermediateToken - (149:7,18 [1] ComplexTagHelpers.cshtml) - CSharp - @
+ IntermediateToken - (150:7,19 [1] ComplexTagHelpers.cshtml) - CSharp - (
+ IntermediateToken - (151:7,20 [3] ComplexTagHelpers.cshtml) - CSharp - 1+2
+ IntermediateToken - (154:7,23 [1] ComplexTagHelpers.cshtml) - CSharp - )
+ DefaultTagHelperHtmlAttribute - - class - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (164:7,33 [1] ComplexTagHelpers.cshtml)
+ IntermediateToken - (164:7,33 [1] ComplexTagHelpers.cshtml) - Html - @
+ HtmlContent - (166:7,35 [6] ComplexTagHelpers.cshtml)
+ IntermediateToken - (166:7,35 [6] ComplexTagHelpers.cshtml) - Html - string
+ DefaultTagHelperExecute -
+ HtmlContent - (178:7,47 [10] ComplexTagHelpers.cshtml)
+ IntermediateToken - (178:7,47 [10] ComplexTagHelpers.cshtml) - Html - \n
+ TagHelper - (188:8,8 [531] ComplexTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (226:8,46 [34] ComplexTagHelpers.cshtml)
+ IntermediateToken - (226:8,46 [14] ComplexTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (240:9,12 [4] ComplexTagHelpers.cshtml) - Html - <h1>
+ IntermediateToken - (244:9,16 [9] ComplexTagHelpers.cshtml) - Html - Set Time:
+ IntermediateToken - (253:9,25 [5] ComplexTagHelpers.cshtml) - Html - </h1>
+ IntermediateToken - (258:9,30 [2] ComplexTagHelpers.cshtml) - Html - \n
+ CSharpCode - (260:10,0 [12] ComplexTagHelpers.cshtml)
+ IntermediateToken - (260:10,0 [12] ComplexTagHelpers.cshtml) - CSharp -
+ CSharpCode - (273:10,13 [27] ComplexTagHelpers.cshtml)
+ IntermediateToken - (273:10,13 [27] ComplexTagHelpers.cshtml) - CSharp - if (false)\n {\n
+ HtmlContent - (300:12,0 [16] ComplexTagHelpers.cshtml)
+ IntermediateToken - (300:12,0 [16] ComplexTagHelpers.cshtml) - Html -
+ TagHelper - (316:12,16 [83] ComplexTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (319:12,19 [10] ComplexTagHelpers.cshtml)
+ IntermediateToken - (319:12,19 [10] ComplexTagHelpers.cshtml) - Html - New Time:
+ TagHelper - (329:12,29 [66] ComplexTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ PreallocatedTagHelperProperty - (342:12,42 [4] ComplexTagHelpers.cshtml) - __tagHelperAttribute_0 - type - Type
+ PreallocatedTagHelperProperty - (342:12,42 [4] ComplexTagHelpers.cshtml) - __tagHelperAttribute_0 - type - Type
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_1
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_2
+ DefaultTagHelperExecute -
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperExecute -
+ HtmlContent - (399:12,99 [2] ComplexTagHelpers.cshtml)
+ IntermediateToken - (399:12,99 [2] ComplexTagHelpers.cshtml) - Html - \n
+ CSharpCode - (401:13,0 [48] ComplexTagHelpers.cshtml)
+ IntermediateToken - (401:13,0 [48] ComplexTagHelpers.cshtml) - CSharp - }\n else\n {\n
+ HtmlContent - (449:16,0 [16] ComplexTagHelpers.cshtml)
+ IntermediateToken - (449:16,0 [16] ComplexTagHelpers.cshtml) - Html -
+ TagHelper - (465:16,16 [58] ComplexTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (468:16,19 [14] ComplexTagHelpers.cshtml)
+ IntermediateToken - (468:16,19 [14] ComplexTagHelpers.cshtml) - Html - Current Time:
+ TagHelper - (482:16,33 [37] ComplexTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperProperty - (494:16,45 [9] ComplexTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper.Type - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (495:16,46 [8] ComplexTagHelpers.cshtml)
+ IntermediateToken - (495:16,46 [8] ComplexTagHelpers.cshtml) - CSharp - checkbox
+ DefaultTagHelperProperty - (494:16,45 [9] ComplexTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper2.Type - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (495:16,46 [8] ComplexTagHelpers.cshtml)
+ IntermediateToken - (495:16,46 [8] ComplexTagHelpers.cshtml) - CSharp - checkbox
+ DefaultTagHelperProperty - (512:16,63 [4] ComplexTagHelpers.cshtml) - checked - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (512:16,63 [4] ComplexTagHelpers.cshtml) - CSharp - true
+ DefaultTagHelperExecute -
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperExecute -
+ HtmlContent - (523:16,74 [18] ComplexTagHelpers.cshtml)
+ IntermediateToken - (523:16,74 [2] ComplexTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (525:17,0 [16] ComplexTagHelpers.cshtml) - Html -
+ TagHelper - (541:17,16 [50] ComplexTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperProperty - (554:17,29 [33] ComplexTagHelpers.cshtml) - tYPe - string TestNamespace.InputTagHelper.Type - HtmlAttributeValueStyle.SingleQuotes
+ CSharpExpression - (556:17,31 [30] ComplexTagHelpers.cshtml)
+ IntermediateToken - (556:17,31 [30] ComplexTagHelpers.cshtml) - CSharp - true ? "checkbox" : "anything"
+ DefaultTagHelperProperty - (554:17,29 [33] ComplexTagHelpers.cshtml) - tYPe - string TestNamespace.InputTagHelper2.Type - HtmlAttributeValueStyle.SingleQuotes
+ CSharpExpression - (556:17,31 [30] ComplexTagHelpers.cshtml)
+ IntermediateToken - (556:17,31 [30] ComplexTagHelpers.cshtml) - CSharp - true ? "checkbox" : "anything"
+ DefaultTagHelperExecute -
+ HtmlContent - (591:17,66 [18] ComplexTagHelpers.cshtml)
+ IntermediateToken - (591:17,66 [2] ComplexTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (593:18,0 [16] ComplexTagHelpers.cshtml) - Html -
+ TagHelper - (609:18,16 [81] ComplexTagHelpers.cshtml) - input - TagMode.StartTagOnly
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperProperty - (622:18,29 [66] ComplexTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper.Type - HtmlAttributeValueStyle.SingleQuotes
+ CSharpCode - (623:18,30 [11] ComplexTagHelpers.cshtml)
+ IntermediateToken - (623:18,30 [11] ComplexTagHelpers.cshtml) - CSharp - if(true) {
+ HtmlContent - (640:18,47 [8] ComplexTagHelpers.cshtml)
+ IntermediateToken - (640:18,47 [8] ComplexTagHelpers.cshtml) - Html - checkbox
+ CSharpCode - (655:18,62 [10] ComplexTagHelpers.cshtml)
+ IntermediateToken - (655:18,62 [10] ComplexTagHelpers.cshtml) - CSharp - } else {
+ HtmlContent - (671:18,78 [8] ComplexTagHelpers.cshtml)
+ IntermediateToken - (671:18,78 [8] ComplexTagHelpers.cshtml) - Html - anything
+ CSharpCode - (686:18,93 [2] ComplexTagHelpers.cshtml)
+ IntermediateToken - (686:18,93 [2] ComplexTagHelpers.cshtml) - CSharp - }
+ DefaultTagHelperProperty - (622:18,29 [66] ComplexTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper2.Type - HtmlAttributeValueStyle.SingleQuotes
+ CSharpCode - (623:18,30 [11] ComplexTagHelpers.cshtml)
+ IntermediateToken - (623:18,30 [11] ComplexTagHelpers.cshtml) - CSharp - if(true) {
+ HtmlContent - (640:18,47 [8] ComplexTagHelpers.cshtml)
+ IntermediateToken - (640:18,47 [8] ComplexTagHelpers.cshtml) - Html - checkbox
+ CSharpCode - (655:18,62 [10] ComplexTagHelpers.cshtml)
+ IntermediateToken - (655:18,62 [10] ComplexTagHelpers.cshtml) - CSharp - } else {
+ HtmlContent - (671:18,78 [8] ComplexTagHelpers.cshtml)
+ IntermediateToken - (671:18,78 [8] ComplexTagHelpers.cshtml) - Html - anything
+ CSharpCode - (686:18,93 [2] ComplexTagHelpers.cshtml)
+ IntermediateToken - (686:18,93 [2] ComplexTagHelpers.cshtml) - CSharp - }
+ DefaultTagHelperExecute -
+ HtmlContent - (690:18,97 [2] ComplexTagHelpers.cshtml)
+ IntermediateToken - (690:18,97 [2] ComplexTagHelpers.cshtml) - Html - \n
+ CSharpCode - (692:19,0 [15] ComplexTagHelpers.cshtml)
+ IntermediateToken - (692:19,0 [15] ComplexTagHelpers.cshtml) - CSharp - }\n
+ HtmlContent - (707:20,0 [8] ComplexTagHelpers.cshtml)
+ IntermediateToken - (707:20,0 [8] ComplexTagHelpers.cshtml) - Html -
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperHtmlAttribute - - time - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlAttributeValue - (197:8,17 [7] ComplexTagHelpers.cshtml) -
+ IntermediateToken - (197:8,17 [7] ComplexTagHelpers.cshtml) - Html - Current
+ HtmlAttributeValue - (204:8,24 [6] ComplexTagHelpers.cshtml) -
+ IntermediateToken - (205:8,25 [5] ComplexTagHelpers.cshtml) - Html - Time:
+ CSharpExpressionAttributeValue - (210:8,30 [14] ComplexTagHelpers.cshtml) -
+ IntermediateToken - (212:8,32 [12] ComplexTagHelpers.cshtml) - CSharp - DateTime.Now
+ DefaultTagHelperExecute -
+ HtmlContent - (719:20,12 [10] ComplexTagHelpers.cshtml)
+ IntermediateToken - (719:20,12 [10] ComplexTagHelpers.cshtml) - Html - \n
+ TagHelper - (729:21,8 [181] ComplexTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (816:21,95 [2] ComplexTagHelpers.cshtml)
+ IntermediateToken - (816:21,95 [2] ComplexTagHelpers.cshtml) - Html - \n
+ CSharpCode - (818:22,0 [12] ComplexTagHelpers.cshtml)
+ IntermediateToken - (818:22,0 [12] ComplexTagHelpers.cshtml) - CSharp -
+ CSharpCode - (832:22,14 [21] ComplexTagHelpers.cshtml)
+ IntermediateToken - (832:22,14 [21] ComplexTagHelpers.cshtml) - CSharp - var @object = false;
+ HtmlContent - (856:23,0 [12] ComplexTagHelpers.cshtml)
+ IntermediateToken - (856:23,0 [12] ComplexTagHelpers.cshtml) - Html -
+ TagHelper - (868:23,12 [28] ComplexTagHelpers.cshtml) - input - TagMode.StartTagOnly
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperProperty - (884:23,28 [10] ComplexTagHelpers.cshtml) - ChecKED - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (885:23,29 [9] ComplexTagHelpers.cshtml)
+ IntermediateToken - (885:23,29 [1] ComplexTagHelpers.cshtml) - CSharp - (
+ IntermediateToken - (886:23,30 [7] ComplexTagHelpers.cshtml) - CSharp - @object
+ IntermediateToken - (893:23,37 [1] ComplexTagHelpers.cshtml) - CSharp - )
+ DefaultTagHelperExecute -
+ HtmlContent - (896:23,40 [10] ComplexTagHelpers.cshtml)
+ IntermediateToken - (896:23,40 [10] ComplexTagHelpers.cshtml) - Html - \n
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_3
+ DefaultTagHelperProperty - (759:21,38 [31] ComplexTagHelpers.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (760:21,39 [23] ComplexTagHelpers.cshtml)
+ IntermediateToken - (760:21,39 [23] ComplexTagHelpers.cshtml) - CSharp - DateTimeOffset.Now.Year
+ IntermediateToken - (783:21,62 [2] ComplexTagHelpers.cshtml) - CSharp - -
+ IntermediateToken - (785:21,64 [5] ComplexTagHelpers.cshtml) - CSharp - 1970
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_4
+ DefaultTagHelperExecute -
+ HtmlContent - (910:24,12 [10] ComplexTagHelpers.cshtml)
+ IntermediateToken - (910:24,12 [10] ComplexTagHelpers.cshtml) - Html - \n
+ TagHelper - (920:25,8 [155] ComplexTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (962:25,50 [14] ComplexTagHelpers.cshtml)
+ IntermediateToken - (962:25,50 [14] ComplexTagHelpers.cshtml) - Html - \n
+ TagHelper - (976:26,12 [85] ComplexTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_5
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_6
+ DefaultTagHelperProperty - (1024:26,60 [33] ComplexTagHelpers.cshtml) - checked - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (1025:26,61 [32] ComplexTagHelpers.cshtml)
+ IntermediateToken - (1025:26,61 [1] ComplexTagHelpers.cshtml) - CSharp - (
+ IntermediateToken - (1026:26,62 [30] ComplexTagHelpers.cshtml) - CSharp - DateTimeOffset.Now.Year > 2014
+ IntermediateToken - (1056:26,92 [1] ComplexTagHelpers.cshtml) - CSharp - )
+ DefaultTagHelperExecute -
+ HtmlContent - (1061:26,97 [10] ComplexTagHelpers.cshtml)
+ IntermediateToken - (1061:26,97 [10] ComplexTagHelpers.cshtml) - Html - \n
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperProperty - (928:25,16 [32] ComplexTagHelpers.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (928:25,16 [5] ComplexTagHelpers.cshtml) - CSharp - -1970
+ IntermediateToken - (933:25,21 [2] ComplexTagHelpers.cshtml) - CSharp - +
+ IntermediateToken - (935:25,23 [1] ComplexTagHelpers.cshtml) - CSharp -
+ CSharpExpression - (936:25,24 [24] ComplexTagHelpers.cshtml)
+ IntermediateToken - (936:25,24 [1] ComplexTagHelpers.cshtml) - CSharp - @
+ IntermediateToken - (937:25,25 [23] ComplexTagHelpers.cshtml) - CSharp - DateTimeOffset.Now.Year
+ DefaultTagHelperExecute -
+ HtmlContent - (1075:27,12 [10] ComplexTagHelpers.cshtml)
+ IntermediateToken - (1075:27,12 [10] ComplexTagHelpers.cshtml) - Html - \n
+ TagHelper - (1085:28,8 [116] ComplexTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (1125:28,48 [14] ComplexTagHelpers.cshtml)
+ IntermediateToken - (1125:28,48 [14] ComplexTagHelpers.cshtml) - Html - \n
+ TagHelper - (1139:29,12 [48] ComplexTagHelpers.cshtml) - input - TagMode.StartTagOnly
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperProperty - (1155:29,28 [30] ComplexTagHelpers.cshtml) - checked - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (1155:29,28 [30] ComplexTagHelpers.cshtml) - CSharp - DateTimeOffset.Now.Year > 2014
+ DefaultTagHelperExecute -
+ HtmlContent - (1187:29,60 [10] ComplexTagHelpers.cshtml)
+ IntermediateToken - (1187:29,60 [10] ComplexTagHelpers.cshtml) - Html - \n
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperProperty - (1093:28,16 [30] ComplexTagHelpers.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (1093:28,16 [30] ComplexTagHelpers.cshtml) - CSharp - DateTimeOffset.Now.Year\-1970
+ DefaultTagHelperExecute -
+ HtmlContent - (1201:30,12 [10] ComplexTagHelpers.cshtml)
+ IntermediateToken - (1201:30,12 [10] ComplexTagHelpers.cshtml) - Html - \n
+ TagHelper - (1211:31,8 [133] ComplexTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (1253:31,50 [14] ComplexTagHelpers.cshtml)
+ IntermediateToken - (1253:31,50 [14] ComplexTagHelpers.cshtml) - Html - \n
+ TagHelper - (1267:32,12 [63] ComplexTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperProperty - (1283:32,28 [43] ComplexTagHelpers.cshtml) - checked - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (1283:32,28 [3] ComplexTagHelpers.cshtml) - CSharp -
+ CSharpExpression - (1286:32,31 [30] ComplexTagHelpers.cshtml)
+ IntermediateToken - (1286:32,31 [1] ComplexTagHelpers.cshtml) - CSharp - @
+ IntermediateToken - (1287:32,32 [1] ComplexTagHelpers.cshtml) - CSharp - (
+ IntermediateToken - (1288:32,33 [27] ComplexTagHelpers.cshtml) - CSharp - DateTimeOffset.Now.Year
+ IntermediateToken - (1315:32,60 [1] ComplexTagHelpers.cshtml) - CSharp - )
+ IntermediateToken - (1316:32,61 [2] ComplexTagHelpers.cshtml) - CSharp - >
+ IntermediateToken - (1318:32,63 [5] ComplexTagHelpers.cshtml) - CSharp - 2014
+ IntermediateToken - (1323:32,68 [3] ComplexTagHelpers.cshtml) - CSharp -
+ DefaultTagHelperExecute -
+ HtmlContent - (1330:32,75 [10] ComplexTagHelpers.cshtml)
+ IntermediateToken - (1330:32,75 [10] ComplexTagHelpers.cshtml) - Html - \n
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperProperty - (1219:31,16 [32] ComplexTagHelpers.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (1220:31,17 [31] ComplexTagHelpers.cshtml)
+ IntermediateToken - (1220:31,17 [1] ComplexTagHelpers.cshtml) - CSharp - (
+ IntermediateToken - (1221:31,18 [29] ComplexTagHelpers.cshtml) - CSharp - "My age is this long.".Length
+ IntermediateToken - (1250:31,47 [1] ComplexTagHelpers.cshtml) - CSharp - )
+ DefaultTagHelperExecute -
+ HtmlContent - (1344:33,12 [10] ComplexTagHelpers.cshtml)
+ IntermediateToken - (1344:33,12 [2] ComplexTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (1346:34,0 [8] ComplexTagHelpers.cshtml) - Html -
+ CSharpExpression - (1355:34,9 [69] ComplexTagHelpers.cshtml)
+ IntermediateToken - (1355:34,9 [11] ComplexTagHelpers.cshtml) - CSharp - someMethod(
+ Template - (1367:34,21 [57] ComplexTagHelpers.cshtml)
+ TagHelper - (1367:34,21 [57] ComplexTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ TagHelper - (1394:34,48 [26] ComplexTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperProperty - (1409:34,63 [8] ComplexTagHelpers.cshtml) - checked - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (1410:34,64 [7] ComplexTagHelpers.cshtml)
+ IntermediateToken - (1410:34,64 [7] ComplexTagHelpers.cshtml) - CSharp - checked
+ DefaultTagHelperExecute -
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperProperty - (1375:34,29 [3] ComplexTagHelpers.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (1375:34,29 [3] ComplexTagHelpers.cshtml) - CSharp - 123
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_7
+ DefaultTagHelperExecute -
+ IntermediateToken - (1424:34,78 [1] ComplexTagHelpers.cshtml) - CSharp - )
+ HtmlContent - (1425:34,79 [14] ComplexTagHelpers.cshtml)
+ IntermediateToken - (1425:34,79 [6] ComplexTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (1431:35,4 [6] ComplexTagHelpers.cshtml) - Html - </div>
+ IntermediateToken - (1437:35,10 [2] ComplexTagHelpers.cshtml) - Html - \n
+ CSharpCode - (1439:36,0 [1] ComplexTagHelpers.cshtml)
+ IntermediateToken - (1439:36,0 [1] ComplexTagHelpers.cshtml) - CSharp - }
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml
new file mode 100644
index 0000000000..be1a9c2079
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml
@@ -0,0 +1,15 @@
+@{
+ var ch = true;
+ var cls = "bar";
+ <a href="Foo" />
+ <p class="@cls" />
+ <p class="foo @cls" />
+ <p class="@cls foo" />
+ <input type="checkbox" checked="@ch" />
+ <input type="checkbox" checked="foo @ch" />
+ <p class="@if(cls != null) { @cls }" />
+ <a href="~/Foo" />
+ <script src="@Url.Content("~/Scripts/jquery-1.6.2.min.js")" type="text/javascript"></script>
+ <script src="@Url.Content("~/Scripts/modernizr-2.0.6-development-only.js")" type="text/javascript"></script>
+ <script src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.16/jquery-ui.min.js" type="text/javascript"></script>
+} \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes_DesignTime.codegen.cs
new file mode 100644
index 0000000000..d603d44201
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes_DesignTime.codegen.cs
@@ -0,0 +1,102 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ConditionalAttributes_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml"
+
+ var ch = true;
+ var cls = "bar";
+
+
+#line default
+#line hidden
+
+
+#line 5 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml"
+ __o = cls;
+
+#line default
+#line hidden
+
+
+#line 6 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml"
+ __o = cls;
+
+#line default
+#line hidden
+
+
+#line 7 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml"
+ __o = cls;
+
+#line default
+#line hidden
+
+
+#line 8 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml"
+ __o = ch;
+
+#line default
+#line hidden
+
+
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml"
+ __o = ch;
+
+#line default
+#line hidden
+
+
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml"
+ if(cls != null) {
+
+#line default
+#line hidden
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml"
+ __o = cls;
+
+#line default
+#line hidden
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml"
+ }
+
+#line default
+#line hidden
+
+
+
+
+#line 12 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml"
+ __o = Url.Content("~/Scripts/jquery-1.6.2.min.js");
+
+#line default
+#line hidden
+
+
+#line 13 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml"
+ __o = Url.Content("~/Scripts/modernizr-2.0.6-development-only.js");
+
+#line default
+#line hidden
+
+
+
+
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes_DesignTime.ir.txt
new file mode 100644
index 0000000000..29abe0b400
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes_DesignTime.ir.txt
@@ -0,0 +1,120 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ConditionalAttributes_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (2:0,2 [48] ConditionalAttributes.cshtml)
+ IntermediateToken - (2:0,2 [48] ConditionalAttributes.cshtml) - CSharp - \n var ch = true;\n var cls = "bar";\n
+ HtmlContent - (50:3,4 [16] ConditionalAttributes.cshtml)
+ IntermediateToken - (50:3,4 [2] ConditionalAttributes.cshtml) - Html - <a
+ IntermediateToken - (52:3,6 [11] ConditionalAttributes.cshtml) - Html - href="Foo"
+ IntermediateToken - (63:3,17 [3] ConditionalAttributes.cshtml) - Html - />
+ CSharpCode - (66:3,20 [6] ConditionalAttributes.cshtml)
+ IntermediateToken - (66:3,20 [6] ConditionalAttributes.cshtml) - CSharp - \n
+ HtmlContent - (72:4,4 [2] ConditionalAttributes.cshtml)
+ IntermediateToken - (72:4,4 [2] ConditionalAttributes.cshtml) - Html - <p
+ HtmlAttribute - (74:4,6 [13] ConditionalAttributes.cshtml) - class=" - "
+ CSharpExpressionAttributeValue - (82:4,14 [4] ConditionalAttributes.cshtml) -
+ IntermediateToken - (83:4,15 [3] ConditionalAttributes.cshtml) - CSharp - cls
+ HtmlContent - (87:4,19 [3] ConditionalAttributes.cshtml)
+ IntermediateToken - (87:4,19 [3] ConditionalAttributes.cshtml) - Html - />
+ CSharpCode - (90:4,22 [6] ConditionalAttributes.cshtml)
+ IntermediateToken - (90:4,22 [6] ConditionalAttributes.cshtml) - CSharp - \n
+ HtmlContent - (96:5,4 [2] ConditionalAttributes.cshtml)
+ IntermediateToken - (96:5,4 [2] ConditionalAttributes.cshtml) - Html - <p
+ HtmlAttribute - (98:5,6 [17] ConditionalAttributes.cshtml) - class=" - "
+ HtmlAttributeValue - (106:5,14 [3] ConditionalAttributes.cshtml) -
+ IntermediateToken - (106:5,14 [3] ConditionalAttributes.cshtml) - Html - foo
+ CSharpExpressionAttributeValue - (109:5,17 [5] ConditionalAttributes.cshtml) -
+ IntermediateToken - (111:5,19 [3] ConditionalAttributes.cshtml) - CSharp - cls
+ HtmlContent - (115:5,23 [3] ConditionalAttributes.cshtml)
+ IntermediateToken - (115:5,23 [3] ConditionalAttributes.cshtml) - Html - />
+ CSharpCode - (118:5,26 [6] ConditionalAttributes.cshtml)
+ IntermediateToken - (118:5,26 [6] ConditionalAttributes.cshtml) - CSharp - \n
+ HtmlContent - (124:6,4 [2] ConditionalAttributes.cshtml)
+ IntermediateToken - (124:6,4 [2] ConditionalAttributes.cshtml) - Html - <p
+ HtmlAttribute - (126:6,6 [17] ConditionalAttributes.cshtml) - class=" - "
+ CSharpExpressionAttributeValue - (134:6,14 [4] ConditionalAttributes.cshtml) -
+ IntermediateToken - (135:6,15 [3] ConditionalAttributes.cshtml) - CSharp - cls
+ HtmlAttributeValue - (138:6,18 [4] ConditionalAttributes.cshtml) -
+ IntermediateToken - (139:6,19 [3] ConditionalAttributes.cshtml) - Html - foo
+ HtmlContent - (143:6,23 [3] ConditionalAttributes.cshtml)
+ IntermediateToken - (143:6,23 [3] ConditionalAttributes.cshtml) - Html - />
+ CSharpCode - (146:6,26 [6] ConditionalAttributes.cshtml)
+ IntermediateToken - (146:6,26 [6] ConditionalAttributes.cshtml) - CSharp - \n
+ HtmlContent - (152:7,4 [22] ConditionalAttributes.cshtml)
+ IntermediateToken - (152:7,4 [6] ConditionalAttributes.cshtml) - Html - <input
+ IntermediateToken - (158:7,10 [16] ConditionalAttributes.cshtml) - Html - type="checkbox"
+ HtmlAttribute - (174:7,26 [14] ConditionalAttributes.cshtml) - checked=" - "
+ CSharpExpressionAttributeValue - (184:7,36 [3] ConditionalAttributes.cshtml) -
+ IntermediateToken - (185:7,37 [2] ConditionalAttributes.cshtml) - CSharp - ch
+ HtmlContent - (188:7,40 [3] ConditionalAttributes.cshtml)
+ IntermediateToken - (188:7,40 [3] ConditionalAttributes.cshtml) - Html - />
+ CSharpCode - (191:7,43 [6] ConditionalAttributes.cshtml)
+ IntermediateToken - (191:7,43 [6] ConditionalAttributes.cshtml) - CSharp - \n
+ HtmlContent - (197:8,4 [22] ConditionalAttributes.cshtml)
+ IntermediateToken - (197:8,4 [6] ConditionalAttributes.cshtml) - Html - <input
+ IntermediateToken - (203:8,10 [16] ConditionalAttributes.cshtml) - Html - type="checkbox"
+ HtmlAttribute - (219:8,26 [18] ConditionalAttributes.cshtml) - checked=" - "
+ HtmlAttributeValue - (229:8,36 [3] ConditionalAttributes.cshtml) -
+ IntermediateToken - (229:8,36 [3] ConditionalAttributes.cshtml) - Html - foo
+ CSharpExpressionAttributeValue - (232:8,39 [4] ConditionalAttributes.cshtml) -
+ IntermediateToken - (234:8,41 [2] ConditionalAttributes.cshtml) - CSharp - ch
+ HtmlContent - (237:8,44 [3] ConditionalAttributes.cshtml)
+ IntermediateToken - (237:8,44 [3] ConditionalAttributes.cshtml) - Html - />
+ CSharpCode - (240:8,47 [6] ConditionalAttributes.cshtml)
+ IntermediateToken - (240:8,47 [6] ConditionalAttributes.cshtml) - CSharp - \n
+ HtmlContent - (246:9,4 [2] ConditionalAttributes.cshtml)
+ IntermediateToken - (246:9,4 [2] ConditionalAttributes.cshtml) - Html - <p
+ HtmlAttribute - (248:9,6 [34] ConditionalAttributes.cshtml) - class=" - "
+ CSharpCodeAttributeValue - (256:9,14 [25] ConditionalAttributes.cshtml) -
+ IntermediateToken - (257:9,15 [18] ConditionalAttributes.cshtml) - CSharp - if(cls != null) {
+ CSharpExpression - (276:9,34 [3] ConditionalAttributes.cshtml)
+ IntermediateToken - (276:9,34 [3] ConditionalAttributes.cshtml) - CSharp - cls
+ IntermediateToken - (279:9,37 [2] ConditionalAttributes.cshtml) - CSharp - }
+ HtmlContent - (282:9,40 [3] ConditionalAttributes.cshtml)
+ IntermediateToken - (282:9,40 [3] ConditionalAttributes.cshtml) - Html - />
+ CSharpCode - (285:9,43 [6] ConditionalAttributes.cshtml)
+ IntermediateToken - (285:9,43 [6] ConditionalAttributes.cshtml) - CSharp - \n
+ HtmlContent - (291:10,4 [18] ConditionalAttributes.cshtml)
+ IntermediateToken - (291:10,4 [2] ConditionalAttributes.cshtml) - Html - <a
+ IntermediateToken - (293:10,6 [13] ConditionalAttributes.cshtml) - Html - href="~/Foo"
+ IntermediateToken - (306:10,19 [3] ConditionalAttributes.cshtml) - Html - />
+ CSharpCode - (309:10,22 [6] ConditionalAttributes.cshtml)
+ IntermediateToken - (309:10,22 [6] ConditionalAttributes.cshtml) - CSharp - \n
+ HtmlContent - (315:11,4 [7] ConditionalAttributes.cshtml)
+ IntermediateToken - (315:11,4 [7] ConditionalAttributes.cshtml) - Html - <script
+ HtmlAttribute - (322:11,11 [52] ConditionalAttributes.cshtml) - src=" - "
+ CSharpExpressionAttributeValue - (328:11,17 [45] ConditionalAttributes.cshtml) -
+ IntermediateToken - (329:11,18 [44] ConditionalAttributes.cshtml) - CSharp - Url.Content("~/Scripts/jquery-1.6.2.min.js")
+ HtmlContent - (374:11,63 [33] ConditionalAttributes.cshtml)
+ IntermediateToken - (374:11,63 [23] ConditionalAttributes.cshtml) - Html - type="text/javascript"
+ IntermediateToken - (397:11,86 [1] ConditionalAttributes.cshtml) - Html - >
+ IntermediateToken - (398:11,87 [9] ConditionalAttributes.cshtml) - Html - </script>
+ CSharpCode - (407:11,96 [6] ConditionalAttributes.cshtml)
+ IntermediateToken - (407:11,96 [6] ConditionalAttributes.cshtml) - CSharp - \n
+ HtmlContent - (413:12,4 [7] ConditionalAttributes.cshtml)
+ IntermediateToken - (413:12,4 [7] ConditionalAttributes.cshtml) - Html - <script
+ HtmlAttribute - (420:12,11 [68] ConditionalAttributes.cshtml) - src=" - "
+ CSharpExpressionAttributeValue - (426:12,17 [61] ConditionalAttributes.cshtml) -
+ IntermediateToken - (427:12,18 [60] ConditionalAttributes.cshtml) - CSharp - Url.Content("~/Scripts/modernizr-2.0.6-development-only.js")
+ HtmlContent - (488:12,79 [33] ConditionalAttributes.cshtml)
+ IntermediateToken - (488:12,79 [23] ConditionalAttributes.cshtml) - Html - type="text/javascript"
+ IntermediateToken - (511:12,102 [1] ConditionalAttributes.cshtml) - Html - >
+ IntermediateToken - (512:12,103 [9] ConditionalAttributes.cshtml) - Html - </script>
+ CSharpCode - (521:12,112 [6] ConditionalAttributes.cshtml)
+ IntermediateToken - (521:12,112 [6] ConditionalAttributes.cshtml) - CSharp - \n
+ HtmlContent - (527:13,4 [111] ConditionalAttributes.cshtml)
+ IntermediateToken - (527:13,4 [7] ConditionalAttributes.cshtml) - Html - <script
+ IntermediateToken - (534:13,11 [71] ConditionalAttributes.cshtml) - Html - src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.16/jquery-ui.min.js"
+ IntermediateToken - (605:13,82 [23] ConditionalAttributes.cshtml) - Html - type="text/javascript"
+ IntermediateToken - (628:13,105 [1] ConditionalAttributes.cshtml) - Html - >
+ IntermediateToken - (629:13,106 [9] ConditionalAttributes.cshtml) - Html - </script>
+ CSharpCode - (638:13,115 [2] ConditionalAttributes.cshtml)
+ IntermediateToken - (638:13,115 [2] ConditionalAttributes.cshtml) - CSharp - \n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes_DesignTime.mappings.txt
new file mode 100644
index 0000000000..6824785c85
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes_DesignTime.mappings.txt
@@ -0,0 +1,138 @@
+Source Location: (2:0,2 [48] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml)
+|
+ var ch = true;
+ var cls = "bar";
+ |
+Generated Location: (743:18,2 [48] )
+|
+ var ch = true;
+ var cls = "bar";
+ |
+
+Source Location: (66:3,20 [6] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml)
+|
+ |
+Generated Location: (856:25,32 [6] )
+|
+ |
+
+Source Location: (83:4,15 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml)
+|cls|
+Generated Location: (976:28,15 [3] )
+|cls|
+
+Source Location: (90:4,22 [6] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml)
+|
+ |
+Generated Location: (1047:32,34 [6] )
+|
+ |
+
+Source Location: (111:5,19 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml)
+|cls|
+Generated Location: (1171:35,19 [3] )
+|cls|
+
+Source Location: (118:5,26 [6] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml)
+|
+ |
+Generated Location: (1246:39,38 [6] )
+|
+ |
+
+Source Location: (135:6,15 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml)
+|cls|
+Generated Location: (1366:42,15 [3] )
+|cls|
+
+Source Location: (146:6,26 [6] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml)
+|
+ |
+Generated Location: (1441:46,38 [6] )
+|
+ |
+
+Source Location: (185:7,37 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml)
+|ch|
+Generated Location: (1583:49,37 [2] )
+|ch|
+
+Source Location: (191:7,43 [6] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml)
+|
+ |
+Generated Location: (1674:53,55 [6] )
+|
+ |
+
+Source Location: (234:8,41 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml)
+|ch|
+Generated Location: (1820:56,41 [2] )
+|ch|
+
+Source Location: (240:8,47 [6] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml)
+|
+ |
+Generated Location: (1915:60,59 [6] )
+|
+ |
+
+Source Location: (257:9,15 [18] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml)
+|if(cls != null) { |
+Generated Location: (2036:63,15 [18] )
+|if(cls != null) { |
+
+Source Location: (276:9,34 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml)
+|cls|
+Generated Location: (2219:68,34 [3] )
+|cls|
+
+Source Location: (279:9,37 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml)
+| }|
+Generated Location: (2391:73,37 [2] )
+| }|
+
+Source Location: (285:9,43 [6] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml)
+|
+ |
+Generated Location: (2481:77,55 [6] )
+|
+ |
+
+Source Location: (309:10,22 [6] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml)
+|
+ |
+Generated Location: (2523:79,34 [6] )
+|
+ |
+
+Source Location: (329:11,18 [44] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml)
+|Url.Content("~/Scripts/jquery-1.6.2.min.js")|
+Generated Location: (2647:82,18 [44] )
+|Url.Content("~/Scripts/jquery-1.6.2.min.js")|
+
+Source Location: (407:11,96 [6] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml)
+|
+ |
+Generated Location: (2833:86,108 [6] )
+|
+ |
+
+Source Location: (427:12,18 [60] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml)
+|Url.Content("~/Scripts/modernizr-2.0.6-development-only.js")|
+Generated Location: (2957:89,18 [60] )
+|Url.Content("~/Scripts/modernizr-2.0.6-development-only.js")|
+
+Source Location: (521:12,112 [6] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml)
+|
+ |
+Generated Location: (3175:93,124 [6] )
+|
+ |
+
+Source Location: (638:13,115 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml)
+|
+|
+Generated Location: (3310:95,127 [2] )
+|
+|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes_Runtime.codegen.cs
new file mode 100644
index 0000000000..d7a93987f6
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes_Runtime.codegen.cs
@@ -0,0 +1,108 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "f0a97e23ecfbaaaa77b528650156cb123ebdbe60"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ConditionalAttributes_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"f0a97e23ecfbaaaa77b528650156cb123ebdbe60", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ConditionalAttributes_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml"
+
+ var ch = true;
+ var cls = "bar";
+
+#line default
+#line hidden
+ WriteLiteral(" <a href=\"Foo\" />\r\n <p");
+ BeginWriteAttribute("class", " class=\"", 74, "\"", 86, 1);
+#line 5 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml"
+WriteAttributeValue("", 82, cls, 82, 4, false);
+
+#line default
+#line hidden
+ EndWriteAttribute();
+ WriteLiteral(" />\r\n <p");
+ BeginWriteAttribute("class", " class=\"", 98, "\"", 114, 2);
+ WriteAttributeValue("", 106, "foo", 106, 3, true);
+#line 6 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml"
+WriteAttributeValue(" ", 109, cls, 110, 4, false);
+
+#line default
+#line hidden
+ EndWriteAttribute();
+ WriteLiteral(" />\r\n <p");
+ BeginWriteAttribute("class", " class=\"", 126, "\"", 142, 2);
+#line 7 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml"
+WriteAttributeValue("", 134, cls, 134, 4, false);
+
+#line default
+#line hidden
+ WriteAttributeValue(" ", 138, "foo", 139, 4, true);
+ EndWriteAttribute();
+ WriteLiteral(" />\r\n <input type=\"checkbox\"");
+ BeginWriteAttribute("checked", " checked=\"", 174, "\"", 187, 1);
+#line 8 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml"
+WriteAttributeValue("", 184, ch, 184, 3, false);
+
+#line default
+#line hidden
+ EndWriteAttribute();
+ WriteLiteral(" />\r\n <input type=\"checkbox\"");
+ BeginWriteAttribute("checked", " checked=\"", 219, "\"", 236, 2);
+ WriteAttributeValue("", 229, "foo", 229, 3, true);
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml"
+WriteAttributeValue(" ", 232, ch, 233, 3, false);
+
+#line default
+#line hidden
+ EndWriteAttribute();
+ WriteLiteral(" />\r\n <p");
+ BeginWriteAttribute("class", " class=\"", 248, "\"", 281, 1);
+ WriteAttributeValue("", 256, new Microsoft.AspNetCore.Mvc.Razor.HelperResult(async(__razor_attribute_value_writer) => {
+ PushWriter(__razor_attribute_value_writer);
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml"
+ if(cls != null) {
+
+#line default
+#line hidden
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml"
+ Write(cls);
+
+#line default
+#line hidden
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml"
+ }
+
+#line default
+#line hidden
+ PopWriter();
+ }
+ ), 256, 25, false);
+ EndWriteAttribute();
+ WriteLiteral(" />\r\n <a href=\"~/Foo\" />\r\n <script");
+ BeginWriteAttribute("src", " src=\"", 322, "\"", 373, 1);
+#line 12 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml"
+WriteAttributeValue("", 328, Url.Content("~/Scripts/jquery-1.6.2.min.js"), 328, 45, false);
+
+#line default
+#line hidden
+ EndWriteAttribute();
+ WriteLiteral(" type=\"text/javascript\"></script>\r\n <script");
+ BeginWriteAttribute("src", " src=\"", 420, "\"", 487, 1);
+#line 13 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes.cshtml"
+WriteAttributeValue("", 426, Url.Content("~/Scripts/modernizr-2.0.6-development-only.js"), 426, 61, false);
+
+#line default
+#line hidden
+ EndWriteAttribute();
+ WriteLiteral(" type=\"text/javascript\"></script>\r\n <script src=\"http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.16/jquery-ui.min.js\" type=\"text/javascript\"></script>\r\n");
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes_Runtime.ir.txt
new file mode 100644
index 0000000000..3b1e6f21df
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ConditionalAttributes_Runtime.ir.txt
@@ -0,0 +1,107 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ConditionalAttributes_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (2:0,2 [44] ConditionalAttributes.cshtml)
+ IntermediateToken - (2:0,2 [44] ConditionalAttributes.cshtml) - CSharp - \n var ch = true;\n var cls = "bar";\n
+ HtmlContent - (46:3,0 [28] ConditionalAttributes.cshtml)
+ IntermediateToken - (46:3,0 [4] ConditionalAttributes.cshtml) - Html -
+ IntermediateToken - (50:3,4 [2] ConditionalAttributes.cshtml) - Html - <a
+ IntermediateToken - (52:3,6 [11] ConditionalAttributes.cshtml) - Html - href="Foo"
+ IntermediateToken - (63:3,17 [3] ConditionalAttributes.cshtml) - Html - />
+ IntermediateToken - (66:3,20 [2] ConditionalAttributes.cshtml) - Html - \n
+ IntermediateToken - (68:4,0 [4] ConditionalAttributes.cshtml) - Html -
+ IntermediateToken - (72:4,4 [2] ConditionalAttributes.cshtml) - Html - <p
+ HtmlAttribute - (74:4,6 [13] ConditionalAttributes.cshtml) - class=" - "
+ CSharpExpressionAttributeValue - (82:4,14 [4] ConditionalAttributes.cshtml) -
+ IntermediateToken - (83:4,15 [3] ConditionalAttributes.cshtml) - CSharp - cls
+ HtmlContent - (87:4,19 [11] ConditionalAttributes.cshtml)
+ IntermediateToken - (87:4,19 [3] ConditionalAttributes.cshtml) - Html - />
+ IntermediateToken - (90:4,22 [2] ConditionalAttributes.cshtml) - Html - \n
+ IntermediateToken - (92:5,0 [4] ConditionalAttributes.cshtml) - Html -
+ IntermediateToken - (96:5,4 [2] ConditionalAttributes.cshtml) - Html - <p
+ HtmlAttribute - (98:5,6 [17] ConditionalAttributes.cshtml) - class=" - "
+ HtmlAttributeValue - (106:5,14 [3] ConditionalAttributes.cshtml) -
+ IntermediateToken - (106:5,14 [3] ConditionalAttributes.cshtml) - Html - foo
+ CSharpExpressionAttributeValue - (109:5,17 [5] ConditionalAttributes.cshtml) -
+ IntermediateToken - (111:5,19 [3] ConditionalAttributes.cshtml) - CSharp - cls
+ HtmlContent - (115:5,23 [11] ConditionalAttributes.cshtml)
+ IntermediateToken - (115:5,23 [3] ConditionalAttributes.cshtml) - Html - />
+ IntermediateToken - (118:5,26 [2] ConditionalAttributes.cshtml) - Html - \n
+ IntermediateToken - (120:6,0 [4] ConditionalAttributes.cshtml) - Html -
+ IntermediateToken - (124:6,4 [2] ConditionalAttributes.cshtml) - Html - <p
+ HtmlAttribute - (126:6,6 [17] ConditionalAttributes.cshtml) - class=" - "
+ CSharpExpressionAttributeValue - (134:6,14 [4] ConditionalAttributes.cshtml) -
+ IntermediateToken - (135:6,15 [3] ConditionalAttributes.cshtml) - CSharp - cls
+ HtmlAttributeValue - (138:6,18 [4] ConditionalAttributes.cshtml) -
+ IntermediateToken - (139:6,19 [3] ConditionalAttributes.cshtml) - Html - foo
+ HtmlContent - (143:6,23 [31] ConditionalAttributes.cshtml)
+ IntermediateToken - (143:6,23 [3] ConditionalAttributes.cshtml) - Html - />
+ IntermediateToken - (146:6,26 [2] ConditionalAttributes.cshtml) - Html - \n
+ IntermediateToken - (148:7,0 [4] ConditionalAttributes.cshtml) - Html -
+ IntermediateToken - (152:7,4 [6] ConditionalAttributes.cshtml) - Html - <input
+ IntermediateToken - (158:7,10 [16] ConditionalAttributes.cshtml) - Html - type="checkbox"
+ HtmlAttribute - (174:7,26 [14] ConditionalAttributes.cshtml) - checked=" - "
+ CSharpExpressionAttributeValue - (184:7,36 [3] ConditionalAttributes.cshtml) -
+ IntermediateToken - (185:7,37 [2] ConditionalAttributes.cshtml) - CSharp - ch
+ HtmlContent - (188:7,40 [31] ConditionalAttributes.cshtml)
+ IntermediateToken - (188:7,40 [3] ConditionalAttributes.cshtml) - Html - />
+ IntermediateToken - (191:7,43 [2] ConditionalAttributes.cshtml) - Html - \n
+ IntermediateToken - (193:8,0 [4] ConditionalAttributes.cshtml) - Html -
+ IntermediateToken - (197:8,4 [6] ConditionalAttributes.cshtml) - Html - <input
+ IntermediateToken - (203:8,10 [16] ConditionalAttributes.cshtml) - Html - type="checkbox"
+ HtmlAttribute - (219:8,26 [18] ConditionalAttributes.cshtml) - checked=" - "
+ HtmlAttributeValue - (229:8,36 [3] ConditionalAttributes.cshtml) -
+ IntermediateToken - (229:8,36 [3] ConditionalAttributes.cshtml) - Html - foo
+ CSharpExpressionAttributeValue - (232:8,39 [4] ConditionalAttributes.cshtml) -
+ IntermediateToken - (234:8,41 [2] ConditionalAttributes.cshtml) - CSharp - ch
+ HtmlContent - (237:8,44 [11] ConditionalAttributes.cshtml)
+ IntermediateToken - (237:8,44 [3] ConditionalAttributes.cshtml) - Html - />
+ IntermediateToken - (240:8,47 [2] ConditionalAttributes.cshtml) - Html - \n
+ IntermediateToken - (242:9,0 [4] ConditionalAttributes.cshtml) - Html -
+ IntermediateToken - (246:9,4 [2] ConditionalAttributes.cshtml) - Html - <p
+ HtmlAttribute - (248:9,6 [34] ConditionalAttributes.cshtml) - class=" - "
+ CSharpCodeAttributeValue - (256:9,14 [25] ConditionalAttributes.cshtml) -
+ IntermediateToken - (257:9,15 [18] ConditionalAttributes.cshtml) - CSharp - if(cls != null) {
+ CSharpExpression - (276:9,34 [3] ConditionalAttributes.cshtml)
+ IntermediateToken - (276:9,34 [3] ConditionalAttributes.cshtml) - CSharp - cls
+ IntermediateToken - (279:9,37 [2] ConditionalAttributes.cshtml) - CSharp - }
+ HtmlContent - (282:9,40 [40] ConditionalAttributes.cshtml)
+ IntermediateToken - (282:9,40 [3] ConditionalAttributes.cshtml) - Html - />
+ IntermediateToken - (285:9,43 [2] ConditionalAttributes.cshtml) - Html - \n
+ IntermediateToken - (287:10,0 [4] ConditionalAttributes.cshtml) - Html -
+ IntermediateToken - (291:10,4 [2] ConditionalAttributes.cshtml) - Html - <a
+ IntermediateToken - (293:10,6 [13] ConditionalAttributes.cshtml) - Html - href="~/Foo"
+ IntermediateToken - (306:10,19 [3] ConditionalAttributes.cshtml) - Html - />
+ IntermediateToken - (309:10,22 [2] ConditionalAttributes.cshtml) - Html - \n
+ IntermediateToken - (311:11,0 [4] ConditionalAttributes.cshtml) - Html -
+ IntermediateToken - (315:11,4 [7] ConditionalAttributes.cshtml) - Html - <script
+ HtmlAttribute - (322:11,11 [52] ConditionalAttributes.cshtml) - src=" - "
+ CSharpExpressionAttributeValue - (328:11,17 [45] ConditionalAttributes.cshtml) -
+ IntermediateToken - (329:11,18 [44] ConditionalAttributes.cshtml) - CSharp - Url.Content("~/Scripts/jquery-1.6.2.min.js")
+ HtmlContent - (374:11,63 [46] ConditionalAttributes.cshtml)
+ IntermediateToken - (374:11,63 [23] ConditionalAttributes.cshtml) - Html - type="text/javascript"
+ IntermediateToken - (397:11,86 [1] ConditionalAttributes.cshtml) - Html - >
+ IntermediateToken - (398:11,87 [9] ConditionalAttributes.cshtml) - Html - </script>
+ IntermediateToken - (407:11,96 [2] ConditionalAttributes.cshtml) - Html - \n
+ IntermediateToken - (409:12,0 [4] ConditionalAttributes.cshtml) - Html -
+ IntermediateToken - (413:12,4 [7] ConditionalAttributes.cshtml) - Html - <script
+ HtmlAttribute - (420:12,11 [68] ConditionalAttributes.cshtml) - src=" - "
+ CSharpExpressionAttributeValue - (426:12,17 [61] ConditionalAttributes.cshtml) -
+ IntermediateToken - (427:12,18 [60] ConditionalAttributes.cshtml) - CSharp - Url.Content("~/Scripts/modernizr-2.0.6-development-only.js")
+ HtmlContent - (488:12,79 [152] ConditionalAttributes.cshtml)
+ IntermediateToken - (488:12,79 [23] ConditionalAttributes.cshtml) - Html - type="text/javascript"
+ IntermediateToken - (511:12,102 [1] ConditionalAttributes.cshtml) - Html - >
+ IntermediateToken - (512:12,103 [9] ConditionalAttributes.cshtml) - Html - </script>
+ IntermediateToken - (521:12,112 [2] ConditionalAttributes.cshtml) - Html - \n
+ IntermediateToken - (523:13,0 [4] ConditionalAttributes.cshtml) - Html -
+ IntermediateToken - (527:13,4 [7] ConditionalAttributes.cshtml) - Html - <script
+ IntermediateToken - (534:13,11 [71] ConditionalAttributes.cshtml) - Html - src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.8.16/jquery-ui.min.js"
+ IntermediateToken - (605:13,82 [23] ConditionalAttributes.cshtml) - Html - type="text/javascript"
+ IntermediateToken - (628:13,105 [1] ConditionalAttributes.cshtml) - Html - >
+ IntermediateToken - (629:13,106 [9] ConditionalAttributes.cshtml) - Html - </script>
+ IntermediateToken - (638:13,115 [2] ConditionalAttributes.cshtml) - Html - \n
+ CSharpCode - (640:14,0 [0] ConditionalAttributes.cshtml)
+ IntermediateToken - (640:14,0 [0] ConditionalAttributes.cshtml) - CSharp -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CssSelectorTagHelperAttributes.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CssSelectorTagHelperAttributes.cshtml
new file mode 100644
index 0000000000..c71c637b14
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CssSelectorTagHelperAttributes.cshtml
@@ -0,0 +1,13 @@
+@addTagHelper "*, TestAssembly"
+
+<a href="~/">2 TagHelpers.</a>
+<a href=~/hello>1 TagHelper.</a>
+<a href="~/?hello=world">2 TagHelpers</a>
+<a href="~/@false?hello=world">2 TagHelpers</a>
+<a href=' ~/'>0 TagHelpers.</a>
+<a href=~/@false>1 TagHelper</a>
+<a href="~/?hello=world@false">1 TagHelper</a>
+<a href='~/?hello=world @false'>1 TagHelper</a>
+<input type="text" value="3 TagHelpers" />
+<input type='texty' value="3 TagHelpers" />
+<input type="checkbox" value="2 TagHelper" /> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CssSelectorTagHelperAttributes_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CssSelectorTagHelperAttributes_Runtime.codegen.cs
new file mode 100644
index 0000000000..4eca82aaa6
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CssSelectorTagHelperAttributes_Runtime.codegen.cs
@@ -0,0 +1,242 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CssSelectorTagHelperAttributes.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "385650281a1d9679c38ffc205756c3c26f6927e7"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_CssSelectorTagHelperAttributes_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CssSelectorTagHelperAttributes.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"385650281a1d9679c38ffc205756c3c26f6927e7", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CssSelectorTagHelperAttributes.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_CssSelectorTagHelperAttributes_Runtime
+ {
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("href", new global::Microsoft.AspNetCore.Html.HtmlString("~/"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_1 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("href", new global::Microsoft.AspNetCore.Html.HtmlString("~/hello"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_2 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("href", new global::Microsoft.AspNetCore.Html.HtmlString("~/?hello=world"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_3 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("href", new global::Microsoft.AspNetCore.Html.HtmlString("~/?hello=world@false"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_4 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("type", "text", global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_5 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("value", new global::Microsoft.AspNetCore.Html.HtmlString("3 TagHelpers"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_6 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("type", "texty", global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.SingleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_7 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("type", "checkbox", global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_8 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("value", new global::Microsoft.AspNetCore.Html.HtmlString("2 TagHelper"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ #line hidden
+ #pragma warning disable 0169
+ private string __tagHelperStringValueBuffer;
+ #pragma warning restore 0169
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext __tagHelperExecutionContext;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner();
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __backed__tagHelperScopeManager = null;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __tagHelperScopeManager
+ {
+ get
+ {
+ if (__backed__tagHelperScopeManager == null)
+ {
+ __backed__tagHelperScopeManager = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager(StartTagHelperWritingScope, EndTagHelperWritingScope);
+ }
+ return __backed__tagHelperScopeManager;
+ }
+ }
+ private global::TestNamespace.ATagHelper __TestNamespace_ATagHelper;
+ private global::TestNamespace.CatchAllTagHelper __TestNamespace_CatchAllTagHelper;
+ private global::TestNamespace.ATagHelperMultipleSelectors __TestNamespace_ATagHelperMultipleSelectors;
+ private global::TestNamespace.InputTagHelper __TestNamespace_InputTagHelper;
+ private global::TestNamespace.InputTagHelper2 __TestNamespace_InputTagHelper2;
+ private global::TestNamespace.CatchAllTagHelper2 __TestNamespace_CatchAllTagHelper2;
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("2 TagHelpers.");
+ }
+ );
+ __TestNamespace_ATagHelper = CreateTagHelper<global::TestNamespace.ATagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_ATagHelper);
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_CatchAllTagHelper);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_0);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("1 TagHelper.");
+ }
+ );
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_CatchAllTagHelper);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_1);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("2 TagHelpers");
+ }
+ );
+ __TestNamespace_ATagHelperMultipleSelectors = CreateTagHelper<global::TestNamespace.ATagHelperMultipleSelectors>();
+ __tagHelperExecutionContext.Add(__TestNamespace_ATagHelperMultipleSelectors);
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_CatchAllTagHelper);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_2);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("2 TagHelpers");
+ }
+ );
+ __TestNamespace_ATagHelperMultipleSelectors = CreateTagHelper<global::TestNamespace.ATagHelperMultipleSelectors>();
+ __tagHelperExecutionContext.Add(__TestNamespace_ATagHelperMultipleSelectors);
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_CatchAllTagHelper);
+ BeginAddHtmlAttributeValues(__tagHelperExecutionContext, "href", 3, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ AddHtmlAttributeValue("", 153, "~/", 153, 2, true);
+#line 6 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CssSelectorTagHelperAttributes.cshtml"
+AddHtmlAttributeValue("", 155, false, 155, 6, false);
+
+#line default
+#line hidden
+ AddHtmlAttributeValue("", 161, "?hello=world", 161, 12, true);
+ EndAddHtmlAttributeValues(__tagHelperExecutionContext);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n<a href=\' ~/\'>0 TagHelpers.</a>\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("1 TagHelper");
+ }
+ );
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_CatchAllTagHelper);
+ BeginAddHtmlAttributeValues(__tagHelperExecutionContext, "href", 2, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ AddHtmlAttributeValue("", 234, "~/", 234, 2, true);
+#line 8 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CssSelectorTagHelperAttributes.cshtml"
+AddHtmlAttributeValue("", 236, false, 236, 6, false);
+
+#line default
+#line hidden
+ EndAddHtmlAttributeValues(__tagHelperExecutionContext);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("1 TagHelper");
+ }
+ );
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_CatchAllTagHelper);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_3);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("a", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("1 TagHelper");
+ }
+ );
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_CatchAllTagHelper);
+ BeginAddHtmlAttributeValues(__tagHelperExecutionContext, "href", 2, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.SingleQuotes);
+ AddHtmlAttributeValue("", 317, "~/?hello=world", 317, 14, true);
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CssSelectorTagHelperAttributes.cshtml"
+AddHtmlAttributeValue(" ", 331, false, 332, 6, false);
+
+#line default
+#line hidden
+ EndAddHtmlAttributeValues(__tagHelperExecutionContext);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper2);
+ __TestNamespace_CatchAllTagHelper2 = CreateTagHelper<global::TestNamespace.CatchAllTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_CatchAllTagHelper2);
+ __TestNamespace_InputTagHelper.Type = (string)__tagHelperAttribute_4.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_4);
+ __TestNamespace_InputTagHelper2.Type = (string)__tagHelperAttribute_4.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_4);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_5);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper2);
+ __TestNamespace_CatchAllTagHelper2 = CreateTagHelper<global::TestNamespace.CatchAllTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_CatchAllTagHelper2);
+ __TestNamespace_InputTagHelper2.Type = (string)__tagHelperAttribute_6.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_6);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_5);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper2);
+ __TestNamespace_CatchAllTagHelper2 = CreateTagHelper<global::TestNamespace.CatchAllTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_CatchAllTagHelper2);
+ __TestNamespace_InputTagHelper2.Type = (string)__tagHelperAttribute_7.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_7);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_8);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CssSelectorTagHelperAttributes_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CssSelectorTagHelperAttributes_Runtime.ir.txt
new file mode 100644
index 0000000000..ef34c24d71
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/CssSelectorTagHelperAttributes_Runtime.ir.txt
@@ -0,0 +1,137 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_CssSelectorTagHelperAttributes_Runtime - -
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_0 - href - ~/ - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_1 - href - ~/hello - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_2 - href - ~/?hello=world - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_3 - href - ~/?hello=world@false - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_4 - type - text - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_5 - value - 3 TagHelpers - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_6 - type - texty - HtmlAttributeValueStyle.SingleQuotes
+ PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_7 - type - checkbox - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_8 - value - 2 TagHelper - HtmlAttributeValueStyle.DoubleQuotes
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.ATagHelper - __TestNamespace_ATagHelper
+ FieldDeclaration - - private - global::TestNamespace.CatchAllTagHelper - __TestNamespace_CatchAllTagHelper
+ FieldDeclaration - - private - global::TestNamespace.ATagHelperMultipleSelectors - __TestNamespace_ATagHelperMultipleSelectors
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper - __TestNamespace_InputTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper2 - __TestNamespace_InputTagHelper2
+ FieldDeclaration - - private - global::TestNamespace.CatchAllTagHelper2 - __TestNamespace_CatchAllTagHelper2
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (33:1,0 [2] CssSelectorTagHelperAttributes.cshtml)
+ IntermediateToken - (33:1,0 [2] CssSelectorTagHelperAttributes.cshtml) - Html - \n
+ TagHelper - (35:2,0 [30] CssSelectorTagHelperAttributes.cshtml) - a - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (48:2,13 [13] CssSelectorTagHelperAttributes.cshtml)
+ IntermediateToken - (48:2,13 [13] CssSelectorTagHelperAttributes.cshtml) - Html - 2 TagHelpers.
+ DefaultTagHelperCreate - - TestNamespace.ATagHelper
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_0
+ DefaultTagHelperExecute -
+ HtmlContent - (65:2,30 [2] CssSelectorTagHelperAttributes.cshtml)
+ IntermediateToken - (65:2,30 [2] CssSelectorTagHelperAttributes.cshtml) - Html - \n
+ TagHelper - (67:3,0 [32] CssSelectorTagHelperAttributes.cshtml) - a - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (83:3,16 [12] CssSelectorTagHelperAttributes.cshtml)
+ IntermediateToken - (83:3,16 [12] CssSelectorTagHelperAttributes.cshtml) - Html - 1 TagHelper.
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_1
+ DefaultTagHelperExecute -
+ HtmlContent - (99:3,32 [2] CssSelectorTagHelperAttributes.cshtml)
+ IntermediateToken - (99:3,32 [2] CssSelectorTagHelperAttributes.cshtml) - Html - \n
+ TagHelper - (101:4,0 [41] CssSelectorTagHelperAttributes.cshtml) - a - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (126:4,25 [12] CssSelectorTagHelperAttributes.cshtml)
+ IntermediateToken - (126:4,25 [12] CssSelectorTagHelperAttributes.cshtml) - Html - 2 TagHelpers
+ DefaultTagHelperCreate - - TestNamespace.ATagHelperMultipleSelectors
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_2
+ DefaultTagHelperExecute -
+ HtmlContent - (142:4,41 [2] CssSelectorTagHelperAttributes.cshtml)
+ IntermediateToken - (142:4,41 [2] CssSelectorTagHelperAttributes.cshtml) - Html - \n
+ TagHelper - (144:5,0 [47] CssSelectorTagHelperAttributes.cshtml) - a - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (175:5,31 [12] CssSelectorTagHelperAttributes.cshtml)
+ IntermediateToken - (175:5,31 [12] CssSelectorTagHelperAttributes.cshtml) - Html - 2 TagHelpers
+ DefaultTagHelperCreate - - TestNamespace.ATagHelperMultipleSelectors
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperHtmlAttribute - - href - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlAttributeValue - (153:5,9 [2] CssSelectorTagHelperAttributes.cshtml) -
+ IntermediateToken - (153:5,9 [2] CssSelectorTagHelperAttributes.cshtml) - Html - ~/
+ CSharpExpressionAttributeValue - (155:5,11 [6] CssSelectorTagHelperAttributes.cshtml) -
+ IntermediateToken - (156:5,12 [5] CssSelectorTagHelperAttributes.cshtml) - CSharp - false
+ HtmlAttributeValue - (161:5,17 [12] CssSelectorTagHelperAttributes.cshtml) -
+ IntermediateToken - (161:5,17 [12] CssSelectorTagHelperAttributes.cshtml) - Html - ?hello=world
+ DefaultTagHelperExecute -
+ HtmlContent - (191:5,47 [35] CssSelectorTagHelperAttributes.cshtml)
+ IntermediateToken - (191:5,47 [2] CssSelectorTagHelperAttributes.cshtml) - Html - \n
+ IntermediateToken - (193:6,0 [2] CssSelectorTagHelperAttributes.cshtml) - Html - <a
+ IntermediateToken - (195:6,2 [11] CssSelectorTagHelperAttributes.cshtml) - Html - href=' ~/'
+ IntermediateToken - (206:6,13 [1] CssSelectorTagHelperAttributes.cshtml) - Html - >
+ IntermediateToken - (207:6,14 [13] CssSelectorTagHelperAttributes.cshtml) - Html - 0 TagHelpers.
+ IntermediateToken - (220:6,27 [4] CssSelectorTagHelperAttributes.cshtml) - Html - </a>
+ IntermediateToken - (224:6,31 [2] CssSelectorTagHelperAttributes.cshtml) - Html - \n
+ TagHelper - (226:7,0 [32] CssSelectorTagHelperAttributes.cshtml) - a - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (243:7,17 [11] CssSelectorTagHelperAttributes.cshtml)
+ IntermediateToken - (243:7,17 [11] CssSelectorTagHelperAttributes.cshtml) - Html - 1 TagHelper
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperHtmlAttribute - - href - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlAttributeValue - (234:7,8 [2] CssSelectorTagHelperAttributes.cshtml) -
+ IntermediateToken - (234:7,8 [2] CssSelectorTagHelperAttributes.cshtml) - Html - ~/
+ CSharpExpressionAttributeValue - (236:7,10 [6] CssSelectorTagHelperAttributes.cshtml) -
+ IntermediateToken - (237:7,11 [5] CssSelectorTagHelperAttributes.cshtml) - CSharp - false
+ DefaultTagHelperExecute -
+ HtmlContent - (258:7,32 [2] CssSelectorTagHelperAttributes.cshtml)
+ IntermediateToken - (258:7,32 [2] CssSelectorTagHelperAttributes.cshtml) - Html - \n
+ TagHelper - (260:8,0 [46] CssSelectorTagHelperAttributes.cshtml) - a - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (291:8,31 [11] CssSelectorTagHelperAttributes.cshtml)
+ IntermediateToken - (291:8,31 [11] CssSelectorTagHelperAttributes.cshtml) - Html - 1 TagHelper
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_3
+ DefaultTagHelperExecute -
+ HtmlContent - (306:8,46 [2] CssSelectorTagHelperAttributes.cshtml)
+ IntermediateToken - (306:8,46 [2] CssSelectorTagHelperAttributes.cshtml) - Html - \n
+ TagHelper - (308:9,0 [47] CssSelectorTagHelperAttributes.cshtml) - a - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (340:9,32 [11] CssSelectorTagHelperAttributes.cshtml)
+ IntermediateToken - (340:9,32 [11] CssSelectorTagHelperAttributes.cshtml) - Html - 1 TagHelper
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperHtmlAttribute - - href - HtmlAttributeValueStyle.SingleQuotes
+ HtmlAttributeValue - (317:9,9 [14] CssSelectorTagHelperAttributes.cshtml) -
+ IntermediateToken - (317:9,9 [14] CssSelectorTagHelperAttributes.cshtml) - Html - ~/?hello=world
+ CSharpExpressionAttributeValue - (331:9,23 [7] CssSelectorTagHelperAttributes.cshtml) -
+ IntermediateToken - (333:9,25 [5] CssSelectorTagHelperAttributes.cshtml) - CSharp - false
+ DefaultTagHelperExecute -
+ HtmlContent - (355:9,47 [2] CssSelectorTagHelperAttributes.cshtml)
+ IntermediateToken - (355:9,47 [2] CssSelectorTagHelperAttributes.cshtml) - Html - \n
+ TagHelper - (357:10,0 [42] CssSelectorTagHelperAttributes.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper2
+ PreallocatedTagHelperProperty - (370:10,13 [4] CssSelectorTagHelperAttributes.cshtml) - __tagHelperAttribute_4 - type - Type
+ PreallocatedTagHelperProperty - (370:10,13 [4] CssSelectorTagHelperAttributes.cshtml) - __tagHelperAttribute_4 - type - Type
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_5
+ DefaultTagHelperExecute -
+ HtmlContent - (399:10,42 [2] CssSelectorTagHelperAttributes.cshtml)
+ IntermediateToken - (399:10,42 [2] CssSelectorTagHelperAttributes.cshtml) - Html - \n
+ TagHelper - (401:11,0 [43] CssSelectorTagHelperAttributes.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper2
+ PreallocatedTagHelperProperty - (414:11,13 [5] CssSelectorTagHelperAttributes.cshtml) - __tagHelperAttribute_6 - type - Type
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_5
+ DefaultTagHelperExecute -
+ HtmlContent - (444:11,43 [2] CssSelectorTagHelperAttributes.cshtml)
+ IntermediateToken - (444:11,43 [2] CssSelectorTagHelperAttributes.cshtml) - Html - \n
+ TagHelper - (446:12,0 [45] CssSelectorTagHelperAttributes.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper2
+ PreallocatedTagHelperProperty - (459:12,13 [8] CssSelectorTagHelperAttributes.cshtml) - __tagHelperAttribute_7 - type - Type
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_8
+ DefaultTagHelperExecute -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DesignTime.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DesignTime.cshtml
new file mode 100644
index 0000000000..5dcaeebdbf
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DesignTime.cshtml
@@ -0,0 +1,15 @@
+<div>
+ @for(int i = 1; i <= 10; i++) {
+ <p>This is item #@i</p>
+ }
+</div>
+
+<p>
+@(Foo(Bar.Baz))
+@Foo(@<p>Bar @baz Biz</p>)
+</p>
+
+@section Footer {
+ <p>Foo</p>
+ @bar
+} \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DesignTime_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DesignTime_DesignTime.codegen.cs
new file mode 100644
index 0000000000..d30aea4b02
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DesignTime_DesignTime.codegen.cs
@@ -0,0 +1,68 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_DesignTime_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+global::System.Object Footer = null;
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DesignTime.cshtml"
+ for(int i = 1; i <= 10; i++) {
+
+
+#line default
+#line hidden
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DesignTime.cshtml"
+ __o = i;
+
+#line default
+#line hidden
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DesignTime.cshtml"
+
+ }
+
+#line default
+#line hidden
+#line 8 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DesignTime.cshtml"
+__o = Foo(Bar.Baz);
+
+#line default
+#line hidden
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DesignTime.cshtml"
+__o = Foo(item => new Template(async(__razor_template_writer) => {
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DesignTime.cshtml"
+ __o = baz;
+
+#line default
+#line hidden
+}
+));
+
+#line default
+#line hidden
+ DefineSection("Footer", async(__razor_section_writer) => {
+#line 14 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DesignTime.cshtml"
+__o = bar;
+
+#line default
+#line hidden
+ }
+ );
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DesignTime_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DesignTime_DesignTime.ir.txt
new file mode 100644
index 0000000000..95345bd918
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DesignTime_DesignTime.ir.txt
@@ -0,0 +1,63 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_DesignTime_DesignTime - -
+ DesignTimeDirective -
+ DirectiveToken - (173:11,9 [6] DesignTime.cshtml) - Footer
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (0:0,0 [19] DesignTime.cshtml)
+ IntermediateToken - (0:0,0 [5] DesignTime.cshtml) - Html - <div>
+ IntermediateToken - (5:0,5 [14] DesignTime.cshtml) - Html - \n
+ CSharpCode - (20:1,13 [36] DesignTime.cshtml)
+ IntermediateToken - (20:1,13 [36] DesignTime.cshtml) - CSharp - for(int i = 1; i <= 10; i++) {\n
+ HtmlContent - (56:2,4 [17] DesignTime.cshtml)
+ IntermediateToken - (56:2,4 [3] DesignTime.cshtml) - Html - <p>
+ IntermediateToken - (59:2,7 [14] DesignTime.cshtml) - Html - This is item #
+ CSharpExpression - (74:2,22 [1] DesignTime.cshtml)
+ IntermediateToken - (74:2,22 [1] DesignTime.cshtml) - CSharp - i
+ HtmlContent - (75:2,23 [4] DesignTime.cshtml)
+ IntermediateToken - (75:2,23 [4] DesignTime.cshtml) - Html - </p>
+ CSharpCode - (79:2,27 [15] DesignTime.cshtml)
+ IntermediateToken - (79:2,27 [15] DesignTime.cshtml) - CSharp - \n }
+ HtmlContent - (94:3,13 [17] DesignTime.cshtml)
+ IntermediateToken - (94:3,13 [2] DesignTime.cshtml) - Html - \n
+ IntermediateToken - (96:4,0 [6] DesignTime.cshtml) - Html - </div>
+ IntermediateToken - (102:4,6 [4] DesignTime.cshtml) - Html - \n\n
+ IntermediateToken - (106:6,0 [3] DesignTime.cshtml) - Html - <p>
+ IntermediateToken - (109:6,3 [2] DesignTime.cshtml) - Html - \n
+ CSharpExpression - (113:7,2 [12] DesignTime.cshtml)
+ IntermediateToken - (113:7,2 [12] DesignTime.cshtml) - CSharp - Foo(Bar.Baz)
+ HtmlContent - (126:7,15 [2] DesignTime.cshtml)
+ IntermediateToken - (126:7,15 [2] DesignTime.cshtml) - Html - \n
+ CSharpExpression - (129:8,1 [23] DesignTime.cshtml)
+ IntermediateToken - (129:8,1 [4] DesignTime.cshtml) - CSharp - Foo(
+ Template - (134:8,6 [18] DesignTime.cshtml)
+ HtmlContent - (134:8,6 [7] DesignTime.cshtml)
+ IntermediateToken - (134:8,6 [3] DesignTime.cshtml) - Html - <p>
+ IntermediateToken - (137:8,9 [4] DesignTime.cshtml) - Html - Bar
+ CSharpExpression - (142:8,14 [3] DesignTime.cshtml)
+ IntermediateToken - (142:8,14 [3] DesignTime.cshtml) - CSharp - baz
+ HtmlContent - (145:8,17 [8] DesignTime.cshtml)
+ IntermediateToken - (145:8,17 [4] DesignTime.cshtml) - Html - Biz
+ IntermediateToken - (149:8,21 [4] DesignTime.cshtml) - Html - </p>
+ IntermediateToken - (153:8,25 [1] DesignTime.cshtml) - CSharp - )
+ HtmlContent - (154:8,26 [10] DesignTime.cshtml)
+ IntermediateToken - (154:8,26 [2] DesignTime.cshtml) - Html - \n
+ IntermediateToken - (156:9,0 [4] DesignTime.cshtml) - Html - </p>
+ IntermediateToken - (160:9,4 [4] DesignTime.cshtml) - Html - \n\n
+ Section - - Footer
+ HtmlContent - (181:11,17 [22] DesignTime.cshtml)
+ IntermediateToken - (181:11,17 [6] DesignTime.cshtml) - Html - \n
+ IntermediateToken - (187:12,4 [3] DesignTime.cshtml) - Html - <p>
+ IntermediateToken - (190:12,7 [3] DesignTime.cshtml) - Html - Foo
+ IntermediateToken - (193:12,10 [4] DesignTime.cshtml) - Html - </p>
+ IntermediateToken - (197:12,14 [6] DesignTime.cshtml) - Html - \n
+ CSharpExpression - (204:13,5 [3] DesignTime.cshtml)
+ IntermediateToken - (204:13,5 [3] DesignTime.cshtml) - CSharp - bar
+ HtmlContent - (207:13,8 [2] DesignTime.cshtml)
+ IntermediateToken - (207:13,8 [2] DesignTime.cshtml) - Html - \n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DesignTime_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DesignTime_DesignTime.mappings.txt
new file mode 100644
index 0000000000..87ab943dfc
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DesignTime_DesignTime.mappings.txt
@@ -0,0 +1,49 @@
+Source Location: (173:11,9 [6] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DesignTime.cshtml)
+|Footer|
+Generated Location: (401:10,22 [6] )
+|Footer|
+
+Source Location: (20:1,13 [36] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DesignTime.cshtml)
+|for(int i = 1; i <= 10; i++) {
+ |
+Generated Location: (830:22,13 [36] )
+|for(int i = 1; i <= 10; i++) {
+ |
+
+Source Location: (74:2,22 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DesignTime.cshtml)
+|i|
+Generated Location: (1007:28,22 [1] )
+|i|
+
+Source Location: (79:2,27 [15] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DesignTime.cshtml)
+|
+ }|
+Generated Location: (1155:33,27 [15] )
+|
+ }|
+
+Source Location: (113:7,2 [12] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DesignTime.cshtml)
+|Foo(Bar.Baz)|
+Generated Location: (1295:39,6 [12] )
+|Foo(Bar.Baz)|
+
+Source Location: (129:8,1 [4] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DesignTime.cshtml)
+|Foo(|
+Generated Location: (1433:44,6 [4] )
+|Foo(|
+
+Source Location: (142:8,14 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DesignTime.cshtml)
+|baz|
+Generated Location: (1595:46,14 [3] )
+|baz|
+
+Source Location: (153:8,25 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DesignTime.cshtml)
+|)|
+Generated Location: (1636:51,1 [1] )
+|)|
+
+Source Location: (204:13,5 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DesignTime.cshtml)
+|bar|
+Generated Location: (1836:57,6 [3] )
+|bar|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers.cshtml
new file mode 100644
index 0000000000..369558994e
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers.cshtml
@@ -0,0 +1,7 @@
+@addTagHelper "*, TestAssembly"
+
+<p age="3" AGE="40" Age="500">
+ <input type="button" TYPE="checkbox" />
+ <input type="button" checked="true" type="checkbox" checked="false" />
+ <input type='button' checked="true" type=checkbox checked='true' type="checkbox" checked=true />
+</p> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers_DesignTime.codegen.cs
new file mode 100644
index 0000000000..bb9a7ef103
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers_DesignTime.codegen.cs
@@ -0,0 +1,57 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_DuplicateAttributeTagHelpers_DesignTime
+ {
+ private global::TestNamespace.PTagHelper __TestNamespace_PTagHelper;
+ private global::TestNamespace.InputTagHelper __TestNamespace_InputTagHelper;
+ private global::TestNamespace.InputTagHelper2 __TestNamespace_InputTagHelper2;
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "*, TestAssembly";
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __TestNamespace_InputTagHelper.Type = "button";
+ __TestNamespace_InputTagHelper2.Type = __TestNamespace_InputTagHelper.Type;
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __TestNamespace_InputTagHelper.Type = "button";
+ __TestNamespace_InputTagHelper2.Type = __TestNamespace_InputTagHelper.Type;
+#line 5 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers.cshtml"
+__TestNamespace_InputTagHelper2.Checked = true;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __TestNamespace_InputTagHelper.Type = "button";
+ __TestNamespace_InputTagHelper2.Type = __TestNamespace_InputTagHelper.Type;
+#line 6 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers.cshtml"
+__TestNamespace_InputTagHelper2.Checked = true;
+
+#line default
+#line hidden
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers.cshtml"
+__TestNamespace_PTagHelper.Age = 3;
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers_DesignTime.ir.txt
new file mode 100644
index 0000000000..63264fc10d
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers_DesignTime.ir.txt
@@ -0,0 +1,96 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_DuplicateAttributeTagHelpers_DesignTime - -
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.PTagHelper - __TestNamespace_PTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper - __TestNamespace_InputTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper2 - __TestNamespace_InputTagHelper2
+ DesignTimeDirective -
+ DirectiveToken - (14:0,14 [17] DuplicateAttributeTagHelpers.cshtml) - "*, TestAssembly"
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (31:0,31 [4] DuplicateAttributeTagHelpers.cshtml)
+ IntermediateToken - (31:0,31 [4] DuplicateAttributeTagHelpers.cshtml) - Html - \n\n
+ TagHelper - (35:2,0 [259] DuplicateAttributeTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (65:2,30 [6] DuplicateAttributeTagHelpers.cshtml)
+ IntermediateToken - (65:2,30 [6] DuplicateAttributeTagHelpers.cshtml) - Html - \n
+ TagHelper - (71:3,4 [39] DuplicateAttributeTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperProperty - (84:3,17 [6] DuplicateAttributeTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper.Type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (84:3,17 [6] DuplicateAttributeTagHelpers.cshtml)
+ IntermediateToken - (84:3,17 [6] DuplicateAttributeTagHelpers.cshtml) - Html - button
+ DefaultTagHelperProperty - (84:3,17 [6] DuplicateAttributeTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper2.Type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (84:3,17 [6] DuplicateAttributeTagHelpers.cshtml)
+ IntermediateToken - (84:3,17 [6] DuplicateAttributeTagHelpers.cshtml) - Html - button
+ DefaultTagHelperHtmlAttribute - - TYPE - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (98:3,31 [8] DuplicateAttributeTagHelpers.cshtml)
+ IntermediateToken - (98:3,31 [8] DuplicateAttributeTagHelpers.cshtml) - Html - checkbox
+ DefaultTagHelperExecute -
+ HtmlContent - (110:3,43 [6] DuplicateAttributeTagHelpers.cshtml)
+ IntermediateToken - (110:3,43 [6] DuplicateAttributeTagHelpers.cshtml) - Html - \n
+ TagHelper - (116:4,4 [70] DuplicateAttributeTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperProperty - (129:4,17 [6] DuplicateAttributeTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper.Type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (129:4,17 [6] DuplicateAttributeTagHelpers.cshtml)
+ IntermediateToken - (129:4,17 [6] DuplicateAttributeTagHelpers.cshtml) - Html - button
+ DefaultTagHelperProperty - (129:4,17 [6] DuplicateAttributeTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper2.Type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (129:4,17 [6] DuplicateAttributeTagHelpers.cshtml)
+ IntermediateToken - (129:4,17 [6] DuplicateAttributeTagHelpers.cshtml) - Html - button
+ DefaultTagHelperProperty - (146:4,34 [4] DuplicateAttributeTagHelpers.cshtml) - checked - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (146:4,34 [4] DuplicateAttributeTagHelpers.cshtml) - CSharp - true
+ DefaultTagHelperHtmlAttribute - - type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (158:4,46 [8] DuplicateAttributeTagHelpers.cshtml)
+ IntermediateToken - (158:4,46 [8] DuplicateAttributeTagHelpers.cshtml) - Html - checkbox
+ DefaultTagHelperHtmlAttribute - - checked - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (177:4,65 [5] DuplicateAttributeTagHelpers.cshtml)
+ IntermediateToken - (177:4,65 [5] DuplicateAttributeTagHelpers.cshtml) - Html - false
+ DefaultTagHelperExecute -
+ HtmlContent - (186:4,74 [6] DuplicateAttributeTagHelpers.cshtml)
+ IntermediateToken - (186:4,74 [6] DuplicateAttributeTagHelpers.cshtml) - Html - \n
+ TagHelper - (192:5,4 [96] DuplicateAttributeTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperProperty - (205:5,17 [6] DuplicateAttributeTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper.Type - HtmlAttributeValueStyle.SingleQuotes
+ HtmlContent - (205:5,17 [6] DuplicateAttributeTagHelpers.cshtml)
+ IntermediateToken - (205:5,17 [6] DuplicateAttributeTagHelpers.cshtml) - Html - button
+ DefaultTagHelperProperty - (205:5,17 [6] DuplicateAttributeTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper2.Type - HtmlAttributeValueStyle.SingleQuotes
+ HtmlContent - (205:5,17 [6] DuplicateAttributeTagHelpers.cshtml)
+ IntermediateToken - (205:5,17 [6] DuplicateAttributeTagHelpers.cshtml) - Html - button
+ DefaultTagHelperProperty - (222:5,34 [4] DuplicateAttributeTagHelpers.cshtml) - checked - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (222:5,34 [4] DuplicateAttributeTagHelpers.cshtml) - CSharp - true
+ DefaultTagHelperHtmlAttribute - - type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (233:5,45 [8] DuplicateAttributeTagHelpers.cshtml)
+ IntermediateToken - (233:5,45 [8] DuplicateAttributeTagHelpers.cshtml) - Html - checkbox
+ DefaultTagHelperHtmlAttribute - - checked - HtmlAttributeValueStyle.SingleQuotes
+ HtmlContent - (251:5,63 [4] DuplicateAttributeTagHelpers.cshtml)
+ IntermediateToken - (251:5,63 [4] DuplicateAttributeTagHelpers.cshtml) - Html - true
+ DefaultTagHelperHtmlAttribute - - type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (263:5,75 [8] DuplicateAttributeTagHelpers.cshtml)
+ IntermediateToken - (263:5,75 [8] DuplicateAttributeTagHelpers.cshtml) - Html - checkbox
+ DefaultTagHelperHtmlAttribute - - checked - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (281:5,93 [4] DuplicateAttributeTagHelpers.cshtml)
+ IntermediateToken - (281:5,93 [4] DuplicateAttributeTagHelpers.cshtml) - Html - true
+ DefaultTagHelperExecute -
+ HtmlContent - (288:5,100 [2] DuplicateAttributeTagHelpers.cshtml)
+ IntermediateToken - (288:5,100 [2] DuplicateAttributeTagHelpers.cshtml) - Html - \n
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperProperty - (43:2,8 [1] DuplicateAttributeTagHelpers.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (43:2,8 [1] DuplicateAttributeTagHelpers.cshtml) - CSharp - 3
+ DefaultTagHelperHtmlAttribute - - AGE - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (51:2,16 [2] DuplicateAttributeTagHelpers.cshtml)
+ IntermediateToken - (51:2,16 [2] DuplicateAttributeTagHelpers.cshtml) - Html - 40
+ DefaultTagHelperHtmlAttribute - - Age - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (60:2,25 [3] DuplicateAttributeTagHelpers.cshtml)
+ IntermediateToken - (60:2,25 [3] DuplicateAttributeTagHelpers.cshtml) - Html - 500
+ DefaultTagHelperExecute -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers_DesignTime.mappings.txt
new file mode 100644
index 0000000000..550a6a62a4
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers_DesignTime.mappings.txt
@@ -0,0 +1,20 @@
+Source Location: (14:0,14 [17] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers.cshtml)
+|"*, TestAssembly"|
+Generated Location: (686:13,37 [17] )
+|"*, TestAssembly"|
+
+Source Location: (146:4,34 [4] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers.cshtml)
+|true|
+Generated Location: (1882:33,42 [4] )
+|true|
+
+Source Location: (222:5,34 [4] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers.cshtml)
+|true|
+Generated Location: (2424:42,42 [4] )
+|true|
+
+Source Location: (43:2,8 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers.cshtml)
+|3|
+Generated Location: (2694:48,33 [1] )
+|3|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers_Runtime.codegen.cs
new file mode 100644
index 0000000000..fd4e90095d
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers_Runtime.codegen.cs
@@ -0,0 +1,146 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "4dc2ea6fc4bd045c34a90867a6a72183a3d01323"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_DuplicateAttributeTagHelpers_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"4dc2ea6fc4bd045c34a90867a6a72183a3d01323", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_DuplicateAttributeTagHelpers_Runtime
+ {
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("type", "button", global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_1 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("TYPE", new global::Microsoft.AspNetCore.Html.HtmlString("checkbox"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_2 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("type", new global::Microsoft.AspNetCore.Html.HtmlString("checkbox"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_3 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("checked", new global::Microsoft.AspNetCore.Html.HtmlString("false"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_4 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("type", "button", global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.SingleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_5 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("checked", new global::Microsoft.AspNetCore.Html.HtmlString("true"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.SingleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_6 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("checked", new global::Microsoft.AspNetCore.Html.HtmlString("true"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_7 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("AGE", new global::Microsoft.AspNetCore.Html.HtmlString("40"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_8 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("Age", new global::Microsoft.AspNetCore.Html.HtmlString("500"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ #line hidden
+ #pragma warning disable 0169
+ private string __tagHelperStringValueBuffer;
+ #pragma warning restore 0169
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext __tagHelperExecutionContext;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner();
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __backed__tagHelperScopeManager = null;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __tagHelperScopeManager
+ {
+ get
+ {
+ if (__backed__tagHelperScopeManager == null)
+ {
+ __backed__tagHelperScopeManager = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager(StartTagHelperWritingScope, EndTagHelperWritingScope);
+ }
+ return __backed__tagHelperScopeManager;
+ }
+ }
+ private global::TestNamespace.PTagHelper __TestNamespace_PTagHelper;
+ private global::TestNamespace.InputTagHelper __TestNamespace_InputTagHelper;
+ private global::TestNamespace.InputTagHelper2 __TestNamespace_InputTagHelper2;
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("p", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper2);
+ __TestNamespace_InputTagHelper.Type = (string)__tagHelperAttribute_0.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_0);
+ __TestNamespace_InputTagHelper2.Type = (string)__tagHelperAttribute_0.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_0);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_1);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper2);
+ __TestNamespace_InputTagHelper.Type = (string)__tagHelperAttribute_0.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_0);
+ __TestNamespace_InputTagHelper2.Type = (string)__tagHelperAttribute_0.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_0);
+#line 5 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers.cshtml"
+__TestNamespace_InputTagHelper2.Checked = true;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("checked", __TestNamespace_InputTagHelper2.Checked, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_2);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_3);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper2);
+ __TestNamespace_InputTagHelper.Type = (string)__tagHelperAttribute_4.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_4);
+ __TestNamespace_InputTagHelper2.Type = (string)__tagHelperAttribute_4.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_4);
+#line 6 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers.cshtml"
+__TestNamespace_InputTagHelper2.Checked = true;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("checked", __TestNamespace_InputTagHelper2.Checked, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_2);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_5);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_2);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_6);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n");
+ }
+ );
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_PTagHelper);
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers.cshtml"
+__TestNamespace_PTagHelper.Age = 3;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("age", __TestNamespace_PTagHelper.Age, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_7);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_8);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers_Runtime.ir.txt
new file mode 100644
index 0000000000..f2e84ead91
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateAttributeTagHelpers_Runtime.ir.txt
@@ -0,0 +1,69 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_DuplicateAttributeTagHelpers_Runtime - -
+ PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_0 - type - button - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_1 - TYPE - checkbox - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_2 - type - checkbox - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_3 - checked - false - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_4 - type - button - HtmlAttributeValueStyle.SingleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_5 - checked - true - HtmlAttributeValueStyle.SingleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_6 - checked - true - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_7 - AGE - 40 - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_8 - Age - 500 - HtmlAttributeValueStyle.DoubleQuotes
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.PTagHelper - __TestNamespace_PTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper - __TestNamespace_InputTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper2 - __TestNamespace_InputTagHelper2
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (33:1,0 [2] DuplicateAttributeTagHelpers.cshtml)
+ IntermediateToken - (33:1,0 [2] DuplicateAttributeTagHelpers.cshtml) - Html - \n
+ TagHelper - (35:2,0 [259] DuplicateAttributeTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (65:2,30 [6] DuplicateAttributeTagHelpers.cshtml)
+ IntermediateToken - (65:2,30 [6] DuplicateAttributeTagHelpers.cshtml) - Html - \n
+ TagHelper - (71:3,4 [39] DuplicateAttributeTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ PreallocatedTagHelperProperty - (84:3,17 [6] DuplicateAttributeTagHelpers.cshtml) - __tagHelperAttribute_0 - type - Type
+ PreallocatedTagHelperProperty - (84:3,17 [6] DuplicateAttributeTagHelpers.cshtml) - __tagHelperAttribute_0 - type - Type
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_1
+ DefaultTagHelperExecute -
+ HtmlContent - (110:3,43 [6] DuplicateAttributeTagHelpers.cshtml)
+ IntermediateToken - (110:3,43 [6] DuplicateAttributeTagHelpers.cshtml) - Html - \n
+ TagHelper - (116:4,4 [70] DuplicateAttributeTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ PreallocatedTagHelperProperty - (129:4,17 [6] DuplicateAttributeTagHelpers.cshtml) - __tagHelperAttribute_0 - type - Type
+ PreallocatedTagHelperProperty - (129:4,17 [6] DuplicateAttributeTagHelpers.cshtml) - __tagHelperAttribute_0 - type - Type
+ DefaultTagHelperProperty - (146:4,34 [4] DuplicateAttributeTagHelpers.cshtml) - checked - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (146:4,34 [4] DuplicateAttributeTagHelpers.cshtml) - CSharp - true
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_2
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_3
+ DefaultTagHelperExecute -
+ HtmlContent - (186:4,74 [6] DuplicateAttributeTagHelpers.cshtml)
+ IntermediateToken - (186:4,74 [6] DuplicateAttributeTagHelpers.cshtml) - Html - \n
+ TagHelper - (192:5,4 [96] DuplicateAttributeTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ PreallocatedTagHelperProperty - (205:5,17 [6] DuplicateAttributeTagHelpers.cshtml) - __tagHelperAttribute_4 - type - Type
+ PreallocatedTagHelperProperty - (205:5,17 [6] DuplicateAttributeTagHelpers.cshtml) - __tagHelperAttribute_4 - type - Type
+ DefaultTagHelperProperty - (222:5,34 [4] DuplicateAttributeTagHelpers.cshtml) - checked - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (222:5,34 [4] DuplicateAttributeTagHelpers.cshtml) - CSharp - true
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_2
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_5
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_2
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_6
+ DefaultTagHelperExecute -
+ HtmlContent - (288:5,100 [2] DuplicateAttributeTagHelpers.cshtml)
+ IntermediateToken - (288:5,100 [2] DuplicateAttributeTagHelpers.cshtml) - Html - \n
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperProperty - (43:2,8 [1] DuplicateAttributeTagHelpers.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (43:2,8 [1] DuplicateAttributeTagHelpers.cshtml) - CSharp - 3
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_7
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_8
+ DefaultTagHelperExecute -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateTargetTagHelper.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateTargetTagHelper.cshtml
new file mode 100644
index 0000000000..9963a14d5e
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateTargetTagHelper.cshtml
@@ -0,0 +1,3 @@
+@addTagHelper "*, TestAssembly"
+
+<input type="checkbox" checked="true" /> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateTargetTagHelper_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateTargetTagHelper_DesignTime.codegen.cs
new file mode 100644
index 0000000000..98078501de
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateTargetTagHelper_DesignTime.codegen.cs
@@ -0,0 +1,38 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_DuplicateTargetTagHelper_DesignTime
+ {
+ private global::TestNamespace.InputTagHelper __TestNamespace_InputTagHelper;
+ private global::TestNamespace.CatchAllTagHelper __TestNamespace_CatchAllTagHelper;
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "*, TestAssembly";
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __TestNamespace_InputTagHelper.Type = "checkbox";
+ __TestNamespace_CatchAllTagHelper.Type = __TestNamespace_InputTagHelper.Type;
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateTargetTagHelper.cshtml"
+__TestNamespace_InputTagHelper.Checked = true;
+
+#line default
+#line hidden
+ __TestNamespace_CatchAllTagHelper.Checked = __TestNamespace_InputTagHelper.Checked;
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateTargetTagHelper_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateTargetTagHelper_DesignTime.ir.txt
new file mode 100644
index 0000000000..2ea133100c
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateTargetTagHelper_DesignTime.ir.txt
@@ -0,0 +1,32 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_DuplicateTargetTagHelper_DesignTime - -
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper - __TestNamespace_InputTagHelper
+ FieldDeclaration - - private - global::TestNamespace.CatchAllTagHelper - __TestNamespace_CatchAllTagHelper
+ DesignTimeDirective -
+ DirectiveToken - (14:0,14 [17] DuplicateTargetTagHelper.cshtml) - "*, TestAssembly"
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (31:0,31 [4] DuplicateTargetTagHelper.cshtml)
+ IntermediateToken - (31:0,31 [4] DuplicateTargetTagHelper.cshtml) - Html - \n\n
+ TagHelper - (35:2,0 [40] DuplicateTargetTagHelper.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperProperty - (48:2,13 [8] DuplicateTargetTagHelper.cshtml) - type - string TestNamespace.InputTagHelper.Type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (48:2,13 [8] DuplicateTargetTagHelper.cshtml)
+ IntermediateToken - (48:2,13 [8] DuplicateTargetTagHelper.cshtml) - Html - checkbox
+ DefaultTagHelperProperty - (48:2,13 [8] DuplicateTargetTagHelper.cshtml) - type - string TestNamespace.CatchAllTagHelper.Type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (48:2,13 [8] DuplicateTargetTagHelper.cshtml)
+ IntermediateToken - (48:2,13 [8] DuplicateTargetTagHelper.cshtml) - Html - checkbox
+ DefaultTagHelperProperty - (67:2,32 [4] DuplicateTargetTagHelper.cshtml) - checked - bool TestNamespace.InputTagHelper.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (67:2,32 [4] DuplicateTargetTagHelper.cshtml) - CSharp - true
+ DefaultTagHelperProperty - (67:2,32 [4] DuplicateTargetTagHelper.cshtml) - checked - bool TestNamespace.CatchAllTagHelper.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (67:2,32 [4] DuplicateTargetTagHelper.cshtml) - CSharp - true
+ DefaultTagHelperExecute -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateTargetTagHelper_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateTargetTagHelper_DesignTime.mappings.txt
new file mode 100644
index 0000000000..800ab195ba
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateTargetTagHelper_DesignTime.mappings.txt
@@ -0,0 +1,10 @@
+Source Location: (14:0,14 [17] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateTargetTagHelper.cshtml)
+|"*, TestAssembly"|
+Generated Location: (608:12,37 [17] )
+|"*, TestAssembly"|
+
+Source Location: (67:2,32 [4] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateTargetTagHelper.cshtml)
+|true|
+Generated Location: (1449:28,41 [4] )
+|true|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateTargetTagHelper_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateTargetTagHelper_Runtime.codegen.cs
new file mode 100644
index 0000000000..6746458ed3
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateTargetTagHelper_Runtime.codegen.cs
@@ -0,0 +1,65 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateTargetTagHelper.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "97a60a6d99646ce1d67aab46447cc8f582f6f03a"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_DuplicateTargetTagHelper_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateTargetTagHelper.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"97a60a6d99646ce1d67aab46447cc8f582f6f03a", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateTargetTagHelper.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_DuplicateTargetTagHelper_Runtime
+ {
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("type", "checkbox", global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ #line hidden
+ #pragma warning disable 0169
+ private string __tagHelperStringValueBuffer;
+ #pragma warning restore 0169
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext __tagHelperExecutionContext;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner();
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __backed__tagHelperScopeManager = null;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __tagHelperScopeManager
+ {
+ get
+ {
+ if (__backed__tagHelperScopeManager == null)
+ {
+ __backed__tagHelperScopeManager = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager(StartTagHelperWritingScope, EndTagHelperWritingScope);
+ }
+ return __backed__tagHelperScopeManager;
+ }
+ }
+ private global::TestNamespace.InputTagHelper __TestNamespace_InputTagHelper;
+ private global::TestNamespace.CatchAllTagHelper __TestNamespace_CatchAllTagHelper;
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_CatchAllTagHelper);
+ __TestNamespace_InputTagHelper.Type = (string)__tagHelperAttribute_0.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_0);
+ __TestNamespace_CatchAllTagHelper.Type = (string)__tagHelperAttribute_0.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_0);
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateTargetTagHelper.cshtml"
+__TestNamespace_InputTagHelper.Checked = true;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("checked", __TestNamespace_InputTagHelper.Checked, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ __TestNamespace_CatchAllTagHelper.Checked = __TestNamespace_InputTagHelper.Checked;
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateTargetTagHelper_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateTargetTagHelper_Runtime.ir.txt
new file mode 100644
index 0000000000..d86a4d2b8c
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DuplicateTargetTagHelper_Runtime.ir.txt
@@ -0,0 +1,23 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_DuplicateTargetTagHelper_Runtime - -
+ PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_0 - type - checkbox - HtmlAttributeValueStyle.DoubleQuotes
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper - __TestNamespace_InputTagHelper
+ FieldDeclaration - - private - global::TestNamespace.CatchAllTagHelper - __TestNamespace_CatchAllTagHelper
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (33:1,0 [2] DuplicateTargetTagHelper.cshtml)
+ IntermediateToken - (33:1,0 [2] DuplicateTargetTagHelper.cshtml) - Html - \n
+ TagHelper - (35:2,0 [40] DuplicateTargetTagHelper.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ PreallocatedTagHelperProperty - (48:2,13 [8] DuplicateTargetTagHelper.cshtml) - __tagHelperAttribute_0 - type - Type
+ PreallocatedTagHelperProperty - (48:2,13 [8] DuplicateTargetTagHelper.cshtml) - __tagHelperAttribute_0 - type - Type
+ DefaultTagHelperProperty - (67:2,32 [4] DuplicateTargetTagHelper.cshtml) - checked - bool TestNamespace.InputTagHelper.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (67:2,32 [4] DuplicateTargetTagHelper.cshtml) - CSharp - true
+ DefaultTagHelperProperty - (67:2,32 [4] DuplicateTargetTagHelper.cshtml) - checked - bool TestNamespace.CatchAllTagHelper.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (67:2,32 [4] DuplicateTargetTagHelper.cshtml) - CSharp - true
+ DefaultTagHelperExecute -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml
new file mode 100644
index 0000000000..5e69ed1d81
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml
@@ -0,0 +1,14 @@
+@addTagHelper "*, TestAssembly"
+
+<input unbound="prefix @DateTime.Now" />
+
+<input unbound="@if (true) { @string.Empty } else { @false } suffix" />
+
+<input bound="prefix @DateTime.Now suffix" unbound="prefix @DateTime.Now suffix" />
+
+<input bound="@long.MinValue @if (true) { @string.Empty } else { @false } @int.MaxValue"
+ unbound="@long.MinValue @if (true) { @string.Empty } else { @false } @int.MaxValue" />
+
+<input unbound="@long.MinValue @DateTime.Now static content @int.MaxValue" />
+
+<input unbound="@if (true) { @string.Empty } else { @false }" /> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers_DesignTime.codegen.cs
new file mode 100644
index 0000000000..dd5214d829
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers_DesignTime.codegen.cs
@@ -0,0 +1,185 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_DynamicAttributeTagHelpers_DesignTime
+ {
+ private global::TestNamespace.InputTagHelper __TestNamespace_InputTagHelper;
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "*, TestAssembly";
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ __o = DateTime.Now;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+#line 5 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ if (true) {
+
+#line default
+#line hidden
+#line 5 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ __o = string.Empty;
+
+#line default
+#line hidden
+#line 5 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ } else {
+
+#line default
+#line hidden
+#line 5 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ __o = false;
+
+#line default
+#line hidden
+#line 5 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ }
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+#line 7 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ __o = DateTime.Now;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper.Bound = string.Empty;
+#line 7 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ __o = DateTime.Now;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ __o = long.MinValue;
+
+#line default
+#line hidden
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ if (true) {
+
+#line default
+#line hidden
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ __o = string.Empty;
+
+#line default
+#line hidden
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ } else {
+
+#line default
+#line hidden
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ __o = false;
+
+#line default
+#line hidden
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ }
+
+#line default
+#line hidden
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ __o = int.MaxValue;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper.Bound = string.Empty;
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ __o = long.MinValue;
+
+#line default
+#line hidden
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ if (true) {
+
+#line default
+#line hidden
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ __o = string.Empty;
+
+#line default
+#line hidden
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ } else {
+
+#line default
+#line hidden
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ __o = false;
+
+#line default
+#line hidden
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ }
+
+#line default
+#line hidden
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ __o = int.MaxValue;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+#line 12 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ __o = long.MinValue;
+
+#line default
+#line hidden
+#line 12 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ __o = DateTime.Now;
+
+#line default
+#line hidden
+#line 12 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ __o = int.MaxValue;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+#line 14 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ if (true) {
+
+#line default
+#line hidden
+#line 14 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ __o = string.Empty;
+
+#line default
+#line hidden
+#line 14 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ } else {
+
+#line default
+#line hidden
+#line 14 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ __o = false;
+
+#line default
+#line hidden
+#line 14 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ }
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers_DesignTime.ir.txt
new file mode 100644
index 0000000000..76f7d9c916
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers_DesignTime.ir.txt
@@ -0,0 +1,133 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_DynamicAttributeTagHelpers_DesignTime - -
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper - __TestNamespace_InputTagHelper
+ DesignTimeDirective -
+ DirectiveToken - (14:0,14 [17] DynamicAttributeTagHelpers.cshtml) - "*, TestAssembly"
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (31:0,31 [4] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (31:0,31 [4] DynamicAttributeTagHelpers.cshtml) - Html - \n\n
+ TagHelper - (35:2,0 [40] DynamicAttributeTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperHtmlAttribute - - unbound - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlAttributeValue - (51:2,16 [6] DynamicAttributeTagHelpers.cshtml) -
+ IntermediateToken - (51:2,16 [6] DynamicAttributeTagHelpers.cshtml) - Html - prefix
+ CSharpExpressionAttributeValue - (57:2,22 [14] DynamicAttributeTagHelpers.cshtml) -
+ IntermediateToken - (59:2,24 [12] DynamicAttributeTagHelpers.cshtml) - CSharp - DateTime.Now
+ DefaultTagHelperExecute -
+ HtmlContent - (75:2,40 [4] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (75:2,40 [4] DynamicAttributeTagHelpers.cshtml) - Html - \n\n
+ TagHelper - (79:4,0 [71] DynamicAttributeTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperHtmlAttribute - - unbound - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpCodeAttributeValue - (95:4,16 [44] DynamicAttributeTagHelpers.cshtml) -
+ IntermediateToken - (96:4,17 [12] DynamicAttributeTagHelpers.cshtml) - CSharp - if (true) {
+ CSharpExpression - (109:4,30 [12] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (109:4,30 [12] DynamicAttributeTagHelpers.cshtml) - CSharp - string.Empty
+ IntermediateToken - (121:4,42 [10] DynamicAttributeTagHelpers.cshtml) - CSharp - } else {
+ CSharpExpression - (132:4,53 [5] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (132:4,53 [5] DynamicAttributeTagHelpers.cshtml) - CSharp - false
+ IntermediateToken - (137:4,58 [2] DynamicAttributeTagHelpers.cshtml) - CSharp - }
+ HtmlAttributeValue - (139:4,60 [7] DynamicAttributeTagHelpers.cshtml) -
+ IntermediateToken - (140:4,61 [6] DynamicAttributeTagHelpers.cshtml) - Html - suffix
+ DefaultTagHelperExecute -
+ HtmlContent - (150:4,71 [4] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (150:4,71 [4] DynamicAttributeTagHelpers.cshtml) - Html - \n\n
+ TagHelper - (154:6,0 [83] DynamicAttributeTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperProperty - (168:6,14 [27] DynamicAttributeTagHelpers.cshtml) - bound - string TestNamespace.InputTagHelper.Bound - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (168:6,14 [7] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (168:6,14 [6] DynamicAttributeTagHelpers.cshtml) - Html - prefix
+ IntermediateToken - (174:6,20 [1] DynamicAttributeTagHelpers.cshtml) - Html -
+ CSharpExpression - (176:6,22 [12] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (176:6,22 [12] DynamicAttributeTagHelpers.cshtml) - CSharp - DateTime.Now
+ HtmlContent - (188:6,34 [7] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (188:6,34 [7] DynamicAttributeTagHelpers.cshtml) - Html - suffix
+ DefaultTagHelperHtmlAttribute - - unbound - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlAttributeValue - (206:6,52 [6] DynamicAttributeTagHelpers.cshtml) -
+ IntermediateToken - (206:6,52 [6] DynamicAttributeTagHelpers.cshtml) - Html - prefix
+ CSharpExpressionAttributeValue - (212:6,58 [14] DynamicAttributeTagHelpers.cshtml) -
+ IntermediateToken - (214:6,60 [12] DynamicAttributeTagHelpers.cshtml) - CSharp - DateTime.Now
+ HtmlAttributeValue - (226:6,72 [7] DynamicAttributeTagHelpers.cshtml) -
+ IntermediateToken - (227:6,73 [6] DynamicAttributeTagHelpers.cshtml) - Html - suffix
+ DefaultTagHelperExecute -
+ HtmlContent - (237:6,83 [4] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (237:6,83 [4] DynamicAttributeTagHelpers.cshtml) - Html - \n\n
+ TagHelper - (241:8,0 [183] DynamicAttributeTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperProperty - (255:8,14 [73] DynamicAttributeTagHelpers.cshtml) - bound - string TestNamespace.InputTagHelper.Bound - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (256:8,15 [13] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (256:8,15 [13] DynamicAttributeTagHelpers.cshtml) - CSharp - long.MinValue
+ HtmlContent - (269:8,28 [1] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (269:8,28 [1] DynamicAttributeTagHelpers.cshtml) - Html -
+ CSharpCode - (271:8,30 [12] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (271:8,30 [12] DynamicAttributeTagHelpers.cshtml) - CSharp - if (true) {
+ CSharpExpression - (284:8,43 [12] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (284:8,43 [12] DynamicAttributeTagHelpers.cshtml) - CSharp - string.Empty
+ CSharpCode - (296:8,55 [10] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (296:8,55 [10] DynamicAttributeTagHelpers.cshtml) - CSharp - } else {
+ CSharpExpression - (307:8,66 [5] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (307:8,66 [5] DynamicAttributeTagHelpers.cshtml) - CSharp - false
+ CSharpCode - (312:8,71 [2] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (312:8,71 [2] DynamicAttributeTagHelpers.cshtml) - CSharp - }
+ HtmlContent - (314:8,73 [1] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (314:8,73 [1] DynamicAttributeTagHelpers.cshtml) - Html -
+ CSharpExpression - (316:8,75 [12] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (316:8,75 [12] DynamicAttributeTagHelpers.cshtml) - CSharp - int.MaxValue
+ DefaultTagHelperHtmlAttribute - - unbound - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpressionAttributeValue - (347:9,16 [14] DynamicAttributeTagHelpers.cshtml) -
+ IntermediateToken - (348:9,17 [13] DynamicAttributeTagHelpers.cshtml) - CSharp - long.MinValue
+ CSharpCodeAttributeValue - (361:9,30 [45] DynamicAttributeTagHelpers.cshtml) -
+ IntermediateToken - (363:9,32 [12] DynamicAttributeTagHelpers.cshtml) - CSharp - if (true) {
+ CSharpExpression - (376:9,45 [12] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (376:9,45 [12] DynamicAttributeTagHelpers.cshtml) - CSharp - string.Empty
+ IntermediateToken - (388:9,57 [10] DynamicAttributeTagHelpers.cshtml) - CSharp - } else {
+ CSharpExpression - (399:9,68 [5] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (399:9,68 [5] DynamicAttributeTagHelpers.cshtml) - CSharp - false
+ IntermediateToken - (404:9,73 [2] DynamicAttributeTagHelpers.cshtml) - CSharp - }
+ CSharpExpressionAttributeValue - (406:9,75 [14] DynamicAttributeTagHelpers.cshtml) -
+ IntermediateToken - (408:9,77 [12] DynamicAttributeTagHelpers.cshtml) - CSharp - int.MaxValue
+ DefaultTagHelperExecute -
+ HtmlContent - (424:9,93 [4] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (424:9,93 [4] DynamicAttributeTagHelpers.cshtml) - Html - \n\n
+ TagHelper - (428:11,0 [80] DynamicAttributeTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperHtmlAttribute - - unbound - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpressionAttributeValue - (444:11,16 [14] DynamicAttributeTagHelpers.cshtml) -
+ IntermediateToken - (445:11,17 [13] DynamicAttributeTagHelpers.cshtml) - CSharp - long.MinValue
+ CSharpExpressionAttributeValue - (458:11,30 [14] DynamicAttributeTagHelpers.cshtml) -
+ IntermediateToken - (460:11,32 [12] DynamicAttributeTagHelpers.cshtml) - CSharp - DateTime.Now
+ HtmlAttributeValue - (472:11,44 [7] DynamicAttributeTagHelpers.cshtml) -
+ IntermediateToken - (473:11,45 [6] DynamicAttributeTagHelpers.cshtml) - Html - static
+ HtmlAttributeValue - (479:11,51 [11] DynamicAttributeTagHelpers.cshtml) -
+ IntermediateToken - (483:11,55 [7] DynamicAttributeTagHelpers.cshtml) - Html - content
+ CSharpExpressionAttributeValue - (490:11,62 [14] DynamicAttributeTagHelpers.cshtml) -
+ IntermediateToken - (492:11,64 [12] DynamicAttributeTagHelpers.cshtml) - CSharp - int.MaxValue
+ DefaultTagHelperExecute -
+ HtmlContent - (508:11,80 [4] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (508:11,80 [4] DynamicAttributeTagHelpers.cshtml) - Html - \n\n
+ TagHelper - (512:13,0 [64] DynamicAttributeTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperHtmlAttribute - - unbound - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpCodeAttributeValue - (528:13,16 [44] DynamicAttributeTagHelpers.cshtml) -
+ IntermediateToken - (529:13,17 [12] DynamicAttributeTagHelpers.cshtml) - CSharp - if (true) {
+ CSharpExpression - (542:13,30 [12] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (542:13,30 [12] DynamicAttributeTagHelpers.cshtml) - CSharp - string.Empty
+ IntermediateToken - (554:13,42 [10] DynamicAttributeTagHelpers.cshtml) - CSharp - } else {
+ CSharpExpression - (565:13,53 [5] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (565:13,53 [5] DynamicAttributeTagHelpers.cshtml) - CSharp - false
+ IntermediateToken - (570:13,58 [2] DynamicAttributeTagHelpers.cshtml) - CSharp - }
+ DefaultTagHelperExecute -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers_DesignTime.mappings.txt
new file mode 100644
index 0000000000..f2b45b216e
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers_DesignTime.mappings.txt
@@ -0,0 +1,155 @@
+Source Location: (14:0,14 [17] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml)
+|"*, TestAssembly"|
+Generated Location: (518:11,37 [17] )
+|"*, TestAssembly"|
+
+Source Location: (59:2,24 [12] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml)
+|DateTime.Now|
+Generated Location: (1081:24,24 [12] )
+|DateTime.Now|
+
+Source Location: (96:4,17 [12] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml)
+|if (true) { |
+Generated Location: (1349:30,17 [12] )
+|if (true) { |
+
+Source Location: (109:4,30 [12] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml)
+|string.Empty|
+Generated Location: (1526:35,30 [12] )
+|string.Empty|
+
+Source Location: (121:4,42 [10] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml)
+| } else { |
+Generated Location: (1716:40,42 [10] )
+| } else { |
+
+Source Location: (132:4,53 [5] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml)
+|false|
+Generated Location: (1914:45,53 [5] )
+|false|
+
+Source Location: (137:4,58 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml)
+| }|
+Generated Location: (2113:50,58 [2] )
+| }|
+
+Source Location: (176:6,22 [12] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml)
+|DateTime.Now|
+Generated Location: (2375:56,22 [12] )
+|DateTime.Now|
+
+Source Location: (214:6,60 [12] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml)
+|DateTime.Now|
+Generated Location: (2649:62,60 [12] )
+|DateTime.Now|
+
+Source Location: (256:8,15 [13] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml)
+|long.MinValue|
+Generated Location: (2915:68,15 [13] )
+|long.MinValue|
+
+Source Location: (271:8,30 [12] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml)
+|if (true) { |
+Generated Location: (3094:73,30 [12] )
+|if (true) { |
+
+Source Location: (284:8,43 [12] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml)
+|string.Empty|
+Generated Location: (3284:78,43 [12] )
+|string.Empty|
+
+Source Location: (296:8,55 [10] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml)
+| } else { |
+Generated Location: (3487:83,55 [10] )
+| } else { |
+
+Source Location: (307:8,66 [5] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml)
+|false|
+Generated Location: (3698:88,66 [5] )
+|false|
+
+Source Location: (312:8,71 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml)
+| }|
+Generated Location: (3910:93,71 [2] )
+| }|
+
+Source Location: (316:8,75 [12] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml)
+|int.MaxValue|
+Generated Location: (4122:98,75 [12] )
+|int.MaxValue|
+
+Source Location: (348:9,17 [13] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml)
+|long.MinValue|
+Generated Location: (4354:104,17 [13] )
+|long.MinValue|
+
+Source Location: (363:9,32 [12] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml)
+|if (true) { |
+Generated Location: (4536:109,32 [12] )
+|if (true) { |
+
+Source Location: (376:9,45 [12] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml)
+|string.Empty|
+Generated Location: (4729:114,45 [12] )
+|string.Empty|
+
+Source Location: (388:9,57 [10] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml)
+| } else { |
+Generated Location: (4935:119,57 [10] )
+| } else { |
+
+Source Location: (399:9,68 [5] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml)
+|false|
+Generated Location: (5149:124,68 [5] )
+|false|
+
+Source Location: (404:9,73 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml)
+| }|
+Generated Location: (5364:129,73 [2] )
+| }|
+
+Source Location: (408:9,77 [12] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml)
+|int.MaxValue|
+Generated Location: (5579:134,77 [12] )
+|int.MaxValue|
+
+Source Location: (445:11,17 [13] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml)
+|long.MinValue|
+Generated Location: (5848:140,17 [13] )
+|long.MinValue|
+
+Source Location: (460:11,32 [12] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml)
+|DateTime.Now|
+Generated Location: (6030:145,32 [12] )
+|DateTime.Now|
+
+Source Location: (492:11,64 [12] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml)
+|int.MaxValue|
+Generated Location: (6243:150,64 [12] )
+|int.MaxValue|
+
+Source Location: (529:13,17 [12] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml)
+|if (true) { |
+Generated Location: (6512:156,17 [12] )
+|if (true) { |
+
+Source Location: (542:13,30 [12] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml)
+|string.Empty|
+Generated Location: (6690:161,30 [12] )
+|string.Empty|
+
+Source Location: (554:13,42 [10] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml)
+| } else { |
+Generated Location: (6881:166,42 [10] )
+| } else { |
+
+Source Location: (565:13,53 [5] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml)
+|false|
+Generated Location: (7080:171,53 [5] )
+|false|
+
+Source Location: (570:13,58 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml)
+| }|
+Generated Location: (7280:176,58 [2] )
+| }|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers_Runtime.codegen.cs
new file mode 100644
index 0000000000..4371af8472
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers_Runtime.codegen.cs
@@ -0,0 +1,310 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "42f11f2c52ff2e658e61f6c5caace4347c07ca48"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_DynamicAttributeTagHelpers_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"42f11f2c52ff2e658e61f6c5caace4347c07ca48", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_DynamicAttributeTagHelpers_Runtime
+ {
+ #line hidden
+ #pragma warning disable 0169
+ private string __tagHelperStringValueBuffer;
+ #pragma warning restore 0169
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext __tagHelperExecutionContext;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner();
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __backed__tagHelperScopeManager = null;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __tagHelperScopeManager
+ {
+ get
+ {
+ if (__backed__tagHelperScopeManager == null)
+ {
+ __backed__tagHelperScopeManager = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager(StartTagHelperWritingScope, EndTagHelperWritingScope);
+ }
+ return __backed__tagHelperScopeManager;
+ }
+ }
+ private global::TestNamespace.InputTagHelper __TestNamespace_InputTagHelper;
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ BeginAddHtmlAttributeValues(__tagHelperExecutionContext, "unbound", 2, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ AddHtmlAttributeValue("", 51, "prefix", 51, 6, true);
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+AddHtmlAttributeValue(" ", 57, DateTime.Now, 58, 13, false);
+
+#line default
+#line hidden
+ EndAddHtmlAttributeValues(__tagHelperExecutionContext);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ BeginAddHtmlAttributeValues(__tagHelperExecutionContext, "unbound", 2, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ AddHtmlAttributeValue("", 95, new Microsoft.AspNetCore.Mvc.Razor.HelperResult(async(__razor_attribute_value_writer) => {
+ PushWriter(__razor_attribute_value_writer);
+#line 5 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ if (true) {
+
+#line default
+#line hidden
+#line 5 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ Write(string.Empty);
+
+#line default
+#line hidden
+#line 5 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ } else {
+
+#line default
+#line hidden
+#line 5 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ Write(false);
+
+#line default
+#line hidden
+#line 5 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ }
+
+#line default
+#line hidden
+ PopWriter();
+ }
+ ), 95, 44, false);
+ AddHtmlAttributeValue(" ", 139, "suffix", 140, 7, true);
+ EndAddHtmlAttributeValues(__tagHelperExecutionContext);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ BeginWriteTagHelperAttribute();
+ WriteLiteral("prefix ");
+#line 7 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ WriteLiteral(DateTime.Now);
+
+#line default
+#line hidden
+ WriteLiteral(" suffix");
+ __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
+ __TestNamespace_InputTagHelper.Bound = __tagHelperStringValueBuffer;
+ __tagHelperExecutionContext.AddTagHelperAttribute("bound", __TestNamespace_InputTagHelper.Bound, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ BeginAddHtmlAttributeValues(__tagHelperExecutionContext, "unbound", 3, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ AddHtmlAttributeValue("", 206, "prefix", 206, 6, true);
+#line 7 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+AddHtmlAttributeValue(" ", 212, DateTime.Now, 213, 13, false);
+
+#line default
+#line hidden
+ AddHtmlAttributeValue(" ", 226, "suffix", 227, 7, true);
+ EndAddHtmlAttributeValues(__tagHelperExecutionContext);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ BeginWriteTagHelperAttribute();
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ WriteLiteral(long.MinValue);
+
+#line default
+#line hidden
+ WriteLiteral(" ");
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ if (true) {
+
+#line default
+#line hidden
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ WriteLiteral(string.Empty);
+
+#line default
+#line hidden
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ } else {
+
+#line default
+#line hidden
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ WriteLiteral(false);
+
+#line default
+#line hidden
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ }
+
+#line default
+#line hidden
+ WriteLiteral(" ");
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ WriteLiteral(int.MaxValue);
+
+#line default
+#line hidden
+ __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
+ __TestNamespace_InputTagHelper.Bound = __tagHelperStringValueBuffer;
+ __tagHelperExecutionContext.AddTagHelperAttribute("bound", __TestNamespace_InputTagHelper.Bound, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ BeginAddHtmlAttributeValues(__tagHelperExecutionContext, "unbound", 3, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+AddHtmlAttributeValue("", 347, long.MinValue, 347, 14, false);
+
+#line default
+#line hidden
+ AddHtmlAttributeValue(" ", 361, new Microsoft.AspNetCore.Mvc.Razor.HelperResult(async(__razor_attribute_value_writer) => {
+ PushWriter(__razor_attribute_value_writer);
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ if (true) {
+
+#line default
+#line hidden
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ Write(string.Empty);
+
+#line default
+#line hidden
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ } else {
+
+#line default
+#line hidden
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ Write(false);
+
+#line default
+#line hidden
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ }
+
+#line default
+#line hidden
+ PopWriter();
+ }
+ ), 362, 44, false);
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+AddHtmlAttributeValue(" ", 406, int.MaxValue, 407, 13, false);
+
+#line default
+#line hidden
+ EndAddHtmlAttributeValues(__tagHelperExecutionContext);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ BeginAddHtmlAttributeValues(__tagHelperExecutionContext, "unbound", 5, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+#line 12 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+AddHtmlAttributeValue("", 444, long.MinValue, 444, 14, false);
+
+#line default
+#line hidden
+#line 12 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+AddHtmlAttributeValue(" ", 458, DateTime.Now, 459, 13, false);
+
+#line default
+#line hidden
+ AddHtmlAttributeValue(" ", 472, "static", 473, 7, true);
+ AddHtmlAttributeValue(" ", 479, "content", 483, 11, true);
+#line 12 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+AddHtmlAttributeValue(" ", 490, int.MaxValue, 491, 13, false);
+
+#line default
+#line hidden
+ EndAddHtmlAttributeValues(__tagHelperExecutionContext);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ BeginAddHtmlAttributeValues(__tagHelperExecutionContext, "unbound", 1, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ AddHtmlAttributeValue("", 528, new Microsoft.AspNetCore.Mvc.Razor.HelperResult(async(__razor_attribute_value_writer) => {
+ PushWriter(__razor_attribute_value_writer);
+#line 14 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ if (true) {
+
+#line default
+#line hidden
+#line 14 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ Write(string.Empty);
+
+#line default
+#line hidden
+#line 14 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ } else {
+
+#line default
+#line hidden
+#line 14 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ Write(false);
+
+#line default
+#line hidden
+#line 14 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers.cshtml"
+ }
+
+#line default
+#line hidden
+ PopWriter();
+ }
+ ), 528, 44, false);
+ EndAddHtmlAttributeValues(__tagHelperExecutionContext);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers_Runtime.ir.txt
new file mode 100644
index 0000000000..72a0832670
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/DynamicAttributeTagHelpers_Runtime.ir.txt
@@ -0,0 +1,127 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_DynamicAttributeTagHelpers_Runtime - -
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper - __TestNamespace_InputTagHelper
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (33:1,0 [2] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (33:1,0 [2] DynamicAttributeTagHelpers.cshtml) - Html - \n
+ TagHelper - (35:2,0 [40] DynamicAttributeTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperHtmlAttribute - - unbound - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlAttributeValue - (51:2,16 [6] DynamicAttributeTagHelpers.cshtml) -
+ IntermediateToken - (51:2,16 [6] DynamicAttributeTagHelpers.cshtml) - Html - prefix
+ CSharpExpressionAttributeValue - (57:2,22 [14] DynamicAttributeTagHelpers.cshtml) -
+ IntermediateToken - (59:2,24 [12] DynamicAttributeTagHelpers.cshtml) - CSharp - DateTime.Now
+ DefaultTagHelperExecute -
+ HtmlContent - (75:2,40 [4] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (75:2,40 [4] DynamicAttributeTagHelpers.cshtml) - Html - \n\n
+ TagHelper - (79:4,0 [71] DynamicAttributeTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperHtmlAttribute - - unbound - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpCodeAttributeValue - (95:4,16 [44] DynamicAttributeTagHelpers.cshtml) -
+ IntermediateToken - (96:4,17 [12] DynamicAttributeTagHelpers.cshtml) - CSharp - if (true) {
+ CSharpExpression - (109:4,30 [12] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (109:4,30 [12] DynamicAttributeTagHelpers.cshtml) - CSharp - string.Empty
+ IntermediateToken - (121:4,42 [10] DynamicAttributeTagHelpers.cshtml) - CSharp - } else {
+ CSharpExpression - (132:4,53 [5] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (132:4,53 [5] DynamicAttributeTagHelpers.cshtml) - CSharp - false
+ IntermediateToken - (137:4,58 [2] DynamicAttributeTagHelpers.cshtml) - CSharp - }
+ HtmlAttributeValue - (139:4,60 [7] DynamicAttributeTagHelpers.cshtml) -
+ IntermediateToken - (140:4,61 [6] DynamicAttributeTagHelpers.cshtml) - Html - suffix
+ DefaultTagHelperExecute -
+ HtmlContent - (150:4,71 [4] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (150:4,71 [4] DynamicAttributeTagHelpers.cshtml) - Html - \n\n
+ TagHelper - (154:6,0 [83] DynamicAttributeTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperProperty - (168:6,14 [27] DynamicAttributeTagHelpers.cshtml) - bound - string TestNamespace.InputTagHelper.Bound - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (168:6,14 [7] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (168:6,14 [6] DynamicAttributeTagHelpers.cshtml) - Html - prefix
+ IntermediateToken - (174:6,20 [1] DynamicAttributeTagHelpers.cshtml) - Html -
+ CSharpExpression - (176:6,22 [12] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (176:6,22 [12] DynamicAttributeTagHelpers.cshtml) - CSharp - DateTime.Now
+ HtmlContent - (188:6,34 [7] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (188:6,34 [7] DynamicAttributeTagHelpers.cshtml) - Html - suffix
+ DefaultTagHelperHtmlAttribute - - unbound - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlAttributeValue - (206:6,52 [6] DynamicAttributeTagHelpers.cshtml) -
+ IntermediateToken - (206:6,52 [6] DynamicAttributeTagHelpers.cshtml) - Html - prefix
+ CSharpExpressionAttributeValue - (212:6,58 [14] DynamicAttributeTagHelpers.cshtml) -
+ IntermediateToken - (214:6,60 [12] DynamicAttributeTagHelpers.cshtml) - CSharp - DateTime.Now
+ HtmlAttributeValue - (226:6,72 [7] DynamicAttributeTagHelpers.cshtml) -
+ IntermediateToken - (227:6,73 [6] DynamicAttributeTagHelpers.cshtml) - Html - suffix
+ DefaultTagHelperExecute -
+ HtmlContent - (237:6,83 [4] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (237:6,83 [4] DynamicAttributeTagHelpers.cshtml) - Html - \n\n
+ TagHelper - (241:8,0 [183] DynamicAttributeTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperProperty - (255:8,14 [73] DynamicAttributeTagHelpers.cshtml) - bound - string TestNamespace.InputTagHelper.Bound - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (256:8,15 [13] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (256:8,15 [13] DynamicAttributeTagHelpers.cshtml) - CSharp - long.MinValue
+ HtmlContent - (269:8,28 [1] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (269:8,28 [1] DynamicAttributeTagHelpers.cshtml) - Html -
+ CSharpCode - (271:8,30 [12] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (271:8,30 [12] DynamicAttributeTagHelpers.cshtml) - CSharp - if (true) {
+ CSharpExpression - (284:8,43 [12] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (284:8,43 [12] DynamicAttributeTagHelpers.cshtml) - CSharp - string.Empty
+ CSharpCode - (296:8,55 [10] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (296:8,55 [10] DynamicAttributeTagHelpers.cshtml) - CSharp - } else {
+ CSharpExpression - (307:8,66 [5] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (307:8,66 [5] DynamicAttributeTagHelpers.cshtml) - CSharp - false
+ CSharpCode - (312:8,71 [2] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (312:8,71 [2] DynamicAttributeTagHelpers.cshtml) - CSharp - }
+ HtmlContent - (314:8,73 [1] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (314:8,73 [1] DynamicAttributeTagHelpers.cshtml) - Html -
+ CSharpExpression - (316:8,75 [12] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (316:8,75 [12] DynamicAttributeTagHelpers.cshtml) - CSharp - int.MaxValue
+ DefaultTagHelperHtmlAttribute - - unbound - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpressionAttributeValue - (347:9,16 [14] DynamicAttributeTagHelpers.cshtml) -
+ IntermediateToken - (348:9,17 [13] DynamicAttributeTagHelpers.cshtml) - CSharp - long.MinValue
+ CSharpCodeAttributeValue - (361:9,30 [45] DynamicAttributeTagHelpers.cshtml) -
+ IntermediateToken - (363:9,32 [12] DynamicAttributeTagHelpers.cshtml) - CSharp - if (true) {
+ CSharpExpression - (376:9,45 [12] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (376:9,45 [12] DynamicAttributeTagHelpers.cshtml) - CSharp - string.Empty
+ IntermediateToken - (388:9,57 [10] DynamicAttributeTagHelpers.cshtml) - CSharp - } else {
+ CSharpExpression - (399:9,68 [5] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (399:9,68 [5] DynamicAttributeTagHelpers.cshtml) - CSharp - false
+ IntermediateToken - (404:9,73 [2] DynamicAttributeTagHelpers.cshtml) - CSharp - }
+ CSharpExpressionAttributeValue - (406:9,75 [14] DynamicAttributeTagHelpers.cshtml) -
+ IntermediateToken - (408:9,77 [12] DynamicAttributeTagHelpers.cshtml) - CSharp - int.MaxValue
+ DefaultTagHelperExecute -
+ HtmlContent - (424:9,93 [4] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (424:9,93 [4] DynamicAttributeTagHelpers.cshtml) - Html - \n\n
+ TagHelper - (428:11,0 [80] DynamicAttributeTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperHtmlAttribute - - unbound - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpressionAttributeValue - (444:11,16 [14] DynamicAttributeTagHelpers.cshtml) -
+ IntermediateToken - (445:11,17 [13] DynamicAttributeTagHelpers.cshtml) - CSharp - long.MinValue
+ CSharpExpressionAttributeValue - (458:11,30 [14] DynamicAttributeTagHelpers.cshtml) -
+ IntermediateToken - (460:11,32 [12] DynamicAttributeTagHelpers.cshtml) - CSharp - DateTime.Now
+ HtmlAttributeValue - (472:11,44 [7] DynamicAttributeTagHelpers.cshtml) -
+ IntermediateToken - (473:11,45 [6] DynamicAttributeTagHelpers.cshtml) - Html - static
+ HtmlAttributeValue - (479:11,51 [11] DynamicAttributeTagHelpers.cshtml) -
+ IntermediateToken - (483:11,55 [7] DynamicAttributeTagHelpers.cshtml) - Html - content
+ CSharpExpressionAttributeValue - (490:11,62 [14] DynamicAttributeTagHelpers.cshtml) -
+ IntermediateToken - (492:11,64 [12] DynamicAttributeTagHelpers.cshtml) - CSharp - int.MaxValue
+ DefaultTagHelperExecute -
+ HtmlContent - (508:11,80 [4] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (508:11,80 [4] DynamicAttributeTagHelpers.cshtml) - Html - \n\n
+ TagHelper - (512:13,0 [64] DynamicAttributeTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperHtmlAttribute - - unbound - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpCodeAttributeValue - (528:13,16 [44] DynamicAttributeTagHelpers.cshtml) -
+ IntermediateToken - (529:13,17 [12] DynamicAttributeTagHelpers.cshtml) - CSharp - if (true) {
+ CSharpExpression - (542:13,30 [12] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (542:13,30 [12] DynamicAttributeTagHelpers.cshtml) - CSharp - string.Empty
+ IntermediateToken - (554:13,42 [10] DynamicAttributeTagHelpers.cshtml) - CSharp - } else {
+ CSharpExpression - (565:13,53 [5] DynamicAttributeTagHelpers.cshtml)
+ IntermediateToken - (565:13,53 [5] DynamicAttributeTagHelpers.cshtml) - CSharp - false
+ IntermediateToken - (570:13,58 [2] DynamicAttributeTagHelpers.cshtml) - CSharp - }
+ DefaultTagHelperExecute -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers.cshtml
new file mode 100644
index 0000000000..d68f666f72
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers.cshtml
@@ -0,0 +1,8 @@
+@addTagHelper *, TestAssembly
+
+<div>
+ <input type= checked=""class="" />
+ <p age=''>
+ <input type=""checked= class="" />
+ </p>
+</div> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers_DesignTime.codegen.cs
new file mode 100644
index 0000000000..669d7a19c6
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers_DesignTime.codegen.cs
@@ -0,0 +1,53 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EmptyAttributeTagHelpers_DesignTime
+ {
+ private global::TestNamespace.InputTagHelper __TestNamespace_InputTagHelper;
+ private global::TestNamespace.InputTagHelper2 __TestNamespace_InputTagHelper2;
+ private global::TestNamespace.PTagHelper __TestNamespace_PTagHelper;
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "*, TestAssembly";
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __TestNamespace_InputTagHelper.Type = "";
+ __TestNamespace_InputTagHelper2.Type = __TestNamespace_InputTagHelper.Type;
+#line 4 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers.cshtml"
+__TestNamespace_InputTagHelper2.Checked = ;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __TestNamespace_InputTagHelper.Type = "";
+ __TestNamespace_InputTagHelper2.Type = __TestNamespace_InputTagHelper.Type;
+#line 6 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers.cshtml"
+__TestNamespace_InputTagHelper2.Checked = ;
+
+#line default
+#line hidden
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+#line 5 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers.cshtml"
+__TestNamespace_PTagHelper.Age = ;
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers_DesignTime.diagnostics.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers_DesignTime.diagnostics.txt
new file mode 100644
index 0000000000..0b20997aff
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers_DesignTime.diagnostics.txt
@@ -0,0 +1,3 @@
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers.cshtml(4,18): Error RZ2008: Attribute 'checked' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.Boolean' cannot be empty or contain only whitespace.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers.cshtml(5,8): Error RZ2008: Attribute 'age' on tag helper element 'p' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers.cshtml(6,23): Error RZ2008: Attribute 'checked' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.Boolean' cannot be empty or contain only whitespace.
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers_DesignTime.ir.txt
new file mode 100644
index 0000000000..ac2238b35e
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers_DesignTime.ir.txt
@@ -0,0 +1,67 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EmptyAttributeTagHelpers_DesignTime - -
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper - __TestNamespace_InputTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper2 - __TestNamespace_InputTagHelper2
+ FieldDeclaration - - private - global::TestNamespace.PTagHelper - __TestNamespace_PTagHelper
+ DesignTimeDirective -
+ DirectiveToken - (14:0,14 [15] EmptyAttributeTagHelpers.cshtml) - *, TestAssembly
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (29:0,29 [15] EmptyAttributeTagHelpers.cshtml)
+ IntermediateToken - (29:0,29 [4] EmptyAttributeTagHelpers.cshtml) - Html - \n\n
+ IntermediateToken - (33:2,0 [5] EmptyAttributeTagHelpers.cshtml) - Html - <div>
+ IntermediateToken - (38:2,5 [6] EmptyAttributeTagHelpers.cshtml) - Html - \n
+ TagHelper - (44:3,4 [34] EmptyAttributeTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperProperty - (56:3,16 [0] EmptyAttributeTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper.Type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (56:3,16 [0] EmptyAttributeTagHelpers.cshtml)
+ IntermediateToken - (56:3,16 [0] EmptyAttributeTagHelpers.cshtml) - Html -
+ DefaultTagHelperProperty - (56:3,16 [0] EmptyAttributeTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper2.Type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (56:3,16 [0] EmptyAttributeTagHelpers.cshtml)
+ IntermediateToken - (56:3,16 [0] EmptyAttributeTagHelpers.cshtml) - Html -
+ DefaultTagHelperProperty - (66:3,26 [0] EmptyAttributeTagHelpers.cshtml) - checked - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (66:3,26 [0] EmptyAttributeTagHelpers.cshtml) - CSharp -
+ DefaultTagHelperHtmlAttribute - - class - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (74:3,34 [0] EmptyAttributeTagHelpers.cshtml)
+ IntermediateToken - (74:3,34 [0] EmptyAttributeTagHelpers.cshtml) - Html -
+ DefaultTagHelperExecute -
+ HtmlContent - (78:3,38 [6] EmptyAttributeTagHelpers.cshtml)
+ IntermediateToken - (78:3,38 [6] EmptyAttributeTagHelpers.cshtml) - Html - \n
+ TagHelper - (84:4,4 [64] EmptyAttributeTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (94:4,14 [10] EmptyAttributeTagHelpers.cshtml)
+ IntermediateToken - (94:4,14 [10] EmptyAttributeTagHelpers.cshtml) - Html - \n
+ TagHelper - (104:5,8 [34] EmptyAttributeTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperProperty - (117:5,21 [0] EmptyAttributeTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper.Type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (117:5,21 [0] EmptyAttributeTagHelpers.cshtml)
+ IntermediateToken - (117:5,21 [0] EmptyAttributeTagHelpers.cshtml) - Html -
+ DefaultTagHelperProperty - (117:5,21 [0] EmptyAttributeTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper2.Type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (117:5,21 [0] EmptyAttributeTagHelpers.cshtml)
+ IntermediateToken - (117:5,21 [0] EmptyAttributeTagHelpers.cshtml) - Html -
+ DefaultTagHelperProperty - (126:5,30 [0] EmptyAttributeTagHelpers.cshtml) - checked - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (126:5,30 [0] EmptyAttributeTagHelpers.cshtml) - CSharp -
+ DefaultTagHelperHtmlAttribute - - class - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (134:5,38 [0] EmptyAttributeTagHelpers.cshtml)
+ IntermediateToken - (134:5,38 [0] EmptyAttributeTagHelpers.cshtml) - Html -
+ DefaultTagHelperExecute -
+ HtmlContent - (138:5,42 [6] EmptyAttributeTagHelpers.cshtml)
+ IntermediateToken - (138:5,42 [6] EmptyAttributeTagHelpers.cshtml) - Html - \n
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperProperty - (92:4,12 [0] EmptyAttributeTagHelpers.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.SingleQuotes
+ IntermediateToken - (92:4,12 [0] EmptyAttributeTagHelpers.cshtml) - CSharp -
+ DefaultTagHelperExecute -
+ HtmlContent - (148:6,8 [8] EmptyAttributeTagHelpers.cshtml)
+ IntermediateToken - (148:6,8 [2] EmptyAttributeTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (150:7,0 [6] EmptyAttributeTagHelpers.cshtml) - Html - </div>
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers_DesignTime.mappings.txt
new file mode 100644
index 0000000000..1f98a4c03f
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers_DesignTime.mappings.txt
@@ -0,0 +1,20 @@
+Source Location: (14:0,14 [15] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers.cshtml)
+|*, TestAssembly|
+Generated Location: (683:13,38 [15] )
+|*, TestAssembly|
+
+Source Location: (66:3,26 [0] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers.cshtml)
+||
+Generated Location: (1510:29,42 [0] )
+||
+
+Source Location: (126:5,30 [0] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers.cshtml)
+||
+Generated Location: (2038:38,42 [0] )
+||
+
+Source Location: (92:4,12 [0] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers.cshtml)
+||
+Generated Location: (2300:44,33 [0] )
+||
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers_Runtime.codegen.cs
new file mode 100644
index 0000000000..8f785ab50e
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers_Runtime.codegen.cs
@@ -0,0 +1,114 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "9c86b0d6e2a590a85271afa26a21f39597a68e3f"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EmptyAttributeTagHelpers_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"9c86b0d6e2a590a85271afa26a21f39597a68e3f", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EmptyAttributeTagHelpers_Runtime
+ {
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("type", "", global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_1 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("class", new global::Microsoft.AspNetCore.Html.HtmlString(""), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ #line hidden
+ #pragma warning disable 0169
+ private string __tagHelperStringValueBuffer;
+ #pragma warning restore 0169
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext __tagHelperExecutionContext;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner();
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __backed__tagHelperScopeManager = null;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __tagHelperScopeManager
+ {
+ get
+ {
+ if (__backed__tagHelperScopeManager == null)
+ {
+ __backed__tagHelperScopeManager = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager(StartTagHelperWritingScope, EndTagHelperWritingScope);
+ }
+ return __backed__tagHelperScopeManager;
+ }
+ }
+ private global::TestNamespace.InputTagHelper __TestNamespace_InputTagHelper;
+ private global::TestNamespace.InputTagHelper2 __TestNamespace_InputTagHelper2;
+ private global::TestNamespace.PTagHelper __TestNamespace_PTagHelper;
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("\r\n<div>\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper2);
+ __TestNamespace_InputTagHelper.Type = (string)__tagHelperAttribute_0.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_0);
+ __TestNamespace_InputTagHelper2.Type = (string)__tagHelperAttribute_0.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_0);
+#line 4 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers.cshtml"
+__TestNamespace_InputTagHelper2.Checked = ;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("checked", __TestNamespace_InputTagHelper2.Checked, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_1);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("p", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper2);
+ __TestNamespace_InputTagHelper.Type = (string)__tagHelperAttribute_0.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_0);
+ __TestNamespace_InputTagHelper2.Type = (string)__tagHelperAttribute_0.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_0);
+#line 6 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers.cshtml"
+__TestNamespace_InputTagHelper2.Checked = ;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("checked", __TestNamespace_InputTagHelper2.Checked, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_1);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+ }
+ );
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_PTagHelper);
+#line 5 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers.cshtml"
+__TestNamespace_PTagHelper.Age = ;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("age", __TestNamespace_PTagHelper.Age, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.SingleQuotes);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n</div>");
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers_Runtime.diagnostics.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers_Runtime.diagnostics.txt
new file mode 100644
index 0000000000..0b20997aff
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers_Runtime.diagnostics.txt
@@ -0,0 +1,3 @@
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers.cshtml(4,18): Error RZ2008: Attribute 'checked' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.Boolean' cannot be empty or contain only whitespace.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers.cshtml(5,8): Error RZ2008: Attribute 'age' on tag helper element 'p' requires a value. Tag helper bound attributes of type 'System.Int32' cannot be empty or contain only whitespace.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers.cshtml(6,23): Error RZ2008: Attribute 'checked' on tag helper element 'input' requires a value. Tag helper bound attributes of type 'System.Boolean' cannot be empty or contain only whitespace.
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers_Runtime.ir.txt
new file mode 100644
index 0000000000..f8c39dee99
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyAttributeTagHelpers_Runtime.ir.txt
@@ -0,0 +1,51 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EmptyAttributeTagHelpers_Runtime - -
+ PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_0 - type - - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_1 - class - - HtmlAttributeValueStyle.DoubleQuotes
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper - __TestNamespace_InputTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper2 - __TestNamespace_InputTagHelper2
+ FieldDeclaration - - private - global::TestNamespace.PTagHelper - __TestNamespace_PTagHelper
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (31:1,0 [13] EmptyAttributeTagHelpers.cshtml)
+ IntermediateToken - (31:1,0 [2] EmptyAttributeTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (33:2,0 [5] EmptyAttributeTagHelpers.cshtml) - Html - <div>
+ IntermediateToken - (38:2,5 [6] EmptyAttributeTagHelpers.cshtml) - Html - \n
+ TagHelper - (44:3,4 [34] EmptyAttributeTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ PreallocatedTagHelperProperty - (56:3,16 [0] EmptyAttributeTagHelpers.cshtml) - __tagHelperAttribute_0 - type - Type
+ PreallocatedTagHelperProperty - (56:3,16 [0] EmptyAttributeTagHelpers.cshtml) - __tagHelperAttribute_0 - type - Type
+ DefaultTagHelperProperty - (66:3,26 [0] EmptyAttributeTagHelpers.cshtml) - checked - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (66:3,26 [0] EmptyAttributeTagHelpers.cshtml) - CSharp -
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_1
+ DefaultTagHelperExecute -
+ HtmlContent - (78:3,38 [6] EmptyAttributeTagHelpers.cshtml)
+ IntermediateToken - (78:3,38 [6] EmptyAttributeTagHelpers.cshtml) - Html - \n
+ TagHelper - (84:4,4 [64] EmptyAttributeTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (94:4,14 [10] EmptyAttributeTagHelpers.cshtml)
+ IntermediateToken - (94:4,14 [10] EmptyAttributeTagHelpers.cshtml) - Html - \n
+ TagHelper - (104:5,8 [34] EmptyAttributeTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ PreallocatedTagHelperProperty - (117:5,21 [0] EmptyAttributeTagHelpers.cshtml) - __tagHelperAttribute_0 - type - Type
+ PreallocatedTagHelperProperty - (117:5,21 [0] EmptyAttributeTagHelpers.cshtml) - __tagHelperAttribute_0 - type - Type
+ DefaultTagHelperProperty - (126:5,30 [0] EmptyAttributeTagHelpers.cshtml) - checked - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (126:5,30 [0] EmptyAttributeTagHelpers.cshtml) - CSharp -
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_1
+ DefaultTagHelperExecute -
+ HtmlContent - (138:5,42 [6] EmptyAttributeTagHelpers.cshtml)
+ IntermediateToken - (138:5,42 [6] EmptyAttributeTagHelpers.cshtml) - Html - \n
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperProperty - (92:4,12 [0] EmptyAttributeTagHelpers.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.SingleQuotes
+ IntermediateToken - (92:4,12 [0] EmptyAttributeTagHelpers.cshtml) - CSharp -
+ DefaultTagHelperExecute -
+ HtmlContent - (148:6,8 [8] EmptyAttributeTagHelpers.cshtml)
+ IntermediateToken - (148:6,8 [2] EmptyAttributeTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (150:7,0 [6] EmptyAttributeTagHelpers.cshtml) - Html - </div>
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyCodeBlock.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyCodeBlock.cshtml
new file mode 100644
index 0000000000..0366199cd5
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyCodeBlock.cshtml
@@ -0,0 +1,3 @@
+This is markup
+
+@{} \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyCodeBlock_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyCodeBlock_DesignTime.codegen.cs
new file mode 100644
index 0000000000..6927c99f10
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyCodeBlock_DesignTime.codegen.cs
@@ -0,0 +1,23 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EmptyCodeBlock_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyCodeBlock_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyCodeBlock_DesignTime.ir.txt
new file mode 100644
index 0000000000..1da8246eee
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyCodeBlock_DesignTime.ir.txt
@@ -0,0 +1,15 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EmptyCodeBlock_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (0:0,0 [18] EmptyCodeBlock.cshtml)
+ IntermediateToken - (0:0,0 [18] EmptyCodeBlock.cshtml) - Html - This is markup\n\n
+ CSharpCode - (20:2,2 [0] EmptyCodeBlock.cshtml)
+ IntermediateToken - (20:2,2 [0] EmptyCodeBlock.cshtml) - CSharp -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyCodeBlock_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyCodeBlock_DesignTime.mappings.txt
new file mode 100644
index 0000000000..be686c9435
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyCodeBlock_DesignTime.mappings.txt
@@ -0,0 +1,5 @@
+Source Location: (20:2,2 [0] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyCodeBlock.cshtml)
+||
+Generated Location: (651:17,14 [0] )
+||
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyCodeBlock_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyCodeBlock_Runtime.codegen.cs
new file mode 100644
index 0000000000..d7513d8023
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyCodeBlock_Runtime.codegen.cs
@@ -0,0 +1,19 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyCodeBlock.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "fdc98942fed24e572b86269f89a808b0c606cef1"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EmptyCodeBlock_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyCodeBlock.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"fdc98942fed24e572b86269f89a808b0c606cef1", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyCodeBlock.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EmptyCodeBlock_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("This is markup\r\n\r\n");
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyCodeBlock_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyCodeBlock_Runtime.ir.txt
new file mode 100644
index 0000000000..75e7307e0f
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyCodeBlock_Runtime.ir.txt
@@ -0,0 +1,10 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EmptyCodeBlock_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (0:0,0 [18] EmptyCodeBlock.cshtml)
+ IntermediateToken - (0:0,0 [18] EmptyCodeBlock.cshtml) - Html - This is markup\n\n
+ CSharpCode - (20:2,2 [0] EmptyCodeBlock.cshtml)
+ IntermediateToken - (20:2,2 [0] EmptyCodeBlock.cshtml) - CSharp -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyExplicitExpression.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyExplicitExpression.cshtml
new file mode 100644
index 0000000000..6790c7eba2
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyExplicitExpression.cshtml
@@ -0,0 +1,3 @@
+This is markup
+
+@() \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyExplicitExpression_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyExplicitExpression_DesignTime.codegen.cs
new file mode 100644
index 0000000000..15b5dea655
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyExplicitExpression_DesignTime.codegen.cs
@@ -0,0 +1,27 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EmptyExplicitExpression_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyExplicitExpression.cshtml"
+__o = ;
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyExplicitExpression_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyExplicitExpression_DesignTime.ir.txt
new file mode 100644
index 0000000000..cca09001e8
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyExplicitExpression_DesignTime.ir.txt
@@ -0,0 +1,15 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EmptyExplicitExpression_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (0:0,0 [18] EmptyExplicitExpression.cshtml)
+ IntermediateToken - (0:0,0 [18] EmptyExplicitExpression.cshtml) - Html - This is markup\n\n
+ CSharpExpression - (20:2,2 [0] EmptyExplicitExpression.cshtml)
+ IntermediateToken - (20:2,2 [0] EmptyExplicitExpression.cshtml) - CSharp -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyExplicitExpression_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyExplicitExpression_DesignTime.mappings.txt
new file mode 100644
index 0000000000..47eec8be51
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyExplicitExpression_DesignTime.mappings.txt
@@ -0,0 +1,5 @@
+Source Location: (20:2,2 [0] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyExplicitExpression.cshtml)
+||
+Generated Location: (751:18,6 [0] )
+||
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyExplicitExpression_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyExplicitExpression_Runtime.codegen.cs
new file mode 100644
index 0000000000..35d2af9843
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyExplicitExpression_Runtime.codegen.cs
@@ -0,0 +1,24 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyExplicitExpression.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "25dc9cf13110b5af9a1ca31a8f02abdc45a37244"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EmptyExplicitExpression_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyExplicitExpression.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"25dc9cf13110b5af9a1ca31a8f02abdc45a37244", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyExplicitExpression.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EmptyExplicitExpression_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("This is markup\r\n\r\n");
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyExplicitExpression.cshtml"
+Write();
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyExplicitExpression_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyExplicitExpression_Runtime.ir.txt
new file mode 100644
index 0000000000..c3daa8feb5
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyExplicitExpression_Runtime.ir.txt
@@ -0,0 +1,10 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EmptyExplicitExpression_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (0:0,0 [18] EmptyExplicitExpression.cshtml)
+ IntermediateToken - (0:0,0 [18] EmptyExplicitExpression.cshtml) - Html - This is markup\n\n
+ CSharpExpression - (20:2,2 [0] EmptyExplicitExpression.cshtml)
+ IntermediateToken - (20:2,2 [0] EmptyExplicitExpression.cshtml) - CSharp -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression.cshtml
new file mode 100644
index 0000000000..021306da6b
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression.cshtml
@@ -0,0 +1,3 @@
+This is markup
+
+@! \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode.cshtml
new file mode 100644
index 0000000000..a1db8cd602
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode.cshtml
@@ -0,0 +1,3 @@
+@{
+ @
+} \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode_DesignTime.codegen.cs
new file mode 100644
index 0000000000..2f466f8132
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode_DesignTime.codegen.cs
@@ -0,0 +1,31 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EmptyImplicitExpressionInCode_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+
+
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode.cshtml"
+__o = ;
+
+#line default
+#line hidden
+
+
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode_DesignTime.diagnostics.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode_DesignTime.diagnostics.txt
new file mode 100644
index 0000000000..84ac278f6d
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode_DesignTime.diagnostics.txt
@@ -0,0 +1 @@
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode.cshtml(2,6): Error RZ1003: A space or line break was encountered after the "@" character. Only valid identifiers, keywords, comments, "(" and "{" are valid at the start of a code block and they must occur immediately following "@" with no space in between.
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode_DesignTime.ir.txt
new file mode 100644
index 0000000000..d167e2f6b9
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode_DesignTime.ir.txt
@@ -0,0 +1,17 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EmptyImplicitExpressionInCode_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (2:0,2 [6] EmptyImplicitExpressionInCode.cshtml)
+ IntermediateToken - (2:0,2 [6] EmptyImplicitExpressionInCode.cshtml) - CSharp - \n
+ CSharpExpression - (9:1,5 [0] EmptyImplicitExpressionInCode.cshtml)
+ IntermediateToken - (9:1,5 [0] EmptyImplicitExpressionInCode.cshtml) - CSharp -
+ CSharpCode - (9:1,5 [2] EmptyImplicitExpressionInCode.cshtml)
+ IntermediateToken - (9:1,5 [2] EmptyImplicitExpressionInCode.cshtml) - CSharp - \n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode_DesignTime.mappings.txt
new file mode 100644
index 0000000000..8fde4acc1b
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode_DesignTime.mappings.txt
@@ -0,0 +1,19 @@
+Source Location: (2:0,2 [6] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode.cshtml)
+|
+ |
+Generated Location: (666:17,14 [6] )
+|
+ |
+
+Source Location: (9:1,5 [0] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode.cshtml)
+||
+Generated Location: (785:20,6 [0] )
+||
+
+Source Location: (9:1,5 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode.cshtml)
+|
+|
+Generated Location: (836:24,17 [2] )
+|
+|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode_Runtime.codegen.cs
new file mode 100644
index 0000000000..b8d77907e7
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode_Runtime.codegen.cs
@@ -0,0 +1,23 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "bf754c5b319ea54f6c9636bd2815d4b47d11886d"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EmptyImplicitExpressionInCode_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"bf754c5b319ea54f6c9636bd2815d4b47d11886d", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EmptyImplicitExpressionInCode_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode.cshtml"
+Write();
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode_Runtime.diagnostics.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode_Runtime.diagnostics.txt
new file mode 100644
index 0000000000..84ac278f6d
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode_Runtime.diagnostics.txt
@@ -0,0 +1 @@
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode.cshtml(2,6): Error RZ1003: A space or line break was encountered after the "@" character. Only valid identifiers, keywords, comments, "(" and "{" are valid at the start of a code block and they must occur immediately following "@" with no space in between.
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode_Runtime.ir.txt
new file mode 100644
index 0000000000..b910f3841c
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpressionInCode_Runtime.ir.txt
@@ -0,0 +1,12 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EmptyImplicitExpressionInCode_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (2:0,2 [6] EmptyImplicitExpressionInCode.cshtml)
+ IntermediateToken - (2:0,2 [6] EmptyImplicitExpressionInCode.cshtml) - CSharp - \n
+ CSharpExpression - (9:1,5 [0] EmptyImplicitExpressionInCode.cshtml)
+ IntermediateToken - (9:1,5 [0] EmptyImplicitExpressionInCode.cshtml) - CSharp -
+ CSharpCode - (9:1,5 [2] EmptyImplicitExpressionInCode.cshtml)
+ IntermediateToken - (9:1,5 [2] EmptyImplicitExpressionInCode.cshtml) - CSharp - \n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression_DesignTime.codegen.cs
new file mode 100644
index 0000000000..971dd6bb45
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression_DesignTime.codegen.cs
@@ -0,0 +1,27 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EmptyImplicitExpression_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression.cshtml"
+__o = ;
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression_DesignTime.diagnostics.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression_DesignTime.diagnostics.txt
new file mode 100644
index 0000000000..5524460d0c
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression_DesignTime.diagnostics.txt
@@ -0,0 +1 @@
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression.cshtml(3,2): Error RZ1005: "!" is not valid at the start of a code block. Only identifiers, keywords, comments, "(" and "{" are valid.
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression_DesignTime.ir.txt
new file mode 100644
index 0000000000..60189098dc
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression_DesignTime.ir.txt
@@ -0,0 +1,17 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EmptyImplicitExpression_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (0:0,0 [18] EmptyImplicitExpression.cshtml)
+ IntermediateToken - (0:0,0 [18] EmptyImplicitExpression.cshtml) - Html - This is markup\n\n
+ CSharpExpression - (19:2,1 [0] EmptyImplicitExpression.cshtml)
+ IntermediateToken - (19:2,1 [0] EmptyImplicitExpression.cshtml) - CSharp -
+ HtmlContent - (19:2,1 [1] EmptyImplicitExpression.cshtml)
+ IntermediateToken - (19:2,1 [1] EmptyImplicitExpression.cshtml) - Html - !
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression_DesignTime.mappings.txt
new file mode 100644
index 0000000000..356a4ebe7a
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression_DesignTime.mappings.txt
@@ -0,0 +1,5 @@
+Source Location: (19:2,1 [0] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression.cshtml)
+||
+Generated Location: (751:18,6 [0] )
+||
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression_Runtime.codegen.cs
new file mode 100644
index 0000000000..9b4be09572
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression_Runtime.codegen.cs
@@ -0,0 +1,25 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "4c215c8ff3e726be334183020106682e47cf8ace"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EmptyImplicitExpression_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"4c215c8ff3e726be334183020106682e47cf8ace", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EmptyImplicitExpression_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("This is markup\r\n\r\n");
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression.cshtml"
+Write();
+
+#line default
+#line hidden
+ WriteLiteral("!");
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression_Runtime.diagnostics.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression_Runtime.diagnostics.txt
new file mode 100644
index 0000000000..5524460d0c
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression_Runtime.diagnostics.txt
@@ -0,0 +1 @@
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression.cshtml(3,2): Error RZ1005: "!" is not valid at the start of a code block. Only identifiers, keywords, comments, "(" and "{" are valid.
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression_Runtime.ir.txt
new file mode 100644
index 0000000000..e4187049bb
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EmptyImplicitExpression_Runtime.ir.txt
@@ -0,0 +1,12 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EmptyImplicitExpression_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (0:0,0 [18] EmptyImplicitExpression.cshtml)
+ IntermediateToken - (0:0,0 [18] EmptyImplicitExpression.cshtml) - Html - This is markup\n\n
+ CSharpExpression - (19:2,1 [0] EmptyImplicitExpression.cshtml)
+ IntermediateToken - (19:2,1 [0] EmptyImplicitExpression.cshtml) - CSharp -
+ HtmlContent - (19:2,1 [1] EmptyImplicitExpression.cshtml)
+ IntermediateToken - (19:2,1 [1] EmptyImplicitExpression.cshtml) - Html - !
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers.cshtml
new file mode 100644
index 0000000000..d949682156
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers.cshtml
@@ -0,0 +1,11 @@
+@addTagHelper "*, TestAssembly"
+
+@{
+ var enumValue = MyEnum.MyValue;
+}
+
+<input value="@MyEnum.MyValue" />
+<input class="@MyEnum.MySecondValue" />
+<input value="MyValue" />
+<input value="MySecondValue" catch-all="MyValue"/>
+<input value="@enumValue" catch-all="@enumValue" />
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers_DesignTime.codegen.cs
new file mode 100644
index 0000000000..db0d5933b9
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers_DesignTime.codegen.cs
@@ -0,0 +1,79 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EnumTagHelpers_DesignTime
+ {
+ private global::TestNamespace.InputTagHelper __TestNamespace_InputTagHelper;
+ private global::TestNamespace.CatchAllTagHelper __TestNamespace_CatchAllTagHelper;
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "*, TestAssembly";
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers.cshtml"
+
+ var enumValue = MyEnum.MyValue;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+#line 7 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers.cshtml"
+__TestNamespace_InputTagHelper.Value = MyEnum.MyValue;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+#line 8 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers.cshtml"
+ __o = MyEnum.MySecondValue;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers.cshtml"
+__TestNamespace_InputTagHelper.Value = global::Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestTagHelperDescriptors.MyEnum.MyValue;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers.cshtml"
+__TestNamespace_InputTagHelper.Value = global::Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestTagHelperDescriptors.MyEnum.MySecondValue;
+
+#line default
+#line hidden
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers.cshtml"
+__TestNamespace_CatchAllTagHelper.CatchAll = global::Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestTagHelperDescriptors.MyEnum.MyValue;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+#line 11 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers.cshtml"
+__TestNamespace_InputTagHelper.Value = enumValue;
+
+#line default
+#line hidden
+#line 11 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers.cshtml"
+__TestNamespace_CatchAllTagHelper.CatchAll = enumValue;
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers_DesignTime.ir.txt
new file mode 100644
index 0000000000..2418da2ba7
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers_DesignTime.ir.txt
@@ -0,0 +1,74 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EnumTagHelpers_DesignTime - -
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper - __TestNamespace_InputTagHelper
+ FieldDeclaration - - private - global::TestNamespace.CatchAllTagHelper - __TestNamespace_CatchAllTagHelper
+ DesignTimeDirective -
+ DirectiveToken - (14:0,14 [17] EnumTagHelpers.cshtml) - "*, TestAssembly"
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (31:0,31 [4] EnumTagHelpers.cshtml)
+ IntermediateToken - (31:0,31 [4] EnumTagHelpers.cshtml) - Html - \n\n
+ CSharpCode - (37:2,2 [39] EnumTagHelpers.cshtml)
+ IntermediateToken - (37:2,2 [39] EnumTagHelpers.cshtml) - CSharp - \n var enumValue = MyEnum.MyValue;\n
+ HtmlContent - (79:5,0 [2] EnumTagHelpers.cshtml)
+ IntermediateToken - (79:5,0 [2] EnumTagHelpers.cshtml) - Html - \n
+ TagHelper - (81:6,0 [33] EnumTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperProperty - (95:6,14 [15] EnumTagHelpers.cshtml) - value - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestTagHelperDescriptors.MyEnum TestNamespace.InputTagHelper.Value - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (96:6,15 [14] EnumTagHelpers.cshtml)
+ IntermediateToken - (96:6,15 [14] EnumTagHelpers.cshtml) - CSharp - MyEnum.MyValue
+ DefaultTagHelperExecute -
+ HtmlContent - (114:6,33 [2] EnumTagHelpers.cshtml)
+ IntermediateToken - (114:6,33 [2] EnumTagHelpers.cshtml) - Html - \n
+ TagHelper - (116:7,0 [39] EnumTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperHtmlAttribute - - class - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpressionAttributeValue - (130:7,14 [21] EnumTagHelpers.cshtml) -
+ IntermediateToken - (131:7,15 [20] EnumTagHelpers.cshtml) - CSharp - MyEnum.MySecondValue
+ DefaultTagHelperExecute -
+ HtmlContent - (155:7,39 [2] EnumTagHelpers.cshtml)
+ IntermediateToken - (155:7,39 [2] EnumTagHelpers.cshtml) - Html - \n
+ TagHelper - (157:8,0 [25] EnumTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperProperty - (171:8,14 [7] EnumTagHelpers.cshtml) - value - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestTagHelperDescriptors.MyEnum TestNamespace.InputTagHelper.Value - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (171:8,14 [7] EnumTagHelpers.cshtml) - CSharp - MyValue
+ DefaultTagHelperExecute -
+ HtmlContent - (182:8,25 [2] EnumTagHelpers.cshtml)
+ IntermediateToken - (182:8,25 [2] EnumTagHelpers.cshtml) - Html - \n
+ TagHelper - (184:9,0 [50] EnumTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperProperty - (198:9,14 [13] EnumTagHelpers.cshtml) - value - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestTagHelperDescriptors.MyEnum TestNamespace.InputTagHelper.Value - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (198:9,14 [13] EnumTagHelpers.cshtml) - CSharp - MySecondValue
+ DefaultTagHelperProperty - (224:9,40 [7] EnumTagHelpers.cshtml) - catch-all - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestTagHelperDescriptors.MyEnum TestNamespace.CatchAllTagHelper.CatchAll - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (224:9,40 [7] EnumTagHelpers.cshtml) - CSharp - MyValue
+ DefaultTagHelperExecute -
+ HtmlContent - (234:9,50 [2] EnumTagHelpers.cshtml)
+ IntermediateToken - (234:9,50 [2] EnumTagHelpers.cshtml) - Html - \n
+ TagHelper - (236:10,0 [51] EnumTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperProperty - (250:10,14 [10] EnumTagHelpers.cshtml) - value - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestTagHelperDescriptors.MyEnum TestNamespace.InputTagHelper.Value - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (251:10,15 [9] EnumTagHelpers.cshtml)
+ IntermediateToken - (251:10,15 [9] EnumTagHelpers.cshtml) - CSharp - enumValue
+ DefaultTagHelperProperty - (273:10,37 [10] EnumTagHelpers.cshtml) - catch-all - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestTagHelperDescriptors.MyEnum TestNamespace.CatchAllTagHelper.CatchAll - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (274:10,38 [9] EnumTagHelpers.cshtml)
+ IntermediateToken - (274:10,38 [9] EnumTagHelpers.cshtml) - CSharp - enumValue
+ DefaultTagHelperExecute -
+ HtmlContent - (287:10,51 [2] EnumTagHelpers.cshtml)
+ IntermediateToken - (287:10,51 [2] EnumTagHelpers.cshtml) - Html - \n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers_DesignTime.mappings.txt
new file mode 100644
index 0000000000..948af33b62
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers_DesignTime.mappings.txt
@@ -0,0 +1,49 @@
+Source Location: (14:0,14 [17] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers.cshtml)
+|"*, TestAssembly"|
+Generated Location: (598:12,37 [17] )
+|"*, TestAssembly"|
+
+Source Location: (37:2,2 [39] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers.cshtml)
+|
+ var enumValue = MyEnum.MyValue;
+|
+Generated Location: (1024:24,2 [39] )
+|
+ var enumValue = MyEnum.MyValue;
+|
+
+Source Location: (96:6,15 [14] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers.cshtml)
+|MyEnum.MyValue|
+Generated Location: (1435:32,39 [14] )
+|MyEnum.MyValue|
+
+Source Location: (131:7,15 [20] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers.cshtml)
+|MyEnum.MySecondValue|
+Generated Location: (1800:39,15 [20] )
+|MyEnum.MySecondValue|
+
+Source Location: (171:8,14 [7] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers.cshtml)
+|MyValue|
+Generated Location: (2288:46,132 [7] )
+|MyValue|
+
+Source Location: (198:9,14 [13] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers.cshtml)
+|MySecondValue|
+Generated Location: (2764:53,132 [13] )
+|MySecondValue|
+
+Source Location: (224:9,40 [7] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers.cshtml)
+|MyValue|
+Generated Location: (3040:58,138 [7] )
+|MyValue|
+
+Source Location: (251:10,15 [9] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers.cshtml)
+|enumValue|
+Generated Location: (3423:65,39 [9] )
+|enumValue|
+
+Source Location: (274:10,38 [9] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers.cshtml)
+|enumValue|
+Generated Location: (3602:70,45 [9] )
+|enumValue|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers_Runtime.codegen.cs
new file mode 100644
index 0000000000..47d1c91108
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers_Runtime.codegen.cs
@@ -0,0 +1,164 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "a605351a30b7fef3db7e3f61a70a62e29a6badf8"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EnumTagHelpers_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"a605351a30b7fef3db7e3f61a70a62e29a6badf8", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EnumTagHelpers_Runtime
+ {
+ #line hidden
+ #pragma warning disable 0169
+ private string __tagHelperStringValueBuffer;
+ #pragma warning restore 0169
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext __tagHelperExecutionContext;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner();
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __backed__tagHelperScopeManager = null;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __tagHelperScopeManager
+ {
+ get
+ {
+ if (__backed__tagHelperScopeManager == null)
+ {
+ __backed__tagHelperScopeManager = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager(StartTagHelperWritingScope, EndTagHelperWritingScope);
+ }
+ return __backed__tagHelperScopeManager;
+ }
+ }
+ private global::TestNamespace.InputTagHelper __TestNamespace_InputTagHelper;
+ private global::TestNamespace.CatchAllTagHelper __TestNamespace_CatchAllTagHelper;
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("\r\n");
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers.cshtml"
+
+ var enumValue = MyEnum.MyValue;
+
+#line default
+#line hidden
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_CatchAllTagHelper);
+#line 7 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers.cshtml"
+__TestNamespace_InputTagHelper.Value = MyEnum.MyValue;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("value", __TestNamespace_InputTagHelper.Value, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_CatchAllTagHelper);
+ BeginAddHtmlAttributeValues(__tagHelperExecutionContext, "class", 1, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+#line 8 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers.cshtml"
+AddHtmlAttributeValue("", 130, MyEnum.MySecondValue, 130, 21, false);
+
+#line default
+#line hidden
+ EndAddHtmlAttributeValues(__tagHelperExecutionContext);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_CatchAllTagHelper);
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers.cshtml"
+__TestNamespace_InputTagHelper.Value = global::Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestTagHelperDescriptors.MyEnum.MyValue;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("value", __TestNamespace_InputTagHelper.Value, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_CatchAllTagHelper);
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers.cshtml"
+__TestNamespace_InputTagHelper.Value = global::Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestTagHelperDescriptors.MyEnum.MySecondValue;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("value", __TestNamespace_InputTagHelper.Value, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers.cshtml"
+__TestNamespace_CatchAllTagHelper.CatchAll = global::Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestTagHelperDescriptors.MyEnum.MyValue;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("catch-all", __TestNamespace_CatchAllTagHelper.CatchAll, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_CatchAllTagHelper);
+#line 11 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers.cshtml"
+__TestNamespace_InputTagHelper.Value = enumValue;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("value", __TestNamespace_InputTagHelper.Value, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+#line 11 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers.cshtml"
+__TestNamespace_CatchAllTagHelper.CatchAll = enumValue;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("catch-all", __TestNamespace_CatchAllTagHelper.CatchAll, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n");
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers_Runtime.ir.txt
new file mode 100644
index 0000000000..e38db1bbaa
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EnumTagHelpers_Runtime.ir.txt
@@ -0,0 +1,68 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EnumTagHelpers_Runtime - -
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper - __TestNamespace_InputTagHelper
+ FieldDeclaration - - private - global::TestNamespace.CatchAllTagHelper - __TestNamespace_CatchAllTagHelper
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (33:1,0 [2] EnumTagHelpers.cshtml)
+ IntermediateToken - (33:1,0 [2] EnumTagHelpers.cshtml) - Html - \n
+ CSharpCode - (37:2,2 [39] EnumTagHelpers.cshtml)
+ IntermediateToken - (37:2,2 [39] EnumTagHelpers.cshtml) - CSharp - \n var enumValue = MyEnum.MyValue;\n
+ HtmlContent - (79:5,0 [2] EnumTagHelpers.cshtml)
+ IntermediateToken - (79:5,0 [2] EnumTagHelpers.cshtml) - Html - \n
+ TagHelper - (81:6,0 [33] EnumTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperProperty - (95:6,14 [15] EnumTagHelpers.cshtml) - value - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestTagHelperDescriptors.MyEnum TestNamespace.InputTagHelper.Value - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (96:6,15 [14] EnumTagHelpers.cshtml)
+ IntermediateToken - (96:6,15 [14] EnumTagHelpers.cshtml) - CSharp - MyEnum.MyValue
+ DefaultTagHelperExecute -
+ HtmlContent - (114:6,33 [2] EnumTagHelpers.cshtml)
+ IntermediateToken - (114:6,33 [2] EnumTagHelpers.cshtml) - Html - \n
+ TagHelper - (116:7,0 [39] EnumTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperHtmlAttribute - - class - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpressionAttributeValue - (130:7,14 [21] EnumTagHelpers.cshtml) -
+ IntermediateToken - (131:7,15 [20] EnumTagHelpers.cshtml) - CSharp - MyEnum.MySecondValue
+ DefaultTagHelperExecute -
+ HtmlContent - (155:7,39 [2] EnumTagHelpers.cshtml)
+ IntermediateToken - (155:7,39 [2] EnumTagHelpers.cshtml) - Html - \n
+ TagHelper - (157:8,0 [25] EnumTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperProperty - (171:8,14 [7] EnumTagHelpers.cshtml) - value - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestTagHelperDescriptors.MyEnum TestNamespace.InputTagHelper.Value - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (171:8,14 [7] EnumTagHelpers.cshtml) - CSharp - MyValue
+ DefaultTagHelperExecute -
+ HtmlContent - (182:8,25 [2] EnumTagHelpers.cshtml)
+ IntermediateToken - (182:8,25 [2] EnumTagHelpers.cshtml) - Html - \n
+ TagHelper - (184:9,0 [50] EnumTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperProperty - (198:9,14 [13] EnumTagHelpers.cshtml) - value - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestTagHelperDescriptors.MyEnum TestNamespace.InputTagHelper.Value - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (198:9,14 [13] EnumTagHelpers.cshtml) - CSharp - MySecondValue
+ DefaultTagHelperProperty - (224:9,40 [7] EnumTagHelpers.cshtml) - catch-all - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestTagHelperDescriptors.MyEnum TestNamespace.CatchAllTagHelper.CatchAll - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (224:9,40 [7] EnumTagHelpers.cshtml) - CSharp - MyValue
+ DefaultTagHelperExecute -
+ HtmlContent - (234:9,50 [2] EnumTagHelpers.cshtml)
+ IntermediateToken - (234:9,50 [2] EnumTagHelpers.cshtml) - Html - \n
+ TagHelper - (236:10,0 [51] EnumTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperProperty - (250:10,14 [10] EnumTagHelpers.cshtml) - value - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestTagHelperDescriptors.MyEnum TestNamespace.InputTagHelper.Value - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (251:10,15 [9] EnumTagHelpers.cshtml)
+ IntermediateToken - (251:10,15 [9] EnumTagHelpers.cshtml) - CSharp - enumValue
+ DefaultTagHelperProperty - (273:10,37 [10] EnumTagHelpers.cshtml) - catch-all - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestTagHelperDescriptors.MyEnum TestNamespace.CatchAllTagHelper.CatchAll - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (274:10,38 [9] EnumTagHelpers.cshtml)
+ IntermediateToken - (274:10,38 [9] EnumTagHelpers.cshtml) - CSharp - enumValue
+ DefaultTagHelperExecute -
+ HtmlContent - (287:10,51 [2] EnumTagHelpers.cshtml)
+ IntermediateToken - (287:10,51 [2] EnumTagHelpers.cshtml) - Html - \n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers.cshtml
new file mode 100644
index 0000000000..a7bc49af11
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers.cshtml
@@ -0,0 +1,8 @@
+@addTagHelper *, TestAssembly
+
+<!div class="randomNonTagHelperAttribute">
+ <!p class="Hello World" @DateTime.Now>
+ <!input type="text" />
+ <!em>Not a TagHelper: </!em> <input type="@DateTime.Now" checked="true" />
+ </!p>
+</!div> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers_DesignTime.codegen.cs
new file mode 100644
index 0000000000..81fc96ba88
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers_DesignTime.codegen.cs
@@ -0,0 +1,47 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EscapedTagHelpers_DesignTime
+ {
+ private global::TestNamespace.InputTagHelper __TestNamespace_InputTagHelper;
+ private global::TestNamespace.InputTagHelper2 __TestNamespace_InputTagHelper2;
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "*, TestAssembly";
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 4 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers.cshtml"
+ __o = DateTime.Now;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+#line 6 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers.cshtml"
+ __o = DateTime.Now;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper.Type = string.Empty;
+ __TestNamespace_InputTagHelper2.Type = __TestNamespace_InputTagHelper.Type;
+#line 6 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers.cshtml"
+ __TestNamespace_InputTagHelper2.Checked = true;
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers_DesignTime.ir.txt
new file mode 100644
index 0000000000..9bc70b1439
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers_DesignTime.ir.txt
@@ -0,0 +1,69 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EscapedTagHelpers_DesignTime - -
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper - __TestNamespace_InputTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper2 - __TestNamespace_InputTagHelper2
+ DesignTimeDirective -
+ DirectiveToken - (14:0,14 [15] EscapedTagHelpers.cshtml) - *, TestAssembly
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (29:0,29 [5] EscapedTagHelpers.cshtml)
+ IntermediateToken - (29:0,29 [4] EscapedTagHelpers.cshtml) - Html - \n\n
+ IntermediateToken - (33:2,0 [1] EscapedTagHelpers.cshtml) - Html - <
+ HtmlContent - (35:2,2 [47] EscapedTagHelpers.cshtml)
+ IntermediateToken - (35:2,2 [3] EscapedTagHelpers.cshtml) - Html - div
+ IntermediateToken - (38:2,5 [36] EscapedTagHelpers.cshtml) - Html - class="randomNonTagHelperAttribute"
+ IntermediateToken - (74:2,41 [1] EscapedTagHelpers.cshtml) - Html - >
+ IntermediateToken - (75:2,42 [6] EscapedTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (81:3,4 [1] EscapedTagHelpers.cshtml) - Html - <
+ HtmlContent - (83:3,6 [22] EscapedTagHelpers.cshtml)
+ IntermediateToken - (83:3,6 [1] EscapedTagHelpers.cshtml) - Html - p
+ IntermediateToken - (84:3,7 [20] EscapedTagHelpers.cshtml) - Html - class="Hello World"
+ IntermediateToken - (104:3,27 [1] EscapedTagHelpers.cshtml) - Html -
+ CSharpExpression - (106:3,29 [12] EscapedTagHelpers.cshtml)
+ IntermediateToken - (106:3,29 [12] EscapedTagHelpers.cshtml) - CSharp - DateTime.Now
+ HtmlContent - (118:3,41 [12] EscapedTagHelpers.cshtml)
+ IntermediateToken - (118:3,41 [1] EscapedTagHelpers.cshtml) - Html - >
+ IntermediateToken - (119:3,42 [10] EscapedTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (129:4,8 [1] EscapedTagHelpers.cshtml) - Html - <
+ HtmlContent - (131:4,10 [31] EscapedTagHelpers.cshtml)
+ IntermediateToken - (131:4,10 [5] EscapedTagHelpers.cshtml) - Html - input
+ IntermediateToken - (136:4,15 [12] EscapedTagHelpers.cshtml) - Html - type="text"
+ IntermediateToken - (148:4,27 [3] EscapedTagHelpers.cshtml) - Html - />
+ IntermediateToken - (151:4,30 [10] EscapedTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (161:5,8 [1] EscapedTagHelpers.cshtml) - Html - <
+ HtmlContent - (163:5,10 [22] EscapedTagHelpers.cshtml)
+ IntermediateToken - (163:5,10 [3] EscapedTagHelpers.cshtml) - Html - em>
+ IntermediateToken - (166:5,13 [17] EscapedTagHelpers.cshtml) - Html - Not a TagHelper:
+ IntermediateToken - (183:5,30 [2] EscapedTagHelpers.cshtml) - Html - </
+ HtmlContent - (186:5,33 [4] EscapedTagHelpers.cshtml)
+ IntermediateToken - (186:5,33 [3] EscapedTagHelpers.cshtml) - Html - em>
+ IntermediateToken - (189:5,36 [1] EscapedTagHelpers.cshtml) - Html -
+ TagHelper - (190:5,37 [45] EscapedTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperProperty - (203:5,50 [13] EscapedTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper.Type - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (204:5,51 [12] EscapedTagHelpers.cshtml)
+ IntermediateToken - (204:5,51 [12] EscapedTagHelpers.cshtml) - CSharp - DateTime.Now
+ DefaultTagHelperProperty - (203:5,50 [13] EscapedTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper2.Type - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (204:5,51 [12] EscapedTagHelpers.cshtml)
+ IntermediateToken - (204:5,51 [12] EscapedTagHelpers.cshtml) - CSharp - DateTime.Now
+ DefaultTagHelperProperty - (227:5,74 [4] EscapedTagHelpers.cshtml) - checked - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (227:5,74 [4] EscapedTagHelpers.cshtml) - CSharp - true
+ DefaultTagHelperExecute -
+ HtmlContent - (235:5,82 [8] EscapedTagHelpers.cshtml)
+ IntermediateToken - (235:5,82 [6] EscapedTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (241:6,4 [2] EscapedTagHelpers.cshtml) - Html - </
+ HtmlContent - (244:6,7 [6] EscapedTagHelpers.cshtml)
+ IntermediateToken - (244:6,7 [2] EscapedTagHelpers.cshtml) - Html - p>
+ IntermediateToken - (246:6,9 [2] EscapedTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (248:7,0 [2] EscapedTagHelpers.cshtml) - Html - </
+ HtmlContent - (251:7,3 [4] EscapedTagHelpers.cshtml)
+ IntermediateToken - (251:7,3 [4] EscapedTagHelpers.cshtml) - Html - div>
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers_DesignTime.mappings.txt
new file mode 100644
index 0000000000..32e64b25e5
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers_DesignTime.mappings.txt
@@ -0,0 +1,20 @@
+Source Location: (14:0,14 [15] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers.cshtml)
+|*, TestAssembly|
+Generated Location: (598:12,38 [15] )
+|*, TestAssembly|
+
+Source Location: (106:3,29 [12] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers.cshtml)
+|DateTime.Now|
+Generated Location: (1053:24,29 [12] )
+|DateTime.Now|
+
+Source Location: (204:5,51 [12] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers.cshtml)
+|DateTime.Now|
+Generated Location: (1451:31,51 [12] )
+|DateTime.Now|
+
+Source Location: (227:5,74 [4] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers.cshtml)
+|true|
+Generated Location: (1818:38,74 [4] )
+|true|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers_Runtime.codegen.cs
new file mode 100644
index 0000000000..74ba222d6c
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers_Runtime.codegen.cs
@@ -0,0 +1,83 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "c1489e9dd98dc3e29bfbfd9a3f271ddec5134446"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EscapedTagHelpers_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"c1489e9dd98dc3e29bfbfd9a3f271ddec5134446", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EscapedTagHelpers_Runtime
+ {
+ #line hidden
+ #pragma warning disable 0169
+ private string __tagHelperStringValueBuffer;
+ #pragma warning restore 0169
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext __tagHelperExecutionContext;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner();
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __backed__tagHelperScopeManager = null;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __tagHelperScopeManager
+ {
+ get
+ {
+ if (__backed__tagHelperScopeManager == null)
+ {
+ __backed__tagHelperScopeManager = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager(StartTagHelperWritingScope, EndTagHelperWritingScope);
+ }
+ return __backed__tagHelperScopeManager;
+ }
+ }
+ private global::TestNamespace.InputTagHelper __TestNamespace_InputTagHelper;
+ private global::TestNamespace.InputTagHelper2 __TestNamespace_InputTagHelper2;
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("\r\n<");
+ WriteLiteral("div class=\"randomNonTagHelperAttribute\">\r\n <");
+ WriteLiteral("p class=\"Hello World\" ");
+#line 4 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers.cshtml"
+ Write(DateTime.Now);
+
+#line default
+#line hidden
+ WriteLiteral(">\r\n <");
+ WriteLiteral("input type=\"text\" />\r\n <");
+ WriteLiteral("em>Not a TagHelper: </");
+ WriteLiteral("em> ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper2);
+ BeginWriteTagHelperAttribute();
+#line 6 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers.cshtml"
+ WriteLiteral(DateTime.Now);
+
+#line default
+#line hidden
+ __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
+ __TestNamespace_InputTagHelper.Type = __tagHelperStringValueBuffer;
+ __tagHelperExecutionContext.AddTagHelperAttribute("type", __TestNamespace_InputTagHelper.Type, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ __TestNamespace_InputTagHelper2.Type = __TestNamespace_InputTagHelper.Type;
+#line 6 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers.cshtml"
+__TestNamespace_InputTagHelper2.Checked = true;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("checked", __TestNamespace_InputTagHelper2.Checked, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n </");
+ WriteLiteral("p>\r\n</");
+ WriteLiteral("div>");
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers_Runtime.ir.txt
new file mode 100644
index 0000000000..18242c571b
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/EscapedTagHelpers_Runtime.ir.txt
@@ -0,0 +1,63 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_EscapedTagHelpers_Runtime - -
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper - __TestNamespace_InputTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper2 - __TestNamespace_InputTagHelper2
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (31:1,0 [3] EscapedTagHelpers.cshtml)
+ IntermediateToken - (31:1,0 [2] EscapedTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (33:2,0 [1] EscapedTagHelpers.cshtml) - Html - <
+ HtmlContent - (35:2,2 [47] EscapedTagHelpers.cshtml)
+ IntermediateToken - (35:2,2 [3] EscapedTagHelpers.cshtml) - Html - div
+ IntermediateToken - (38:2,5 [36] EscapedTagHelpers.cshtml) - Html - class="randomNonTagHelperAttribute"
+ IntermediateToken - (74:2,41 [1] EscapedTagHelpers.cshtml) - Html - >
+ IntermediateToken - (75:2,42 [6] EscapedTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (81:3,4 [1] EscapedTagHelpers.cshtml) - Html - <
+ HtmlContent - (83:3,6 [22] EscapedTagHelpers.cshtml)
+ IntermediateToken - (83:3,6 [1] EscapedTagHelpers.cshtml) - Html - p
+ IntermediateToken - (84:3,7 [20] EscapedTagHelpers.cshtml) - Html - class="Hello World"
+ IntermediateToken - (104:3,27 [1] EscapedTagHelpers.cshtml) - Html -
+ CSharpExpression - (106:3,29 [12] EscapedTagHelpers.cshtml)
+ IntermediateToken - (106:3,29 [12] EscapedTagHelpers.cshtml) - CSharp - DateTime.Now
+ HtmlContent - (118:3,41 [12] EscapedTagHelpers.cshtml)
+ IntermediateToken - (118:3,41 [1] EscapedTagHelpers.cshtml) - Html - >
+ IntermediateToken - (119:3,42 [10] EscapedTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (129:4,8 [1] EscapedTagHelpers.cshtml) - Html - <
+ HtmlContent - (131:4,10 [31] EscapedTagHelpers.cshtml)
+ IntermediateToken - (131:4,10 [5] EscapedTagHelpers.cshtml) - Html - input
+ IntermediateToken - (136:4,15 [12] EscapedTagHelpers.cshtml) - Html - type="text"
+ IntermediateToken - (148:4,27 [3] EscapedTagHelpers.cshtml) - Html - />
+ IntermediateToken - (151:4,30 [10] EscapedTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (161:5,8 [1] EscapedTagHelpers.cshtml) - Html - <
+ HtmlContent - (163:5,10 [22] EscapedTagHelpers.cshtml)
+ IntermediateToken - (163:5,10 [3] EscapedTagHelpers.cshtml) - Html - em>
+ IntermediateToken - (166:5,13 [17] EscapedTagHelpers.cshtml) - Html - Not a TagHelper:
+ IntermediateToken - (183:5,30 [2] EscapedTagHelpers.cshtml) - Html - </
+ HtmlContent - (186:5,33 [4] EscapedTagHelpers.cshtml)
+ IntermediateToken - (186:5,33 [3] EscapedTagHelpers.cshtml) - Html - em>
+ IntermediateToken - (189:5,36 [1] EscapedTagHelpers.cshtml) - Html -
+ TagHelper - (190:5,37 [45] EscapedTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperProperty - (203:5,50 [13] EscapedTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper.Type - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (204:5,51 [12] EscapedTagHelpers.cshtml)
+ IntermediateToken - (204:5,51 [12] EscapedTagHelpers.cshtml) - CSharp - DateTime.Now
+ DefaultTagHelperProperty - (203:5,50 [13] EscapedTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper2.Type - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (204:5,51 [12] EscapedTagHelpers.cshtml)
+ IntermediateToken - (204:5,51 [12] EscapedTagHelpers.cshtml) - CSharp - DateTime.Now
+ DefaultTagHelperProperty - (227:5,74 [4] EscapedTagHelpers.cshtml) - checked - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (227:5,74 [4] EscapedTagHelpers.cshtml) - CSharp - true
+ DefaultTagHelperExecute -
+ HtmlContent - (235:5,82 [8] EscapedTagHelpers.cshtml)
+ IntermediateToken - (235:5,82 [6] EscapedTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (241:6,4 [2] EscapedTagHelpers.cshtml) - Html - </
+ HtmlContent - (244:6,7 [6] EscapedTagHelpers.cshtml)
+ IntermediateToken - (244:6,7 [2] EscapedTagHelpers.cshtml) - Html - p>
+ IntermediateToken - (246:6,9 [2] EscapedTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (248:7,0 [2] EscapedTagHelpers.cshtml) - Html - </
+ HtmlContent - (251:7,3 [4] EscapedTagHelpers.cshtml)
+ IntermediateToken - (251:7,3 [4] EscapedTagHelpers.cshtml) - Html - div>
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpression.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpression.cshtml
new file mode 100644
index 0000000000..10730f1114
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpression.cshtml
@@ -0,0 +1 @@
+1 + 1 = @(1+1) \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF.cshtml
new file mode 100644
index 0000000000..a0fdfc9a21
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF.cshtml
@@ -0,0 +1,3 @@
+This is markup
+
+@( \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF_DesignTime.codegen.cs
new file mode 100644
index 0000000000..3774cb8848
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF_DesignTime.codegen.cs
@@ -0,0 +1,27 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ExplicitExpressionAtEOF_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF.cshtml"
+__o = ;
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF_DesignTime.diagnostics.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF_DesignTime.diagnostics.txt
new file mode 100644
index 0000000000..4e0bfb131d
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF_DesignTime.diagnostics.txt
@@ -0,0 +1 @@
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF.cshtml(3,2): Error RZ1006: The explicit expression block is missing a closing ")" character. Make sure you have a matching ")" character for all the "(" characters within this block, and that none of the ")" characters are being interpreted as markup.
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF_DesignTime.ir.txt
new file mode 100644
index 0000000000..947b28d727
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF_DesignTime.ir.txt
@@ -0,0 +1,15 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ExplicitExpressionAtEOF_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (0:0,0 [18] ExplicitExpressionAtEOF.cshtml)
+ IntermediateToken - (0:0,0 [18] ExplicitExpressionAtEOF.cshtml) - Html - This is markup\n\n
+ CSharpExpression - (20:2,2 [0] ExplicitExpressionAtEOF.cshtml)
+ IntermediateToken - (20:2,2 [0] ExplicitExpressionAtEOF.cshtml) - CSharp -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF_DesignTime.mappings.txt
new file mode 100644
index 0000000000..5567e88c00
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF_DesignTime.mappings.txt
@@ -0,0 +1,5 @@
+Source Location: (20:2,2 [0] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF.cshtml)
+||
+Generated Location: (751:18,6 [0] )
+||
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF_Runtime.codegen.cs
new file mode 100644
index 0000000000..2339c30ff9
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF_Runtime.codegen.cs
@@ -0,0 +1,24 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "e8e095026beaca454b3a8d02b1548fa001d08214"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ExplicitExpressionAtEOF_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"e8e095026beaca454b3a8d02b1548fa001d08214", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ExplicitExpressionAtEOF_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("This is markup\r\n\r\n");
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF.cshtml"
+Write();
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF_Runtime.diagnostics.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF_Runtime.diagnostics.txt
new file mode 100644
index 0000000000..4e0bfb131d
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF_Runtime.diagnostics.txt
@@ -0,0 +1 @@
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF.cshtml(3,2): Error RZ1006: The explicit expression block is missing a closing ")" character. Make sure you have a matching ")" character for all the "(" characters within this block, and that none of the ")" characters are being interpreted as markup.
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF_Runtime.ir.txt
new file mode 100644
index 0000000000..5f459014c8
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionAtEOF_Runtime.ir.txt
@@ -0,0 +1,10 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ExplicitExpressionAtEOF_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (0:0,0 [18] ExplicitExpressionAtEOF.cshtml)
+ IntermediateToken - (0:0,0 [18] ExplicitExpressionAtEOF.cshtml) - Html - This is markup\n\n
+ CSharpExpression - (20:2,2 [0] ExplicitExpressionAtEOF.cshtml)
+ IntermediateToken - (20:2,2 [0] ExplicitExpressionAtEOF.cshtml) - CSharp -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup.cshtml
new file mode 100644
index 0000000000..70d8cefd95
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup.cshtml
@@ -0,0 +1 @@
+<div>@(@</div> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup_DesignTime.codegen.cs
new file mode 100644
index 0000000000..e74c42e5cd
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup_DesignTime.codegen.cs
@@ -0,0 +1,29 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ExplicitExpressionWithMarkup_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup.cshtml"
+ __o = item => new Template(async(__razor_template_writer) => {
+}
+);
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup_DesignTime.diagnostics.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup_DesignTime.diagnostics.txt
new file mode 100644
index 0000000000..16ad2a09d5
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup_DesignTime.diagnostics.txt
@@ -0,0 +1,2 @@
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup.cshtml(1,11): Error RZ1026: Encountered end tag "div" with no matching start tag. Are your start/end tags properly balanced?
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup.cshtml(1,7): Error RZ1006: The explicit expression block is missing a closing ")" character. Make sure you have a matching ")" character for all the "(" characters within this block, and that none of the ")" characters are being interpreted as markup.
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup_DesignTime.ir.txt
new file mode 100644
index 0000000000..f405093799
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup_DesignTime.ir.txt
@@ -0,0 +1,18 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ExplicitExpressionWithMarkup_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (0:0,0 [5] ExplicitExpressionWithMarkup.cshtml)
+ IntermediateToken - (0:0,0 [5] ExplicitExpressionWithMarkup.cshtml) - Html - <div>
+ CSharpExpression - (8:0,8 [6] ExplicitExpressionWithMarkup.cshtml)
+ Template - (8:0,8 [6] ExplicitExpressionWithMarkup.cshtml)
+ HtmlContent - (8:0,8 [6] ExplicitExpressionWithMarkup.cshtml)
+ IntermediateToken - (8:0,8 [6] ExplicitExpressionWithMarkup.cshtml) - Html - </div>
+ IntermediateToken - (14:0,14 [0] ExplicitExpressionWithMarkup.cshtml) - CSharp -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup_DesignTime.mappings.txt
new file mode 100644
index 0000000000..228b0d53df
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup_DesignTime.mappings.txt
@@ -0,0 +1,5 @@
+Source Location: (14:0,14 [0] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup.cshtml)
+||
+Generated Location: (825:20,1 [0] )
+||
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup_Runtime.codegen.cs
new file mode 100644
index 0000000000..7a1de2419b
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup_Runtime.codegen.cs
@@ -0,0 +1,29 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "47d858755c07db489bd8824b7eaee760bb858bcb"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ExplicitExpressionWithMarkup_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"47d858755c07db489bd8824b7eaee760bb858bcb", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ExplicitExpressionWithMarkup_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("<div>");
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup.cshtml"
+ Write(item => new Template(async(__razor_template_writer) => {
+ PushWriter(__razor_template_writer);
+ WriteLiteral("</div>");
+ PopWriter();
+}
+));
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup_Runtime.diagnostics.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup_Runtime.diagnostics.txt
new file mode 100644
index 0000000000..16ad2a09d5
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup_Runtime.diagnostics.txt
@@ -0,0 +1,2 @@
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup.cshtml(1,11): Error RZ1026: Encountered end tag "div" with no matching start tag. Are your start/end tags properly balanced?
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup.cshtml(1,7): Error RZ1006: The explicit expression block is missing a closing ")" character. Make sure you have a matching ")" character for all the "(" characters within this block, and that none of the ")" characters are being interpreted as markup.
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup_Runtime.ir.txt
new file mode 100644
index 0000000000..dde86a08b2
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpressionWithMarkup_Runtime.ir.txt
@@ -0,0 +1,13 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ExplicitExpressionWithMarkup_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (0:0,0 [5] ExplicitExpressionWithMarkup.cshtml)
+ IntermediateToken - (0:0,0 [5] ExplicitExpressionWithMarkup.cshtml) - Html - <div>
+ CSharpExpression - (8:0,8 [6] ExplicitExpressionWithMarkup.cshtml)
+ Template - (8:0,8 [6] ExplicitExpressionWithMarkup.cshtml)
+ HtmlContent - (8:0,8 [6] ExplicitExpressionWithMarkup.cshtml)
+ IntermediateToken - (8:0,8 [6] ExplicitExpressionWithMarkup.cshtml) - Html - </div>
+ IntermediateToken - (14:0,14 [0] ExplicitExpressionWithMarkup.cshtml) - CSharp -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpression_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpression_DesignTime.codegen.cs
new file mode 100644
index 0000000000..0dd6f9a38e
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpression_DesignTime.codegen.cs
@@ -0,0 +1,27 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ExplicitExpression_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpression.cshtml"
+ __o = 1+1;
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpression_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpression_DesignTime.ir.txt
new file mode 100644
index 0000000000..b2f22a261b
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpression_DesignTime.ir.txt
@@ -0,0 +1,15 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ExplicitExpression_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (0:0,0 [8] ExplicitExpression.cshtml)
+ IntermediateToken - (0:0,0 [8] ExplicitExpression.cshtml) - Html - 1 + 1 =
+ CSharpExpression - (10:0,10 [3] ExplicitExpression.cshtml)
+ IntermediateToken - (10:0,10 [3] ExplicitExpression.cshtml) - CSharp - 1+1
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpression_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpression_DesignTime.mappings.txt
new file mode 100644
index 0000000000..22ed244ef6
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpression_DesignTime.mappings.txt
@@ -0,0 +1,5 @@
+Source Location: (10:0,10 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpression.cshtml)
+|1+1|
+Generated Location: (745:18,10 [3] )
+|1+1|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpression_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpression_Runtime.codegen.cs
new file mode 100644
index 0000000000..3f95cd0d28
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpression_Runtime.codegen.cs
@@ -0,0 +1,24 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpression.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "0fa6894c606c7426da1d8cacfbacf8be971c777f"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ExplicitExpression_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpression.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"0fa6894c606c7426da1d8cacfbacf8be971c777f", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpression.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ExplicitExpression_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("1 + 1 = ");
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpression.cshtml"
+ Write(1+1);
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpression_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpression_Runtime.ir.txt
new file mode 100644
index 0000000000..c1867efbb6
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExplicitExpression_Runtime.ir.txt
@@ -0,0 +1,10 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ExplicitExpression_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (0:0,0 [8] ExplicitExpression.cshtml)
+ IntermediateToken - (0:0,0 [8] ExplicitExpression.cshtml) - Html - 1 + 1 =
+ CSharpExpression - (10:0,10 [3] ExplicitExpression.cshtml)
+ IntermediateToken - (10:0,10 [3] ExplicitExpression.cshtml) - CSharp - 1+1
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode.cshtml
new file mode 100644
index 0000000000..a4d4caa007
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode.cshtml
@@ -0,0 +1,16 @@
+@{
+ object foo = null;
+ string bar = "Foo";
+}
+
+@if(foo != null) {
+ @foo
+} else {
+ <p>Foo is Null!</p>
+}
+
+<p>
+@if(!String.IsNullOrEmpty(bar)) {
+ @(bar.Replace("F", "B"))
+}
+</p> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode_DesignTime.codegen.cs
new file mode 100644
index 0000000000..29d0e48460
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode_DesignTime.codegen.cs
@@ -0,0 +1,70 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ExpressionsInCode_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode.cshtml"
+
+ object foo = null;
+ string bar = "Foo";
+
+#line default
+#line hidden
+#line 6 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode.cshtml"
+ if(foo != null) {
+
+
+#line default
+#line hidden
+#line 7 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode.cshtml"
+__o = foo;
+
+#line default
+#line hidden
+#line 7 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode.cshtml"
+
+} else {
+
+
+#line default
+#line hidden
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode.cshtml"
+
+}
+
+#line default
+#line hidden
+#line 13 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode.cshtml"
+ if(!String.IsNullOrEmpty(bar)) {
+
+
+#line default
+#line hidden
+#line 14 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode.cshtml"
+__o = bar.Replace("F", "B");
+
+#line default
+#line hidden
+#line 14 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode.cshtml"
+
+}
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode_DesignTime.ir.txt
new file mode 100644
index 0000000000..763a344e8b
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode_DesignTime.ir.txt
@@ -0,0 +1,40 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ExpressionsInCode_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (2:0,2 [51] ExpressionsInCode.cshtml)
+ IntermediateToken - (2:0,2 [51] ExpressionsInCode.cshtml) - CSharp - \n object foo = null;\n string bar = "Foo";\n
+ HtmlContent - (56:4,0 [2] ExpressionsInCode.cshtml)
+ IntermediateToken - (56:4,0 [2] ExpressionsInCode.cshtml) - Html - \n
+ CSharpCode - (59:5,1 [23] ExpressionsInCode.cshtml)
+ IntermediateToken - (59:5,1 [23] ExpressionsInCode.cshtml) - CSharp - if(foo != null) {\n
+ CSharpExpression - (83:6,5 [3] ExpressionsInCode.cshtml)
+ IntermediateToken - (83:6,5 [3] ExpressionsInCode.cshtml) - CSharp - foo
+ CSharpCode - (86:6,8 [16] ExpressionsInCode.cshtml)
+ IntermediateToken - (86:6,8 [16] ExpressionsInCode.cshtml) - CSharp - \n} else {\n
+ HtmlContent - (102:8,4 [19] ExpressionsInCode.cshtml)
+ IntermediateToken - (102:8,4 [3] ExpressionsInCode.cshtml) - Html - <p>
+ IntermediateToken - (105:8,7 [12] ExpressionsInCode.cshtml) - Html - Foo is Null!
+ IntermediateToken - (117:8,19 [4] ExpressionsInCode.cshtml) - Html - </p>
+ CSharpCode - (121:8,23 [3] ExpressionsInCode.cshtml)
+ IntermediateToken - (121:8,23 [3] ExpressionsInCode.cshtml) - CSharp - \n}
+ HtmlContent - (124:9,1 [9] ExpressionsInCode.cshtml)
+ IntermediateToken - (124:9,1 [4] ExpressionsInCode.cshtml) - Html - \n\n
+ IntermediateToken - (128:11,0 [3] ExpressionsInCode.cshtml) - Html - <p>
+ IntermediateToken - (131:11,3 [2] ExpressionsInCode.cshtml) - Html - \n
+ CSharpCode - (134:12,1 [38] ExpressionsInCode.cshtml)
+ IntermediateToken - (134:12,1 [38] ExpressionsInCode.cshtml) - CSharp - if(!String.IsNullOrEmpty(bar)) {\n
+ CSharpExpression - (174:13,6 [21] ExpressionsInCode.cshtml)
+ IntermediateToken - (174:13,6 [21] ExpressionsInCode.cshtml) - CSharp - bar.Replace("F", "B")
+ CSharpCode - (196:13,28 [3] ExpressionsInCode.cshtml)
+ IntermediateToken - (196:13,28 [3] ExpressionsInCode.cshtml) - CSharp - \n}
+ HtmlContent - (199:14,1 [6] ExpressionsInCode.cshtml)
+ IntermediateToken - (199:14,1 [2] ExpressionsInCode.cshtml) - Html - \n
+ IntermediateToken - (201:15,0 [4] ExpressionsInCode.cshtml) - Html - </p>
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode_DesignTime.mappings.txt
new file mode 100644
index 0000000000..5928a833f2
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode_DesignTime.mappings.txt
@@ -0,0 +1,58 @@
+Source Location: (2:0,2 [51] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode.cshtml)
+|
+ object foo = null;
+ string bar = "Foo";
+|
+Generated Location: (735:18,2 [51] )
+|
+ object foo = null;
+ string bar = "Foo";
+|
+
+Source Location: (59:5,1 [23] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode.cshtml)
+|if(foo != null) {
+ |
+Generated Location: (911:25,1 [23] )
+|if(foo != null) {
+ |
+
+Source Location: (83:6,5 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode.cshtml)
+|foo|
+Generated Location: (1066:31,6 [3] )
+|foo|
+
+Source Location: (86:6,8 [16] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode.cshtml)
+|
+} else {
+ |
+Generated Location: (1204:36,8 [16] )
+|
+} else {
+ |
+
+Source Location: (121:8,23 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode.cshtml)
+|
+}|
+Generated Location: (1369:43,23 [3] )
+|
+}|
+
+Source Location: (134:12,1 [38] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode.cshtml)
+|if(!String.IsNullOrEmpty(bar)) {
+ |
+Generated Location: (1500:49,1 [38] )
+|if(!String.IsNullOrEmpty(bar)) {
+ |
+
+Source Location: (174:13,6 [21] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode.cshtml)
+|bar.Replace("F", "B")|
+Generated Location: (1671:55,6 [21] )
+|bar.Replace("F", "B")|
+
+Source Location: (196:13,28 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode.cshtml)
+|
+}|
+Generated Location: (1848:60,28 [3] )
+|
+}|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode_Runtime.codegen.cs
new file mode 100644
index 0000000000..0196ab0af9
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode_Runtime.codegen.cs
@@ -0,0 +1,68 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "3ccb5b16f61b84dd82d7402e4a17870a39d09ca9"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ExpressionsInCode_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"3ccb5b16f61b84dd82d7402e4a17870a39d09ca9", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ExpressionsInCode_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode.cshtml"
+
+ object foo = null;
+ string bar = "Foo";
+
+#line default
+#line hidden
+ WriteLiteral("\r\n");
+#line 6 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode.cshtml"
+ if(foo != null) {
+
+
+#line default
+#line hidden
+#line 7 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode.cshtml"
+Write(foo);
+
+#line default
+#line hidden
+#line 7 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode.cshtml"
+
+} else {
+
+#line default
+#line hidden
+ WriteLiteral(" <p>Foo is Null!</p>\r\n");
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode.cshtml"
+}
+
+#line default
+#line hidden
+ WriteLiteral("\r\n<p>\r\n");
+#line 13 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode.cshtml"
+ if(!String.IsNullOrEmpty(bar)) {
+
+
+#line default
+#line hidden
+#line 14 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode.cshtml"
+Write(bar.Replace("F", "B"));
+
+#line default
+#line hidden
+#line 14 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode.cshtml"
+
+}
+
+#line default
+#line hidden
+ WriteLiteral("</p>");
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode_Runtime.ir.txt
new file mode 100644
index 0000000000..d87e4b1d61
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ExpressionsInCode_Runtime.ir.txt
@@ -0,0 +1,36 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ExpressionsInCode_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (2:0,2 [51] ExpressionsInCode.cshtml)
+ IntermediateToken - (2:0,2 [51] ExpressionsInCode.cshtml) - CSharp - \n object foo = null;\n string bar = "Foo";\n
+ HtmlContent - (56:4,0 [2] ExpressionsInCode.cshtml)
+ IntermediateToken - (56:4,0 [2] ExpressionsInCode.cshtml) - Html - \n
+ CSharpCode - (59:5,1 [23] ExpressionsInCode.cshtml)
+ IntermediateToken - (59:5,1 [23] ExpressionsInCode.cshtml) - CSharp - if(foo != null) {\n
+ CSharpExpression - (83:6,5 [3] ExpressionsInCode.cshtml)
+ IntermediateToken - (83:6,5 [3] ExpressionsInCode.cshtml) - CSharp - foo
+ CSharpCode - (86:6,8 [12] ExpressionsInCode.cshtml)
+ IntermediateToken - (86:6,8 [12] ExpressionsInCode.cshtml) - CSharp - \n} else {\n
+ HtmlContent - (98:8,0 [25] ExpressionsInCode.cshtml)
+ IntermediateToken - (98:8,0 [4] ExpressionsInCode.cshtml) - Html -
+ IntermediateToken - (102:8,4 [3] ExpressionsInCode.cshtml) - Html - <p>
+ IntermediateToken - (105:8,7 [12] ExpressionsInCode.cshtml) - Html - Foo is Null!
+ IntermediateToken - (117:8,19 [4] ExpressionsInCode.cshtml) - Html - </p>
+ IntermediateToken - (121:8,23 [2] ExpressionsInCode.cshtml) - Html - \n
+ CSharpCode - (123:9,0 [3] ExpressionsInCode.cshtml)
+ IntermediateToken - (123:9,0 [3] ExpressionsInCode.cshtml) - CSharp - }\n
+ HtmlContent - (126:10,0 [7] ExpressionsInCode.cshtml)
+ IntermediateToken - (126:10,0 [2] ExpressionsInCode.cshtml) - Html - \n
+ IntermediateToken - (128:11,0 [3] ExpressionsInCode.cshtml) - Html - <p>
+ IntermediateToken - (131:11,3 [2] ExpressionsInCode.cshtml) - Html - \n
+ CSharpCode - (134:12,1 [38] ExpressionsInCode.cshtml)
+ IntermediateToken - (134:12,1 [38] ExpressionsInCode.cshtml) - CSharp - if(!String.IsNullOrEmpty(bar)) {\n
+ CSharpExpression - (174:13,6 [21] ExpressionsInCode.cshtml)
+ IntermediateToken - (174:13,6 [21] ExpressionsInCode.cshtml) - CSharp - bar.Replace("F", "B")
+ CSharpCode - (196:13,28 [5] ExpressionsInCode.cshtml)
+ IntermediateToken - (196:13,28 [5] ExpressionsInCode.cshtml) - CSharp - \n}\n
+ HtmlContent - (201:15,0 [4] ExpressionsInCode.cshtml)
+ IntermediateToken - (201:15,0 [4] ExpressionsInCode.cshtml) - Html - </p>
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock.cshtml
new file mode 100644
index 0000000000..5d06b37224
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock.cshtml
@@ -0,0 +1,12 @@
+@functions {
+
+}
+
+@functions {
+ Random _rand = new Random();
+ private int RandomInt() {
+ return _rand.Next();
+ }
+}
+
+Here's a random number: @RandomInt() \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlockMinimal.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlockMinimal.cshtml
new file mode 100644
index 0000000000..6b3de50b2c
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlockMinimal.cshtml
@@ -0,0 +1,7 @@
+
+
+ @functions{
+string foo(string input) {
+ return input + "!";
+}
+} \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlockMinimal_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlockMinimal_DesignTime.codegen.cs
new file mode 100644
index 0000000000..11a32e14ea
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlockMinimal_DesignTime.codegen.cs
@@ -0,0 +1,30 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_FunctionsBlockMinimal_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ }
+ #pragma warning restore 1998
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlockMinimal.cshtml"
+
+string foo(string input) {
+ return input + "!";
+}
+
+#line default
+#line hidden
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlockMinimal_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlockMinimal_DesignTime.ir.txt
new file mode 100644
index 0000000000..f460329dab
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlockMinimal_DesignTime.ir.txt
@@ -0,0 +1,15 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_FunctionsBlockMinimal_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (0:0,0 [5] FunctionsBlockMinimal.cshtml)
+ IntermediateToken - (0:0,0 [5] FunctionsBlockMinimal.cshtml) - Html - \n\n
+ CSharpCode - (16:2,12 [55] FunctionsBlockMinimal.cshtml)
+ IntermediateToken - (16:2,12 [55] FunctionsBlockMinimal.cshtml) - CSharp - \nstring foo(string input) {\n return input + "!";\n}\n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlockMinimal_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlockMinimal_DesignTime.mappings.txt
new file mode 100644
index 0000000000..b5c82b85e4
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlockMinimal_DesignTime.mappings.txt
@@ -0,0 +1,13 @@
+Source Location: (16:2,12 [55] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlockMinimal.cshtml)
+|
+string foo(string input) {
+ return input + "!";
+}
+|
+Generated Location: (805:20,15 [55] )
+|
+string foo(string input) {
+ return input + "!";
+}
+|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlockMinimal_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlockMinimal_Runtime.codegen.cs
new file mode 100644
index 0000000000..ebaea72b8d
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlockMinimal_Runtime.codegen.cs
@@ -0,0 +1,27 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlockMinimal.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "5ba3477b8f10b5207bb9f610499189ac0d50aaa0"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_FunctionsBlockMinimal_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlockMinimal.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"5ba3477b8f10b5207bb9f610499189ac0d50aaa0", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlockMinimal.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_FunctionsBlockMinimal_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("\r\n\r\n");
+ }
+ #pragma warning restore 1998
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlockMinimal.cshtml"
+
+string foo(string input) {
+ return input + "!";
+}
+
+#line default
+#line hidden
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlockMinimal_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlockMinimal_Runtime.ir.txt
new file mode 100644
index 0000000000..2d4242e8c4
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlockMinimal_Runtime.ir.txt
@@ -0,0 +1,12 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_FunctionsBlockMinimal_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (0:0,0 [4] FunctionsBlockMinimal.cshtml)
+ IntermediateToken - (0:0,0 [4] FunctionsBlockMinimal.cshtml) - Html - \n\n
+ CSharpCode - (4:2,0 [1] FunctionsBlockMinimal.cshtml)
+ IntermediateToken - (4:2,0 [1] FunctionsBlockMinimal.cshtml) - CSharp -
+ CSharpCode - (16:2,12 [55] FunctionsBlockMinimal.cshtml)
+ IntermediateToken - (16:2,12 [55] FunctionsBlockMinimal.cshtml) - CSharp - \nstring foo(string input) {\n return input + "!";\n}\n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock_DesignTime.codegen.cs
new file mode 100644
index 0000000000..ac6848c885
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock_DesignTime.codegen.cs
@@ -0,0 +1,39 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_FunctionsBlock_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 12 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock.cshtml"
+ __o = RandomInt();
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+
+
+
+#line 5 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock.cshtml"
+
+ Random _rand = new Random();
+ private int RandomInt() {
+ return _rand.Next();
+ }
+
+#line default
+#line hidden
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock_DesignTime.ir.txt
new file mode 100644
index 0000000000..e71b8ed6a9
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock_DesignTime.ir.txt
@@ -0,0 +1,21 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_FunctionsBlock_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (17:2,1 [4] FunctionsBlock.cshtml)
+ IntermediateToken - (17:2,1 [4] FunctionsBlock.cshtml) - Html - \n\n
+ HtmlContent - (138:9,1 [28] FunctionsBlock.cshtml)
+ IntermediateToken - (138:9,1 [28] FunctionsBlock.cshtml) - Html - \n\nHere's a random number:
+ CSharpExpression - (167:11,25 [11] FunctionsBlock.cshtml)
+ IntermediateToken - (167:11,25 [11] FunctionsBlock.cshtml) - CSharp - RandomInt()
+ CSharpCode - (12:0,12 [4] FunctionsBlock.cshtml)
+ IntermediateToken - (12:0,12 [4] FunctionsBlock.cshtml) - CSharp - \n\n
+ CSharpCode - (33:4,12 [104] FunctionsBlock.cshtml)
+ IntermediateToken - (33:4,12 [104] FunctionsBlock.cshtml) - CSharp - \n Random _rand = new Random();\n private int RandomInt() {\n return _rand.Next();\n }\n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock_DesignTime.mappings.txt
new file mode 100644
index 0000000000..91a2fbde86
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock_DesignTime.mappings.txt
@@ -0,0 +1,29 @@
+Source Location: (167:11,25 [11] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock.cshtml)
+|RandomInt()|
+Generated Location: (753:18,25 [11] )
+|RandomInt()|
+
+Source Location: (12:0,12 [4] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock.cshtml)
+|
+
+|
+Generated Location: (867:24,20 [4] )
+|
+
+|
+
+Source Location: (33:4,12 [104] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock.cshtml)
+|
+ Random _rand = new Random();
+ private int RandomInt() {
+ return _rand.Next();
+ }
+|
+Generated Location: (975:28,12 [104] )
+|
+ Random _rand = new Random();
+ private int RandomInt() {
+ return _rand.Next();
+ }
+|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock_Runtime.codegen.cs
new file mode 100644
index 0000000000..06b4c1f0d2
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock_Runtime.codegen.cs
@@ -0,0 +1,34 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "e6a053bfeb65ba3e17885a8ae1523f28a3483258"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_FunctionsBlock_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"e6a053bfeb65ba3e17885a8ae1523f28a3483258", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_FunctionsBlock_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("\r\n");
+ WriteLiteral("\r\nHere\'s a random number: ");
+#line 12 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock.cshtml"
+ Write(RandomInt());
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+#line 5 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock.cshtml"
+
+ Random _rand = new Random();
+ private int RandomInt() {
+ return _rand.Next();
+ }
+
+#line default
+#line hidden
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock_Runtime.ir.txt
new file mode 100644
index 0000000000..4b05dbcc3d
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/FunctionsBlock_Runtime.ir.txt
@@ -0,0 +1,16 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_FunctionsBlock_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (19:3,0 [2] FunctionsBlock.cshtml)
+ IntermediateToken - (19:3,0 [2] FunctionsBlock.cshtml) - Html - \n
+ HtmlContent - (140:10,0 [26] FunctionsBlock.cshtml)
+ IntermediateToken - (140:10,0 [26] FunctionsBlock.cshtml) - Html - \nHere's a random number:
+ CSharpExpression - (167:11,25 [11] FunctionsBlock.cshtml)
+ IntermediateToken - (167:11,25 [11] FunctionsBlock.cshtml) - CSharp - RandomInt()
+ CSharpCode - (12:0,12 [4] FunctionsBlock.cshtml)
+ IntermediateToken - (12:0,12 [4] FunctionsBlock.cshtml) - CSharp - \n\n
+ CSharpCode - (33:4,12 [104] FunctionsBlock.cshtml)
+ IntermediateToken - (33:4,12 [104] FunctionsBlock.cshtml) - CSharp - \n Random _rand = new Random();\n private int RandomInt() {\n return _rand.Next();\n }\n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HiddenSpansInCode.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HiddenSpansInCode.cshtml
new file mode 100644
index 0000000000..a6addbe97c
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HiddenSpansInCode.cshtml
@@ -0,0 +1,3 @@
+@{
+ @@Da
+} \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HiddenSpansInCode_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HiddenSpansInCode_DesignTime.codegen.cs
new file mode 100644
index 0000000000..77d9135c5a
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HiddenSpansInCode_DesignTime.codegen.cs
@@ -0,0 +1,29 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_HiddenSpansInCode_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+
+
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HiddenSpansInCode.cshtml"
+ @Da
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HiddenSpansInCode_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HiddenSpansInCode_DesignTime.ir.txt
new file mode 100644
index 0000000000..6c3f2a9d41
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HiddenSpansInCode_DesignTime.ir.txt
@@ -0,0 +1,15 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_HiddenSpansInCode_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (2:0,2 [6] HiddenSpansInCode.cshtml)
+ IntermediateToken - (2:0,2 [6] HiddenSpansInCode.cshtml) - CSharp - \n
+ CSharpCode - (9:1,5 [5] HiddenSpansInCode.cshtml)
+ IntermediateToken - (9:1,5 [5] HiddenSpansInCode.cshtml) - CSharp - @Da\n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HiddenSpansInCode_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HiddenSpansInCode_DesignTime.mappings.txt
new file mode 100644
index 0000000000..e56c1f5b1f
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HiddenSpansInCode_DesignTime.mappings.txt
@@ -0,0 +1,14 @@
+Source Location: (2:0,2 [6] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HiddenSpansInCode.cshtml)
+|
+ |
+Generated Location: (654:17,14 [6] )
+|
+ |
+
+Source Location: (9:1,5 [5] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HiddenSpansInCode.cshtml)
+|@Da
+|
+Generated Location: (760:20,5 [5] )
+|@Da
+|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HiddenSpansInCode_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HiddenSpansInCode_Runtime.codegen.cs
new file mode 100644
index 0000000000..11ba8f037b
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HiddenSpansInCode_Runtime.codegen.cs
@@ -0,0 +1,23 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HiddenSpansInCode.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "9bc7458ab052e80d9c977bfce0f0c7e8aef0d80f"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_HiddenSpansInCode_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HiddenSpansInCode.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"9bc7458ab052e80d9c977bfce0f0c7e8aef0d80f", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HiddenSpansInCode.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_HiddenSpansInCode_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HiddenSpansInCode.cshtml"
+ @Da
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HiddenSpansInCode_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HiddenSpansInCode_Runtime.ir.txt
new file mode 100644
index 0000000000..92fc13fef7
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HiddenSpansInCode_Runtime.ir.txt
@@ -0,0 +1,10 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_HiddenSpansInCode_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (2:0,2 [6] HiddenSpansInCode.cshtml)
+ IntermediateToken - (2:0,2 [6] HiddenSpansInCode.cshtml) - CSharp - \n
+ CSharpCode - (9:1,5 [5] HiddenSpansInCode.cshtml)
+ IntermediateToken - (9:1,5 [5] HiddenSpansInCode.cshtml) - CSharp - @Da\n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Double.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Double.cshtml
new file mode 100644
index 0000000000..6a99437910
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Double.cshtml
@@ -0,0 +1,2 @@
+<!-- " -->
+<img src="~/images/submit.png" /> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Double_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Double_DesignTime.codegen.cs
new file mode 100644
index 0000000000..6add10d801
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Double_DesignTime.codegen.cs
@@ -0,0 +1,22 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_HtmlCommentWithQuote_Double_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Double_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Double_DesignTime.ir.txt
new file mode 100644
index 0000000000..4523eae7a3
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Double_DesignTime.ir.txt
@@ -0,0 +1,19 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_HtmlCommentWithQuote_Double_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (0:0,0 [45] HtmlCommentWithQuote_Double.cshtml)
+ IntermediateToken - (0:0,0 [4] HtmlCommentWithQuote_Double.cshtml) - Html - <!--
+ IntermediateToken - (4:0,4 [3] HtmlCommentWithQuote_Double.cshtml) - Html - "
+ IntermediateToken - (7:0,7 [3] HtmlCommentWithQuote_Double.cshtml) - Html - -->
+ IntermediateToken - (10:0,10 [2] HtmlCommentWithQuote_Double.cshtml) - Html - \n
+ IntermediateToken - (12:1,0 [4] HtmlCommentWithQuote_Double.cshtml) - Html - <img
+ IntermediateToken - (16:1,4 [26] HtmlCommentWithQuote_Double.cshtml) - Html - src="~/images/submit.png"
+ IntermediateToken - (42:1,30 [3] HtmlCommentWithQuote_Double.cshtml) - Html - />
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Double_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Double_DesignTime.mappings.txt
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Double_DesignTime.mappings.txt
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Double_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Double_Runtime.codegen.cs
new file mode 100644
index 0000000000..fb924e6327
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Double_Runtime.codegen.cs
@@ -0,0 +1,19 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Double.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "520aebbcdbdb163b131356be8f3aef0eb0809c47"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_HtmlCommentWithQuote_Double_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Double.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"520aebbcdbdb163b131356be8f3aef0eb0809c47", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Double.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_HtmlCommentWithQuote_Double_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("<!-- \" -->\r\n<img src=\"~/images/submit.png\" />");
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Double_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Double_Runtime.ir.txt
new file mode 100644
index 0000000000..046cad8407
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Double_Runtime.ir.txt
@@ -0,0 +1,14 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_HtmlCommentWithQuote_Double_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (0:0,0 [45] HtmlCommentWithQuote_Double.cshtml)
+ IntermediateToken - (0:0,0 [4] HtmlCommentWithQuote_Double.cshtml) - Html - <!--
+ IntermediateToken - (4:0,4 [3] HtmlCommentWithQuote_Double.cshtml) - Html - "
+ IntermediateToken - (7:0,7 [3] HtmlCommentWithQuote_Double.cshtml) - Html - -->
+ IntermediateToken - (10:0,10 [2] HtmlCommentWithQuote_Double.cshtml) - Html - \n
+ IntermediateToken - (12:1,0 [4] HtmlCommentWithQuote_Double.cshtml) - Html - <img
+ IntermediateToken - (16:1,4 [26] HtmlCommentWithQuote_Double.cshtml) - Html - src="~/images/submit.png"
+ IntermediateToken - (42:1,30 [3] HtmlCommentWithQuote_Double.cshtml) - Html - />
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Single.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Single.cshtml
new file mode 100644
index 0000000000..dc1b21a546
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Single.cshtml
@@ -0,0 +1,2 @@
+<!-- ' -->
+<img src="~/images/submit.png" /> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Single_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Single_DesignTime.codegen.cs
new file mode 100644
index 0000000000..e20af5e1ca
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Single_DesignTime.codegen.cs
@@ -0,0 +1,22 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_HtmlCommentWithQuote_Single_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Single_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Single_DesignTime.ir.txt
new file mode 100644
index 0000000000..8b5f5b3ed5
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Single_DesignTime.ir.txt
@@ -0,0 +1,19 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_HtmlCommentWithQuote_Single_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (0:0,0 [45] HtmlCommentWithQuote_Single.cshtml)
+ IntermediateToken - (0:0,0 [4] HtmlCommentWithQuote_Single.cshtml) - Html - <!--
+ IntermediateToken - (4:0,4 [3] HtmlCommentWithQuote_Single.cshtml) - Html - '
+ IntermediateToken - (7:0,7 [3] HtmlCommentWithQuote_Single.cshtml) - Html - -->
+ IntermediateToken - (10:0,10 [2] HtmlCommentWithQuote_Single.cshtml) - Html - \n
+ IntermediateToken - (12:1,0 [4] HtmlCommentWithQuote_Single.cshtml) - Html - <img
+ IntermediateToken - (16:1,4 [26] HtmlCommentWithQuote_Single.cshtml) - Html - src="~/images/submit.png"
+ IntermediateToken - (42:1,30 [3] HtmlCommentWithQuote_Single.cshtml) - Html - />
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Single_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Single_DesignTime.mappings.txt
new file mode 100644
index 0000000000..e69de29bb2
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Single_DesignTime.mappings.txt
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Single_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Single_Runtime.codegen.cs
new file mode 100644
index 0000000000..1bce0936db
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Single_Runtime.codegen.cs
@@ -0,0 +1,19 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Single.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "2080c7f4c5de3e5e7f309c11a6be5c5e8d86e75a"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_HtmlCommentWithQuote_Single_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Single.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"2080c7f4c5de3e5e7f309c11a6be5c5e8d86e75a", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Single.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_HtmlCommentWithQuote_Single_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("<!-- \' -->\r\n<img src=\"~/images/submit.png\" />");
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Single_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Single_Runtime.ir.txt
new file mode 100644
index 0000000000..8596f51503
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/HtmlCommentWithQuote_Single_Runtime.ir.txt
@@ -0,0 +1,14 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_HtmlCommentWithQuote_Single_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (0:0,0 [45] HtmlCommentWithQuote_Single.cshtml)
+ IntermediateToken - (0:0,0 [4] HtmlCommentWithQuote_Single.cshtml) - Html - <!--
+ IntermediateToken - (4:0,4 [3] HtmlCommentWithQuote_Single.cshtml) - Html - '
+ IntermediateToken - (7:0,7 [3] HtmlCommentWithQuote_Single.cshtml) - Html - -->
+ IntermediateToken - (10:0,10 [2] HtmlCommentWithQuote_Single.cshtml) - Html - \n
+ IntermediateToken - (12:1,0 [4] HtmlCommentWithQuote_Single.cshtml) - Html - <img
+ IntermediateToken - (16:1,4 [26] HtmlCommentWithQuote_Single.cshtml) - Html - src="~/images/submit.png"
+ IntermediateToken - (42:1,30 [3] HtmlCommentWithQuote_Single.cshtml) - Html - />
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression.cshtml
new file mode 100644
index 0000000000..dcce7fa572
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression.cshtml
@@ -0,0 +1,3 @@
+@for(int i = 1; i <= 10; i++) {
+ <p>This is item #@i</p>
+} \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF.cshtml
new file mode 100644
index 0000000000..365d20e003
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF.cshtml
@@ -0,0 +1,3 @@
+This is markup
+
+@ \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF_DesignTime.codegen.cs
new file mode 100644
index 0000000000..256186f057
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF_DesignTime.codegen.cs
@@ -0,0 +1,27 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ImplicitExpressionAtEOF_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF.cshtml"
+__o = ;
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF_DesignTime.diagnostics.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF_DesignTime.diagnostics.txt
new file mode 100644
index 0000000000..e2a8c29095
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF_DesignTime.diagnostics.txt
@@ -0,0 +1 @@
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF.cshtml(3,2): Error RZ1004: End-of-file was found after the "@" character. "@" must be followed by a valid code block. If you want to output an "@", escape it using the sequence: "@@"
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF_DesignTime.ir.txt
new file mode 100644
index 0000000000..19598b5d7e
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF_DesignTime.ir.txt
@@ -0,0 +1,15 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ImplicitExpressionAtEOF_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (0:0,0 [18] ImplicitExpressionAtEOF.cshtml)
+ IntermediateToken - (0:0,0 [18] ImplicitExpressionAtEOF.cshtml) - Html - This is markup\n\n
+ CSharpExpression - (19:2,1 [0] ImplicitExpressionAtEOF.cshtml)
+ IntermediateToken - (19:2,1 [0] ImplicitExpressionAtEOF.cshtml) - CSharp -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF_DesignTime.mappings.txt
new file mode 100644
index 0000000000..9f93c42b2d
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF_DesignTime.mappings.txt
@@ -0,0 +1,5 @@
+Source Location: (19:2,1 [0] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF.cshtml)
+||
+Generated Location: (751:18,6 [0] )
+||
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF_Runtime.codegen.cs
new file mode 100644
index 0000000000..5c6798e2de
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF_Runtime.codegen.cs
@@ -0,0 +1,24 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "94cd2b5a8281fc76002fc745485949cf3952a058"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ImplicitExpressionAtEOF_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"94cd2b5a8281fc76002fc745485949cf3952a058", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ImplicitExpressionAtEOF_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("This is markup\r\n\r\n");
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF.cshtml"
+Write();
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF_Runtime.diagnostics.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF_Runtime.diagnostics.txt
new file mode 100644
index 0000000000..e2a8c29095
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF_Runtime.diagnostics.txt
@@ -0,0 +1 @@
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF.cshtml(3,2): Error RZ1004: End-of-file was found after the "@" character. "@" must be followed by a valid code block. If you want to output an "@", escape it using the sequence: "@@"
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF_Runtime.ir.txt
new file mode 100644
index 0000000000..b2ac3e3520
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpressionAtEOF_Runtime.ir.txt
@@ -0,0 +1,10 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ImplicitExpressionAtEOF_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (0:0,0 [18] ImplicitExpressionAtEOF.cshtml)
+ IntermediateToken - (0:0,0 [18] ImplicitExpressionAtEOF.cshtml) - Html - This is markup\n\n
+ CSharpExpression - (19:2,1 [0] ImplicitExpressionAtEOF.cshtml)
+ IntermediateToken - (19:2,1 [0] ImplicitExpressionAtEOF.cshtml) - CSharp -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression_DesignTime.codegen.cs
new file mode 100644
index 0000000000..80dc9a12e4
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression_DesignTime.codegen.cs
@@ -0,0 +1,39 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ImplicitExpression_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression.cshtml"
+ for(int i = 1; i <= 10; i++) {
+
+
+#line default
+#line hidden
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression.cshtml"
+ __o = i;
+
+#line default
+#line hidden
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression.cshtml"
+
+}
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression_DesignTime.ir.txt
new file mode 100644
index 0000000000..83c51c28fc
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression_DesignTime.ir.txt
@@ -0,0 +1,22 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ImplicitExpression_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (1:0,1 [36] ImplicitExpression.cshtml)
+ IntermediateToken - (1:0,1 [36] ImplicitExpression.cshtml) - CSharp - for(int i = 1; i <= 10; i++) {\n
+ HtmlContent - (37:1,4 [17] ImplicitExpression.cshtml)
+ IntermediateToken - (37:1,4 [3] ImplicitExpression.cshtml) - Html - <p>
+ IntermediateToken - (40:1,7 [14] ImplicitExpression.cshtml) - Html - This is item #
+ CSharpExpression - (55:1,22 [1] ImplicitExpression.cshtml)
+ IntermediateToken - (55:1,22 [1] ImplicitExpression.cshtml) - CSharp - i
+ HtmlContent - (56:1,23 [4] ImplicitExpression.cshtml)
+ IntermediateToken - (56:1,23 [4] ImplicitExpression.cshtml) - Html - </p>
+ CSharpCode - (60:1,27 [3] ImplicitExpression.cshtml)
+ IntermediateToken - (60:1,27 [3] ImplicitExpression.cshtml) - CSharp - \n}
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression_DesignTime.mappings.txt
new file mode 100644
index 0000000000..8593cab083
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression_DesignTime.mappings.txt
@@ -0,0 +1,19 @@
+Source Location: (1:0,1 [36] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression.cshtml)
+|for(int i = 1; i <= 10; i++) {
+ |
+Generated Location: (736:18,1 [36] )
+|for(int i = 1; i <= 10; i++) {
+ |
+
+Source Location: (55:1,22 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression.cshtml)
+|i|
+Generated Location: (921:24,22 [1] )
+|i|
+
+Source Location: (60:1,27 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression.cshtml)
+|
+}|
+Generated Location: (1077:29,27 [3] )
+|
+}|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression_Runtime.codegen.cs
new file mode 100644
index 0000000000..6a4191069a
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression_Runtime.codegen.cs
@@ -0,0 +1,35 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "68460c577f1cb90794f25535a35a82ff2aa4c193"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ImplicitExpression_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"68460c577f1cb90794f25535a35a82ff2aa4c193", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ImplicitExpression_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression.cshtml"
+ for(int i = 1; i <= 10; i++) {
+
+#line default
+#line hidden
+ WriteLiteral(" <p>This is item #");
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression.cshtml"
+ Write(i);
+
+#line default
+#line hidden
+ WriteLiteral("</p>\r\n");
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression.cshtml"
+}
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression_Runtime.ir.txt
new file mode 100644
index 0000000000..c3d0aaab02
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ImplicitExpression_Runtime.ir.txt
@@ -0,0 +1,19 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ImplicitExpression_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (1:0,1 [32] ImplicitExpression.cshtml)
+ IntermediateToken - (1:0,1 [32] ImplicitExpression.cshtml) - CSharp - for(int i = 1; i <= 10; i++) {\n
+ HtmlContent - (33:1,0 [21] ImplicitExpression.cshtml)
+ IntermediateToken - (33:1,0 [4] ImplicitExpression.cshtml) - Html -
+ IntermediateToken - (37:1,4 [3] ImplicitExpression.cshtml) - Html - <p>
+ IntermediateToken - (40:1,7 [14] ImplicitExpression.cshtml) - Html - This is item #
+ CSharpExpression - (55:1,22 [1] ImplicitExpression.cshtml)
+ IntermediateToken - (55:1,22 [1] ImplicitExpression.cshtml) - CSharp - i
+ HtmlContent - (56:1,23 [6] ImplicitExpression.cshtml)
+ IntermediateToken - (56:1,23 [4] ImplicitExpression.cshtml) - Html - </p>
+ IntermediateToken - (60:1,27 [2] ImplicitExpression.cshtml) - Html - \n
+ CSharpCode - (62:2,0 [1] ImplicitExpression.cshtml)
+ IntermediateToken - (62:2,0 [1] ImplicitExpression.cshtml) - CSharp - }
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml
new file mode 100644
index 0000000000..3b56f0b173
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml
@@ -0,0 +1,25 @@
+@* These test files validate that end-to-end, incomplete directives don't throw. *@
+
+@addTagHelper
+@addTagHelper
+@addTagHelper "
+
+@removeTagHelper
+@removeTagHelper
+@removeTagHelper "
+
+@tagHelperPrefix
+@tagHelperPrefix
+@tagHelperPrefix "
+
+@inherits
+@inherits
+
+@functions
+@functions
+
+@section
+@section
+
+@section {
+@functions { \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives_DesignTime.codegen.cs
new file mode 100644
index 0000000000..03f5c03321
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives_DesignTime.codegen.cs
@@ -0,0 +1,70 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_IncompleteDirectives_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "";
+ }
+ ))();
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "";
+ }
+ ))();
+ ((System.Action)(() => {
+global::System.Object __typeHelper = ";
+ }
+ ))();
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "";
+ }
+ ))();
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "";
+ }
+ ))();
+ ((System.Action)(() => {
+global::System.Object __typeHelper = ";
+ }
+ ))();
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "";
+ }
+ ))();
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "";
+ }
+ ))();
+ ((System.Action)(() => {
+global::System.Object __typeHelper = ";
+ }
+ ))();
+ ((System.Action)(() => {
+ }
+ ))();
+ ((System.Action)(() => {
+ }
+ ))();
+ ((System.Action)(() => {
+ }
+ ))();
+ ((System.Action)(() => {
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives_DesignTime.diagnostics.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives_DesignTime.diagnostics.txt
new file mode 100644
index 0000000000..b01ced2ed2
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives_DesignTime.diagnostics.txt
@@ -0,0 +1,27 @@
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(3,2): Error RZ1018: Directive 'addTagHelper' must have a value.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(3,14): Error RZ1020: Invalid tag helper directive look up text ''. The correct look up text format is: "name, assemblyName".
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(4,2): Error RZ1018: Directive 'addTagHelper' must have a value.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(4,15): Error RZ1020: Invalid tag helper directive look up text ''. The correct look up text format is: "name, assemblyName".
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(5,15): Error RZ1000: Unterminated string literal. Strings that start with a quotation mark (") must be terminated before the end of the line. However, strings that start with @ and a quotation mark (@") can span multiple lines.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(5,15): Error RZ1020: Invalid tag helper directive look up text '"'. The correct look up text format is: "name, assemblyName".
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(7,2): Error RZ1018: Directive 'removeTagHelper' must have a value.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(7,17): Error RZ1020: Invalid tag helper directive look up text ''. The correct look up text format is: "name, assemblyName".
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(8,2): Error RZ1018: Directive 'removeTagHelper' must have a value.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(8,18): Error RZ1020: Invalid tag helper directive look up text ''. The correct look up text format is: "name, assemblyName".
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(9,18): Error RZ1000: Unterminated string literal. Strings that start with a quotation mark (") must be terminated before the end of the line. However, strings that start with @ and a quotation mark (@") can span multiple lines.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(9,18): Error RZ1020: Invalid tag helper directive look up text '"'. The correct look up text format is: "name, assemblyName".
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(11,2): Error RZ1018: Directive 'tagHelperPrefix' must have a value.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(12,2): Error RZ1018: Directive 'tagHelperPrefix' must have a value.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(12,1): Error RZ2001: The 'tagHelperPrefix' directive may only occur once per document.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(13,18): Error RZ1000: Unterminated string literal. Strings that start with a quotation mark (") must be terminated before the end of the line. However, strings that start with @ and a quotation mark (@") can span multiple lines.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(13,1): Error RZ2001: The 'tagHelperPrefix' directive may only occur once per document.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(13,18): Error RZ1020: Invalid tag helper directive 'tagHelperPrefix' value. '"' is not allowed in prefix '"'.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(15,10): Error RZ1013: The 'inherits' directive expects a type name.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(16,1): Error RZ2001: The 'inherits' directive may only occur once per document.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(16,11): Error RZ1013: The 'inherits' directive expects a type name.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(19,1): Error RZ1017: Unexpected literal following the 'functions' directive. Expected '{'.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(21,1): Error RZ1017: Unexpected literal following the 'functions' directive. Expected '{'.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(21,9): Error RZ1015: The 'section' directive expects an identifier.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(22,10): Error RZ1015: The 'section' directive expects an identifier.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(24,10): Error RZ1015: The 'section' directive expects an identifier.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(25,12): Error RZ1006: The functions block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives_DesignTime.ir.txt
new file mode 100644
index 0000000000..f21273aeb2
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives_DesignTime.ir.txt
@@ -0,0 +1,84 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_IncompleteDirectives_DesignTime - -
+ DesignTimeDirective -
+ DirectiveToken - (100:2,13 [0] IncompleteDirectives.cshtml) -
+ DirectiveToken - (116:3,14 [0] IncompleteDirectives.cshtml) -
+ DirectiveToken - (132:4,14 [1] IncompleteDirectives.cshtml) - "
+ DirectiveToken - (153:6,16 [0] IncompleteDirectives.cshtml) -
+ DirectiveToken - (172:7,17 [0] IncompleteDirectives.cshtml) -
+ DirectiveToken - (191:8,17 [1] IncompleteDirectives.cshtml) - "
+ DirectiveToken - (212:10,16 [0] IncompleteDirectives.cshtml) -
+ DirectiveToken - (231:11,17 [0] IncompleteDirectives.cshtml) -
+ DirectiveToken - (250:12,17 [1] IncompleteDirectives.cshtml) - "
+ DirectiveToken - (264:14,9 [0] IncompleteDirectives.cshtml) -
+ DirectiveToken - (276:15,10 [0] IncompleteDirectives.cshtml) -
+ DirectiveToken - (315:20,8 [0] IncompleteDirectives.cshtml) -
+ DirectiveToken - (326:21,9 [0] IncompleteDirectives.cshtml) -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (83:0,83 [4] IncompleteDirectives.cshtml)
+ IntermediateToken - (83:0,83 [4] IncompleteDirectives.cshtml) - Html - \n\n
+ MalformedDirective - (100:2,13 [0] IncompleteDirectives.cshtml) - addTagHelper
+ DirectiveToken - (100:2,13 [0] IncompleteDirectives.cshtml) -
+ HtmlContent - (100:2,13 [2] IncompleteDirectives.cshtml)
+ IntermediateToken - (100:2,13 [2] IncompleteDirectives.cshtml) - Html - \n
+ MalformedDirective - (116:3,14 [0] IncompleteDirectives.cshtml) - addTagHelper
+ DirectiveToken - (116:3,14 [0] IncompleteDirectives.cshtml) -
+ HtmlContent - (116:3,14 [2] IncompleteDirectives.cshtml)
+ IntermediateToken - (116:3,14 [2] IncompleteDirectives.cshtml) - Html - \n
+ MalformedDirective - (132:4,14 [1] IncompleteDirectives.cshtml) - addTagHelper
+ DirectiveToken - (132:4,14 [1] IncompleteDirectives.cshtml) - "
+ HtmlContent - (133:4,15 [4] IncompleteDirectives.cshtml)
+ IntermediateToken - (133:4,15 [4] IncompleteDirectives.cshtml) - Html - \n\n
+ MalformedDirective - (153:6,16 [0] IncompleteDirectives.cshtml) - removeTagHelper
+ DirectiveToken - (153:6,16 [0] IncompleteDirectives.cshtml) -
+ HtmlContent - (153:6,16 [2] IncompleteDirectives.cshtml)
+ IntermediateToken - (153:6,16 [2] IncompleteDirectives.cshtml) - Html - \n
+ MalformedDirective - (172:7,17 [0] IncompleteDirectives.cshtml) - removeTagHelper
+ DirectiveToken - (172:7,17 [0] IncompleteDirectives.cshtml) -
+ HtmlContent - (172:7,17 [2] IncompleteDirectives.cshtml)
+ IntermediateToken - (172:7,17 [2] IncompleteDirectives.cshtml) - Html - \n
+ MalformedDirective - (191:8,17 [1] IncompleteDirectives.cshtml) - removeTagHelper
+ DirectiveToken - (191:8,17 [1] IncompleteDirectives.cshtml) - "
+ HtmlContent - (192:8,18 [4] IncompleteDirectives.cshtml)
+ IntermediateToken - (192:8,18 [4] IncompleteDirectives.cshtml) - Html - \n\n
+ MalformedDirective - (212:10,16 [0] IncompleteDirectives.cshtml) - tagHelperPrefix
+ DirectiveToken - (212:10,16 [0] IncompleteDirectives.cshtml) -
+ HtmlContent - (212:10,16 [2] IncompleteDirectives.cshtml)
+ IntermediateToken - (212:10,16 [2] IncompleteDirectives.cshtml) - Html - \n
+ MalformedDirective - (231:11,17 [0] IncompleteDirectives.cshtml) - tagHelperPrefix
+ DirectiveToken - (231:11,17 [0] IncompleteDirectives.cshtml) -
+ HtmlContent - (231:11,17 [2] IncompleteDirectives.cshtml)
+ IntermediateToken - (231:11,17 [2] IncompleteDirectives.cshtml) - Html - \n
+ MalformedDirective - (250:12,17 [1] IncompleteDirectives.cshtml) - tagHelperPrefix
+ DirectiveToken - (250:12,17 [1] IncompleteDirectives.cshtml) - "
+ HtmlContent - (251:12,18 [4] IncompleteDirectives.cshtml)
+ IntermediateToken - (251:12,18 [4] IncompleteDirectives.cshtml) - Html - \n\n
+ MalformedDirective - (255:14,0 [9] IncompleteDirectives.cshtml) - inherits
+ DirectiveToken - (264:14,9 [0] IncompleteDirectives.cshtml) -
+ HtmlContent - (264:14,9 [2] IncompleteDirectives.cshtml)
+ IntermediateToken - (264:14,9 [2] IncompleteDirectives.cshtml) - Html - \n
+ MalformedDirective - (266:15,0 [10] IncompleteDirectives.cshtml) - inherits
+ DirectiveToken - (276:15,10 [0] IncompleteDirectives.cshtml) -
+ HtmlContent - (276:15,10 [4] IncompleteDirectives.cshtml)
+ IntermediateToken - (276:15,10 [4] IncompleteDirectives.cshtml) - Html - \n\n
+ MalformedDirective - (280:17,0 [12] IncompleteDirectives.cshtml) - functions
+ MalformedDirective - (292:18,0 [15] IncompleteDirectives.cshtml) - functions
+ MalformedDirective - (307:20,0 [8] IncompleteDirectives.cshtml) - section
+ DirectiveToken - (315:20,8 [0] IncompleteDirectives.cshtml) -
+ HtmlContent - (315:20,8 [2] IncompleteDirectives.cshtml)
+ IntermediateToken - (315:20,8 [2] IncompleteDirectives.cshtml) - Html - \n
+ MalformedDirective - (317:21,0 [9] IncompleteDirectives.cshtml) - section
+ DirectiveToken - (326:21,9 [0] IncompleteDirectives.cshtml) -
+ HtmlContent - (326:21,9 [4] IncompleteDirectives.cshtml)
+ IntermediateToken - (326:21,9 [4] IncompleteDirectives.cshtml) - Html - \n\n
+ MalformedDirective - (330:23,0 [9] IncompleteDirectives.cshtml) - section
+ HtmlContent - (339:23,9 [3] IncompleteDirectives.cshtml)
+ IntermediateToken - (339:23,9 [3] IncompleteDirectives.cshtml) - Html - {\n
+ MalformedDirective - (342:24,0 [12] IncompleteDirectives.cshtml) - functions
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives_DesignTime.mappings.txt
new file mode 100644
index 0000000000..b5f9ac8df5
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives_DesignTime.mappings.txt
@@ -0,0 +1,65 @@
+Source Location: (100:2,13 [0] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml)
+||
+Generated Location: (427:10,38 [0] )
+||
+
+Source Location: (116:3,14 [0] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml)
+||
+Generated Location: (529:14,38 [0] )
+||
+
+Source Location: (132:4,14 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml)
+|"|
+Generated Location: (630:18,37 [1] )
+|"|
+
+Source Location: (153:6,16 [0] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml)
+||
+Generated Location: (732:22,38 [0] )
+||
+
+Source Location: (172:7,17 [0] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml)
+||
+Generated Location: (834:26,38 [0] )
+||
+
+Source Location: (191:8,17 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml)
+|"|
+Generated Location: (935:30,37 [1] )
+|"|
+
+Source Location: (212:10,16 [0] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml)
+||
+Generated Location: (1037:34,38 [0] )
+||
+
+Source Location: (231:11,17 [0] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml)
+||
+Generated Location: (1139:38,38 [0] )
+||
+
+Source Location: (250:12,17 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml)
+|"|
+Generated Location: (1240:42,37 [1] )
+|"|
+
+Source Location: (264:14,9 [0] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml)
+||
+Generated Location: (1304:46,0 [0] )
+||
+
+Source Location: (276:15,10 [0] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml)
+||
+Generated Location: (1357:49,0 [0] )
+||
+
+Source Location: (315:20,8 [0] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml)
+||
+Generated Location: (1410:52,0 [0] )
+||
+
+Source Location: (326:21,9 [0] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml)
+||
+Generated Location: (1463:55,0 [0] )
+||
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives_Runtime.codegen.cs
new file mode 100644
index 0000000000..fd04cb19d2
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives_Runtime.codegen.cs
@@ -0,0 +1,27 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "41721dbbbcb64df19057144a2095a3e1f7466401"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_IncompleteDirectives_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"41721dbbbcb64df19057144a2095a3e1f7466401", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_IncompleteDirectives_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("\r\n\r\n");
+ WriteLiteral("\r\n");
+ WriteLiteral("\r\n");
+ WriteLiteral("\r\n");
+ WriteLiteral("\r\n");
+ WriteLiteral("\r\n\r\n");
+ WriteLiteral("\r\n");
+ WriteLiteral("\r\n\r\n");
+ WriteLiteral("{\r\n");
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives_Runtime.diagnostics.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives_Runtime.diagnostics.txt
new file mode 100644
index 0000000000..b01ced2ed2
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives_Runtime.diagnostics.txt
@@ -0,0 +1,27 @@
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(3,2): Error RZ1018: Directive 'addTagHelper' must have a value.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(3,14): Error RZ1020: Invalid tag helper directive look up text ''. The correct look up text format is: "name, assemblyName".
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(4,2): Error RZ1018: Directive 'addTagHelper' must have a value.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(4,15): Error RZ1020: Invalid tag helper directive look up text ''. The correct look up text format is: "name, assemblyName".
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(5,15): Error RZ1000: Unterminated string literal. Strings that start with a quotation mark (") must be terminated before the end of the line. However, strings that start with @ and a quotation mark (@") can span multiple lines.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(5,15): Error RZ1020: Invalid tag helper directive look up text '"'. The correct look up text format is: "name, assemblyName".
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(7,2): Error RZ1018: Directive 'removeTagHelper' must have a value.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(7,17): Error RZ1020: Invalid tag helper directive look up text ''. The correct look up text format is: "name, assemblyName".
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(8,2): Error RZ1018: Directive 'removeTagHelper' must have a value.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(8,18): Error RZ1020: Invalid tag helper directive look up text ''. The correct look up text format is: "name, assemblyName".
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(9,18): Error RZ1000: Unterminated string literal. Strings that start with a quotation mark (") must be terminated before the end of the line. However, strings that start with @ and a quotation mark (@") can span multiple lines.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(9,18): Error RZ1020: Invalid tag helper directive look up text '"'. The correct look up text format is: "name, assemblyName".
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(11,2): Error RZ1018: Directive 'tagHelperPrefix' must have a value.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(12,2): Error RZ1018: Directive 'tagHelperPrefix' must have a value.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(12,1): Error RZ2001: The 'tagHelperPrefix' directive may only occur once per document.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(13,18): Error RZ1000: Unterminated string literal. Strings that start with a quotation mark (") must be terminated before the end of the line. However, strings that start with @ and a quotation mark (@") can span multiple lines.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(13,1): Error RZ2001: The 'tagHelperPrefix' directive may only occur once per document.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(13,18): Error RZ1020: Invalid tag helper directive 'tagHelperPrefix' value. '"' is not allowed in prefix '"'.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(15,10): Error RZ1013: The 'inherits' directive expects a type name.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(16,1): Error RZ2001: The 'inherits' directive may only occur once per document.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(16,11): Error RZ1013: The 'inherits' directive expects a type name.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(19,1): Error RZ1017: Unexpected literal following the 'functions' directive. Expected '{'.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(21,1): Error RZ1017: Unexpected literal following the 'functions' directive. Expected '{'.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(21,9): Error RZ1015: The 'section' directive expects an identifier.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(22,10): Error RZ1015: The 'section' directive expects an identifier.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(24,10): Error RZ1015: The 'section' directive expects an identifier.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives.cshtml(25,12): Error RZ1006: The functions block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives_Runtime.ir.txt
new file mode 100644
index 0000000000..ecffead8c5
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteDirectives_Runtime.ir.txt
@@ -0,0 +1,54 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_IncompleteDirectives_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (83:0,83 [4] IncompleteDirectives.cshtml)
+ IntermediateToken - (83:0,83 [4] IncompleteDirectives.cshtml) - Html - \n\n
+ MalformedDirective - (100:2,13 [2] IncompleteDirectives.cshtml) - addTagHelper
+ DirectiveToken - (100:2,13 [2] IncompleteDirectives.cshtml) -
+ MalformedDirective - (116:3,14 [2] IncompleteDirectives.cshtml) - addTagHelper
+ DirectiveToken - (116:3,14 [2] IncompleteDirectives.cshtml) -
+ MalformedDirective - (132:4,14 [3] IncompleteDirectives.cshtml) - addTagHelper
+ DirectiveToken - (132:4,14 [3] IncompleteDirectives.cshtml) - "
+ HtmlContent - (135:5,0 [2] IncompleteDirectives.cshtml)
+ IntermediateToken - (135:5,0 [2] IncompleteDirectives.cshtml) - Html - \n
+ MalformedDirective - (153:6,16 [2] IncompleteDirectives.cshtml) - removeTagHelper
+ DirectiveToken - (153:6,16 [2] IncompleteDirectives.cshtml) -
+ MalformedDirective - (172:7,17 [2] IncompleteDirectives.cshtml) - removeTagHelper
+ DirectiveToken - (172:7,17 [2] IncompleteDirectives.cshtml) -
+ MalformedDirective - (191:8,17 [3] IncompleteDirectives.cshtml) - removeTagHelper
+ DirectiveToken - (191:8,17 [3] IncompleteDirectives.cshtml) - "
+ HtmlContent - (194:9,0 [2] IncompleteDirectives.cshtml)
+ IntermediateToken - (194:9,0 [2] IncompleteDirectives.cshtml) - Html - \n
+ MalformedDirective - (212:10,16 [2] IncompleteDirectives.cshtml) - tagHelperPrefix
+ DirectiveToken - (212:10,16 [2] IncompleteDirectives.cshtml) -
+ MalformedDirective - (231:11,17 [2] IncompleteDirectives.cshtml) - tagHelperPrefix
+ DirectiveToken - (231:11,17 [2] IncompleteDirectives.cshtml) -
+ MalformedDirective - (250:12,17 [3] IncompleteDirectives.cshtml) - tagHelperPrefix
+ DirectiveToken - (250:12,17 [3] IncompleteDirectives.cshtml) - "
+ HtmlContent - (253:13,0 [2] IncompleteDirectives.cshtml)
+ IntermediateToken - (253:13,0 [2] IncompleteDirectives.cshtml) - Html - \n
+ MalformedDirective - (255:14,0 [9] IncompleteDirectives.cshtml) - inherits
+ DirectiveToken - (264:14,9 [0] IncompleteDirectives.cshtml) -
+ HtmlContent - (264:14,9 [2] IncompleteDirectives.cshtml)
+ IntermediateToken - (264:14,9 [2] IncompleteDirectives.cshtml) - Html - \n
+ MalformedDirective - (266:15,0 [10] IncompleteDirectives.cshtml) - inherits
+ DirectiveToken - (276:15,10 [0] IncompleteDirectives.cshtml) -
+ HtmlContent - (276:15,10 [4] IncompleteDirectives.cshtml)
+ IntermediateToken - (276:15,10 [4] IncompleteDirectives.cshtml) - Html - \n\n
+ MalformedDirective - (280:17,0 [12] IncompleteDirectives.cshtml) - functions
+ MalformedDirective - (292:18,0 [15] IncompleteDirectives.cshtml) - functions
+ MalformedDirective - (307:20,0 [8] IncompleteDirectives.cshtml) - section
+ DirectiveToken - (315:20,8 [0] IncompleteDirectives.cshtml) -
+ HtmlContent - (315:20,8 [2] IncompleteDirectives.cshtml)
+ IntermediateToken - (315:20,8 [2] IncompleteDirectives.cshtml) - Html - \n
+ MalformedDirective - (317:21,0 [9] IncompleteDirectives.cshtml) - section
+ DirectiveToken - (326:21,9 [0] IncompleteDirectives.cshtml) -
+ HtmlContent - (326:21,9 [4] IncompleteDirectives.cshtml)
+ IntermediateToken - (326:21,9 [4] IncompleteDirectives.cshtml) - Html - \n\n
+ MalformedDirective - (330:23,0 [9] IncompleteDirectives.cshtml) - section
+ HtmlContent - (339:23,9 [3] IncompleteDirectives.cshtml)
+ IntermediateToken - (339:23,9 [3] IncompleteDirectives.cshtml) - Html - {\n
+ MalformedDirective - (342:24,0 [12] IncompleteDirectives.cshtml) - functions
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper.cshtml
new file mode 100644
index 0000000000..022784f426
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper.cshtml
@@ -0,0 +1,3 @@
+@addTagHelper "*, TestAssembly"
+
+<p class=" \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper_DesignTime.codegen.cs
new file mode 100644
index 0000000000..3a01486099
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper_DesignTime.codegen.cs
@@ -0,0 +1,28 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_IncompleteTagHelper_DesignTime
+ {
+ private global::TestNamespace.PTagHelper __TestNamespace_PTagHelper;
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "*, TestAssembly";
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper_DesignTime.diagnostics.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper_DesignTime.diagnostics.txt
new file mode 100644
index 0000000000..10a2d590e2
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper_DesignTime.diagnostics.txt
@@ -0,0 +1,2 @@
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper.cshtml(3,2): Error RZ1035: Missing close angle for tag helper 'p'.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper.cshtml(3,2): Error RZ1034: Found a malformed 'p' tag helper. Tag helpers must have a start and end tag or be self closing.
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper_DesignTime.ir.txt
new file mode 100644
index 0000000000..81a7de97d8
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper_DesignTime.ir.txt
@@ -0,0 +1,23 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_IncompleteTagHelper_DesignTime - -
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.PTagHelper - __TestNamespace_PTagHelper
+ DesignTimeDirective -
+ DirectiveToken - (14:0,14 [17] IncompleteTagHelper.cshtml) - "*, TestAssembly"
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (31:0,31 [4] IncompleteTagHelper.cshtml)
+ IntermediateToken - (31:0,31 [4] IncompleteTagHelper.cshtml) - Html - \n\n
+ TagHelper - (35:2,0 [10] IncompleteTagHelper.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperHtmlAttribute - - class - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (45:2,10 [0] IncompleteTagHelper.cshtml)
+ IntermediateToken - (45:2,10 [0] IncompleteTagHelper.cshtml) - Html -
+ DefaultTagHelperExecute -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper_DesignTime.mappings.txt
new file mode 100644
index 0000000000..cad8cf7ea6
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper_DesignTime.mappings.txt
@@ -0,0 +1,5 @@
+Source Location: (14:0,14 [17] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper.cshtml)
+|"*, TestAssembly"|
+Generated Location: (503:11,37 [17] )
+|"*, TestAssembly"|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper_Runtime.codegen.cs
new file mode 100644
index 0000000000..ed5360e018
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper_Runtime.codegen.cs
@@ -0,0 +1,52 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "976899f0b1218a2ad5755b5bee8aa5f9b27068b6"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_IncompleteTagHelper_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"976899f0b1218a2ad5755b5bee8aa5f9b27068b6", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_IncompleteTagHelper_Runtime
+ {
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("class", new global::Microsoft.AspNetCore.Html.HtmlString(""), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ #line hidden
+ #pragma warning disable 0169
+ private string __tagHelperStringValueBuffer;
+ #pragma warning restore 0169
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext __tagHelperExecutionContext;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner();
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __backed__tagHelperScopeManager = null;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __tagHelperScopeManager
+ {
+ get
+ {
+ if (__backed__tagHelperScopeManager == null)
+ {
+ __backed__tagHelperScopeManager = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager(StartTagHelperWritingScope, EndTagHelperWritingScope);
+ }
+ return __backed__tagHelperScopeManager;
+ }
+ }
+ private global::TestNamespace.PTagHelper __TestNamespace_PTagHelper;
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("p", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ }
+ );
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_PTagHelper);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_0);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper_Runtime.diagnostics.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper_Runtime.diagnostics.txt
new file mode 100644
index 0000000000..10a2d590e2
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper_Runtime.diagnostics.txt
@@ -0,0 +1,2 @@
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper.cshtml(3,2): Error RZ1035: Missing close angle for tag helper 'p'.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper.cshtml(3,2): Error RZ1034: Found a malformed 'p' tag helper. Tag helpers must have a start and end tag or be self closing.
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper_Runtime.ir.txt
new file mode 100644
index 0000000000..dfc5fa13b1
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/IncompleteTagHelper_Runtime.ir.txt
@@ -0,0 +1,16 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_IncompleteTagHelper_Runtime - -
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_0 - class - - HtmlAttributeValueStyle.DoubleQuotes
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.PTagHelper - __TestNamespace_PTagHelper
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (33:1,0 [2] IncompleteTagHelper.cshtml)
+ IntermediateToken - (33:1,0 [2] IncompleteTagHelper.cshtml) - Html - \n
+ TagHelper - (35:2,0 [10] IncompleteTagHelper.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_0
+ DefaultTagHelperExecute -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Inherits.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Inherits.cshtml
new file mode 100644
index 0000000000..cf92e3466b
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Inherits.cshtml
@@ -0,0 +1,3 @@
+@inherits foo.bar<baz<biz>>.boz
+
+@foo() \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Inherits_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Inherits_DesignTime.codegen.cs
new file mode 100644
index 0000000000..bb73db8e52
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Inherits_DesignTime.codegen.cs
@@ -0,0 +1,31 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Inherits_DesignTime : foo.bar<baz<biz>>.boz
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+foo.bar<baz<biz>>.boz __typeHelper = default(foo.bar<baz<biz>>.boz);
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Inherits.cshtml"
+__o = foo();
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Inherits_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Inherits_DesignTime.ir.txt
new file mode 100644
index 0000000000..5d070ecece
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Inherits_DesignTime.ir.txt
@@ -0,0 +1,16 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Inherits_DesignTime - foo.bar<baz<biz>>.boz -
+ DesignTimeDirective -
+ DirectiveToken - (10:0,10 [21] Inherits.cshtml) - foo.bar<baz<biz>>.boz
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (33:1,0 [2] Inherits.cshtml)
+ IntermediateToken - (33:1,0 [2] Inherits.cshtml) - Html - \n
+ CSharpExpression - (36:2,1 [5] Inherits.cshtml)
+ IntermediateToken - (36:2,1 [5] Inherits.cshtml) - CSharp - foo()
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Inherits_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Inherits_DesignTime.mappings.txt
new file mode 100644
index 0000000000..bbde1e3ca1
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Inherits_DesignTime.mappings.txt
@@ -0,0 +1,10 @@
+Source Location: (10:0,10 [21] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Inherits.cshtml)
+|foo.bar<baz<biz>>.boz|
+Generated Location: (401:10,0 [21] )
+|foo.bar<baz<biz>>.boz|
+
+Source Location: (36:2,1 [5] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Inherits.cshtml)
+|foo()|
+Generated Location: (875:22,6 [5] )
+|foo()|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Inherits_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Inherits_Runtime.codegen.cs
new file mode 100644
index 0000000000..5ca5961c65
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Inherits_Runtime.codegen.cs
@@ -0,0 +1,24 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Inherits.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "0f131d73e4e22423fc85cc3e091dd106da637d92"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Inherits_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Inherits.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"0f131d73e4e22423fc85cc3e091dd106da637d92", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Inherits.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Inherits_Runtime : foo.bar<baz<biz>>.boz
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("\r\n");
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Inherits.cshtml"
+Write(foo());
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Inherits_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Inherits_Runtime.ir.txt
new file mode 100644
index 0000000000..e901fffac8
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Inherits_Runtime.ir.txt
@@ -0,0 +1,10 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Inherits_Runtime - foo.bar<baz<biz>>.boz -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (33:1,0 [2] Inherits.cshtml)
+ IntermediateToken - (33:1,0 [2] Inherits.cshtml) - Html - \n
+ CSharpExpression - (36:2,1 [5] Inherits.cshtml)
+ IntermediateToken - (36:2,1 [5] Inherits.cshtml) - CSharp - foo()
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks.cshtml
new file mode 100644
index 0000000000..2a4ba7216f
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks.cshtml
@@ -0,0 +1,3 @@
+@section Link(string link) {
+ <a href="@if(link != null) { @link } else { <text>#</text> }" />
+} \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks_DesignTime.codegen.cs
new file mode 100644
index 0000000000..0dac7a2c04
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks_DesignTime.codegen.cs
@@ -0,0 +1,46 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_InlineBlocks_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+global::System.Object Link = null;
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks.cshtml"
+ if(link != null) {
+
+#line default
+#line hidden
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks.cshtml"
+ __o = link;
+
+#line default
+#line hidden
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks.cshtml"
+ } else {
+
+#line default
+#line hidden
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks.cshtml"
+ }
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks_DesignTime.diagnostics.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks_DesignTime.diagnostics.txt
new file mode 100644
index 0000000000..66af9b7600
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks_DesignTime.diagnostics.txt
@@ -0,0 +1 @@
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks.cshtml(1,14): Error RZ1017: Unexpected literal following the 'section' directive. Expected '{'.
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks_DesignTime.ir.txt
new file mode 100644
index 0000000000..76c1d91a0c
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks_DesignTime.ir.txt
@@ -0,0 +1,29 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_InlineBlocks_DesignTime - -
+ DesignTimeDirective -
+ DirectiveToken - (9:0,9 [4] InlineBlocks.cshtml) - Link
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ MalformedDirective - (0:0,0 [13] InlineBlocks.cshtml) - section
+ DirectiveToken - (9:0,9 [4] InlineBlocks.cshtml) - Link
+ HtmlContent - (13:0,13 [23] InlineBlocks.cshtml)
+ IntermediateToken - (13:0,13 [21] InlineBlocks.cshtml) - Html - (string link) {\n
+ IntermediateToken - (34:1,4 [2] InlineBlocks.cshtml) - Html - <a
+ HtmlAttribute - (36:1,6 [59] InlineBlocks.cshtml) - href=" - "
+ CSharpCodeAttributeValue - (43:1,13 [51] InlineBlocks.cshtml) -
+ IntermediateToken - (44:1,14 [19] InlineBlocks.cshtml) - CSharp - if(link != null) {
+ CSharpExpression - (64:1,34 [4] InlineBlocks.cshtml)
+ IntermediateToken - (64:1,34 [4] InlineBlocks.cshtml) - CSharp - link
+ IntermediateToken - (68:1,38 [10] InlineBlocks.cshtml) - CSharp - } else {
+ HtmlContent - (84:1,54 [1] InlineBlocks.cshtml)
+ IntermediateToken - (84:1,54 [1] InlineBlocks.cshtml) - Html - #
+ IntermediateToken - (92:1,62 [2] InlineBlocks.cshtml) - CSharp - }
+ HtmlContent - (95:1,65 [6] InlineBlocks.cshtml)
+ IntermediateToken - (95:1,65 [3] InlineBlocks.cshtml) - Html - />
+ IntermediateToken - (98:1,68 [3] InlineBlocks.cshtml) - Html - \n}
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks_DesignTime.mappings.txt
new file mode 100644
index 0000000000..defa39bbc4
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks_DesignTime.mappings.txt
@@ -0,0 +1,25 @@
+Source Location: (9:0,9 [4] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks.cshtml)
+|Link|
+Generated Location: (403:10,22 [4] )
+|Link|
+
+Source Location: (44:1,14 [19] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks.cshtml)
+|if(link != null) { |
+Generated Location: (833:22,14 [19] )
+|if(link != null) { |
+
+Source Location: (64:1,34 [4] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks.cshtml)
+|link|
+Generated Location: (1007:27,34 [4] )
+|link|
+
+Source Location: (68:1,38 [10] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks.cshtml)
+| } else { |
+Generated Location: (1171:32,38 [10] )
+| } else { |
+
+Source Location: (92:1,62 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks.cshtml)
+| }|
+Generated Location: (1364:37,62 [2] )
+| }|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks_Runtime.codegen.cs
new file mode 100644
index 0000000000..e588d26d67
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks_Runtime.codegen.cs
@@ -0,0 +1,48 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "e7fa74a13b1e78fed87942ccd83aa733810e8664"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_InlineBlocks_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"e7fa74a13b1e78fed87942ccd83aa733810e8664", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_InlineBlocks_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("(string link) {\r\n <a");
+ BeginWriteAttribute("href", " href=\"", 36, "\"", 94, 1);
+ WriteAttributeValue("", 43, new Microsoft.AspNetCore.Mvc.Razor.HelperResult(async(__razor_attribute_value_writer) => {
+ PushWriter(__razor_attribute_value_writer);
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks.cshtml"
+ if(link != null) {
+
+#line default
+#line hidden
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks.cshtml"
+ Write(link);
+
+#line default
+#line hidden
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks.cshtml"
+ } else {
+
+#line default
+#line hidden
+ WriteLiteral("#");
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks.cshtml"
+ }
+
+#line default
+#line hidden
+ PopWriter();
+ }
+ ), 43, 51, false);
+ EndWriteAttribute();
+ WriteLiteral(" />\r\n}");
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks_Runtime.diagnostics.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks_Runtime.diagnostics.txt
new file mode 100644
index 0000000000..66af9b7600
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks_Runtime.diagnostics.txt
@@ -0,0 +1 @@
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks.cshtml(1,14): Error RZ1017: Unexpected literal following the 'section' directive. Expected '{'.
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks_Runtime.ir.txt
new file mode 100644
index 0000000000..eb8fd5d9f6
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/InlineBlocks_Runtime.ir.txt
@@ -0,0 +1,23 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_InlineBlocks_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ MalformedDirective - (0:0,0 [13] InlineBlocks.cshtml) - section
+ DirectiveToken - (9:0,9 [4] InlineBlocks.cshtml) - Link
+ HtmlContent - (13:0,13 [23] InlineBlocks.cshtml)
+ IntermediateToken - (13:0,13 [21] InlineBlocks.cshtml) - Html - (string link) {\n
+ IntermediateToken - (34:1,4 [2] InlineBlocks.cshtml) - Html - <a
+ HtmlAttribute - (36:1,6 [59] InlineBlocks.cshtml) - href=" - "
+ CSharpCodeAttributeValue - (43:1,13 [51] InlineBlocks.cshtml) -
+ IntermediateToken - (44:1,14 [19] InlineBlocks.cshtml) - CSharp - if(link != null) {
+ CSharpExpression - (64:1,34 [4] InlineBlocks.cshtml)
+ IntermediateToken - (64:1,34 [4] InlineBlocks.cshtml) - CSharp - link
+ IntermediateToken - (68:1,38 [10] InlineBlocks.cshtml) - CSharp - } else {
+ HtmlContent - (84:1,54 [1] InlineBlocks.cshtml)
+ IntermediateToken - (84:1,54 [1] InlineBlocks.cshtml) - Html - #
+ IntermediateToken - (92:1,62 [2] InlineBlocks.cshtml) - CSharp - }
+ HtmlContent - (95:1,65 [6] InlineBlocks.cshtml)
+ IntermediateToken - (95:1,65 [3] InlineBlocks.cshtml) - Html - />
+ IntermediateToken - (98:1,68 [3] InlineBlocks.cshtml) - Html - \n}
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml
new file mode 100644
index 0000000000..bd273c57e1
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml
@@ -0,0 +1,38 @@
+@{
+ int i = 1;
+ var foo = @<p>Bar</p>;
+ @:Hello, World
+ <p>Hello, World</p>
+}
+
+@while(i <= 10) {
+ <p>Hello from C#, #@(i)</p>
+ i += 1;
+}
+
+@if(i == 11) {
+ <p>We wrote 10 lines!</p>
+}
+
+@switch(i) {
+ case 11:
+ <p>No really, we wrote 10 lines!</p>
+ break;
+ default:
+ <p>Actually, we didn't...</p>
+ break;
+}
+
+@for(int j = 1; j <= 10; j += 2) {
+ <p>Hello again from C#, #@(j)</p>
+}
+
+@try {
+ <p>That time, we wrote 5 lines!</p>
+} catch(Exception ex) {
+ <p>Oh no! An error occurred: @(ex.Message)</p>
+}
+
+@lock(new object()) {
+ <p>This block is locked, for your security!</p>
+} \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented_DesignTime.codegen.cs
new file mode 100644
index 0000000000..04f1daad49
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented_DesignTime.codegen.cs
@@ -0,0 +1,146 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Instrumented_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+
+ int i = 1;
+ var foo =
+
+#line default
+#line hidden
+ item => new Template(async(__razor_template_writer) => {
+ }
+ )
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+ ;
+
+
+#line default
+#line hidden
+
+
+
+#line 8 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+ while(i <= 10) {
+
+
+#line default
+#line hidden
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+ __o = i;
+
+#line default
+#line hidden
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+
+ i += 1;
+}
+
+#line default
+#line hidden
+#line 13 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+ if(i == 11) {
+
+
+#line default
+#line hidden
+#line 14 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+
+}
+
+#line default
+#line hidden
+#line 17 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+ switch(i) {
+ case 11:
+
+
+#line default
+#line hidden
+#line 19 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+
+ break;
+ default:
+
+
+#line default
+#line hidden
+#line 22 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+
+ break;
+}
+
+#line default
+#line hidden
+#line 26 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+ for(int j = 1; j <= 10; j += 2) {
+
+
+#line default
+#line hidden
+#line 27 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+ __o = j;
+
+#line default
+#line hidden
+#line 27 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+
+}
+
+#line default
+#line hidden
+#line 30 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+ try {
+
+
+#line default
+#line hidden
+#line 31 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+
+} catch(Exception ex) {
+
+
+#line default
+#line hidden
+#line 33 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+ __o = ex.Message;
+
+#line default
+#line hidden
+#line 33 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+
+}
+
+#line default
+#line hidden
+#line 36 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+ lock(new object()) {
+
+
+#line default
+#line hidden
+#line 37 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+
+}
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented_DesignTime.ir.txt
new file mode 100644
index 0000000000..59e7be3397
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented_DesignTime.ir.txt
@@ -0,0 +1,111 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Instrumented_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (2:0,2 [32] Instrumented.cshtml)
+ IntermediateToken - (2:0,2 [32] Instrumented.cshtml) - CSharp - \n int i = 1;\n var foo =
+ Template - (35:2,15 [10] Instrumented.cshtml)
+ HtmlContent - (35:2,15 [10] Instrumented.cshtml)
+ IntermediateToken - (35:2,15 [3] Instrumented.cshtml) - Html - <p>
+ IntermediateToken - (38:2,18 [3] Instrumented.cshtml) - Html - Bar
+ IntermediateToken - (41:2,21 [4] Instrumented.cshtml) - Html - </p>
+ CSharpCode - (45:2,25 [7] Instrumented.cshtml)
+ IntermediateToken - (45:2,25 [7] Instrumented.cshtml) - CSharp - ;\n
+ HtmlContent - (54:3,6 [14] Instrumented.cshtml)
+ IntermediateToken - (54:3,6 [14] Instrumented.cshtml) - Html - Hello, World\n
+ CSharpCode - (68:4,0 [4] Instrumented.cshtml)
+ IntermediateToken - (68:4,0 [4] Instrumented.cshtml) - CSharp -
+ HtmlContent - (72:4,4 [19] Instrumented.cshtml)
+ IntermediateToken - (72:4,4 [3] Instrumented.cshtml) - Html - <p>
+ IntermediateToken - (75:4,7 [12] Instrumented.cshtml) - Html - Hello, World
+ IntermediateToken - (87:4,19 [4] Instrumented.cshtml) - Html - </p>
+ CSharpCode - (91:4,23 [2] Instrumented.cshtml)
+ IntermediateToken - (91:4,23 [2] Instrumented.cshtml) - CSharp - \n
+ HtmlContent - (96:6,0 [2] Instrumented.cshtml)
+ IntermediateToken - (96:6,0 [2] Instrumented.cshtml) - Html - \n
+ CSharpCode - (99:7,1 [22] Instrumented.cshtml)
+ IntermediateToken - (99:7,1 [22] Instrumented.cshtml) - CSharp - while(i <= 10) {\n
+ HtmlContent - (121:8,4 [19] Instrumented.cshtml)
+ IntermediateToken - (121:8,4 [3] Instrumented.cshtml) - Html - <p>
+ IntermediateToken - (124:8,7 [16] Instrumented.cshtml) - Html - Hello from C#, #
+ CSharpExpression - (142:8,25 [1] Instrumented.cshtml)
+ IntermediateToken - (142:8,25 [1] Instrumented.cshtml) - CSharp - i
+ HtmlContent - (144:8,27 [4] Instrumented.cshtml)
+ IntermediateToken - (144:8,27 [4] Instrumented.cshtml) - Html - </p>
+ CSharpCode - (148:8,31 [16] Instrumented.cshtml)
+ IntermediateToken - (148:8,31 [16] Instrumented.cshtml) - CSharp - \n i += 1;\n}
+ HtmlContent - (164:10,1 [4] Instrumented.cshtml)
+ IntermediateToken - (164:10,1 [4] Instrumented.cshtml) - Html - \n\n
+ CSharpCode - (169:12,1 [19] Instrumented.cshtml)
+ IntermediateToken - (169:12,1 [19] Instrumented.cshtml) - CSharp - if(i == 11) {\n
+ HtmlContent - (188:13,4 [25] Instrumented.cshtml)
+ IntermediateToken - (188:13,4 [3] Instrumented.cshtml) - Html - <p>
+ IntermediateToken - (191:13,7 [18] Instrumented.cshtml) - Html - We wrote 10 lines!
+ IntermediateToken - (209:13,25 [4] Instrumented.cshtml) - Html - </p>
+ CSharpCode - (213:13,29 [3] Instrumented.cshtml)
+ IntermediateToken - (213:13,29 [3] Instrumented.cshtml) - CSharp - \n}
+ HtmlContent - (216:14,1 [4] Instrumented.cshtml)
+ IntermediateToken - (216:14,1 [4] Instrumented.cshtml) - Html - \n\n
+ CSharpCode - (221:16,1 [35] Instrumented.cshtml)
+ IntermediateToken - (221:16,1 [35] Instrumented.cshtml) - CSharp - switch(i) {\n case 11:\n
+ HtmlContent - (256:18,8 [36] Instrumented.cshtml)
+ IntermediateToken - (256:18,8 [3] Instrumented.cshtml) - Html - <p>
+ IntermediateToken - (259:18,11 [29] Instrumented.cshtml) - Html - No really, we wrote 10 lines!
+ IntermediateToken - (288:18,40 [4] Instrumented.cshtml) - Html - </p>
+ CSharpCode - (292:18,44 [40] Instrumented.cshtml)
+ IntermediateToken - (292:18,44 [40] Instrumented.cshtml) - CSharp - \n break;\n default:\n
+ HtmlContent - (332:21,8 [29] Instrumented.cshtml)
+ IntermediateToken - (332:21,8 [3] Instrumented.cshtml) - Html - <p>
+ IntermediateToken - (335:21,11 [22] Instrumented.cshtml) - Html - Actually, we didn't...
+ IntermediateToken - (357:21,33 [4] Instrumented.cshtml) - Html - </p>
+ CSharpCode - (361:21,37 [19] Instrumented.cshtml)
+ IntermediateToken - (361:21,37 [19] Instrumented.cshtml) - CSharp - \n break;\n}
+ HtmlContent - (380:23,1 [4] Instrumented.cshtml)
+ IntermediateToken - (380:23,1 [4] Instrumented.cshtml) - Html - \n\n
+ CSharpCode - (385:25,1 [39] Instrumented.cshtml)
+ IntermediateToken - (385:25,1 [39] Instrumented.cshtml) - CSharp - for(int j = 1; j <= 10; j += 2) {\n
+ HtmlContent - (424:26,4 [25] Instrumented.cshtml)
+ IntermediateToken - (424:26,4 [3] Instrumented.cshtml) - Html - <p>
+ IntermediateToken - (427:26,7 [22] Instrumented.cshtml) - Html - Hello again from C#, #
+ CSharpExpression - (451:26,31 [1] Instrumented.cshtml)
+ IntermediateToken - (451:26,31 [1] Instrumented.cshtml) - CSharp - j
+ HtmlContent - (453:26,33 [4] Instrumented.cshtml)
+ IntermediateToken - (453:26,33 [4] Instrumented.cshtml) - Html - </p>
+ CSharpCode - (457:26,37 [3] Instrumented.cshtml)
+ IntermediateToken - (457:26,37 [3] Instrumented.cshtml) - CSharp - \n}
+ HtmlContent - (460:27,1 [4] Instrumented.cshtml)
+ IntermediateToken - (460:27,1 [4] Instrumented.cshtml) - Html - \n\n
+ CSharpCode - (465:29,1 [11] Instrumented.cshtml)
+ IntermediateToken - (465:29,1 [11] Instrumented.cshtml) - CSharp - try {\n
+ HtmlContent - (476:30,4 [35] Instrumented.cshtml)
+ IntermediateToken - (476:30,4 [3] Instrumented.cshtml) - Html - <p>
+ IntermediateToken - (479:30,7 [28] Instrumented.cshtml) - Html - That time, we wrote 5 lines!
+ IntermediateToken - (507:30,35 [4] Instrumented.cshtml) - Html - </p>
+ CSharpCode - (511:30,39 [31] Instrumented.cshtml)
+ IntermediateToken - (511:30,39 [31] Instrumented.cshtml) - CSharp - \n} catch(Exception ex) {\n
+ HtmlContent - (542:32,4 [29] Instrumented.cshtml)
+ IntermediateToken - (542:32,4 [3] Instrumented.cshtml) - Html - <p>
+ IntermediateToken - (545:32,7 [26] Instrumented.cshtml) - Html - Oh no! An error occurred:
+ CSharpExpression - (573:32,35 [10] Instrumented.cshtml)
+ IntermediateToken - (573:32,35 [10] Instrumented.cshtml) - CSharp - ex.Message
+ HtmlContent - (584:32,46 [4] Instrumented.cshtml)
+ IntermediateToken - (584:32,46 [4] Instrumented.cshtml) - Html - </p>
+ CSharpCode - (588:32,50 [3] Instrumented.cshtml)
+ IntermediateToken - (588:32,50 [3] Instrumented.cshtml) - CSharp - \n}
+ HtmlContent - (591:33,1 [4] Instrumented.cshtml)
+ IntermediateToken - (591:33,1 [4] Instrumented.cshtml) - Html - \n\n
+ CSharpCode - (596:35,1 [26] Instrumented.cshtml)
+ IntermediateToken - (596:35,1 [26] Instrumented.cshtml) - CSharp - lock(new object()) {\n
+ HtmlContent - (622:36,4 [47] Instrumented.cshtml)
+ IntermediateToken - (622:36,4 [3] Instrumented.cshtml) - Html - <p>
+ IntermediateToken - (625:36,7 [40] Instrumented.cshtml) - Html - This block is locked, for your security!
+ IntermediateToken - (665:36,47 [4] Instrumented.cshtml) - Html - </p>
+ CSharpCode - (669:36,51 [3] Instrumented.cshtml)
+ IntermediateToken - (669:36,51 [3] Instrumented.cshtml) - CSharp - \n}
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented_DesignTime.mappings.txt
new file mode 100644
index 0000000000..4165c88fa9
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented_DesignTime.mappings.txt
@@ -0,0 +1,153 @@
+Source Location: (2:0,2 [32] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml)
+|
+ int i = 1;
+ var foo = |
+Generated Location: (725:18,2 [32] )
+|
+ int i = 1;
+ var foo = |
+
+Source Location: (45:2,25 [7] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml)
+|;
+ |
+Generated Location: (1003:28,25 [7] )
+|;
+ |
+
+Source Location: (68:4,0 [4] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml)
+| |
+Generated Location: (1043:33,0 [4] )
+| |
+
+Source Location: (91:4,23 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml)
+|
+|
+Generated Location: (1096:34,35 [2] )
+|
+|
+
+Source Location: (99:7,1 [22] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml)
+|while(i <= 10) {
+ |
+Generated Location: (1189:37,1 [22] )
+|while(i <= 10) {
+ |
+
+Source Location: (142:8,25 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml)
+|i|
+Generated Location: (1357:43,25 [1] )
+|i|
+
+Source Location: (148:8,31 [16] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml)
+|
+ i += 1;
+}|
+Generated Location: (1511:48,31 [16] )
+|
+ i += 1;
+}|
+
+Source Location: (169:12,1 [19] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml)
+|if(i == 11) {
+ |
+Generated Location: (1650:55,1 [19] )
+|if(i == 11) {
+ |
+
+Source Location: (213:13,29 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml)
+|
+}|
+Generated Location: (1820:61,29 [3] )
+|
+}|
+
+Source Location: (221:16,1 [35] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml)
+|switch(i) {
+ case 11:
+ |
+Generated Location: (1946:67,1 [35] )
+|switch(i) {
+ case 11:
+ |
+
+Source Location: (292:18,44 [40] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml)
+|
+ break;
+ default:
+ |
+Generated Location: (2147:74,44 [40] )
+|
+ break;
+ default:
+ |
+
+Source Location: (361:21,37 [19] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml)
+|
+ break;
+}|
+Generated Location: (2346:82,37 [19] )
+|
+ break;
+}|
+
+Source Location: (385:25,1 [39] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml)
+|for(int j = 1; j <= 10; j += 2) {
+ |
+Generated Location: (2488:89,1 [39] )
+|for(int j = 1; j <= 10; j += 2) {
+ |
+
+Source Location: (451:26,31 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml)
+|j|
+Generated Location: (2680:95,31 [1] )
+|j|
+
+Source Location: (457:26,37 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml)
+|
+}|
+Generated Location: (2841:100,37 [3] )
+|
+}|
+
+Source Location: (465:29,1 [11] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml)
+|try {
+ |
+Generated Location: (2967:106,1 [11] )
+|try {
+ |
+
+Source Location: (511:30,39 [31] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml)
+|
+} catch(Exception ex) {
+ |
+Generated Location: (3139:112,39 [31] )
+|
+} catch(Exception ex) {
+ |
+
+Source Location: (573:32,35 [10] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml)
+|ex.Message|
+Generated Location: (3327:119,35 [10] )
+|ex.Message|
+
+Source Location: (588:32,50 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml)
+|
+}|
+Generated Location: (3510:124,50 [3] )
+|
+}|
+
+Source Location: (596:35,1 [26] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml)
+|lock(new object()) {
+ |
+Generated Location: (3636:130,1 [26] )
+|lock(new object()) {
+ |
+
+Source Location: (669:36,51 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml)
+|
+}|
+Generated Location: (3835:136,51 [3] )
+|
+}|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented_Runtime.codegen.cs
new file mode 100644
index 0000000000..9b7421b0de
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented_Runtime.codegen.cs
@@ -0,0 +1,144 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "3d0d9c94b62eeccf0a2a106b257a1ea1e22412a9"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Instrumented_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"3d0d9c94b62eeccf0a2a106b257a1ea1e22412a9", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Instrumented_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+
+ int i = 1;
+ var foo =
+
+#line default
+#line hidden
+ item => new Template(async(__razor_template_writer) => {
+ PushWriter(__razor_template_writer);
+ WriteLiteral("<p>Bar</p>");
+ PopWriter();
+ }
+ )
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+ ;
+
+#line default
+#line hidden
+ WriteLiteral(" ");
+ WriteLiteral("Hello, World\r\n <p>Hello, World</p>\r\n");
+ WriteLiteral("\r\n");
+#line 8 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+ while(i <= 10) {
+
+#line default
+#line hidden
+ WriteLiteral(" <p>Hello from C#, #");
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+ Write(i);
+
+#line default
+#line hidden
+ WriteLiteral("</p>\r\n");
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+ i += 1;
+}
+
+#line default
+#line hidden
+ WriteLiteral("\r\n");
+#line 13 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+ if(i == 11) {
+
+#line default
+#line hidden
+ WriteLiteral(" <p>We wrote 10 lines!</p>\r\n");
+#line 15 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+}
+
+#line default
+#line hidden
+ WriteLiteral("\r\n");
+#line 17 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+ switch(i) {
+ case 11:
+
+#line default
+#line hidden
+ WriteLiteral(" <p>No really, we wrote 10 lines!</p>\r\n");
+#line 20 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+ break;
+ default:
+
+#line default
+#line hidden
+ WriteLiteral(" <p>Actually, we didn\'t...</p>\r\n");
+#line 23 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+ break;
+}
+
+#line default
+#line hidden
+ WriteLiteral("\r\n");
+#line 26 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+ for(int j = 1; j <= 10; j += 2) {
+
+#line default
+#line hidden
+ WriteLiteral(" <p>Hello again from C#, #");
+#line 27 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+ Write(j);
+
+#line default
+#line hidden
+ WriteLiteral("</p>\r\n");
+#line 28 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+}
+
+#line default
+#line hidden
+ WriteLiteral("\r\n");
+#line 30 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+ try {
+
+#line default
+#line hidden
+ WriteLiteral(" <p>That time, we wrote 5 lines!</p>\r\n");
+#line 32 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+} catch(Exception ex) {
+
+#line default
+#line hidden
+ WriteLiteral(" <p>Oh no! An error occurred: ");
+#line 33 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+ Write(ex.Message);
+
+#line default
+#line hidden
+ WriteLiteral("</p>\r\n");
+#line 34 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+}
+
+#line default
+#line hidden
+ WriteLiteral("\r\n");
+#line 36 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+ lock(new object()) {
+
+#line default
+#line hidden
+ WriteLiteral(" <p>This block is locked, for your security!</p>\r\n");
+#line 38 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented.cshtml"
+}
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented_Runtime.ir.txt
new file mode 100644
index 0000000000..2fb8fdbe9b
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Instrumented_Runtime.ir.txt
@@ -0,0 +1,123 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Instrumented_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (2:0,2 [32] Instrumented.cshtml)
+ IntermediateToken - (2:0,2 [32] Instrumented.cshtml) - CSharp - \n int i = 1;\n var foo =
+ Template - (35:2,15 [10] Instrumented.cshtml)
+ HtmlContent - (35:2,15 [10] Instrumented.cshtml)
+ IntermediateToken - (35:2,15 [3] Instrumented.cshtml) - Html - <p>
+ IntermediateToken - (38:2,18 [3] Instrumented.cshtml) - Html - Bar
+ IntermediateToken - (41:2,21 [4] Instrumented.cshtml) - Html - </p>
+ CSharpCode - (45:2,25 [3] Instrumented.cshtml)
+ IntermediateToken - (45:2,25 [3] Instrumented.cshtml) - CSharp - ;\n
+ HtmlContent - (48:3,0 [4] Instrumented.cshtml)
+ IntermediateToken - (48:3,0 [4] Instrumented.cshtml) - Html -
+ HtmlContent - (54:3,6 [39] Instrumented.cshtml)
+ IntermediateToken - (54:3,6 [14] Instrumented.cshtml) - Html - Hello, World\n
+ IntermediateToken - (68:4,0 [4] Instrumented.cshtml) - Html -
+ IntermediateToken - (72:4,4 [3] Instrumented.cshtml) - Html - <p>
+ IntermediateToken - (75:4,7 [12] Instrumented.cshtml) - Html - Hello, World
+ IntermediateToken - (87:4,19 [4] Instrumented.cshtml) - Html - </p>
+ IntermediateToken - (91:4,23 [2] Instrumented.cshtml) - Html - \n
+ CSharpCode - (93:5,0 [0] Instrumented.cshtml)
+ IntermediateToken - (93:5,0 [0] Instrumented.cshtml) - CSharp -
+ HtmlContent - (96:6,0 [2] Instrumented.cshtml)
+ IntermediateToken - (96:6,0 [2] Instrumented.cshtml) - Html - \n
+ CSharpCode - (99:7,1 [18] Instrumented.cshtml)
+ IntermediateToken - (99:7,1 [18] Instrumented.cshtml) - CSharp - while(i <= 10) {\n
+ HtmlContent - (117:8,0 [23] Instrumented.cshtml)
+ IntermediateToken - (117:8,0 [4] Instrumented.cshtml) - Html -
+ IntermediateToken - (121:8,4 [3] Instrumented.cshtml) - Html - <p>
+ IntermediateToken - (124:8,7 [16] Instrumented.cshtml) - Html - Hello from C#, #
+ CSharpExpression - (142:8,25 [1] Instrumented.cshtml)
+ IntermediateToken - (142:8,25 [1] Instrumented.cshtml) - CSharp - i
+ HtmlContent - (144:8,27 [6] Instrumented.cshtml)
+ IntermediateToken - (144:8,27 [4] Instrumented.cshtml) - Html - </p>
+ IntermediateToken - (148:8,31 [2] Instrumented.cshtml) - Html - \n
+ CSharpCode - (150:9,0 [16] Instrumented.cshtml)
+ IntermediateToken - (150:9,0 [16] Instrumented.cshtml) - CSharp - i += 1;\n}\n
+ HtmlContent - (166:11,0 [2] Instrumented.cshtml)
+ IntermediateToken - (166:11,0 [2] Instrumented.cshtml) - Html - \n
+ CSharpCode - (169:12,1 [15] Instrumented.cshtml)
+ IntermediateToken - (169:12,1 [15] Instrumented.cshtml) - CSharp - if(i == 11) {\n
+ HtmlContent - (184:13,0 [31] Instrumented.cshtml)
+ IntermediateToken - (184:13,0 [4] Instrumented.cshtml) - Html -
+ IntermediateToken - (188:13,4 [3] Instrumented.cshtml) - Html - <p>
+ IntermediateToken - (191:13,7 [18] Instrumented.cshtml) - Html - We wrote 10 lines!
+ IntermediateToken - (209:13,25 [4] Instrumented.cshtml) - Html - </p>
+ IntermediateToken - (213:13,29 [2] Instrumented.cshtml) - Html - \n
+ CSharpCode - (215:14,0 [3] Instrumented.cshtml)
+ IntermediateToken - (215:14,0 [3] Instrumented.cshtml) - CSharp - }\n
+ HtmlContent - (218:15,0 [2] Instrumented.cshtml)
+ IntermediateToken - (218:15,0 [2] Instrumented.cshtml) - Html - \n
+ CSharpCode - (221:16,1 [27] Instrumented.cshtml)
+ IntermediateToken - (221:16,1 [27] Instrumented.cshtml) - CSharp - switch(i) {\n case 11:\n
+ HtmlContent - (248:18,0 [46] Instrumented.cshtml)
+ IntermediateToken - (248:18,0 [8] Instrumented.cshtml) - Html -
+ IntermediateToken - (256:18,8 [3] Instrumented.cshtml) - Html - <p>
+ IntermediateToken - (259:18,11 [29] Instrumented.cshtml) - Html - No really, we wrote 10 lines!
+ IntermediateToken - (288:18,40 [4] Instrumented.cshtml) - Html - </p>
+ IntermediateToken - (292:18,44 [2] Instrumented.cshtml) - Html - \n
+ CSharpCode - (294:19,0 [30] Instrumented.cshtml)
+ IntermediateToken - (294:19,0 [30] Instrumented.cshtml) - CSharp - break;\n default:\n
+ HtmlContent - (324:21,0 [39] Instrumented.cshtml)
+ IntermediateToken - (324:21,0 [8] Instrumented.cshtml) - Html -
+ IntermediateToken - (332:21,8 [3] Instrumented.cshtml) - Html - <p>
+ IntermediateToken - (335:21,11 [22] Instrumented.cshtml) - Html - Actually, we didn't...
+ IntermediateToken - (357:21,33 [4] Instrumented.cshtml) - Html - </p>
+ IntermediateToken - (361:21,37 [2] Instrumented.cshtml) - Html - \n
+ CSharpCode - (363:22,0 [19] Instrumented.cshtml)
+ IntermediateToken - (363:22,0 [19] Instrumented.cshtml) - CSharp - break;\n}\n
+ HtmlContent - (382:24,0 [2] Instrumented.cshtml)
+ IntermediateToken - (382:24,0 [2] Instrumented.cshtml) - Html - \n
+ CSharpCode - (385:25,1 [35] Instrumented.cshtml)
+ IntermediateToken - (385:25,1 [35] Instrumented.cshtml) - CSharp - for(int j = 1; j <= 10; j += 2) {\n
+ HtmlContent - (420:26,0 [29] Instrumented.cshtml)
+ IntermediateToken - (420:26,0 [4] Instrumented.cshtml) - Html -
+ IntermediateToken - (424:26,4 [3] Instrumented.cshtml) - Html - <p>
+ IntermediateToken - (427:26,7 [22] Instrumented.cshtml) - Html - Hello again from C#, #
+ CSharpExpression - (451:26,31 [1] Instrumented.cshtml)
+ IntermediateToken - (451:26,31 [1] Instrumented.cshtml) - CSharp - j
+ HtmlContent - (453:26,33 [6] Instrumented.cshtml)
+ IntermediateToken - (453:26,33 [4] Instrumented.cshtml) - Html - </p>
+ IntermediateToken - (457:26,37 [2] Instrumented.cshtml) - Html - \n
+ CSharpCode - (459:27,0 [3] Instrumented.cshtml)
+ IntermediateToken - (459:27,0 [3] Instrumented.cshtml) - CSharp - }\n
+ HtmlContent - (462:28,0 [2] Instrumented.cshtml)
+ IntermediateToken - (462:28,0 [2] Instrumented.cshtml) - Html - \n
+ CSharpCode - (465:29,1 [7] Instrumented.cshtml)
+ IntermediateToken - (465:29,1 [7] Instrumented.cshtml) - CSharp - try {\n
+ HtmlContent - (472:30,0 [41] Instrumented.cshtml)
+ IntermediateToken - (472:30,0 [4] Instrumented.cshtml) - Html -
+ IntermediateToken - (476:30,4 [3] Instrumented.cshtml) - Html - <p>
+ IntermediateToken - (479:30,7 [28] Instrumented.cshtml) - Html - That time, we wrote 5 lines!
+ IntermediateToken - (507:30,35 [4] Instrumented.cshtml) - Html - </p>
+ IntermediateToken - (511:30,39 [2] Instrumented.cshtml) - Html - \n
+ CSharpCode - (513:31,0 [25] Instrumented.cshtml)
+ IntermediateToken - (513:31,0 [25] Instrumented.cshtml) - CSharp - } catch(Exception ex) {\n
+ HtmlContent - (538:32,0 [33] Instrumented.cshtml)
+ IntermediateToken - (538:32,0 [4] Instrumented.cshtml) - Html -
+ IntermediateToken - (542:32,4 [3] Instrumented.cshtml) - Html - <p>
+ IntermediateToken - (545:32,7 [26] Instrumented.cshtml) - Html - Oh no! An error occurred:
+ CSharpExpression - (573:32,35 [10] Instrumented.cshtml)
+ IntermediateToken - (573:32,35 [10] Instrumented.cshtml) - CSharp - ex.Message
+ HtmlContent - (584:32,46 [6] Instrumented.cshtml)
+ IntermediateToken - (584:32,46 [4] Instrumented.cshtml) - Html - </p>
+ IntermediateToken - (588:32,50 [2] Instrumented.cshtml) - Html - \n
+ CSharpCode - (590:33,0 [3] Instrumented.cshtml)
+ IntermediateToken - (590:33,0 [3] Instrumented.cshtml) - CSharp - }\n
+ HtmlContent - (593:34,0 [2] Instrumented.cshtml)
+ IntermediateToken - (593:34,0 [2] Instrumented.cshtml) - Html - \n
+ CSharpCode - (596:35,1 [22] Instrumented.cshtml)
+ IntermediateToken - (596:35,1 [22] Instrumented.cshtml) - CSharp - lock(new object()) {\n
+ HtmlContent - (618:36,0 [53] Instrumented.cshtml)
+ IntermediateToken - (618:36,0 [4] Instrumented.cshtml) - Html -
+ IntermediateToken - (622:36,4 [3] Instrumented.cshtml) - Html - <p>
+ IntermediateToken - (625:36,7 [40] Instrumented.cshtml) - Html - This block is locked, for your security!
+ IntermediateToken - (665:36,47 [4] Instrumented.cshtml) - Html - </p>
+ IntermediateToken - (669:36,51 [2] Instrumented.cshtml) - Html - \n
+ CSharpCode - (671:37,0 [1] Instrumented.cshtml)
+ IntermediateToken - (671:37,0 [1] Instrumented.cshtml) - CSharp - }
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock.cshtml
new file mode 100644
index 0000000000..712ef42848
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock.cshtml
@@ -0,0 +1,5 @@
+@{
+ for(int i = 1; i <= 10; i++) {
+ <p>Hello from C#, #@(i.ToString())</p>
+ }
+}
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock_DesignTime.codegen.cs
new file mode 100644
index 0000000000..e4c9a94c7d
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock_DesignTime.codegen.cs
@@ -0,0 +1,40 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_MarkupInCodeBlock_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock.cshtml"
+
+ for(int i = 1; i <= 10; i++) {
+
+
+#line default
+#line hidden
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock.cshtml"
+ __o = i.ToString();
+
+#line default
+#line hidden
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock.cshtml"
+
+ }
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock_DesignTime.ir.txt
new file mode 100644
index 0000000000..c3afcf0f54
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock_DesignTime.ir.txt
@@ -0,0 +1,22 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_MarkupInCodeBlock_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (2:0,2 [46] MarkupInCodeBlock.cshtml)
+ IntermediateToken - (2:0,2 [46] MarkupInCodeBlock.cshtml) - CSharp - \n for(int i = 1; i <= 10; i++) {\n
+ HtmlContent - (48:2,8 [19] MarkupInCodeBlock.cshtml)
+ IntermediateToken - (48:2,8 [3] MarkupInCodeBlock.cshtml) - Html - <p>
+ IntermediateToken - (51:2,11 [16] MarkupInCodeBlock.cshtml) - Html - Hello from C#, #
+ CSharpExpression - (69:2,29 [12] MarkupInCodeBlock.cshtml)
+ IntermediateToken - (69:2,29 [12] MarkupInCodeBlock.cshtml) - CSharp - i.ToString()
+ HtmlContent - (82:2,42 [4] MarkupInCodeBlock.cshtml)
+ IntermediateToken - (82:2,42 [4] MarkupInCodeBlock.cshtml) - Html - </p>
+ CSharpCode - (86:2,46 [9] MarkupInCodeBlock.cshtml)
+ IntermediateToken - (86:2,46 [9] MarkupInCodeBlock.cshtml) - CSharp - \n }\n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock_DesignTime.mappings.txt
new file mode 100644
index 0000000000..2abd44edf5
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock_DesignTime.mappings.txt
@@ -0,0 +1,23 @@
+Source Location: (2:0,2 [46] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock.cshtml)
+|
+ for(int i = 1; i <= 10; i++) {
+ |
+Generated Location: (735:18,2 [46] )
+|
+ for(int i = 1; i <= 10; i++) {
+ |
+
+Source Location: (69:2,29 [12] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock.cshtml)
+|i.ToString()|
+Generated Location: (936:25,29 [12] )
+|i.ToString()|
+
+Source Location: (86:2,46 [9] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock.cshtml)
+|
+ }
+|
+Generated Location: (1121:30,46 [9] )
+|
+ }
+|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock_Runtime.codegen.cs
new file mode 100644
index 0000000000..7a2b0aaf53
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock_Runtime.codegen.cs
@@ -0,0 +1,36 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "539d5763b7091d29df375085f623b9086e7f8ad6"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_MarkupInCodeBlock_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"539d5763b7091d29df375085f623b9086e7f8ad6", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_MarkupInCodeBlock_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock.cshtml"
+
+ for(int i = 1; i <= 10; i++) {
+
+#line default
+#line hidden
+ WriteLiteral(" <p>Hello from C#, #");
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock.cshtml"
+ Write(i.ToString());
+
+#line default
+#line hidden
+ WriteLiteral("</p>\r\n");
+#line 4 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock.cshtml"
+ }
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock_Runtime.ir.txt
new file mode 100644
index 0000000000..a543cca51d
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MarkupInCodeBlock_Runtime.ir.txt
@@ -0,0 +1,19 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_MarkupInCodeBlock_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (2:0,2 [38] MarkupInCodeBlock.cshtml)
+ IntermediateToken - (2:0,2 [38] MarkupInCodeBlock.cshtml) - CSharp - \n for(int i = 1; i <= 10; i++) {\n
+ HtmlContent - (40:2,0 [27] MarkupInCodeBlock.cshtml)
+ IntermediateToken - (40:2,0 [8] MarkupInCodeBlock.cshtml) - Html -
+ IntermediateToken - (48:2,8 [3] MarkupInCodeBlock.cshtml) - Html - <p>
+ IntermediateToken - (51:2,11 [16] MarkupInCodeBlock.cshtml) - Html - Hello from C#, #
+ CSharpExpression - (69:2,29 [12] MarkupInCodeBlock.cshtml)
+ IntermediateToken - (69:2,29 [12] MarkupInCodeBlock.cshtml) - CSharp - i.ToString()
+ HtmlContent - (82:2,42 [6] MarkupInCodeBlock.cshtml)
+ IntermediateToken - (82:2,42 [4] MarkupInCodeBlock.cshtml) - Html - </p>
+ IntermediateToken - (86:2,46 [2] MarkupInCodeBlock.cshtml) - Html - \n
+ CSharpCode - (88:3,0 [7] MarkupInCodeBlock.cshtml)
+ IntermediateToken - (88:3,0 [7] MarkupInCodeBlock.cshtml) - CSharp - }\n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MinimizedTagHelpers.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MinimizedTagHelpers.cshtml
new file mode 100644
index 0000000000..c001d4945d
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MinimizedTagHelpers.cshtml
@@ -0,0 +1,20 @@
+@addTagHelper "*, TestAssembly"
+
+<p catchall-unbound-required>
+ <input nottaghelper />
+ <input class="btn"
+ catchall-unbound-required />
+ <input
+ class="btn" catchall-unbound-required input-unbound-required input-bound-required-string="hello" />
+ <input
+ class="btn"
+ catchall-unbound-required
+ input-unbound-required catchall-bound-string="world" input-bound-required-string="hello2" />
+ <input class="btn"
+ catchall-unbound-required="hello"
+ input-unbound-required="hello2"
+ catchall-unbound-required
+ input-bound-required-string="world" />
+ <div boundbool booldict-prefix-key></div>
+ <div>Tag helper with unmatched bound boolean attributes.</div>
+</p> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MinimizedTagHelpers_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MinimizedTagHelpers_DesignTime.codegen.cs
new file mode 100644
index 0000000000..5f2fdedba9
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MinimizedTagHelpers_DesignTime.codegen.cs
@@ -0,0 +1,45 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_MinimizedTagHelpers_DesignTime
+ {
+ private global::TestNamespace.CatchAllTagHelper __TestNamespace_CatchAllTagHelper;
+ private global::TestNamespace.InputTagHelper __TestNamespace_InputTagHelper;
+ private global::DivTagHelper __DivTagHelper;
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "*, TestAssembly";
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __TestNamespace_InputTagHelper.BoundRequiredString = "hello";
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __TestNamespace_CatchAllTagHelper.BoundRequiredString = "world";
+ __TestNamespace_InputTagHelper.BoundRequiredString = "hello2";
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __TestNamespace_InputTagHelper.BoundRequiredString = "world";
+ __DivTagHelper = CreateTagHelper<global::DivTagHelper>();
+ __DivTagHelper.BoundBoolProp = true;
+ __DivTagHelper.BoolDictProp["key"] = true;
+ __DivTagHelper = CreateTagHelper<global::DivTagHelper>();
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MinimizedTagHelpers_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MinimizedTagHelpers_DesignTime.ir.txt
new file mode 100644
index 0000000000..a16799bfa8
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MinimizedTagHelpers_DesignTime.ir.txt
@@ -0,0 +1,108 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_MinimizedTagHelpers_DesignTime - -
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.CatchAllTagHelper - __TestNamespace_CatchAllTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper - __TestNamespace_InputTagHelper
+ FieldDeclaration - - private - global::DivTagHelper - __DivTagHelper
+ DesignTimeDirective -
+ DirectiveToken - (14:0,14 [17] MinimizedTagHelpers.cshtml) - "*, TestAssembly"
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (31:0,31 [4] MinimizedTagHelpers.cshtml)
+ IntermediateToken - (31:0,31 [4] MinimizedTagHelpers.cshtml) - Html - \n\n
+ TagHelper - (35:2,0 [762] MinimizedTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (64:2,29 [34] MinimizedTagHelpers.cshtml)
+ IntermediateToken - (64:2,29 [6] MinimizedTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (70:3,4 [6] MinimizedTagHelpers.cshtml) - Html - <input
+ IntermediateToken - (76:3,10 [13] MinimizedTagHelpers.cshtml) - Html - nottaghelper
+ IntermediateToken - (89:3,23 [3] MinimizedTagHelpers.cshtml) - Html - />
+ IntermediateToken - (92:3,26 [6] MinimizedTagHelpers.cshtml) - Html - \n
+ TagHelper - (98:4,4 [59] MinimizedTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperHtmlAttribute - - class - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (112:4,18 [3] MinimizedTagHelpers.cshtml)
+ IntermediateToken - (112:4,18 [3] MinimizedTagHelpers.cshtml) - Html - btn
+ DefaultTagHelperHtmlAttribute - - catchall-unbound-required - HtmlAttributeValueStyle.Minimized
+ DefaultTagHelperExecute -
+ HtmlContent - (157:5,39 [6] MinimizedTagHelpers.cshtml)
+ IntermediateToken - (157:5,39 [6] MinimizedTagHelpers.cshtml) - Html - \n
+ TagHelper - (163:6,4 [119] MinimizedTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperHtmlAttribute - - class - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (190:7,18 [3] MinimizedTagHelpers.cshtml)
+ IntermediateToken - (190:7,18 [3] MinimizedTagHelpers.cshtml) - Html - btn
+ DefaultTagHelperHtmlAttribute - - catchall-unbound-required - HtmlAttributeValueStyle.Minimized
+ DefaultTagHelperHtmlAttribute - - input-unbound-required - HtmlAttributeValueStyle.Minimized
+ DefaultTagHelperProperty - (273:7,101 [5] MinimizedTagHelpers.cshtml) - input-bound-required-string - string TestNamespace.InputTagHelper.BoundRequiredString - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (273:7,101 [5] MinimizedTagHelpers.cshtml)
+ IntermediateToken - (273:7,101 [5] MinimizedTagHelpers.cshtml) - Html - hello
+ DefaultTagHelperExecute -
+ HtmlContent - (282:7,110 [6] MinimizedTagHelpers.cshtml)
+ IntermediateToken - (282:7,110 [6] MinimizedTagHelpers.cshtml) - Html - \n
+ TagHelper - (288:8,4 [176] MinimizedTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperHtmlAttribute - - class - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (315:9,18 [3] MinimizedTagHelpers.cshtml)
+ IntermediateToken - (315:9,18 [3] MinimizedTagHelpers.cshtml) - Html - btn
+ DefaultTagHelperHtmlAttribute - - catchall-unbound-required - HtmlAttributeValueStyle.Minimized
+ DefaultTagHelperHtmlAttribute - - input-unbound-required - HtmlAttributeValueStyle.Minimized
+ DefaultTagHelperProperty - (418:11,57 [5] MinimizedTagHelpers.cshtml) - catchall-bound-string - string TestNamespace.CatchAllTagHelper.BoundRequiredString - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (418:11,57 [5] MinimizedTagHelpers.cshtml)
+ IntermediateToken - (418:11,57 [5] MinimizedTagHelpers.cshtml) - Html - world
+ DefaultTagHelperProperty - (454:11,93 [6] MinimizedTagHelpers.cshtml) - input-bound-required-string - string TestNamespace.InputTagHelper.BoundRequiredString - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (454:11,93 [6] MinimizedTagHelpers.cshtml)
+ IntermediateToken - (454:11,93 [6] MinimizedTagHelpers.cshtml) - Html - hello2
+ DefaultTagHelperExecute -
+ HtmlContent - (464:11,103 [6] MinimizedTagHelpers.cshtml)
+ IntermediateToken - (464:11,103 [6] MinimizedTagHelpers.cshtml) - Html - \n
+ TagHelper - (470:12,4 [206] MinimizedTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperHtmlAttribute - - class - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (484:12,18 [3] MinimizedTagHelpers.cshtml)
+ IntermediateToken - (484:12,18 [3] MinimizedTagHelpers.cshtml) - Html - btn
+ DefaultTagHelperHtmlAttribute - - catchall-unbound-required - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (529:13,38 [5] MinimizedTagHelpers.cshtml)
+ IntermediateToken - (529:13,38 [5] MinimizedTagHelpers.cshtml) - Html - hello
+ DefaultTagHelperHtmlAttribute - - input-unbound-required - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (578:14,40 [6] MinimizedTagHelpers.cshtml)
+ IntermediateToken - (578:14,40 [6] MinimizedTagHelpers.cshtml) - Html - hello2
+ DefaultTagHelperHtmlAttribute - - catchall-unbound-required - HtmlAttributeValueStyle.Minimized
+ DefaultTagHelperProperty - (667:16,40 [5] MinimizedTagHelpers.cshtml) - input-bound-required-string - string TestNamespace.InputTagHelper.BoundRequiredString - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (667:16,40 [5] MinimizedTagHelpers.cshtml)
+ IntermediateToken - (667:16,40 [5] MinimizedTagHelpers.cshtml) - Html - world
+ DefaultTagHelperExecute -
+ HtmlContent - (676:16,49 [6] MinimizedTagHelpers.cshtml)
+ IntermediateToken - (676:16,49 [6] MinimizedTagHelpers.cshtml) - Html - \n
+ TagHelper - (682:17,4 [41] MinimizedTagHelpers.cshtml) - div - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - DivTagHelper
+ DefaultTagHelperProperty - - boundbool - bool DivTagHelper.BoundBoolProp - HtmlAttributeValueStyle.Minimized
+ DefaultTagHelperProperty - - booldict-prefix-key - System.Collections.Generic.IDictionary<string, bool> DivTagHelper.BoolDictProp - HtmlAttributeValueStyle.Minimized
+ DefaultTagHelperExecute -
+ HtmlContent - (723:17,45 [6] MinimizedTagHelpers.cshtml)
+ IntermediateToken - (723:17,45 [6] MinimizedTagHelpers.cshtml) - Html - \n
+ TagHelper - (729:18,4 [62] MinimizedTagHelpers.cshtml) - div - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (734:18,9 [51] MinimizedTagHelpers.cshtml)
+ IntermediateToken - (734:18,9 [51] MinimizedTagHelpers.cshtml) - Html - Tag helper with unmatched bound boolean attributes.
+ DefaultTagHelperCreate - - DivTagHelper
+ DefaultTagHelperExecute -
+ HtmlContent - (791:18,66 [2] MinimizedTagHelpers.cshtml)
+ IntermediateToken - (791:18,66 [2] MinimizedTagHelpers.cshtml) - Html - \n
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperHtmlAttribute - - catchall-unbound-required - HtmlAttributeValueStyle.Minimized
+ DefaultTagHelperExecute -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MinimizedTagHelpers_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MinimizedTagHelpers_DesignTime.mappings.txt
new file mode 100644
index 0000000000..cb760ffd40
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MinimizedTagHelpers_DesignTime.mappings.txt
@@ -0,0 +1,5 @@
+Source Location: (14:0,14 [17] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MinimizedTagHelpers.cshtml)
+|"*, TestAssembly"|
+Generated Location: (657:13,37 [17] )
+|"*, TestAssembly"|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MinimizedTagHelpers_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MinimizedTagHelpers_Runtime.codegen.cs
new file mode 100644
index 0000000000..df5a1eb99e
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MinimizedTagHelpers_Runtime.codegen.cs
@@ -0,0 +1,188 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MinimizedTagHelpers.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "29c9ea0bc587afb2f919c7ed7192d6687b534753"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_MinimizedTagHelpers_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MinimizedTagHelpers.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"29c9ea0bc587afb2f919c7ed7192d6687b534753", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MinimizedTagHelpers.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_MinimizedTagHelpers_Runtime
+ {
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("class", new global::Microsoft.AspNetCore.Html.HtmlString("btn"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_1 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("input-bound-required-string", "hello", global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_2 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("catchall-bound-string", "world", global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_3 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("input-bound-required-string", "hello2", global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_4 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("catchall-unbound-required", new global::Microsoft.AspNetCore.Html.HtmlString("hello"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_5 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("input-unbound-required", new global::Microsoft.AspNetCore.Html.HtmlString("hello2"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_6 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("input-bound-required-string", "world", global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ #line hidden
+ #pragma warning disable 0169
+ private string __tagHelperStringValueBuffer;
+ #pragma warning restore 0169
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext __tagHelperExecutionContext;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner();
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __backed__tagHelperScopeManager = null;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __tagHelperScopeManager
+ {
+ get
+ {
+ if (__backed__tagHelperScopeManager == null)
+ {
+ __backed__tagHelperScopeManager = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager(StartTagHelperWritingScope, EndTagHelperWritingScope);
+ }
+ return __backed__tagHelperScopeManager;
+ }
+ }
+ private global::TestNamespace.CatchAllTagHelper __TestNamespace_CatchAllTagHelper;
+ private global::TestNamespace.InputTagHelper __TestNamespace_InputTagHelper;
+ private global::DivTagHelper __DivTagHelper;
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("p", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("\r\n <input nottaghelper />\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_CatchAllTagHelper);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_0);
+ BeginWriteTagHelperAttribute();
+ __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
+ __tagHelperExecutionContext.AddHtmlAttribute("catchall-unbound-required", Html.Raw(__tagHelperStringValueBuffer), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.Minimized);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_CatchAllTagHelper);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_0);
+ BeginWriteTagHelperAttribute();
+ __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
+ __tagHelperExecutionContext.AddHtmlAttribute("catchall-unbound-required", Html.Raw(__tagHelperStringValueBuffer), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.Minimized);
+ BeginWriteTagHelperAttribute();
+ __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
+ __tagHelperExecutionContext.AddHtmlAttribute("input-unbound-required", Html.Raw(__tagHelperStringValueBuffer), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.Minimized);
+ __TestNamespace_InputTagHelper.BoundRequiredString = (string)__tagHelperAttribute_1.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_1);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_CatchAllTagHelper);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_0);
+ BeginWriteTagHelperAttribute();
+ __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
+ __tagHelperExecutionContext.AddHtmlAttribute("catchall-unbound-required", Html.Raw(__tagHelperStringValueBuffer), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.Minimized);
+ BeginWriteTagHelperAttribute();
+ __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
+ __tagHelperExecutionContext.AddHtmlAttribute("input-unbound-required", Html.Raw(__tagHelperStringValueBuffer), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.Minimized);
+ __TestNamespace_CatchAllTagHelper.BoundRequiredString = (string)__tagHelperAttribute_2.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_2);
+ __TestNamespace_InputTagHelper.BoundRequiredString = (string)__tagHelperAttribute_3.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_3);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_CatchAllTagHelper);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_0);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_4);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_5);
+ BeginWriteTagHelperAttribute();
+ __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
+ __tagHelperExecutionContext.AddHtmlAttribute("catchall-unbound-required", Html.Raw(__tagHelperStringValueBuffer), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.Minimized);
+ __TestNamespace_InputTagHelper.BoundRequiredString = (string)__tagHelperAttribute_6.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_6);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("div", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ }
+ );
+ __DivTagHelper = CreateTagHelper<global::DivTagHelper>();
+ __tagHelperExecutionContext.Add(__DivTagHelper);
+ __DivTagHelper.BoundBoolProp = true;
+ __tagHelperExecutionContext.AddTagHelperAttribute("boundbool", __DivTagHelper.BoundBoolProp, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.Minimized);
+ if (__DivTagHelper.BoolDictProp == null)
+ {
+ throw new InvalidOperationException(InvalidTagHelperIndexerAssignment("booldict-prefix-key", "DivTagHelper", "BoolDictProp"));
+ }
+ __DivTagHelper.BoolDictProp["key"] = true;
+ __tagHelperExecutionContext.AddTagHelperAttribute("booldict-prefix-key", __DivTagHelper.BoolDictProp["key"], global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.Minimized);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("div", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("Tag helper with unmatched bound boolean attributes.");
+ }
+ );
+ __DivTagHelper = CreateTagHelper<global::DivTagHelper>();
+ __tagHelperExecutionContext.Add(__DivTagHelper);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n");
+ }
+ );
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_CatchAllTagHelper);
+ BeginWriteTagHelperAttribute();
+ __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
+ __tagHelperExecutionContext.AddHtmlAttribute("catchall-unbound-required", Html.Raw(__tagHelperStringValueBuffer), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.Minimized);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MinimizedTagHelpers_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MinimizedTagHelpers_Runtime.ir.txt
new file mode 100644
index 0000000000..20205a9756
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/MinimizedTagHelpers_Runtime.ir.txt
@@ -0,0 +1,89 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_MinimizedTagHelpers_Runtime - -
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_0 - class - btn - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_1 - input-bound-required-string - hello - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_2 - catchall-bound-string - world - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_3 - input-bound-required-string - hello2 - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_4 - catchall-unbound-required - hello - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_5 - input-unbound-required - hello2 - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_6 - input-bound-required-string - world - HtmlAttributeValueStyle.DoubleQuotes
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.CatchAllTagHelper - __TestNamespace_CatchAllTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper - __TestNamespace_InputTagHelper
+ FieldDeclaration - - private - global::DivTagHelper - __DivTagHelper
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (33:1,0 [2] MinimizedTagHelpers.cshtml)
+ IntermediateToken - (33:1,0 [2] MinimizedTagHelpers.cshtml) - Html - \n
+ TagHelper - (35:2,0 [762] MinimizedTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (64:2,29 [34] MinimizedTagHelpers.cshtml)
+ IntermediateToken - (64:2,29 [6] MinimizedTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (70:3,4 [6] MinimizedTagHelpers.cshtml) - Html - <input
+ IntermediateToken - (76:3,10 [13] MinimizedTagHelpers.cshtml) - Html - nottaghelper
+ IntermediateToken - (89:3,23 [3] MinimizedTagHelpers.cshtml) - Html - />
+ IntermediateToken - (92:3,26 [6] MinimizedTagHelpers.cshtml) - Html - \n
+ TagHelper - (98:4,4 [59] MinimizedTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_0
+ DefaultTagHelperHtmlAttribute - - catchall-unbound-required - HtmlAttributeValueStyle.Minimized
+ DefaultTagHelperExecute -
+ HtmlContent - (157:5,39 [6] MinimizedTagHelpers.cshtml)
+ IntermediateToken - (157:5,39 [6] MinimizedTagHelpers.cshtml) - Html - \n
+ TagHelper - (163:6,4 [119] MinimizedTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_0
+ DefaultTagHelperHtmlAttribute - - catchall-unbound-required - HtmlAttributeValueStyle.Minimized
+ DefaultTagHelperHtmlAttribute - - input-unbound-required - HtmlAttributeValueStyle.Minimized
+ PreallocatedTagHelperProperty - (273:7,101 [5] MinimizedTagHelpers.cshtml) - __tagHelperAttribute_1 - input-bound-required-string - BoundRequiredString
+ DefaultTagHelperExecute -
+ HtmlContent - (282:7,110 [6] MinimizedTagHelpers.cshtml)
+ IntermediateToken - (282:7,110 [6] MinimizedTagHelpers.cshtml) - Html - \n
+ TagHelper - (288:8,4 [176] MinimizedTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_0
+ DefaultTagHelperHtmlAttribute - - catchall-unbound-required - HtmlAttributeValueStyle.Minimized
+ DefaultTagHelperHtmlAttribute - - input-unbound-required - HtmlAttributeValueStyle.Minimized
+ PreallocatedTagHelperProperty - (418:11,57 [5] MinimizedTagHelpers.cshtml) - __tagHelperAttribute_2 - catchall-bound-string - BoundRequiredString
+ PreallocatedTagHelperProperty - (454:11,93 [6] MinimizedTagHelpers.cshtml) - __tagHelperAttribute_3 - input-bound-required-string - BoundRequiredString
+ DefaultTagHelperExecute -
+ HtmlContent - (464:11,103 [6] MinimizedTagHelpers.cshtml)
+ IntermediateToken - (464:11,103 [6] MinimizedTagHelpers.cshtml) - Html - \n
+ TagHelper - (470:12,4 [206] MinimizedTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_0
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_4
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_5
+ DefaultTagHelperHtmlAttribute - - catchall-unbound-required - HtmlAttributeValueStyle.Minimized
+ PreallocatedTagHelperProperty - (667:16,40 [5] MinimizedTagHelpers.cshtml) - __tagHelperAttribute_6 - input-bound-required-string - BoundRequiredString
+ DefaultTagHelperExecute -
+ HtmlContent - (676:16,49 [6] MinimizedTagHelpers.cshtml)
+ IntermediateToken - (676:16,49 [6] MinimizedTagHelpers.cshtml) - Html - \n
+ TagHelper - (682:17,4 [41] MinimizedTagHelpers.cshtml) - div - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - DivTagHelper
+ DefaultTagHelperProperty - - boundbool - bool DivTagHelper.BoundBoolProp - HtmlAttributeValueStyle.Minimized
+ DefaultTagHelperProperty - - booldict-prefix-key - System.Collections.Generic.IDictionary<string, bool> DivTagHelper.BoolDictProp - HtmlAttributeValueStyle.Minimized
+ DefaultTagHelperExecute -
+ HtmlContent - (723:17,45 [6] MinimizedTagHelpers.cshtml)
+ IntermediateToken - (723:17,45 [6] MinimizedTagHelpers.cshtml) - Html - \n
+ TagHelper - (729:18,4 [62] MinimizedTagHelpers.cshtml) - div - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (734:18,9 [51] MinimizedTagHelpers.cshtml)
+ IntermediateToken - (734:18,9 [51] MinimizedTagHelpers.cshtml) - Html - Tag helper with unmatched bound boolean attributes.
+ DefaultTagHelperCreate - - DivTagHelper
+ DefaultTagHelperExecute -
+ HtmlContent - (791:18,66 [2] MinimizedTagHelpers.cshtml)
+ IntermediateToken - (791:18,66 [2] MinimizedTagHelpers.cshtml) - Html - \n
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperHtmlAttribute - - catchall-unbound-required - HtmlAttributeValueStyle.Minimized
+ DefaultTagHelperExecute -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp.cshtml
new file mode 100644
index 0000000000..8387e8a28a
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp.cshtml
@@ -0,0 +1,8 @@
+@{
+ @foreach (var result in (dynamic)Url)
+ {
+ <div>
+ @result.SomeValue.
+ </div>
+ }
+} \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp_DesignTime.codegen.cs
new file mode 100644
index 0000000000..ad9d4de7e5
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp_DesignTime.codegen.cs
@@ -0,0 +1,44 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_NestedCSharp_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+
+
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp.cshtml"
+ foreach (var result in (dynamic)Url)
+ {
+
+
+#line default
+#line hidden
+#line 5 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp.cshtml"
+ __o = result.SomeValue;
+
+#line default
+#line hidden
+#line 6 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp.cshtml"
+
+ }
+
+#line default
+#line hidden
+
+
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp_DesignTime.ir.txt
new file mode 100644
index 0000000000..8e7afb46c6
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp_DesignTime.ir.txt
@@ -0,0 +1,27 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_NestedCSharp_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (2:0,2 [6] NestedCSharp.cshtml)
+ IntermediateToken - (2:0,2 [6] NestedCSharp.cshtml) - CSharp - \n
+ CSharpCode - (9:1,5 [53] NestedCSharp.cshtml)
+ IntermediateToken - (9:1,5 [53] NestedCSharp.cshtml) - CSharp - foreach (var result in (dynamic)Url)\n {\n
+ HtmlContent - (62:3,8 [19] NestedCSharp.cshtml)
+ IntermediateToken - (62:3,8 [5] NestedCSharp.cshtml) - Html - <div>
+ IntermediateToken - (67:3,13 [14] NestedCSharp.cshtml) - Html - \n
+ CSharpExpression - (82:4,13 [16] NestedCSharp.cshtml)
+ IntermediateToken - (82:4,13 [16] NestedCSharp.cshtml) - CSharp - result.SomeValue
+ HtmlContent - (98:4,29 [17] NestedCSharp.cshtml)
+ IntermediateToken - (98:4,29 [11] NestedCSharp.cshtml) - Html - .\n
+ IntermediateToken - (109:5,8 [6] NestedCSharp.cshtml) - Html - </div>
+ CSharpCode - (115:5,14 [7] NestedCSharp.cshtml)
+ IntermediateToken - (115:5,14 [7] NestedCSharp.cshtml) - CSharp - \n }
+ CSharpCode - (122:6,5 [2] NestedCSharp.cshtml)
+ IntermediateToken - (122:6,5 [2] NestedCSharp.cshtml) - CSharp - \n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp_DesignTime.mappings.txt
new file mode 100644
index 0000000000..a3a8e67f53
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp_DesignTime.mappings.txt
@@ -0,0 +1,35 @@
+Source Location: (2:0,2 [6] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp.cshtml)
+|
+ |
+Generated Location: (649:17,14 [6] )
+|
+ |
+
+Source Location: (9:1,5 [53] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp.cshtml)
+|foreach (var result in (dynamic)Url)
+ {
+ |
+Generated Location: (750:20,5 [53] )
+|foreach (var result in (dynamic)Url)
+ {
+ |
+
+Source Location: (82:4,13 [16] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp.cshtml)
+|result.SomeValue|
+Generated Location: (937:27,13 [16] )
+|result.SomeValue|
+
+Source Location: (115:5,14 [7] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp.cshtml)
+|
+ }|
+Generated Location: (1089:32,14 [7] )
+|
+ }|
+
+Source Location: (122:6,5 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp.cshtml)
+|
+|
+Generated Location: (1146:37,17 [2] )
+|
+|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp_Runtime.codegen.cs
new file mode 100644
index 0000000000..1e7b008c95
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp_Runtime.codegen.cs
@@ -0,0 +1,36 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "6be69a1b80bfb35325fef427f0709232182e96a8"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_NestedCSharp_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"6be69a1b80bfb35325fef427f0709232182e96a8", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_NestedCSharp_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp.cshtml"
+ foreach (var result in (dynamic)Url)
+ {
+
+#line default
+#line hidden
+ WriteLiteral(" <div>\r\n ");
+#line 5 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp.cshtml"
+ Write(result.SomeValue);
+
+#line default
+#line hidden
+ WriteLiteral(".\r\n </div>\r\n");
+#line 7 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp.cshtml"
+ }
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp_Runtime.ir.txt
new file mode 100644
index 0000000000..1c240ea1bd
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCSharp_Runtime.ir.txt
@@ -0,0 +1,25 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_NestedCSharp_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (2:0,2 [6] NestedCSharp.cshtml)
+ IntermediateToken - (2:0,2 [6] NestedCSharp.cshtml) - CSharp - \n
+ CSharpCode - (9:1,5 [45] NestedCSharp.cshtml)
+ IntermediateToken - (9:1,5 [45] NestedCSharp.cshtml) - CSharp - foreach (var result in (dynamic)Url)\n {\n
+ HtmlContent - (54:3,0 [27] NestedCSharp.cshtml)
+ IntermediateToken - (54:3,0 [8] NestedCSharp.cshtml) - Html -
+ IntermediateToken - (62:3,8 [5] NestedCSharp.cshtml) - Html - <div>
+ IntermediateToken - (67:3,13 [2] NestedCSharp.cshtml) - Html - \n
+ IntermediateToken - (69:4,0 [12] NestedCSharp.cshtml) - Html -
+ CSharpExpression - (82:4,13 [16] NestedCSharp.cshtml)
+ IntermediateToken - (82:4,13 [16] NestedCSharp.cshtml) - CSharp - result.SomeValue
+ HtmlContent - (98:4,29 [19] NestedCSharp.cshtml)
+ IntermediateToken - (98:4,29 [11] NestedCSharp.cshtml) - Html - .\n
+ IntermediateToken - (109:5,8 [6] NestedCSharp.cshtml) - Html - </div>
+ IntermediateToken - (115:5,14 [2] NestedCSharp.cshtml) - Html - \n
+ CSharpCode - (117:6,0 [5] NestedCSharp.cshtml)
+ IntermediateToken - (117:6,0 [5] NestedCSharp.cshtml) - CSharp - }
+ CSharpCode - (122:6,5 [2] NestedCSharp.cshtml)
+ IntermediateToken - (122:6,5 [2] NestedCSharp.cshtml) - CSharp - \n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks.cshtml
new file mode 100644
index 0000000000..070875f5fa
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks.cshtml
@@ -0,0 +1,4 @@
+@if(foo) {
+ @if(bar) {
+ }
+} \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks_DesignTime.codegen.cs
new file mode 100644
index 0000000000..b3eafcdc00
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks_DesignTime.codegen.cs
@@ -0,0 +1,40 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_NestedCodeBlocks_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks.cshtml"
+ if(foo) {
+
+
+#line default
+#line hidden
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks.cshtml"
+ if(bar) {
+ }
+
+#line default
+#line hidden
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks.cshtml"
+
+}
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks_DesignTime.ir.txt
new file mode 100644
index 0000000000..7522731b78
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks_DesignTime.ir.txt
@@ -0,0 +1,17 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_NestedCodeBlocks_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (1:0,1 [15] NestedCodeBlocks.cshtml)
+ IntermediateToken - (1:0,1 [15] NestedCodeBlocks.cshtml) - CSharp - if(foo) {\n
+ CSharpCode - (17:1,5 [16] NestedCodeBlocks.cshtml)
+ IntermediateToken - (17:1,5 [16] NestedCodeBlocks.cshtml) - CSharp - if(bar) {\n }
+ CSharpCode - (33:2,5 [3] NestedCodeBlocks.cshtml)
+ IntermediateToken - (33:2,5 [3] NestedCodeBlocks.cshtml) - CSharp - \n}
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks_DesignTime.mappings.txt
new file mode 100644
index 0000000000..36e85f3de3
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks_DesignTime.mappings.txt
@@ -0,0 +1,21 @@
+Source Location: (1:0,1 [15] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks.cshtml)
+|if(foo) {
+ |
+Generated Location: (732:18,1 [15] )
+|if(foo) {
+ |
+
+Source Location: (17:1,5 [16] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks.cshtml)
+|if(bar) {
+ }|
+Generated Location: (877:24,5 [16] )
+|if(bar) {
+ }|
+
+Source Location: (33:2,5 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks.cshtml)
+|
+}|
+Generated Location: (1023:30,5 [3] )
+|
+}|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks_Runtime.codegen.cs
new file mode 100644
index 0000000000..7ee3dbc7cf
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks_Runtime.codegen.cs
@@ -0,0 +1,36 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "d83923f86f1c84f081916ef7308513ab80a65675"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_NestedCodeBlocks_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"d83923f86f1c84f081916ef7308513ab80a65675", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_NestedCodeBlocks_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks.cshtml"
+ if(foo) {
+
+
+#line default
+#line hidden
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks.cshtml"
+ if(bar) {
+ }
+
+#line default
+#line hidden
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks.cshtml"
+
+}
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks_Runtime.ir.txt
new file mode 100644
index 0000000000..2c0030ec65
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedCodeBlocks_Runtime.ir.txt
@@ -0,0 +1,12 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_NestedCodeBlocks_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (1:0,1 [15] NestedCodeBlocks.cshtml)
+ IntermediateToken - (1:0,1 [15] NestedCodeBlocks.cshtml) - CSharp - if(foo) {\n
+ CSharpCode - (17:1,5 [16] NestedCodeBlocks.cshtml)
+ IntermediateToken - (17:1,5 [16] NestedCodeBlocks.cshtml) - CSharp - if(bar) {\n }
+ CSharpCode - (33:2,5 [3] NestedCodeBlocks.cshtml)
+ IntermediateToken - (33:2,5 [3] NestedCodeBlocks.cshtml) - CSharp - \n}
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers.cshtml
new file mode 100644
index 0000000000..b5fac5a502
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers.cshtml
@@ -0,0 +1,16 @@
+@addTagHelper "*, TestAssembly"
+
+<script type="text/html">
+ <div data-animation="fade" class="randomNonTagHelperAttribute">
+ <p class="Hello World" data-delay="1000">
+ @for(var i = 0; i < 5; i++) {
+ <script id="nestedScriptTag" type="text/html">
+ <input data-interval="2000 + @ViewBag.DefaultInterval + 1" type="text" checked="true">
+ </script>
+ }
+ <script type="text/javascript">
+ var tag = '<input checked="true">';
+ </script>
+ </p>
+ </div>
+</script> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers_DesignTime.codegen.cs
new file mode 100644
index 0000000000..0da5daae01
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers_DesignTime.codegen.cs
@@ -0,0 +1,56 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_NestedScriptTagTagHelpers_DesignTime
+ {
+ private global::TestNamespace.PTagHelper __TestNamespace_PTagHelper;
+ private global::TestNamespace.InputTagHelper __TestNamespace_InputTagHelper;
+ private global::TestNamespace.InputTagHelper2 __TestNamespace_InputTagHelper2;
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "*, TestAssembly";
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 6 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers.cshtml"
+ for(var i = 0; i < 5; i++) {
+
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+#line 8 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers.cshtml"
+ __o = ViewBag.DefaultInterval;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper.Type = "text";
+ __TestNamespace_InputTagHelper2.Type = __TestNamespace_InputTagHelper.Type;
+#line 8 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers.cshtml"
+ __TestNamespace_InputTagHelper2.Checked = true;
+
+#line default
+#line hidden
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers.cshtml"
+
+ }
+
+#line default
+#line hidden
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers_DesignTime.ir.txt
new file mode 100644
index 0000000000..cf49fba267
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers_DesignTime.ir.txt
@@ -0,0 +1,87 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_NestedScriptTagTagHelpers_DesignTime - -
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.PTagHelper - __TestNamespace_PTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper - __TestNamespace_InputTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper2 - __TestNamespace_InputTagHelper2
+ DesignTimeDirective -
+ DirectiveToken - (14:0,14 [17] NestedScriptTagTagHelpers.cshtml) - "*, TestAssembly"
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (31:0,31 [108] NestedScriptTagTagHelpers.cshtml)
+ IntermediateToken - (31:0,31 [4] NestedScriptTagTagHelpers.cshtml) - Html - \n\n
+ IntermediateToken - (35:2,0 [7] NestedScriptTagTagHelpers.cshtml) - Html - <script
+ IntermediateToken - (42:2,7 [17] NestedScriptTagTagHelpers.cshtml) - Html - type="text/html"
+ IntermediateToken - (59:2,24 [1] NestedScriptTagTagHelpers.cshtml) - Html - >
+ IntermediateToken - (60:2,25 [6] NestedScriptTagTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (66:3,4 [4] NestedScriptTagTagHelpers.cshtml) - Html - <div
+ IntermediateToken - (70:3,8 [17] NestedScriptTagTagHelpers.cshtml) - Html - data-animation="
+ IntermediateToken - (87:3,25 [4] NestedScriptTagTagHelpers.cshtml) - Html - fade
+ IntermediateToken - (91:3,29 [1] NestedScriptTagTagHelpers.cshtml) - Html - "
+ IntermediateToken - (92:3,30 [36] NestedScriptTagTagHelpers.cshtml) - Html - class="randomNonTagHelperAttribute"
+ IntermediateToken - (128:3,66 [1] NestedScriptTagTagHelpers.cshtml) - Html - >
+ IntermediateToken - (129:3,67 [10] NestedScriptTagTagHelpers.cshtml) - Html - \n
+ TagHelper - (139:4,8 [433] NestedScriptTagTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (180:4,49 [14] NestedScriptTagTagHelpers.cshtml)
+ IntermediateToken - (180:4,49 [14] NestedScriptTagTagHelpers.cshtml) - Html - \n
+ CSharpCode - (195:5,13 [46] NestedScriptTagTagHelpers.cshtml)
+ IntermediateToken - (195:5,13 [46] NestedScriptTagTagHelpers.cshtml) - CSharp - for(var i = 0; i < 5; i++) {\n
+ HtmlContent - (241:6,16 [68] NestedScriptTagTagHelpers.cshtml)
+ IntermediateToken - (241:6,16 [7] NestedScriptTagTagHelpers.cshtml) - Html - <script
+ IntermediateToken - (248:6,23 [21] NestedScriptTagTagHelpers.cshtml) - Html - id="nestedScriptTag"
+ IntermediateToken - (269:6,44 [17] NestedScriptTagTagHelpers.cshtml) - Html - type="text/html"
+ IntermediateToken - (286:6,61 [1] NestedScriptTagTagHelpers.cshtml) - Html - >
+ IntermediateToken - (287:6,62 [22] NestedScriptTagTagHelpers.cshtml) - Html - \n
+ TagHelper - (309:7,20 [86] NestedScriptTagTagHelpers.cshtml) - input - TagMode.StartTagOnly
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperHtmlAttribute - - data-interval - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (331:7,42 [7] NestedScriptTagTagHelpers.cshtml)
+ IntermediateToken - (331:7,42 [7] NestedScriptTagTagHelpers.cshtml) - Html - 2000 +
+ CSharpExpression - (339:7,50 [23] NestedScriptTagTagHelpers.cshtml)
+ IntermediateToken - (339:7,50 [23] NestedScriptTagTagHelpers.cshtml) - CSharp - ViewBag.DefaultInterval
+ HtmlContent - (362:7,73 [4] NestedScriptTagTagHelpers.cshtml)
+ IntermediateToken - (362:7,73 [4] NestedScriptTagTagHelpers.cshtml) - Html - + 1
+ DefaultTagHelperProperty - (374:7,85 [4] NestedScriptTagTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper.Type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (374:7,85 [4] NestedScriptTagTagHelpers.cshtml)
+ IntermediateToken - (374:7,85 [4] NestedScriptTagTagHelpers.cshtml) - Html - text
+ DefaultTagHelperProperty - (374:7,85 [4] NestedScriptTagTagHelpers.cshtml) - type - string TestNamespace.InputTagHelper2.Type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (374:7,85 [4] NestedScriptTagTagHelpers.cshtml)
+ IntermediateToken - (374:7,85 [4] NestedScriptTagTagHelpers.cshtml) - Html - text
+ DefaultTagHelperProperty - (389:7,100 [4] NestedScriptTagTagHelpers.cshtml) - checked - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (389:7,100 [4] NestedScriptTagTagHelpers.cshtml) - CSharp - true
+ DefaultTagHelperExecute -
+ HtmlContent - (395:7,106 [27] NestedScriptTagTagHelpers.cshtml)
+ IntermediateToken - (395:7,106 [18] NestedScriptTagTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (413:8,16 [9] NestedScriptTagTagHelpers.cshtml) - Html - </script>
+ CSharpCode - (422:8,25 [15] NestedScriptTagTagHelpers.cshtml)
+ IntermediateToken - (422:8,25 [15] NestedScriptTagTagHelpers.cshtml) - CSharp - \n }
+ HtmlContent - (437:9,13 [131] NestedScriptTagTagHelpers.cshtml)
+ IntermediateToken - (437:9,13 [14] NestedScriptTagTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (451:10,12 [7] NestedScriptTagTagHelpers.cshtml) - Html - <script
+ IntermediateToken - (458:10,19 [23] NestedScriptTagTagHelpers.cshtml) - Html - type="text/javascript"
+ IntermediateToken - (481:10,42 [1] NestedScriptTagTagHelpers.cshtml) - Html - >
+ IntermediateToken - (482:10,43 [67] NestedScriptTagTagHelpers.cshtml) - Html - \n var tag = '<input checked="true">';\n
+ IntermediateToken - (549:12,12 [9] NestedScriptTagTagHelpers.cshtml) - Html - </script>
+ IntermediateToken - (558:12,21 [10] NestedScriptTagTagHelpers.cshtml) - Html - \n
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperHtmlAttribute - - class - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (149:4,18 [11] NestedScriptTagTagHelpers.cshtml)
+ IntermediateToken - (149:4,18 [11] NestedScriptTagTagHelpers.cshtml) - Html - Hello World
+ DefaultTagHelperHtmlAttribute - - data-delay - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (174:4,43 [4] NestedScriptTagTagHelpers.cshtml)
+ IntermediateToken - (174:4,43 [4] NestedScriptTagTagHelpers.cshtml) - Html - 1000
+ DefaultTagHelperExecute -
+ HtmlContent - (572:13,12 [23] NestedScriptTagTagHelpers.cshtml)
+ IntermediateToken - (572:13,12 [6] NestedScriptTagTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (578:14,4 [6] NestedScriptTagTagHelpers.cshtml) - Html - </div>
+ IntermediateToken - (584:14,10 [2] NestedScriptTagTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (586:15,0 [9] NestedScriptTagTagHelpers.cshtml) - Html - </script>
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers_DesignTime.mappings.txt
new file mode 100644
index 0000000000..59224681d1
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers_DesignTime.mappings.txt
@@ -0,0 +1,29 @@
+Source Location: (14:0,14 [17] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers.cshtml)
+|"*, TestAssembly"|
+Generated Location: (683:13,37 [17] )
+|"*, TestAssembly"|
+
+Source Location: (195:5,13 [46] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers.cshtml)
+|for(var i = 0; i < 5; i++) {
+ |
+Generated Location: (1131:25,13 [46] )
+|for(var i = 0; i < 5; i++) {
+ |
+
+Source Location: (339:7,50 [23] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers.cshtml)
+|ViewBag.DefaultInterval|
+Generated Location: (1569:33,50 [23] )
+|ViewBag.DefaultInterval|
+
+Source Location: (389:7,100 [4] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers.cshtml)
+|true|
+Generated Location: (1975:40,100 [4] )
+|true|
+
+Source Location: (422:8,25 [15] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers.cshtml)
+|
+ }|
+Generated Location: (2139:45,25 [15] )
+|
+ }|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers_Runtime.codegen.cs
new file mode 100644
index 0000000000..2d45fcf415
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers_Runtime.codegen.cs
@@ -0,0 +1,106 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "958c6fc042a8f49499906b46c11bf4b15446c89d"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_NestedScriptTagTagHelpers_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"958c6fc042a8f49499906b46c11bf4b15446c89d", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_NestedScriptTagTagHelpers_Runtime
+ {
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("type", "text", global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_1 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("class", new global::Microsoft.AspNetCore.Html.HtmlString("Hello World"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_2 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("data-delay", new global::Microsoft.AspNetCore.Html.HtmlString("1000"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ #line hidden
+ #pragma warning disable 0169
+ private string __tagHelperStringValueBuffer;
+ #pragma warning restore 0169
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext __tagHelperExecutionContext;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner();
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __backed__tagHelperScopeManager = null;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __tagHelperScopeManager
+ {
+ get
+ {
+ if (__backed__tagHelperScopeManager == null)
+ {
+ __backed__tagHelperScopeManager = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager(StartTagHelperWritingScope, EndTagHelperWritingScope);
+ }
+ return __backed__tagHelperScopeManager;
+ }
+ }
+ private global::TestNamespace.PTagHelper __TestNamespace_PTagHelper;
+ private global::TestNamespace.InputTagHelper __TestNamespace_InputTagHelper;
+ private global::TestNamespace.InputTagHelper2 __TestNamespace_InputTagHelper2;
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("\r\n<script type=\"text/html\">\r\n <div data-animation=\"fade\" class=\"randomNonTagHelperAttribute\">\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("p", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("\r\n");
+#line 6 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers.cshtml"
+ for(var i = 0; i < 5; i++) {
+
+#line default
+#line hidden
+ WriteLiteral(" <script id=\"nestedScriptTag\" type=\"text/html\">\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagOnly, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper2);
+ BeginWriteTagHelperAttribute();
+ WriteLiteral("2000 + ");
+#line 8 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers.cshtml"
+ Write(ViewBag.DefaultInterval);
+
+#line default
+#line hidden
+ WriteLiteral(" + 1");
+ __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
+ __tagHelperExecutionContext.AddHtmlAttribute("data-interval", Html.Raw(__tagHelperStringValueBuffer), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ __TestNamespace_InputTagHelper.Type = (string)__tagHelperAttribute_0.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_0);
+ __TestNamespace_InputTagHelper2.Type = (string)__tagHelperAttribute_0.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_0);
+#line 8 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers.cshtml"
+__TestNamespace_InputTagHelper2.Checked = true;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("checked", __TestNamespace_InputTagHelper2.Checked, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n </script>\r\n");
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers.cshtml"
+ }
+
+#line default
+#line hidden
+ WriteLiteral(" <script type=\"text/javascript\">\r\n var tag = \'<input checked=\"true\">\';\r\n </script>\r\n ");
+ }
+ );
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_PTagHelper);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_1);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_2);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n </div>\r\n</script>");
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers_Runtime.ir.txt
new file mode 100644
index 0000000000..7041d3c6fc
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedScriptTagTagHelpers_Runtime.ir.txt
@@ -0,0 +1,80 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_NestedScriptTagTagHelpers_Runtime - -
+ PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_0 - type - text - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_1 - class - Hello World - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_2 - data-delay - 1000 - HtmlAttributeValueStyle.DoubleQuotes
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.PTagHelper - __TestNamespace_PTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper - __TestNamespace_InputTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper2 - __TestNamespace_InputTagHelper2
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (33:1,0 [106] NestedScriptTagTagHelpers.cshtml)
+ IntermediateToken - (33:1,0 [2] NestedScriptTagTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (35:2,0 [7] NestedScriptTagTagHelpers.cshtml) - Html - <script
+ IntermediateToken - (42:2,7 [17] NestedScriptTagTagHelpers.cshtml) - Html - type="text/html"
+ IntermediateToken - (59:2,24 [1] NestedScriptTagTagHelpers.cshtml) - Html - >
+ IntermediateToken - (60:2,25 [6] NestedScriptTagTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (66:3,4 [4] NestedScriptTagTagHelpers.cshtml) - Html - <div
+ IntermediateToken - (70:3,8 [17] NestedScriptTagTagHelpers.cshtml) - Html - data-animation="
+ IntermediateToken - (87:3,25 [4] NestedScriptTagTagHelpers.cshtml) - Html - fade
+ IntermediateToken - (91:3,29 [1] NestedScriptTagTagHelpers.cshtml) - Html - "
+ IntermediateToken - (92:3,30 [36] NestedScriptTagTagHelpers.cshtml) - Html - class="randomNonTagHelperAttribute"
+ IntermediateToken - (128:3,66 [1] NestedScriptTagTagHelpers.cshtml) - Html - >
+ IntermediateToken - (129:3,67 [10] NestedScriptTagTagHelpers.cshtml) - Html - \n
+ TagHelper - (139:4,8 [433] NestedScriptTagTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (180:4,49 [2] NestedScriptTagTagHelpers.cshtml)
+ IntermediateToken - (180:4,49 [2] NestedScriptTagTagHelpers.cshtml) - Html - \n
+ CSharpCode - (182:5,0 [12] NestedScriptTagTagHelpers.cshtml)
+ IntermediateToken - (182:5,0 [12] NestedScriptTagTagHelpers.cshtml) - CSharp -
+ CSharpCode - (195:5,13 [30] NestedScriptTagTagHelpers.cshtml)
+ IntermediateToken - (195:5,13 [30] NestedScriptTagTagHelpers.cshtml) - CSharp - for(var i = 0; i < 5; i++) {\n
+ HtmlContent - (225:6,0 [84] NestedScriptTagTagHelpers.cshtml)
+ IntermediateToken - (225:6,0 [16] NestedScriptTagTagHelpers.cshtml) - Html -
+ IntermediateToken - (241:6,16 [7] NestedScriptTagTagHelpers.cshtml) - Html - <script
+ IntermediateToken - (248:6,23 [21] NestedScriptTagTagHelpers.cshtml) - Html - id="nestedScriptTag"
+ IntermediateToken - (269:6,44 [17] NestedScriptTagTagHelpers.cshtml) - Html - type="text/html"
+ IntermediateToken - (286:6,61 [1] NestedScriptTagTagHelpers.cshtml) - Html - >
+ IntermediateToken - (287:6,62 [22] NestedScriptTagTagHelpers.cshtml) - Html - \n
+ TagHelper - (309:7,20 [86] NestedScriptTagTagHelpers.cshtml) - input - TagMode.StartTagOnly
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperHtmlAttribute - - data-interval - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (331:7,42 [7] NestedScriptTagTagHelpers.cshtml)
+ IntermediateToken - (331:7,42 [7] NestedScriptTagTagHelpers.cshtml) - Html - 2000 +
+ CSharpExpression - (339:7,50 [23] NestedScriptTagTagHelpers.cshtml)
+ IntermediateToken - (339:7,50 [23] NestedScriptTagTagHelpers.cshtml) - CSharp - ViewBag.DefaultInterval
+ HtmlContent - (362:7,73 [4] NestedScriptTagTagHelpers.cshtml)
+ IntermediateToken - (362:7,73 [4] NestedScriptTagTagHelpers.cshtml) - Html - + 1
+ PreallocatedTagHelperProperty - (374:7,85 [4] NestedScriptTagTagHelpers.cshtml) - __tagHelperAttribute_0 - type - Type
+ PreallocatedTagHelperProperty - (374:7,85 [4] NestedScriptTagTagHelpers.cshtml) - __tagHelperAttribute_0 - type - Type
+ DefaultTagHelperProperty - (389:7,100 [4] NestedScriptTagTagHelpers.cshtml) - checked - bool TestNamespace.InputTagHelper2.Checked - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (389:7,100 [4] NestedScriptTagTagHelpers.cshtml) - CSharp - true
+ DefaultTagHelperExecute -
+ HtmlContent - (395:7,106 [29] NestedScriptTagTagHelpers.cshtml)
+ IntermediateToken - (395:7,106 [18] NestedScriptTagTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (413:8,16 [9] NestedScriptTagTagHelpers.cshtml) - Html - </script>
+ IntermediateToken - (422:8,25 [2] NestedScriptTagTagHelpers.cshtml) - Html - \n
+ CSharpCode - (424:9,0 [15] NestedScriptTagTagHelpers.cshtml)
+ IntermediateToken - (424:9,0 [15] NestedScriptTagTagHelpers.cshtml) - CSharp - }\n
+ HtmlContent - (439:10,0 [129] NestedScriptTagTagHelpers.cshtml)
+ IntermediateToken - (439:10,0 [12] NestedScriptTagTagHelpers.cshtml) - Html -
+ IntermediateToken - (451:10,12 [7] NestedScriptTagTagHelpers.cshtml) - Html - <script
+ IntermediateToken - (458:10,19 [23] NestedScriptTagTagHelpers.cshtml) - Html - type="text/javascript"
+ IntermediateToken - (481:10,42 [1] NestedScriptTagTagHelpers.cshtml) - Html - >
+ IntermediateToken - (482:10,43 [67] NestedScriptTagTagHelpers.cshtml) - Html - \n var tag = '<input checked="true">';\n
+ IntermediateToken - (549:12,12 [9] NestedScriptTagTagHelpers.cshtml) - Html - </script>
+ IntermediateToken - (558:12,21 [10] NestedScriptTagTagHelpers.cshtml) - Html - \n
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_1
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_2
+ DefaultTagHelperExecute -
+ HtmlContent - (572:13,12 [23] NestedScriptTagTagHelpers.cshtml)
+ IntermediateToken - (572:13,12 [6] NestedScriptTagTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (578:14,4 [6] NestedScriptTagTagHelpers.cshtml) - Html - </div>
+ IntermediateToken - (584:14,10 [2] NestedScriptTagTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (586:15,0 [9] NestedScriptTagTagHelpers.cshtml) - Html - </script>
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedTagHelpers.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedTagHelpers.cshtml
new file mode 100644
index 0000000000..e6637b03fa
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedTagHelpers.cshtml
@@ -0,0 +1,5 @@
+@addTagHelper *, TestAssembly
+<span someattr>Hola</span>
+<div unbound="foo">
+ <input value=Hello type='text' />
+</div> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedTagHelpers_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedTagHelpers_DesignTime.codegen.cs
new file mode 100644
index 0000000000..ea880b7745
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedTagHelpers_DesignTime.codegen.cs
@@ -0,0 +1,33 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_NestedTagHelpers_DesignTime
+ {
+ private global::SpanTagHelper __SpanTagHelper;
+ private global::DivTagHelper __DivTagHelper;
+ private global::InputTagHelper __InputTagHelper;
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "*, TestAssembly";
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ __SpanTagHelper = CreateTagHelper<global::SpanTagHelper>();
+ __InputTagHelper = CreateTagHelper<global::InputTagHelper>();
+ __InputTagHelper.FooProp = "Hello";
+ __DivTagHelper = CreateTagHelper<global::DivTagHelper>();
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedTagHelpers_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedTagHelpers_DesignTime.ir.txt
new file mode 100644
index 0000000000..4a4b5e257d
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedTagHelpers_DesignTime.ir.txt
@@ -0,0 +1,48 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_NestedTagHelpers_DesignTime - -
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::SpanTagHelper - __SpanTagHelper
+ FieldDeclaration - - private - global::DivTagHelper - __DivTagHelper
+ FieldDeclaration - - private - global::InputTagHelper - __InputTagHelper
+ DesignTimeDirective -
+ DirectiveToken - (14:0,14 [15] NestedTagHelpers.cshtml) - *, TestAssembly
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (29:0,29 [2] NestedTagHelpers.cshtml)
+ IntermediateToken - (29:0,29 [2] NestedTagHelpers.cshtml) - Html - \n
+ TagHelper - (31:1,0 [26] NestedTagHelpers.cshtml) - span - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (46:1,15 [4] NestedTagHelpers.cshtml)
+ IntermediateToken - (46:1,15 [4] NestedTagHelpers.cshtml) - Html - Hola
+ DefaultTagHelperCreate - - SpanTagHelper
+ DefaultTagHelperHtmlAttribute - - someattr - HtmlAttributeValueStyle.Minimized
+ DefaultTagHelperExecute -
+ HtmlContent - (57:1,26 [2] NestedTagHelpers.cshtml)
+ IntermediateToken - (57:1,26 [2] NestedTagHelpers.cshtml) - Html - \n
+ TagHelper - (59:2,0 [66] NestedTagHelpers.cshtml) - div - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (78:2,19 [6] NestedTagHelpers.cshtml)
+ IntermediateToken - (78:2,19 [6] NestedTagHelpers.cshtml) - Html - \n
+ TagHelper - (84:3,4 [33] NestedTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - InputTagHelper
+ DefaultTagHelperProperty - (97:3,17 [5] NestedTagHelpers.cshtml) - value - string InputTagHelper.FooProp - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (97:3,17 [5] NestedTagHelpers.cshtml)
+ IntermediateToken - (97:3,17 [5] NestedTagHelpers.cshtml) - Html - Hello
+ DefaultTagHelperHtmlAttribute - - type - HtmlAttributeValueStyle.SingleQuotes
+ HtmlContent - (109:3,29 [4] NestedTagHelpers.cshtml)
+ IntermediateToken - (109:3,29 [4] NestedTagHelpers.cshtml) - Html - text
+ DefaultTagHelperExecute -
+ HtmlContent - (117:3,37 [2] NestedTagHelpers.cshtml)
+ IntermediateToken - (117:3,37 [2] NestedTagHelpers.cshtml) - Html - \n
+ DefaultTagHelperCreate - - DivTagHelper
+ DefaultTagHelperHtmlAttribute - - unbound - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (73:2,14 [3] NestedTagHelpers.cshtml)
+ IntermediateToken - (73:2,14 [3] NestedTagHelpers.cshtml) - Html - foo
+ DefaultTagHelperExecute -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedTagHelpers_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedTagHelpers_DesignTime.mappings.txt
new file mode 100644
index 0000000000..0cc715d741
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedTagHelpers_DesignTime.mappings.txt
@@ -0,0 +1,5 @@
+Source Location: (14:0,14 [15] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedTagHelpers.cshtml)
+|*, TestAssembly|
+Generated Location: (591:13,38 [15] )
+|*, TestAssembly|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedTagHelpers_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedTagHelpers_Runtime.codegen.cs
new file mode 100644
index 0000000000..d7752b8aca
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedTagHelpers_Runtime.codegen.cs
@@ -0,0 +1,89 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedTagHelpers.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "5e63d5fe37100e65dfcf39dd1c542eb697b624db"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_NestedTagHelpers_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedTagHelpers.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"5e63d5fe37100e65dfcf39dd1c542eb697b624db", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedTagHelpers.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_NestedTagHelpers_Runtime
+ {
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("value", "Hello", global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_1 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("type", new global::Microsoft.AspNetCore.Html.HtmlString("text"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.SingleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_2 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("unbound", new global::Microsoft.AspNetCore.Html.HtmlString("foo"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ #line hidden
+ #pragma warning disable 0169
+ private string __tagHelperStringValueBuffer;
+ #pragma warning restore 0169
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext __tagHelperExecutionContext;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner();
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __backed__tagHelperScopeManager = null;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __tagHelperScopeManager
+ {
+ get
+ {
+ if (__backed__tagHelperScopeManager == null)
+ {
+ __backed__tagHelperScopeManager = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager(StartTagHelperWritingScope, EndTagHelperWritingScope);
+ }
+ return __backed__tagHelperScopeManager;
+ }
+ }
+ private global::SpanTagHelper __SpanTagHelper;
+ private global::DivTagHelper __DivTagHelper;
+ private global::InputTagHelper __InputTagHelper;
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("span", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("Hola");
+ }
+ );
+ __SpanTagHelper = CreateTagHelper<global::SpanTagHelper>();
+ __tagHelperExecutionContext.Add(__SpanTagHelper);
+ BeginWriteTagHelperAttribute();
+ __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
+ __tagHelperExecutionContext.AddHtmlAttribute("someattr", Html.Raw(__tagHelperStringValueBuffer), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.Minimized);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("div", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __InputTagHelper = CreateTagHelper<global::InputTagHelper>();
+ __tagHelperExecutionContext.Add(__InputTagHelper);
+ __InputTagHelper.FooProp = (string)__tagHelperAttribute_0.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_0);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_1);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n");
+ }
+ );
+ __DivTagHelper = CreateTagHelper<global::DivTagHelper>();
+ __tagHelperExecutionContext.Add(__DivTagHelper);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_2);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedTagHelpers_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedTagHelpers_Runtime.ir.txt
new file mode 100644
index 0000000000..f4c6001b80
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NestedTagHelpers_Runtime.ir.txt
@@ -0,0 +1,37 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_NestedTagHelpers_Runtime - -
+ PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_0 - value - Hello - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_1 - type - text - HtmlAttributeValueStyle.SingleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_2 - unbound - foo - HtmlAttributeValueStyle.DoubleQuotes
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::SpanTagHelper - __SpanTagHelper
+ FieldDeclaration - - private - global::DivTagHelper - __DivTagHelper
+ FieldDeclaration - - private - global::InputTagHelper - __InputTagHelper
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ TagHelper - (31:1,0 [26] NestedTagHelpers.cshtml) - span - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (46:1,15 [4] NestedTagHelpers.cshtml)
+ IntermediateToken - (46:1,15 [4] NestedTagHelpers.cshtml) - Html - Hola
+ DefaultTagHelperCreate - - SpanTagHelper
+ DefaultTagHelperHtmlAttribute - - someattr - HtmlAttributeValueStyle.Minimized
+ DefaultTagHelperExecute -
+ HtmlContent - (57:1,26 [2] NestedTagHelpers.cshtml)
+ IntermediateToken - (57:1,26 [2] NestedTagHelpers.cshtml) - Html - \n
+ TagHelper - (59:2,0 [66] NestedTagHelpers.cshtml) - div - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (78:2,19 [6] NestedTagHelpers.cshtml)
+ IntermediateToken - (78:2,19 [6] NestedTagHelpers.cshtml) - Html - \n
+ TagHelper - (84:3,4 [33] NestedTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - InputTagHelper
+ PreallocatedTagHelperProperty - (97:3,17 [5] NestedTagHelpers.cshtml) - __tagHelperAttribute_0 - value - FooProp
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_1
+ DefaultTagHelperExecute -
+ HtmlContent - (117:3,37 [2] NestedTagHelpers.cshtml)
+ IntermediateToken - (117:3,37 [2] NestedTagHelpers.cshtml) - Html - \n
+ DefaultTagHelperCreate - - DivTagHelper
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_2
+ DefaultTagHelperExecute -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml
new file mode 100644
index 0000000000..36e96c46b9
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml
@@ -0,0 +1,38 @@
+@{
+ int i = 1;
+}
+
+@while(i <= 10) {
+ <p>Hello from C#, #@(i)</p>
+ i += 1;
+}
+
+@if(i == 11) {
+ <p>We wrote 10 lines!</p>
+}
+
+@switch(i) {
+ case 11:
+ <p>No really, we wrote 10 lines!</p>
+ break;
+ default:
+ <p>Actually, we didn't...</p>
+ break;
+}
+
+@for(int j = 1; j <= 10; j += 2) {
+ <p>Hello again from C#, #@(j)</p>
+}
+
+@try {
+ <p>That time, we wrote 5 lines!</p>
+} catch(Exception ex) {
+ <p>Oh no! An error occurred: @(ex.Message)</p>
+}
+
+@* With has no equivalent in C# *@
+<p>i is now @i</p>
+
+@lock(new object()) {
+ <p>This block is locked, for your security!</p>
+} \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas_DesignTime.codegen.cs
new file mode 100644
index 0000000000..a800b83828
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas_DesignTime.codegen.cs
@@ -0,0 +1,140 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_NoLinePragmas_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+
+ int i = 1;
+
+#line default
+#line hidden
+#line 5 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+ while(i <= 10) {
+
+
+#line default
+#line hidden
+#line 6 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+ __o = i;
+
+#line default
+#line hidden
+#line 6 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+
+ i += 1;
+}
+
+#line default
+#line hidden
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+ if(i == 11) {
+
+
+#line default
+#line hidden
+#line 11 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+
+}
+
+#line default
+#line hidden
+#line 14 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+ switch(i) {
+ case 11:
+
+
+#line default
+#line hidden
+#line 16 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+
+ break;
+ default:
+
+
+#line default
+#line hidden
+#line 19 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+
+ break;
+}
+
+#line default
+#line hidden
+#line 23 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+ for(int j = 1; j <= 10; j += 2) {
+
+
+#line default
+#line hidden
+#line 24 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+ __o = j;
+
+#line default
+#line hidden
+#line 24 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+
+}
+
+#line default
+#line hidden
+#line 27 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+ try {
+
+
+#line default
+#line hidden
+#line 28 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+
+} catch(Exception ex) {
+
+
+#line default
+#line hidden
+#line 30 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+ __o = ex.Message;
+
+#line default
+#line hidden
+#line 30 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+
+}
+
+
+#line default
+#line hidden
+
+#line 34 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+ __o = i;
+
+#line default
+#line hidden
+#line 36 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+ lock(new object()) {
+
+
+#line default
+#line hidden
+#line 37 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+
+}
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas_DesignTime.ir.txt
new file mode 100644
index 0000000000..9ed035c3c7
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas_DesignTime.ir.txt
@@ -0,0 +1,103 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_NoLinePragmas_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (2:0,2 [18] NoLinePragmas.cshtml)
+ IntermediateToken - (2:0,2 [18] NoLinePragmas.cshtml) - CSharp - \n int i = 1;\n
+ HtmlContent - (23:3,0 [2] NoLinePragmas.cshtml)
+ IntermediateToken - (23:3,0 [2] NoLinePragmas.cshtml) - Html - \n
+ CSharpCode - (26:4,1 [22] NoLinePragmas.cshtml)
+ IntermediateToken - (26:4,1 [22] NoLinePragmas.cshtml) - CSharp - while(i <= 10) {\n
+ HtmlContent - (48:5,4 [19] NoLinePragmas.cshtml)
+ IntermediateToken - (48:5,4 [3] NoLinePragmas.cshtml) - Html - <p>
+ IntermediateToken - (51:5,7 [16] NoLinePragmas.cshtml) - Html - Hello from C#, #
+ CSharpExpression - (69:5,25 [1] NoLinePragmas.cshtml)
+ IntermediateToken - (69:5,25 [1] NoLinePragmas.cshtml) - CSharp - i
+ HtmlContent - (71:5,27 [4] NoLinePragmas.cshtml)
+ IntermediateToken - (71:5,27 [4] NoLinePragmas.cshtml) - Html - </p>
+ CSharpCode - (75:5,31 [16] NoLinePragmas.cshtml)
+ IntermediateToken - (75:5,31 [16] NoLinePragmas.cshtml) - CSharp - \n i += 1;\n}
+ HtmlContent - (91:7,1 [4] NoLinePragmas.cshtml)
+ IntermediateToken - (91:7,1 [4] NoLinePragmas.cshtml) - Html - \n\n
+ CSharpCode - (96:9,1 [19] NoLinePragmas.cshtml)
+ IntermediateToken - (96:9,1 [19] NoLinePragmas.cshtml) - CSharp - if(i == 11) {\n
+ HtmlContent - (115:10,4 [25] NoLinePragmas.cshtml)
+ IntermediateToken - (115:10,4 [3] NoLinePragmas.cshtml) - Html - <p>
+ IntermediateToken - (118:10,7 [18] NoLinePragmas.cshtml) - Html - We wrote 10 lines!
+ IntermediateToken - (136:10,25 [4] NoLinePragmas.cshtml) - Html - </p>
+ CSharpCode - (140:10,29 [3] NoLinePragmas.cshtml)
+ IntermediateToken - (140:10,29 [3] NoLinePragmas.cshtml) - CSharp - \n}
+ HtmlContent - (143:11,1 [4] NoLinePragmas.cshtml)
+ IntermediateToken - (143:11,1 [4] NoLinePragmas.cshtml) - Html - \n\n
+ CSharpCode - (148:13,1 [35] NoLinePragmas.cshtml)
+ IntermediateToken - (148:13,1 [35] NoLinePragmas.cshtml) - CSharp - switch(i) {\n case 11:\n
+ HtmlContent - (183:15,8 [36] NoLinePragmas.cshtml)
+ IntermediateToken - (183:15,8 [3] NoLinePragmas.cshtml) - Html - <p>
+ IntermediateToken - (186:15,11 [29] NoLinePragmas.cshtml) - Html - No really, we wrote 10 lines!
+ IntermediateToken - (215:15,40 [4] NoLinePragmas.cshtml) - Html - </p>
+ CSharpCode - (219:15,44 [40] NoLinePragmas.cshtml)
+ IntermediateToken - (219:15,44 [40] NoLinePragmas.cshtml) - CSharp - \n break;\n default:\n
+ HtmlContent - (259:18,8 [29] NoLinePragmas.cshtml)
+ IntermediateToken - (259:18,8 [3] NoLinePragmas.cshtml) - Html - <p>
+ IntermediateToken - (262:18,11 [22] NoLinePragmas.cshtml) - Html - Actually, we didn't...
+ IntermediateToken - (284:18,33 [4] NoLinePragmas.cshtml) - Html - </p>
+ CSharpCode - (288:18,37 [19] NoLinePragmas.cshtml)
+ IntermediateToken - (288:18,37 [19] NoLinePragmas.cshtml) - CSharp - \n break;\n}
+ HtmlContent - (307:20,1 [4] NoLinePragmas.cshtml)
+ IntermediateToken - (307:20,1 [4] NoLinePragmas.cshtml) - Html - \n\n
+ CSharpCode - (312:22,1 [39] NoLinePragmas.cshtml)
+ IntermediateToken - (312:22,1 [39] NoLinePragmas.cshtml) - CSharp - for(int j = 1; j <= 10; j += 2) {\n
+ HtmlContent - (351:23,4 [25] NoLinePragmas.cshtml)
+ IntermediateToken - (351:23,4 [3] NoLinePragmas.cshtml) - Html - <p>
+ IntermediateToken - (354:23,7 [22] NoLinePragmas.cshtml) - Html - Hello again from C#, #
+ CSharpExpression - (378:23,31 [1] NoLinePragmas.cshtml)
+ IntermediateToken - (378:23,31 [1] NoLinePragmas.cshtml) - CSharp - j
+ HtmlContent - (380:23,33 [4] NoLinePragmas.cshtml)
+ IntermediateToken - (380:23,33 [4] NoLinePragmas.cshtml) - Html - </p>
+ CSharpCode - (384:23,37 [3] NoLinePragmas.cshtml)
+ IntermediateToken - (384:23,37 [3] NoLinePragmas.cshtml) - CSharp - \n}
+ HtmlContent - (387:24,1 [4] NoLinePragmas.cshtml)
+ IntermediateToken - (387:24,1 [4] NoLinePragmas.cshtml) - Html - \n\n
+ CSharpCode - (392:26,1 [11] NoLinePragmas.cshtml)
+ IntermediateToken - (392:26,1 [11] NoLinePragmas.cshtml) - CSharp - try {\n
+ HtmlContent - (403:27,4 [35] NoLinePragmas.cshtml)
+ IntermediateToken - (403:27,4 [3] NoLinePragmas.cshtml) - Html - <p>
+ IntermediateToken - (406:27,7 [28] NoLinePragmas.cshtml) - Html - That time, we wrote 5 lines!
+ IntermediateToken - (434:27,35 [4] NoLinePragmas.cshtml) - Html - </p>
+ CSharpCode - (438:27,39 [31] NoLinePragmas.cshtml)
+ IntermediateToken - (438:27,39 [31] NoLinePragmas.cshtml) - CSharp - \n} catch(Exception ex) {\n
+ HtmlContent - (469:29,4 [29] NoLinePragmas.cshtml)
+ IntermediateToken - (469:29,4 [3] NoLinePragmas.cshtml) - Html - <p>
+ IntermediateToken - (472:29,7 [26] NoLinePragmas.cshtml) - Html - Oh no! An error occurred:
+ CSharpExpression - (500:29,35 [10] NoLinePragmas.cshtml)
+ IntermediateToken - (500:29,35 [10] NoLinePragmas.cshtml) - CSharp - ex.Message
+ HtmlContent - (511:29,46 [4] NoLinePragmas.cshtml)
+ IntermediateToken - (511:29,46 [4] NoLinePragmas.cshtml) - Html - </p>
+ CSharpCode - (515:29,50 [7] NoLinePragmas.cshtml)
+ IntermediateToken - (515:29,50 [7] NoLinePragmas.cshtml) - CSharp - \n}\n\n
+ CSharpCode - (556:32,34 [0] NoLinePragmas.cshtml)
+ IntermediateToken - (556:32,34 [0] NoLinePragmas.cshtml) - CSharp -
+ HtmlContent - (556:32,34 [14] NoLinePragmas.cshtml)
+ IntermediateToken - (556:32,34 [2] NoLinePragmas.cshtml) - Html - \n
+ IntermediateToken - (558:33,0 [3] NoLinePragmas.cshtml) - Html - <p>
+ IntermediateToken - (561:33,3 [9] NoLinePragmas.cshtml) - Html - i is now
+ CSharpExpression - (571:33,13 [1] NoLinePragmas.cshtml)
+ IntermediateToken - (571:33,13 [1] NoLinePragmas.cshtml) - CSharp - i
+ HtmlContent - (572:33,14 [8] NoLinePragmas.cshtml)
+ IntermediateToken - (572:33,14 [4] NoLinePragmas.cshtml) - Html - </p>
+ IntermediateToken - (576:33,18 [4] NoLinePragmas.cshtml) - Html - \n\n
+ CSharpCode - (581:35,1 [26] NoLinePragmas.cshtml)
+ IntermediateToken - (581:35,1 [26] NoLinePragmas.cshtml) - CSharp - lock(new object()) {\n
+ HtmlContent - (607:36,4 [47] NoLinePragmas.cshtml)
+ IntermediateToken - (607:36,4 [3] NoLinePragmas.cshtml) - Html - <p>
+ IntermediateToken - (610:36,7 [40] NoLinePragmas.cshtml) - Html - This block is locked, for your security!
+ IntermediateToken - (650:36,47 [4] NoLinePragmas.cshtml) - Html - </p>
+ CSharpCode - (654:36,51 [3] NoLinePragmas.cshtml)
+ IntermediateToken - (654:36,51 [3] NoLinePragmas.cshtml) - CSharp - \n}
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas_DesignTime.mappings.txt
new file mode 100644
index 0000000000..349b695abd
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas_DesignTime.mappings.txt
@@ -0,0 +1,148 @@
+Source Location: (2:0,2 [18] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml)
+|
+ int i = 1;
+|
+Generated Location: (727:18,2 [18] )
+|
+ int i = 1;
+|
+
+Source Location: (26:4,1 [22] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml)
+|while(i <= 10) {
+ |
+Generated Location: (866:24,1 [22] )
+|while(i <= 10) {
+ |
+
+Source Location: (69:5,25 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml)
+|i|
+Generated Location: (1035:30,25 [1] )
+|i|
+
+Source Location: (75:5,31 [16] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml)
+|
+ i += 1;
+}|
+Generated Location: (1190:35,31 [16] )
+|
+ i += 1;
+}|
+
+Source Location: (96:9,1 [19] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml)
+|if(i == 11) {
+ |
+Generated Location: (1330:42,1 [19] )
+|if(i == 11) {
+ |
+
+Source Location: (140:10,29 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml)
+|
+}|
+Generated Location: (1501:48,29 [3] )
+|
+}|
+
+Source Location: (148:13,1 [35] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml)
+|switch(i) {
+ case 11:
+ |
+Generated Location: (1628:54,1 [35] )
+|switch(i) {
+ case 11:
+ |
+
+Source Location: (219:15,44 [40] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml)
+|
+ break;
+ default:
+ |
+Generated Location: (1830:61,44 [40] )
+|
+ break;
+ default:
+ |
+
+Source Location: (288:18,37 [19] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml)
+|
+ break;
+}|
+Generated Location: (2030:69,37 [19] )
+|
+ break;
+}|
+
+Source Location: (312:22,1 [39] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml)
+|for(int j = 1; j <= 10; j += 2) {
+ |
+Generated Location: (2173:76,1 [39] )
+|for(int j = 1; j <= 10; j += 2) {
+ |
+
+Source Location: (378:23,31 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml)
+|j|
+Generated Location: (2366:82,31 [1] )
+|j|
+
+Source Location: (384:23,37 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml)
+|
+}|
+Generated Location: (2528:87,37 [3] )
+|
+}|
+
+Source Location: (392:26,1 [11] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml)
+|try {
+ |
+Generated Location: (2655:93,1 [11] )
+|try {
+ |
+
+Source Location: (438:27,39 [31] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml)
+|
+} catch(Exception ex) {
+ |
+Generated Location: (2828:99,39 [31] )
+|
+} catch(Exception ex) {
+ |
+
+Source Location: (500:29,35 [10] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml)
+|ex.Message|
+Generated Location: (3017:106,35 [10] )
+|ex.Message|
+
+Source Location: (515:29,50 [7] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml)
+|
+}
+
+|
+Generated Location: (3201:111,50 [7] )
+|
+}
+
+|
+
+Source Location: (556:32,34 [0] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml)
+||
+Generated Location: (3285:117,46 [0] )
+||
+
+Source Location: (571:33,13 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml)
+|i|
+Generated Location: (3390:119,13 [1] )
+|i|
+
+Source Location: (581:35,1 [26] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml)
+|lock(new object()) {
+ |
+Generated Location: (3516:124,1 [26] )
+|lock(new object()) {
+ |
+
+Source Location: (654:36,51 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml)
+|
+}|
+Generated Location: (3716:130,51 [3] )
+|
+}|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas_Runtime.codegen.cs
new file mode 100644
index 0000000000..81891b57b7
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas_Runtime.codegen.cs
@@ -0,0 +1,137 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "c6fa3992fa56644768995c97941d682d90f6d8ec"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_NoLinePragmas_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"c6fa3992fa56644768995c97941d682d90f6d8ec", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_NoLinePragmas_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+
+ int i = 1;
+
+#line default
+#line hidden
+ WriteLiteral("\r\n");
+#line 5 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+ while(i <= 10) {
+
+#line default
+#line hidden
+ WriteLiteral(" <p>Hello from C#, #");
+#line 6 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+ Write(i);
+
+#line default
+#line hidden
+ WriteLiteral("</p>\r\n");
+#line 7 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+ i += 1;
+}
+
+#line default
+#line hidden
+ WriteLiteral("\r\n");
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+ if(i == 11) {
+
+#line default
+#line hidden
+ WriteLiteral(" <p>We wrote 10 lines!</p>\r\n");
+#line 12 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+}
+
+#line default
+#line hidden
+ WriteLiteral("\r\n");
+#line 14 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+ switch(i) {
+ case 11:
+
+#line default
+#line hidden
+ WriteLiteral(" <p>No really, we wrote 10 lines!</p>\r\n");
+#line 17 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+ break;
+ default:
+
+#line default
+#line hidden
+ WriteLiteral(" <p>Actually, we didn\'t...</p>\r\n");
+#line 20 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+ break;
+}
+
+#line default
+#line hidden
+ WriteLiteral("\r\n");
+#line 23 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+ for(int j = 1; j <= 10; j += 2) {
+
+#line default
+#line hidden
+ WriteLiteral(" <p>Hello again from C#, #");
+#line 24 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+ Write(j);
+
+#line default
+#line hidden
+ WriteLiteral("</p>\r\n");
+#line 25 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+}
+
+#line default
+#line hidden
+ WriteLiteral("\r\n");
+#line 27 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+ try {
+
+#line default
+#line hidden
+ WriteLiteral(" <p>That time, we wrote 5 lines!</p>\r\n");
+#line 29 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+} catch(Exception ex) {
+
+#line default
+#line hidden
+ WriteLiteral(" <p>Oh no! An error occurred: ");
+#line 30 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+ Write(ex.Message);
+
+#line default
+#line hidden
+ WriteLiteral("</p>\r\n");
+#line 31 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+}
+
+
+#line default
+#line hidden
+ WriteLiteral("<p>i is now ");
+#line 34 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+ Write(i);
+
+#line default
+#line hidden
+ WriteLiteral("</p>\r\n\r\n");
+#line 36 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+ lock(new object()) {
+
+#line default
+#line hidden
+ WriteLiteral(" <p>This block is locked, for your security!</p>\r\n");
+#line 38 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas.cshtml"
+}
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas_Runtime.ir.txt
new file mode 100644
index 0000000000..133177b5c4
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NoLinePragmas_Runtime.ir.txt
@@ -0,0 +1,113 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_NoLinePragmas_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (2:0,2 [18] NoLinePragmas.cshtml)
+ IntermediateToken - (2:0,2 [18] NoLinePragmas.cshtml) - CSharp - \n int i = 1;\n
+ HtmlContent - (23:3,0 [2] NoLinePragmas.cshtml)
+ IntermediateToken - (23:3,0 [2] NoLinePragmas.cshtml) - Html - \n
+ CSharpCode - (26:4,1 [18] NoLinePragmas.cshtml)
+ IntermediateToken - (26:4,1 [18] NoLinePragmas.cshtml) - CSharp - while(i <= 10) {\n
+ HtmlContent - (44:5,0 [23] NoLinePragmas.cshtml)
+ IntermediateToken - (44:5,0 [4] NoLinePragmas.cshtml) - Html -
+ IntermediateToken - (48:5,4 [3] NoLinePragmas.cshtml) - Html - <p>
+ IntermediateToken - (51:5,7 [16] NoLinePragmas.cshtml) - Html - Hello from C#, #
+ CSharpExpression - (69:5,25 [1] NoLinePragmas.cshtml)
+ IntermediateToken - (69:5,25 [1] NoLinePragmas.cshtml) - CSharp - i
+ HtmlContent - (71:5,27 [6] NoLinePragmas.cshtml)
+ IntermediateToken - (71:5,27 [4] NoLinePragmas.cshtml) - Html - </p>
+ IntermediateToken - (75:5,31 [2] NoLinePragmas.cshtml) - Html - \n
+ CSharpCode - (77:6,0 [16] NoLinePragmas.cshtml)
+ IntermediateToken - (77:6,0 [16] NoLinePragmas.cshtml) - CSharp - i += 1;\n}\n
+ HtmlContent - (93:8,0 [2] NoLinePragmas.cshtml)
+ IntermediateToken - (93:8,0 [2] NoLinePragmas.cshtml) - Html - \n
+ CSharpCode - (96:9,1 [15] NoLinePragmas.cshtml)
+ IntermediateToken - (96:9,1 [15] NoLinePragmas.cshtml) - CSharp - if(i == 11) {\n
+ HtmlContent - (111:10,0 [31] NoLinePragmas.cshtml)
+ IntermediateToken - (111:10,0 [4] NoLinePragmas.cshtml) - Html -
+ IntermediateToken - (115:10,4 [3] NoLinePragmas.cshtml) - Html - <p>
+ IntermediateToken - (118:10,7 [18] NoLinePragmas.cshtml) - Html - We wrote 10 lines!
+ IntermediateToken - (136:10,25 [4] NoLinePragmas.cshtml) - Html - </p>
+ IntermediateToken - (140:10,29 [2] NoLinePragmas.cshtml) - Html - \n
+ CSharpCode - (142:11,0 [3] NoLinePragmas.cshtml)
+ IntermediateToken - (142:11,0 [3] NoLinePragmas.cshtml) - CSharp - }\n
+ HtmlContent - (145:12,0 [2] NoLinePragmas.cshtml)
+ IntermediateToken - (145:12,0 [2] NoLinePragmas.cshtml) - Html - \n
+ CSharpCode - (148:13,1 [27] NoLinePragmas.cshtml)
+ IntermediateToken - (148:13,1 [27] NoLinePragmas.cshtml) - CSharp - switch(i) {\n case 11:\n
+ HtmlContent - (175:15,0 [46] NoLinePragmas.cshtml)
+ IntermediateToken - (175:15,0 [8] NoLinePragmas.cshtml) - Html -
+ IntermediateToken - (183:15,8 [3] NoLinePragmas.cshtml) - Html - <p>
+ IntermediateToken - (186:15,11 [29] NoLinePragmas.cshtml) - Html - No really, we wrote 10 lines!
+ IntermediateToken - (215:15,40 [4] NoLinePragmas.cshtml) - Html - </p>
+ IntermediateToken - (219:15,44 [2] NoLinePragmas.cshtml) - Html - \n
+ CSharpCode - (221:16,0 [30] NoLinePragmas.cshtml)
+ IntermediateToken - (221:16,0 [30] NoLinePragmas.cshtml) - CSharp - break;\n default:\n
+ HtmlContent - (251:18,0 [39] NoLinePragmas.cshtml)
+ IntermediateToken - (251:18,0 [8] NoLinePragmas.cshtml) - Html -
+ IntermediateToken - (259:18,8 [3] NoLinePragmas.cshtml) - Html - <p>
+ IntermediateToken - (262:18,11 [22] NoLinePragmas.cshtml) - Html - Actually, we didn't...
+ IntermediateToken - (284:18,33 [4] NoLinePragmas.cshtml) - Html - </p>
+ IntermediateToken - (288:18,37 [2] NoLinePragmas.cshtml) - Html - \n
+ CSharpCode - (290:19,0 [19] NoLinePragmas.cshtml)
+ IntermediateToken - (290:19,0 [19] NoLinePragmas.cshtml) - CSharp - break;\n}\n
+ HtmlContent - (309:21,0 [2] NoLinePragmas.cshtml)
+ IntermediateToken - (309:21,0 [2] NoLinePragmas.cshtml) - Html - \n
+ CSharpCode - (312:22,1 [35] NoLinePragmas.cshtml)
+ IntermediateToken - (312:22,1 [35] NoLinePragmas.cshtml) - CSharp - for(int j = 1; j <= 10; j += 2) {\n
+ HtmlContent - (347:23,0 [29] NoLinePragmas.cshtml)
+ IntermediateToken - (347:23,0 [4] NoLinePragmas.cshtml) - Html -
+ IntermediateToken - (351:23,4 [3] NoLinePragmas.cshtml) - Html - <p>
+ IntermediateToken - (354:23,7 [22] NoLinePragmas.cshtml) - Html - Hello again from C#, #
+ CSharpExpression - (378:23,31 [1] NoLinePragmas.cshtml)
+ IntermediateToken - (378:23,31 [1] NoLinePragmas.cshtml) - CSharp - j
+ HtmlContent - (380:23,33 [6] NoLinePragmas.cshtml)
+ IntermediateToken - (380:23,33 [4] NoLinePragmas.cshtml) - Html - </p>
+ IntermediateToken - (384:23,37 [2] NoLinePragmas.cshtml) - Html - \n
+ CSharpCode - (386:24,0 [3] NoLinePragmas.cshtml)
+ IntermediateToken - (386:24,0 [3] NoLinePragmas.cshtml) - CSharp - }\n
+ HtmlContent - (389:25,0 [2] NoLinePragmas.cshtml)
+ IntermediateToken - (389:25,0 [2] NoLinePragmas.cshtml) - Html - \n
+ CSharpCode - (392:26,1 [7] NoLinePragmas.cshtml)
+ IntermediateToken - (392:26,1 [7] NoLinePragmas.cshtml) - CSharp - try {\n
+ HtmlContent - (399:27,0 [41] NoLinePragmas.cshtml)
+ IntermediateToken - (399:27,0 [4] NoLinePragmas.cshtml) - Html -
+ IntermediateToken - (403:27,4 [3] NoLinePragmas.cshtml) - Html - <p>
+ IntermediateToken - (406:27,7 [28] NoLinePragmas.cshtml) - Html - That time, we wrote 5 lines!
+ IntermediateToken - (434:27,35 [4] NoLinePragmas.cshtml) - Html - </p>
+ IntermediateToken - (438:27,39 [2] NoLinePragmas.cshtml) - Html - \n
+ CSharpCode - (440:28,0 [25] NoLinePragmas.cshtml)
+ IntermediateToken - (440:28,0 [25] NoLinePragmas.cshtml) - CSharp - } catch(Exception ex) {\n
+ HtmlContent - (465:29,0 [33] NoLinePragmas.cshtml)
+ IntermediateToken - (465:29,0 [4] NoLinePragmas.cshtml) - Html -
+ IntermediateToken - (469:29,4 [3] NoLinePragmas.cshtml) - Html - <p>
+ IntermediateToken - (472:29,7 [26] NoLinePragmas.cshtml) - Html - Oh no! An error occurred:
+ CSharpExpression - (500:29,35 [10] NoLinePragmas.cshtml)
+ IntermediateToken - (500:29,35 [10] NoLinePragmas.cshtml) - CSharp - ex.Message
+ HtmlContent - (511:29,46 [6] NoLinePragmas.cshtml)
+ IntermediateToken - (511:29,46 [4] NoLinePragmas.cshtml) - Html - </p>
+ IntermediateToken - (515:29,50 [2] NoLinePragmas.cshtml) - Html - \n
+ CSharpCode - (517:30,0 [5] NoLinePragmas.cshtml)
+ IntermediateToken - (517:30,0 [5] NoLinePragmas.cshtml) - CSharp - }\n\n
+ CSharpCode - (556:32,34 [2] NoLinePragmas.cshtml)
+ IntermediateToken - (556:32,34 [2] NoLinePragmas.cshtml) - CSharp - \n
+ HtmlContent - (558:33,0 [12] NoLinePragmas.cshtml)
+ IntermediateToken - (558:33,0 [3] NoLinePragmas.cshtml) - Html - <p>
+ IntermediateToken - (561:33,3 [9] NoLinePragmas.cshtml) - Html - i is now
+ CSharpExpression - (571:33,13 [1] NoLinePragmas.cshtml)
+ IntermediateToken - (571:33,13 [1] NoLinePragmas.cshtml) - CSharp - i
+ HtmlContent - (572:33,14 [8] NoLinePragmas.cshtml)
+ IntermediateToken - (572:33,14 [4] NoLinePragmas.cshtml) - Html - </p>
+ IntermediateToken - (576:33,18 [4] NoLinePragmas.cshtml) - Html - \n\n
+ CSharpCode - (581:35,1 [22] NoLinePragmas.cshtml)
+ IntermediateToken - (581:35,1 [22] NoLinePragmas.cshtml) - CSharp - lock(new object()) {\n
+ HtmlContent - (603:36,0 [53] NoLinePragmas.cshtml)
+ IntermediateToken - (603:36,0 [4] NoLinePragmas.cshtml) - Html -
+ IntermediateToken - (607:36,4 [3] NoLinePragmas.cshtml) - Html - <p>
+ IntermediateToken - (610:36,7 [40] NoLinePragmas.cshtml) - Html - This block is locked, for your security!
+ IntermediateToken - (650:36,47 [4] NoLinePragmas.cshtml) - Html - </p>
+ IntermediateToken - (654:36,51 [2] NoLinePragmas.cshtml) - Html - \n
+ CSharpCode - (656:37,0 [1] NoLinePragmas.cshtml)
+ IntermediateToken - (656:37,0 [1] NoLinePragmas.cshtml) - CSharp - }
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml
new file mode 100644
index 0000000000..fa87620317
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml
@@ -0,0 +1,11 @@
+@{
+ @ViewBag?.Data
+ @ViewBag.IntIndexer?[0]
+ @ViewBag.StrIndexer?["key"]
+ @ViewBag?.Method(Value?[23]?.More)?["key"]
+}
+
+@ViewBag?.Data
+@ViewBag.IntIndexer?[0]
+@ViewBag.StrIndexer?["key"]
+@ViewBag?.Method(Value?[23]?.More)?["key"] \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions_DesignTime.codegen.cs
new file mode 100644
index 0000000000..a380c6449e
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions_DesignTime.codegen.cs
@@ -0,0 +1,72 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_NullConditionalExpressions_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+
+
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml"
+__o = ViewBag?.Data;
+
+#line default
+#line hidden
+
+
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml"
+__o = ViewBag.IntIndexer?[0];
+
+#line default
+#line hidden
+
+
+#line 4 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml"
+__o = ViewBag.StrIndexer?["key"];
+
+#line default
+#line hidden
+
+
+#line 5 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml"
+__o = ViewBag?.Method(Value?[23]?.More)?["key"];
+
+#line default
+#line hidden
+
+
+#line 8 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml"
+__o = ViewBag?.Data;
+
+#line default
+#line hidden
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml"
+__o = ViewBag.IntIndexer?[0];
+
+#line default
+#line hidden
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml"
+__o = ViewBag.StrIndexer?["key"];
+
+#line default
+#line hidden
+#line 11 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml"
+__o = ViewBag?.Method(Value?[23]?.More)?["key"];
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions_DesignTime.ir.txt
new file mode 100644
index 0000000000..58e35883ee
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions_DesignTime.ir.txt
@@ -0,0 +1,45 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_NullConditionalExpressions_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (2:0,2 [6] NullConditionalExpressions.cshtml)
+ IntermediateToken - (2:0,2 [6] NullConditionalExpressions.cshtml) - CSharp - \n
+ CSharpExpression - (9:1,5 [13] NullConditionalExpressions.cshtml)
+ IntermediateToken - (9:1,5 [13] NullConditionalExpressions.cshtml) - CSharp - ViewBag?.Data
+ CSharpCode - (22:1,18 [6] NullConditionalExpressions.cshtml)
+ IntermediateToken - (22:1,18 [6] NullConditionalExpressions.cshtml) - CSharp - \n
+ CSharpExpression - (29:2,5 [22] NullConditionalExpressions.cshtml)
+ IntermediateToken - (29:2,5 [22] NullConditionalExpressions.cshtml) - CSharp - ViewBag.IntIndexer?[0]
+ CSharpCode - (51:2,27 [6] NullConditionalExpressions.cshtml)
+ IntermediateToken - (51:2,27 [6] NullConditionalExpressions.cshtml) - CSharp - \n
+ CSharpExpression - (58:3,5 [26] NullConditionalExpressions.cshtml)
+ IntermediateToken - (58:3,5 [26] NullConditionalExpressions.cshtml) - CSharp - ViewBag.StrIndexer?["key"]
+ CSharpCode - (84:3,31 [6] NullConditionalExpressions.cshtml)
+ IntermediateToken - (84:3,31 [6] NullConditionalExpressions.cshtml) - CSharp - \n
+ CSharpExpression - (91:4,5 [41] NullConditionalExpressions.cshtml)
+ IntermediateToken - (91:4,5 [41] NullConditionalExpressions.cshtml) - CSharp - ViewBag?.Method(Value?[23]?.More)?["key"]
+ CSharpCode - (132:4,46 [2] NullConditionalExpressions.cshtml)
+ IntermediateToken - (132:4,46 [2] NullConditionalExpressions.cshtml) - CSharp - \n
+ HtmlContent - (137:6,0 [2] NullConditionalExpressions.cshtml)
+ IntermediateToken - (137:6,0 [2] NullConditionalExpressions.cshtml) - Html - \n
+ CSharpExpression - (140:7,1 [13] NullConditionalExpressions.cshtml)
+ IntermediateToken - (140:7,1 [13] NullConditionalExpressions.cshtml) - CSharp - ViewBag?.Data
+ HtmlContent - (153:7,14 [2] NullConditionalExpressions.cshtml)
+ IntermediateToken - (153:7,14 [2] NullConditionalExpressions.cshtml) - Html - \n
+ CSharpExpression - (156:8,1 [22] NullConditionalExpressions.cshtml)
+ IntermediateToken - (156:8,1 [22] NullConditionalExpressions.cshtml) - CSharp - ViewBag.IntIndexer?[0]
+ HtmlContent - (178:8,23 [2] NullConditionalExpressions.cshtml)
+ IntermediateToken - (178:8,23 [2] NullConditionalExpressions.cshtml) - Html - \n
+ CSharpExpression - (181:9,1 [26] NullConditionalExpressions.cshtml)
+ IntermediateToken - (181:9,1 [26] NullConditionalExpressions.cshtml) - CSharp - ViewBag.StrIndexer?["key"]
+ HtmlContent - (207:9,27 [2] NullConditionalExpressions.cshtml)
+ IntermediateToken - (207:9,27 [2] NullConditionalExpressions.cshtml) - Html - \n
+ CSharpExpression - (210:10,1 [41] NullConditionalExpressions.cshtml)
+ IntermediateToken - (210:10,1 [41] NullConditionalExpressions.cshtml) - CSharp - ViewBag?.Method(Value?[23]?.More)?["key"]
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions_DesignTime.mappings.txt
new file mode 100644
index 0000000000..0f7b77a97c
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions_DesignTime.mappings.txt
@@ -0,0 +1,75 @@
+Source Location: (2:0,2 [6] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml)
+|
+ |
+Generated Location: (663:17,14 [6] )
+|
+ |
+
+Source Location: (9:1,5 [13] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml)
+|ViewBag?.Data|
+Generated Location: (779:20,6 [13] )
+|ViewBag?.Data|
+
+Source Location: (22:1,18 [6] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml)
+|
+ |
+Generated Location: (856:24,30 [6] )
+|
+ |
+
+Source Location: (29:2,5 [22] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml)
+|ViewBag.IntIndexer?[0]|
+Generated Location: (972:27,6 [22] )
+|ViewBag.IntIndexer?[0]|
+
+Source Location: (51:2,27 [6] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml)
+|
+ |
+Generated Location: (1067:31,39 [6] )
+|
+ |
+
+Source Location: (58:3,5 [26] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml)
+|ViewBag.StrIndexer?["key"]|
+Generated Location: (1183:34,6 [26] )
+|ViewBag.StrIndexer?["key"]|
+
+Source Location: (84:3,31 [6] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml)
+|
+ |
+Generated Location: (1286:38,43 [6] )
+|
+ |
+
+Source Location: (91:4,5 [41] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml)
+|ViewBag?.Method(Value?[23]?.More)?["key"]|
+Generated Location: (1402:41,6 [41] )
+|ViewBag?.Method(Value?[23]?.More)?["key"]|
+
+Source Location: (132:4,46 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml)
+|
+|
+Generated Location: (1535:45,58 [2] )
+|
+|
+
+Source Location: (140:7,1 [13] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml)
+|ViewBag?.Data|
+Generated Location: (1647:48,6 [13] )
+|ViewBag?.Data|
+
+Source Location: (156:8,1 [22] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml)
+|ViewBag.IntIndexer?[0]|
+Generated Location: (1802:53,6 [22] )
+|ViewBag.IntIndexer?[0]|
+
+Source Location: (181:9,1 [26] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml)
+|ViewBag.StrIndexer?["key"]|
+Generated Location: (1967:58,6 [26] )
+|ViewBag.StrIndexer?["key"]|
+
+Source Location: (210:10,1 [41] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml)
+|ViewBag?.Method(Value?[23]?.More)?["key"]|
+Generated Location: (2136:63,6 [41] )
+|ViewBag?.Method(Value?[23]?.More)?["key"]|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions_Runtime.codegen.cs
new file mode 100644
index 0000000000..eb8bd3a54e
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions_Runtime.codegen.cs
@@ -0,0 +1,62 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "c76f9ddb44b2830babd64c0afeaa96aba6a6ae27"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_NullConditionalExpressions_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"c76f9ddb44b2830babd64c0afeaa96aba6a6ae27", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_NullConditionalExpressions_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml"
+Write(ViewBag?.Data);
+
+#line default
+#line hidden
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml"
+Write(ViewBag.IntIndexer?[0]);
+
+#line default
+#line hidden
+#line 4 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml"
+Write(ViewBag.StrIndexer?["key"]);
+
+#line default
+#line hidden
+#line 5 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml"
+Write(ViewBag?.Method(Value?[23]?.More)?["key"]);
+
+#line default
+#line hidden
+ WriteLiteral("\r\n");
+#line 8 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml"
+Write(ViewBag?.Data);
+
+#line default
+#line hidden
+ WriteLiteral("\r\n");
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml"
+Write(ViewBag.IntIndexer?[0]);
+
+#line default
+#line hidden
+ WriteLiteral("\r\n");
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml"
+Write(ViewBag.StrIndexer?["key"]);
+
+#line default
+#line hidden
+ WriteLiteral("\r\n");
+#line 11 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions.cshtml"
+Write(ViewBag?.Method(Value?[23]?.More)?["key"]);
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions_Runtime.ir.txt
new file mode 100644
index 0000000000..8fd7d3dc26
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/NullConditionalExpressions_Runtime.ir.txt
@@ -0,0 +1,40 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_NullConditionalExpressions_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (2:0,2 [6] NullConditionalExpressions.cshtml)
+ IntermediateToken - (2:0,2 [6] NullConditionalExpressions.cshtml) - CSharp - \n
+ CSharpExpression - (9:1,5 [13] NullConditionalExpressions.cshtml)
+ IntermediateToken - (9:1,5 [13] NullConditionalExpressions.cshtml) - CSharp - ViewBag?.Data
+ CSharpCode - (22:1,18 [6] NullConditionalExpressions.cshtml)
+ IntermediateToken - (22:1,18 [6] NullConditionalExpressions.cshtml) - CSharp - \n
+ CSharpExpression - (29:2,5 [22] NullConditionalExpressions.cshtml)
+ IntermediateToken - (29:2,5 [22] NullConditionalExpressions.cshtml) - CSharp - ViewBag.IntIndexer?[0]
+ CSharpCode - (51:2,27 [6] NullConditionalExpressions.cshtml)
+ IntermediateToken - (51:2,27 [6] NullConditionalExpressions.cshtml) - CSharp - \n
+ CSharpExpression - (58:3,5 [26] NullConditionalExpressions.cshtml)
+ IntermediateToken - (58:3,5 [26] NullConditionalExpressions.cshtml) - CSharp - ViewBag.StrIndexer?["key"]
+ CSharpCode - (84:3,31 [6] NullConditionalExpressions.cshtml)
+ IntermediateToken - (84:3,31 [6] NullConditionalExpressions.cshtml) - CSharp - \n
+ CSharpExpression - (91:4,5 [41] NullConditionalExpressions.cshtml)
+ IntermediateToken - (91:4,5 [41] NullConditionalExpressions.cshtml) - CSharp - ViewBag?.Method(Value?[23]?.More)?["key"]
+ CSharpCode - (132:4,46 [2] NullConditionalExpressions.cshtml)
+ IntermediateToken - (132:4,46 [2] NullConditionalExpressions.cshtml) - CSharp - \n
+ HtmlContent - (137:6,0 [2] NullConditionalExpressions.cshtml)
+ IntermediateToken - (137:6,0 [2] NullConditionalExpressions.cshtml) - Html - \n
+ CSharpExpression - (140:7,1 [13] NullConditionalExpressions.cshtml)
+ IntermediateToken - (140:7,1 [13] NullConditionalExpressions.cshtml) - CSharp - ViewBag?.Data
+ HtmlContent - (153:7,14 [2] NullConditionalExpressions.cshtml)
+ IntermediateToken - (153:7,14 [2] NullConditionalExpressions.cshtml) - Html - \n
+ CSharpExpression - (156:8,1 [22] NullConditionalExpressions.cshtml)
+ IntermediateToken - (156:8,1 [22] NullConditionalExpressions.cshtml) - CSharp - ViewBag.IntIndexer?[0]
+ HtmlContent - (178:8,23 [2] NullConditionalExpressions.cshtml)
+ IntermediateToken - (178:8,23 [2] NullConditionalExpressions.cshtml) - Html - \n
+ CSharpExpression - (181:9,1 [26] NullConditionalExpressions.cshtml)
+ IntermediateToken - (181:9,1 [26] NullConditionalExpressions.cshtml) - CSharp - ViewBag.StrIndexer?["key"]
+ HtmlContent - (207:9,27 [2] NullConditionalExpressions.cshtml)
+ IntermediateToken - (207:9,27 [2] NullConditionalExpressions.cshtml) - Html - \n
+ CSharpExpression - (210:10,1 [41] NullConditionalExpressions.cshtml)
+ IntermediateToken - (210:10,1 [41] NullConditionalExpressions.cshtml) - CSharp - ViewBag?.Method(Value?[23]?.More)?["key"]
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf.cshtml
new file mode 100644
index 0000000000..33162eb90b
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf.cshtml
@@ -0,0 +1,5 @@
+<html>
+<body>
+@if (true) {
+</body>
+</html> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf_DesignTime.codegen.cs
new file mode 100644
index 0000000000..cbf0fbd1b9
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf_DesignTime.codegen.cs
@@ -0,0 +1,30 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_OpenedIf_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf.cshtml"
+ if (true) {
+
+#line default
+#line hidden
+
+
+
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf_DesignTime.diagnostics.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf_DesignTime.diagnostics.txt
new file mode 100644
index 0000000000..49f293ec33
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf_DesignTime.diagnostics.txt
@@ -0,0 +1,3 @@
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf.cshtml(4,3): Error RZ1026: Encountered end tag "body" with no matching start tag. Are your start/end tags properly balanced?
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf.cshtml(5,3): Error RZ1026: Encountered end tag "html" with no matching start tag. Are your start/end tags properly balanced?
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf.cshtml(3,2): Error RZ1006: The if block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf_DesignTime.ir.txt
new file mode 100644
index 0000000000..c7c6a63d11
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf_DesignTime.ir.txt
@@ -0,0 +1,26 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_OpenedIf_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (0:0,0 [16] OpenedIf.cshtml)
+ IntermediateToken - (0:0,0 [6] OpenedIf.cshtml) - Html - <html>
+ IntermediateToken - (6:0,6 [2] OpenedIf.cshtml) - Html - \n
+ IntermediateToken - (8:1,0 [6] OpenedIf.cshtml) - Html - <body>
+ IntermediateToken - (14:1,6 [2] OpenedIf.cshtml) - Html - \n
+ CSharpCode - (17:2,1 [14] OpenedIf.cshtml)
+ IntermediateToken - (17:2,1 [14] OpenedIf.cshtml) - CSharp - if (true) { \n
+ HtmlContent - (31:3,0 [7] OpenedIf.cshtml)
+ IntermediateToken - (31:3,0 [7] OpenedIf.cshtml) - Html - </body>
+ CSharpCode - (38:3,7 [2] OpenedIf.cshtml)
+ IntermediateToken - (38:3,7 [2] OpenedIf.cshtml) - CSharp - \n
+ HtmlContent - (40:4,0 [7] OpenedIf.cshtml)
+ IntermediateToken - (40:4,0 [7] OpenedIf.cshtml) - Html - </html>
+ CSharpCode - (47:4,7 [0] OpenedIf.cshtml)
+ IntermediateToken - (47:4,7 [0] OpenedIf.cshtml) - CSharp -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf_DesignTime.mappings.txt
new file mode 100644
index 0000000000..0e07728ecc
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf_DesignTime.mappings.txt
@@ -0,0 +1,19 @@
+Source Location: (17:2,1 [14] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf.cshtml)
+|if (true) {
+|
+Generated Location: (716:18,1 [14] )
+|if (true) {
+|
+
+Source Location: (38:3,7 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf.cshtml)
+|
+|
+Generated Location: (780:22,19 [2] )
+|
+|
+
+Source Location: (47:4,7 [0] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf.cshtml)
+||
+Generated Location: (803:24,19 [0] )
+||
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf_Runtime.codegen.cs
new file mode 100644
index 0000000000..bbf190f222
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf_Runtime.codegen.cs
@@ -0,0 +1,25 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "afefc9ccf10183402eae0b9e4175393b3797a27b"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_OpenedIf_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"afefc9ccf10183402eae0b9e4175393b3797a27b", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_OpenedIf_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("<html>\r\n<body>\r\n");
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf.cshtml"
+ if (true) {
+
+#line default
+#line hidden
+ WriteLiteral("</body>\r\n</html>");
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf_Runtime.diagnostics.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf_Runtime.diagnostics.txt
new file mode 100644
index 0000000000..49f293ec33
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf_Runtime.diagnostics.txt
@@ -0,0 +1,3 @@
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf.cshtml(4,3): Error RZ1026: Encountered end tag "body" with no matching start tag. Are your start/end tags properly balanced?
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf.cshtml(5,3): Error RZ1026: Encountered end tag "html" with no matching start tag. Are your start/end tags properly balanced?
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf.cshtml(3,2): Error RZ1006: The if block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf_Runtime.ir.txt
new file mode 100644
index 0000000000..24ee8b0ec7
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/OpenedIf_Runtime.ir.txt
@@ -0,0 +1,19 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_OpenedIf_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (0:0,0 [16] OpenedIf.cshtml)
+ IntermediateToken - (0:0,0 [6] OpenedIf.cshtml) - Html - <html>
+ IntermediateToken - (6:0,6 [2] OpenedIf.cshtml) - Html - \n
+ IntermediateToken - (8:1,0 [6] OpenedIf.cshtml) - Html - <body>
+ IntermediateToken - (14:1,6 [2] OpenedIf.cshtml) - Html - \n
+ CSharpCode - (17:2,1 [14] OpenedIf.cshtml)
+ IntermediateToken - (17:2,1 [14] OpenedIf.cshtml) - CSharp - if (true) { \n
+ HtmlContent - (31:3,0 [16] OpenedIf.cshtml)
+ IntermediateToken - (31:3,0 [7] OpenedIf.cshtml) - Html - </body>
+ IntermediateToken - (38:3,7 [2] OpenedIf.cshtml) - Html - \n
+ IntermediateToken - (40:4,0 [7] OpenedIf.cshtml) - Html - </html>
+ CSharpCode - (47:4,7 [0] OpenedIf.cshtml)
+ IntermediateToken - (47:4,7 [0] OpenedIf.cshtml) - CSharp -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError.cshtml
new file mode 100644
index 0000000000..ab30e853fd
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError.cshtml
@@ -0,0 +1,5 @@
+@{
+/*
+int i =10;
+int j =20;
+} \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError_DesignTime.codegen.cs
new file mode 100644
index 0000000000..10aa94d8a5
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError_DesignTime.codegen.cs
@@ -0,0 +1,31 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ParserError_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError.cshtml"
+
+/*
+int i =10;
+int j =20;
+}
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError_DesignTime.diagnostics.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError_DesignTime.diagnostics.txt
new file mode 100644
index 0000000000..1a25d90e26
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError_DesignTime.diagnostics.txt
@@ -0,0 +1,2 @@
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError.cshtml(2,1): Error RZ1001: End of file was reached before the end of the block comment. All comments started with "/*" sequence must be terminated with a matching "*/" sequence.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError.cshtml(1,2): Error RZ1006: The code block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError_DesignTime.ir.txt
new file mode 100644
index 0000000000..42fae7cec7
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError_DesignTime.ir.txt
@@ -0,0 +1,13 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ParserError_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (2:0,2 [31] ParserError.cshtml)
+ IntermediateToken - (2:0,2 [31] ParserError.cshtml) - CSharp - \n/*\nint i =10;\nint j =20;\n}
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError_DesignTime.mappings.txt
new file mode 100644
index 0000000000..4056c77df2
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError_DesignTime.mappings.txt
@@ -0,0 +1,13 @@
+Source Location: (2:0,2 [31] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError.cshtml)
+|
+/*
+int i =10;
+int j =20;
+}|
+Generated Location: (723:18,2 [31] )
+|
+/*
+int i =10;
+int j =20;
+}|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError_Runtime.codegen.cs
new file mode 100644
index 0000000000..002c92b63e
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError_Runtime.codegen.cs
@@ -0,0 +1,27 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "a94df714867cbb0e2369fe24157b5d04e2e7a9cf"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ParserError_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"a94df714867cbb0e2369fe24157b5d04e2e7a9cf", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ParserError_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError.cshtml"
+
+/*
+int i =10;
+int j =20;
+}
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError_Runtime.diagnostics.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError_Runtime.diagnostics.txt
new file mode 100644
index 0000000000..1a25d90e26
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError_Runtime.diagnostics.txt
@@ -0,0 +1,2 @@
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError.cshtml(2,1): Error RZ1001: End of file was reached before the end of the block comment. All comments started with "/*" sequence must be terminated with a matching "*/" sequence.
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError.cshtml(1,2): Error RZ1006: The code block is missing a closing "}" character. Make sure you have a matching "}" character for all the "{" characters within this block, and that none of the "}" characters are being interpreted as markup.
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError_Runtime.ir.txt
new file mode 100644
index 0000000000..8f60e461b4
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/ParserError_Runtime.ir.txt
@@ -0,0 +1,8 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_ParserError_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (2:0,2 [31] ParserError.cshtml)
+ IntermediateToken - (2:0,2 [31] ParserError.cshtml) - CSharp - \n/*\nint i =10;\nint j =20;\n}
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml
new file mode 100644
index 0000000000..797a828688
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml
@@ -0,0 +1,23 @@
+@addTagHelper "*, TestAssembly"
+
+@{
+ var literate = "or illiterate";
+ var intDictionary = new Dictionary<string, int>
+ {
+ { "three", 3 },
+ };
+ var stringDictionary = new SortedDictionary<string, string>
+ {
+ { "name", "value" },
+ };
+}
+
+<div class="randomNonTagHelperAttribute">
+ <input type="checkbox" int-dictionary="intDictionary" string-dictionary="stringDictionary"/>
+ <input type="password" int-dictionary="intDictionary" int-prefix-garlic="37" int-prefix-grabber="42" />
+ <input type="radio"
+ int-prefix-grabber="42" int-prefix-salt="37" int-prefix-pepper="98" int-prefix-salt="8"
+ string-prefix-grabber="string" string-prefix-paprika="another string"
+ string-prefix-cumin="literate @literate?"/>
+ <input int-prefix-value="37" string-prefix-thyme="string" />
+</div> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers_DesignTime.codegen.cs
new file mode 100644
index 0000000000..438c533987
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers_DesignTime.codegen.cs
@@ -0,0 +1,117 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_PrefixedAttributeTagHelpers_DesignTime
+ {
+ private global::TestNamespace.InputTagHelper1 __TestNamespace_InputTagHelper1;
+ private global::TestNamespace.InputTagHelper2 __TestNamespace_InputTagHelper2;
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "*, TestAssembly";
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml"
+
+ var literate = "or illiterate";
+ var intDictionary = new Dictionary<string, int>
+ {
+ { "three", 3 },
+ };
+ var stringDictionary = new SortedDictionary<string, string>
+ {
+ { "name", "value" },
+ };
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper1 = CreateTagHelper<global::TestNamespace.InputTagHelper1>();
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+#line 16 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml"
+__TestNamespace_InputTagHelper1.IntDictionaryProperty = intDictionary;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper2.IntDictionaryProperty = __TestNamespace_InputTagHelper1.IntDictionaryProperty;
+#line 16 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml"
+ __TestNamespace_InputTagHelper1.StringDictionaryProperty = stringDictionary;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper2.StringDictionaryProperty = __TestNamespace_InputTagHelper1.StringDictionaryProperty;
+ __TestNamespace_InputTagHelper1 = CreateTagHelper<global::TestNamespace.InputTagHelper1>();
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+#line 17 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml"
+__TestNamespace_InputTagHelper1.IntDictionaryProperty = intDictionary;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper2.IntDictionaryProperty = __TestNamespace_InputTagHelper1.IntDictionaryProperty;
+#line 17 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml"
+ __TestNamespace_InputTagHelper1.IntDictionaryProperty["garlic"] = 37;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper2.IntDictionaryProperty["garlic"] = __TestNamespace_InputTagHelper1.IntDictionaryProperty["garlic"];
+#line 17 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml"
+ __TestNamespace_InputTagHelper1.IntProperty = 42;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper2.IntDictionaryProperty["grabber"] = __TestNamespace_InputTagHelper1.IntProperty;
+ __TestNamespace_InputTagHelper1 = CreateTagHelper<global::TestNamespace.InputTagHelper1>();
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+#line 19 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml"
+__TestNamespace_InputTagHelper1.IntProperty = 42;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper2.IntDictionaryProperty["grabber"] = __TestNamespace_InputTagHelper1.IntProperty;
+#line 19 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml"
+__TestNamespace_InputTagHelper1.IntDictionaryProperty["salt"] = 37;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper2.IntDictionaryProperty["salt"] = __TestNamespace_InputTagHelper1.IntDictionaryProperty["salt"];
+#line 19 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml"
+ __TestNamespace_InputTagHelper1.IntDictionaryProperty["pepper"] = 98;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper2.IntDictionaryProperty["pepper"] = __TestNamespace_InputTagHelper1.IntDictionaryProperty["pepper"];
+ __TestNamespace_InputTagHelper1.StringProperty = "string";
+ __TestNamespace_InputTagHelper2.StringDictionaryProperty["grabber"] = __TestNamespace_InputTagHelper1.StringProperty;
+ __TestNamespace_InputTagHelper1.StringDictionaryProperty["paprika"] = "another string";
+ __TestNamespace_InputTagHelper2.StringDictionaryProperty["paprika"] = __TestNamespace_InputTagHelper1.StringDictionaryProperty["paprika"];
+#line 21 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml"
+ __o = literate;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper1.StringDictionaryProperty["cumin"] = string.Empty;
+ __TestNamespace_InputTagHelper2.StringDictionaryProperty["cumin"] = __TestNamespace_InputTagHelper1.StringDictionaryProperty["cumin"];
+ __TestNamespace_InputTagHelper1 = CreateTagHelper<global::TestNamespace.InputTagHelper1>();
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+#line 22 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml"
+__TestNamespace_InputTagHelper1.IntDictionaryProperty["value"] = 37;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper2.IntDictionaryProperty["value"] = __TestNamespace_InputTagHelper1.IntDictionaryProperty["value"];
+ __TestNamespace_InputTagHelper1.StringDictionaryProperty["thyme"] = "string";
+ __TestNamespace_InputTagHelper2.StringDictionaryProperty["thyme"] = __TestNamespace_InputTagHelper1.StringDictionaryProperty["thyme"];
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers_DesignTime.ir.txt
new file mode 100644
index 0000000000..add0db7eff
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers_DesignTime.ir.txt
@@ -0,0 +1,136 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_PrefixedAttributeTagHelpers_DesignTime - -
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper1 - __TestNamespace_InputTagHelper1
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper2 - __TestNamespace_InputTagHelper2
+ DesignTimeDirective -
+ DirectiveToken - (14:0,14 [17] PrefixedAttributeTagHelpers.cshtml) - "*, TestAssembly"
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (31:0,31 [4] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (31:0,31 [4] PrefixedAttributeTagHelpers.cshtml) - Html - \n\n
+ CSharpCode - (37:2,2 [242] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (37:2,2 [242] PrefixedAttributeTagHelpers.cshtml) - CSharp - \n var literate = "or illiterate";\n var intDictionary = new Dictionary<string, int>\n {\n { "three", 3 },\n };\n var stringDictionary = new SortedDictionary<string, string>\n {\n { "name", "value" },\n };\n
+ HtmlContent - (282:13,0 [49] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (282:13,0 [2] PrefixedAttributeTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (284:14,0 [4] PrefixedAttributeTagHelpers.cshtml) - Html - <div
+ IntermediateToken - (288:14,4 [36] PrefixedAttributeTagHelpers.cshtml) - Html - class="randomNonTagHelperAttribute"
+ IntermediateToken - (324:14,40 [1] PrefixedAttributeTagHelpers.cshtml) - Html - >
+ IntermediateToken - (325:14,41 [6] PrefixedAttributeTagHelpers.cshtml) - Html - \n
+ TagHelper - (331:15,4 [92] PrefixedAttributeTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper1
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperHtmlAttribute - - type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (344:15,17 [8] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (344:15,17 [8] PrefixedAttributeTagHelpers.cshtml) - Html - checkbox
+ DefaultTagHelperProperty - (370:15,43 [13] PrefixedAttributeTagHelpers.cshtml) - int-dictionary - System.Collections.Generic.IDictionary<string, int> TestNamespace.InputTagHelper1.IntDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (370:15,43 [13] PrefixedAttributeTagHelpers.cshtml) - CSharp - intDictionary
+ DefaultTagHelperProperty - (370:15,43 [13] PrefixedAttributeTagHelpers.cshtml) - int-dictionary - int TestNamespace.InputTagHelper2.IntDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (370:15,43 [13] PrefixedAttributeTagHelpers.cshtml) - CSharp - intDictionary
+ DefaultTagHelperProperty - (404:15,77 [16] PrefixedAttributeTagHelpers.cshtml) - string-dictionary - Namespace.DictionaryWithoutParameterlessConstructor<string, string> TestNamespace.InputTagHelper1.StringDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (404:15,77 [16] PrefixedAttributeTagHelpers.cshtml) - CSharp - stringDictionary
+ DefaultTagHelperProperty - (404:15,77 [16] PrefixedAttributeTagHelpers.cshtml) - string-dictionary - Namespace.DictionaryWithoutParameterlessConstructor<string, string> TestNamespace.InputTagHelper2.StringDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (404:15,77 [16] PrefixedAttributeTagHelpers.cshtml) - CSharp - stringDictionary
+ DefaultTagHelperExecute -
+ HtmlContent - (423:15,96 [6] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (423:15,96 [6] PrefixedAttributeTagHelpers.cshtml) - Html - \n
+ TagHelper - (429:16,4 [103] PrefixedAttributeTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper1
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperHtmlAttribute - - type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (442:16,17 [8] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (442:16,17 [8] PrefixedAttributeTagHelpers.cshtml) - Html - password
+ DefaultTagHelperProperty - (468:16,43 [13] PrefixedAttributeTagHelpers.cshtml) - int-dictionary - System.Collections.Generic.IDictionary<string, int> TestNamespace.InputTagHelper1.IntDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (468:16,43 [13] PrefixedAttributeTagHelpers.cshtml) - CSharp - intDictionary
+ DefaultTagHelperProperty - (468:16,43 [13] PrefixedAttributeTagHelpers.cshtml) - int-dictionary - int TestNamespace.InputTagHelper2.IntDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (468:16,43 [13] PrefixedAttributeTagHelpers.cshtml) - CSharp - intDictionary
+ DefaultTagHelperProperty - (502:16,77 [2] PrefixedAttributeTagHelpers.cshtml) - int-prefix-garlic - System.Collections.Generic.IDictionary<string, int> TestNamespace.InputTagHelper1.IntDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (502:16,77 [2] PrefixedAttributeTagHelpers.cshtml) - CSharp - 37
+ DefaultTagHelperProperty - (502:16,77 [2] PrefixedAttributeTagHelpers.cshtml) - int-prefix-garlic - int TestNamespace.InputTagHelper2.IntDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (502:16,77 [2] PrefixedAttributeTagHelpers.cshtml) - CSharp - 37
+ DefaultTagHelperProperty - (526:16,101 [2] PrefixedAttributeTagHelpers.cshtml) - int-prefix-grabber - int TestNamespace.InputTagHelper1.IntProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (526:16,101 [2] PrefixedAttributeTagHelpers.cshtml) - CSharp - 42
+ DefaultTagHelperProperty - (526:16,101 [2] PrefixedAttributeTagHelpers.cshtml) - int-prefix-grabber - int TestNamespace.InputTagHelper2.IntDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (526:16,101 [2] PrefixedAttributeTagHelpers.cshtml) - CSharp - 42
+ DefaultTagHelperExecute -
+ HtmlContent - (532:16,107 [6] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (532:16,107 [6] PrefixedAttributeTagHelpers.cshtml) - Html - \n
+ TagHelper - (538:17,4 [257] PrefixedAttributeTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper1
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperHtmlAttribute - - type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (551:17,17 [5] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (551:17,17 [5] PrefixedAttributeTagHelpers.cshtml) - Html - radio
+ DefaultTagHelperProperty - (590:18,31 [2] PrefixedAttributeTagHelpers.cshtml) - int-prefix-grabber - int TestNamespace.InputTagHelper1.IntProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (590:18,31 [2] PrefixedAttributeTagHelpers.cshtml) - CSharp - 42
+ DefaultTagHelperProperty - (590:18,31 [2] PrefixedAttributeTagHelpers.cshtml) - int-prefix-grabber - int TestNamespace.InputTagHelper2.IntDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (590:18,31 [2] PrefixedAttributeTagHelpers.cshtml) - CSharp - 42
+ DefaultTagHelperProperty - (611:18,52 [2] PrefixedAttributeTagHelpers.cshtml) - int-prefix-salt - System.Collections.Generic.IDictionary<string, int> TestNamespace.InputTagHelper1.IntDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (611:18,52 [2] PrefixedAttributeTagHelpers.cshtml) - CSharp - 37
+ DefaultTagHelperProperty - (611:18,52 [2] PrefixedAttributeTagHelpers.cshtml) - int-prefix-salt - int TestNamespace.InputTagHelper2.IntDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (611:18,52 [2] PrefixedAttributeTagHelpers.cshtml) - CSharp - 37
+ DefaultTagHelperProperty - (634:18,75 [2] PrefixedAttributeTagHelpers.cshtml) - int-prefix-pepper - System.Collections.Generic.IDictionary<string, int> TestNamespace.InputTagHelper1.IntDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (634:18,75 [2] PrefixedAttributeTagHelpers.cshtml) - CSharp - 98
+ DefaultTagHelperProperty - (634:18,75 [2] PrefixedAttributeTagHelpers.cshtml) - int-prefix-pepper - int TestNamespace.InputTagHelper2.IntDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (634:18,75 [2] PrefixedAttributeTagHelpers.cshtml) - CSharp - 98
+ DefaultTagHelperHtmlAttribute - - int-prefix-salt - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (655:18,96 [1] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (655:18,96 [1] PrefixedAttributeTagHelpers.cshtml) - Html - 8
+ DefaultTagHelperProperty - (693:19,34 [6] PrefixedAttributeTagHelpers.cshtml) - string-prefix-grabber - string TestNamespace.InputTagHelper1.StringProperty - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (693:19,34 [6] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (693:19,34 [6] PrefixedAttributeTagHelpers.cshtml) - Html - string
+ DefaultTagHelperProperty - (693:19,34 [6] PrefixedAttributeTagHelpers.cshtml) - string-prefix-grabber - Namespace.DictionaryWithoutParameterlessConstructor<string, string> TestNamespace.InputTagHelper2.StringDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (693:19,34 [6] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (693:19,34 [6] PrefixedAttributeTagHelpers.cshtml) - Html - string
+ DefaultTagHelperProperty - (724:19,65 [14] PrefixedAttributeTagHelpers.cshtml) - string-prefix-paprika - Namespace.DictionaryWithoutParameterlessConstructor<string, string> TestNamespace.InputTagHelper1.StringDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (724:19,65 [14] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (724:19,65 [14] PrefixedAttributeTagHelpers.cshtml) - Html - another string
+ DefaultTagHelperProperty - (724:19,65 [14] PrefixedAttributeTagHelpers.cshtml) - string-prefix-paprika - Namespace.DictionaryWithoutParameterlessConstructor<string, string> TestNamespace.InputTagHelper2.StringDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (724:19,65 [14] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (724:19,65 [14] PrefixedAttributeTagHelpers.cshtml) - Html - another string
+ DefaultTagHelperProperty - (773:20,32 [19] PrefixedAttributeTagHelpers.cshtml) - string-prefix-cumin - Namespace.DictionaryWithoutParameterlessConstructor<string, string> TestNamespace.InputTagHelper1.StringDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (773:20,32 [9] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (773:20,32 [8] PrefixedAttributeTagHelpers.cshtml) - Html - literate
+ IntermediateToken - (781:20,40 [1] PrefixedAttributeTagHelpers.cshtml) - Html -
+ CSharpExpression - (783:20,42 [8] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (783:20,42 [8] PrefixedAttributeTagHelpers.cshtml) - CSharp - literate
+ HtmlContent - (791:20,50 [1] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (791:20,50 [1] PrefixedAttributeTagHelpers.cshtml) - Html - ?
+ DefaultTagHelperProperty - (773:20,32 [19] PrefixedAttributeTagHelpers.cshtml) - string-prefix-cumin - Namespace.DictionaryWithoutParameterlessConstructor<string, string> TestNamespace.InputTagHelper2.StringDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (773:20,32 [9] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (773:20,32 [8] PrefixedAttributeTagHelpers.cshtml) - Html - literate
+ IntermediateToken - (781:20,40 [1] PrefixedAttributeTagHelpers.cshtml) - Html -
+ CSharpExpression - (783:20,42 [8] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (783:20,42 [8] PrefixedAttributeTagHelpers.cshtml) - CSharp - literate
+ HtmlContent - (791:20,50 [1] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (791:20,50 [1] PrefixedAttributeTagHelpers.cshtml) - Html - ?
+ DefaultTagHelperExecute -
+ HtmlContent - (795:20,54 [6] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (795:20,54 [6] PrefixedAttributeTagHelpers.cshtml) - Html - \n
+ TagHelper - (801:21,4 [60] PrefixedAttributeTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper1
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperProperty - (826:21,29 [2] PrefixedAttributeTagHelpers.cshtml) - int-prefix-value - System.Collections.Generic.IDictionary<string, int> TestNamespace.InputTagHelper1.IntDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (826:21,29 [2] PrefixedAttributeTagHelpers.cshtml) - CSharp - 37
+ DefaultTagHelperProperty - (826:21,29 [2] PrefixedAttributeTagHelpers.cshtml) - int-prefix-value - int TestNamespace.InputTagHelper2.IntDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (826:21,29 [2] PrefixedAttributeTagHelpers.cshtml) - CSharp - 37
+ DefaultTagHelperProperty - (851:21,54 [6] PrefixedAttributeTagHelpers.cshtml) - string-prefix-thyme - Namespace.DictionaryWithoutParameterlessConstructor<string, string> TestNamespace.InputTagHelper1.StringDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (851:21,54 [6] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (851:21,54 [6] PrefixedAttributeTagHelpers.cshtml) - Html - string
+ DefaultTagHelperProperty - (851:21,54 [6] PrefixedAttributeTagHelpers.cshtml) - string-prefix-thyme - Namespace.DictionaryWithoutParameterlessConstructor<string, string> TestNamespace.InputTagHelper2.StringDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (851:21,54 [6] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (851:21,54 [6] PrefixedAttributeTagHelpers.cshtml) - Html - string
+ DefaultTagHelperExecute -
+ HtmlContent - (861:21,64 [8] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (861:21,64 [2] PrefixedAttributeTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (863:22,0 [6] PrefixedAttributeTagHelpers.cshtml) - Html - </div>
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers_DesignTime.mappings.txt
new file mode 100644
index 0000000000..2f22a4d206
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers_DesignTime.mappings.txt
@@ -0,0 +1,80 @@
+Source Location: (14:0,14 [17] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml)
+|"*, TestAssembly"|
+Generated Location: (609:12,37 [17] )
+|"*, TestAssembly"|
+
+Source Location: (37:2,2 [242] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml)
+|
+ var literate = "or illiterate";
+ var intDictionary = new Dictionary<string, int>
+ {
+ { "three", 3 },
+ };
+ var stringDictionary = new SortedDictionary<string, string>
+ {
+ { "name", "value" },
+ };
+|
+Generated Location: (1048:24,2 [242] )
+|
+ var literate = "or illiterate";
+ var intDictionary = new Dictionary<string, int>
+ {
+ { "three", 3 },
+ };
+ var stringDictionary = new SortedDictionary<string, string>
+ {
+ { "name", "value" },
+ };
+|
+
+Source Location: (370:15,43 [13] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml)
+|intDictionary|
+Generated Location: (1691:40,56 [13] )
+|intDictionary|
+
+Source Location: (404:15,77 [16] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml)
+|stringDictionary|
+Generated Location: (2043:46,77 [16] )
+|stringDictionary|
+
+Source Location: (468:16,43 [13] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml)
+|intDictionary|
+Generated Location: (2593:54,56 [13] )
+|intDictionary|
+
+Source Location: (502:16,77 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml)
+|37|
+Generated Location: (2945:60,77 [2] )
+|37|
+
+Source Location: (526:16,101 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml)
+|42|
+Generated Location: (3330:66,101 [2] )
+|42|
+
+Source Location: (590:18,31 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml)
+|42|
+Generated Location: (3851:74,46 [2] )
+|42|
+
+Source Location: (611:18,52 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml)
+|37|
+Generated Location: (4180:80,64 [2] )
+|37|
+
+Source Location: (634:18,75 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml)
+|98|
+Generated Location: (4535:86,75 [2] )
+|98|
+
+Source Location: (783:20,42 [8] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml)
+|literate|
+Generated Location: (5317:96,42 [8] )
+|literate|
+
+Source Location: (826:21,29 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml)
+|37|
+Generated Location: (5981:105,65 [2] )
+|37|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers_Runtime.codegen.cs
new file mode 100644
index 0000000000..8a6d41c750
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers_Runtime.codegen.cs
@@ -0,0 +1,260 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "fc1a85ca24bc6ae7170b67e2d8371cede965879e"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_PrefixedAttributeTagHelpers_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"fc1a85ca24bc6ae7170b67e2d8371cede965879e", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_PrefixedAttributeTagHelpers_Runtime
+ {
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("type", new global::Microsoft.AspNetCore.Html.HtmlString("checkbox"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_1 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("type", new global::Microsoft.AspNetCore.Html.HtmlString("password"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_2 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("type", new global::Microsoft.AspNetCore.Html.HtmlString("radio"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_3 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("int-prefix-salt", new global::Microsoft.AspNetCore.Html.HtmlString("8"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_4 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("string-prefix-grabber", "string", global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_5 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("string-prefix-paprika", "another string", global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_6 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("string-prefix-thyme", "string", global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ #line hidden
+ #pragma warning disable 0169
+ private string __tagHelperStringValueBuffer;
+ #pragma warning restore 0169
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext __tagHelperExecutionContext;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner();
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __backed__tagHelperScopeManager = null;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __tagHelperScopeManager
+ {
+ get
+ {
+ if (__backed__tagHelperScopeManager == null)
+ {
+ __backed__tagHelperScopeManager = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager(StartTagHelperWritingScope, EndTagHelperWritingScope);
+ }
+ return __backed__tagHelperScopeManager;
+ }
+ }
+ private global::TestNamespace.InputTagHelper1 __TestNamespace_InputTagHelper1;
+ private global::TestNamespace.InputTagHelper2 __TestNamespace_InputTagHelper2;
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("\r\n");
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml"
+
+ var literate = "or illiterate";
+ var intDictionary = new Dictionary<string, int>
+ {
+ { "three", 3 },
+ };
+ var stringDictionary = new SortedDictionary<string, string>
+ {
+ { "name", "value" },
+ };
+
+#line default
+#line hidden
+ WriteLiteral("\r\n<div class=\"randomNonTagHelperAttribute\">\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper1 = CreateTagHelper<global::TestNamespace.InputTagHelper1>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper1);
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper2);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_0);
+#line 16 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml"
+__TestNamespace_InputTagHelper1.IntDictionaryProperty = intDictionary;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("int-dictionary", __TestNamespace_InputTagHelper1.IntDictionaryProperty, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ __TestNamespace_InputTagHelper2.IntDictionaryProperty = __TestNamespace_InputTagHelper1.IntDictionaryProperty;
+#line 16 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml"
+__TestNamespace_InputTagHelper1.StringDictionaryProperty = stringDictionary;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("string-dictionary", __TestNamespace_InputTagHelper1.StringDictionaryProperty, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ __TestNamespace_InputTagHelper2.StringDictionaryProperty = __TestNamespace_InputTagHelper1.StringDictionaryProperty;
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper1 = CreateTagHelper<global::TestNamespace.InputTagHelper1>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper1);
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper2);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_1);
+#line 17 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml"
+__TestNamespace_InputTagHelper1.IntDictionaryProperty = intDictionary;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("int-dictionary", __TestNamespace_InputTagHelper1.IntDictionaryProperty, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ __TestNamespace_InputTagHelper2.IntDictionaryProperty = __TestNamespace_InputTagHelper1.IntDictionaryProperty;
+ if (__TestNamespace_InputTagHelper1.IntDictionaryProperty == null)
+ {
+ throw new InvalidOperationException(InvalidTagHelperIndexerAssignment("int-prefix-garlic", "TestNamespace.InputTagHelper1", "IntDictionaryProperty"));
+ }
+#line 17 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml"
+__TestNamespace_InputTagHelper1.IntDictionaryProperty["garlic"] = 37;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("int-prefix-garlic", __TestNamespace_InputTagHelper1.IntDictionaryProperty["garlic"], global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ if (__TestNamespace_InputTagHelper2.IntDictionaryProperty == null)
+ {
+ throw new InvalidOperationException(InvalidTagHelperIndexerAssignment("int-prefix-garlic", "TestNamespace.InputTagHelper2", "IntDictionaryProperty"));
+ }
+ __TestNamespace_InputTagHelper2.IntDictionaryProperty["garlic"] = __TestNamespace_InputTagHelper1.IntDictionaryProperty["garlic"];
+#line 17 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml"
+__TestNamespace_InputTagHelper1.IntProperty = 42;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("int-prefix-grabber", __TestNamespace_InputTagHelper1.IntProperty, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ __TestNamespace_InputTagHelper2.IntDictionaryProperty["grabber"] = __TestNamespace_InputTagHelper1.IntProperty;
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper1 = CreateTagHelper<global::TestNamespace.InputTagHelper1>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper1);
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper2);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_2);
+#line 19 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml"
+__TestNamespace_InputTagHelper1.IntProperty = 42;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("int-prefix-grabber", __TestNamespace_InputTagHelper1.IntProperty, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ if (__TestNamespace_InputTagHelper2.IntDictionaryProperty == null)
+ {
+ throw new InvalidOperationException(InvalidTagHelperIndexerAssignment("int-prefix-grabber", "TestNamespace.InputTagHelper2", "IntDictionaryProperty"));
+ }
+ __TestNamespace_InputTagHelper2.IntDictionaryProperty["grabber"] = __TestNamespace_InputTagHelper1.IntProperty;
+ if (__TestNamespace_InputTagHelper1.IntDictionaryProperty == null)
+ {
+ throw new InvalidOperationException(InvalidTagHelperIndexerAssignment("int-prefix-salt", "TestNamespace.InputTagHelper1", "IntDictionaryProperty"));
+ }
+#line 19 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml"
+__TestNamespace_InputTagHelper1.IntDictionaryProperty["salt"] = 37;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("int-prefix-salt", __TestNamespace_InputTagHelper1.IntDictionaryProperty["salt"], global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ __TestNamespace_InputTagHelper2.IntDictionaryProperty["salt"] = __TestNamespace_InputTagHelper1.IntDictionaryProperty["salt"];
+#line 19 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml"
+__TestNamespace_InputTagHelper1.IntDictionaryProperty["pepper"] = 98;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("int-prefix-pepper", __TestNamespace_InputTagHelper1.IntDictionaryProperty["pepper"], global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ __TestNamespace_InputTagHelper2.IntDictionaryProperty["pepper"] = __TestNamespace_InputTagHelper1.IntDictionaryProperty["pepper"];
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_3);
+ __TestNamespace_InputTagHelper1.StringProperty = (string)__tagHelperAttribute_4.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_4);
+ if (__TestNamespace_InputTagHelper2.StringDictionaryProperty == null)
+ {
+ throw new InvalidOperationException(InvalidTagHelperIndexerAssignment("string-prefix-grabber", "TestNamespace.InputTagHelper2", "StringDictionaryProperty"));
+ }
+ __TestNamespace_InputTagHelper2.StringDictionaryProperty["grabber"] = (string)__tagHelperAttribute_4.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_4);
+ if (__TestNamespace_InputTagHelper1.StringDictionaryProperty == null)
+ {
+ throw new InvalidOperationException(InvalidTagHelperIndexerAssignment("string-prefix-paprika", "TestNamespace.InputTagHelper1", "StringDictionaryProperty"));
+ }
+ __TestNamespace_InputTagHelper1.StringDictionaryProperty["paprika"] = (string)__tagHelperAttribute_5.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_5);
+ __TestNamespace_InputTagHelper2.StringDictionaryProperty["paprika"] = (string)__tagHelperAttribute_5.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_5);
+ if (__TestNamespace_InputTagHelper1.StringDictionaryProperty == null)
+ {
+ throw new InvalidOperationException(InvalidTagHelperIndexerAssignment("string-prefix-cumin", "TestNamespace.InputTagHelper1", "StringDictionaryProperty"));
+ }
+ BeginWriteTagHelperAttribute();
+ WriteLiteral("literate ");
+#line 21 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml"
+ WriteLiteral(literate);
+
+#line default
+#line hidden
+ WriteLiteral("?");
+ __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
+ __TestNamespace_InputTagHelper1.StringDictionaryProperty["cumin"] = __tagHelperStringValueBuffer;
+ __tagHelperExecutionContext.AddTagHelperAttribute("string-prefix-cumin", __TestNamespace_InputTagHelper1.StringDictionaryProperty["cumin"], global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ if (__TestNamespace_InputTagHelper2.StringDictionaryProperty == null)
+ {
+ throw new InvalidOperationException(InvalidTagHelperIndexerAssignment("string-prefix-cumin", "TestNamespace.InputTagHelper2", "StringDictionaryProperty"));
+ }
+ __TestNamespace_InputTagHelper2.StringDictionaryProperty["cumin"] = __TestNamespace_InputTagHelper1.StringDictionaryProperty["cumin"];
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper1 = CreateTagHelper<global::TestNamespace.InputTagHelper1>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper1);
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper2);
+ if (__TestNamespace_InputTagHelper1.IntDictionaryProperty == null)
+ {
+ throw new InvalidOperationException(InvalidTagHelperIndexerAssignment("int-prefix-value", "TestNamespace.InputTagHelper1", "IntDictionaryProperty"));
+ }
+#line 22 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers.cshtml"
+__TestNamespace_InputTagHelper1.IntDictionaryProperty["value"] = 37;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("int-prefix-value", __TestNamespace_InputTagHelper1.IntDictionaryProperty["value"], global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ if (__TestNamespace_InputTagHelper2.IntDictionaryProperty == null)
+ {
+ throw new InvalidOperationException(InvalidTagHelperIndexerAssignment("int-prefix-value", "TestNamespace.InputTagHelper2", "IntDictionaryProperty"));
+ }
+ __TestNamespace_InputTagHelper2.IntDictionaryProperty["value"] = __TestNamespace_InputTagHelper1.IntDictionaryProperty["value"];
+ if (__TestNamespace_InputTagHelper1.StringDictionaryProperty == null)
+ {
+ throw new InvalidOperationException(InvalidTagHelperIndexerAssignment("string-prefix-thyme", "TestNamespace.InputTagHelper1", "StringDictionaryProperty"));
+ }
+ __TestNamespace_InputTagHelper1.StringDictionaryProperty["thyme"] = (string)__tagHelperAttribute_6.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_6);
+ if (__TestNamespace_InputTagHelper2.StringDictionaryProperty == null)
+ {
+ throw new InvalidOperationException(InvalidTagHelperIndexerAssignment("string-prefix-thyme", "TestNamespace.InputTagHelper2", "StringDictionaryProperty"));
+ }
+ __TestNamespace_InputTagHelper2.StringDictionaryProperty["thyme"] = (string)__tagHelperAttribute_6.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_6);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n</div>");
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers_Runtime.ir.txt
new file mode 100644
index 0000000000..892245a292
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/PrefixedAttributeTagHelpers_Runtime.ir.txt
@@ -0,0 +1,117 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_PrefixedAttributeTagHelpers_Runtime - -
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_0 - type - checkbox - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_1 - type - password - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_2 - type - radio - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_3 - int-prefix-salt - 8 - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_4 - string-prefix-grabber - string - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_5 - string-prefix-paprika - another string - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_6 - string-prefix-thyme - string - HtmlAttributeValueStyle.DoubleQuotes
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper1 - __TestNamespace_InputTagHelper1
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper2 - __TestNamespace_InputTagHelper2
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (33:1,0 [2] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (33:1,0 [2] PrefixedAttributeTagHelpers.cshtml) - Html - \n
+ CSharpCode - (37:2,2 [242] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (37:2,2 [242] PrefixedAttributeTagHelpers.cshtml) - CSharp - \n var literate = "or illiterate";\n var intDictionary = new Dictionary<string, int>\n {\n { "three", 3 },\n };\n var stringDictionary = new SortedDictionary<string, string>\n {\n { "name", "value" },\n };\n
+ HtmlContent - (282:13,0 [49] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (282:13,0 [2] PrefixedAttributeTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (284:14,0 [4] PrefixedAttributeTagHelpers.cshtml) - Html - <div
+ IntermediateToken - (288:14,4 [36] PrefixedAttributeTagHelpers.cshtml) - Html - class="randomNonTagHelperAttribute"
+ IntermediateToken - (324:14,40 [1] PrefixedAttributeTagHelpers.cshtml) - Html - >
+ IntermediateToken - (325:14,41 [6] PrefixedAttributeTagHelpers.cshtml) - Html - \n
+ TagHelper - (331:15,4 [92] PrefixedAttributeTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper1
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_0
+ DefaultTagHelperProperty - (370:15,43 [13] PrefixedAttributeTagHelpers.cshtml) - int-dictionary - System.Collections.Generic.IDictionary<string, int> TestNamespace.InputTagHelper1.IntDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (370:15,43 [13] PrefixedAttributeTagHelpers.cshtml) - CSharp - intDictionary
+ DefaultTagHelperProperty - (370:15,43 [13] PrefixedAttributeTagHelpers.cshtml) - int-dictionary - int TestNamespace.InputTagHelper2.IntDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (370:15,43 [13] PrefixedAttributeTagHelpers.cshtml) - CSharp - intDictionary
+ DefaultTagHelperProperty - (404:15,77 [16] PrefixedAttributeTagHelpers.cshtml) - string-dictionary - Namespace.DictionaryWithoutParameterlessConstructor<string, string> TestNamespace.InputTagHelper1.StringDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (404:15,77 [16] PrefixedAttributeTagHelpers.cshtml) - CSharp - stringDictionary
+ DefaultTagHelperProperty - (404:15,77 [16] PrefixedAttributeTagHelpers.cshtml) - string-dictionary - Namespace.DictionaryWithoutParameterlessConstructor<string, string> TestNamespace.InputTagHelper2.StringDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (404:15,77 [16] PrefixedAttributeTagHelpers.cshtml) - CSharp - stringDictionary
+ DefaultTagHelperExecute -
+ HtmlContent - (423:15,96 [6] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (423:15,96 [6] PrefixedAttributeTagHelpers.cshtml) - Html - \n
+ TagHelper - (429:16,4 [103] PrefixedAttributeTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper1
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_1
+ DefaultTagHelperProperty - (468:16,43 [13] PrefixedAttributeTagHelpers.cshtml) - int-dictionary - System.Collections.Generic.IDictionary<string, int> TestNamespace.InputTagHelper1.IntDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (468:16,43 [13] PrefixedAttributeTagHelpers.cshtml) - CSharp - intDictionary
+ DefaultTagHelperProperty - (468:16,43 [13] PrefixedAttributeTagHelpers.cshtml) - int-dictionary - int TestNamespace.InputTagHelper2.IntDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (468:16,43 [13] PrefixedAttributeTagHelpers.cshtml) - CSharp - intDictionary
+ DefaultTagHelperProperty - (502:16,77 [2] PrefixedAttributeTagHelpers.cshtml) - int-prefix-garlic - System.Collections.Generic.IDictionary<string, int> TestNamespace.InputTagHelper1.IntDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (502:16,77 [2] PrefixedAttributeTagHelpers.cshtml) - CSharp - 37
+ DefaultTagHelperProperty - (502:16,77 [2] PrefixedAttributeTagHelpers.cshtml) - int-prefix-garlic - int TestNamespace.InputTagHelper2.IntDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (502:16,77 [2] PrefixedAttributeTagHelpers.cshtml) - CSharp - 37
+ DefaultTagHelperProperty - (526:16,101 [2] PrefixedAttributeTagHelpers.cshtml) - int-prefix-grabber - int TestNamespace.InputTagHelper1.IntProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (526:16,101 [2] PrefixedAttributeTagHelpers.cshtml) - CSharp - 42
+ DefaultTagHelperProperty - (526:16,101 [2] PrefixedAttributeTagHelpers.cshtml) - int-prefix-grabber - int TestNamespace.InputTagHelper2.IntDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (526:16,101 [2] PrefixedAttributeTagHelpers.cshtml) - CSharp - 42
+ DefaultTagHelperExecute -
+ HtmlContent - (532:16,107 [6] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (532:16,107 [6] PrefixedAttributeTagHelpers.cshtml) - Html - \n
+ TagHelper - (538:17,4 [257] PrefixedAttributeTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper1
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_2
+ DefaultTagHelperProperty - (590:18,31 [2] PrefixedAttributeTagHelpers.cshtml) - int-prefix-grabber - int TestNamespace.InputTagHelper1.IntProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (590:18,31 [2] PrefixedAttributeTagHelpers.cshtml) - CSharp - 42
+ DefaultTagHelperProperty - (590:18,31 [2] PrefixedAttributeTagHelpers.cshtml) - int-prefix-grabber - int TestNamespace.InputTagHelper2.IntDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (590:18,31 [2] PrefixedAttributeTagHelpers.cshtml) - CSharp - 42
+ DefaultTagHelperProperty - (611:18,52 [2] PrefixedAttributeTagHelpers.cshtml) - int-prefix-salt - System.Collections.Generic.IDictionary<string, int> TestNamespace.InputTagHelper1.IntDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (611:18,52 [2] PrefixedAttributeTagHelpers.cshtml) - CSharp - 37
+ DefaultTagHelperProperty - (611:18,52 [2] PrefixedAttributeTagHelpers.cshtml) - int-prefix-salt - int TestNamespace.InputTagHelper2.IntDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (611:18,52 [2] PrefixedAttributeTagHelpers.cshtml) - CSharp - 37
+ DefaultTagHelperProperty - (634:18,75 [2] PrefixedAttributeTagHelpers.cshtml) - int-prefix-pepper - System.Collections.Generic.IDictionary<string, int> TestNamespace.InputTagHelper1.IntDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (634:18,75 [2] PrefixedAttributeTagHelpers.cshtml) - CSharp - 98
+ DefaultTagHelperProperty - (634:18,75 [2] PrefixedAttributeTagHelpers.cshtml) - int-prefix-pepper - int TestNamespace.InputTagHelper2.IntDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (634:18,75 [2] PrefixedAttributeTagHelpers.cshtml) - CSharp - 98
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_3
+ PreallocatedTagHelperProperty - (693:19,34 [6] PrefixedAttributeTagHelpers.cshtml) - __tagHelperAttribute_4 - string-prefix-grabber - StringProperty
+ PreallocatedTagHelperProperty - (693:19,34 [6] PrefixedAttributeTagHelpers.cshtml) - __tagHelperAttribute_4 - string-prefix-grabber - StringDictionaryProperty
+ PreallocatedTagHelperProperty - (724:19,65 [14] PrefixedAttributeTagHelpers.cshtml) - __tagHelperAttribute_5 - string-prefix-paprika - StringDictionaryProperty
+ PreallocatedTagHelperProperty - (724:19,65 [14] PrefixedAttributeTagHelpers.cshtml) - __tagHelperAttribute_5 - string-prefix-paprika - StringDictionaryProperty
+ DefaultTagHelperProperty - (773:20,32 [19] PrefixedAttributeTagHelpers.cshtml) - string-prefix-cumin - Namespace.DictionaryWithoutParameterlessConstructor<string, string> TestNamespace.InputTagHelper1.StringDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (773:20,32 [9] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (773:20,32 [8] PrefixedAttributeTagHelpers.cshtml) - Html - literate
+ IntermediateToken - (781:20,40 [1] PrefixedAttributeTagHelpers.cshtml) - Html -
+ CSharpExpression - (783:20,42 [8] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (783:20,42 [8] PrefixedAttributeTagHelpers.cshtml) - CSharp - literate
+ HtmlContent - (791:20,50 [1] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (791:20,50 [1] PrefixedAttributeTagHelpers.cshtml) - Html - ?
+ DefaultTagHelperProperty - (773:20,32 [19] PrefixedAttributeTagHelpers.cshtml) - string-prefix-cumin - Namespace.DictionaryWithoutParameterlessConstructor<string, string> TestNamespace.InputTagHelper2.StringDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (773:20,32 [9] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (773:20,32 [8] PrefixedAttributeTagHelpers.cshtml) - Html - literate
+ IntermediateToken - (781:20,40 [1] PrefixedAttributeTagHelpers.cshtml) - Html -
+ CSharpExpression - (783:20,42 [8] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (783:20,42 [8] PrefixedAttributeTagHelpers.cshtml) - CSharp - literate
+ HtmlContent - (791:20,50 [1] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (791:20,50 [1] PrefixedAttributeTagHelpers.cshtml) - Html - ?
+ DefaultTagHelperExecute -
+ HtmlContent - (795:20,54 [6] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (795:20,54 [6] PrefixedAttributeTagHelpers.cshtml) - Html - \n
+ TagHelper - (801:21,4 [60] PrefixedAttributeTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper1
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperProperty - (826:21,29 [2] PrefixedAttributeTagHelpers.cshtml) - int-prefix-value - System.Collections.Generic.IDictionary<string, int> TestNamespace.InputTagHelper1.IntDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (826:21,29 [2] PrefixedAttributeTagHelpers.cshtml) - CSharp - 37
+ DefaultTagHelperProperty - (826:21,29 [2] PrefixedAttributeTagHelpers.cshtml) - int-prefix-value - int TestNamespace.InputTagHelper2.IntDictionaryProperty - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (826:21,29 [2] PrefixedAttributeTagHelpers.cshtml) - CSharp - 37
+ PreallocatedTagHelperProperty - (851:21,54 [6] PrefixedAttributeTagHelpers.cshtml) - __tagHelperAttribute_6 - string-prefix-thyme - StringDictionaryProperty
+ PreallocatedTagHelperProperty - (851:21,54 [6] PrefixedAttributeTagHelpers.cshtml) - __tagHelperAttribute_6 - string-prefix-thyme - StringDictionaryProperty
+ DefaultTagHelperExecute -
+ HtmlContent - (861:21,64 [8] PrefixedAttributeTagHelpers.cshtml)
+ IntermediateToken - (861:21,64 [2] PrefixedAttributeTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (863:22,0 [6] PrefixedAttributeTagHelpers.cshtml) - Html - </div>
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments.cshtml
new file mode 100644
index 0000000000..bd4820f914
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments.cshtml
@@ -0,0 +1,15 @@
+@*This is not going to be rendered*@
+<p>This should @* not *@ be shown</p>
+
+@{
+ @* throw new Exception("Oh no!") *@
+ Exception foo = @* new Exception("Oh no!") *@ null;
+ if(foo != null) {
+ throw foo;
+ }
+}
+
+@{ var bar = "@* bar *@"; }
+<p>But this should show the comment syntax: @bar</p>
+
+@(a@**@b)
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments_DesignTime.codegen.cs
new file mode 100644
index 0000000000..a21ac99866
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments_DesignTime.codegen.cs
@@ -0,0 +1,53 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_RazorComments_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+
+
+#line 5 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments.cshtml"
+
+ Exception foo =
+
+#line default
+#line hidden
+#line 6 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments.cshtml"
+ null;
+ if(foo != null) {
+ throw foo;
+ }
+
+#line default
+#line hidden
+#line 12 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments.cshtml"
+ var bar = "@* bar *@";
+
+#line default
+#line hidden
+#line 13 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments.cshtml"
+ __o = bar;
+
+#line default
+#line hidden
+#line 15 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments.cshtml"
+__o = ab;
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments_DesignTime.ir.txt
new file mode 100644
index 0000000000..e75591ec2d
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments_DesignTime.ir.txt
@@ -0,0 +1,42 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_RazorComments_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (36:0,36 [17] RazorComments.cshtml)
+ IntermediateToken - (36:0,36 [2] RazorComments.cshtml) - Html - \n
+ IntermediateToken - (38:1,0 [3] RazorComments.cshtml) - Html - <p>
+ IntermediateToken - (41:1,3 [12] RazorComments.cshtml) - Html - This should
+ HtmlContent - (62:1,24 [17] RazorComments.cshtml)
+ IntermediateToken - (62:1,24 [9] RazorComments.cshtml) - Html - be shown
+ IntermediateToken - (71:1,33 [4] RazorComments.cshtml) - Html - </p>
+ IntermediateToken - (75:1,37 [4] RazorComments.cshtml) - Html - \n\n
+ CSharpCode - (81:3,2 [6] RazorComments.cshtml)
+ IntermediateToken - (81:3,2 [6] RazorComments.cshtml) - CSharp - \n
+ CSharpCode - (122:4,39 [22] RazorComments.cshtml)
+ IntermediateToken - (122:4,39 [22] RazorComments.cshtml) - CSharp - \n Exception foo =
+ CSharpCode - (173:5,49 [58] RazorComments.cshtml)
+ IntermediateToken - (173:5,49 [58] RazorComments.cshtml) - CSharp - null;\n if(foo != null) {\n throw foo;\n }\n
+ HtmlContent - (234:10,0 [2] RazorComments.cshtml)
+ IntermediateToken - (234:10,0 [2] RazorComments.cshtml) - Html - \n
+ CSharpCode - (238:11,2 [24] RazorComments.cshtml)
+ IntermediateToken - (238:11,2 [24] RazorComments.cshtml) - CSharp - var bar = "@* bar *@";
+ HtmlContent - (265:12,0 [44] RazorComments.cshtml)
+ IntermediateToken - (265:12,0 [3] RazorComments.cshtml) - Html - <p>
+ IntermediateToken - (268:12,3 [41] RazorComments.cshtml) - Html - But this should show the comment syntax:
+ CSharpExpression - (310:12,45 [3] RazorComments.cshtml)
+ IntermediateToken - (310:12,45 [3] RazorComments.cshtml) - CSharp - bar
+ HtmlContent - (313:12,48 [8] RazorComments.cshtml)
+ IntermediateToken - (313:12,48 [4] RazorComments.cshtml) - Html - </p>
+ IntermediateToken - (317:12,52 [4] RazorComments.cshtml) - Html - \n\n
+ CSharpExpression - (323:14,2 [2] RazorComments.cshtml)
+ IntermediateToken - (323:14,2 [1] RazorComments.cshtml) - CSharp - a
+ IntermediateToken - (328:14,7 [1] RazorComments.cshtml) - CSharp - b
+ HtmlContent - (330:14,9 [2] RazorComments.cshtml)
+ IntermediateToken - (330:14,9 [2] RazorComments.cshtml) - Html - \n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments_DesignTime.mappings.txt
new file mode 100644
index 0000000000..3278641353
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments_DesignTime.mappings.txt
@@ -0,0 +1,47 @@
+Source Location: (81:3,2 [6] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments.cshtml)
+|
+ |
+Generated Location: (650:17,14 [6] )
+|
+ |
+
+Source Location: (122:4,39 [22] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments.cshtml)
+|
+ Exception foo = |
+Generated Location: (786:20,39 [22] )
+|
+ Exception foo = |
+
+Source Location: (173:5,49 [58] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments.cshtml)
+| null;
+ if(foo != null) {
+ throw foo;
+ }
+|
+Generated Location: (979:26,49 [58] )
+| null;
+ if(foo != null) {
+ throw foo;
+ }
+|
+
+Source Location: (238:11,2 [24] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments.cshtml)
+| var bar = "@* bar *@"; |
+Generated Location: (1160:34,2 [24] )
+| var bar = "@* bar *@"; |
+
+Source Location: (310:12,45 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments.cshtml)
+|bar|
+Generated Location: (1352:39,45 [3] )
+|bar|
+
+Source Location: (323:14,2 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments.cshtml)
+|a|
+Generated Location: (1485:44,6 [1] )
+|a|
+
+Source Location: (328:14,7 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments.cshtml)
+|b|
+Generated Location: (1486:44,7 [1] )
+|b|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments_Runtime.codegen.cs
new file mode 100644
index 0000000000..d9b27a45c7
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments_Runtime.codegen.cs
@@ -0,0 +1,53 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "051345e2cc0313fea445db2f6cf48fe28b0b4edf"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_RazorComments_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"051345e2cc0313fea445db2f6cf48fe28b0b4edf", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_RazorComments_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("\r\n<p>This should ");
+ WriteLiteral(" be shown</p>\r\n\r\n");
+#line 5 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments.cshtml"
+
+ Exception foo =
+
+#line default
+#line hidden
+#line 6 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments.cshtml"
+ null;
+ if(foo != null) {
+ throw foo;
+ }
+
+#line default
+#line hidden
+ WriteLiteral("\r\n");
+#line 12 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments.cshtml"
+ var bar = "@* bar *@";
+
+#line default
+#line hidden
+ WriteLiteral("<p>But this should show the comment syntax: ");
+#line 13 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments.cshtml"
+ Write(bar);
+
+#line default
+#line hidden
+ WriteLiteral("</p>\r\n\r\n");
+#line 15 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments.cshtml"
+Write(ab);
+
+#line default
+#line hidden
+ WriteLiteral("\r\n");
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments_Runtime.ir.txt
new file mode 100644
index 0000000000..e05218677f
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RazorComments_Runtime.ir.txt
@@ -0,0 +1,37 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_RazorComments_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (36:0,36 [17] RazorComments.cshtml)
+ IntermediateToken - (36:0,36 [2] RazorComments.cshtml) - Html - \n
+ IntermediateToken - (38:1,0 [3] RazorComments.cshtml) - Html - <p>
+ IntermediateToken - (41:1,3 [12] RazorComments.cshtml) - Html - This should
+ HtmlContent - (62:1,24 [17] RazorComments.cshtml)
+ IntermediateToken - (62:1,24 [9] RazorComments.cshtml) - Html - be shown
+ IntermediateToken - (71:1,33 [4] RazorComments.cshtml) - Html - </p>
+ IntermediateToken - (75:1,37 [4] RazorComments.cshtml) - Html - \n\n
+ CSharpCode - (81:3,2 [6] RazorComments.cshtml)
+ IntermediateToken - (81:3,2 [6] RazorComments.cshtml) - CSharp - \n
+ CSharpCode - (122:4,39 [22] RazorComments.cshtml)
+ IntermediateToken - (122:4,39 [22] RazorComments.cshtml) - CSharp - \n Exception foo =
+ CSharpCode - (173:5,49 [58] RazorComments.cshtml)
+ IntermediateToken - (173:5,49 [58] RazorComments.cshtml) - CSharp - null;\n if(foo != null) {\n throw foo;\n }\n
+ HtmlContent - (234:10,0 [2] RazorComments.cshtml)
+ IntermediateToken - (234:10,0 [2] RazorComments.cshtml) - Html - \n
+ CSharpCode - (238:11,2 [24] RazorComments.cshtml)
+ IntermediateToken - (238:11,2 [24] RazorComments.cshtml) - CSharp - var bar = "@* bar *@";
+ HtmlContent - (265:12,0 [44] RazorComments.cshtml)
+ IntermediateToken - (265:12,0 [3] RazorComments.cshtml) - Html - <p>
+ IntermediateToken - (268:12,3 [41] RazorComments.cshtml) - Html - But this should show the comment syntax:
+ CSharpExpression - (310:12,45 [3] RazorComments.cshtml)
+ IntermediateToken - (310:12,45 [3] RazorComments.cshtml) - CSharp - bar
+ HtmlContent - (313:12,48 [8] RazorComments.cshtml)
+ IntermediateToken - (313:12,48 [4] RazorComments.cshtml) - Html - </p>
+ IntermediateToken - (317:12,52 [4] RazorComments.cshtml) - Html - \n\n
+ CSharpExpression - (323:14,2 [2] RazorComments.cshtml)
+ IntermediateToken - (323:14,2 [1] RazorComments.cshtml) - CSharp - a
+ IntermediateToken - (328:14,7 [1] RazorComments.cshtml) - CSharp - b
+ HtmlContent - (330:14,9 [2] RazorComments.cshtml)
+ IntermediateToken - (330:14,9 [2] RazorComments.cshtml) - Html - \n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RemoveTagHelperDirective.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RemoveTagHelperDirective.cshtml
new file mode 100644
index 0000000000..a8cd525a3d
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RemoveTagHelperDirective.cshtml
@@ -0,0 +1 @@
+@removeTagHelper *, TestAssembly
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RemoveTagHelperDirective_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RemoveTagHelperDirective_DesignTime.codegen.cs
new file mode 100644
index 0000000000..860fed746d
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RemoveTagHelperDirective_DesignTime.codegen.cs
@@ -0,0 +1,26 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_RemoveTagHelperDirective_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "*, TestAssembly";
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RemoveTagHelperDirective_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RemoveTagHelperDirective_DesignTime.ir.txt
new file mode 100644
index 0000000000..8a37436277
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RemoveTagHelperDirective_DesignTime.ir.txt
@@ -0,0 +1,14 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_RemoveTagHelperDirective_DesignTime - -
+ DesignTimeDirective -
+ DirectiveToken - (17:0,17 [15] RemoveTagHelperDirective.cshtml) - *, TestAssembly
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (32:0,32 [2] RemoveTagHelperDirective.cshtml)
+ IntermediateToken - (32:0,32 [2] RemoveTagHelperDirective.cshtml) - Html - \n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RemoveTagHelperDirective_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RemoveTagHelperDirective_DesignTime.mappings.txt
new file mode 100644
index 0000000000..709b86af82
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RemoveTagHelperDirective_DesignTime.mappings.txt
@@ -0,0 +1,5 @@
+Source Location: (17:0,17 [15] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/RemoveTagHelperDirective.cshtml)
+|*, TestAssembly|
+Generated Location: (431:10,38 [15] )
+|*, TestAssembly|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections.cshtml
new file mode 100644
index 0000000000..952461002f
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections.cshtml
@@ -0,0 +1,17 @@
+@{
+ Layout = "_SectionTestLayout.cshtml"
+}
+
+<div>This is in the Body>
+
+@section Section2 {
+ <div class="some @thing">This is in Section 2</div>
+}
+
+@section Section1 {
+ <div>This is in Section 1</div>
+}
+
+@section NestedDelegates {
+ @{ Func<dynamic, object> f = @<span>@item</span>; }
+} \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections_DesignTime.codegen.cs
new file mode 100644
index 0000000000..556cf5e489
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections_DesignTime.codegen.cs
@@ -0,0 +1,72 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Sections_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+global::System.Object Section2 = null;
+ }
+ ))();
+ ((System.Action)(() => {
+global::System.Object Section1 = null;
+ }
+ ))();
+ ((System.Action)(() => {
+global::System.Object NestedDelegates = null;
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections.cshtml"
+
+ Layout = "_SectionTestLayout.cshtml"
+
+#line default
+#line hidden
+ DefineSection("Section2", async(__razor_section_writer) => {
+#line 8 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections.cshtml"
+ __o = thing;
+
+#line default
+#line hidden
+ }
+ );
+ DefineSection("Section1", async(__razor_section_writer) => {
+ }
+ );
+ DefineSection("NestedDelegates", async(__razor_section_writer) => {
+#line 16 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections.cshtml"
+ Func<dynamic, object> f =
+
+#line default
+#line hidden
+ item => new Template(async(__razor_template_writer) => {
+#line 16 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections.cshtml"
+ __o = item;
+
+#line default
+#line hidden
+ }
+ )
+#line 16 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections.cshtml"
+ ;
+
+#line default
+#line hidden
+ }
+ );
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections_DesignTime.ir.txt
new file mode 100644
index 0000000000..99f9d77261
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections_DesignTime.ir.txt
@@ -0,0 +1,59 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Sections_DesignTime - -
+ DesignTimeDirective -
+ DirectiveToken - (89:6,9 [8] Sections.cshtml) - Section2
+ DirectiveToken - (172:10,9 [8] Sections.cshtml) - Section1
+ DirectiveToken - (235:14,9 [15] Sections.cshtml) - NestedDelegates
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (2:0,2 [44] Sections.cshtml)
+ IntermediateToken - (2:0,2 [44] Sections.cshtml) - CSharp - \n Layout = "_SectionTestLayout.cshtml"\n
+ HtmlContent - (49:3,0 [31] Sections.cshtml)
+ IntermediateToken - (49:3,0 [2] Sections.cshtml) - Html - \n
+ IntermediateToken - (51:4,0 [5] Sections.cshtml) - Html - <div>
+ IntermediateToken - (56:4,5 [24] Sections.cshtml) - Html - This is in the Body>\n\n
+ Section - - Section2
+ HtmlContent - (99:6,19 [10] Sections.cshtml)
+ IntermediateToken - (99:6,19 [6] Sections.cshtml) - Html - \n
+ IntermediateToken - (105:7,4 [4] Sections.cshtml) - Html - <div
+ HtmlAttribute - (109:7,8 [20] Sections.cshtml) - class=" - "
+ HtmlAttributeValue - (117:7,16 [4] Sections.cshtml) -
+ IntermediateToken - (117:7,16 [4] Sections.cshtml) - Html - some
+ CSharpExpressionAttributeValue - (121:7,20 [7] Sections.cshtml) -
+ IntermediateToken - (123:7,22 [5] Sections.cshtml) - CSharp - thing
+ HtmlContent - (129:7,28 [29] Sections.cshtml)
+ IntermediateToken - (129:7,28 [1] Sections.cshtml) - Html - >
+ IntermediateToken - (130:7,29 [20] Sections.cshtml) - Html - This is in Section 2
+ IntermediateToken - (150:7,49 [6] Sections.cshtml) - Html - </div>
+ IntermediateToken - (156:7,55 [2] Sections.cshtml) - Html - \n
+ HtmlContent - (159:8,1 [4] Sections.cshtml)
+ IntermediateToken - (159:8,1 [4] Sections.cshtml) - Html - \n\n
+ Section - - Section1
+ HtmlContent - (182:10,19 [39] Sections.cshtml)
+ IntermediateToken - (182:10,19 [6] Sections.cshtml) - Html - \n
+ IntermediateToken - (188:11,4 [5] Sections.cshtml) - Html - <div>
+ IntermediateToken - (193:11,9 [20] Sections.cshtml) - Html - This is in Section 1
+ IntermediateToken - (213:11,29 [6] Sections.cshtml) - Html - </div>
+ IntermediateToken - (219:11,35 [2] Sections.cshtml) - Html - \n
+ HtmlContent - (222:12,1 [4] Sections.cshtml)
+ IntermediateToken - (222:12,1 [4] Sections.cshtml) - Html - \n\n
+ Section - - NestedDelegates
+ HtmlContent - (252:14,26 [6] Sections.cshtml)
+ IntermediateToken - (252:14,26 [6] Sections.cshtml) - Html - \n
+ CSharpCode - (260:15,6 [27] Sections.cshtml)
+ IntermediateToken - (260:15,6 [27] Sections.cshtml) - CSharp - Func<dynamic, object> f =
+ Template - (288:15,34 [17] Sections.cshtml)
+ HtmlContent - (288:15,34 [6] Sections.cshtml)
+ IntermediateToken - (288:15,34 [6] Sections.cshtml) - Html - <span>
+ CSharpExpression - (295:15,41 [4] Sections.cshtml)
+ IntermediateToken - (295:15,41 [4] Sections.cshtml) - CSharp - item
+ HtmlContent - (299:15,45 [7] Sections.cshtml)
+ IntermediateToken - (299:15,45 [7] Sections.cshtml) - Html - </span>
+ CSharpCode - (306:15,52 [2] Sections.cshtml)
+ IntermediateToken - (306:15,52 [2] Sections.cshtml) - CSharp - ;
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections_DesignTime.mappings.txt
new file mode 100644
index 0000000000..f6aedef836
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections_DesignTime.mappings.txt
@@ -0,0 +1,44 @@
+Source Location: (89:6,9 [8] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections.cshtml)
+|Section2|
+Generated Location: (399:10,22 [8] )
+|Section2|
+
+Source Location: (172:10,9 [8] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections.cshtml)
+|Section1|
+Generated Location: (499:14,22 [8] )
+|Section1|
+
+Source Location: (235:14,9 [15] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections.cshtml)
+|NestedDelegates|
+Generated Location: (599:18,22 [15] )
+|NestedDelegates|
+
+Source Location: (2:0,2 [44] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections.cshtml)
+|
+ Layout = "_SectionTestLayout.cshtml"
+|
+Generated Location: (1024:30,2 [44] )
+|
+ Layout = "_SectionTestLayout.cshtml"
+|
+
+Source Location: (123:7,22 [5] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections.cshtml)
+|thing|
+Generated Location: (1279:37,22 [5] )
+|thing|
+
+Source Location: (260:15,6 [27] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections.cshtml)
+| Func<dynamic, object> f = |
+Generated Location: (1626:48,6 [27] )
+| Func<dynamic, object> f = |
+
+Source Location: (295:15,41 [4] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections.cshtml)
+|item|
+Generated Location: (1886:54,41 [4] )
+|item|
+
+Source Location: (306:15,52 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections.cshtml)
+|; |
+Generated Location: (2099:61,52 [2] )
+|; |
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections_Runtime.codegen.cs
new file mode 100644
index 0000000000..3e6af4799b
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections_Runtime.codegen.cs
@@ -0,0 +1,70 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "2c1cd9bdf77c65fcccd7f5b86be5746c1381be0e"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Sections_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"2c1cd9bdf77c65fcccd7f5b86be5746c1381be0e", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Sections_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections.cshtml"
+
+ Layout = "_SectionTestLayout.cshtml"
+
+#line default
+#line hidden
+ WriteLiteral("\r\n<div>This is in the Body>\r\n\r\n");
+ DefineSection("Section2", async() => {
+ WriteLiteral("\r\n <div");
+ BeginWriteAttribute("class", " class=\"", 109, "\"", 128, 2);
+ WriteAttributeValue("", 117, "some", 117, 4, true);
+#line 8 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections.cshtml"
+WriteAttributeValue(" ", 121, thing, 122, 6, false);
+
+#line default
+#line hidden
+ EndWriteAttribute();
+ WriteLiteral(">This is in Section 2</div>\r\n");
+ }
+ );
+ WriteLiteral("\r\n");
+ DefineSection("Section1", async() => {
+ WriteLiteral("\r\n <div>This is in Section 1</div>\r\n");
+ }
+ );
+ WriteLiteral("\r\n");
+ DefineSection("NestedDelegates", async() => {
+ WriteLiteral("\r\n");
+#line 16 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections.cshtml"
+ Func<dynamic, object> f =
+
+#line default
+#line hidden
+ item => new Template(async(__razor_template_writer) => {
+ PushWriter(__razor_template_writer);
+ WriteLiteral("<span>");
+#line 16 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections.cshtml"
+ Write(item);
+
+#line default
+#line hidden
+ WriteLiteral("</span>");
+ PopWriter();
+ }
+ )
+#line 16 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections.cshtml"
+ ;
+
+#line default
+#line hidden
+ }
+ );
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections_Runtime.ir.txt
new file mode 100644
index 0000000000..be452577fe
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Sections_Runtime.ir.txt
@@ -0,0 +1,53 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Sections_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (2:0,2 [44] Sections.cshtml)
+ IntermediateToken - (2:0,2 [44] Sections.cshtml) - CSharp - \n Layout = "_SectionTestLayout.cshtml"\n
+ HtmlContent - (49:3,0 [31] Sections.cshtml)
+ IntermediateToken - (49:3,0 [2] Sections.cshtml) - Html - \n
+ IntermediateToken - (51:4,0 [5] Sections.cshtml) - Html - <div>
+ IntermediateToken - (56:4,5 [24] Sections.cshtml) - Html - This is in the Body>\n\n
+ Section - - Section2
+ HtmlContent - (99:6,19 [10] Sections.cshtml)
+ IntermediateToken - (99:6,19 [6] Sections.cshtml) - Html - \n
+ IntermediateToken - (105:7,4 [4] Sections.cshtml) - Html - <div
+ HtmlAttribute - (109:7,8 [20] Sections.cshtml) - class=" - "
+ HtmlAttributeValue - (117:7,16 [4] Sections.cshtml) -
+ IntermediateToken - (117:7,16 [4] Sections.cshtml) - Html - some
+ CSharpExpressionAttributeValue - (121:7,20 [7] Sections.cshtml) -
+ IntermediateToken - (123:7,22 [5] Sections.cshtml) - CSharp - thing
+ HtmlContent - (129:7,28 [29] Sections.cshtml)
+ IntermediateToken - (129:7,28 [1] Sections.cshtml) - Html - >
+ IntermediateToken - (130:7,29 [20] Sections.cshtml) - Html - This is in Section 2
+ IntermediateToken - (150:7,49 [6] Sections.cshtml) - Html - </div>
+ IntermediateToken - (156:7,55 [2] Sections.cshtml) - Html - \n
+ HtmlContent - (161:9,0 [2] Sections.cshtml)
+ IntermediateToken - (161:9,0 [2] Sections.cshtml) - Html - \n
+ Section - - Section1
+ HtmlContent - (182:10,19 [39] Sections.cshtml)
+ IntermediateToken - (182:10,19 [6] Sections.cshtml) - Html - \n
+ IntermediateToken - (188:11,4 [5] Sections.cshtml) - Html - <div>
+ IntermediateToken - (193:11,9 [20] Sections.cshtml) - Html - This is in Section 1
+ IntermediateToken - (213:11,29 [6] Sections.cshtml) - Html - </div>
+ IntermediateToken - (219:11,35 [2] Sections.cshtml) - Html - \n
+ HtmlContent - (224:13,0 [2] Sections.cshtml)
+ IntermediateToken - (224:13,0 [2] Sections.cshtml) - Html - \n
+ Section - - NestedDelegates
+ HtmlContent - (252:14,26 [2] Sections.cshtml)
+ IntermediateToken - (252:14,26 [2] Sections.cshtml) - Html - \n
+ CSharpCode - (254:15,0 [4] Sections.cshtml)
+ IntermediateToken - (254:15,0 [4] Sections.cshtml) - CSharp -
+ CSharpCode - (260:15,6 [27] Sections.cshtml)
+ IntermediateToken - (260:15,6 [27] Sections.cshtml) - CSharp - Func<dynamic, object> f =
+ Template - (288:15,34 [17] Sections.cshtml)
+ HtmlContent - (288:15,34 [6] Sections.cshtml)
+ IntermediateToken - (288:15,34 [6] Sections.cshtml) - Html - <span>
+ CSharpExpression - (295:15,41 [4] Sections.cshtml)
+ IntermediateToken - (295:15,41 [4] Sections.cshtml) - CSharp - item
+ HtmlContent - (299:15,45 [7] Sections.cshtml)
+ IntermediateToken - (299:15,45 [7] Sections.cshtml) - Html - </span>
+ CSharpCode - (306:15,52 [2] Sections.cshtml)
+ IntermediateToken - (306:15,52 [2] Sections.cshtml) - CSharp - ;
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleTagHelpers.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleTagHelpers.cshtml
new file mode 100644
index 0000000000..bd4ce8107a
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleTagHelpers.cshtml
@@ -0,0 +1,5 @@
+@addTagHelper *, TestAssembly
+<p>Hola</p>
+<form>
+ <input value='Hello' type='text' />
+</form> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleTagHelpers_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleTagHelpers_DesignTime.codegen.cs
new file mode 100644
index 0000000000..3cbb810d65
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleTagHelpers_DesignTime.codegen.cs
@@ -0,0 +1,29 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_SimpleTagHelpers_DesignTime
+ {
+ private global::InputTagHelper __InputTagHelper;
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "*, TestAssembly";
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ __InputTagHelper = CreateTagHelper<global::InputTagHelper>();
+ __InputTagHelper.FooProp = "Hello";
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleTagHelpers_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleTagHelpers_DesignTime.ir.txt
new file mode 100644
index 0000000000..6625ddd86c
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleTagHelpers_DesignTime.ir.txt
@@ -0,0 +1,35 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_SimpleTagHelpers_DesignTime - -
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::InputTagHelper - __InputTagHelper
+ DesignTimeDirective -
+ DirectiveToken - (14:0,14 [15] SimpleTagHelpers.cshtml) - *, TestAssembly
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (29:0,29 [27] SimpleTagHelpers.cshtml)
+ IntermediateToken - (29:0,29 [2] SimpleTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (31:1,0 [3] SimpleTagHelpers.cshtml) - Html - <p>
+ IntermediateToken - (34:1,3 [4] SimpleTagHelpers.cshtml) - Html - Hola
+ IntermediateToken - (38:1,7 [4] SimpleTagHelpers.cshtml) - Html - </p>
+ IntermediateToken - (42:1,11 [2] SimpleTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (44:2,0 [6] SimpleTagHelpers.cshtml) - Html - <form>
+ IntermediateToken - (50:2,6 [6] SimpleTagHelpers.cshtml) - Html - \n
+ TagHelper - (56:3,4 [35] SimpleTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - InputTagHelper
+ DefaultTagHelperProperty - (70:3,18 [5] SimpleTagHelpers.cshtml) - value - string InputTagHelper.FooProp - HtmlAttributeValueStyle.SingleQuotes
+ HtmlContent - (70:3,18 [5] SimpleTagHelpers.cshtml)
+ IntermediateToken - (70:3,18 [5] SimpleTagHelpers.cshtml) - Html - Hello
+ DefaultTagHelperHtmlAttribute - - type - HtmlAttributeValueStyle.SingleQuotes
+ HtmlContent - (83:3,31 [4] SimpleTagHelpers.cshtml)
+ IntermediateToken - (83:3,31 [4] SimpleTagHelpers.cshtml) - Html - text
+ DefaultTagHelperExecute -
+ HtmlContent - (91:3,39 [9] SimpleTagHelpers.cshtml)
+ IntermediateToken - (91:3,39 [2] SimpleTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (93:4,0 [7] SimpleTagHelpers.cshtml) - Html - </form>
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleTagHelpers_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleTagHelpers_DesignTime.mappings.txt
new file mode 100644
index 0000000000..79472b01be
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleTagHelpers_DesignTime.mappings.txt
@@ -0,0 +1,5 @@
+Source Location: (14:0,14 [15] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleTagHelpers.cshtml)
+|*, TestAssembly|
+Generated Location: (481:11,38 [15] )
+|*, TestAssembly|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleTagHelpers_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleTagHelpers_Runtime.codegen.cs
new file mode 100644
index 0000000000..4d5cd87159
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleTagHelpers_Runtime.codegen.cs
@@ -0,0 +1,56 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleTagHelpers.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "e2cfd373c979f0844c2fd0ff78d289027202a932"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_SimpleTagHelpers_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleTagHelpers.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"e2cfd373c979f0844c2fd0ff78d289027202a932", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleTagHelpers.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_SimpleTagHelpers_Runtime
+ {
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("value", "Hello", global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.SingleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_1 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("type", new global::Microsoft.AspNetCore.Html.HtmlString("text"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.SingleQuotes);
+ #line hidden
+ #pragma warning disable 0169
+ private string __tagHelperStringValueBuffer;
+ #pragma warning restore 0169
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext __tagHelperExecutionContext;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner();
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __backed__tagHelperScopeManager = null;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __tagHelperScopeManager
+ {
+ get
+ {
+ if (__backed__tagHelperScopeManager == null)
+ {
+ __backed__tagHelperScopeManager = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager(StartTagHelperWritingScope, EndTagHelperWritingScope);
+ }
+ return __backed__tagHelperScopeManager;
+ }
+ }
+ private global::InputTagHelper __InputTagHelper;
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("<p>Hola</p>\r\n<form>\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __InputTagHelper = CreateTagHelper<global::InputTagHelper>();
+ __tagHelperExecutionContext.Add(__InputTagHelper);
+ __InputTagHelper.FooProp = (string)__tagHelperAttribute_0.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_0);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_1);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n</form>");
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleTagHelpers_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleTagHelpers_Runtime.ir.txt
new file mode 100644
index 0000000000..818e754db8
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleTagHelpers_Runtime.ir.txt
@@ -0,0 +1,26 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_SimpleTagHelpers_Runtime - -
+ PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_0 - value - Hello - HtmlAttributeValueStyle.SingleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_1 - type - text - HtmlAttributeValueStyle.SingleQuotes
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::InputTagHelper - __InputTagHelper
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (31:1,0 [25] SimpleTagHelpers.cshtml)
+ IntermediateToken - (31:1,0 [3] SimpleTagHelpers.cshtml) - Html - <p>
+ IntermediateToken - (34:1,3 [4] SimpleTagHelpers.cshtml) - Html - Hola
+ IntermediateToken - (38:1,7 [4] SimpleTagHelpers.cshtml) - Html - </p>
+ IntermediateToken - (42:1,11 [2] SimpleTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (44:2,0 [6] SimpleTagHelpers.cshtml) - Html - <form>
+ IntermediateToken - (50:2,6 [6] SimpleTagHelpers.cshtml) - Html - \n
+ TagHelper - (56:3,4 [35] SimpleTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - InputTagHelper
+ PreallocatedTagHelperProperty - (70:3,18 [5] SimpleTagHelpers.cshtml) - __tagHelperAttribute_0 - value - FooProp
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_1
+ DefaultTagHelperExecute -
+ HtmlContent - (91:3,39 [9] SimpleTagHelpers.cshtml)
+ IntermediateToken - (91:3,39 [2] SimpleTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (93:4,0 [7] SimpleTagHelpers.cshtml) - Html - </form>
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf.cshtml
new file mode 100644
index 0000000000..27f2750eb2
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf.cshtml
@@ -0,0 +1,4 @@
+@if (true)
+{
+ <div></div>
+} \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf_DesignTime.codegen.cs
new file mode 100644
index 0000000000..0c8f87aa05
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf_DesignTime.codegen.cs
@@ -0,0 +1,35 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_SimpleUnspacedIf_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf.cshtml"
+ if (true)
+{
+
+
+#line default
+#line hidden
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf.cshtml"
+
+}
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf_DesignTime.ir.txt
new file mode 100644
index 0000000000..fd92ecdec5
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf_DesignTime.ir.txt
@@ -0,0 +1,18 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_SimpleUnspacedIf_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (1:0,1 [15] SimpleUnspacedIf.cshtml)
+ IntermediateToken - (1:0,1 [15] SimpleUnspacedIf.cshtml) - CSharp - if (true)\n{\n
+ HtmlContent - (16:2,1 [11] SimpleUnspacedIf.cshtml)
+ IntermediateToken - (16:2,1 [5] SimpleUnspacedIf.cshtml) - Html - <div>
+ IntermediateToken - (21:2,6 [6] SimpleUnspacedIf.cshtml) - Html - </div>
+ CSharpCode - (27:2,12 [3] SimpleUnspacedIf.cshtml)
+ IntermediateToken - (27:2,12 [3] SimpleUnspacedIf.cshtml) - CSharp - \n}
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf_DesignTime.mappings.txt
new file mode 100644
index 0000000000..77c880477a
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf_DesignTime.mappings.txt
@@ -0,0 +1,16 @@
+Source Location: (1:0,1 [15] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf.cshtml)
+|if (true)
+{
+ |
+Generated Location: (732:18,1 [15] )
+|if (true)
+{
+ |
+
+Source Location: (27:2,12 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf.cshtml)
+|
+}|
+Generated Location: (887:25,15 [3] )
+|
+}|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf_Runtime.codegen.cs
new file mode 100644
index 0000000000..d3af840b59
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf_Runtime.codegen.cs
@@ -0,0 +1,30 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "57877348e222dad68a66bed082fa64c96f925772"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_SimpleUnspacedIf_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"57877348e222dad68a66bed082fa64c96f925772", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_SimpleUnspacedIf_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf.cshtml"
+ if (true)
+{
+
+#line default
+#line hidden
+ WriteLiteral("\t<div></div>\r\n");
+#line 4 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf.cshtml"
+}
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf_Runtime.ir.txt
new file mode 100644
index 0000000000..d12d18e89b
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SimpleUnspacedIf_Runtime.ir.txt
@@ -0,0 +1,15 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_SimpleUnspacedIf_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (1:0,1 [14] SimpleUnspacedIf.cshtml)
+ IntermediateToken - (1:0,1 [14] SimpleUnspacedIf.cshtml) - CSharp - if (true)\n{\n
+ HtmlContent - (15:2,0 [14] SimpleUnspacedIf.cshtml)
+ IntermediateToken - (15:2,0 [1] SimpleUnspacedIf.cshtml) - Html -
+ IntermediateToken - (16:2,1 [5] SimpleUnspacedIf.cshtml) - Html - <div>
+ IntermediateToken - (21:2,6 [6] SimpleUnspacedIf.cshtml) - Html - </div>
+ IntermediateToken - (27:2,12 [2] SimpleUnspacedIf.cshtml) - Html - \n
+ CSharpCode - (29:3,0 [1] SimpleUnspacedIf.cshtml)
+ IntermediateToken - (29:3,0 [1] SimpleUnspacedIf.cshtml) - CSharp - }
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelper.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelper.cshtml
new file mode 100644
index 0000000000..6e12a5f3bf
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelper.cshtml
@@ -0,0 +1,3 @@
+@addTagHelper "*, TestAssembly"
+
+<p class="Hello World" age="1337">Body of Tag</p> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelperWithNewlineBeforeAttributes.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelperWithNewlineBeforeAttributes.cshtml
new file mode 100644
index 0000000000..b5c2eddf1a
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelperWithNewlineBeforeAttributes.cshtml
@@ -0,0 +1,4 @@
+@addTagHelper "*, TestAssembly"
+
+<p
+ class="Hello World" age="1337">Body of Tag</p> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelperWithNewlineBeforeAttributes_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelperWithNewlineBeforeAttributes_DesignTime.codegen.cs
new file mode 100644
index 0000000000..fb63b233ff
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelperWithNewlineBeforeAttributes_DesignTime.codegen.cs
@@ -0,0 +1,33 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_SingleTagHelperWithNewlineBeforeAttributes_DesignTime
+ {
+ private global::TestNamespace.PTagHelper __TestNamespace_PTagHelper;
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "*, TestAssembly";
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+#line 4 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelperWithNewlineBeforeAttributes.cshtml"
+__TestNamespace_PTagHelper.Age = 1337;
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelperWithNewlineBeforeAttributes_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelperWithNewlineBeforeAttributes_DesignTime.ir.txt
new file mode 100644
index 0000000000..caa51dd43d
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelperWithNewlineBeforeAttributes_DesignTime.ir.txt
@@ -0,0 +1,27 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_SingleTagHelperWithNewlineBeforeAttributes_DesignTime - -
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.PTagHelper - __TestNamespace_PTagHelper
+ DesignTimeDirective -
+ DirectiveToken - (14:0,14 [17] SingleTagHelperWithNewlineBeforeAttributes.cshtml) - "*, TestAssembly"
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (31:0,31 [4] SingleTagHelperWithNewlineBeforeAttributes.cshtml)
+ IntermediateToken - (31:0,31 [4] SingleTagHelperWithNewlineBeforeAttributes.cshtml) - Html - \n\n
+ TagHelper - (35:2,0 [53] SingleTagHelperWithNewlineBeforeAttributes.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (73:3,34 [11] SingleTagHelperWithNewlineBeforeAttributes.cshtml)
+ IntermediateToken - (73:3,34 [11] SingleTagHelperWithNewlineBeforeAttributes.cshtml) - Html - Body of Tag
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperHtmlAttribute - - class - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (49:3,10 [11] SingleTagHelperWithNewlineBeforeAttributes.cshtml)
+ IntermediateToken - (49:3,10 [11] SingleTagHelperWithNewlineBeforeAttributes.cshtml) - Html - Hello World
+ DefaultTagHelperProperty - (67:3,28 [4] SingleTagHelperWithNewlineBeforeAttributes.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (67:3,28 [4] SingleTagHelperWithNewlineBeforeAttributes.cshtml) - CSharp - 1337
+ DefaultTagHelperExecute -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelperWithNewlineBeforeAttributes_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelperWithNewlineBeforeAttributes_DesignTime.mappings.txt
new file mode 100644
index 0000000000..47bfc7994d
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelperWithNewlineBeforeAttributes_DesignTime.mappings.txt
@@ -0,0 +1,10 @@
+Source Location: (14:0,14 [17] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelperWithNewlineBeforeAttributes.cshtml)
+|"*, TestAssembly"|
+Generated Location: (526:11,37 [17] )
+|"*, TestAssembly"|
+
+Source Location: (67:3,28 [4] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelperWithNewlineBeforeAttributes.cshtml)
+|1337|
+Generated Location: (1106:24,33 [4] )
+|1337|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelperWithNewlineBeforeAttributes_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelperWithNewlineBeforeAttributes_Runtime.codegen.cs
new file mode 100644
index 0000000000..e2e751c0ab
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelperWithNewlineBeforeAttributes_Runtime.codegen.cs
@@ -0,0 +1,59 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelperWithNewlineBeforeAttributes.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "00f665efb7bd154c43f2bd30d287b9ed9fa2ffdd"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_SingleTagHelperWithNewlineBeforeAttributes_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelperWithNewlineBeforeAttributes.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"00f665efb7bd154c43f2bd30d287b9ed9fa2ffdd", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelperWithNewlineBeforeAttributes.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_SingleTagHelperWithNewlineBeforeAttributes_Runtime
+ {
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("class", new global::Microsoft.AspNetCore.Html.HtmlString("Hello World"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ #line hidden
+ #pragma warning disable 0169
+ private string __tagHelperStringValueBuffer;
+ #pragma warning restore 0169
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext __tagHelperExecutionContext;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner();
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __backed__tagHelperScopeManager = null;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __tagHelperScopeManager
+ {
+ get
+ {
+ if (__backed__tagHelperScopeManager == null)
+ {
+ __backed__tagHelperScopeManager = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager(StartTagHelperWritingScope, EndTagHelperWritingScope);
+ }
+ return __backed__tagHelperScopeManager;
+ }
+ }
+ private global::TestNamespace.PTagHelper __TestNamespace_PTagHelper;
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("p", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("Body of Tag");
+ }
+ );
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_PTagHelper);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_0);
+#line 4 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelperWithNewlineBeforeAttributes.cshtml"
+__TestNamespace_PTagHelper.Age = 1337;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("age", __TestNamespace_PTagHelper.Age, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelperWithNewlineBeforeAttributes_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelperWithNewlineBeforeAttributes_Runtime.ir.txt
new file mode 100644
index 0000000000..fb67e469d9
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelperWithNewlineBeforeAttributes_Runtime.ir.txt
@@ -0,0 +1,20 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_SingleTagHelperWithNewlineBeforeAttributes_Runtime - -
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_0 - class - Hello World - HtmlAttributeValueStyle.DoubleQuotes
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.PTagHelper - __TestNamespace_PTagHelper
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (33:1,0 [2] SingleTagHelperWithNewlineBeforeAttributes.cshtml)
+ IntermediateToken - (33:1,0 [2] SingleTagHelperWithNewlineBeforeAttributes.cshtml) - Html - \n
+ TagHelper - (35:2,0 [53] SingleTagHelperWithNewlineBeforeAttributes.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (73:3,34 [11] SingleTagHelperWithNewlineBeforeAttributes.cshtml)
+ IntermediateToken - (73:3,34 [11] SingleTagHelperWithNewlineBeforeAttributes.cshtml) - Html - Body of Tag
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_0
+ DefaultTagHelperProperty - (67:3,28 [4] SingleTagHelperWithNewlineBeforeAttributes.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (67:3,28 [4] SingleTagHelperWithNewlineBeforeAttributes.cshtml) - CSharp - 1337
+ DefaultTagHelperExecute -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelper_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelper_DesignTime.codegen.cs
new file mode 100644
index 0000000000..bba1ae1d82
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelper_DesignTime.codegen.cs
@@ -0,0 +1,33 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_SingleTagHelper_DesignTime
+ {
+ private global::TestNamespace.PTagHelper __TestNamespace_PTagHelper;
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "*, TestAssembly";
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelper.cshtml"
+__TestNamespace_PTagHelper.Age = 1337;
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelper_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelper_DesignTime.ir.txt
new file mode 100644
index 0000000000..4749a67bfd
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelper_DesignTime.ir.txt
@@ -0,0 +1,27 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_SingleTagHelper_DesignTime - -
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.PTagHelper - __TestNamespace_PTagHelper
+ DesignTimeDirective -
+ DirectiveToken - (14:0,14 [17] SingleTagHelper.cshtml) - "*, TestAssembly"
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (31:0,31 [4] SingleTagHelper.cshtml)
+ IntermediateToken - (31:0,31 [4] SingleTagHelper.cshtml) - Html - \n\n
+ TagHelper - (35:2,0 [49] SingleTagHelper.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (69:2,34 [11] SingleTagHelper.cshtml)
+ IntermediateToken - (69:2,34 [11] SingleTagHelper.cshtml) - Html - Body of Tag
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperHtmlAttribute - - class - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (45:2,10 [11] SingleTagHelper.cshtml)
+ IntermediateToken - (45:2,10 [11] SingleTagHelper.cshtml) - Html - Hello World
+ DefaultTagHelperProperty - (63:2,28 [4] SingleTagHelper.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (63:2,28 [4] SingleTagHelper.cshtml) - CSharp - 1337
+ DefaultTagHelperExecute -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelper_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelper_DesignTime.mappings.txt
new file mode 100644
index 0000000000..68565eaf3e
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelper_DesignTime.mappings.txt
@@ -0,0 +1,10 @@
+Source Location: (14:0,14 [17] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelper.cshtml)
+|"*, TestAssembly"|
+Generated Location: (499:11,37 [17] )
+|"*, TestAssembly"|
+
+Source Location: (63:2,28 [4] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelper.cshtml)
+|1337|
+Generated Location: (1052:24,33 [4] )
+|1337|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelper_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelper_Runtime.codegen.cs
new file mode 100644
index 0000000000..ff77e842d5
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelper_Runtime.codegen.cs
@@ -0,0 +1,59 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelper.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "8cdee08b4e2681f8524ae09a405f163fd96d1ed8"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_SingleTagHelper_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelper.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"8cdee08b4e2681f8524ae09a405f163fd96d1ed8", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelper.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_SingleTagHelper_Runtime
+ {
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("class", new global::Microsoft.AspNetCore.Html.HtmlString("Hello World"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ #line hidden
+ #pragma warning disable 0169
+ private string __tagHelperStringValueBuffer;
+ #pragma warning restore 0169
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext __tagHelperExecutionContext;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner();
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __backed__tagHelperScopeManager = null;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __tagHelperScopeManager
+ {
+ get
+ {
+ if (__backed__tagHelperScopeManager == null)
+ {
+ __backed__tagHelperScopeManager = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager(StartTagHelperWritingScope, EndTagHelperWritingScope);
+ }
+ return __backed__tagHelperScopeManager;
+ }
+ }
+ private global::TestNamespace.PTagHelper __TestNamespace_PTagHelper;
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("p", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("Body of Tag");
+ }
+ );
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_PTagHelper);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_0);
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelper.cshtml"
+__TestNamespace_PTagHelper.Age = 1337;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("age", __TestNamespace_PTagHelper.Age, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelper_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelper_Runtime.ir.txt
new file mode 100644
index 0000000000..89ef050a2c
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SingleTagHelper_Runtime.ir.txt
@@ -0,0 +1,20 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_SingleTagHelper_Runtime - -
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_0 - class - Hello World - HtmlAttributeValueStyle.DoubleQuotes
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.PTagHelper - __TestNamespace_PTagHelper
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (33:1,0 [2] SingleTagHelper.cshtml)
+ IntermediateToken - (33:1,0 [2] SingleTagHelper.cshtml) - Html - \n
+ TagHelper - (35:2,0 [49] SingleTagHelper.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (69:2,34 [11] SingleTagHelper.cshtml)
+ IntermediateToken - (69:2,34 [11] SingleTagHelper.cshtml) - Html - Body of Tag
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_0
+ DefaultTagHelperProperty - (63:2,28 [4] SingleTagHelper.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (63:2,28 [4] SingleTagHelper.cshtml) - CSharp - 1337
+ DefaultTagHelperExecute -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/StringLiterals.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/StringLiterals.cshtml
new file mode 100644
index 0000000000..19d498abfe
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/StringLiterals.cshtml
@@ -0,0 +1,237 @@
+<p>This is line 1</p>
+<p>This is line 2</p>
+<p>This is line 3</p>
+<p>This is line 4</p>
+<p>This is line 5</p>
+<p>This is line 6</p>
+<p>This is line 7</p>
+<p>This is line 8</p>
+<p>This is line 9</p>
+<p>This is line 10</p>
+<p>This is line 11</p>
+<p>This is line 12</p>
+<p>This is line 13</p>
+<p>This is line 14</p>
+<p>This is line 15</p>
+<p>This is line 16</p>
+<p>This is line 17</p>
+<p>This is line 18</p>
+<p>This is line 19</p>
+<p>This is line 20</p>
+<p>This is line 21</p>
+<p>This is line 22</p>
+<p>This is line 23</p>
+<p>This is line 24</p>
+<p>This is line 25</p>
+<p>This is line 26</p>
+<p>This is line 27</p>
+<p>This is line 28</p>
+<p>This is line 29</p>
+<p>This is line 30</p>
+<p>This is line 31</p>
+<p>This is line 32</p>
+<p>This is line 33</p>
+<p>This is line 34</p>
+<p>This is line 35</p>
+<p>This is line 36</p>
+<p>This is line 37</p>
+<p>This is line 38</p>
+<p>This is line 39</p>
+<p>This is line 40</p>
+<p>This is line 41</p>
+<p>This is line 42</p>
+<p>This is line 43</p>
+<p>This is line 44</p>
+<p>This is line 45</p>
+<p>This is line 46</p>
+<p>This is line 47</p>
+<p>This is line 48</p>
+<p>This is line 49</p>
+<p>This is line 50</p>
+<p>This is line 51</p>
+<p>This is line 52</p>
+<p>This is line 53</p>
+<p>This is line 54</p>
+<p>This is line 55</p>
+<p>This is line 56</p>
+<p>This is line 57</p>
+<p>This is line 58</p>
+<p>This is line 59</p>
+<p>This is line 60</p>
+<p>This is line 61</p>
+<p>This is line 62</p>
+<p>This is line 63</p>
+<p>This is line 64</p>
+<p>This is line 65</p>
+<p>This is line 66</p>
+<p>This is line 67</p>
+<p>This is line 68</p>
+<p>This is line 69</p>
+<p>This is line 70</p>
+<p>This is line 71</p>
+<p>This is line 72</p>
+<p>This is line 73</p>
+<p>This is line 74</p>
+<p>This is line 75</p>
+<p>This is line 76</p>
+<p>This is line 77</p>
+<p>This is line 78</p>
+<p>This is line 79</p>
+<p>This is line 80</p>
+<p>This is line 81</p>
+<p>This is line 82</p>
+<p>This is line 83</p>
+<p>This is line 84</p><br>
+
+@section WriteLiteralsToInHere {
+ <p>This is line 1 nested</p>
+ <p>This is line 2 nested</p>
+ <p>This is line 3 nested</p>
+ <p>This is line 4 nested</p>
+ <p>This is line 5 nested</p>
+ <p>This is line 6 nested</p>
+ <p>This is line 7 nested</p>
+ <p>This is line 8 nested</p>
+ <p>This is line 9 nested</p>
+ <p>This is line 10 nested</p>
+ <p>This is line 11 nested</p>
+ <p>This is line 12 nested</p>
+ <p>This is line 13 nested</p>
+ <p>This is line 14 nested</p>
+ <p>This is line 15 nested</p>
+ <p>This is line 16 nested</p>
+ <p>This is line 17 nested</p>
+ <p>This is line 18 nested</p>
+ <p>This is line 19 nested</p>
+ <p>This is line 20 nested</p>
+ <p>This is line 21 nested</p>
+ <p>This is line 22 nested</p>
+ <p>This is line 23 nested</p>
+ <p>This is line 24 nested</p>
+ <p>This is line 25 nested</p>
+ <p>This is line 26 nested</p>
+ <p>This is line 27 nested</p>
+ <p>This is line 28 nested</p>
+ <p>This is line 29 nested</p>
+ <p>This is line 30 nested</p>
+ <p>This is line 31 nested</p>
+ <p>This is line 32 nested</p>
+ <p>This is line 33 nested</p>
+ <p>This is line 34 nested</p>
+ <p>This is line 35 nested</p>
+ <p>This is line 36 nested</p>
+ <p>This is line 37 nested</p>
+ <p>This is line 38 nested</p>
+ <p>This is line 39 nested</p>
+ <p>This is line 40 nested</p>
+ <p>This is line 41 nested</p>
+ <p>This is line 42 nested</p>
+ <p>This is line 43 nested</p>
+ <p>This is line 44 nested</p>
+ <p>This is line 45 nested</p>
+ <p>This is line 46 nested</p>
+ <p>This is line 47 nested</p>
+ <p>This is line 48 nested</p>
+ <p>This is line 49 nested</p>
+ <p>This is line 50 nested</p>
+ <p>This is line 51 nested</p>
+ <p>This is line 52 nested</p>
+ <p>This is line 53 nested</p>
+ <p>This is line 54 nested</p>
+ <p>This is line 55 nested</p>
+ <p>This is line 56 nested</p>
+ <p>This is line 57 nested</p>
+ <p>This is line 58 nested</p>
+ <p>This is line 59 nested</p>
+ <p>This is line 60 nested</p>
+ <p>This is line 61 nested</p>
+ <p>This is line 62 nested</p>
+ <p>This is line 63 nested</p>
+ <p>This is line 64 nested</p>
+ <p>This is line 65 nested</p>
+ <p>This is line 66 nested</p>
+ <p>This is line 67 nested</p>
+ <p>This is line 68 nested</p>
+ <p>This is line 69 nested</p>
+ <p>This is line 70 nested</p>
+ <p>This is line 71 nested</p>
+ <p>This is line 72 nested</p>
+ <p>This is line 73 nested</p>
+ <p>This is line 74 nested</p>
+ <p>This is line 75 nested</p>
+}
+<p>This is line 1</p>
+<p>This is line 2</p>
+<p>This is line 3</p>
+<p>This is line 4</p>
+<p>This is line 5</p>
+<p>This is line 6</p>
+<p>This is line 7</p>
+<p>This is line 8</p>
+<p>This is line 9</p>
+<p>This is line 10</p>
+<p>This is line 11</p>
+<p>This is line 12</p>
+<p>This is line 13</p>
+<p>This is line 14</p>
+<p>This is line 15</p>
+<p>This is line 16</p>
+<p>This is line 17</p>
+<p>This is line 18</p>
+<p>This is line 19</p>
+<p>This is line 20</p>
+<p>This is line 21</p>
+<p>This is line 22</p>
+<p>This is line 23</p>
+<p>This is line 24</p>
+<p>This is line 25</p>
+<p>This is line 26</p>
+<p>This is line 27</p>
+<p>This is line 28</p>
+<p>This is line 29</p>
+<p>This is line 30</p>
+<p>This is line 31</p>
+<p>This is line 32</p>
+<p>This is line 33</p>
+<p>This is line 34</p>
+<p>This is line 35</p>
+<p>This is line 36</p>
+<p>This is line 37</p>
+<p>This is line 38</p>
+<p>This is line 39</p>
+<p>This is line 40</p>
+<p>This is line 41</p>
+<p>This is line 42</p>
+<p>This is line 43</p>hi!
+@section WriteLiteralsToInHereAlso {
+ <p>This is line 1 nested</p>
+ <p>This is line 2 nested</p>
+ <p>This is line 3 nested</p>
+ <p>This is line 4 nested</p>
+ <p>This is line 5 nested</p>
+ <p>This is line 6 nested</p>
+ <p>This is line 7 nested</p>
+ <p>This is line 8 nested</p>
+ <p>This is line 9 nested</p>
+ <p>This is line 10 nested</p>
+ <p>This is line 11 nested</p>
+ <p>This is line 12 nested</p>
+ <p>This is line 13 nested</p>
+ <p>This is line 14 nested</p>
+ <p>This is line 15 nested</p>
+ <p>This is line 16 nested</p>
+ <p>This is line 17 nested</p>
+ <p>This is line 18 nested</p>
+ <p>This is line 19 nested</p>
+ <p>This is line 20 nested</p>
+ <p>This is line 21 nested</p>
+ <p>This is line 22 nested</p>
+ <p>This is line 23 nested</p>
+ <p>This is line 24 nested</p>
+ <p>This is line 25 nested</p>
+ <p>This is line 26 nested</p>
+ <p>This is line 27 nested</p>
+ <p>This is line 28 nested</p>
+ <p>This is line 29 nested</p>
+ <p>30</p>
+}! \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/StringLiterals_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/StringLiterals_DesignTime.codegen.cs
new file mode 100644
index 0000000000..e1a96c0d30
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/StringLiterals_DesignTime.codegen.cs
@@ -0,0 +1,36 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_StringLiterals_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+global::System.Object WriteLiteralsToInHere = null;
+ }
+ ))();
+ ((System.Action)(() => {
+global::System.Object WriteLiteralsToInHereAlso = null;
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ DefineSection("WriteLiteralsToInHere", async(__razor_section_writer) => {
+ }
+ );
+ DefineSection("WriteLiteralsToInHereAlso", async(__razor_section_writer) => {
+ }
+ );
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/StringLiterals_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/StringLiterals_DesignTime.ir.txt
new file mode 100644
index 0000000000..f28592ba7e
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/StringLiterals_DesignTime.ir.txt
@@ -0,0 +1,953 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_StringLiterals_DesignTime - -
+ DesignTimeDirective -
+ DirectiveToken - (2022:85,9 [21] StringLiterals.cshtml) - WriteLiteralsToInHere
+ DirectiveToken - (5701:205,9 [25] StringLiterals.cshtml) - WriteLiteralsToInHereAlso
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (0:0,0 [2013] StringLiterals.cshtml)
+ IntermediateToken - (0:0,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3:0,3 [14] StringLiterals.cshtml) - Html - This is line 1
+ IntermediateToken - (17:0,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (21:0,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (23:1,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (26:1,3 [14] StringLiterals.cshtml) - Html - This is line 2
+ IntermediateToken - (40:1,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (44:1,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (46:2,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (49:2,3 [14] StringLiterals.cshtml) - Html - This is line 3
+ IntermediateToken - (63:2,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (67:2,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (69:3,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (72:3,3 [14] StringLiterals.cshtml) - Html - This is line 4
+ IntermediateToken - (86:3,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (90:3,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (92:4,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (95:4,3 [14] StringLiterals.cshtml) - Html - This is line 5
+ IntermediateToken - (109:4,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (113:4,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (115:5,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (118:5,3 [14] StringLiterals.cshtml) - Html - This is line 6
+ IntermediateToken - (132:5,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (136:5,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (138:6,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (141:6,3 [14] StringLiterals.cshtml) - Html - This is line 7
+ IntermediateToken - (155:6,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (159:6,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (161:7,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (164:7,3 [14] StringLiterals.cshtml) - Html - This is line 8
+ IntermediateToken - (178:7,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (182:7,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (184:8,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (187:8,3 [14] StringLiterals.cshtml) - Html - This is line 9
+ IntermediateToken - (201:8,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (205:8,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (207:9,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (210:9,3 [15] StringLiterals.cshtml) - Html - This is line 10
+ IntermediateToken - (225:9,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (229:9,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (231:10,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (234:10,3 [15] StringLiterals.cshtml) - Html - This is line 11
+ IntermediateToken - (249:10,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (253:10,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (255:11,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (258:11,3 [15] StringLiterals.cshtml) - Html - This is line 12
+ IntermediateToken - (273:11,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (277:11,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (279:12,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (282:12,3 [15] StringLiterals.cshtml) - Html - This is line 13
+ IntermediateToken - (297:12,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (301:12,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (303:13,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (306:13,3 [15] StringLiterals.cshtml) - Html - This is line 14
+ IntermediateToken - (321:13,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (325:13,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (327:14,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (330:14,3 [15] StringLiterals.cshtml) - Html - This is line 15
+ IntermediateToken - (345:14,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (349:14,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (351:15,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (354:15,3 [15] StringLiterals.cshtml) - Html - This is line 16
+ IntermediateToken - (369:15,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (373:15,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (375:16,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (378:16,3 [15] StringLiterals.cshtml) - Html - This is line 17
+ IntermediateToken - (393:16,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (397:16,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (399:17,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (402:17,3 [15] StringLiterals.cshtml) - Html - This is line 18
+ IntermediateToken - (417:17,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (421:17,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (423:18,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (426:18,3 [15] StringLiterals.cshtml) - Html - This is line 19
+ IntermediateToken - (441:18,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (445:18,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (447:19,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (450:19,3 [15] StringLiterals.cshtml) - Html - This is line 20
+ IntermediateToken - (465:19,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (469:19,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (471:20,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (474:20,3 [15] StringLiterals.cshtml) - Html - This is line 21
+ IntermediateToken - (489:20,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (493:20,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (495:21,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (498:21,3 [15] StringLiterals.cshtml) - Html - This is line 22
+ IntermediateToken - (513:21,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (517:21,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (519:22,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (522:22,3 [15] StringLiterals.cshtml) - Html - This is line 23
+ IntermediateToken - (537:22,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (541:22,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (543:23,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (546:23,3 [15] StringLiterals.cshtml) - Html - This is line 24
+ IntermediateToken - (561:23,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (565:23,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (567:24,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (570:24,3 [15] StringLiterals.cshtml) - Html - This is line 25
+ IntermediateToken - (585:24,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (589:24,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (591:25,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (594:25,3 [15] StringLiterals.cshtml) - Html - This is line 26
+ IntermediateToken - (609:25,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (613:25,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (615:26,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (618:26,3 [15] StringLiterals.cshtml) - Html - This is line 27
+ IntermediateToken - (633:26,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (637:26,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (639:27,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (642:27,3 [15] StringLiterals.cshtml) - Html - This is line 28
+ IntermediateToken - (657:27,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (661:27,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (663:28,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (666:28,3 [15] StringLiterals.cshtml) - Html - This is line 29
+ IntermediateToken - (681:28,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (685:28,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (687:29,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (690:29,3 [15] StringLiterals.cshtml) - Html - This is line 30
+ IntermediateToken - (705:29,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (709:29,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (711:30,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (714:30,3 [15] StringLiterals.cshtml) - Html - This is line 31
+ IntermediateToken - (729:30,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (733:30,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (735:31,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (738:31,3 [15] StringLiterals.cshtml) - Html - This is line 32
+ IntermediateToken - (753:31,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (757:31,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (759:32,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (762:32,3 [15] StringLiterals.cshtml) - Html - This is line 33
+ IntermediateToken - (777:32,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (781:32,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (783:33,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (786:33,3 [15] StringLiterals.cshtml) - Html - This is line 34
+ IntermediateToken - (801:33,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (805:33,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (807:34,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (810:34,3 [15] StringLiterals.cshtml) - Html - This is line 35
+ IntermediateToken - (825:34,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (829:34,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (831:35,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (834:35,3 [15] StringLiterals.cshtml) - Html - This is line 36
+ IntermediateToken - (849:35,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (853:35,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (855:36,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (858:36,3 [15] StringLiterals.cshtml) - Html - This is line 37
+ IntermediateToken - (873:36,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (877:36,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (879:37,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (882:37,3 [15] StringLiterals.cshtml) - Html - This is line 38
+ IntermediateToken - (897:37,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (901:37,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (903:38,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (906:38,3 [15] StringLiterals.cshtml) - Html - This is line 39
+ IntermediateToken - (921:38,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (925:38,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (927:39,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (930:39,3 [15] StringLiterals.cshtml) - Html - This is line 40
+ IntermediateToken - (945:39,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (949:39,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (951:40,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (954:40,3 [15] StringLiterals.cshtml) - Html - This is line 41
+ IntermediateToken - (969:40,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (973:40,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (975:41,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (978:41,3 [15] StringLiterals.cshtml) - Html - This is line 42
+ IntermediateToken - (993:41,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (997:41,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (999:42,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1002:42,3 [15] StringLiterals.cshtml) - Html - This is line 43
+ IntermediateToken - (1017:42,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1021:42,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1023:43,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1026:43,3 [15] StringLiterals.cshtml) - Html - This is line 44
+ IntermediateToken - (1041:43,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1045:43,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1047:44,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1050:44,3 [15] StringLiterals.cshtml) - Html - This is line 45
+ IntermediateToken - (1065:44,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1069:44,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1071:45,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1074:45,3 [15] StringLiterals.cshtml) - Html - This is line 46
+ IntermediateToken - (1089:45,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1093:45,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1095:46,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1098:46,3 [15] StringLiterals.cshtml) - Html - This is line 47
+ IntermediateToken - (1113:46,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1117:46,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1119:47,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1122:47,3 [15] StringLiterals.cshtml) - Html - This is line 48
+ IntermediateToken - (1137:47,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1141:47,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1143:48,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1146:48,3 [15] StringLiterals.cshtml) - Html - This is line 49
+ IntermediateToken - (1161:48,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1165:48,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1167:49,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1170:49,3 [15] StringLiterals.cshtml) - Html - This is line 50
+ IntermediateToken - (1185:49,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1189:49,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1191:50,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1194:50,3 [15] StringLiterals.cshtml) - Html - This is line 51
+ IntermediateToken - (1209:50,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1213:50,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1215:51,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1218:51,3 [15] StringLiterals.cshtml) - Html - This is line 52
+ IntermediateToken - (1233:51,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1237:51,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1239:52,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1242:52,3 [15] StringLiterals.cshtml) - Html - This is line 53
+ IntermediateToken - (1257:52,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1261:52,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1263:53,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1266:53,3 [15] StringLiterals.cshtml) - Html - This is line 54
+ IntermediateToken - (1281:53,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1285:53,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1287:54,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1290:54,3 [15] StringLiterals.cshtml) - Html - This is line 55
+ IntermediateToken - (1305:54,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1309:54,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1311:55,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1314:55,3 [15] StringLiterals.cshtml) - Html - This is line 56
+ IntermediateToken - (1329:55,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1333:55,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1335:56,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1338:56,3 [15] StringLiterals.cshtml) - Html - This is line 57
+ IntermediateToken - (1353:56,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1357:56,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1359:57,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1362:57,3 [15] StringLiterals.cshtml) - Html - This is line 58
+ IntermediateToken - (1377:57,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1381:57,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1383:58,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1386:58,3 [15] StringLiterals.cshtml) - Html - This is line 59
+ IntermediateToken - (1401:58,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1405:58,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1407:59,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1410:59,3 [15] StringLiterals.cshtml) - Html - This is line 60
+ IntermediateToken - (1425:59,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1429:59,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1431:60,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1434:60,3 [15] StringLiterals.cshtml) - Html - This is line 61
+ IntermediateToken - (1449:60,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1453:60,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1455:61,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1458:61,3 [15] StringLiterals.cshtml) - Html - This is line 62
+ IntermediateToken - (1473:61,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1477:61,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1479:62,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1482:62,3 [15] StringLiterals.cshtml) - Html - This is line 63
+ IntermediateToken - (1497:62,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1501:62,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1503:63,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1506:63,3 [15] StringLiterals.cshtml) - Html - This is line 64
+ IntermediateToken - (1521:63,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1525:63,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1527:64,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1530:64,3 [15] StringLiterals.cshtml) - Html - This is line 65
+ IntermediateToken - (1545:64,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1549:64,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1551:65,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1554:65,3 [15] StringLiterals.cshtml) - Html - This is line 66
+ IntermediateToken - (1569:65,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1573:65,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1575:66,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1578:66,3 [15] StringLiterals.cshtml) - Html - This is line 67
+ IntermediateToken - (1593:66,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1597:66,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1599:67,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1602:67,3 [15] StringLiterals.cshtml) - Html - This is line 68
+ IntermediateToken - (1617:67,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1621:67,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1623:68,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1626:68,3 [15] StringLiterals.cshtml) - Html - This is line 69
+ IntermediateToken - (1641:68,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1645:68,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1647:69,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1650:69,3 [15] StringLiterals.cshtml) - Html - This is line 70
+ IntermediateToken - (1665:69,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1669:69,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1671:70,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1674:70,3 [15] StringLiterals.cshtml) - Html - This is line 71
+ IntermediateToken - (1689:70,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1693:70,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1695:71,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1698:71,3 [15] StringLiterals.cshtml) - Html - This is line 72
+ IntermediateToken - (1713:71,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1717:71,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1719:72,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1722:72,3 [15] StringLiterals.cshtml) - Html - This is line 73
+ IntermediateToken - (1737:72,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1741:72,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1743:73,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1746:73,3 [15] StringLiterals.cshtml) - Html - This is line 74
+ IntermediateToken - (1761:73,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1765:73,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1767:74,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1770:74,3 [15] StringLiterals.cshtml) - Html - This is line 75
+ IntermediateToken - (1785:74,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1789:74,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1791:75,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1794:75,3 [15] StringLiterals.cshtml) - Html - This is line 76
+ IntermediateToken - (1809:75,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1813:75,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1815:76,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1818:76,3 [15] StringLiterals.cshtml) - Html - This is line 77
+ IntermediateToken - (1833:76,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1837:76,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1839:77,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1842:77,3 [15] StringLiterals.cshtml) - Html - This is line 78
+ IntermediateToken - (1857:77,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1861:77,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1863:78,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1866:78,3 [15] StringLiterals.cshtml) - Html - This is line 79
+ IntermediateToken - (1881:78,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1885:78,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1887:79,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1890:79,3 [15] StringLiterals.cshtml) - Html - This is line 80
+ IntermediateToken - (1905:79,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1909:79,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1911:80,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1914:80,3 [15] StringLiterals.cshtml) - Html - This is line 81
+ IntermediateToken - (1929:80,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1933:80,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1935:81,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1938:81,3 [15] StringLiterals.cshtml) - Html - This is line 82
+ IntermediateToken - (1953:81,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1957:81,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1959:82,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1962:82,3 [15] StringLiterals.cshtml) - Html - This is line 83
+ IntermediateToken - (1977:82,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1981:82,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1983:83,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1986:83,3 [15] StringLiterals.cshtml) - Html - This is line 84
+ IntermediateToken - (2001:83,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2005:83,22 [4] StringLiterals.cshtml) - Html - <br>
+ IntermediateToken - (2009:83,26 [4] StringLiterals.cshtml) - Html - \n\n
+ Section - - WriteLiteralsToInHere
+ HtmlContent - (2045:85,32 [2618] StringLiterals.cshtml)
+ IntermediateToken - (2045:85,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2051:86,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2054:86,7 [21] StringLiterals.cshtml) - Html - This is line 1 nested
+ IntermediateToken - (2075:86,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2079:86,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2085:87,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2088:87,7 [21] StringLiterals.cshtml) - Html - This is line 2 nested
+ IntermediateToken - (2109:87,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2113:87,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2119:88,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2122:88,7 [21] StringLiterals.cshtml) - Html - This is line 3 nested
+ IntermediateToken - (2143:88,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2147:88,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2153:89,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2156:89,7 [21] StringLiterals.cshtml) - Html - This is line 4 nested
+ IntermediateToken - (2177:89,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2181:89,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2187:90,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2190:90,7 [21] StringLiterals.cshtml) - Html - This is line 5 nested
+ IntermediateToken - (2211:90,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2215:90,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2221:91,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2224:91,7 [21] StringLiterals.cshtml) - Html - This is line 6 nested
+ IntermediateToken - (2245:91,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2249:91,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2255:92,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2258:92,7 [21] StringLiterals.cshtml) - Html - This is line 7 nested
+ IntermediateToken - (2279:92,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2283:92,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2289:93,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2292:93,7 [21] StringLiterals.cshtml) - Html - This is line 8 nested
+ IntermediateToken - (2313:93,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2317:93,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2323:94,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2326:94,7 [21] StringLiterals.cshtml) - Html - This is line 9 nested
+ IntermediateToken - (2347:94,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2351:94,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2357:95,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2360:95,7 [22] StringLiterals.cshtml) - Html - This is line 10 nested
+ IntermediateToken - (2382:95,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2386:95,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2392:96,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2395:96,7 [22] StringLiterals.cshtml) - Html - This is line 11 nested
+ IntermediateToken - (2417:96,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2421:96,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2427:97,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2430:97,7 [22] StringLiterals.cshtml) - Html - This is line 12 nested
+ IntermediateToken - (2452:97,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2456:97,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2462:98,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2465:98,7 [22] StringLiterals.cshtml) - Html - This is line 13 nested
+ IntermediateToken - (2487:98,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2491:98,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2497:99,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2500:99,7 [22] StringLiterals.cshtml) - Html - This is line 14 nested
+ IntermediateToken - (2522:99,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2526:99,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2532:100,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2535:100,7 [22] StringLiterals.cshtml) - Html - This is line 15 nested
+ IntermediateToken - (2557:100,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2561:100,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2567:101,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2570:101,7 [22] StringLiterals.cshtml) - Html - This is line 16 nested
+ IntermediateToken - (2592:101,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2596:101,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2602:102,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2605:102,7 [22] StringLiterals.cshtml) - Html - This is line 17 nested
+ IntermediateToken - (2627:102,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2631:102,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2637:103,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2640:103,7 [22] StringLiterals.cshtml) - Html - This is line 18 nested
+ IntermediateToken - (2662:103,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2666:103,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2672:104,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2675:104,7 [22] StringLiterals.cshtml) - Html - This is line 19 nested
+ IntermediateToken - (2697:104,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2701:104,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2707:105,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2710:105,7 [22] StringLiterals.cshtml) - Html - This is line 20 nested
+ IntermediateToken - (2732:105,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2736:105,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2742:106,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2745:106,7 [22] StringLiterals.cshtml) - Html - This is line 21 nested
+ IntermediateToken - (2767:106,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2771:106,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2777:107,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2780:107,7 [22] StringLiterals.cshtml) - Html - This is line 22 nested
+ IntermediateToken - (2802:107,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2806:107,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2812:108,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2815:108,7 [22] StringLiterals.cshtml) - Html - This is line 23 nested
+ IntermediateToken - (2837:108,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2841:108,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2847:109,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2850:109,7 [22] StringLiterals.cshtml) - Html - This is line 24 nested
+ IntermediateToken - (2872:109,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2876:109,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2882:110,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2885:110,7 [22] StringLiterals.cshtml) - Html - This is line 25 nested
+ IntermediateToken - (2907:110,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2911:110,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2917:111,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2920:111,7 [22] StringLiterals.cshtml) - Html - This is line 26 nested
+ IntermediateToken - (2942:111,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2946:111,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2952:112,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2955:112,7 [22] StringLiterals.cshtml) - Html - This is line 27 nested
+ IntermediateToken - (2977:112,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2981:112,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2987:113,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2990:113,7 [22] StringLiterals.cshtml) - Html - This is line 28 nested
+ IntermediateToken - (3012:113,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3016:113,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3022:114,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3025:114,7 [22] StringLiterals.cshtml) - Html - This is line 29 nested
+ IntermediateToken - (3047:114,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3051:114,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3057:115,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3060:115,7 [22] StringLiterals.cshtml) - Html - This is line 30 nested
+ IntermediateToken - (3082:115,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3086:115,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3092:116,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3095:116,7 [22] StringLiterals.cshtml) - Html - This is line 31 nested
+ IntermediateToken - (3117:116,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3121:116,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3127:117,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3130:117,7 [22] StringLiterals.cshtml) - Html - This is line 32 nested
+ IntermediateToken - (3152:117,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3156:117,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3162:118,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3165:118,7 [22] StringLiterals.cshtml) - Html - This is line 33 nested
+ IntermediateToken - (3187:118,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3191:118,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3197:119,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3200:119,7 [22] StringLiterals.cshtml) - Html - This is line 34 nested
+ IntermediateToken - (3222:119,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3226:119,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3232:120,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3235:120,7 [22] StringLiterals.cshtml) - Html - This is line 35 nested
+ IntermediateToken - (3257:120,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3261:120,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3267:121,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3270:121,7 [22] StringLiterals.cshtml) - Html - This is line 36 nested
+ IntermediateToken - (3292:121,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3296:121,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3302:122,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3305:122,7 [22] StringLiterals.cshtml) - Html - This is line 37 nested
+ IntermediateToken - (3327:122,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3331:122,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3337:123,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3340:123,7 [22] StringLiterals.cshtml) - Html - This is line 38 nested
+ IntermediateToken - (3362:123,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3366:123,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3372:124,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3375:124,7 [22] StringLiterals.cshtml) - Html - This is line 39 nested
+ IntermediateToken - (3397:124,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3401:124,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3407:125,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3410:125,7 [22] StringLiterals.cshtml) - Html - This is line 40 nested
+ IntermediateToken - (3432:125,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3436:125,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3442:126,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3445:126,7 [22] StringLiterals.cshtml) - Html - This is line 41 nested
+ IntermediateToken - (3467:126,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3471:126,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3477:127,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3480:127,7 [22] StringLiterals.cshtml) - Html - This is line 42 nested
+ IntermediateToken - (3502:127,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3506:127,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3512:128,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3515:128,7 [22] StringLiterals.cshtml) - Html - This is line 43 nested
+ IntermediateToken - (3537:128,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3541:128,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3547:129,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3550:129,7 [22] StringLiterals.cshtml) - Html - This is line 44 nested
+ IntermediateToken - (3572:129,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3576:129,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3582:130,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3585:130,7 [22] StringLiterals.cshtml) - Html - This is line 45 nested
+ IntermediateToken - (3607:130,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3611:130,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3617:131,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3620:131,7 [22] StringLiterals.cshtml) - Html - This is line 46 nested
+ IntermediateToken - (3642:131,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3646:131,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3652:132,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3655:132,7 [22] StringLiterals.cshtml) - Html - This is line 47 nested
+ IntermediateToken - (3677:132,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3681:132,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3687:133,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3690:133,7 [22] StringLiterals.cshtml) - Html - This is line 48 nested
+ IntermediateToken - (3712:133,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3716:133,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3722:134,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3725:134,7 [22] StringLiterals.cshtml) - Html - This is line 49 nested
+ IntermediateToken - (3747:134,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3751:134,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3757:135,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3760:135,7 [22] StringLiterals.cshtml) - Html - This is line 50 nested
+ IntermediateToken - (3782:135,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3786:135,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3792:136,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3795:136,7 [22] StringLiterals.cshtml) - Html - This is line 51 nested
+ IntermediateToken - (3817:136,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3821:136,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3827:137,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3830:137,7 [22] StringLiterals.cshtml) - Html - This is line 52 nested
+ IntermediateToken - (3852:137,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3856:137,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3862:138,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3865:138,7 [22] StringLiterals.cshtml) - Html - This is line 53 nested
+ IntermediateToken - (3887:138,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3891:138,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3897:139,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3900:139,7 [22] StringLiterals.cshtml) - Html - This is line 54 nested
+ IntermediateToken - (3922:139,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3926:139,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3932:140,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3935:140,7 [22] StringLiterals.cshtml) - Html - This is line 55 nested
+ IntermediateToken - (3957:140,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3961:140,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3967:141,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3970:141,7 [22] StringLiterals.cshtml) - Html - This is line 56 nested
+ IntermediateToken - (3992:141,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3996:141,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4002:142,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4005:142,7 [22] StringLiterals.cshtml) - Html - This is line 57 nested
+ IntermediateToken - (4027:142,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4031:142,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4037:143,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4040:143,7 [22] StringLiterals.cshtml) - Html - This is line 58 nested
+ IntermediateToken - (4062:143,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4066:143,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4072:144,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4075:144,7 [22] StringLiterals.cshtml) - Html - This is line 59 nested
+ IntermediateToken - (4097:144,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4101:144,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4107:145,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4110:145,7 [22] StringLiterals.cshtml) - Html - This is line 60 nested
+ IntermediateToken - (4132:145,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4136:145,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4142:146,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4145:146,7 [22] StringLiterals.cshtml) - Html - This is line 61 nested
+ IntermediateToken - (4167:146,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4171:146,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4177:147,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4180:147,7 [22] StringLiterals.cshtml) - Html - This is line 62 nested
+ IntermediateToken - (4202:147,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4206:147,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4212:148,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4215:148,7 [22] StringLiterals.cshtml) - Html - This is line 63 nested
+ IntermediateToken - (4237:148,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4241:148,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4247:149,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4250:149,7 [22] StringLiterals.cshtml) - Html - This is line 64 nested
+ IntermediateToken - (4272:149,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4276:149,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4282:150,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4285:150,7 [22] StringLiterals.cshtml) - Html - This is line 65 nested
+ IntermediateToken - (4307:150,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4311:150,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4317:151,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4320:151,7 [22] StringLiterals.cshtml) - Html - This is line 66 nested
+ IntermediateToken - (4342:151,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4346:151,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4352:152,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4355:152,7 [22] StringLiterals.cshtml) - Html - This is line 67 nested
+ IntermediateToken - (4377:152,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4381:152,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4387:153,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4390:153,7 [22] StringLiterals.cshtml) - Html - This is line 68 nested
+ IntermediateToken - (4412:153,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4416:153,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4422:154,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4425:154,7 [22] StringLiterals.cshtml) - Html - This is line 69 nested
+ IntermediateToken - (4447:154,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4451:154,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4457:155,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4460:155,7 [22] StringLiterals.cshtml) - Html - This is line 70 nested
+ IntermediateToken - (4482:155,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4486:155,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4492:156,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4495:156,7 [22] StringLiterals.cshtml) - Html - This is line 71 nested
+ IntermediateToken - (4517:156,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4521:156,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4527:157,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4530:157,7 [22] StringLiterals.cshtml) - Html - This is line 72 nested
+ IntermediateToken - (4552:157,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4556:157,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4562:158,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4565:158,7 [22] StringLiterals.cshtml) - Html - This is line 73 nested
+ IntermediateToken - (4587:158,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4591:158,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4597:159,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4600:159,7 [22] StringLiterals.cshtml) - Html - This is line 74 nested
+ IntermediateToken - (4622:159,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4626:159,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4632:160,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4635:160,7 [22] StringLiterals.cshtml) - Html - This is line 75 nested
+ IntermediateToken - (4657:160,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4661:160,33 [2] StringLiterals.cshtml) - Html - \n
+ HtmlContent - (4664:161,1 [1028] StringLiterals.cshtml)
+ IntermediateToken - (4664:161,1 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4666:162,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4669:162,3 [14] StringLiterals.cshtml) - Html - This is line 1
+ IntermediateToken - (4683:162,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4687:162,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4689:163,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4692:163,3 [14] StringLiterals.cshtml) - Html - This is line 2
+ IntermediateToken - (4706:163,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4710:163,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4712:164,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4715:164,3 [14] StringLiterals.cshtml) - Html - This is line 3
+ IntermediateToken - (4729:164,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4733:164,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4735:165,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4738:165,3 [14] StringLiterals.cshtml) - Html - This is line 4
+ IntermediateToken - (4752:165,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4756:165,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4758:166,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4761:166,3 [14] StringLiterals.cshtml) - Html - This is line 5
+ IntermediateToken - (4775:166,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4779:166,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4781:167,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4784:167,3 [14] StringLiterals.cshtml) - Html - This is line 6
+ IntermediateToken - (4798:167,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4802:167,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4804:168,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4807:168,3 [14] StringLiterals.cshtml) - Html - This is line 7
+ IntermediateToken - (4821:168,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4825:168,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4827:169,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4830:169,3 [14] StringLiterals.cshtml) - Html - This is line 8
+ IntermediateToken - (4844:169,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4848:169,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4850:170,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4853:170,3 [14] StringLiterals.cshtml) - Html - This is line 9
+ IntermediateToken - (4867:170,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4871:170,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4873:171,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4876:171,3 [15] StringLiterals.cshtml) - Html - This is line 10
+ IntermediateToken - (4891:171,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4895:171,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4897:172,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4900:172,3 [15] StringLiterals.cshtml) - Html - This is line 11
+ IntermediateToken - (4915:172,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4919:172,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4921:173,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4924:173,3 [15] StringLiterals.cshtml) - Html - This is line 12
+ IntermediateToken - (4939:173,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4943:173,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4945:174,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4948:174,3 [15] StringLiterals.cshtml) - Html - This is line 13
+ IntermediateToken - (4963:174,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4967:174,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4969:175,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4972:175,3 [15] StringLiterals.cshtml) - Html - This is line 14
+ IntermediateToken - (4987:175,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4991:175,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4993:176,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4996:176,3 [15] StringLiterals.cshtml) - Html - This is line 15
+ IntermediateToken - (5011:176,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5015:176,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5017:177,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5020:177,3 [15] StringLiterals.cshtml) - Html - This is line 16
+ IntermediateToken - (5035:177,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5039:177,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5041:178,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5044:178,3 [15] StringLiterals.cshtml) - Html - This is line 17
+ IntermediateToken - (5059:178,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5063:178,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5065:179,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5068:179,3 [15] StringLiterals.cshtml) - Html - This is line 18
+ IntermediateToken - (5083:179,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5087:179,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5089:180,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5092:180,3 [15] StringLiterals.cshtml) - Html - This is line 19
+ IntermediateToken - (5107:180,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5111:180,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5113:181,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5116:181,3 [15] StringLiterals.cshtml) - Html - This is line 20
+ IntermediateToken - (5131:181,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5135:181,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5137:182,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5140:182,3 [15] StringLiterals.cshtml) - Html - This is line 21
+ IntermediateToken - (5155:182,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5159:182,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5161:183,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5164:183,3 [15] StringLiterals.cshtml) - Html - This is line 22
+ IntermediateToken - (5179:183,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5183:183,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5185:184,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5188:184,3 [15] StringLiterals.cshtml) - Html - This is line 23
+ IntermediateToken - (5203:184,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5207:184,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5209:185,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5212:185,3 [15] StringLiterals.cshtml) - Html - This is line 24
+ IntermediateToken - (5227:185,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5231:185,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5233:186,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5236:186,3 [15] StringLiterals.cshtml) - Html - This is line 25
+ IntermediateToken - (5251:186,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5255:186,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5257:187,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5260:187,3 [15] StringLiterals.cshtml) - Html - This is line 26
+ IntermediateToken - (5275:187,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5279:187,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5281:188,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5284:188,3 [15] StringLiterals.cshtml) - Html - This is line 27
+ IntermediateToken - (5299:188,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5303:188,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5305:189,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5308:189,3 [15] StringLiterals.cshtml) - Html - This is line 28
+ IntermediateToken - (5323:189,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5327:189,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5329:190,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5332:190,3 [15] StringLiterals.cshtml) - Html - This is line 29
+ IntermediateToken - (5347:190,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5351:190,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5353:191,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5356:191,3 [15] StringLiterals.cshtml) - Html - This is line 30
+ IntermediateToken - (5371:191,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5375:191,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5377:192,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5380:192,3 [15] StringLiterals.cshtml) - Html - This is line 31
+ IntermediateToken - (5395:192,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5399:192,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5401:193,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5404:193,3 [15] StringLiterals.cshtml) - Html - This is line 32
+ IntermediateToken - (5419:193,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5423:193,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5425:194,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5428:194,3 [15] StringLiterals.cshtml) - Html - This is line 33
+ IntermediateToken - (5443:194,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5447:194,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5449:195,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5452:195,3 [15] StringLiterals.cshtml) - Html - This is line 34
+ IntermediateToken - (5467:195,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5471:195,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5473:196,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5476:196,3 [15] StringLiterals.cshtml) - Html - This is line 35
+ IntermediateToken - (5491:196,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5495:196,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5497:197,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5500:197,3 [15] StringLiterals.cshtml) - Html - This is line 36
+ IntermediateToken - (5515:197,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5519:197,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5521:198,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5524:198,3 [15] StringLiterals.cshtml) - Html - This is line 37
+ IntermediateToken - (5539:198,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5543:198,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5545:199,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5548:199,3 [15] StringLiterals.cshtml) - Html - This is line 38
+ IntermediateToken - (5563:199,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5567:199,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5569:200,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5572:200,3 [15] StringLiterals.cshtml) - Html - This is line 39
+ IntermediateToken - (5587:200,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5591:200,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5593:201,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5596:201,3 [15] StringLiterals.cshtml) - Html - This is line 40
+ IntermediateToken - (5611:201,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5615:201,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5617:202,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5620:202,3 [15] StringLiterals.cshtml) - Html - This is line 41
+ IntermediateToken - (5635:202,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5639:202,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5641:203,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5644:203,3 [15] StringLiterals.cshtml) - Html - This is line 42
+ IntermediateToken - (5659:203,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5663:203,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5665:204,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5668:204,3 [15] StringLiterals.cshtml) - Html - This is line 43
+ IntermediateToken - (5683:204,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5687:204,22 [5] StringLiterals.cshtml) - Html - hi!\n
+ Section - - WriteLiteralsToInHereAlso
+ HtmlContent - (5728:205,36 [1023] StringLiterals.cshtml)
+ IntermediateToken - (5728:205,36 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5734:206,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5737:206,7 [21] StringLiterals.cshtml) - Html - This is line 1 nested
+ IntermediateToken - (5758:206,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5762:206,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5768:207,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5771:207,7 [21] StringLiterals.cshtml) - Html - This is line 2 nested
+ IntermediateToken - (5792:207,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5796:207,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5802:208,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5805:208,7 [21] StringLiterals.cshtml) - Html - This is line 3 nested
+ IntermediateToken - (5826:208,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5830:208,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5836:209,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5839:209,7 [21] StringLiterals.cshtml) - Html - This is line 4 nested
+ IntermediateToken - (5860:209,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5864:209,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5870:210,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5873:210,7 [21] StringLiterals.cshtml) - Html - This is line 5 nested
+ IntermediateToken - (5894:210,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5898:210,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5904:211,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5907:211,7 [21] StringLiterals.cshtml) - Html - This is line 6 nested
+ IntermediateToken - (5928:211,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5932:211,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5938:212,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5941:212,7 [21] StringLiterals.cshtml) - Html - This is line 7 nested
+ IntermediateToken - (5962:212,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5966:212,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5972:213,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5975:213,7 [21] StringLiterals.cshtml) - Html - This is line 8 nested
+ IntermediateToken - (5996:213,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6000:213,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6006:214,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6009:214,7 [21] StringLiterals.cshtml) - Html - This is line 9 nested
+ IntermediateToken - (6030:214,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6034:214,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6040:215,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6043:215,7 [22] StringLiterals.cshtml) - Html - This is line 10 nested
+ IntermediateToken - (6065:215,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6069:215,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6075:216,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6078:216,7 [22] StringLiterals.cshtml) - Html - This is line 11 nested
+ IntermediateToken - (6100:216,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6104:216,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6110:217,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6113:217,7 [22] StringLiterals.cshtml) - Html - This is line 12 nested
+ IntermediateToken - (6135:217,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6139:217,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6145:218,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6148:218,7 [22] StringLiterals.cshtml) - Html - This is line 13 nested
+ IntermediateToken - (6170:218,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6174:218,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6180:219,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6183:219,7 [22] StringLiterals.cshtml) - Html - This is line 14 nested
+ IntermediateToken - (6205:219,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6209:219,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6215:220,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6218:220,7 [22] StringLiterals.cshtml) - Html - This is line 15 nested
+ IntermediateToken - (6240:220,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6244:220,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6250:221,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6253:221,7 [22] StringLiterals.cshtml) - Html - This is line 16 nested
+ IntermediateToken - (6275:221,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6279:221,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6285:222,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6288:222,7 [22] StringLiterals.cshtml) - Html - This is line 17 nested
+ IntermediateToken - (6310:222,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6314:222,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6320:223,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6323:223,7 [22] StringLiterals.cshtml) - Html - This is line 18 nested
+ IntermediateToken - (6345:223,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6349:223,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6355:224,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6358:224,7 [22] StringLiterals.cshtml) - Html - This is line 19 nested
+ IntermediateToken - (6380:224,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6384:224,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6390:225,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6393:225,7 [22] StringLiterals.cshtml) - Html - This is line 20 nested
+ IntermediateToken - (6415:225,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6419:225,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6425:226,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6428:226,7 [22] StringLiterals.cshtml) - Html - This is line 21 nested
+ IntermediateToken - (6450:226,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6454:226,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6460:227,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6463:227,7 [22] StringLiterals.cshtml) - Html - This is line 22 nested
+ IntermediateToken - (6485:227,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6489:227,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6495:228,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6498:228,7 [22] StringLiterals.cshtml) - Html - This is line 23 nested
+ IntermediateToken - (6520:228,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6524:228,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6530:229,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6533:229,7 [22] StringLiterals.cshtml) - Html - This is line 24 nested
+ IntermediateToken - (6555:229,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6559:229,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6565:230,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6568:230,7 [22] StringLiterals.cshtml) - Html - This is line 25 nested
+ IntermediateToken - (6590:230,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6594:230,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6600:231,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6603:231,7 [22] StringLiterals.cshtml) - Html - This is line 26 nested
+ IntermediateToken - (6625:231,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6629:231,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6635:232,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6638:232,7 [22] StringLiterals.cshtml) - Html - This is line 27 nested
+ IntermediateToken - (6660:232,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6664:232,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6670:233,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6673:233,7 [22] StringLiterals.cshtml) - Html - This is line 28 nested
+ IntermediateToken - (6695:233,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6699:233,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6705:234,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6708:234,7 [22] StringLiterals.cshtml) - Html - This is line 29 nested
+ IntermediateToken - (6730:234,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6734:234,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6740:235,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6743:235,7 [2] StringLiterals.cshtml) - Html - 30
+ IntermediateToken - (6745:235,9 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6749:235,13 [2] StringLiterals.cshtml) - Html - \n
+ HtmlContent - (6752:236,1 [1] StringLiterals.cshtml)
+ IntermediateToken - (6752:236,1 [1] StringLiterals.cshtml) - Html - !
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/StringLiterals_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/StringLiterals_DesignTime.mappings.txt
new file mode 100644
index 0000000000..894e426da0
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/StringLiterals_DesignTime.mappings.txt
@@ -0,0 +1,10 @@
+Source Location: (2022:85,9 [21] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/StringLiterals.cshtml)
+|WriteLiteralsToInHere|
+Generated Location: (405:10,22 [21] )
+|WriteLiteralsToInHere|
+
+Source Location: (5701:205,9 [25] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/StringLiterals.cshtml)
+|WriteLiteralsToInHereAlso|
+Generated Location: (518:14,22 [25] )
+|WriteLiteralsToInHereAlso|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/StringLiterals_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/StringLiterals_Runtime.codegen.cs
new file mode 100644
index 0000000000..b2c587c14d
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/StringLiterals_Runtime.codegen.cs
@@ -0,0 +1,267 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/StringLiterals.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "711aea8060d90aea04acd3324afb4bb4a0caccde"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_StringLiterals_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/StringLiterals.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"711aea8060d90aea04acd3324afb4bb4a0caccde", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/StringLiterals.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_StringLiterals_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral(@"<p>This is line 1</p>
+<p>This is line 2</p>
+<p>This is line 3</p>
+<p>This is line 4</p>
+<p>This is line 5</p>
+<p>This is line 6</p>
+<p>This is line 7</p>
+<p>This is line 8</p>
+<p>This is line 9</p>
+<p>This is line 10</p>
+<p>This is line 11</p>
+<p>This is line 12</p>
+<p>This is line 13</p>
+<p>This is line 14</p>
+<p>This is line 15</p>
+<p>This is line 16</p>
+<p>This is line 17</p>
+<p>This is line 18</p>
+<p>This is line 19</p>
+<p>This is line 20</p>
+<p>This is line 21</p>
+<p>This is line 22</p>
+<p>This is line 23</p>
+<p>This is line 24</p>
+<p>This is line 25</p>
+<p>This is line 26</p>
+<p>This is line 27</p>
+<p>This is line 28</p>
+<p>This is line 29</p>
+<p>This is line 30</p>
+<p>This is line 31</p>
+<p>This is line 32</p>
+<p>This is line 33</p>
+<p>This is line 34</p>
+<p>This is line 35</p>
+<p>This is line 36</p>
+<p>This is line 37</p>
+<p>This is line 38</p>
+<p>This is line 39</p>
+<p>This is line 40</p>
+<p>This is line 41</p>
+<p>This is line 42</p>
+<p>This is line 43</p>
+<");
+ WriteLiteral(@"p>This is line 44</p>
+<p>This is line 45</p>
+<p>This is line 46</p>
+<p>This is line 47</p>
+<p>This is line 48</p>
+<p>This is line 49</p>
+<p>This is line 50</p>
+<p>This is line 51</p>
+<p>This is line 52</p>
+<p>This is line 53</p>
+<p>This is line 54</p>
+<p>This is line 55</p>
+<p>This is line 56</p>
+<p>This is line 57</p>
+<p>This is line 58</p>
+<p>This is line 59</p>
+<p>This is line 60</p>
+<p>This is line 61</p>
+<p>This is line 62</p>
+<p>This is line 63</p>
+<p>This is line 64</p>
+<p>This is line 65</p>
+<p>This is line 66</p>
+<p>This is line 67</p>
+<p>This is line 68</p>
+<p>This is line 69</p>
+<p>This is line 70</p>
+<p>This is line 71</p>
+<p>This is line 72</p>
+<p>This is line 73</p>
+<p>This is line 74</p>
+<p>This is line 75</p>
+<p>This is line 76</p>
+<p>This is line 77</p>
+<p>This is line 78</p>
+<p>This is line 79</p>
+<p>This is line 80</p>
+<p>This is line 81</p>
+<p>This is line 82</p>
+<p>This is line 83</p>
+<p>This is line 84</p><br>
+
+");
+ DefineSection("WriteLiteralsToInHere", async() => {
+ WriteLiteral(@"
+ <p>This is line 1 nested</p>
+ <p>This is line 2 nested</p>
+ <p>This is line 3 nested</p>
+ <p>This is line 4 nested</p>
+ <p>This is line 5 nested</p>
+ <p>This is line 6 nested</p>
+ <p>This is line 7 nested</p>
+ <p>This is line 8 nested</p>
+ <p>This is line 9 nested</p>
+ <p>This is line 10 nested</p>
+ <p>This is line 11 nested</p>
+ <p>This is line 12 nested</p>
+ <p>This is line 13 nested</p>
+ <p>This is line 14 nested</p>
+ <p>This is line 15 nested</p>
+ <p>This is line 16 nested</p>
+ <p>This is line 17 nested</p>
+ <p>This is line 18 nested</p>
+ <p>This is line 19 nested</p>
+ <p>This is line 20 nested</p>
+ <p>This is line 21 nested</p>
+ <p>This is line 22 nested</p>
+ <p>This is line 23 nested</p>
+ <p>This is line 24 nested</p>
+ <p>This is line 25 nested</p>
+ <p>This is line 26 nested</p>
+ <p>This is line 27 nested</p>
+ <p>This is line 28 nested</p>
+ <p>This is line 29 nested</p>
+ <p>This is l");
+ WriteLiteral(@"ine 30 nested</p>
+ <p>This is line 31 nested</p>
+ <p>This is line 32 nested</p>
+ <p>This is line 33 nested</p>
+ <p>This is line 34 nested</p>
+ <p>This is line 35 nested</p>
+ <p>This is line 36 nested</p>
+ <p>This is line 37 nested</p>
+ <p>This is line 38 nested</p>
+ <p>This is line 39 nested</p>
+ <p>This is line 40 nested</p>
+ <p>This is line 41 nested</p>
+ <p>This is line 42 nested</p>
+ <p>This is line 43 nested</p>
+ <p>This is line 44 nested</p>
+ <p>This is line 45 nested</p>
+ <p>This is line 46 nested</p>
+ <p>This is line 47 nested</p>
+ <p>This is line 48 nested</p>
+ <p>This is line 49 nested</p>
+ <p>This is line 50 nested</p>
+ <p>This is line 51 nested</p>
+ <p>This is line 52 nested</p>
+ <p>This is line 53 nested</p>
+ <p>This is line 54 nested</p>
+ <p>This is line 55 nested</p>
+ <p>This is line 56 nested</p>
+ <p>This is line 57 nested</p>
+ <p>This is line 58 nested</p>
+ <p>This is line 59 ne");
+ WriteLiteral(@"sted</p>
+ <p>This is line 60 nested</p>
+ <p>This is line 61 nested</p>
+ <p>This is line 62 nested</p>
+ <p>This is line 63 nested</p>
+ <p>This is line 64 nested</p>
+ <p>This is line 65 nested</p>
+ <p>This is line 66 nested</p>
+ <p>This is line 67 nested</p>
+ <p>This is line 68 nested</p>
+ <p>This is line 69 nested</p>
+ <p>This is line 70 nested</p>
+ <p>This is line 71 nested</p>
+ <p>This is line 72 nested</p>
+ <p>This is line 73 nested</p>
+ <p>This is line 74 nested</p>
+ <p>This is line 75 nested</p>
+");
+ }
+ );
+ WriteLiteral(@"<p>This is line 1</p>
+<p>This is line 2</p>
+<p>This is line 3</p>
+<p>This is line 4</p>
+<p>This is line 5</p>
+<p>This is line 6</p>
+<p>This is line 7</p>
+<p>This is line 8</p>
+<p>This is line 9</p>
+<p>This is line 10</p>
+<p>This is line 11</p>
+<p>This is line 12</p>
+<p>This is line 13</p>
+<p>This is line 14</p>
+<p>This is line 15</p>
+<p>This is line 16</p>
+<p>This is line 17</p>
+<p>This is line 18</p>
+<p>This is line 19</p>
+<p>This is line 20</p>
+<p>This is line 21</p>
+<p>This is line 22</p>
+<p>This is line 23</p>
+<p>This is line 24</p>
+<p>This is line 25</p>
+<p>This is line 26</p>
+<p>This is line 27</p>
+<p>This is line 28</p>
+<p>This is line 29</p>
+<p>This is line 30</p>
+<p>This is line 31</p>
+<p>This is line 32</p>
+<p>This is line 33</p>
+<p>This is line 34</p>
+<p>This is line 35</p>
+<p>This is line 36</p>
+<p>This is line 37</p>
+<p>This is line 38</p>
+<p>This is line 39</p>
+<p>This is line 40</p>
+<p>This is line 41</p>
+<p>This is line 42</p>
+<p>This is line 43</p>hi!");
+ WriteLiteral("\r\n");
+ DefineSection("WriteLiteralsToInHereAlso", async() => {
+ WriteLiteral(@"
+ <p>This is line 1 nested</p>
+ <p>This is line 2 nested</p>
+ <p>This is line 3 nested</p>
+ <p>This is line 4 nested</p>
+ <p>This is line 5 nested</p>
+ <p>This is line 6 nested</p>
+ <p>This is line 7 nested</p>
+ <p>This is line 8 nested</p>
+ <p>This is line 9 nested</p>
+ <p>This is line 10 nested</p>
+ <p>This is line 11 nested</p>
+ <p>This is line 12 nested</p>
+ <p>This is line 13 nested</p>
+ <p>This is line 14 nested</p>
+ <p>This is line 15 nested</p>
+ <p>This is line 16 nested</p>
+ <p>This is line 17 nested</p>
+ <p>This is line 18 nested</p>
+ <p>This is line 19 nested</p>
+ <p>This is line 20 nested</p>
+ <p>This is line 21 nested</p>
+ <p>This is line 22 nested</p>
+ <p>This is line 23 nested</p>
+ <p>This is line 24 nested</p>
+ <p>This is line 25 nested</p>
+ <p>This is line 26 nested</p>
+ <p>This is line 27 nested</p>
+ <p>This is line 28 nested</p>
+ <p>This is line 29 nested</p>
+ <p>30</p>
+");
+ }
+ );
+ WriteLiteral("!");
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/StringLiterals_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/StringLiterals_Runtime.ir.txt
new file mode 100644
index 0000000000..33d3408bbe
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/StringLiterals_Runtime.ir.txt
@@ -0,0 +1,945 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_StringLiterals_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (0:0,0 [2013] StringLiterals.cshtml)
+ IntermediateToken - (0:0,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3:0,3 [14] StringLiterals.cshtml) - Html - This is line 1
+ IntermediateToken - (17:0,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (21:0,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (23:1,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (26:1,3 [14] StringLiterals.cshtml) - Html - This is line 2
+ IntermediateToken - (40:1,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (44:1,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (46:2,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (49:2,3 [14] StringLiterals.cshtml) - Html - This is line 3
+ IntermediateToken - (63:2,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (67:2,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (69:3,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (72:3,3 [14] StringLiterals.cshtml) - Html - This is line 4
+ IntermediateToken - (86:3,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (90:3,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (92:4,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (95:4,3 [14] StringLiterals.cshtml) - Html - This is line 5
+ IntermediateToken - (109:4,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (113:4,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (115:5,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (118:5,3 [14] StringLiterals.cshtml) - Html - This is line 6
+ IntermediateToken - (132:5,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (136:5,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (138:6,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (141:6,3 [14] StringLiterals.cshtml) - Html - This is line 7
+ IntermediateToken - (155:6,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (159:6,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (161:7,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (164:7,3 [14] StringLiterals.cshtml) - Html - This is line 8
+ IntermediateToken - (178:7,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (182:7,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (184:8,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (187:8,3 [14] StringLiterals.cshtml) - Html - This is line 9
+ IntermediateToken - (201:8,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (205:8,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (207:9,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (210:9,3 [15] StringLiterals.cshtml) - Html - This is line 10
+ IntermediateToken - (225:9,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (229:9,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (231:10,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (234:10,3 [15] StringLiterals.cshtml) - Html - This is line 11
+ IntermediateToken - (249:10,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (253:10,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (255:11,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (258:11,3 [15] StringLiterals.cshtml) - Html - This is line 12
+ IntermediateToken - (273:11,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (277:11,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (279:12,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (282:12,3 [15] StringLiterals.cshtml) - Html - This is line 13
+ IntermediateToken - (297:12,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (301:12,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (303:13,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (306:13,3 [15] StringLiterals.cshtml) - Html - This is line 14
+ IntermediateToken - (321:13,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (325:13,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (327:14,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (330:14,3 [15] StringLiterals.cshtml) - Html - This is line 15
+ IntermediateToken - (345:14,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (349:14,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (351:15,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (354:15,3 [15] StringLiterals.cshtml) - Html - This is line 16
+ IntermediateToken - (369:15,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (373:15,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (375:16,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (378:16,3 [15] StringLiterals.cshtml) - Html - This is line 17
+ IntermediateToken - (393:16,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (397:16,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (399:17,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (402:17,3 [15] StringLiterals.cshtml) - Html - This is line 18
+ IntermediateToken - (417:17,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (421:17,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (423:18,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (426:18,3 [15] StringLiterals.cshtml) - Html - This is line 19
+ IntermediateToken - (441:18,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (445:18,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (447:19,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (450:19,3 [15] StringLiterals.cshtml) - Html - This is line 20
+ IntermediateToken - (465:19,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (469:19,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (471:20,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (474:20,3 [15] StringLiterals.cshtml) - Html - This is line 21
+ IntermediateToken - (489:20,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (493:20,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (495:21,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (498:21,3 [15] StringLiterals.cshtml) - Html - This is line 22
+ IntermediateToken - (513:21,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (517:21,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (519:22,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (522:22,3 [15] StringLiterals.cshtml) - Html - This is line 23
+ IntermediateToken - (537:22,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (541:22,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (543:23,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (546:23,3 [15] StringLiterals.cshtml) - Html - This is line 24
+ IntermediateToken - (561:23,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (565:23,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (567:24,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (570:24,3 [15] StringLiterals.cshtml) - Html - This is line 25
+ IntermediateToken - (585:24,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (589:24,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (591:25,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (594:25,3 [15] StringLiterals.cshtml) - Html - This is line 26
+ IntermediateToken - (609:25,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (613:25,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (615:26,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (618:26,3 [15] StringLiterals.cshtml) - Html - This is line 27
+ IntermediateToken - (633:26,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (637:26,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (639:27,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (642:27,3 [15] StringLiterals.cshtml) - Html - This is line 28
+ IntermediateToken - (657:27,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (661:27,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (663:28,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (666:28,3 [15] StringLiterals.cshtml) - Html - This is line 29
+ IntermediateToken - (681:28,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (685:28,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (687:29,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (690:29,3 [15] StringLiterals.cshtml) - Html - This is line 30
+ IntermediateToken - (705:29,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (709:29,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (711:30,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (714:30,3 [15] StringLiterals.cshtml) - Html - This is line 31
+ IntermediateToken - (729:30,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (733:30,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (735:31,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (738:31,3 [15] StringLiterals.cshtml) - Html - This is line 32
+ IntermediateToken - (753:31,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (757:31,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (759:32,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (762:32,3 [15] StringLiterals.cshtml) - Html - This is line 33
+ IntermediateToken - (777:32,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (781:32,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (783:33,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (786:33,3 [15] StringLiterals.cshtml) - Html - This is line 34
+ IntermediateToken - (801:33,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (805:33,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (807:34,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (810:34,3 [15] StringLiterals.cshtml) - Html - This is line 35
+ IntermediateToken - (825:34,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (829:34,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (831:35,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (834:35,3 [15] StringLiterals.cshtml) - Html - This is line 36
+ IntermediateToken - (849:35,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (853:35,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (855:36,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (858:36,3 [15] StringLiterals.cshtml) - Html - This is line 37
+ IntermediateToken - (873:36,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (877:36,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (879:37,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (882:37,3 [15] StringLiterals.cshtml) - Html - This is line 38
+ IntermediateToken - (897:37,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (901:37,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (903:38,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (906:38,3 [15] StringLiterals.cshtml) - Html - This is line 39
+ IntermediateToken - (921:38,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (925:38,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (927:39,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (930:39,3 [15] StringLiterals.cshtml) - Html - This is line 40
+ IntermediateToken - (945:39,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (949:39,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (951:40,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (954:40,3 [15] StringLiterals.cshtml) - Html - This is line 41
+ IntermediateToken - (969:40,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (973:40,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (975:41,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (978:41,3 [15] StringLiterals.cshtml) - Html - This is line 42
+ IntermediateToken - (993:41,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (997:41,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (999:42,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1002:42,3 [15] StringLiterals.cshtml) - Html - This is line 43
+ IntermediateToken - (1017:42,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1021:42,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1023:43,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1026:43,3 [15] StringLiterals.cshtml) - Html - This is line 44
+ IntermediateToken - (1041:43,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1045:43,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1047:44,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1050:44,3 [15] StringLiterals.cshtml) - Html - This is line 45
+ IntermediateToken - (1065:44,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1069:44,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1071:45,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1074:45,3 [15] StringLiterals.cshtml) - Html - This is line 46
+ IntermediateToken - (1089:45,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1093:45,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1095:46,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1098:46,3 [15] StringLiterals.cshtml) - Html - This is line 47
+ IntermediateToken - (1113:46,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1117:46,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1119:47,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1122:47,3 [15] StringLiterals.cshtml) - Html - This is line 48
+ IntermediateToken - (1137:47,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1141:47,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1143:48,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1146:48,3 [15] StringLiterals.cshtml) - Html - This is line 49
+ IntermediateToken - (1161:48,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1165:48,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1167:49,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1170:49,3 [15] StringLiterals.cshtml) - Html - This is line 50
+ IntermediateToken - (1185:49,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1189:49,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1191:50,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1194:50,3 [15] StringLiterals.cshtml) - Html - This is line 51
+ IntermediateToken - (1209:50,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1213:50,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1215:51,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1218:51,3 [15] StringLiterals.cshtml) - Html - This is line 52
+ IntermediateToken - (1233:51,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1237:51,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1239:52,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1242:52,3 [15] StringLiterals.cshtml) - Html - This is line 53
+ IntermediateToken - (1257:52,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1261:52,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1263:53,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1266:53,3 [15] StringLiterals.cshtml) - Html - This is line 54
+ IntermediateToken - (1281:53,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1285:53,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1287:54,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1290:54,3 [15] StringLiterals.cshtml) - Html - This is line 55
+ IntermediateToken - (1305:54,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1309:54,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1311:55,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1314:55,3 [15] StringLiterals.cshtml) - Html - This is line 56
+ IntermediateToken - (1329:55,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1333:55,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1335:56,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1338:56,3 [15] StringLiterals.cshtml) - Html - This is line 57
+ IntermediateToken - (1353:56,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1357:56,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1359:57,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1362:57,3 [15] StringLiterals.cshtml) - Html - This is line 58
+ IntermediateToken - (1377:57,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1381:57,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1383:58,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1386:58,3 [15] StringLiterals.cshtml) - Html - This is line 59
+ IntermediateToken - (1401:58,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1405:58,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1407:59,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1410:59,3 [15] StringLiterals.cshtml) - Html - This is line 60
+ IntermediateToken - (1425:59,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1429:59,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1431:60,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1434:60,3 [15] StringLiterals.cshtml) - Html - This is line 61
+ IntermediateToken - (1449:60,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1453:60,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1455:61,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1458:61,3 [15] StringLiterals.cshtml) - Html - This is line 62
+ IntermediateToken - (1473:61,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1477:61,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1479:62,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1482:62,3 [15] StringLiterals.cshtml) - Html - This is line 63
+ IntermediateToken - (1497:62,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1501:62,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1503:63,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1506:63,3 [15] StringLiterals.cshtml) - Html - This is line 64
+ IntermediateToken - (1521:63,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1525:63,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1527:64,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1530:64,3 [15] StringLiterals.cshtml) - Html - This is line 65
+ IntermediateToken - (1545:64,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1549:64,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1551:65,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1554:65,3 [15] StringLiterals.cshtml) - Html - This is line 66
+ IntermediateToken - (1569:65,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1573:65,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1575:66,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1578:66,3 [15] StringLiterals.cshtml) - Html - This is line 67
+ IntermediateToken - (1593:66,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1597:66,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1599:67,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1602:67,3 [15] StringLiterals.cshtml) - Html - This is line 68
+ IntermediateToken - (1617:67,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1621:67,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1623:68,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1626:68,3 [15] StringLiterals.cshtml) - Html - This is line 69
+ IntermediateToken - (1641:68,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1645:68,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1647:69,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1650:69,3 [15] StringLiterals.cshtml) - Html - This is line 70
+ IntermediateToken - (1665:69,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1669:69,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1671:70,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1674:70,3 [15] StringLiterals.cshtml) - Html - This is line 71
+ IntermediateToken - (1689:70,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1693:70,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1695:71,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1698:71,3 [15] StringLiterals.cshtml) - Html - This is line 72
+ IntermediateToken - (1713:71,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1717:71,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1719:72,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1722:72,3 [15] StringLiterals.cshtml) - Html - This is line 73
+ IntermediateToken - (1737:72,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1741:72,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1743:73,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1746:73,3 [15] StringLiterals.cshtml) - Html - This is line 74
+ IntermediateToken - (1761:73,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1765:73,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1767:74,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1770:74,3 [15] StringLiterals.cshtml) - Html - This is line 75
+ IntermediateToken - (1785:74,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1789:74,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1791:75,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1794:75,3 [15] StringLiterals.cshtml) - Html - This is line 76
+ IntermediateToken - (1809:75,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1813:75,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1815:76,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1818:76,3 [15] StringLiterals.cshtml) - Html - This is line 77
+ IntermediateToken - (1833:76,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1837:76,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1839:77,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1842:77,3 [15] StringLiterals.cshtml) - Html - This is line 78
+ IntermediateToken - (1857:77,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1861:77,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1863:78,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1866:78,3 [15] StringLiterals.cshtml) - Html - This is line 79
+ IntermediateToken - (1881:78,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1885:78,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1887:79,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1890:79,3 [15] StringLiterals.cshtml) - Html - This is line 80
+ IntermediateToken - (1905:79,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1909:79,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1911:80,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1914:80,3 [15] StringLiterals.cshtml) - Html - This is line 81
+ IntermediateToken - (1929:80,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1933:80,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1935:81,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1938:81,3 [15] StringLiterals.cshtml) - Html - This is line 82
+ IntermediateToken - (1953:81,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1957:81,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1959:82,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1962:82,3 [15] StringLiterals.cshtml) - Html - This is line 83
+ IntermediateToken - (1977:82,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (1981:82,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (1983:83,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (1986:83,3 [15] StringLiterals.cshtml) - Html - This is line 84
+ IntermediateToken - (2001:83,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2005:83,22 [4] StringLiterals.cshtml) - Html - <br>
+ IntermediateToken - (2009:83,26 [4] StringLiterals.cshtml) - Html - \n\n
+ Section - - WriteLiteralsToInHere
+ HtmlContent - (2045:85,32 [2618] StringLiterals.cshtml)
+ IntermediateToken - (2045:85,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2051:86,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2054:86,7 [21] StringLiterals.cshtml) - Html - This is line 1 nested
+ IntermediateToken - (2075:86,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2079:86,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2085:87,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2088:87,7 [21] StringLiterals.cshtml) - Html - This is line 2 nested
+ IntermediateToken - (2109:87,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2113:87,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2119:88,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2122:88,7 [21] StringLiterals.cshtml) - Html - This is line 3 nested
+ IntermediateToken - (2143:88,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2147:88,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2153:89,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2156:89,7 [21] StringLiterals.cshtml) - Html - This is line 4 nested
+ IntermediateToken - (2177:89,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2181:89,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2187:90,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2190:90,7 [21] StringLiterals.cshtml) - Html - This is line 5 nested
+ IntermediateToken - (2211:90,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2215:90,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2221:91,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2224:91,7 [21] StringLiterals.cshtml) - Html - This is line 6 nested
+ IntermediateToken - (2245:91,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2249:91,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2255:92,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2258:92,7 [21] StringLiterals.cshtml) - Html - This is line 7 nested
+ IntermediateToken - (2279:92,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2283:92,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2289:93,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2292:93,7 [21] StringLiterals.cshtml) - Html - This is line 8 nested
+ IntermediateToken - (2313:93,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2317:93,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2323:94,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2326:94,7 [21] StringLiterals.cshtml) - Html - This is line 9 nested
+ IntermediateToken - (2347:94,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2351:94,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2357:95,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2360:95,7 [22] StringLiterals.cshtml) - Html - This is line 10 nested
+ IntermediateToken - (2382:95,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2386:95,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2392:96,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2395:96,7 [22] StringLiterals.cshtml) - Html - This is line 11 nested
+ IntermediateToken - (2417:96,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2421:96,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2427:97,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2430:97,7 [22] StringLiterals.cshtml) - Html - This is line 12 nested
+ IntermediateToken - (2452:97,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2456:97,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2462:98,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2465:98,7 [22] StringLiterals.cshtml) - Html - This is line 13 nested
+ IntermediateToken - (2487:98,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2491:98,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2497:99,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2500:99,7 [22] StringLiterals.cshtml) - Html - This is line 14 nested
+ IntermediateToken - (2522:99,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2526:99,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2532:100,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2535:100,7 [22] StringLiterals.cshtml) - Html - This is line 15 nested
+ IntermediateToken - (2557:100,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2561:100,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2567:101,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2570:101,7 [22] StringLiterals.cshtml) - Html - This is line 16 nested
+ IntermediateToken - (2592:101,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2596:101,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2602:102,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2605:102,7 [22] StringLiterals.cshtml) - Html - This is line 17 nested
+ IntermediateToken - (2627:102,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2631:102,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2637:103,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2640:103,7 [22] StringLiterals.cshtml) - Html - This is line 18 nested
+ IntermediateToken - (2662:103,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2666:103,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2672:104,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2675:104,7 [22] StringLiterals.cshtml) - Html - This is line 19 nested
+ IntermediateToken - (2697:104,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2701:104,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2707:105,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2710:105,7 [22] StringLiterals.cshtml) - Html - This is line 20 nested
+ IntermediateToken - (2732:105,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2736:105,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2742:106,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2745:106,7 [22] StringLiterals.cshtml) - Html - This is line 21 nested
+ IntermediateToken - (2767:106,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2771:106,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2777:107,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2780:107,7 [22] StringLiterals.cshtml) - Html - This is line 22 nested
+ IntermediateToken - (2802:107,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2806:107,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2812:108,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2815:108,7 [22] StringLiterals.cshtml) - Html - This is line 23 nested
+ IntermediateToken - (2837:108,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2841:108,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2847:109,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2850:109,7 [22] StringLiterals.cshtml) - Html - This is line 24 nested
+ IntermediateToken - (2872:109,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2876:109,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2882:110,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2885:110,7 [22] StringLiterals.cshtml) - Html - This is line 25 nested
+ IntermediateToken - (2907:110,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2911:110,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2917:111,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2920:111,7 [22] StringLiterals.cshtml) - Html - This is line 26 nested
+ IntermediateToken - (2942:111,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2946:111,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2952:112,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2955:112,7 [22] StringLiterals.cshtml) - Html - This is line 27 nested
+ IntermediateToken - (2977:112,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (2981:112,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (2987:113,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (2990:113,7 [22] StringLiterals.cshtml) - Html - This is line 28 nested
+ IntermediateToken - (3012:113,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3016:113,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3022:114,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3025:114,7 [22] StringLiterals.cshtml) - Html - This is line 29 nested
+ IntermediateToken - (3047:114,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3051:114,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3057:115,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3060:115,7 [22] StringLiterals.cshtml) - Html - This is line 30 nested
+ IntermediateToken - (3082:115,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3086:115,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3092:116,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3095:116,7 [22] StringLiterals.cshtml) - Html - This is line 31 nested
+ IntermediateToken - (3117:116,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3121:116,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3127:117,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3130:117,7 [22] StringLiterals.cshtml) - Html - This is line 32 nested
+ IntermediateToken - (3152:117,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3156:117,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3162:118,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3165:118,7 [22] StringLiterals.cshtml) - Html - This is line 33 nested
+ IntermediateToken - (3187:118,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3191:118,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3197:119,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3200:119,7 [22] StringLiterals.cshtml) - Html - This is line 34 nested
+ IntermediateToken - (3222:119,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3226:119,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3232:120,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3235:120,7 [22] StringLiterals.cshtml) - Html - This is line 35 nested
+ IntermediateToken - (3257:120,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3261:120,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3267:121,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3270:121,7 [22] StringLiterals.cshtml) - Html - This is line 36 nested
+ IntermediateToken - (3292:121,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3296:121,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3302:122,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3305:122,7 [22] StringLiterals.cshtml) - Html - This is line 37 nested
+ IntermediateToken - (3327:122,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3331:122,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3337:123,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3340:123,7 [22] StringLiterals.cshtml) - Html - This is line 38 nested
+ IntermediateToken - (3362:123,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3366:123,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3372:124,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3375:124,7 [22] StringLiterals.cshtml) - Html - This is line 39 nested
+ IntermediateToken - (3397:124,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3401:124,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3407:125,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3410:125,7 [22] StringLiterals.cshtml) - Html - This is line 40 nested
+ IntermediateToken - (3432:125,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3436:125,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3442:126,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3445:126,7 [22] StringLiterals.cshtml) - Html - This is line 41 nested
+ IntermediateToken - (3467:126,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3471:126,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3477:127,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3480:127,7 [22] StringLiterals.cshtml) - Html - This is line 42 nested
+ IntermediateToken - (3502:127,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3506:127,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3512:128,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3515:128,7 [22] StringLiterals.cshtml) - Html - This is line 43 nested
+ IntermediateToken - (3537:128,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3541:128,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3547:129,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3550:129,7 [22] StringLiterals.cshtml) - Html - This is line 44 nested
+ IntermediateToken - (3572:129,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3576:129,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3582:130,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3585:130,7 [22] StringLiterals.cshtml) - Html - This is line 45 nested
+ IntermediateToken - (3607:130,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3611:130,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3617:131,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3620:131,7 [22] StringLiterals.cshtml) - Html - This is line 46 nested
+ IntermediateToken - (3642:131,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3646:131,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3652:132,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3655:132,7 [22] StringLiterals.cshtml) - Html - This is line 47 nested
+ IntermediateToken - (3677:132,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3681:132,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3687:133,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3690:133,7 [22] StringLiterals.cshtml) - Html - This is line 48 nested
+ IntermediateToken - (3712:133,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3716:133,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3722:134,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3725:134,7 [22] StringLiterals.cshtml) - Html - This is line 49 nested
+ IntermediateToken - (3747:134,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3751:134,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3757:135,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3760:135,7 [22] StringLiterals.cshtml) - Html - This is line 50 nested
+ IntermediateToken - (3782:135,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3786:135,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3792:136,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3795:136,7 [22] StringLiterals.cshtml) - Html - This is line 51 nested
+ IntermediateToken - (3817:136,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3821:136,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3827:137,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3830:137,7 [22] StringLiterals.cshtml) - Html - This is line 52 nested
+ IntermediateToken - (3852:137,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3856:137,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3862:138,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3865:138,7 [22] StringLiterals.cshtml) - Html - This is line 53 nested
+ IntermediateToken - (3887:138,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3891:138,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3897:139,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3900:139,7 [22] StringLiterals.cshtml) - Html - This is line 54 nested
+ IntermediateToken - (3922:139,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3926:139,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3932:140,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3935:140,7 [22] StringLiterals.cshtml) - Html - This is line 55 nested
+ IntermediateToken - (3957:140,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3961:140,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (3967:141,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (3970:141,7 [22] StringLiterals.cshtml) - Html - This is line 56 nested
+ IntermediateToken - (3992:141,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (3996:141,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4002:142,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4005:142,7 [22] StringLiterals.cshtml) - Html - This is line 57 nested
+ IntermediateToken - (4027:142,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4031:142,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4037:143,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4040:143,7 [22] StringLiterals.cshtml) - Html - This is line 58 nested
+ IntermediateToken - (4062:143,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4066:143,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4072:144,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4075:144,7 [22] StringLiterals.cshtml) - Html - This is line 59 nested
+ IntermediateToken - (4097:144,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4101:144,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4107:145,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4110:145,7 [22] StringLiterals.cshtml) - Html - This is line 60 nested
+ IntermediateToken - (4132:145,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4136:145,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4142:146,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4145:146,7 [22] StringLiterals.cshtml) - Html - This is line 61 nested
+ IntermediateToken - (4167:146,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4171:146,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4177:147,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4180:147,7 [22] StringLiterals.cshtml) - Html - This is line 62 nested
+ IntermediateToken - (4202:147,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4206:147,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4212:148,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4215:148,7 [22] StringLiterals.cshtml) - Html - This is line 63 nested
+ IntermediateToken - (4237:148,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4241:148,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4247:149,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4250:149,7 [22] StringLiterals.cshtml) - Html - This is line 64 nested
+ IntermediateToken - (4272:149,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4276:149,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4282:150,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4285:150,7 [22] StringLiterals.cshtml) - Html - This is line 65 nested
+ IntermediateToken - (4307:150,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4311:150,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4317:151,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4320:151,7 [22] StringLiterals.cshtml) - Html - This is line 66 nested
+ IntermediateToken - (4342:151,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4346:151,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4352:152,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4355:152,7 [22] StringLiterals.cshtml) - Html - This is line 67 nested
+ IntermediateToken - (4377:152,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4381:152,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4387:153,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4390:153,7 [22] StringLiterals.cshtml) - Html - This is line 68 nested
+ IntermediateToken - (4412:153,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4416:153,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4422:154,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4425:154,7 [22] StringLiterals.cshtml) - Html - This is line 69 nested
+ IntermediateToken - (4447:154,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4451:154,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4457:155,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4460:155,7 [22] StringLiterals.cshtml) - Html - This is line 70 nested
+ IntermediateToken - (4482:155,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4486:155,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4492:156,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4495:156,7 [22] StringLiterals.cshtml) - Html - This is line 71 nested
+ IntermediateToken - (4517:156,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4521:156,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4527:157,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4530:157,7 [22] StringLiterals.cshtml) - Html - This is line 72 nested
+ IntermediateToken - (4552:157,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4556:157,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4562:158,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4565:158,7 [22] StringLiterals.cshtml) - Html - This is line 73 nested
+ IntermediateToken - (4587:158,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4591:158,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4597:159,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4600:159,7 [22] StringLiterals.cshtml) - Html - This is line 74 nested
+ IntermediateToken - (4622:159,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4626:159,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4632:160,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4635:160,7 [22] StringLiterals.cshtml) - Html - This is line 75 nested
+ IntermediateToken - (4657:160,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4661:160,33 [2] StringLiterals.cshtml) - Html - \n
+ HtmlContent - (4666:162,0 [1026] StringLiterals.cshtml)
+ IntermediateToken - (4666:162,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4669:162,3 [14] StringLiterals.cshtml) - Html - This is line 1
+ IntermediateToken - (4683:162,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4687:162,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4689:163,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4692:163,3 [14] StringLiterals.cshtml) - Html - This is line 2
+ IntermediateToken - (4706:163,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4710:163,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4712:164,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4715:164,3 [14] StringLiterals.cshtml) - Html - This is line 3
+ IntermediateToken - (4729:164,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4733:164,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4735:165,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4738:165,3 [14] StringLiterals.cshtml) - Html - This is line 4
+ IntermediateToken - (4752:165,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4756:165,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4758:166,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4761:166,3 [14] StringLiterals.cshtml) - Html - This is line 5
+ IntermediateToken - (4775:166,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4779:166,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4781:167,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4784:167,3 [14] StringLiterals.cshtml) - Html - This is line 6
+ IntermediateToken - (4798:167,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4802:167,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4804:168,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4807:168,3 [14] StringLiterals.cshtml) - Html - This is line 7
+ IntermediateToken - (4821:168,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4825:168,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4827:169,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4830:169,3 [14] StringLiterals.cshtml) - Html - This is line 8
+ IntermediateToken - (4844:169,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4848:169,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4850:170,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4853:170,3 [14] StringLiterals.cshtml) - Html - This is line 9
+ IntermediateToken - (4867:170,17 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4871:170,21 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4873:171,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4876:171,3 [15] StringLiterals.cshtml) - Html - This is line 10
+ IntermediateToken - (4891:171,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4895:171,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4897:172,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4900:172,3 [15] StringLiterals.cshtml) - Html - This is line 11
+ IntermediateToken - (4915:172,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4919:172,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4921:173,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4924:173,3 [15] StringLiterals.cshtml) - Html - This is line 12
+ IntermediateToken - (4939:173,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4943:173,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4945:174,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4948:174,3 [15] StringLiterals.cshtml) - Html - This is line 13
+ IntermediateToken - (4963:174,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4967:174,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4969:175,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4972:175,3 [15] StringLiterals.cshtml) - Html - This is line 14
+ IntermediateToken - (4987:175,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (4991:175,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (4993:176,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (4996:176,3 [15] StringLiterals.cshtml) - Html - This is line 15
+ IntermediateToken - (5011:176,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5015:176,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5017:177,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5020:177,3 [15] StringLiterals.cshtml) - Html - This is line 16
+ IntermediateToken - (5035:177,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5039:177,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5041:178,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5044:178,3 [15] StringLiterals.cshtml) - Html - This is line 17
+ IntermediateToken - (5059:178,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5063:178,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5065:179,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5068:179,3 [15] StringLiterals.cshtml) - Html - This is line 18
+ IntermediateToken - (5083:179,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5087:179,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5089:180,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5092:180,3 [15] StringLiterals.cshtml) - Html - This is line 19
+ IntermediateToken - (5107:180,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5111:180,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5113:181,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5116:181,3 [15] StringLiterals.cshtml) - Html - This is line 20
+ IntermediateToken - (5131:181,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5135:181,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5137:182,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5140:182,3 [15] StringLiterals.cshtml) - Html - This is line 21
+ IntermediateToken - (5155:182,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5159:182,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5161:183,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5164:183,3 [15] StringLiterals.cshtml) - Html - This is line 22
+ IntermediateToken - (5179:183,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5183:183,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5185:184,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5188:184,3 [15] StringLiterals.cshtml) - Html - This is line 23
+ IntermediateToken - (5203:184,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5207:184,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5209:185,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5212:185,3 [15] StringLiterals.cshtml) - Html - This is line 24
+ IntermediateToken - (5227:185,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5231:185,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5233:186,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5236:186,3 [15] StringLiterals.cshtml) - Html - This is line 25
+ IntermediateToken - (5251:186,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5255:186,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5257:187,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5260:187,3 [15] StringLiterals.cshtml) - Html - This is line 26
+ IntermediateToken - (5275:187,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5279:187,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5281:188,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5284:188,3 [15] StringLiterals.cshtml) - Html - This is line 27
+ IntermediateToken - (5299:188,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5303:188,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5305:189,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5308:189,3 [15] StringLiterals.cshtml) - Html - This is line 28
+ IntermediateToken - (5323:189,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5327:189,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5329:190,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5332:190,3 [15] StringLiterals.cshtml) - Html - This is line 29
+ IntermediateToken - (5347:190,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5351:190,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5353:191,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5356:191,3 [15] StringLiterals.cshtml) - Html - This is line 30
+ IntermediateToken - (5371:191,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5375:191,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5377:192,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5380:192,3 [15] StringLiterals.cshtml) - Html - This is line 31
+ IntermediateToken - (5395:192,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5399:192,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5401:193,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5404:193,3 [15] StringLiterals.cshtml) - Html - This is line 32
+ IntermediateToken - (5419:193,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5423:193,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5425:194,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5428:194,3 [15] StringLiterals.cshtml) - Html - This is line 33
+ IntermediateToken - (5443:194,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5447:194,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5449:195,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5452:195,3 [15] StringLiterals.cshtml) - Html - This is line 34
+ IntermediateToken - (5467:195,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5471:195,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5473:196,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5476:196,3 [15] StringLiterals.cshtml) - Html - This is line 35
+ IntermediateToken - (5491:196,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5495:196,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5497:197,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5500:197,3 [15] StringLiterals.cshtml) - Html - This is line 36
+ IntermediateToken - (5515:197,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5519:197,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5521:198,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5524:198,3 [15] StringLiterals.cshtml) - Html - This is line 37
+ IntermediateToken - (5539:198,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5543:198,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5545:199,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5548:199,3 [15] StringLiterals.cshtml) - Html - This is line 38
+ IntermediateToken - (5563:199,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5567:199,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5569:200,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5572:200,3 [15] StringLiterals.cshtml) - Html - This is line 39
+ IntermediateToken - (5587:200,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5591:200,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5593:201,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5596:201,3 [15] StringLiterals.cshtml) - Html - This is line 40
+ IntermediateToken - (5611:201,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5615:201,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5617:202,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5620:202,3 [15] StringLiterals.cshtml) - Html - This is line 41
+ IntermediateToken - (5635:202,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5639:202,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5641:203,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5644:203,3 [15] StringLiterals.cshtml) - Html - This is line 42
+ IntermediateToken - (5659:203,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5663:203,22 [2] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5665:204,0 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5668:204,3 [15] StringLiterals.cshtml) - Html - This is line 43
+ IntermediateToken - (5683:204,18 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5687:204,22 [5] StringLiterals.cshtml) - Html - hi!\n
+ Section - - WriteLiteralsToInHereAlso
+ HtmlContent - (5728:205,36 [1023] StringLiterals.cshtml)
+ IntermediateToken - (5728:205,36 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5734:206,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5737:206,7 [21] StringLiterals.cshtml) - Html - This is line 1 nested
+ IntermediateToken - (5758:206,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5762:206,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5768:207,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5771:207,7 [21] StringLiterals.cshtml) - Html - This is line 2 nested
+ IntermediateToken - (5792:207,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5796:207,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5802:208,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5805:208,7 [21] StringLiterals.cshtml) - Html - This is line 3 nested
+ IntermediateToken - (5826:208,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5830:208,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5836:209,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5839:209,7 [21] StringLiterals.cshtml) - Html - This is line 4 nested
+ IntermediateToken - (5860:209,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5864:209,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5870:210,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5873:210,7 [21] StringLiterals.cshtml) - Html - This is line 5 nested
+ IntermediateToken - (5894:210,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5898:210,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5904:211,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5907:211,7 [21] StringLiterals.cshtml) - Html - This is line 6 nested
+ IntermediateToken - (5928:211,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5932:211,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5938:212,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5941:212,7 [21] StringLiterals.cshtml) - Html - This is line 7 nested
+ IntermediateToken - (5962:212,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (5966:212,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (5972:213,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (5975:213,7 [21] StringLiterals.cshtml) - Html - This is line 8 nested
+ IntermediateToken - (5996:213,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6000:213,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6006:214,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6009:214,7 [21] StringLiterals.cshtml) - Html - This is line 9 nested
+ IntermediateToken - (6030:214,28 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6034:214,32 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6040:215,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6043:215,7 [22] StringLiterals.cshtml) - Html - This is line 10 nested
+ IntermediateToken - (6065:215,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6069:215,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6075:216,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6078:216,7 [22] StringLiterals.cshtml) - Html - This is line 11 nested
+ IntermediateToken - (6100:216,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6104:216,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6110:217,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6113:217,7 [22] StringLiterals.cshtml) - Html - This is line 12 nested
+ IntermediateToken - (6135:217,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6139:217,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6145:218,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6148:218,7 [22] StringLiterals.cshtml) - Html - This is line 13 nested
+ IntermediateToken - (6170:218,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6174:218,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6180:219,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6183:219,7 [22] StringLiterals.cshtml) - Html - This is line 14 nested
+ IntermediateToken - (6205:219,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6209:219,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6215:220,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6218:220,7 [22] StringLiterals.cshtml) - Html - This is line 15 nested
+ IntermediateToken - (6240:220,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6244:220,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6250:221,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6253:221,7 [22] StringLiterals.cshtml) - Html - This is line 16 nested
+ IntermediateToken - (6275:221,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6279:221,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6285:222,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6288:222,7 [22] StringLiterals.cshtml) - Html - This is line 17 nested
+ IntermediateToken - (6310:222,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6314:222,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6320:223,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6323:223,7 [22] StringLiterals.cshtml) - Html - This is line 18 nested
+ IntermediateToken - (6345:223,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6349:223,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6355:224,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6358:224,7 [22] StringLiterals.cshtml) - Html - This is line 19 nested
+ IntermediateToken - (6380:224,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6384:224,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6390:225,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6393:225,7 [22] StringLiterals.cshtml) - Html - This is line 20 nested
+ IntermediateToken - (6415:225,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6419:225,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6425:226,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6428:226,7 [22] StringLiterals.cshtml) - Html - This is line 21 nested
+ IntermediateToken - (6450:226,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6454:226,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6460:227,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6463:227,7 [22] StringLiterals.cshtml) - Html - This is line 22 nested
+ IntermediateToken - (6485:227,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6489:227,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6495:228,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6498:228,7 [22] StringLiterals.cshtml) - Html - This is line 23 nested
+ IntermediateToken - (6520:228,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6524:228,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6530:229,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6533:229,7 [22] StringLiterals.cshtml) - Html - This is line 24 nested
+ IntermediateToken - (6555:229,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6559:229,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6565:230,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6568:230,7 [22] StringLiterals.cshtml) - Html - This is line 25 nested
+ IntermediateToken - (6590:230,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6594:230,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6600:231,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6603:231,7 [22] StringLiterals.cshtml) - Html - This is line 26 nested
+ IntermediateToken - (6625:231,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6629:231,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6635:232,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6638:232,7 [22] StringLiterals.cshtml) - Html - This is line 27 nested
+ IntermediateToken - (6660:232,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6664:232,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6670:233,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6673:233,7 [22] StringLiterals.cshtml) - Html - This is line 28 nested
+ IntermediateToken - (6695:233,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6699:233,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6705:234,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6708:234,7 [22] StringLiterals.cshtml) - Html - This is line 29 nested
+ IntermediateToken - (6730:234,29 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6734:234,33 [6] StringLiterals.cshtml) - Html - \n
+ IntermediateToken - (6740:235,4 [3] StringLiterals.cshtml) - Html - <p>
+ IntermediateToken - (6743:235,7 [2] StringLiterals.cshtml) - Html - 30
+ IntermediateToken - (6745:235,9 [4] StringLiterals.cshtml) - Html - </p>
+ IntermediateToken - (6749:235,13 [2] StringLiterals.cshtml) - Html - \n
+ HtmlContent - (6752:236,1 [1] StringLiterals.cshtml)
+ IntermediateToken - (6752:236,1 [1] StringLiterals.cshtml) - Html - !
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes.cshtml
new file mode 100644
index 0000000000..c653cff1b3
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes.cshtml
@@ -0,0 +1,19 @@
+@addTagHelper *, TestAssembly
+
+<ul [item]="items"></ul>
+<ul [(item)]="items"></ul>
+<button (click)="doSomething()">Click Me</button>
+<button (^click)="doSomething()">Click Me</button>
+<template *something="value">
+</template>
+<div #local></div>
+<div #local="value"></div>
+
+<ul bound [item]="items" [item]="items"></ul>
+<ul bound [(item)]="items" [(item)]="items"></ul>
+<button bound (click)="doSomething()" (click)="doSomething()">Click Me</button>
+<button bound (^click)="doSomething()" (^click)="doSomething()">Click Me</button>
+<template bound *something="value" *something="value">
+</template>
+<div bound #localminimized></div>
+<div bound #local="value" #local="value"></div> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes_DesignTime.codegen.cs
new file mode 100644
index 0000000000..2c45a0431f
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes_DesignTime.codegen.cs
@@ -0,0 +1,56 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_SymbolBoundAttributes_DesignTime
+ {
+ private global::TestNamespace.CatchAllTagHelper __TestNamespace_CatchAllTagHelper;
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "*, TestAssembly";
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+#line 12 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes.cshtml"
+__TestNamespace_CatchAllTagHelper.ListItems = items;
+
+#line default
+#line hidden
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+#line 13 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes.cshtml"
+__TestNamespace_CatchAllTagHelper.ArrayItems = items;
+
+#line default
+#line hidden
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+#line 14 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes.cshtml"
+__TestNamespace_CatchAllTagHelper.Event1 = doSomething();
+
+#line default
+#line hidden
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+#line 15 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes.cshtml"
+__TestNamespace_CatchAllTagHelper.Event2 = doSomething();
+
+#line default
+#line hidden
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __TestNamespace_CatchAllTagHelper.StringProperty1 = "value";
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __TestNamespace_CatchAllTagHelper.StringProperty2 = "value";
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes_DesignTime.diagnostics.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes_DesignTime.diagnostics.txt
new file mode 100644
index 0000000000..1ee160ff70
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes_DesignTime.diagnostics.txt
@@ -0,0 +1,5 @@
+(0,0): Error RZ3003: Invalid tag helper bound property 'System.Collections.Generic.List<string> TestNamespace.CatchAllTagHelper.ListItems' on tag helper 'TestNamespace.CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[item]' because the name contains a '[' character.
+(0,0): Error RZ3003: Invalid tag helper bound property 'System.Collections.Generic.List<string> TestNamespace.CatchAllTagHelper.ListItems' on tag helper 'TestNamespace.CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[item]' because the name contains a ']' character.
+(0,0): Error RZ3003: Invalid tag helper bound property 'System.String[] TestNamespace.CatchAllTagHelper.ArrayItems' on tag helper 'TestNamespace.CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[(item)]' because the name contains a '[' character.
+(0,0): Error RZ3003: Invalid tag helper bound property 'System.String[] TestNamespace.CatchAllTagHelper.ArrayItems' on tag helper 'TestNamespace.CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[(item)]' because the name contains a ']' character.
+(0,0): Error RZ3003: Invalid tag helper bound property 'string TestNamespace.CatchAllTagHelper.StringProperty1' on tag helper 'TestNamespace.CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '*something' because the name contains a '*' character.
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes_DesignTime.ir.txt
new file mode 100644
index 0000000000..5315700a1a
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes_DesignTime.ir.txt
@@ -0,0 +1,140 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_SymbolBoundAttributes_DesignTime - -
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.CatchAllTagHelper - __TestNamespace_CatchAllTagHelper
+ DesignTimeDirective -
+ DirectiveToken - (14:0,14 [15] SymbolBoundAttributes.cshtml) - *, TestAssembly
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (29:0,29 [255] SymbolBoundAttributes.cshtml)
+ IntermediateToken - (29:0,29 [4] SymbolBoundAttributes.cshtml) - Html - \n\n
+ IntermediateToken - (33:2,0 [3] SymbolBoundAttributes.cshtml) - Html - <ul
+ IntermediateToken - (36:2,3 [15] SymbolBoundAttributes.cshtml) - Html - [item]="items"
+ IntermediateToken - (51:2,18 [1] SymbolBoundAttributes.cshtml) - Html - >
+ IntermediateToken - (52:2,19 [5] SymbolBoundAttributes.cshtml) - Html - </ul>
+ IntermediateToken - (57:2,24 [2] SymbolBoundAttributes.cshtml) - Html - \n
+ IntermediateToken - (59:3,0 [3] SymbolBoundAttributes.cshtml) - Html - <ul
+ IntermediateToken - (62:3,3 [17] SymbolBoundAttributes.cshtml) - Html - [(item)]="items"
+ IntermediateToken - (79:3,20 [1] SymbolBoundAttributes.cshtml) - Html - >
+ IntermediateToken - (80:3,21 [5] SymbolBoundAttributes.cshtml) - Html - </ul>
+ IntermediateToken - (85:3,26 [2] SymbolBoundAttributes.cshtml) - Html - \n
+ IntermediateToken - (87:4,0 [7] SymbolBoundAttributes.cshtml) - Html - <button
+ IntermediateToken - (94:4,7 [24] SymbolBoundAttributes.cshtml) - Html - (click)="doSomething()"
+ IntermediateToken - (118:4,31 [1] SymbolBoundAttributes.cshtml) - Html - >
+ IntermediateToken - (119:4,32 [8] SymbolBoundAttributes.cshtml) - Html - Click Me
+ IntermediateToken - (127:4,40 [9] SymbolBoundAttributes.cshtml) - Html - </button>
+ IntermediateToken - (136:4,49 [2] SymbolBoundAttributes.cshtml) - Html - \n
+ IntermediateToken - (138:5,0 [7] SymbolBoundAttributes.cshtml) - Html - <button
+ IntermediateToken - (145:5,7 [25] SymbolBoundAttributes.cshtml) - Html - (^click)="doSomething()"
+ IntermediateToken - (170:5,32 [1] SymbolBoundAttributes.cshtml) - Html - >
+ IntermediateToken - (171:5,33 [8] SymbolBoundAttributes.cshtml) - Html - Click Me
+ IntermediateToken - (179:5,41 [9] SymbolBoundAttributes.cshtml) - Html - </button>
+ IntermediateToken - (188:5,50 [2] SymbolBoundAttributes.cshtml) - Html - \n
+ IntermediateToken - (190:6,0 [9] SymbolBoundAttributes.cshtml) - Html - <template
+ IntermediateToken - (199:6,9 [19] SymbolBoundAttributes.cshtml) - Html - *something="value"
+ IntermediateToken - (218:6,28 [1] SymbolBoundAttributes.cshtml) - Html - >
+ IntermediateToken - (219:6,29 [2] SymbolBoundAttributes.cshtml) - Html - \n
+ IntermediateToken - (221:7,0 [11] SymbolBoundAttributes.cshtml) - Html - </template>
+ IntermediateToken - (232:7,11 [2] SymbolBoundAttributes.cshtml) - Html - \n
+ IntermediateToken - (234:8,0 [4] SymbolBoundAttributes.cshtml) - Html - <div
+ IntermediateToken - (238:8,4 [7] SymbolBoundAttributes.cshtml) - Html - #local
+ IntermediateToken - (245:8,11 [1] SymbolBoundAttributes.cshtml) - Html - >
+ IntermediateToken - (246:8,12 [6] SymbolBoundAttributes.cshtml) - Html - </div>
+ IntermediateToken - (252:8,18 [2] SymbolBoundAttributes.cshtml) - Html - \n
+ IntermediateToken - (254:9,0 [4] SymbolBoundAttributes.cshtml) - Html - <div
+ IntermediateToken - (258:9,4 [15] SymbolBoundAttributes.cshtml) - Html - #local="value"
+ IntermediateToken - (273:9,19 [1] SymbolBoundAttributes.cshtml) - Html - >
+ IntermediateToken - (274:9,20 [6] SymbolBoundAttributes.cshtml) - Html - </div>
+ IntermediateToken - (280:9,26 [4] SymbolBoundAttributes.cshtml) - Html - \n\n
+ TagHelper - (284:11,0 [45] SymbolBoundAttributes.cshtml) - ul - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperHtmlAttribute - - bound - HtmlAttributeValueStyle.Minimized
+ DefaultTagHelperProperty - (302:11,18 [5] SymbolBoundAttributes.cshtml) - [item] - System.Collections.Generic.List<string> TestNamespace.CatchAllTagHelper.ListItems - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (302:11,18 [5] SymbolBoundAttributes.cshtml) - CSharp - items
+ DefaultTagHelperHtmlAttribute - - [item] - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (317:11,33 [5] SymbolBoundAttributes.cshtml)
+ IntermediateToken - (317:11,33 [5] SymbolBoundAttributes.cshtml) - Html - items
+ DefaultTagHelperExecute -
+ HtmlContent - (329:11,45 [2] SymbolBoundAttributes.cshtml)
+ IntermediateToken - (329:11,45 [2] SymbolBoundAttributes.cshtml) - Html - \n
+ TagHelper - (331:12,0 [49] SymbolBoundAttributes.cshtml) - ul - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperHtmlAttribute - - bound - HtmlAttributeValueStyle.Minimized
+ DefaultTagHelperProperty - (351:12,20 [5] SymbolBoundAttributes.cshtml) - [(item)] - System.String[] TestNamespace.CatchAllTagHelper.ArrayItems - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (351:12,20 [5] SymbolBoundAttributes.cshtml) - CSharp - items
+ DefaultTagHelperHtmlAttribute - - [(item)] - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (368:12,37 [5] SymbolBoundAttributes.cshtml)
+ IntermediateToken - (368:12,37 [5] SymbolBoundAttributes.cshtml) - Html - items
+ DefaultTagHelperExecute -
+ HtmlContent - (380:12,49 [2] SymbolBoundAttributes.cshtml)
+ IntermediateToken - (380:12,49 [2] SymbolBoundAttributes.cshtml) - Html - \n
+ TagHelper - (382:13,0 [79] SymbolBoundAttributes.cshtml) - button - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (444:13,62 [8] SymbolBoundAttributes.cshtml)
+ IntermediateToken - (444:13,62 [8] SymbolBoundAttributes.cshtml) - Html - Click Me
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperHtmlAttribute - - bound - HtmlAttributeValueStyle.Minimized
+ DefaultTagHelperProperty - (405:13,23 [13] SymbolBoundAttributes.cshtml) - (click) - System.Action TestNamespace.CatchAllTagHelper.Event1 - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (405:13,23 [13] SymbolBoundAttributes.cshtml) - CSharp - doSomething()
+ DefaultTagHelperHtmlAttribute - - (click) - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (429:13,47 [13] SymbolBoundAttributes.cshtml)
+ IntermediateToken - (429:13,47 [13] SymbolBoundAttributes.cshtml) - Html - doSomething()
+ DefaultTagHelperExecute -
+ HtmlContent - (461:13,79 [2] SymbolBoundAttributes.cshtml)
+ IntermediateToken - (461:13,79 [2] SymbolBoundAttributes.cshtml) - Html - \n
+ TagHelper - (463:14,0 [81] SymbolBoundAttributes.cshtml) - button - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (527:14,64 [8] SymbolBoundAttributes.cshtml)
+ IntermediateToken - (527:14,64 [8] SymbolBoundAttributes.cshtml) - Html - Click Me
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperHtmlAttribute - - bound - HtmlAttributeValueStyle.Minimized
+ DefaultTagHelperProperty - (487:14,24 [13] SymbolBoundAttributes.cshtml) - (^click) - System.Action TestNamespace.CatchAllTagHelper.Event2 - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (487:14,24 [13] SymbolBoundAttributes.cshtml) - CSharp - doSomething()
+ DefaultTagHelperHtmlAttribute - - (^click) - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (512:14,49 [13] SymbolBoundAttributes.cshtml)
+ IntermediateToken - (512:14,49 [13] SymbolBoundAttributes.cshtml) - Html - doSomething()
+ DefaultTagHelperExecute -
+ HtmlContent - (544:14,81 [2] SymbolBoundAttributes.cshtml)
+ IntermediateToken - (544:14,81 [2] SymbolBoundAttributes.cshtml) - Html - \n
+ TagHelper - (546:15,0 [67] SymbolBoundAttributes.cshtml) - template - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (600:15,54 [2] SymbolBoundAttributes.cshtml)
+ IntermediateToken - (600:15,54 [2] SymbolBoundAttributes.cshtml) - Html - \n
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperHtmlAttribute - - bound - HtmlAttributeValueStyle.Minimized
+ DefaultTagHelperProperty - (574:15,28 [5] SymbolBoundAttributes.cshtml) - *something - string TestNamespace.CatchAllTagHelper.StringProperty1 - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (574:15,28 [5] SymbolBoundAttributes.cshtml)
+ IntermediateToken - (574:15,28 [5] SymbolBoundAttributes.cshtml) - Html - value
+ DefaultTagHelperHtmlAttribute - - *something - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (593:15,47 [5] SymbolBoundAttributes.cshtml)
+ IntermediateToken - (593:15,47 [5] SymbolBoundAttributes.cshtml) - Html - value
+ DefaultTagHelperExecute -
+ HtmlContent - (613:16,11 [2] SymbolBoundAttributes.cshtml)
+ IntermediateToken - (613:16,11 [2] SymbolBoundAttributes.cshtml) - Html - \n
+ TagHelper - (615:17,0 [33] SymbolBoundAttributes.cshtml) - div - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperHtmlAttribute - - bound - HtmlAttributeValueStyle.Minimized
+ DefaultTagHelperHtmlAttribute - - #localminimized - HtmlAttributeValueStyle.Minimized
+ DefaultTagHelperExecute -
+ HtmlContent - (648:17,33 [2] SymbolBoundAttributes.cshtml)
+ IntermediateToken - (648:17,33 [2] SymbolBoundAttributes.cshtml) - Html - \n
+ TagHelper - (650:18,0 [47] SymbolBoundAttributes.cshtml) - div - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperHtmlAttribute - - bound - HtmlAttributeValueStyle.Minimized
+ DefaultTagHelperProperty - (669:18,19 [5] SymbolBoundAttributes.cshtml) - #local - string TestNamespace.CatchAllTagHelper.StringProperty2 - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (669:18,19 [5] SymbolBoundAttributes.cshtml)
+ IntermediateToken - (669:18,19 [5] SymbolBoundAttributes.cshtml) - Html - value
+ DefaultTagHelperHtmlAttribute - - #local - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (684:18,34 [5] SymbolBoundAttributes.cshtml)
+ IntermediateToken - (684:18,34 [5] SymbolBoundAttributes.cshtml) - Html - value
+ DefaultTagHelperExecute -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes_DesignTime.mappings.txt
new file mode 100644
index 0000000000..6538479806
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes_DesignTime.mappings.txt
@@ -0,0 +1,25 @@
+Source Location: (14:0,14 [15] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes.cshtml)
+|*, TestAssembly|
+Generated Location: (520:11,38 [15] )
+|*, TestAssembly|
+
+Source Location: (302:11,18 [5] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes.cshtml)
+|items|
+Generated Location: (1106:24,46 [5] )
+|items|
+
+Source Location: (351:12,20 [5] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes.cshtml)
+|items|
+Generated Location: (1399:30,47 [5] )
+|items|
+
+Source Location: (405:13,23 [13] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes.cshtml)
+|doSomething()|
+Generated Location: (1688:36,43 [13] )
+|doSomething()|
+
+Source Location: (487:14,24 [13] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes.cshtml)
+|doSomething()|
+Generated Location: (1985:42,43 [13] )
+|doSomething()|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes_Runtime.codegen.cs
new file mode 100644
index 0000000000..bac695f3ea
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes_Runtime.codegen.cs
@@ -0,0 +1,197 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "911fabc92d64c2732fa0cff025d454076241edb8"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_SymbolBoundAttributes_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"911fabc92d64c2732fa0cff025d454076241edb8", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_SymbolBoundAttributes_Runtime
+ {
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("[item]", new global::Microsoft.AspNetCore.Html.HtmlString("items"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_1 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("[(item)]", new global::Microsoft.AspNetCore.Html.HtmlString("items"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_2 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("(click)", new global::Microsoft.AspNetCore.Html.HtmlString("doSomething()"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_3 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("(^click)", new global::Microsoft.AspNetCore.Html.HtmlString("doSomething()"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_4 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("*something", "value", global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_5 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("*something", new global::Microsoft.AspNetCore.Html.HtmlString("value"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_6 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("#local", "value", global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_7 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("#local", new global::Microsoft.AspNetCore.Html.HtmlString("value"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ #line hidden
+ #pragma warning disable 0169
+ private string __tagHelperStringValueBuffer;
+ #pragma warning restore 0169
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext __tagHelperExecutionContext;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner();
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __backed__tagHelperScopeManager = null;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __tagHelperScopeManager
+ {
+ get
+ {
+ if (__backed__tagHelperScopeManager == null)
+ {
+ __backed__tagHelperScopeManager = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager(StartTagHelperWritingScope, EndTagHelperWritingScope);
+ }
+ return __backed__tagHelperScopeManager;
+ }
+ }
+ private global::TestNamespace.CatchAllTagHelper __TestNamespace_CatchAllTagHelper;
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("\r\n<ul [item]=\"items\"></ul>\r\n<ul [(item)]=\"items\"></ul>\r\n<button (click)=\"doSomething()\">Click Me</button>\r\n<button (^click)=\"doSomething()\">Click Me</button>\r\n<template *something=\"value\">\r\n</template>\r\n<div #local></div>\r\n<div #local=\"value\"></div>\r\n\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("ul", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ }
+ );
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_CatchAllTagHelper);
+ BeginWriteTagHelperAttribute();
+ __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
+ __tagHelperExecutionContext.AddHtmlAttribute("bound", Html.Raw(__tagHelperStringValueBuffer), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.Minimized);
+#line 12 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes.cshtml"
+__TestNamespace_CatchAllTagHelper.ListItems = items;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("[item]", __TestNamespace_CatchAllTagHelper.ListItems, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_0);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("ul", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ }
+ );
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_CatchAllTagHelper);
+ BeginWriteTagHelperAttribute();
+ __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
+ __tagHelperExecutionContext.AddHtmlAttribute("bound", Html.Raw(__tagHelperStringValueBuffer), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.Minimized);
+#line 13 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes.cshtml"
+__TestNamespace_CatchAllTagHelper.ArrayItems = items;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("[(item)]", __TestNamespace_CatchAllTagHelper.ArrayItems, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_1);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("button", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("Click Me");
+ }
+ );
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_CatchAllTagHelper);
+ BeginWriteTagHelperAttribute();
+ __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
+ __tagHelperExecutionContext.AddHtmlAttribute("bound", Html.Raw(__tagHelperStringValueBuffer), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.Minimized);
+#line 14 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes.cshtml"
+__TestNamespace_CatchAllTagHelper.Event1 = doSomething();
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("(click)", __TestNamespace_CatchAllTagHelper.Event1, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_2);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("button", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("Click Me");
+ }
+ );
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_CatchAllTagHelper);
+ BeginWriteTagHelperAttribute();
+ __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
+ __tagHelperExecutionContext.AddHtmlAttribute("bound", Html.Raw(__tagHelperStringValueBuffer), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.Minimized);
+#line 15 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes.cshtml"
+__TestNamespace_CatchAllTagHelper.Event2 = doSomething();
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("(^click)", __TestNamespace_CatchAllTagHelper.Event2, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_3);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("template", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("\r\n");
+ }
+ );
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_CatchAllTagHelper);
+ BeginWriteTagHelperAttribute();
+ __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
+ __tagHelperExecutionContext.AddHtmlAttribute("bound", Html.Raw(__tagHelperStringValueBuffer), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.Minimized);
+ __TestNamespace_CatchAllTagHelper.StringProperty1 = (string)__tagHelperAttribute_4.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_4);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_5);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("div", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ }
+ );
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_CatchAllTagHelper);
+ BeginWriteTagHelperAttribute();
+ __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
+ __tagHelperExecutionContext.AddHtmlAttribute("bound", Html.Raw(__tagHelperStringValueBuffer), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.Minimized);
+ BeginWriteTagHelperAttribute();
+ __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
+ __tagHelperExecutionContext.AddHtmlAttribute("#localminimized", Html.Raw(__tagHelperStringValueBuffer), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.Minimized);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("div", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ }
+ );
+ __TestNamespace_CatchAllTagHelper = CreateTagHelper<global::TestNamespace.CatchAllTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_CatchAllTagHelper);
+ BeginWriteTagHelperAttribute();
+ __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
+ __tagHelperExecutionContext.AddHtmlAttribute("bound", Html.Raw(__tagHelperStringValueBuffer), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.Minimized);
+ __TestNamespace_CatchAllTagHelper.StringProperty2 = (string)__tagHelperAttribute_6.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_6);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_7);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes_Runtime.diagnostics.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes_Runtime.diagnostics.txt
new file mode 100644
index 0000000000..1ee160ff70
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes_Runtime.diagnostics.txt
@@ -0,0 +1,5 @@
+(0,0): Error RZ3003: Invalid tag helper bound property 'System.Collections.Generic.List<string> TestNamespace.CatchAllTagHelper.ListItems' on tag helper 'TestNamespace.CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[item]' because the name contains a '[' character.
+(0,0): Error RZ3003: Invalid tag helper bound property 'System.Collections.Generic.List<string> TestNamespace.CatchAllTagHelper.ListItems' on tag helper 'TestNamespace.CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[item]' because the name contains a ']' character.
+(0,0): Error RZ3003: Invalid tag helper bound property 'System.String[] TestNamespace.CatchAllTagHelper.ArrayItems' on tag helper 'TestNamespace.CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[(item)]' because the name contains a '[' character.
+(0,0): Error RZ3003: Invalid tag helper bound property 'System.String[] TestNamespace.CatchAllTagHelper.ArrayItems' on tag helper 'TestNamespace.CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '[(item)]' because the name contains a ']' character.
+(0,0): Error RZ3003: Invalid tag helper bound property 'string TestNamespace.CatchAllTagHelper.StringProperty1' on tag helper 'TestNamespace.CatchAllTagHelper'. Tag helpers cannot bind to HTML attributes with name '*something' because the name contains a '*' character.
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes_Runtime.ir.txt
new file mode 100644
index 0000000000..ee4dc7af83
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/SymbolBoundAttributes_Runtime.ir.txt
@@ -0,0 +1,126 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_SymbolBoundAttributes_Runtime - -
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_0 - [item] - items - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_1 - [(item)] - items - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_2 - (click) - doSomething() - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_3 - (^click) - doSomething() - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_4 - *something - value - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_5 - *something - value - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_6 - #local - value - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_7 - #local - value - HtmlAttributeValueStyle.DoubleQuotes
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.CatchAllTagHelper - __TestNamespace_CatchAllTagHelper
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (31:1,0 [253] SymbolBoundAttributes.cshtml)
+ IntermediateToken - (31:1,0 [2] SymbolBoundAttributes.cshtml) - Html - \n
+ IntermediateToken - (33:2,0 [3] SymbolBoundAttributes.cshtml) - Html - <ul
+ IntermediateToken - (36:2,3 [15] SymbolBoundAttributes.cshtml) - Html - [item]="items"
+ IntermediateToken - (51:2,18 [1] SymbolBoundAttributes.cshtml) - Html - >
+ IntermediateToken - (52:2,19 [5] SymbolBoundAttributes.cshtml) - Html - </ul>
+ IntermediateToken - (57:2,24 [2] SymbolBoundAttributes.cshtml) - Html - \n
+ IntermediateToken - (59:3,0 [3] SymbolBoundAttributes.cshtml) - Html - <ul
+ IntermediateToken - (62:3,3 [17] SymbolBoundAttributes.cshtml) - Html - [(item)]="items"
+ IntermediateToken - (79:3,20 [1] SymbolBoundAttributes.cshtml) - Html - >
+ IntermediateToken - (80:3,21 [5] SymbolBoundAttributes.cshtml) - Html - </ul>
+ IntermediateToken - (85:3,26 [2] SymbolBoundAttributes.cshtml) - Html - \n
+ IntermediateToken - (87:4,0 [7] SymbolBoundAttributes.cshtml) - Html - <button
+ IntermediateToken - (94:4,7 [24] SymbolBoundAttributes.cshtml) - Html - (click)="doSomething()"
+ IntermediateToken - (118:4,31 [1] SymbolBoundAttributes.cshtml) - Html - >
+ IntermediateToken - (119:4,32 [8] SymbolBoundAttributes.cshtml) - Html - Click Me
+ IntermediateToken - (127:4,40 [9] SymbolBoundAttributes.cshtml) - Html - </button>
+ IntermediateToken - (136:4,49 [2] SymbolBoundAttributes.cshtml) - Html - \n
+ IntermediateToken - (138:5,0 [7] SymbolBoundAttributes.cshtml) - Html - <button
+ IntermediateToken - (145:5,7 [25] SymbolBoundAttributes.cshtml) - Html - (^click)="doSomething()"
+ IntermediateToken - (170:5,32 [1] SymbolBoundAttributes.cshtml) - Html - >
+ IntermediateToken - (171:5,33 [8] SymbolBoundAttributes.cshtml) - Html - Click Me
+ IntermediateToken - (179:5,41 [9] SymbolBoundAttributes.cshtml) - Html - </button>
+ IntermediateToken - (188:5,50 [2] SymbolBoundAttributes.cshtml) - Html - \n
+ IntermediateToken - (190:6,0 [9] SymbolBoundAttributes.cshtml) - Html - <template
+ IntermediateToken - (199:6,9 [19] SymbolBoundAttributes.cshtml) - Html - *something="value"
+ IntermediateToken - (218:6,28 [1] SymbolBoundAttributes.cshtml) - Html - >
+ IntermediateToken - (219:6,29 [2] SymbolBoundAttributes.cshtml) - Html - \n
+ IntermediateToken - (221:7,0 [11] SymbolBoundAttributes.cshtml) - Html - </template>
+ IntermediateToken - (232:7,11 [2] SymbolBoundAttributes.cshtml) - Html - \n
+ IntermediateToken - (234:8,0 [4] SymbolBoundAttributes.cshtml) - Html - <div
+ IntermediateToken - (238:8,4 [7] SymbolBoundAttributes.cshtml) - Html - #local
+ IntermediateToken - (245:8,11 [1] SymbolBoundAttributes.cshtml) - Html - >
+ IntermediateToken - (246:8,12 [6] SymbolBoundAttributes.cshtml) - Html - </div>
+ IntermediateToken - (252:8,18 [2] SymbolBoundAttributes.cshtml) - Html - \n
+ IntermediateToken - (254:9,0 [4] SymbolBoundAttributes.cshtml) - Html - <div
+ IntermediateToken - (258:9,4 [15] SymbolBoundAttributes.cshtml) - Html - #local="value"
+ IntermediateToken - (273:9,19 [1] SymbolBoundAttributes.cshtml) - Html - >
+ IntermediateToken - (274:9,20 [6] SymbolBoundAttributes.cshtml) - Html - </div>
+ IntermediateToken - (280:9,26 [4] SymbolBoundAttributes.cshtml) - Html - \n\n
+ TagHelper - (284:11,0 [45] SymbolBoundAttributes.cshtml) - ul - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperHtmlAttribute - - bound - HtmlAttributeValueStyle.Minimized
+ DefaultTagHelperProperty - (302:11,18 [5] SymbolBoundAttributes.cshtml) - [item] - System.Collections.Generic.List<string> TestNamespace.CatchAllTagHelper.ListItems - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (302:11,18 [5] SymbolBoundAttributes.cshtml) - CSharp - items
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_0
+ DefaultTagHelperExecute -
+ HtmlContent - (329:11,45 [2] SymbolBoundAttributes.cshtml)
+ IntermediateToken - (329:11,45 [2] SymbolBoundAttributes.cshtml) - Html - \n
+ TagHelper - (331:12,0 [49] SymbolBoundAttributes.cshtml) - ul - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperHtmlAttribute - - bound - HtmlAttributeValueStyle.Minimized
+ DefaultTagHelperProperty - (351:12,20 [5] SymbolBoundAttributes.cshtml) - [(item)] - System.String[] TestNamespace.CatchAllTagHelper.ArrayItems - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (351:12,20 [5] SymbolBoundAttributes.cshtml) - CSharp - items
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_1
+ DefaultTagHelperExecute -
+ HtmlContent - (380:12,49 [2] SymbolBoundAttributes.cshtml)
+ IntermediateToken - (380:12,49 [2] SymbolBoundAttributes.cshtml) - Html - \n
+ TagHelper - (382:13,0 [79] SymbolBoundAttributes.cshtml) - button - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (444:13,62 [8] SymbolBoundAttributes.cshtml)
+ IntermediateToken - (444:13,62 [8] SymbolBoundAttributes.cshtml) - Html - Click Me
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperHtmlAttribute - - bound - HtmlAttributeValueStyle.Minimized
+ DefaultTagHelperProperty - (405:13,23 [13] SymbolBoundAttributes.cshtml) - (click) - System.Action TestNamespace.CatchAllTagHelper.Event1 - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (405:13,23 [13] SymbolBoundAttributes.cshtml) - CSharp - doSomething()
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_2
+ DefaultTagHelperExecute -
+ HtmlContent - (461:13,79 [2] SymbolBoundAttributes.cshtml)
+ IntermediateToken - (461:13,79 [2] SymbolBoundAttributes.cshtml) - Html - \n
+ TagHelper - (463:14,0 [81] SymbolBoundAttributes.cshtml) - button - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (527:14,64 [8] SymbolBoundAttributes.cshtml)
+ IntermediateToken - (527:14,64 [8] SymbolBoundAttributes.cshtml) - Html - Click Me
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperHtmlAttribute - - bound - HtmlAttributeValueStyle.Minimized
+ DefaultTagHelperProperty - (487:14,24 [13] SymbolBoundAttributes.cshtml) - (^click) - System.Action TestNamespace.CatchAllTagHelper.Event2 - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (487:14,24 [13] SymbolBoundAttributes.cshtml) - CSharp - doSomething()
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_3
+ DefaultTagHelperExecute -
+ HtmlContent - (544:14,81 [2] SymbolBoundAttributes.cshtml)
+ IntermediateToken - (544:14,81 [2] SymbolBoundAttributes.cshtml) - Html - \n
+ TagHelper - (546:15,0 [67] SymbolBoundAttributes.cshtml) - template - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (600:15,54 [2] SymbolBoundAttributes.cshtml)
+ IntermediateToken - (600:15,54 [2] SymbolBoundAttributes.cshtml) - Html - \n
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperHtmlAttribute - - bound - HtmlAttributeValueStyle.Minimized
+ PreallocatedTagHelperProperty - (574:15,28 [5] SymbolBoundAttributes.cshtml) - __tagHelperAttribute_4 - *something - StringProperty1
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_5
+ DefaultTagHelperExecute -
+ HtmlContent - (613:16,11 [2] SymbolBoundAttributes.cshtml)
+ IntermediateToken - (613:16,11 [2] SymbolBoundAttributes.cshtml) - Html - \n
+ TagHelper - (615:17,0 [33] SymbolBoundAttributes.cshtml) - div - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperHtmlAttribute - - bound - HtmlAttributeValueStyle.Minimized
+ DefaultTagHelperHtmlAttribute - - #localminimized - HtmlAttributeValueStyle.Minimized
+ DefaultTagHelperExecute -
+ HtmlContent - (648:17,33 [2] SymbolBoundAttributes.cshtml)
+ IntermediateToken - (648:17,33 [2] SymbolBoundAttributes.cshtml) - Html - \n
+ TagHelper - (650:18,0 [47] SymbolBoundAttributes.cshtml) - div - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.CatchAllTagHelper
+ DefaultTagHelperHtmlAttribute - - bound - HtmlAttributeValueStyle.Minimized
+ PreallocatedTagHelperProperty - (669:18,19 [5] SymbolBoundAttributes.cshtml) - __tagHelperAttribute_6 - #local - StringProperty2
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_7
+ DefaultTagHelperExecute -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersInSection.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersInSection.cshtml
new file mode 100644
index 0000000000..08a8a9fde1
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersInSection.cshtml
@@ -0,0 +1,14 @@
+@addTagHelper "*, TestAssembly"
+
+@{
+ var code = "some code";
+}
+
+@section MySection {
+ <div>
+ <mytaghelper boundproperty="Current Time: @DateTime.Now" unboundproperty="Current Time: @DateTime.Now">
+ In None ContentBehavior.
+ <nestedtaghelper>Some buffered values with @code</nestedtaghelper>
+ </mytaghelper>
+ </div>
+} \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersInSection_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersInSection_Runtime.codegen.cs
new file mode 100644
index 0000000000..7848d435fe
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersInSection_Runtime.codegen.cs
@@ -0,0 +1,102 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersInSection.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "deb5a34864edafd4c1c97e666199377d29fe23bd"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_TagHelpersInSection_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersInSection.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"deb5a34864edafd4c1c97e666199377d29fe23bd", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersInSection.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_TagHelpersInSection_Runtime
+ {
+ #line hidden
+ #pragma warning disable 0169
+ private string __tagHelperStringValueBuffer;
+ #pragma warning restore 0169
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext __tagHelperExecutionContext;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner();
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __backed__tagHelperScopeManager = null;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __tagHelperScopeManager
+ {
+ get
+ {
+ if (__backed__tagHelperScopeManager == null)
+ {
+ __backed__tagHelperScopeManager = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager(StartTagHelperWritingScope, EndTagHelperWritingScope);
+ }
+ return __backed__tagHelperScopeManager;
+ }
+ }
+ private global::TestNamespace.MyTagHelper __TestNamespace_MyTagHelper;
+ private global::TestNamespace.NestedTagHelper __TestNamespace_NestedTagHelper;
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("\r\n");
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersInSection.cshtml"
+
+ var code = "some code";
+
+#line default
+#line hidden
+ WriteLiteral("\r\n");
+ DefineSection("MySection", async() => {
+ WriteLiteral("\r\n <div>\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("mytaghelper", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("\r\n In None ContentBehavior.\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("nestedtaghelper", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("Some buffered values with ");
+#line 11 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersInSection.cshtml"
+ Write(code);
+
+#line default
+#line hidden
+ }
+ );
+ __TestNamespace_NestedTagHelper = CreateTagHelper<global::TestNamespace.NestedTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_NestedTagHelper);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n ");
+ }
+ );
+ __TestNamespace_MyTagHelper = CreateTagHelper<global::TestNamespace.MyTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_MyTagHelper);
+ BeginWriteTagHelperAttribute();
+ WriteLiteral("Current Time: ");
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersInSection.cshtml"
+ WriteLiteral(DateTime.Now);
+
+#line default
+#line hidden
+ __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
+ __TestNamespace_MyTagHelper.BoundProperty = __tagHelperStringValueBuffer;
+ __tagHelperExecutionContext.AddTagHelperAttribute("boundproperty", __TestNamespace_MyTagHelper.BoundProperty, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ BeginAddHtmlAttributeValues(__tagHelperExecutionContext, "unboundproperty", 3, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ AddHtmlAttributeValue("", 188, "Current", 188, 7, true);
+ AddHtmlAttributeValue(" ", 195, "Time:", 196, 6, true);
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersInSection.cshtml"
+AddHtmlAttributeValue(" ", 201, DateTime.Now, 202, 13, false);
+
+#line default
+#line hidden
+ EndAddHtmlAttributeValues(__tagHelperExecutionContext);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n </div>\r\n");
+ }
+ );
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersInSection_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersInSection_Runtime.ir.txt
new file mode 100644
index 0000000000..0b89183f3e
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersInSection_Runtime.ir.txt
@@ -0,0 +1,54 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_TagHelpersInSection_Runtime - -
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.MyTagHelper - __TestNamespace_MyTagHelper
+ FieldDeclaration - - private - global::TestNamespace.NestedTagHelper - __TestNamespace_NestedTagHelper
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (33:1,0 [2] TagHelpersInSection.cshtml)
+ IntermediateToken - (33:1,0 [2] TagHelpersInSection.cshtml) - Html - \n
+ CSharpCode - (37:2,2 [31] TagHelpersInSection.cshtml)
+ IntermediateToken - (37:2,2 [31] TagHelpersInSection.cshtml) - CSharp - \n var code = "some code";\n
+ HtmlContent - (71:5,0 [2] TagHelpersInSection.cshtml)
+ IntermediateToken - (71:5,0 [2] TagHelpersInSection.cshtml) - Html - \n
+ Section - - MySection
+ HtmlContent - (93:6,20 [21] TagHelpersInSection.cshtml)
+ IntermediateToken - (93:6,20 [6] TagHelpersInSection.cshtml) - Html - \n
+ IntermediateToken - (99:7,4 [5] TagHelpersInSection.cshtml) - Html - <div>
+ IntermediateToken - (104:7,9 [10] TagHelpersInSection.cshtml) - Html - \n
+ TagHelper - (114:8,8 [245] TagHelpersInSection.cshtml) - mytaghelper - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (217:8,111 [52] TagHelpersInSection.cshtml)
+ IntermediateToken - (217:8,111 [52] TagHelpersInSection.cshtml) - Html - \n In None ContentBehavior.\n
+ TagHelper - (269:10,12 [66] TagHelpersInSection.cshtml) - nestedtaghelper - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (286:10,29 [26] TagHelpersInSection.cshtml)
+ IntermediateToken - (286:10,29 [26] TagHelpersInSection.cshtml) - Html - Some buffered values with
+ CSharpExpression - (313:10,56 [4] TagHelpersInSection.cshtml)
+ IntermediateToken - (313:10,56 [4] TagHelpersInSection.cshtml) - CSharp - code
+ DefaultTagHelperCreate - - TestNamespace.NestedTagHelper
+ DefaultTagHelperExecute -
+ HtmlContent - (335:10,78 [10] TagHelpersInSection.cshtml)
+ IntermediateToken - (335:10,78 [10] TagHelpersInSection.cshtml) - Html - \n
+ DefaultTagHelperCreate - - TestNamespace.MyTagHelper
+ DefaultTagHelperProperty - (142:8,36 [27] TagHelpersInSection.cshtml) - boundproperty - string TestNamespace.MyTagHelper.BoundProperty - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (142:8,36 [14] TagHelpersInSection.cshtml)
+ IntermediateToken - (142:8,36 [7] TagHelpersInSection.cshtml) - Html - Current
+ IntermediateToken - (149:8,43 [6] TagHelpersInSection.cshtml) - Html - Time:
+ IntermediateToken - (155:8,49 [1] TagHelpersInSection.cshtml) - Html -
+ CSharpExpression - (157:8,51 [12] TagHelpersInSection.cshtml)
+ IntermediateToken - (157:8,51 [12] TagHelpersInSection.cshtml) - CSharp - DateTime.Now
+ DefaultTagHelperHtmlAttribute - - unboundproperty - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlAttributeValue - (188:8,82 [7] TagHelpersInSection.cshtml) -
+ IntermediateToken - (188:8,82 [7] TagHelpersInSection.cshtml) - Html - Current
+ HtmlAttributeValue - (195:8,89 [6] TagHelpersInSection.cshtml) -
+ IntermediateToken - (196:8,90 [5] TagHelpersInSection.cshtml) - Html - Time:
+ CSharpExpressionAttributeValue - (201:8,95 [14] TagHelpersInSection.cshtml) -
+ IntermediateToken - (203:8,97 [12] TagHelpersInSection.cshtml) - CSharp - DateTime.Now
+ DefaultTagHelperExecute -
+ HtmlContent - (359:11,22 [14] TagHelpersInSection.cshtml)
+ IntermediateToken - (359:11,22 [6] TagHelpersInSection.cshtml) - Html - \n
+ IntermediateToken - (365:12,4 [6] TagHelpersInSection.cshtml) - Html - </div>
+ IntermediateToken - (371:12,10 [2] TagHelpersInSection.cshtml) - Html - \n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithBoundAttributes.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithBoundAttributes.cshtml
new file mode 100644
index 0000000000..83023559d3
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithBoundAttributes.cshtml
@@ -0,0 +1,4 @@
+@addTagHelper *, TestAssembly
+<form>
+ <input bound=@Hello type='text' />
+</form> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithBoundAttributes_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithBoundAttributes_DesignTime.codegen.cs
new file mode 100644
index 0000000000..f875e4d082
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithBoundAttributes_DesignTime.codegen.cs
@@ -0,0 +1,34 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_TagHelpersWithBoundAttributes_DesignTime
+ {
+ private global::InputTagHelper __InputTagHelper;
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "*, TestAssembly";
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ __InputTagHelper = CreateTagHelper<global::InputTagHelper>();
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithBoundAttributes.cshtml"
+ __o = Hello;
+
+#line default
+#line hidden
+ __InputTagHelper.BoundProp = string.Empty;
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithBoundAttributes_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithBoundAttributes_DesignTime.ir.txt
new file mode 100644
index 0000000000..07f6b5e459
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithBoundAttributes_DesignTime.ir.txt
@@ -0,0 +1,31 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_TagHelpersWithBoundAttributes_DesignTime - -
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::InputTagHelper - __InputTagHelper
+ DesignTimeDirective -
+ DirectiveToken - (14:0,14 [15] TagHelpersWithBoundAttributes.cshtml) - *, TestAssembly
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (29:0,29 [14] TagHelpersWithBoundAttributes.cshtml)
+ IntermediateToken - (29:0,29 [2] TagHelpersWithBoundAttributes.cshtml) - Html - \n
+ IntermediateToken - (31:1,0 [6] TagHelpersWithBoundAttributes.cshtml) - Html - <form>
+ IntermediateToken - (37:1,6 [6] TagHelpersWithBoundAttributes.cshtml) - Html - \n
+ TagHelper - (43:2,4 [34] TagHelpersWithBoundAttributes.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - InputTagHelper
+ DefaultTagHelperProperty - (56:2,17 [6] TagHelpersWithBoundAttributes.cshtml) - bound - string InputTagHelper.BoundProp - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (57:2,18 [5] TagHelpersWithBoundAttributes.cshtml)
+ IntermediateToken - (57:2,18 [5] TagHelpersWithBoundAttributes.cshtml) - CSharp - Hello
+ DefaultTagHelperHtmlAttribute - - type - HtmlAttributeValueStyle.SingleQuotes
+ HtmlContent - (69:2,30 [4] TagHelpersWithBoundAttributes.cshtml)
+ IntermediateToken - (69:2,30 [4] TagHelpersWithBoundAttributes.cshtml) - Html - text
+ DefaultTagHelperExecute -
+ HtmlContent - (77:2,38 [9] TagHelpersWithBoundAttributes.cshtml)
+ IntermediateToken - (77:2,38 [2] TagHelpersWithBoundAttributes.cshtml) - Html - \n
+ IntermediateToken - (79:3,0 [7] TagHelpersWithBoundAttributes.cshtml) - Html - </form>
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithBoundAttributes_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithBoundAttributes_DesignTime.mappings.txt
new file mode 100644
index 0000000000..597eef56ac
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithBoundAttributes_DesignTime.mappings.txt
@@ -0,0 +1,10 @@
+Source Location: (14:0,14 [15] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithBoundAttributes.cshtml)
+|*, TestAssembly|
+Generated Location: (494:11,38 [15] )
+|*, TestAssembly|
+
+Source Location: (57:2,18 [5] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithBoundAttributes.cshtml)
+|Hello|
+Generated Location: (1025:24,18 [5] )
+|Hello|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithBoundAttributes_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithBoundAttributes_Runtime.codegen.cs
new file mode 100644
index 0000000000..acaa25cdb0
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithBoundAttributes_Runtime.codegen.cs
@@ -0,0 +1,62 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithBoundAttributes.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "111aa585040c2e45a0dac3f5bdb65ee0252748d2"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_TagHelpersWithBoundAttributes_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithBoundAttributes.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"111aa585040c2e45a0dac3f5bdb65ee0252748d2", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithBoundAttributes.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_TagHelpersWithBoundAttributes_Runtime
+ {
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("type", new global::Microsoft.AspNetCore.Html.HtmlString("text"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.SingleQuotes);
+ #line hidden
+ #pragma warning disable 0169
+ private string __tagHelperStringValueBuffer;
+ #pragma warning restore 0169
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext __tagHelperExecutionContext;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner();
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __backed__tagHelperScopeManager = null;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __tagHelperScopeManager
+ {
+ get
+ {
+ if (__backed__tagHelperScopeManager == null)
+ {
+ __backed__tagHelperScopeManager = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager(StartTagHelperWritingScope, EndTagHelperWritingScope);
+ }
+ return __backed__tagHelperScopeManager;
+ }
+ }
+ private global::InputTagHelper __InputTagHelper;
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("<form>\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __InputTagHelper = CreateTagHelper<global::InputTagHelper>();
+ __tagHelperExecutionContext.Add(__InputTagHelper);
+ BeginWriteTagHelperAttribute();
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithBoundAttributes.cshtml"
+ WriteLiteral(Hello);
+
+#line default
+#line hidden
+ __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
+ __InputTagHelper.BoundProp = __tagHelperStringValueBuffer;
+ __tagHelperExecutionContext.AddTagHelperAttribute("bound", __InputTagHelper.BoundProp, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_0);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n</form>");
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithBoundAttributes_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithBoundAttributes_Runtime.ir.txt
new file mode 100644
index 0000000000..c3d5ddf52e
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithBoundAttributes_Runtime.ir.txt
@@ -0,0 +1,23 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_TagHelpersWithBoundAttributes_Runtime - -
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_0 - type - text - HtmlAttributeValueStyle.SingleQuotes
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::InputTagHelper - __InputTagHelper
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (31:1,0 [12] TagHelpersWithBoundAttributes.cshtml)
+ IntermediateToken - (31:1,0 [6] TagHelpersWithBoundAttributes.cshtml) - Html - <form>
+ IntermediateToken - (37:1,6 [6] TagHelpersWithBoundAttributes.cshtml) - Html - \n
+ TagHelper - (43:2,4 [34] TagHelpersWithBoundAttributes.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - InputTagHelper
+ DefaultTagHelperProperty - (56:2,17 [6] TagHelpersWithBoundAttributes.cshtml) - bound - string InputTagHelper.BoundProp - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (57:2,18 [5] TagHelpersWithBoundAttributes.cshtml)
+ IntermediateToken - (57:2,18 [5] TagHelpersWithBoundAttributes.cshtml) - CSharp - Hello
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_0
+ DefaultTagHelperExecute -
+ HtmlContent - (77:2,38 [9] TagHelpersWithBoundAttributes.cshtml)
+ IntermediateToken - (77:2,38 [2] TagHelpersWithBoundAttributes.cshtml) - Html - \n
+ IntermediateToken - (79:3,0 [7] TagHelpersWithBoundAttributes.cshtml) - Html - </form>
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithPrefix.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithPrefix.cshtml
new file mode 100644
index 0000000000..e365dd4d60
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithPrefix.cshtml
@@ -0,0 +1,5 @@
+@addTagHelper *, TestAssembly
+@tagHelperPrefix cool:
+<form>
+ <cool:input bound=@Hello type='text' />
+</form> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithPrefix_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithPrefix_DesignTime.codegen.cs
new file mode 100644
index 0000000000..9d9b99ec91
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithPrefix_DesignTime.codegen.cs
@@ -0,0 +1,38 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_TagHelpersWithPrefix_DesignTime
+ {
+ private global::InputTagHelper __InputTagHelper;
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "*, TestAssembly";
+ }
+ ))();
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "cool:";
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ __InputTagHelper = CreateTagHelper<global::InputTagHelper>();
+#line 4 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithPrefix.cshtml"
+ __o = Hello;
+
+#line default
+#line hidden
+ __InputTagHelper.BoundProp = string.Empty;
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithPrefix_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithPrefix_DesignTime.ir.txt
new file mode 100644
index 0000000000..34ef66d880
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithPrefix_DesignTime.ir.txt
@@ -0,0 +1,34 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_TagHelpersWithPrefix_DesignTime - -
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::InputTagHelper - __InputTagHelper
+ DesignTimeDirective -
+ DirectiveToken - (14:0,14 [15] TagHelpersWithPrefix.cshtml) - *, TestAssembly
+ DirectiveToken - (48:1,17 [5] TagHelpersWithPrefix.cshtml) - cool:
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (29:0,29 [2] TagHelpersWithPrefix.cshtml)
+ IntermediateToken - (29:0,29 [2] TagHelpersWithPrefix.cshtml) - Html - \n
+ HtmlContent - (53:1,22 [14] TagHelpersWithPrefix.cshtml)
+ IntermediateToken - (53:1,22 [2] TagHelpersWithPrefix.cshtml) - Html - \n
+ IntermediateToken - (55:2,0 [6] TagHelpersWithPrefix.cshtml) - Html - <form>
+ IntermediateToken - (61:2,6 [6] TagHelpersWithPrefix.cshtml) - Html - \n
+ TagHelper - (67:3,4 [39] TagHelpersWithPrefix.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - InputTagHelper
+ DefaultTagHelperProperty - (85:3,22 [6] TagHelpersWithPrefix.cshtml) - bound - string InputTagHelper.BoundProp - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (86:3,23 [5] TagHelpersWithPrefix.cshtml)
+ IntermediateToken - (86:3,23 [5] TagHelpersWithPrefix.cshtml) - CSharp - Hello
+ DefaultTagHelperHtmlAttribute - - type - HtmlAttributeValueStyle.SingleQuotes
+ HtmlContent - (98:3,35 [4] TagHelpersWithPrefix.cshtml)
+ IntermediateToken - (98:3,35 [4] TagHelpersWithPrefix.cshtml) - Html - text
+ DefaultTagHelperExecute -
+ HtmlContent - (106:3,43 [9] TagHelpersWithPrefix.cshtml)
+ IntermediateToken - (106:3,43 [2] TagHelpersWithPrefix.cshtml) - Html - \n
+ IntermediateToken - (108:4,0 [7] TagHelpersWithPrefix.cshtml) - Html - </form>
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithPrefix_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithPrefix_DesignTime.mappings.txt
new file mode 100644
index 0000000000..f44871f2b6
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithPrefix_DesignTime.mappings.txt
@@ -0,0 +1,15 @@
+Source Location: (14:0,14 [15] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithPrefix.cshtml)
+|*, TestAssembly|
+Generated Location: (485:11,38 [15] )
+|*, TestAssembly|
+
+Source Location: (48:1,17 [5] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithPrefix.cshtml)
+|cool:|
+Generated Location: (602:15,38 [5] )
+|cool:|
+
+Source Location: (86:3,23 [5] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithPrefix.cshtml)
+|Hello|
+Generated Location: (1119:28,23 [5] )
+|Hello|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithPrefix_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithPrefix_Runtime.codegen.cs
new file mode 100644
index 0000000000..a12f078f29
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithPrefix_Runtime.codegen.cs
@@ -0,0 +1,62 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithPrefix.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "5c97c003c8158f389b506a6dbc47e468892ec57d"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_TagHelpersWithPrefix_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithPrefix.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"5c97c003c8158f389b506a6dbc47e468892ec57d", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithPrefix.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_TagHelpersWithPrefix_Runtime
+ {
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("type", new global::Microsoft.AspNetCore.Html.HtmlString("text"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.SingleQuotes);
+ #line hidden
+ #pragma warning disable 0169
+ private string __tagHelperStringValueBuffer;
+ #pragma warning restore 0169
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext __tagHelperExecutionContext;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner();
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __backed__tagHelperScopeManager = null;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __tagHelperScopeManager
+ {
+ get
+ {
+ if (__backed__tagHelperScopeManager == null)
+ {
+ __backed__tagHelperScopeManager = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager(StartTagHelperWritingScope, EndTagHelperWritingScope);
+ }
+ return __backed__tagHelperScopeManager;
+ }
+ }
+ private global::InputTagHelper __InputTagHelper;
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("<form>\r\n ");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __InputTagHelper = CreateTagHelper<global::InputTagHelper>();
+ __tagHelperExecutionContext.Add(__InputTagHelper);
+ BeginWriteTagHelperAttribute();
+#line 4 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithPrefix.cshtml"
+ WriteLiteral(Hello);
+
+#line default
+#line hidden
+ __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
+ __InputTagHelper.BoundProp = __tagHelperStringValueBuffer;
+ __tagHelperExecutionContext.AddTagHelperAttribute("bound", __InputTagHelper.BoundProp, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_0);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n</form>");
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithPrefix_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithPrefix_Runtime.ir.txt
new file mode 100644
index 0000000000..6d6437abfc
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithPrefix_Runtime.ir.txt
@@ -0,0 +1,23 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_TagHelpersWithPrefix_Runtime - -
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_0 - type - text - HtmlAttributeValueStyle.SingleQuotes
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::InputTagHelper - __InputTagHelper
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (55:2,0 [12] TagHelpersWithPrefix.cshtml)
+ IntermediateToken - (55:2,0 [6] TagHelpersWithPrefix.cshtml) - Html - <form>
+ IntermediateToken - (61:2,6 [6] TagHelpersWithPrefix.cshtml) - Html - \n
+ TagHelper - (67:3,4 [39] TagHelpersWithPrefix.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - InputTagHelper
+ DefaultTagHelperProperty - (85:3,22 [6] TagHelpersWithPrefix.cshtml) - bound - string InputTagHelper.BoundProp - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (86:3,23 [5] TagHelpersWithPrefix.cshtml)
+ IntermediateToken - (86:3,23 [5] TagHelpersWithPrefix.cshtml) - CSharp - Hello
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_0
+ DefaultTagHelperExecute -
+ HtmlContent - (106:3,43 [9] TagHelpersWithPrefix.cshtml)
+ IntermediateToken - (106:3,43 [2] TagHelpersWithPrefix.cshtml) - Html - \n
+ IntermediateToken - (108:4,0 [7] TagHelpersWithPrefix.cshtml) - Html - </form>
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate.cshtml
new file mode 100644
index 0000000000..071122c261
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate.cshtml
@@ -0,0 +1,19 @@
+@addTagHelper "*, TestAssembly"
+
+@functions {
+ public void RenderTemplate(string title, Func<string, HelperResult> template)
+ {
+ Output.WriteLine("<br /><p><em>Rendering Template:</em></p>");
+ var helperResult = template(title);
+ helperResult.WriteTo(Output, HtmlEncoder);
+ }
+}
+
+<div>
+ @{
+ RenderTemplate(
+ "Template: ",
+ @<div condition="true"><h3>@item</h3><input type="checkbox" checked="true" /></div>);
+ }
+</div>
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate_DesignTime.codegen.cs
new file mode 100644
index 0000000000..47937e15b1
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate_DesignTime.codegen.cs
@@ -0,0 +1,64 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_TagHelpersWithTemplate_DesignTime
+ {
+ private global::DivTagHelper __DivTagHelper;
+ private global::InputTagHelper __InputTagHelper;
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "*, TestAssembly";
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 13 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate.cshtml"
+
+ RenderTemplate(
+ "Template: ",
+
+
+#line default
+#line hidden
+ item => new Template(async(__razor_template_writer) => {
+#line 16 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate.cshtml"
+ __o = item;
+
+#line default
+#line hidden
+ __InputTagHelper = CreateTagHelper<global::InputTagHelper>();
+ __DivTagHelper = CreateTagHelper<global::DivTagHelper>();
+ }
+ )
+#line 16 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate.cshtml"
+ );
+
+
+#line default
+#line hidden
+ __DivTagHelper = CreateTagHelper<global::DivTagHelper>();
+ }
+ #pragma warning restore 1998
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate.cshtml"
+
+ public void RenderTemplate(string title, Func<string, HelperResult> template)
+ {
+ Output.WriteLine("<br /><p><em>Rendering Template:</em></p>");
+ var helperResult = template(title);
+ helperResult.WriteTo(Output, HtmlEncoder);
+ }
+
+#line default
+#line hidden
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate_DesignTime.ir.txt
new file mode 100644
index 0000000000..b472714e8c
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate_DesignTime.ir.txt
@@ -0,0 +1,57 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_TagHelpersWithTemplate_DesignTime - -
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::DivTagHelper - __DivTagHelper
+ FieldDeclaration - - private - global::InputTagHelper - __InputTagHelper
+ DesignTimeDirective -
+ DirectiveToken - (14:0,14 [17] TagHelpersWithTemplate.cshtml) - "*, TestAssembly"
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (31:0,31 [4] TagHelpersWithTemplate.cshtml)
+ IntermediateToken - (31:0,31 [4] TagHelpersWithTemplate.cshtml) - Html - \n\n
+ HtmlContent - (316:9,1 [4] TagHelpersWithTemplate.cshtml)
+ IntermediateToken - (316:9,1 [4] TagHelpersWithTemplate.cshtml) - Html - \n\n
+ TagHelper - (320:11,0 [179] TagHelpersWithTemplate.cshtml) - div - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (325:11,5 [6] TagHelpersWithTemplate.cshtml)
+ IntermediateToken - (325:11,5 [6] TagHelpersWithTemplate.cshtml) - Html - \n
+ CSharpCode - (333:12,6 [66] TagHelpersWithTemplate.cshtml)
+ IntermediateToken - (333:12,6 [66] TagHelpersWithTemplate.cshtml) - CSharp - \n RenderTemplate(\n "Template: ",\n
+ Template - (400:15,13 [82] TagHelpersWithTemplate.cshtml)
+ TagHelper - (400:15,13 [82] TagHelpersWithTemplate.cshtml) - div - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (422:15,35 [4] TagHelpersWithTemplate.cshtml)
+ IntermediateToken - (422:15,35 [4] TagHelpersWithTemplate.cshtml) - Html - <h3>
+ CSharpExpression - (427:15,40 [4] TagHelpersWithTemplate.cshtml)
+ IntermediateToken - (427:15,40 [4] TagHelpersWithTemplate.cshtml) - CSharp - item
+ HtmlContent - (431:15,44 [5] TagHelpersWithTemplate.cshtml)
+ IntermediateToken - (431:15,44 [5] TagHelpersWithTemplate.cshtml) - Html - </h3>
+ TagHelper - (436:15,49 [40] TagHelpersWithTemplate.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - InputTagHelper
+ DefaultTagHelperHtmlAttribute - - type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (449:15,62 [8] TagHelpersWithTemplate.cshtml)
+ IntermediateToken - (449:15,62 [8] TagHelpersWithTemplate.cshtml) - Html - checkbox
+ DefaultTagHelperHtmlAttribute - - checked - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (468:15,81 [4] TagHelpersWithTemplate.cshtml)
+ IntermediateToken - (468:15,81 [4] TagHelpersWithTemplate.cshtml) - Html - true
+ DefaultTagHelperExecute -
+ DefaultTagHelperCreate - - DivTagHelper
+ DefaultTagHelperHtmlAttribute - - condition - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (416:15,29 [4] TagHelpersWithTemplate.cshtml)
+ IntermediateToken - (416:15,29 [4] TagHelpersWithTemplate.cshtml) - Html - true
+ DefaultTagHelperExecute -
+ CSharpCode - (482:15,95 [8] TagHelpersWithTemplate.cshtml)
+ IntermediateToken - (482:15,95 [8] TagHelpersWithTemplate.cshtml) - CSharp - );\n
+ DefaultTagHelperCreate - - DivTagHelper
+ DefaultTagHelperExecute -
+ HtmlContent - (499:17,6 [4] TagHelpersWithTemplate.cshtml)
+ IntermediateToken - (499:17,6 [4] TagHelpersWithTemplate.cshtml) - Html - \n\n
+ CSharpCode - (47:2,12 [268] TagHelpersWithTemplate.cshtml)
+ IntermediateToken - (47:2,12 [268] TagHelpersWithTemplate.cshtml) - CSharp - \n public void RenderTemplate(string title, Func<string, HelperResult> template)\n {\n Output.WriteLine("<br /><p><em>Rendering Template:</em></p>");\n var helperResult = template(title);\n helperResult.WriteTo(Output, HtmlEncoder);\n }\n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate_DesignTime.mappings.txt
new file mode 100644
index 0000000000..7426e542d0
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate_DesignTime.mappings.txt
@@ -0,0 +1,47 @@
+Source Location: (14:0,14 [17] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate.cshtml)
+|"*, TestAssembly"|
+Generated Location: (540:12,37 [17] )
+|"*, TestAssembly"|
+
+Source Location: (333:12,6 [66] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate.cshtml)
+|
+ RenderTemplate(
+ "Template: ",
+ |
+Generated Location: (979:24,6 [66] )
+|
+ RenderTemplate(
+ "Template: ",
+ |
+
+Source Location: (427:15,40 [4] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate.cshtml)
+|item|
+Generated Location: (1287:33,40 [4] )
+|item|
+
+Source Location: (482:15,95 [8] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate.cshtml)
+|);
+ |
+Generated Location: (1703:42,95 [8] )
+|);
+ |
+
+Source Location: (47:2,12 [268] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate.cshtml)
+|
+ public void RenderTemplate(string title, Func<string, HelperResult> template)
+ {
+ Output.WriteLine("<br /><p><em>Rendering Template:</em></p>");
+ var helperResult = template(title);
+ helperResult.WriteTo(Output, HtmlEncoder);
+ }
+|
+Generated Location: (1974:51,12 [268] )
+|
+ public void RenderTemplate(string title, Func<string, HelperResult> template)
+ {
+ Output.WriteLine("<br /><p><em>Rendering Template:</em></p>");
+ var helperResult = template(title);
+ helperResult.WriteTo(Output, HtmlEncoder);
+ }
+|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate_Runtime.codegen.cs
new file mode 100644
index 0000000000..a8f6cbf980
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate_Runtime.codegen.cs
@@ -0,0 +1,121 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "d02421b6972074e82cabcfd56c7ab2739d5f3d49"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_TagHelpersWithTemplate_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"d02421b6972074e82cabcfd56c7ab2739d5f3d49", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_TagHelpersWithTemplate_Runtime
+ {
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("type", new global::Microsoft.AspNetCore.Html.HtmlString("checkbox"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_1 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("checked", new global::Microsoft.AspNetCore.Html.HtmlString("true"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_2 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("condition", new global::Microsoft.AspNetCore.Html.HtmlString("true"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ #line hidden
+ #pragma warning disable 0169
+ private string __tagHelperStringValueBuffer;
+ #pragma warning restore 0169
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext __tagHelperExecutionContext;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner();
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __backed__tagHelperScopeManager = null;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __tagHelperScopeManager
+ {
+ get
+ {
+ if (__backed__tagHelperScopeManager == null)
+ {
+ __backed__tagHelperScopeManager = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager(StartTagHelperWritingScope, EndTagHelperWritingScope);
+ }
+ return __backed__tagHelperScopeManager;
+ }
+ }
+ private global::DivTagHelper __DivTagHelper;
+ private global::InputTagHelper __InputTagHelper;
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("\r\n");
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("div", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("\r\n");
+#line 13 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate.cshtml"
+
+ RenderTemplate(
+ "Template: ",
+
+
+#line default
+#line hidden
+ item => new Template(async(__razor_template_writer) => {
+ PushWriter(__razor_template_writer);
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("div", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("<h3>");
+#line 16 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate.cshtml"
+ Write(item);
+
+#line default
+#line hidden
+ WriteLiteral("</h3>");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __InputTagHelper = CreateTagHelper<global::InputTagHelper>();
+ __tagHelperExecutionContext.Add(__InputTagHelper);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_0);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_1);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ }
+ );
+ __DivTagHelper = CreateTagHelper<global::DivTagHelper>();
+ __tagHelperExecutionContext.Add(__DivTagHelper);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_2);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ PopWriter();
+ }
+ )
+#line 16 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate.cshtml"
+ );
+
+
+#line default
+#line hidden
+ }
+ );
+ __DivTagHelper = CreateTagHelper<global::DivTagHelper>();
+ __tagHelperExecutionContext.Add(__DivTagHelper);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n\r\n");
+ }
+ #pragma warning restore 1998
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate.cshtml"
+
+ public void RenderTemplate(string title, Func<string, HelperResult> template)
+ {
+ Output.WriteLine("<br /><p><em>Rendering Template:</em></p>");
+ var helperResult = template(title);
+ helperResult.WriteTo(Output, HtmlEncoder);
+ }
+
+#line default
+#line hidden
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate_Runtime.ir.txt
new file mode 100644
index 0000000000..d53344f511
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithTemplate_Runtime.ir.txt
@@ -0,0 +1,50 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_TagHelpersWithTemplate_Runtime - -
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_0 - type - checkbox - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_1 - checked - true - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_2 - condition - true - HtmlAttributeValueStyle.DoubleQuotes
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::DivTagHelper - __DivTagHelper
+ FieldDeclaration - - private - global::InputTagHelper - __InputTagHelper
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (33:1,0 [2] TagHelpersWithTemplate.cshtml)
+ IntermediateToken - (33:1,0 [2] TagHelpersWithTemplate.cshtml) - Html - \n
+ HtmlContent - (318:10,0 [2] TagHelpersWithTemplate.cshtml)
+ IntermediateToken - (318:10,0 [2] TagHelpersWithTemplate.cshtml) - Html - \n
+ TagHelper - (320:11,0 [179] TagHelpersWithTemplate.cshtml) - div - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (325:11,5 [2] TagHelpersWithTemplate.cshtml)
+ IntermediateToken - (325:11,5 [2] TagHelpersWithTemplate.cshtml) - Html - \n
+ CSharpCode - (327:12,0 [4] TagHelpersWithTemplate.cshtml)
+ IntermediateToken - (327:12,0 [4] TagHelpersWithTemplate.cshtml) - CSharp -
+ CSharpCode - (333:12,6 [66] TagHelpersWithTemplate.cshtml)
+ IntermediateToken - (333:12,6 [66] TagHelpersWithTemplate.cshtml) - CSharp - \n RenderTemplate(\n "Template: ",\n
+ Template - (400:15,13 [82] TagHelpersWithTemplate.cshtml)
+ TagHelper - (400:15,13 [82] TagHelpersWithTemplate.cshtml) - div - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (422:15,35 [4] TagHelpersWithTemplate.cshtml)
+ IntermediateToken - (422:15,35 [4] TagHelpersWithTemplate.cshtml) - Html - <h3>
+ CSharpExpression - (427:15,40 [4] TagHelpersWithTemplate.cshtml)
+ IntermediateToken - (427:15,40 [4] TagHelpersWithTemplate.cshtml) - CSharp - item
+ HtmlContent - (431:15,44 [5] TagHelpersWithTemplate.cshtml)
+ IntermediateToken - (431:15,44 [5] TagHelpersWithTemplate.cshtml) - Html - </h3>
+ TagHelper - (436:15,49 [40] TagHelpersWithTemplate.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - InputTagHelper
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_0
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_1
+ DefaultTagHelperExecute -
+ DefaultTagHelperCreate - - DivTagHelper
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_2
+ DefaultTagHelperExecute -
+ CSharpCode - (482:15,95 [8] TagHelpersWithTemplate.cshtml)
+ IntermediateToken - (482:15,95 [8] TagHelpersWithTemplate.cshtml) - CSharp - );\n
+ DefaultTagHelperCreate - - DivTagHelper
+ DefaultTagHelperExecute -
+ HtmlContent - (499:17,6 [4] TagHelpersWithTemplate.cshtml)
+ IntermediateToken - (499:17,6 [4] TagHelpersWithTemplate.cshtml) - Html - \n\n
+ CSharpCode - (47:2,12 [268] TagHelpersWithTemplate.cshtml)
+ IntermediateToken - (47:2,12 [268] TagHelpersWithTemplate.cshtml) - CSharp - \n public void RenderTemplate(string title, Func<string, HelperResult> template)\n {\n Output.WriteLine("<br /><p><em>Rendering Template:</em></p>");\n var helperResult = template(title);\n helperResult.WriteTo(Output, HtmlEncoder);\n }\n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes.cshtml
new file mode 100644
index 0000000000..1796ed5c04
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes.cshtml
@@ -0,0 +1,15 @@
+@addTagHelper "*, TestAssembly"
+
+<p
+class
+ =
+"Hello World" age =1337
+ data-content= "@true">Body of Tag</p>
+
+<input type = 'text' data-content= "hello" />
+
+<p age= "1234" data-content
+= 'hello2'></p>
+
+<input type
+ =password data-content =blah/> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes_DesignTime.codegen.cs
new file mode 100644
index 0000000000..42a22375b7
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes_DesignTime.codegen.cs
@@ -0,0 +1,54 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_TagHelpersWithWeirdlySpacedAttributes_DesignTime
+ {
+ private global::TestNamespace.PTagHelper __TestNamespace_PTagHelper;
+ private global::TestNamespace.InputTagHelper __TestNamespace_InputTagHelper;
+ private global::TestNamespace.InputTagHelper2 __TestNamespace_InputTagHelper2;
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "*, TestAssembly";
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+#line 6 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes.cshtml"
+__TestNamespace_PTagHelper.Age = 1337;
+
+#line default
+#line hidden
+#line 7 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes.cshtml"
+ __o = true;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __TestNamespace_InputTagHelper.Type = "text";
+ __TestNamespace_InputTagHelper2.Type = __TestNamespace_InputTagHelper.Type;
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+#line 11 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes.cshtml"
+__TestNamespace_PTagHelper.Age = 1234;
+
+#line default
+#line hidden
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __TestNamespace_InputTagHelper.Type = "password";
+ __TestNamespace_InputTagHelper2.Type = __TestNamespace_InputTagHelper.Type;
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes_DesignTime.ir.txt
new file mode 100644
index 0000000000..2ada0a9862
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes_DesignTime.ir.txt
@@ -0,0 +1,75 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_TagHelpersWithWeirdlySpacedAttributes_DesignTime - -
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.PTagHelper - __TestNamespace_PTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper - __TestNamespace_InputTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper2 - __TestNamespace_InputTagHelper2
+ DesignTimeDirective -
+ DirectiveToken - (14:0,14 [17] TagHelpersWithWeirdlySpacedAttributes.cshtml) - "*, TestAssembly"
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (31:0,31 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml)
+ IntermediateToken - (31:0,31 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml) - Html - \n\n
+ TagHelper - (35:2,0 [85] TagHelpersWithWeirdlySpacedAttributes.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (105:6,25 [11] TagHelpersWithWeirdlySpacedAttributes.cshtml)
+ IntermediateToken - (105:6,25 [11] TagHelpersWithWeirdlySpacedAttributes.cshtml) - Html - Body of Tag
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperHtmlAttribute - - class - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (54:5,1 [11] TagHelpersWithWeirdlySpacedAttributes.cshtml)
+ IntermediateToken - (54:5,1 [11] TagHelpersWithWeirdlySpacedAttributes.cshtml) - Html - Hello World
+ DefaultTagHelperProperty - (74:5,21 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (74:5,21 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml) - CSharp - 1337
+ DefaultTagHelperHtmlAttribute - - data-content - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (99:6,19 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml)
+ IntermediateToken - (99:6,19 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml) - CSharp - true
+ DefaultTagHelperExecute -
+ HtmlContent - (120:6,40 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml)
+ IntermediateToken - (120:6,40 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml) - Html - \n\n
+ TagHelper - (124:8,0 [47] TagHelpersWithWeirdlySpacedAttributes.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperProperty - (140:8,16 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml) - type - string TestNamespace.InputTagHelper.Type - HtmlAttributeValueStyle.SingleQuotes
+ HtmlContent - (140:8,16 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml)
+ IntermediateToken - (140:8,16 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml) - Html - text
+ DefaultTagHelperProperty - (140:8,16 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml) - type - string TestNamespace.InputTagHelper2.Type - HtmlAttributeValueStyle.SingleQuotes
+ HtmlContent - (140:8,16 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml)
+ IntermediateToken - (140:8,16 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml) - Html - text
+ DefaultTagHelperHtmlAttribute - - data-content - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (162:8,38 [5] TagHelpersWithWeirdlySpacedAttributes.cshtml)
+ IntermediateToken - (162:8,38 [5] TagHelpersWithWeirdlySpacedAttributes.cshtml) - Html - hello
+ DefaultTagHelperExecute -
+ HtmlContent - (171:8,47 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml)
+ IntermediateToken - (171:8,47 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml) - Html - \n\n
+ TagHelper - (175:10,0 [46] TagHelpersWithWeirdlySpacedAttributes.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperProperty - (186:10,11 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (186:10,11 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml) - CSharp - 1234
+ DefaultTagHelperHtmlAttribute - - data-content - HtmlAttributeValueStyle.SingleQuotes
+ HtmlContent - (209:11,3 [6] TagHelpersWithWeirdlySpacedAttributes.cshtml)
+ IntermediateToken - (209:11,3 [6] TagHelpersWithWeirdlySpacedAttributes.cshtml) - Html - hello2
+ DefaultTagHelperExecute -
+ HtmlContent - (221:11,15 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml)
+ IntermediateToken - (221:11,15 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml) - Html - \n\n
+ TagHelper - (225:13,0 [51] TagHelpersWithWeirdlySpacedAttributes.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ DefaultTagHelperProperty - (247:14,8 [8] TagHelpersWithWeirdlySpacedAttributes.cshtml) - type - string TestNamespace.InputTagHelper.Type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (247:14,8 [8] TagHelpersWithWeirdlySpacedAttributes.cshtml)
+ IntermediateToken - (247:14,8 [8] TagHelpersWithWeirdlySpacedAttributes.cshtml) - Html - password
+ DefaultTagHelperProperty - (247:14,8 [8] TagHelpersWithWeirdlySpacedAttributes.cshtml) - type - string TestNamespace.InputTagHelper2.Type - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (247:14,8 [8] TagHelpersWithWeirdlySpacedAttributes.cshtml)
+ IntermediateToken - (247:14,8 [8] TagHelpersWithWeirdlySpacedAttributes.cshtml) - Html - password
+ DefaultTagHelperHtmlAttribute - - data-content - HtmlAttributeValueStyle.NoQuotes
+ HtmlContent - (270:14,31 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml)
+ IntermediateToken - (270:14,31 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml) - Html - blah
+ DefaultTagHelperExecute -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes_DesignTime.mappings.txt
new file mode 100644
index 0000000000..541fbb7b28
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes_DesignTime.mappings.txt
@@ -0,0 +1,20 @@
+Source Location: (14:0,14 [17] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes.cshtml)
+|"*, TestAssembly"|
+Generated Location: (695:13,37 [17] )
+|"*, TestAssembly"|
+
+Source Location: (74:5,21 [4] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes.cshtml)
+|1337|
+Generated Location: (1270:26,33 [4] )
+|1337|
+
+Source Location: (99:6,19 [4] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes.cshtml)
+|true|
+Generated Location: (1440:31,19 [4] )
+|true|
+
+Source Location: (186:10,11 [4] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes.cshtml)
+|1234|
+Generated Location: (2076:41,33 [4] )
+|1234|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes_Runtime.codegen.cs
new file mode 100644
index 0000000000..b975f6f6ee
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes_Runtime.codegen.cs
@@ -0,0 +1,134 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "a58200cdb2a70e95e4cebb5c830216be0ae4b62c"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_TagHelpersWithWeirdlySpacedAttributes_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"a58200cdb2a70e95e4cebb5c830216be0ae4b62c", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_TagHelpersWithWeirdlySpacedAttributes_Runtime
+ {
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("class", new global::Microsoft.AspNetCore.Html.HtmlString("Hello World"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_1 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("type", "text", global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.SingleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_2 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("data-content", new global::Microsoft.AspNetCore.Html.HtmlString("hello"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_3 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("data-content", new global::Microsoft.AspNetCore.Html.HtmlString("hello2"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.SingleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_4 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("type", "password", global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_5 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("data-content", new global::Microsoft.AspNetCore.Html.HtmlString("blah"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.NoQuotes);
+ #line hidden
+ #pragma warning disable 0169
+ private string __tagHelperStringValueBuffer;
+ #pragma warning restore 0169
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext __tagHelperExecutionContext;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner();
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __backed__tagHelperScopeManager = null;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __tagHelperScopeManager
+ {
+ get
+ {
+ if (__backed__tagHelperScopeManager == null)
+ {
+ __backed__tagHelperScopeManager = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager(StartTagHelperWritingScope, EndTagHelperWritingScope);
+ }
+ return __backed__tagHelperScopeManager;
+ }
+ }
+ private global::TestNamespace.PTagHelper __TestNamespace_PTagHelper;
+ private global::TestNamespace.InputTagHelper __TestNamespace_InputTagHelper;
+ private global::TestNamespace.InputTagHelper2 __TestNamespace_InputTagHelper2;
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("p", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("Body of Tag");
+ }
+ );
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_PTagHelper);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_0);
+#line 6 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes.cshtml"
+__TestNamespace_PTagHelper.Age = 1337;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("age", __TestNamespace_PTagHelper.Age, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ BeginWriteTagHelperAttribute();
+#line 7 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes.cshtml"
+ Write(true);
+
+#line default
+#line hidden
+ __tagHelperStringValueBuffer = EndWriteTagHelperAttribute();
+ __tagHelperExecutionContext.AddHtmlAttribute("data-content", Html.Raw(__tagHelperStringValueBuffer), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper2);
+ __TestNamespace_InputTagHelper.Type = (string)__tagHelperAttribute_1.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_1);
+ __TestNamespace_InputTagHelper2.Type = (string)__tagHelperAttribute_1.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_1);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_2);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("p", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ }
+ );
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_PTagHelper);
+#line 11 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes.cshtml"
+__TestNamespace_PTagHelper.Age = 1234;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("age", __TestNamespace_PTagHelper.Age, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_3);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("input", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.SelfClosing, "test", async() => {
+ }
+ );
+ __TestNamespace_InputTagHelper = CreateTagHelper<global::TestNamespace.InputTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper);
+ __TestNamespace_InputTagHelper2 = CreateTagHelper<global::TestNamespace.InputTagHelper2>();
+ __tagHelperExecutionContext.Add(__TestNamespace_InputTagHelper2);
+ __TestNamespace_InputTagHelper.Type = (string)__tagHelperAttribute_4.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_4);
+ __TestNamespace_InputTagHelper2.Type = (string)__tagHelperAttribute_4.Value;
+ __tagHelperExecutionContext.AddTagHelperAttribute(__tagHelperAttribute_4);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_5);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes_Runtime.ir.txt
new file mode 100644
index 0000000000..e6920b3067
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TagHelpersWithWeirdlySpacedAttributes_Runtime.ir.txt
@@ -0,0 +1,59 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_TagHelpersWithWeirdlySpacedAttributes_Runtime - -
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_0 - class - Hello World - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_1 - type - text - HtmlAttributeValueStyle.SingleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_2 - data-content - hello - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_3 - data-content - hello2 - HtmlAttributeValueStyle.SingleQuotes
+ PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_4 - type - password - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_5 - data-content - blah - HtmlAttributeValueStyle.NoQuotes
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.PTagHelper - __TestNamespace_PTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper - __TestNamespace_InputTagHelper
+ FieldDeclaration - - private - global::TestNamespace.InputTagHelper2 - __TestNamespace_InputTagHelper2
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (33:1,0 [2] TagHelpersWithWeirdlySpacedAttributes.cshtml)
+ IntermediateToken - (33:1,0 [2] TagHelpersWithWeirdlySpacedAttributes.cshtml) - Html - \n
+ TagHelper - (35:2,0 [85] TagHelpersWithWeirdlySpacedAttributes.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (105:6,25 [11] TagHelpersWithWeirdlySpacedAttributes.cshtml)
+ IntermediateToken - (105:6,25 [11] TagHelpersWithWeirdlySpacedAttributes.cshtml) - Html - Body of Tag
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_0
+ DefaultTagHelperProperty - (74:5,21 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (74:5,21 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml) - CSharp - 1337
+ DefaultTagHelperHtmlAttribute - - data-content - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (99:6,19 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml)
+ IntermediateToken - (99:6,19 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml) - CSharp - true
+ DefaultTagHelperExecute -
+ HtmlContent - (120:6,40 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml)
+ IntermediateToken - (120:6,40 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml) - Html - \n\n
+ TagHelper - (124:8,0 [47] TagHelpersWithWeirdlySpacedAttributes.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ PreallocatedTagHelperProperty - (140:8,16 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml) - __tagHelperAttribute_1 - type - Type
+ PreallocatedTagHelperProperty - (140:8,16 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml) - __tagHelperAttribute_1 - type - Type
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_2
+ DefaultTagHelperExecute -
+ HtmlContent - (171:8,47 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml)
+ IntermediateToken - (171:8,47 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml) - Html - \n\n
+ TagHelper - (175:10,0 [46] TagHelpersWithWeirdlySpacedAttributes.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperProperty - (186:10,11 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (186:10,11 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml) - CSharp - 1234
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_3
+ DefaultTagHelperExecute -
+ HtmlContent - (221:11,15 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml)
+ IntermediateToken - (221:11,15 [4] TagHelpersWithWeirdlySpacedAttributes.cshtml) - Html - \n\n
+ TagHelper - (225:13,0 [51] TagHelpersWithWeirdlySpacedAttributes.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper
+ DefaultTagHelperCreate - - TestNamespace.InputTagHelper2
+ PreallocatedTagHelperProperty - (247:14,8 [8] TagHelpersWithWeirdlySpacedAttributes.cshtml) - __tagHelperAttribute_4 - type - Type
+ PreallocatedTagHelperProperty - (247:14,8 [8] TagHelpersWithWeirdlySpacedAttributes.cshtml) - __tagHelperAttribute_4 - type - Type
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_5
+ DefaultTagHelperExecute -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml
new file mode 100644
index 0000000000..467329dc4d
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml
@@ -0,0 +1,53 @@
+@functions {
+ public HelperResult Repeat(int times, Func<int, object> template) {
+ return new HelperResult((writer) => {
+ for(int i = 0; i < times; i++) {
+ ((HelperResult)template(i)).WriteTo(writer);
+ }
+ });
+ }
+}
+
+@{
+ Func<dynamic, object> foo = @<text>This works @item!</text>;
+ @foo("")
+}
+
+@{
+ Func<dynamic, object> bar = @<p class="@item">Hello</p>;
+ @bar("myclass")
+}
+
+<ul>
+@(Repeat(10, @<li>Item #@item</li>))
+</ul>
+
+<p>
+@Repeat(10,
+ @: This is line#@item of markup<br/>
+)
+</p>
+
+<p>
+@Repeat(10,
+ @:: This is line#@item of markup<br />
+)
+</p>
+
+<p>
+@Repeat(10,
+ @::: This is line#@item of markup<br />
+)
+</p>
+
+
+<ul>
+ @Repeat(10, @<li>
+ Item #@item
+ @{var parent = item;}
+ <ul>
+ <li>Child Items... ?</li>
+ @*Repeat(10, @<li>Item #@(parent).@item</li>)*@
+ </ul>
+ </li>)
+</ul> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates_DesignTime.codegen.cs
new file mode 100644
index 0000000000..e71dc97f63
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates_DesignTime.codegen.cs
@@ -0,0 +1,156 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Templates_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 11 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+
+ Func<dynamic, object> foo =
+
+#line default
+#line hidden
+ item => new Template(async(__razor_template_writer) => {
+#line 12 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+ __o = item;
+
+#line default
+#line hidden
+ }
+ )
+#line 12 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+ ;
+
+
+#line default
+#line hidden
+#line 13 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+__o = foo("");
+
+#line default
+#line hidden
+
+
+#line 16 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+
+ Func<dynamic, object> bar =
+
+#line default
+#line hidden
+ item => new Template(async(__razor_template_writer) => {
+#line 17 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+ __o = item;
+
+#line default
+#line hidden
+ }
+ )
+#line 17 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+ ;
+
+
+#line default
+#line hidden
+#line 18 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+__o = bar("myclass");
+
+#line default
+#line hidden
+
+
+#line 22 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+__o = Repeat(10, item => new Template(async(__razor_template_writer) => {
+#line 22 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+ __o = item;
+
+#line default
+#line hidden
+}
+));
+
+#line default
+#line hidden
+#line 26 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+__o = Repeat(10,
+ item => new Template(async(__razor_template_writer) => {
+#line 27 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+ __o = item;
+
+#line default
+#line hidden
+}
+));
+
+#line default
+#line hidden
+#line 32 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+__o = Repeat(10,
+ item => new Template(async(__razor_template_writer) => {
+#line 33 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+ __o = item;
+
+#line default
+#line hidden
+}
+));
+
+#line default
+#line hidden
+#line 38 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+__o = Repeat(10,
+ item => new Template(async(__razor_template_writer) => {
+#line 39 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+ __o = item;
+
+#line default
+#line hidden
+}
+));
+
+#line default
+#line hidden
+#line 45 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+__o = Repeat(10, item => new Template(async(__razor_template_writer) => {
+#line 46 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+ __o = item;
+
+#line default
+#line hidden
+#line 47 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+ var parent = item;
+
+#line default
+#line hidden
+}
+));
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+
+ public HelperResult Repeat(int times, Func<int, object> template) {
+ return new HelperResult((writer) => {
+ for(int i = 0; i < times; i++) {
+ ((HelperResult)template(i)).WriteTo(writer);
+ }
+ });
+ }
+
+#line default
+#line hidden
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates_DesignTime.ir.txt
new file mode 100644
index 0000000000..564759972a
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates_DesignTime.ir.txt
@@ -0,0 +1,149 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Templates_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (278:8,1 [4] Templates.cshtml)
+ IntermediateToken - (278:8,1 [4] Templates.cshtml) - Html - \n\n
+ CSharpCode - (284:10,2 [34] Templates.cshtml)
+ IntermediateToken - (284:10,2 [34] Templates.cshtml) - CSharp - \n Func<dynamic, object> foo =
+ Template - (325:11,39 [16] Templates.cshtml)
+ HtmlContent - (325:11,39 [11] Templates.cshtml)
+ IntermediateToken - (325:11,39 [11] Templates.cshtml) - Html - This works
+ CSharpExpression - (337:11,51 [4] Templates.cshtml)
+ IntermediateToken - (337:11,51 [4] Templates.cshtml) - CSharp - item
+ HtmlContent - (341:11,55 [1] Templates.cshtml)
+ IntermediateToken - (341:11,55 [1] Templates.cshtml) - Html - !
+ CSharpCode - (349:11,63 [7] Templates.cshtml)
+ IntermediateToken - (349:11,63 [7] Templates.cshtml) - CSharp - ;\n
+ CSharpExpression - (357:12,5 [7] Templates.cshtml)
+ IntermediateToken - (357:12,5 [7] Templates.cshtml) - CSharp - foo("")
+ CSharpCode - (364:12,12 [2] Templates.cshtml)
+ IntermediateToken - (364:12,12 [2] Templates.cshtml) - CSharp - \n
+ HtmlContent - (369:14,0 [2] Templates.cshtml)
+ IntermediateToken - (369:14,0 [2] Templates.cshtml) - Html - \n
+ CSharpCode - (373:15,2 [35] Templates.cshtml)
+ IntermediateToken - (373:15,2 [35] Templates.cshtml) - CSharp - \n Func<dynamic, object> bar =
+ Template - (409:16,33 [26] Templates.cshtml)
+ HtmlContent - (409:16,33 [2] Templates.cshtml)
+ IntermediateToken - (409:16,33 [2] Templates.cshtml) - Html - <p
+ HtmlAttribute - (411:16,35 [14] Templates.cshtml) - class=" - "
+ CSharpExpressionAttributeValue - (419:16,43 [5] Templates.cshtml) -
+ IntermediateToken - (420:16,44 [4] Templates.cshtml) - CSharp - item
+ HtmlContent - (425:16,49 [10] Templates.cshtml)
+ IntermediateToken - (425:16,49 [1] Templates.cshtml) - Html - >
+ IntermediateToken - (426:16,50 [5] Templates.cshtml) - Html - Hello
+ IntermediateToken - (431:16,55 [4] Templates.cshtml) - Html - </p>
+ CSharpCode - (435:16,59 [7] Templates.cshtml)
+ IntermediateToken - (435:16,59 [7] Templates.cshtml) - CSharp - ;\n
+ CSharpExpression - (443:17,5 [14] Templates.cshtml)
+ IntermediateToken - (443:17,5 [14] Templates.cshtml) - CSharp - bar("myclass")
+ CSharpCode - (457:17,19 [2] Templates.cshtml)
+ IntermediateToken - (457:17,19 [2] Templates.cshtml) - CSharp - \n
+ HtmlContent - (462:19,0 [8] Templates.cshtml)
+ IntermediateToken - (462:19,0 [2] Templates.cshtml) - Html - \n
+ IntermediateToken - (464:20,0 [4] Templates.cshtml) - Html - <ul>
+ IntermediateToken - (468:20,4 [2] Templates.cshtml) - Html - \n
+ CSharpExpression - (472:21,2 [31] Templates.cshtml)
+ IntermediateToken - (472:21,2 [11] Templates.cshtml) - CSharp - Repeat(10,
+ Template - (484:21,14 [19] Templates.cshtml)
+ HtmlContent - (484:21,14 [10] Templates.cshtml)
+ IntermediateToken - (484:21,14 [4] Templates.cshtml) - Html - <li>
+ IntermediateToken - (488:21,18 [6] Templates.cshtml) - Html - Item #
+ CSharpExpression - (495:21,25 [4] Templates.cshtml)
+ IntermediateToken - (495:21,25 [4] Templates.cshtml) - CSharp - item
+ HtmlContent - (499:21,29 [5] Templates.cshtml)
+ IntermediateToken - (499:21,29 [5] Templates.cshtml) - Html - </li>
+ IntermediateToken - (504:21,34 [1] Templates.cshtml) - CSharp - )
+ HtmlContent - (506:21,36 [16] Templates.cshtml)
+ IntermediateToken - (506:21,36 [2] Templates.cshtml) - Html - \n
+ IntermediateToken - (508:22,0 [5] Templates.cshtml) - Html - </ul>
+ IntermediateToken - (513:22,5 [4] Templates.cshtml) - Html - \n\n
+ IntermediateToken - (517:24,0 [3] Templates.cshtml) - Html - <p>
+ IntermediateToken - (520:24,3 [2] Templates.cshtml) - Html - \n
+ CSharpExpression - (523:25,1 [52] Templates.cshtml)
+ IntermediateToken - (523:25,1 [16] Templates.cshtml) - CSharp - Repeat(10,\n
+ Template - (541:26,6 [35] Templates.cshtml)
+ HtmlContent - (541:26,6 [14] Templates.cshtml)
+ IntermediateToken - (541:26,6 [14] Templates.cshtml) - Html - This is line#
+ CSharpExpression - (556:26,21 [4] Templates.cshtml)
+ IntermediateToken - (556:26,21 [4] Templates.cshtml) - CSharp - item
+ HtmlContent - (560:26,25 [17] Templates.cshtml)
+ IntermediateToken - (560:26,25 [17] Templates.cshtml) - Html - of markup<br/>\n
+ IntermediateToken - (577:27,0 [1] Templates.cshtml) - CSharp - )
+ HtmlContent - (578:27,1 [15] Templates.cshtml)
+ IntermediateToken - (578:27,1 [2] Templates.cshtml) - Html - \n
+ IntermediateToken - (580:28,0 [4] Templates.cshtml) - Html - </p>
+ IntermediateToken - (584:28,4 [4] Templates.cshtml) - Html - \n\n
+ IntermediateToken - (588:30,0 [3] Templates.cshtml) - Html - <p>
+ IntermediateToken - (591:30,3 [2] Templates.cshtml) - Html - \n
+ CSharpExpression - (594:31,1 [54] Templates.cshtml)
+ IntermediateToken - (594:31,1 [16] Templates.cshtml) - CSharp - Repeat(10,\n
+ Template - (612:32,6 [37] Templates.cshtml)
+ HtmlContent - (612:32,6 [15] Templates.cshtml)
+ IntermediateToken - (612:32,6 [15] Templates.cshtml) - Html - : This is line#
+ CSharpExpression - (628:32,22 [4] Templates.cshtml)
+ IntermediateToken - (628:32,22 [4] Templates.cshtml) - CSharp - item
+ HtmlContent - (632:32,26 [18] Templates.cshtml)
+ IntermediateToken - (632:32,26 [18] Templates.cshtml) - Html - of markup<br />\n
+ IntermediateToken - (650:33,0 [1] Templates.cshtml) - CSharp - )
+ HtmlContent - (651:33,1 [15] Templates.cshtml)
+ IntermediateToken - (651:33,1 [2] Templates.cshtml) - Html - \n
+ IntermediateToken - (653:34,0 [4] Templates.cshtml) - Html - </p>
+ IntermediateToken - (657:34,4 [4] Templates.cshtml) - Html - \n\n
+ IntermediateToken - (661:36,0 [3] Templates.cshtml) - Html - <p>
+ IntermediateToken - (664:36,3 [2] Templates.cshtml) - Html - \n
+ CSharpExpression - (667:37,1 [55] Templates.cshtml)
+ IntermediateToken - (667:37,1 [16] Templates.cshtml) - CSharp - Repeat(10,\n
+ Template - (685:38,6 [38] Templates.cshtml)
+ HtmlContent - (685:38,6 [16] Templates.cshtml)
+ IntermediateToken - (685:38,6 [16] Templates.cshtml) - Html - :: This is line#
+ CSharpExpression - (702:38,23 [4] Templates.cshtml)
+ IntermediateToken - (702:38,23 [4] Templates.cshtml) - CSharp - item
+ HtmlContent - (706:38,27 [18] Templates.cshtml)
+ IntermediateToken - (706:38,27 [18] Templates.cshtml) - Html - of markup<br />\n
+ IntermediateToken - (724:39,0 [1] Templates.cshtml) - CSharp - )
+ HtmlContent - (725:39,1 [22] Templates.cshtml)
+ IntermediateToken - (725:39,1 [2] Templates.cshtml) - Html - \n
+ IntermediateToken - (727:40,0 [4] Templates.cshtml) - Html - </p>
+ IntermediateToken - (731:40,4 [6] Templates.cshtml) - Html - \n\n\n
+ IntermediateToken - (737:43,0 [4] Templates.cshtml) - Html - <ul>
+ IntermediateToken - (741:43,4 [6] Templates.cshtml) - Html - \n
+ CSharpExpression - (748:44,5 [141] Templates.cshtml)
+ IntermediateToken - (748:44,5 [11] Templates.cshtml) - CSharp - Repeat(10,
+ Template - (760:44,17 [129] Templates.cshtml)
+ HtmlContent - (760:44,17 [20] Templates.cshtml)
+ IntermediateToken - (760:44,17 [4] Templates.cshtml) - Html - <li>
+ IntermediateToken - (764:44,21 [16] Templates.cshtml) - Html - \n Item #
+ CSharpExpression - (781:45,15 [4] Templates.cshtml)
+ IntermediateToken - (781:45,15 [4] Templates.cshtml) - CSharp - item
+ HtmlContent - (785:45,19 [10] Templates.cshtml)
+ IntermediateToken - (785:45,19 [10] Templates.cshtml) - Html - \n
+ CSharpCode - (797:46,10 [18] Templates.cshtml)
+ IntermediateToken - (797:46,10 [18] Templates.cshtml) - CSharp - var parent = item;
+ HtmlContent - (818:47,0 [53] Templates.cshtml)
+ IntermediateToken - (818:47,0 [8] Templates.cshtml) - Html -
+ IntermediateToken - (826:47,8 [4] Templates.cshtml) - Html - <ul>
+ IntermediateToken - (830:47,12 [14] Templates.cshtml) - Html - \n
+ IntermediateToken - (844:48,12 [4] Templates.cshtml) - Html - <li>
+ IntermediateToken - (848:48,16 [16] Templates.cshtml) - Html - Child Items... ?
+ IntermediateToken - (864:48,32 [5] Templates.cshtml) - Html - </li>
+ IntermediateToken - (869:48,37 [2] Templates.cshtml) - Html - \n
+ HtmlContent - (932:50,0 [24] Templates.cshtml)
+ IntermediateToken - (932:50,0 [8] Templates.cshtml) - Html -
+ IntermediateToken - (940:50,8 [5] Templates.cshtml) - Html - </ul>
+ IntermediateToken - (945:50,13 [6] Templates.cshtml) - Html - \n
+ IntermediateToken - (951:51,4 [5] Templates.cshtml) - Html - </li>
+ IntermediateToken - (956:51,9 [1] Templates.cshtml) - CSharp - )
+ HtmlContent - (957:51,10 [8] Templates.cshtml)
+ IntermediateToken - (957:51,10 [2] Templates.cshtml) - Html - \n
+ IntermediateToken - (959:52,0 [5] Templates.cshtml) - Html - </ul>
+ IntermediateToken - (964:52,5 [1] Templates.cshtml) - Html -
+ CSharpCode - (12:0,12 [265] Templates.cshtml)
+ IntermediateToken - (12:0,12 [265] Templates.cshtml) - CSharp - \n public HelperResult Repeat(int times, Func<int, object> template) {\n return new HelperResult((writer) => {\n for(int i = 0; i < times; i++) {\n ((HelperResult)template(i)).WriteTo(writer);\n }\n });\n }\n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates_DesignTime.mappings.txt
new file mode 100644
index 0000000000..3c35d4c99a
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates_DesignTime.mappings.txt
@@ -0,0 +1,169 @@
+Source Location: (284:10,2 [34] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml)
+|
+ Func<dynamic, object> foo = |
+Generated Location: (720:18,2 [34] )
+|
+ Func<dynamic, object> foo = |
+
+Source Location: (337:11,51 [4] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml)
+|item|
+Generated Location: (994:25,51 [4] )
+|item|
+
+Source Location: (349:11,63 [7] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml)
+|;
+ |
+Generated Location: (1211:32,63 [7] )
+|;
+ |
+
+Source Location: (357:12,5 [7] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml)
+|foo("")|
+Generated Location: (1343:38,6 [7] )
+|foo("")|
+
+Source Location: (364:12,12 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml)
+|
+|
+Generated Location: (1408:42,24 [2] )
+|
+|
+
+Source Location: (373:15,2 [35] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml)
+|
+ Func<dynamic, object> bar = |
+Generated Location: (1500:45,2 [35] )
+|
+ Func<dynamic, object> bar = |
+
+Source Location: (420:16,44 [4] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml)
+|item|
+Generated Location: (1768:52,44 [4] )
+|item|
+
+Source Location: (435:16,59 [7] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml)
+|;
+ |
+Generated Location: (1981:59,59 [7] )
+|;
+ |
+
+Source Location: (443:17,5 [14] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml)
+|bar("myclass")|
+Generated Location: (2113:65,6 [14] )
+|bar("myclass")|
+
+Source Location: (457:17,19 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml)
+|
+|
+Generated Location: (2192:69,31 [2] )
+|
+|
+
+Source Location: (472:21,2 [11] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml)
+|Repeat(10, |
+Generated Location: (2288:72,6 [11] )
+|Repeat(10, |
+
+Source Location: (495:21,25 [4] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml)
+|item|
+Generated Location: (2468:74,25 [4] )
+|item|
+
+Source Location: (504:21,34 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml)
+|)|
+Generated Location: (2510:79,1 [1] )
+|)|
+
+Source Location: (523:25,1 [16] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml)
+|Repeat(10,
+ |
+Generated Location: (2637:84,6 [16] )
+|Repeat(10,
+ |
+
+Source Location: (556:26,21 [4] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml)
+|item|
+Generated Location: (2818:87,21 [4] )
+|item|
+
+Source Location: (577:27,0 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml)
+|)|
+Generated Location: (2860:92,1 [1] )
+|)|
+
+Source Location: (594:31,1 [16] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml)
+|Repeat(10,
+ |
+Generated Location: (2987:97,6 [16] )
+|Repeat(10,
+ |
+
+Source Location: (628:32,22 [4] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml)
+|item|
+Generated Location: (3169:100,22 [4] )
+|item|
+
+Source Location: (650:33,0 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml)
+|)|
+Generated Location: (3211:105,1 [1] )
+|)|
+
+Source Location: (667:37,1 [16] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml)
+|Repeat(10,
+ |
+Generated Location: (3338:110,6 [16] )
+|Repeat(10,
+ |
+
+Source Location: (702:38,23 [4] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml)
+|item|
+Generated Location: (3521:113,23 [4] )
+|item|
+
+Source Location: (724:39,0 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml)
+|)|
+Generated Location: (3563:118,1 [1] )
+|)|
+
+Source Location: (748:44,5 [11] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml)
+|Repeat(10, |
+Generated Location: (3690:123,6 [11] )
+|Repeat(10, |
+
+Source Location: (781:45,15 [4] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml)
+|item|
+Generated Location: (3860:125,15 [4] )
+|item|
+
+Source Location: (797:46,10 [18] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml)
+|var parent = item;|
+Generated Location: (3994:130,10 [18] )
+|var parent = item;|
+
+Source Location: (956:51,9 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml)
+|)|
+Generated Location: (4049:135,1 [1] )
+|)|
+
+Source Location: (12:0,12 [265] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml)
+|
+ public HelperResult Repeat(int times, Func<int, object> template) {
+ return new HelperResult((writer) => {
+ for(int i = 0; i < times; i++) {
+ ((HelperResult)template(i)).WriteTo(writer);
+ }
+ });
+ }
+|
+Generated Location: (4230:142,12 [265] )
+|
+ public HelperResult Repeat(int times, Func<int, object> template) {
+ return new HelperResult((writer) => {
+ for(int i = 0; i < times; i++) {
+ ((HelperResult)template(i)).WriteTo(writer);
+ }
+ });
+ }
+|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates_Runtime.codegen.cs
new file mode 100644
index 0000000000..050a2efb18
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates_Runtime.codegen.cs
@@ -0,0 +1,188 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "488aa2f21a6d3e3c761871ec0bf2f295695db71a"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Templates_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"488aa2f21a6d3e3c761871ec0bf2f295695db71a", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Templates_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("\r\n");
+#line 11 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+
+ Func<dynamic, object> foo =
+
+#line default
+#line hidden
+ item => new Template(async(__razor_template_writer) => {
+ PushWriter(__razor_template_writer);
+ WriteLiteral("This works ");
+#line 12 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+ Write(item);
+
+#line default
+#line hidden
+ WriteLiteral("!");
+ PopWriter();
+ }
+ )
+#line 12 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+ ;
+
+
+#line default
+#line hidden
+#line 13 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+Write(foo(""));
+
+#line default
+#line hidden
+ WriteLiteral("\r\n");
+#line 16 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+
+ Func<dynamic, object> bar =
+
+#line default
+#line hidden
+ item => new Template(async(__razor_template_writer) => {
+ PushWriter(__razor_template_writer);
+ WriteLiteral("<p");
+ BeginWriteAttribute("class", " class=\"", 411, "\"", 424, 1);
+#line 17 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+WriteAttributeValue("", 419, item, 419, 5, false);
+
+#line default
+#line hidden
+ EndWriteAttribute();
+ WriteLiteral(">Hello</p>");
+ PopWriter();
+ }
+ )
+#line 17 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+ ;
+
+
+#line default
+#line hidden
+#line 18 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+Write(bar("myclass"));
+
+#line default
+#line hidden
+ WriteLiteral("\r\n<ul>\r\n");
+#line 22 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+Write(Repeat(10, item => new Template(async(__razor_template_writer) => {
+ PushWriter(__razor_template_writer);
+ WriteLiteral("<li>Item #");
+#line 22 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+ Write(item);
+
+#line default
+#line hidden
+ WriteLiteral("</li>");
+ PopWriter();
+}
+)));
+
+#line default
+#line hidden
+ WriteLiteral("\r\n</ul>\r\n\r\n<p>\r\n");
+#line 26 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+Write(Repeat(10,
+ item => new Template(async(__razor_template_writer) => {
+ PushWriter(__razor_template_writer);
+ WriteLiteral(" This is line#");
+#line 27 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+ Write(item);
+
+#line default
+#line hidden
+ WriteLiteral(" of markup<br/>\r\n");
+ PopWriter();
+}
+)));
+
+#line default
+#line hidden
+ WriteLiteral("\r\n</p>\r\n\r\n<p>\r\n");
+#line 32 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+Write(Repeat(10,
+ item => new Template(async(__razor_template_writer) => {
+ PushWriter(__razor_template_writer);
+ WriteLiteral(": This is line#");
+#line 33 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+ Write(item);
+
+#line default
+#line hidden
+ WriteLiteral(" of markup<br />\r\n");
+ PopWriter();
+}
+)));
+
+#line default
+#line hidden
+ WriteLiteral("\r\n</p>\r\n\r\n<p>\r\n");
+#line 38 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+Write(Repeat(10,
+ item => new Template(async(__razor_template_writer) => {
+ PushWriter(__razor_template_writer);
+ WriteLiteral(":: This is line#");
+#line 39 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+ Write(item);
+
+#line default
+#line hidden
+ WriteLiteral(" of markup<br />\r\n");
+ PopWriter();
+}
+)));
+
+#line default
+#line hidden
+ WriteLiteral("\r\n</p>\r\n\r\n\r\n<ul>\r\n ");
+#line 45 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+Write(Repeat(10, item => new Template(async(__razor_template_writer) => {
+ PushWriter(__razor_template_writer);
+ WriteLiteral("<li>\r\n Item #");
+#line 46 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+ Write(item);
+
+#line default
+#line hidden
+ WriteLiteral("\r\n");
+#line 47 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+ var parent = item;
+
+#line default
+#line hidden
+ WriteLiteral(" <ul>\r\n <li>Child Items... ?</li>\r\n");
+ WriteLiteral(" </ul>\r\n </li>");
+ PopWriter();
+}
+)));
+
+#line default
+#line hidden
+ WriteLiteral("\r\n</ul> ");
+ }
+ #pragma warning restore 1998
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates.cshtml"
+
+ public HelperResult Repeat(int times, Func<int, object> template) {
+ return new HelperResult((writer) => {
+ for(int i = 0; i < times; i++) {
+ ((HelperResult)template(i)).WriteTo(writer);
+ }
+ });
+ }
+
+#line default
+#line hidden
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates_Runtime.ir.txt
new file mode 100644
index 0000000000..4416a51d48
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Templates_Runtime.ir.txt
@@ -0,0 +1,147 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Templates_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (280:9,0 [2] Templates.cshtml)
+ IntermediateToken - (280:9,0 [2] Templates.cshtml) - Html - \n
+ CSharpCode - (284:10,2 [34] Templates.cshtml)
+ IntermediateToken - (284:10,2 [34] Templates.cshtml) - CSharp - \n Func<dynamic, object> foo =
+ Template - (325:11,39 [16] Templates.cshtml)
+ HtmlContent - (325:11,39 [11] Templates.cshtml)
+ IntermediateToken - (325:11,39 [11] Templates.cshtml) - Html - This works
+ CSharpExpression - (337:11,51 [4] Templates.cshtml)
+ IntermediateToken - (337:11,51 [4] Templates.cshtml) - CSharp - item
+ HtmlContent - (341:11,55 [1] Templates.cshtml)
+ IntermediateToken - (341:11,55 [1] Templates.cshtml) - Html - !
+ CSharpCode - (349:11,63 [7] Templates.cshtml)
+ IntermediateToken - (349:11,63 [7] Templates.cshtml) - CSharp - ;\n
+ CSharpExpression - (357:12,5 [7] Templates.cshtml)
+ IntermediateToken - (357:12,5 [7] Templates.cshtml) - CSharp - foo("")
+ CSharpCode - (364:12,12 [2] Templates.cshtml)
+ IntermediateToken - (364:12,12 [2] Templates.cshtml) - CSharp - \n
+ HtmlContent - (369:14,0 [2] Templates.cshtml)
+ IntermediateToken - (369:14,0 [2] Templates.cshtml) - Html - \n
+ CSharpCode - (373:15,2 [35] Templates.cshtml)
+ IntermediateToken - (373:15,2 [35] Templates.cshtml) - CSharp - \n Func<dynamic, object> bar =
+ Template - (409:16,33 [26] Templates.cshtml)
+ HtmlContent - (409:16,33 [2] Templates.cshtml)
+ IntermediateToken - (409:16,33 [2] Templates.cshtml) - Html - <p
+ HtmlAttribute - (411:16,35 [14] Templates.cshtml) - class=" - "
+ CSharpExpressionAttributeValue - (419:16,43 [5] Templates.cshtml) -
+ IntermediateToken - (420:16,44 [4] Templates.cshtml) - CSharp - item
+ HtmlContent - (425:16,49 [10] Templates.cshtml)
+ IntermediateToken - (425:16,49 [1] Templates.cshtml) - Html - >
+ IntermediateToken - (426:16,50 [5] Templates.cshtml) - Html - Hello
+ IntermediateToken - (431:16,55 [4] Templates.cshtml) - Html - </p>
+ CSharpCode - (435:16,59 [7] Templates.cshtml)
+ IntermediateToken - (435:16,59 [7] Templates.cshtml) - CSharp - ;\n
+ CSharpExpression - (443:17,5 [14] Templates.cshtml)
+ IntermediateToken - (443:17,5 [14] Templates.cshtml) - CSharp - bar("myclass")
+ CSharpCode - (457:17,19 [2] Templates.cshtml)
+ IntermediateToken - (457:17,19 [2] Templates.cshtml) - CSharp - \n
+ HtmlContent - (462:19,0 [8] Templates.cshtml)
+ IntermediateToken - (462:19,0 [2] Templates.cshtml) - Html - \n
+ IntermediateToken - (464:20,0 [4] Templates.cshtml) - Html - <ul>
+ IntermediateToken - (468:20,4 [2] Templates.cshtml) - Html - \n
+ CSharpExpression - (472:21,2 [31] Templates.cshtml)
+ IntermediateToken - (472:21,2 [11] Templates.cshtml) - CSharp - Repeat(10,
+ Template - (484:21,14 [19] Templates.cshtml)
+ HtmlContent - (484:21,14 [10] Templates.cshtml)
+ IntermediateToken - (484:21,14 [4] Templates.cshtml) - Html - <li>
+ IntermediateToken - (488:21,18 [6] Templates.cshtml) - Html - Item #
+ CSharpExpression - (495:21,25 [4] Templates.cshtml)
+ IntermediateToken - (495:21,25 [4] Templates.cshtml) - CSharp - item
+ HtmlContent - (499:21,29 [5] Templates.cshtml)
+ IntermediateToken - (499:21,29 [5] Templates.cshtml) - Html - </li>
+ IntermediateToken - (504:21,34 [1] Templates.cshtml) - CSharp - )
+ HtmlContent - (506:21,36 [16] Templates.cshtml)
+ IntermediateToken - (506:21,36 [2] Templates.cshtml) - Html - \n
+ IntermediateToken - (508:22,0 [5] Templates.cshtml) - Html - </ul>
+ IntermediateToken - (513:22,5 [4] Templates.cshtml) - Html - \n\n
+ IntermediateToken - (517:24,0 [3] Templates.cshtml) - Html - <p>
+ IntermediateToken - (520:24,3 [2] Templates.cshtml) - Html - \n
+ CSharpExpression - (523:25,1 [52] Templates.cshtml)
+ IntermediateToken - (523:25,1 [16] Templates.cshtml) - CSharp - Repeat(10,\n
+ Template - (541:26,6 [35] Templates.cshtml)
+ HtmlContent - (541:26,6 [14] Templates.cshtml)
+ IntermediateToken - (541:26,6 [14] Templates.cshtml) - Html - This is line#
+ CSharpExpression - (556:26,21 [4] Templates.cshtml)
+ IntermediateToken - (556:26,21 [4] Templates.cshtml) - CSharp - item
+ HtmlContent - (560:26,25 [17] Templates.cshtml)
+ IntermediateToken - (560:26,25 [17] Templates.cshtml) - Html - of markup<br/>\n
+ IntermediateToken - (577:27,0 [1] Templates.cshtml) - CSharp - )
+ HtmlContent - (578:27,1 [15] Templates.cshtml)
+ IntermediateToken - (578:27,1 [2] Templates.cshtml) - Html - \n
+ IntermediateToken - (580:28,0 [4] Templates.cshtml) - Html - </p>
+ IntermediateToken - (584:28,4 [4] Templates.cshtml) - Html - \n\n
+ IntermediateToken - (588:30,0 [3] Templates.cshtml) - Html - <p>
+ IntermediateToken - (591:30,3 [2] Templates.cshtml) - Html - \n
+ CSharpExpression - (594:31,1 [54] Templates.cshtml)
+ IntermediateToken - (594:31,1 [16] Templates.cshtml) - CSharp - Repeat(10,\n
+ Template - (612:32,6 [37] Templates.cshtml)
+ HtmlContent - (612:32,6 [15] Templates.cshtml)
+ IntermediateToken - (612:32,6 [15] Templates.cshtml) - Html - : This is line#
+ CSharpExpression - (628:32,22 [4] Templates.cshtml)
+ IntermediateToken - (628:32,22 [4] Templates.cshtml) - CSharp - item
+ HtmlContent - (632:32,26 [18] Templates.cshtml)
+ IntermediateToken - (632:32,26 [18] Templates.cshtml) - Html - of markup<br />\n
+ IntermediateToken - (650:33,0 [1] Templates.cshtml) - CSharp - )
+ HtmlContent - (651:33,1 [15] Templates.cshtml)
+ IntermediateToken - (651:33,1 [2] Templates.cshtml) - Html - \n
+ IntermediateToken - (653:34,0 [4] Templates.cshtml) - Html - </p>
+ IntermediateToken - (657:34,4 [4] Templates.cshtml) - Html - \n\n
+ IntermediateToken - (661:36,0 [3] Templates.cshtml) - Html - <p>
+ IntermediateToken - (664:36,3 [2] Templates.cshtml) - Html - \n
+ CSharpExpression - (667:37,1 [55] Templates.cshtml)
+ IntermediateToken - (667:37,1 [16] Templates.cshtml) - CSharp - Repeat(10,\n
+ Template - (685:38,6 [38] Templates.cshtml)
+ HtmlContent - (685:38,6 [16] Templates.cshtml)
+ IntermediateToken - (685:38,6 [16] Templates.cshtml) - Html - :: This is line#
+ CSharpExpression - (702:38,23 [4] Templates.cshtml)
+ IntermediateToken - (702:38,23 [4] Templates.cshtml) - CSharp - item
+ HtmlContent - (706:38,27 [18] Templates.cshtml)
+ IntermediateToken - (706:38,27 [18] Templates.cshtml) - Html - of markup<br />\n
+ IntermediateToken - (724:39,0 [1] Templates.cshtml) - CSharp - )
+ HtmlContent - (725:39,1 [22] Templates.cshtml)
+ IntermediateToken - (725:39,1 [2] Templates.cshtml) - Html - \n
+ IntermediateToken - (727:40,0 [4] Templates.cshtml) - Html - </p>
+ IntermediateToken - (731:40,4 [6] Templates.cshtml) - Html - \n\n\n
+ IntermediateToken - (737:43,0 [4] Templates.cshtml) - Html - <ul>
+ IntermediateToken - (741:43,4 [2] Templates.cshtml) - Html - \n
+ IntermediateToken - (743:44,0 [4] Templates.cshtml) - Html -
+ CSharpExpression - (748:44,5 [141] Templates.cshtml)
+ IntermediateToken - (748:44,5 [11] Templates.cshtml) - CSharp - Repeat(10,
+ Template - (760:44,17 [129] Templates.cshtml)
+ HtmlContent - (760:44,17 [20] Templates.cshtml)
+ IntermediateToken - (760:44,17 [4] Templates.cshtml) - Html - <li>
+ IntermediateToken - (764:44,21 [16] Templates.cshtml) - Html - \n Item #
+ CSharpExpression - (781:45,15 [4] Templates.cshtml)
+ IntermediateToken - (781:45,15 [4] Templates.cshtml) - CSharp - item
+ HtmlContent - (785:45,19 [2] Templates.cshtml)
+ IntermediateToken - (785:45,19 [2] Templates.cshtml) - Html - \n
+ CSharpCode - (787:46,0 [8] Templates.cshtml)
+ IntermediateToken - (787:46,0 [8] Templates.cshtml) - CSharp -
+ CSharpCode - (797:46,10 [18] Templates.cshtml)
+ IntermediateToken - (797:46,10 [18] Templates.cshtml) - CSharp - var parent = item;
+ HtmlContent - (818:47,0 [53] Templates.cshtml)
+ IntermediateToken - (818:47,0 [8] Templates.cshtml) - Html -
+ IntermediateToken - (826:47,8 [4] Templates.cshtml) - Html - <ul>
+ IntermediateToken - (830:47,12 [14] Templates.cshtml) - Html - \n
+ IntermediateToken - (844:48,12 [4] Templates.cshtml) - Html - <li>
+ IntermediateToken - (848:48,16 [16] Templates.cshtml) - Html - Child Items... ?
+ IntermediateToken - (864:48,32 [5] Templates.cshtml) - Html - </li>
+ IntermediateToken - (869:48,37 [2] Templates.cshtml) - Html - \n
+ HtmlContent - (932:50,0 [24] Templates.cshtml)
+ IntermediateToken - (932:50,0 [8] Templates.cshtml) - Html -
+ IntermediateToken - (940:50,8 [5] Templates.cshtml) - Html - </ul>
+ IntermediateToken - (945:50,13 [6] Templates.cshtml) - Html - \n
+ IntermediateToken - (951:51,4 [5] Templates.cshtml) - Html - </li>
+ IntermediateToken - (956:51,9 [1] Templates.cshtml) - CSharp - )
+ HtmlContent - (957:51,10 [8] Templates.cshtml)
+ IntermediateToken - (957:51,10 [2] Templates.cshtml) - Html - \n
+ IntermediateToken - (959:52,0 [5] Templates.cshtml) - Html - </ul>
+ IntermediateToken - (964:52,5 [1] Templates.cshtml) - Html -
+ CSharpCode - (12:0,12 [265] Templates.cshtml)
+ IntermediateToken - (12:0,12 [265] Templates.cshtml) - CSharp - \n public HelperResult Repeat(int times, Func<int, object> template) {\n return new HelperResult((writer) => {\n for(int i = 0; i < times; i++) {\n ((HelperResult)template(i)).WriteTo(writer);\n }\n });\n }\n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml
new file mode 100644
index 0000000000..b73f2c01fa
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml
@@ -0,0 +1,12 @@
+@addTagHelper "*, TestAssembly"
+@{
+ var @class = "container-fluid";
+ var @int = 1;
+}
+
+<p class="@class" age="1337">Body of Tag</p>
+<p class="@(@class)" age="42"></p>
+<p class="test" age="42 + @int"></p>
+<p class="test" age="@int"></p>
+<p class="test" age="@(@int)"></p>
+<p class="custom-@(@class)" age="4 * @(@int + 2)"></p>
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes_DesignTime.codegen.cs
new file mode 100644
index 0000000000..f4215d9483
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes_DesignTime.codegen.cs
@@ -0,0 +1,80 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_TransitionsInTagHelperAttributes_DesignTime
+ {
+ private global::TestNamespace.PTagHelper __TestNamespace_PTagHelper;
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+global::System.Object __typeHelper = "*, TestAssembly";
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml"
+
+ var @class = "container-fluid";
+ var @int = 1;
+
+#line default
+#line hidden
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+#line 7 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml"
+__TestNamespace_PTagHelper.Age = 1337;
+
+#line default
+#line hidden
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+#line 8 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml"
+ __o = @class;
+
+#line default
+#line hidden
+#line 8 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml"
+__TestNamespace_PTagHelper.Age = 42;
+
+#line default
+#line hidden
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml"
+__TestNamespace_PTagHelper.Age = 42 + @int;
+
+#line default
+#line hidden
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml"
+__TestNamespace_PTagHelper.Age = int;
+
+#line default
+#line hidden
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+#line 11 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml"
+__TestNamespace_PTagHelper.Age = (@int);
+
+#line default
+#line hidden
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+#line 12 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml"
+ __o = @class;
+
+#line default
+#line hidden
+#line 12 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml"
+__TestNamespace_PTagHelper.Age = 4 * @(@int + 2);
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes_DesignTime.diagnostics.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes_DesignTime.diagnostics.txt
new file mode 100644
index 0000000000..cc0379e358
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes_DesignTime.diagnostics.txt
@@ -0,0 +1 @@
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml(7,12): Error RZ1007: "class" is a reserved word and cannot be used in implicit expressions. An explicit expression ("@()") must be used.
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes_DesignTime.ir.txt
new file mode 100644
index 0000000000..e0dcc96a1c
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes_DesignTime.ir.txt
@@ -0,0 +1,105 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_TransitionsInTagHelperAttributes_DesignTime - -
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.PTagHelper - __TestNamespace_PTagHelper
+ DesignTimeDirective -
+ DirectiveToken - (14:0,14 [17] TransitionsInTagHelperAttributes.cshtml) - "*, TestAssembly"
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (31:0,31 [2] TransitionsInTagHelperAttributes.cshtml)
+ IntermediateToken - (31:0,31 [2] TransitionsInTagHelperAttributes.cshtml) - Html - \n
+ CSharpCode - (35:1,2 [59] TransitionsInTagHelperAttributes.cshtml)
+ IntermediateToken - (35:1,2 [59] TransitionsInTagHelperAttributes.cshtml) - CSharp - \n var @class = "container-fluid";\n var @int = 1;\n
+ HtmlContent - (97:5,0 [2] TransitionsInTagHelperAttributes.cshtml)
+ IntermediateToken - (97:5,0 [2] TransitionsInTagHelperAttributes.cshtml) - Html - \n
+ TagHelper - (99:6,0 [44] TransitionsInTagHelperAttributes.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (128:6,29 [11] TransitionsInTagHelperAttributes.cshtml)
+ IntermediateToken - (128:6,29 [11] TransitionsInTagHelperAttributes.cshtml) - Html - Body of Tag
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperHtmlAttribute - - class - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpCodeAttributeValue - (109:6,10 [6] TransitionsInTagHelperAttributes.cshtml) -
+ DefaultTagHelperProperty - (122:6,23 [4] TransitionsInTagHelperAttributes.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (122:6,23 [4] TransitionsInTagHelperAttributes.cshtml) - CSharp - 1337
+ DefaultTagHelperExecute -
+ HtmlContent - (143:6,44 [2] TransitionsInTagHelperAttributes.cshtml)
+ IntermediateToken - (143:6,44 [2] TransitionsInTagHelperAttributes.cshtml) - Html - \n
+ TagHelper - (145:7,0 [34] TransitionsInTagHelperAttributes.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperHtmlAttribute - - class - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpressionAttributeValue - (155:7,10 [9] TransitionsInTagHelperAttributes.cshtml) -
+ IntermediateToken - (157:7,12 [6] TransitionsInTagHelperAttributes.cshtml) - CSharp - @class
+ DefaultTagHelperProperty - (171:7,26 [2] TransitionsInTagHelperAttributes.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (171:7,26 [2] TransitionsInTagHelperAttributes.cshtml) - CSharp - 42
+ DefaultTagHelperExecute -
+ HtmlContent - (179:7,34 [2] TransitionsInTagHelperAttributes.cshtml)
+ IntermediateToken - (179:7,34 [2] TransitionsInTagHelperAttributes.cshtml) - Html - \n
+ TagHelper - (181:8,0 [36] TransitionsInTagHelperAttributes.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperHtmlAttribute - - class - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (191:8,10 [4] TransitionsInTagHelperAttributes.cshtml)
+ IntermediateToken - (191:8,10 [4] TransitionsInTagHelperAttributes.cshtml) - Html - test
+ DefaultTagHelperProperty - (202:8,21 [9] TransitionsInTagHelperAttributes.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (202:8,21 [2] TransitionsInTagHelperAttributes.cshtml) - CSharp - 42
+ IntermediateToken - (204:8,23 [2] TransitionsInTagHelperAttributes.cshtml) - CSharp - +
+ IntermediateToken - (206:8,25 [1] TransitionsInTagHelperAttributes.cshtml) - CSharp -
+ CSharpExpression - (207:8,26 [4] TransitionsInTagHelperAttributes.cshtml)
+ IntermediateToken - (207:8,26 [1] TransitionsInTagHelperAttributes.cshtml) - CSharp - @
+ IntermediateToken - (208:8,27 [3] TransitionsInTagHelperAttributes.cshtml) - CSharp - int
+ DefaultTagHelperExecute -
+ HtmlContent - (217:8,36 [2] TransitionsInTagHelperAttributes.cshtml)
+ IntermediateToken - (217:8,36 [2] TransitionsInTagHelperAttributes.cshtml) - Html - \n
+ TagHelper - (219:9,0 [31] TransitionsInTagHelperAttributes.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperHtmlAttribute - - class - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (229:9,10 [4] TransitionsInTagHelperAttributes.cshtml)
+ IntermediateToken - (229:9,10 [4] TransitionsInTagHelperAttributes.cshtml) - Html - test
+ DefaultTagHelperProperty - (240:9,21 [4] TransitionsInTagHelperAttributes.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (241:9,22 [3] TransitionsInTagHelperAttributes.cshtml)
+ IntermediateToken - (241:9,22 [3] TransitionsInTagHelperAttributes.cshtml) - CSharp - int
+ DefaultTagHelperExecute -
+ HtmlContent - (250:9,31 [2] TransitionsInTagHelperAttributes.cshtml)
+ IntermediateToken - (250:9,31 [2] TransitionsInTagHelperAttributes.cshtml) - Html - \n
+ TagHelper - (252:10,0 [34] TransitionsInTagHelperAttributes.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperHtmlAttribute - - class - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlContent - (262:10,10 [4] TransitionsInTagHelperAttributes.cshtml)
+ IntermediateToken - (262:10,10 [4] TransitionsInTagHelperAttributes.cshtml) - Html - test
+ DefaultTagHelperProperty - (273:10,21 [7] TransitionsInTagHelperAttributes.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (274:10,22 [6] TransitionsInTagHelperAttributes.cshtml)
+ IntermediateToken - (274:10,22 [1] TransitionsInTagHelperAttributes.cshtml) - CSharp - (
+ IntermediateToken - (275:10,23 [4] TransitionsInTagHelperAttributes.cshtml) - CSharp - @int
+ IntermediateToken - (279:10,27 [1] TransitionsInTagHelperAttributes.cshtml) - CSharp - )
+ DefaultTagHelperExecute -
+ HtmlContent - (286:10,34 [2] TransitionsInTagHelperAttributes.cshtml)
+ IntermediateToken - (286:10,34 [2] TransitionsInTagHelperAttributes.cshtml) - Html - \n
+ TagHelper - (288:11,0 [54] TransitionsInTagHelperAttributes.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperHtmlAttribute - - class - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlAttributeValue - (298:11,10 [7] TransitionsInTagHelperAttributes.cshtml) -
+ IntermediateToken - (298:11,10 [7] TransitionsInTagHelperAttributes.cshtml) - Html - custom-
+ CSharpExpressionAttributeValue - (305:11,17 [9] TransitionsInTagHelperAttributes.cshtml) -
+ IntermediateToken - (307:11,19 [6] TransitionsInTagHelperAttributes.cshtml) - CSharp - @class
+ DefaultTagHelperProperty - (321:11,33 [15] TransitionsInTagHelperAttributes.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (321:11,33 [1] TransitionsInTagHelperAttributes.cshtml) - CSharp - 4
+ IntermediateToken - (322:11,34 [2] TransitionsInTagHelperAttributes.cshtml) - CSharp - *
+ IntermediateToken - (324:11,36 [1] TransitionsInTagHelperAttributes.cshtml) - CSharp -
+ CSharpExpression - (325:11,37 [11] TransitionsInTagHelperAttributes.cshtml)
+ IntermediateToken - (325:11,37 [1] TransitionsInTagHelperAttributes.cshtml) - CSharp - @
+ IntermediateToken - (326:11,38 [1] TransitionsInTagHelperAttributes.cshtml) - CSharp - (
+ IntermediateToken - (327:11,39 [8] TransitionsInTagHelperAttributes.cshtml) - CSharp - @int + 2
+ IntermediateToken - (335:11,47 [1] TransitionsInTagHelperAttributes.cshtml) - CSharp - )
+ DefaultTagHelperExecute -
+ HtmlContent - (342:11,54 [2] TransitionsInTagHelperAttributes.cshtml)
+ IntermediateToken - (342:11,54 [2] TransitionsInTagHelperAttributes.cshtml) - Html - \n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes_DesignTime.mappings.txt
new file mode 100644
index 0000000000..8a511b7839
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes_DesignTime.mappings.txt
@@ -0,0 +1,116 @@
+Source Location: (14:0,14 [17] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml)
+|"*, TestAssembly"|
+Generated Location: (516:11,37 [17] )
+|"*, TestAssembly"|
+
+Source Location: (35:1,2 [59] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml)
+|
+ var @class = "container-fluid";
+ var @int = 1;
+|
+Generated Location: (960:23,2 [59] )
+|
+ var @class = "container-fluid";
+ var @int = 1;
+|
+
+Source Location: (122:6,23 [4] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml)
+|1337|
+Generated Location: (1286:31,33 [4] )
+|1337|
+
+Source Location: (157:7,12 [6] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml)
+|@class|
+Generated Location: (1539:37,12 [6] )
+|@class|
+
+Source Location: (171:7,26 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml)
+|42|
+Generated Location: (1720:42,33 [2] )
+|42|
+
+Source Location: (202:8,21 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml)
+|42|
+Generated Location: (1992:48,33 [2] )
+|42|
+
+Source Location: (204:8,23 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml)
+| +|
+Generated Location: (1994:48,35 [2] )
+| +|
+
+Source Location: (206:8,25 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml)
+| |
+Generated Location: (1996:48,37 [1] )
+| |
+
+Source Location: (207:8,26 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml)
+|@|
+Generated Location: (1997:48,38 [1] )
+|@|
+
+Source Location: (208:8,27 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml)
+|int|
+Generated Location: (1998:48,39 [3] )
+|int|
+
+Source Location: (241:9,22 [3] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml)
+|int|
+Generated Location: (2272:54,33 [3] )
+|int|
+
+Source Location: (274:10,22 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml)
+|(|
+Generated Location: (2546:60,33 [1] )
+|(|
+
+Source Location: (275:10,23 [4] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml)
+|@int|
+Generated Location: (2547:60,34 [4] )
+|@int|
+
+Source Location: (279:10,27 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml)
+|)|
+Generated Location: (2551:60,38 [1] )
+|)|
+
+Source Location: (307:11,19 [6] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml)
+|@class|
+Generated Location: (2809:66,19 [6] )
+|@class|
+
+Source Location: (321:11,33 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml)
+|4|
+Generated Location: (2991:71,33 [1] )
+|4|
+
+Source Location: (322:11,34 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml)
+| *|
+Generated Location: (2992:71,34 [2] )
+| *|
+
+Source Location: (324:11,36 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml)
+| |
+Generated Location: (2994:71,36 [1] )
+| |
+
+Source Location: (325:11,37 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml)
+|@|
+Generated Location: (2995:71,37 [1] )
+|@|
+
+Source Location: (326:11,38 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml)
+|(|
+Generated Location: (2996:71,38 [1] )
+|(|
+
+Source Location: (327:11,39 [8] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml)
+|@int + 2|
+Generated Location: (2997:71,39 [8] )
+|@int + 2|
+
+Source Location: (335:11,47 [1] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml)
+|)|
+Generated Location: (3005:71,47 [1] )
+|)|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes_Runtime.codegen.cs
new file mode 100644
index 0000000000..998715b478
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes_Runtime.codegen.cs
@@ -0,0 +1,186 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "f9794a93d1ce05bf71080dc33a3e83b16dbce225"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_TransitionsInTagHelperAttributes_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"f9794a93d1ce05bf71080dc33a3e83b16dbce225", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_TransitionsInTagHelperAttributes_Runtime
+ {
+ private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("class", new global::Microsoft.AspNetCore.Html.HtmlString("test"), global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ #line hidden
+ #pragma warning disable 0169
+ private string __tagHelperStringValueBuffer;
+ #pragma warning restore 0169
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperExecutionContext __tagHelperExecutionContext;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner __tagHelperRunner = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperRunner();
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __backed__tagHelperScopeManager = null;
+ private global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager __tagHelperScopeManager
+ {
+ get
+ {
+ if (__backed__tagHelperScopeManager == null)
+ {
+ __backed__tagHelperScopeManager = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelpers.TagHelperScopeManager(StartTagHelperWritingScope, EndTagHelperWritingScope);
+ }
+ return __backed__tagHelperScopeManager;
+ }
+ }
+ private global::TestNamespace.PTagHelper __TestNamespace_PTagHelper;
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml"
+
+ var @class = "container-fluid";
+ var @int = 1;
+
+#line default
+#line hidden
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("p", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ WriteLiteral("Body of Tag");
+ }
+ );
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_PTagHelper);
+ BeginAddHtmlAttributeValues(__tagHelperExecutionContext, "class", 1, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ AddHtmlAttributeValue("", 109, new Microsoft.AspNetCore.Mvc.Razor.HelperResult(async(__razor_attribute_value_writer) => {
+ PushWriter(__razor_attribute_value_writer);
+ PopWriter();
+ }
+ ), 109, 6, false);
+ EndAddHtmlAttributeValues(__tagHelperExecutionContext);
+#line 7 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml"
+__TestNamespace_PTagHelper.Age = 1337;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("age", __TestNamespace_PTagHelper.Age, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("p", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ }
+ );
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_PTagHelper);
+ BeginAddHtmlAttributeValues(__tagHelperExecutionContext, "class", 1, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+#line 8 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml"
+AddHtmlAttributeValue("", 155, @class, 155, 9, false);
+
+#line default
+#line hidden
+ EndAddHtmlAttributeValues(__tagHelperExecutionContext);
+#line 8 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml"
+__TestNamespace_PTagHelper.Age = 42;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("age", __TestNamespace_PTagHelper.Age, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("p", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ }
+ );
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_PTagHelper);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_0);
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml"
+__TestNamespace_PTagHelper.Age = 42 + @int;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("age", __TestNamespace_PTagHelper.Age, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("p", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ }
+ );
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_PTagHelper);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_0);
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml"
+__TestNamespace_PTagHelper.Age = int;
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("age", __TestNamespace_PTagHelper.Age, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("p", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ }
+ );
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_PTagHelper);
+ __tagHelperExecutionContext.AddHtmlAttribute(__tagHelperAttribute_0);
+#line 11 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml"
+__TestNamespace_PTagHelper.Age = (@int);
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("age", __TestNamespace_PTagHelper.Age, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n");
+ __tagHelperExecutionContext = __tagHelperScopeManager.Begin("p", global::Microsoft.AspNetCore.Razor.TagHelpers.TagMode.StartTagAndEndTag, "test", async() => {
+ }
+ );
+ __TestNamespace_PTagHelper = CreateTagHelper<global::TestNamespace.PTagHelper>();
+ __tagHelperExecutionContext.Add(__TestNamespace_PTagHelper);
+ BeginAddHtmlAttributeValues(__tagHelperExecutionContext, "class", 2, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ AddHtmlAttributeValue("", 298, "custom-", 298, 7, true);
+#line 12 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml"
+AddHtmlAttributeValue("", 305, @class, 305, 9, false);
+
+#line default
+#line hidden
+ EndAddHtmlAttributeValues(__tagHelperExecutionContext);
+#line 12 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml"
+__TestNamespace_PTagHelper.Age = 4 * @(@int + 2);
+
+#line default
+#line hidden
+ __tagHelperExecutionContext.AddTagHelperAttribute("age", __TestNamespace_PTagHelper.Age, global::Microsoft.AspNetCore.Razor.TagHelpers.HtmlAttributeValueStyle.DoubleQuotes);
+ await __tagHelperRunner.RunAsync(__tagHelperExecutionContext);
+ if (!__tagHelperExecutionContext.Output.IsContentModified)
+ {
+ await __tagHelperExecutionContext.SetOutputContentAsync();
+ }
+ Write(__tagHelperExecutionContext.Output);
+ __tagHelperExecutionContext = __tagHelperScopeManager.End();
+ WriteLiteral("\r\n");
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes_Runtime.diagnostics.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes_Runtime.diagnostics.txt
new file mode 100644
index 0000000000..cc0379e358
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes_Runtime.diagnostics.txt
@@ -0,0 +1 @@
+TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes.cshtml(7,12): Error RZ1007: "class" is a reserved word and cannot be used in implicit expressions. An explicit expression ("@()") must be used.
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes_Runtime.ir.txt
new file mode 100644
index 0000000000..6a6678ed86
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/TransitionsInTagHelperAttributes_Runtime.ir.txt
@@ -0,0 +1,92 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_TransitionsInTagHelperAttributes_Runtime - -
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_0 - class - test - HtmlAttributeValueStyle.DoubleQuotes
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::TestNamespace.PTagHelper - __TestNamespace_PTagHelper
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (35:1,2 [59] TransitionsInTagHelperAttributes.cshtml)
+ IntermediateToken - (35:1,2 [59] TransitionsInTagHelperAttributes.cshtml) - CSharp - \n var @class = "container-fluid";\n var @int = 1;\n
+ HtmlContent - (97:5,0 [2] TransitionsInTagHelperAttributes.cshtml)
+ IntermediateToken - (97:5,0 [2] TransitionsInTagHelperAttributes.cshtml) - Html - \n
+ TagHelper - (99:6,0 [44] TransitionsInTagHelperAttributes.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (128:6,29 [11] TransitionsInTagHelperAttributes.cshtml)
+ IntermediateToken - (128:6,29 [11] TransitionsInTagHelperAttributes.cshtml) - Html - Body of Tag
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperHtmlAttribute - - class - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpCodeAttributeValue - (109:6,10 [6] TransitionsInTagHelperAttributes.cshtml) -
+ DefaultTagHelperProperty - (122:6,23 [4] TransitionsInTagHelperAttributes.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (122:6,23 [4] TransitionsInTagHelperAttributes.cshtml) - CSharp - 1337
+ DefaultTagHelperExecute -
+ HtmlContent - (143:6,44 [2] TransitionsInTagHelperAttributes.cshtml)
+ IntermediateToken - (143:6,44 [2] TransitionsInTagHelperAttributes.cshtml) - Html - \n
+ TagHelper - (145:7,0 [34] TransitionsInTagHelperAttributes.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperHtmlAttribute - - class - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpressionAttributeValue - (155:7,10 [9] TransitionsInTagHelperAttributes.cshtml) -
+ IntermediateToken - (157:7,12 [6] TransitionsInTagHelperAttributes.cshtml) - CSharp - @class
+ DefaultTagHelperProperty - (171:7,26 [2] TransitionsInTagHelperAttributes.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (171:7,26 [2] TransitionsInTagHelperAttributes.cshtml) - CSharp - 42
+ DefaultTagHelperExecute -
+ HtmlContent - (179:7,34 [2] TransitionsInTagHelperAttributes.cshtml)
+ IntermediateToken - (179:7,34 [2] TransitionsInTagHelperAttributes.cshtml) - Html - \n
+ TagHelper - (181:8,0 [36] TransitionsInTagHelperAttributes.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_0
+ DefaultTagHelperProperty - (202:8,21 [9] TransitionsInTagHelperAttributes.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (202:8,21 [2] TransitionsInTagHelperAttributes.cshtml) - CSharp - 42
+ IntermediateToken - (204:8,23 [2] TransitionsInTagHelperAttributes.cshtml) - CSharp - +
+ IntermediateToken - (206:8,25 [1] TransitionsInTagHelperAttributes.cshtml) - CSharp -
+ CSharpExpression - (207:8,26 [4] TransitionsInTagHelperAttributes.cshtml)
+ IntermediateToken - (207:8,26 [1] TransitionsInTagHelperAttributes.cshtml) - CSharp - @
+ IntermediateToken - (208:8,27 [3] TransitionsInTagHelperAttributes.cshtml) - CSharp - int
+ DefaultTagHelperExecute -
+ HtmlContent - (217:8,36 [2] TransitionsInTagHelperAttributes.cshtml)
+ IntermediateToken - (217:8,36 [2] TransitionsInTagHelperAttributes.cshtml) - Html - \n
+ TagHelper - (219:9,0 [31] TransitionsInTagHelperAttributes.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_0
+ DefaultTagHelperProperty - (240:9,21 [4] TransitionsInTagHelperAttributes.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (241:9,22 [3] TransitionsInTagHelperAttributes.cshtml)
+ IntermediateToken - (241:9,22 [3] TransitionsInTagHelperAttributes.cshtml) - CSharp - int
+ DefaultTagHelperExecute -
+ HtmlContent - (250:9,31 [2] TransitionsInTagHelperAttributes.cshtml)
+ IntermediateToken - (250:9,31 [2] TransitionsInTagHelperAttributes.cshtml) - Html - \n
+ TagHelper - (252:10,0 [34] TransitionsInTagHelperAttributes.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_0
+ DefaultTagHelperProperty - (273:10,21 [7] TransitionsInTagHelperAttributes.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (274:10,22 [6] TransitionsInTagHelperAttributes.cshtml)
+ IntermediateToken - (274:10,22 [1] TransitionsInTagHelperAttributes.cshtml) - CSharp - (
+ IntermediateToken - (275:10,23 [4] TransitionsInTagHelperAttributes.cshtml) - CSharp - @int
+ IntermediateToken - (279:10,27 [1] TransitionsInTagHelperAttributes.cshtml) - CSharp - )
+ DefaultTagHelperExecute -
+ HtmlContent - (286:10,34 [2] TransitionsInTagHelperAttributes.cshtml)
+ IntermediateToken - (286:10,34 [2] TransitionsInTagHelperAttributes.cshtml) - Html - \n
+ TagHelper - (288:11,0 [54] TransitionsInTagHelperAttributes.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - TestNamespace.PTagHelper
+ DefaultTagHelperHtmlAttribute - - class - HtmlAttributeValueStyle.DoubleQuotes
+ HtmlAttributeValue - (298:11,10 [7] TransitionsInTagHelperAttributes.cshtml) -
+ IntermediateToken - (298:11,10 [7] TransitionsInTagHelperAttributes.cshtml) - Html - custom-
+ CSharpExpressionAttributeValue - (305:11,17 [9] TransitionsInTagHelperAttributes.cshtml) -
+ IntermediateToken - (307:11,19 [6] TransitionsInTagHelperAttributes.cshtml) - CSharp - @class
+ DefaultTagHelperProperty - (321:11,33 [15] TransitionsInTagHelperAttributes.cshtml) - age - int TestNamespace.PTagHelper.Age - HtmlAttributeValueStyle.DoubleQuotes
+ IntermediateToken - (321:11,33 [1] TransitionsInTagHelperAttributes.cshtml) - CSharp - 4
+ IntermediateToken - (322:11,34 [2] TransitionsInTagHelperAttributes.cshtml) - CSharp - *
+ IntermediateToken - (324:11,36 [1] TransitionsInTagHelperAttributes.cshtml) - CSharp -
+ CSharpExpression - (325:11,37 [11] TransitionsInTagHelperAttributes.cshtml)
+ IntermediateToken - (325:11,37 [1] TransitionsInTagHelperAttributes.cshtml) - CSharp - @
+ IntermediateToken - (326:11,38 [1] TransitionsInTagHelperAttributes.cshtml) - CSharp - (
+ IntermediateToken - (327:11,39 [8] TransitionsInTagHelperAttributes.cshtml) - CSharp - @int + 2
+ IntermediateToken - (335:11,47 [1] TransitionsInTagHelperAttributes.cshtml) - CSharp - )
+ DefaultTagHelperExecute -
+ HtmlContent - (342:11,54 [2] TransitionsInTagHelperAttributes.cshtml)
+ IntermediateToken - (342:11,54 [2] TransitionsInTagHelperAttributes.cshtml) - Html - \n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/UnfinishedExpressionInCode.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/UnfinishedExpressionInCode.cshtml
new file mode 100644
index 0000000000..bf1d796466
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/UnfinishedExpressionInCode.cshtml
@@ -0,0 +1,3 @@
+@{
+@DateTime.
+} \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/UnfinishedExpressionInCode_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/UnfinishedExpressionInCode_DesignTime.codegen.cs
new file mode 100644
index 0000000000..dab1c558b9
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/UnfinishedExpressionInCode_DesignTime.codegen.cs
@@ -0,0 +1,31 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_UnfinishedExpressionInCode_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+
+
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/UnfinishedExpressionInCode.cshtml"
+__o = DateTime.;
+
+#line default
+#line hidden
+
+
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/UnfinishedExpressionInCode_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/UnfinishedExpressionInCode_DesignTime.ir.txt
new file mode 100644
index 0000000000..d74744737e
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/UnfinishedExpressionInCode_DesignTime.ir.txt
@@ -0,0 +1,17 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_UnfinishedExpressionInCode_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (2:0,2 [2] UnfinishedExpressionInCode.cshtml)
+ IntermediateToken - (2:0,2 [2] UnfinishedExpressionInCode.cshtml) - CSharp - \n
+ CSharpExpression - (5:1,1 [9] UnfinishedExpressionInCode.cshtml)
+ IntermediateToken - (5:1,1 [9] UnfinishedExpressionInCode.cshtml) - CSharp - DateTime.
+ CSharpCode - (14:1,10 [2] UnfinishedExpressionInCode.cshtml)
+ IntermediateToken - (14:1,10 [2] UnfinishedExpressionInCode.cshtml) - CSharp - \n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/UnfinishedExpressionInCode_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/UnfinishedExpressionInCode_DesignTime.mappings.txt
new file mode 100644
index 0000000000..df11ba8f84
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/UnfinishedExpressionInCode_DesignTime.mappings.txt
@@ -0,0 +1,19 @@
+Source Location: (2:0,2 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/UnfinishedExpressionInCode.cshtml)
+|
+|
+Generated Location: (663:17,14 [2] )
+|
+|
+
+Source Location: (5:1,1 [9] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/UnfinishedExpressionInCode.cshtml)
+|DateTime.|
+Generated Location: (775:20,6 [9] )
+|DateTime.|
+
+Source Location: (14:1,10 [2] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/UnfinishedExpressionInCode.cshtml)
+|
+|
+Generated Location: (840:24,22 [2] )
+|
+|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/UnfinishedExpressionInCode_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/UnfinishedExpressionInCode_Runtime.codegen.cs
new file mode 100644
index 0000000000..f7141f4123
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/UnfinishedExpressionInCode_Runtime.codegen.cs
@@ -0,0 +1,23 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/UnfinishedExpressionInCode.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "263a6264ce5a6790b4db8f6767ceefade6eaacba"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_UnfinishedExpressionInCode_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/UnfinishedExpressionInCode.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"263a6264ce5a6790b4db8f6767ceefade6eaacba", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/UnfinishedExpressionInCode.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_UnfinishedExpressionInCode_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/UnfinishedExpressionInCode.cshtml"
+Write(DateTime.);
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/UnfinishedExpressionInCode_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/UnfinishedExpressionInCode_Runtime.ir.txt
new file mode 100644
index 0000000000..a9958a1a62
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/UnfinishedExpressionInCode_Runtime.ir.txt
@@ -0,0 +1,12 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_UnfinishedExpressionInCode_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ CSharpCode - (2:0,2 [2] UnfinishedExpressionInCode.cshtml)
+ IntermediateToken - (2:0,2 [2] UnfinishedExpressionInCode.cshtml) - CSharp - \n
+ CSharpExpression - (5:1,1 [9] UnfinishedExpressionInCode.cshtml)
+ IntermediateToken - (5:1,1 [9] UnfinishedExpressionInCode.cshtml) - CSharp - DateTime.
+ CSharpCode - (14:1,10 [2] UnfinishedExpressionInCode.cshtml)
+ IntermediateToken - (14:1,10 [2] UnfinishedExpressionInCode.cshtml) - CSharp - \n
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings.cshtml
new file mode 100644
index 0000000000..90b2ae8222
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings.cshtml
@@ -0,0 +1,10 @@
+@using System.IO
+@using Foo = System.Text.Encoding
+@using System
+
+@using static System
+@using static System.Console
+@using static global::System.Text.Encoding
+
+<p>Path's full type name is @typeof(Path).FullName</p>
+<p>Foo's actual full type name is @typeof(Foo).FullName</p> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings_DesignTime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings_DesignTime.codegen.cs
new file mode 100644
index 0000000000..998ffa4d03
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings_DesignTime.codegen.cs
@@ -0,0 +1,62 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings.cshtml"
+using System.IO;
+
+#line default
+#line hidden
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings.cshtml"
+using Foo = System.Text.Encoding;
+
+#line default
+#line hidden
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings.cshtml"
+using System;
+
+#line default
+#line hidden
+#line 5 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings.cshtml"
+using static System;
+
+#line default
+#line hidden
+#line 6 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings.cshtml"
+using static System.Console;
+
+#line default
+#line hidden
+#line 7 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings.cshtml"
+using static global::System.Text.Encoding;
+
+#line default
+#line hidden
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Usings_DesignTime
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings.cshtml"
+ __o = typeof(Path).FullName;
+
+#line default
+#line hidden
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings.cshtml"
+ __o = typeof(Foo).FullName;
+
+#line default
+#line hidden
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings_DesignTime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings_DesignTime.ir.txt
new file mode 100644
index 0000000000..958e9517f5
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings_DesignTime.ir.txt
@@ -0,0 +1,42 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ UsingDirective - (1:0,1 [15] Usings.cshtml) - System.IO
+ UsingDirective - (19:1,1 [32] Usings.cshtml) - Foo = System.Text.Encoding
+ UsingDirective - (54:2,1 [12] Usings.cshtml) - System
+ UsingDirective - (71:4,1 [19] Usings.cshtml) - static System
+ UsingDirective - (93:5,1 [27] Usings.cshtml) - static System.Console
+ UsingDirective - (123:6,1 [41] Usings.cshtml) - static global::System.Text.Encoding
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Usings_DesignTime - -
+ DesignTimeDirective -
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (16:0,16 [2] Usings.cshtml)
+ IntermediateToken - (16:0,16 [2] Usings.cshtml) - Html - \n
+ HtmlContent - (51:1,33 [2] Usings.cshtml)
+ IntermediateToken - (51:1,33 [2] Usings.cshtml) - Html - \n
+ HtmlContent - (66:2,13 [4] Usings.cshtml)
+ IntermediateToken - (66:2,13 [4] Usings.cshtml) - Html - \n\n
+ HtmlContent - (90:4,20 [2] Usings.cshtml)
+ IntermediateToken - (90:4,20 [2] Usings.cshtml) - Html - \n
+ HtmlContent - (120:5,28 [2] Usings.cshtml)
+ IntermediateToken - (120:5,28 [2] Usings.cshtml) - Html - \n
+ HtmlContent - (164:6,42 [32] Usings.cshtml)
+ IntermediateToken - (164:6,42 [4] Usings.cshtml) - Html - \n\n
+ IntermediateToken - (168:8,0 [3] Usings.cshtml) - Html - <p>
+ IntermediateToken - (171:8,3 [25] Usings.cshtml) - Html - Path's full type name is
+ CSharpExpression - (197:8,29 [21] Usings.cshtml)
+ IntermediateToken - (197:8,29 [21] Usings.cshtml) - CSharp - typeof(Path).FullName
+ HtmlContent - (218:8,50 [40] Usings.cshtml)
+ IntermediateToken - (218:8,50 [4] Usings.cshtml) - Html - </p>
+ IntermediateToken - (222:8,54 [2] Usings.cshtml) - Html - \n
+ IntermediateToken - (224:9,0 [3] Usings.cshtml) - Html - <p>
+ IntermediateToken - (227:9,3 [31] Usings.cshtml) - Html - Foo's actual full type name is
+ CSharpExpression - (259:9,35 [20] Usings.cshtml)
+ IntermediateToken - (259:9,35 [20] Usings.cshtml) - CSharp - typeof(Foo).FullName
+ HtmlContent - (279:9,55 [4] Usings.cshtml)
+ IntermediateToken - (279:9,55 [4] Usings.cshtml) - Html - </p>
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings_DesignTime.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings_DesignTime.mappings.txt
new file mode 100644
index 0000000000..3002ee4d8f
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings_DesignTime.mappings.txt
@@ -0,0 +1,40 @@
+Source Location: (1:0,1 [15] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings.cshtml)
+|using System.IO|
+Generated Location: (229:6,0 [15] )
+|using System.IO|
+
+Source Location: (19:1,1 [32] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings.cshtml)
+|using Foo = System.Text.Encoding|
+Generated Location: (360:11,0 [32] )
+|using Foo = System.Text.Encoding|
+
+Source Location: (54:2,1 [12] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings.cshtml)
+|using System|
+Generated Location: (508:16,0 [12] )
+|using System|
+
+Source Location: (71:4,1 [19] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings.cshtml)
+|using static System|
+Generated Location: (636:21,0 [19] )
+|using static System|
+
+Source Location: (93:5,1 [27] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings.cshtml)
+|using static System.Console|
+Generated Location: (771:26,0 [27] )
+|using static System.Console|
+
+Source Location: (123:6,1 [41] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings.cshtml)
+|using static global::System.Text.Encoding|
+Generated Location: (914:31,0 [41] )
+|using static global::System.Text.Encoding|
+
+Source Location: (197:8,29 [21] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings.cshtml)
+|typeof(Path).FullName|
+Generated Location: (1582:48,29 [21] )
+|typeof(Path).FullName|
+
+Source Location: (259:9,35 [20] TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings.cshtml)
+|typeof(Foo).FullName|
+Generated Location: (1755:53,35 [20] )
+|typeof(Foo).FullName|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings_Runtime.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings_Runtime.codegen.cs
new file mode 100644
index 0000000000..e5260b1225
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings_Runtime.codegen.cs
@@ -0,0 +1,62 @@
+#pragma checksum "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings.cshtml" "{ff1816ec-aa5e-4d10-87f7-6f4963833460}" "6728cb5a1a2e5cec8b292fc113ea456ed9043ddc"
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles.TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Usings_Runtime), @"default", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings.cshtml")]
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+#line 1 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings.cshtml"
+using System.IO;
+
+#line default
+#line hidden
+#line 2 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings.cshtml"
+using Foo = System.Text.Encoding;
+
+#line default
+#line hidden
+#line 3 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings.cshtml"
+using System;
+
+#line default
+#line hidden
+#line 5 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings.cshtml"
+using static System;
+
+#line default
+#line hidden
+#line 6 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings.cshtml"
+using static System.Console;
+
+#line default
+#line hidden
+#line 7 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings.cshtml"
+using static global::System.Text.Encoding;
+
+#line default
+#line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"6728cb5a1a2e5cec8b292fc113ea456ed9043ddc", @"/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings.cshtml")]
+ public class TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Usings_Runtime
+ {
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("\r\n");
+ WriteLiteral("\r\n<p>Path\'s full type name is ");
+#line 9 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings.cshtml"
+ Write(typeof(Path).FullName);
+
+#line default
+#line hidden
+ WriteLiteral("</p>\r\n<p>Foo\'s actual full type name is ");
+#line 10 "TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings.cshtml"
+ Write(typeof(Foo).FullName);
+
+#line default
+#line hidden
+ WriteLiteral("</p>");
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings_Runtime.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings_Runtime.ir.txt
new file mode 100644
index 0000000000..bdb82e73ec
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/CodeGenerationIntegrationTest/Usings_Runtime.ir.txt
@@ -0,0 +1,29 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ UsingDirective - (1:0,1 [17] Usings.cshtml) - System.IO
+ UsingDirective - (19:1,1 [34] Usings.cshtml) - Foo = System.Text.Encoding
+ UsingDirective - (54:2,1 [14] Usings.cshtml) - System
+ UsingDirective - (71:4,1 [21] Usings.cshtml) - static System
+ UsingDirective - (93:5,1 [29] Usings.cshtml) - static System.Console
+ UsingDirective - (123:6,1 [43] Usings.cshtml) - static global::System.Text.Encoding
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - TestFiles_IntegrationTests_CodeGenerationIntegrationTest_Usings_Runtime - -
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (68:3,0 [2] Usings.cshtml)
+ IntermediateToken - (68:3,0 [2] Usings.cshtml) - Html - \n
+ HtmlContent - (166:7,0 [30] Usings.cshtml)
+ IntermediateToken - (166:7,0 [2] Usings.cshtml) - Html - \n
+ IntermediateToken - (168:8,0 [3] Usings.cshtml) - Html - <p>
+ IntermediateToken - (171:8,3 [25] Usings.cshtml) - Html - Path's full type name is
+ CSharpExpression - (197:8,29 [21] Usings.cshtml)
+ IntermediateToken - (197:8,29 [21] Usings.cshtml) - CSharp - typeof(Path).FullName
+ HtmlContent - (218:8,50 [40] Usings.cshtml)
+ IntermediateToken - (218:8,50 [4] Usings.cshtml) - Html - </p>
+ IntermediateToken - (222:8,54 [2] Usings.cshtml) - Html - \n
+ IntermediateToken - (224:9,0 [3] Usings.cshtml) - Html - <p>
+ IntermediateToken - (227:9,3 [31] Usings.cshtml) - Html - Foo's actual full type name is
+ CSharpExpression - (259:9,35 [20] Usings.cshtml)
+ IntermediateToken - (259:9,35 [20] Usings.cshtml) - CSharp - typeof(Foo).FullName
+ HtmlContent - (279:9,55 [4] Usings.cshtml)
+ IntermediateToken - (279:9,55 [4] Usings.cshtml) - Html - </p>
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/ExtensibleDirectiveTest/NamespaceToken.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/ExtensibleDirectiveTest/NamespaceToken.codegen.cs
new file mode 100644
index 0000000000..c50a6894ab
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/ExtensibleDirectiveTest/NamespaceToken.codegen.cs
@@ -0,0 +1,26 @@
+// <auto-generated/>
+#pragma warning disable 1591
+namespace Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+{
+ #line hidden
+ public class TestFiles_IntegrationTests_ExtensibleDirectiveTest_NamespaceToken
+ {
+ #pragma warning disable 219
+ private void __RazorDirectiveTokenHelpers__() {
+ ((System.Action)(() => {
+global::System.Object __typeHelper = nameof(System.Globalization);
+ }
+ ))();
+ }
+ #pragma warning restore 219
+ #pragma warning disable 0414
+ private static System.Object __o = null;
+ #pragma warning restore 0414
+ #pragma warning disable 1998
+ public async System.Threading.Tasks.Task ExecuteAsync()
+ {
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/ExtensibleDirectiveTest/NamespaceToken.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/ExtensibleDirectiveTest/NamespaceToken.cshtml
new file mode 100644
index 0000000000..0a8f147643
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/ExtensibleDirectiveTest/NamespaceToken.cshtml
@@ -0,0 +1 @@
+@custom System.Globalization \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/ExtensibleDirectiveTest/NamespaceToken.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/ExtensibleDirectiveTest/NamespaceToken.ir.txt
new file mode 100644
index 0000000000..ff111030c5
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/ExtensibleDirectiveTest/NamespaceToken.ir.txt
@@ -0,0 +1,12 @@
+Document -
+ NamespaceDeclaration - - Microsoft.AspNetCore.Razor.Language.IntegrationTests.TestFiles
+ ClassDeclaration - - public - TestFiles_IntegrationTests_ExtensibleDirectiveTest_NamespaceToken - -
+ DesignTimeDirective -
+ DirectiveToken - (8:0,8 [20] NamespaceToken.cshtml) - System.Globalization
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning disable 0414
+ CSharpCode -
+ IntermediateToken - - CSharp - private static System.Object __o = null;
+ CSharpCode -
+ IntermediateToken - - CSharp - #pragma warning restore 0414
+ MethodDeclaration - - public async - System.Threading.Tasks.Task - ExecuteAsync
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/ExtensibleDirectiveTest/NamespaceToken.mappings.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/ExtensibleDirectiveTest/NamespaceToken.mappings.txt
new file mode 100644
index 0000000000..c0b79c2c79
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/ExtensibleDirectiveTest/NamespaceToken.mappings.txt
@@ -0,0 +1,5 @@
+Source Location: (8:0,8 [20] TestFiles/IntegrationTests/ExtensibleDirectiveTest/NamespaceToken.cshtml)
+|System.Globalization|
+Generated Location: (410:10,44 [20] )
+|System.Globalization|
+
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/HtmlAttributeIntegrationTest/HtmlWithConditionalAttribute.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/HtmlAttributeIntegrationTest/HtmlWithConditionalAttribute.cshtml
new file mode 100644
index 0000000000..3a6c940b48
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/HtmlAttributeIntegrationTest/HtmlWithConditionalAttribute.cshtml
@@ -0,0 +1,5 @@
+<html>
+<body>
+ <span val="@Hello" />
+</body>
+</html>" \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/HtmlAttributeIntegrationTest/HtmlWithConditionalAttribute.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/HtmlAttributeIntegrationTest/HtmlWithConditionalAttribute.ir.txt
new file mode 100644
index 0000000000..e5c8ff35aa
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/HtmlAttributeIntegrationTest/HtmlWithConditionalAttribute.ir.txt
@@ -0,0 +1,22 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Razor
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - Template - -
+ MethodDeclaration - - public async override - global::System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (0:0,0 [25] HtmlWithConditionalAttribute.cshtml)
+ IntermediateToken - (0:0,0 [6] HtmlWithConditionalAttribute.cshtml) - Html - <html>
+ IntermediateToken - (6:0,6 [2] HtmlWithConditionalAttribute.cshtml) - Html - \n
+ IntermediateToken - (8:1,0 [6] HtmlWithConditionalAttribute.cshtml) - Html - <body>
+ IntermediateToken - (14:1,6 [6] HtmlWithConditionalAttribute.cshtml) - Html - \n
+ IntermediateToken - (20:2,4 [5] HtmlWithConditionalAttribute.cshtml) - Html - <span
+ HtmlAttribute - (25:2,9 [13] HtmlWithConditionalAttribute.cshtml) - val=" - "
+ CSharpExpressionAttributeValue - (31:2,15 [6] HtmlWithConditionalAttribute.cshtml) -
+ IntermediateToken - (32:2,16 [5] HtmlWithConditionalAttribute.cshtml) - CSharp - Hello
+ HtmlContent - (38:2,22 [22] HtmlWithConditionalAttribute.cshtml)
+ IntermediateToken - (38:2,22 [3] HtmlWithConditionalAttribute.cshtml) - Html - />
+ IntermediateToken - (41:2,25 [2] HtmlWithConditionalAttribute.cshtml) - Html - \n
+ IntermediateToken - (43:3,0 [7] HtmlWithConditionalAttribute.cshtml) - Html - </body>
+ IntermediateToken - (50:3,7 [2] HtmlWithConditionalAttribute.cshtml) - Html - \n
+ IntermediateToken - (52:4,0 [7] HtmlWithConditionalAttribute.cshtml) - Html - </html>
+ IntermediateToken - (59:4,7 [1] HtmlWithConditionalAttribute.cshtml) - Html - "
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/HtmlAttributeIntegrationTest/HtmlWithDataDashAttribute.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/HtmlAttributeIntegrationTest/HtmlWithDataDashAttribute.cshtml
new file mode 100644
index 0000000000..ac18b96408
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/HtmlAttributeIntegrationTest/HtmlWithDataDashAttribute.cshtml
@@ -0,0 +1,5 @@
+<html>
+<body>
+ <span data-val="@Hello" />
+</body>
+</html>" \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/HtmlAttributeIntegrationTest/HtmlWithDataDashAttribute.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/HtmlAttributeIntegrationTest/HtmlWithDataDashAttribute.ir.txt
new file mode 100644
index 0000000000..3486809b58
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/HtmlAttributeIntegrationTest/HtmlWithDataDashAttribute.ir.txt
@@ -0,0 +1,23 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Razor
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - Template - -
+ MethodDeclaration - - public async override - global::System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (0:0,0 [36] HtmlWithDataDashAttribute.cshtml)
+ IntermediateToken - (0:0,0 [6] HtmlWithDataDashAttribute.cshtml) - Html - <html>
+ IntermediateToken - (6:0,6 [2] HtmlWithDataDashAttribute.cshtml) - Html - \n
+ IntermediateToken - (8:1,0 [6] HtmlWithDataDashAttribute.cshtml) - Html - <body>
+ IntermediateToken - (14:1,6 [6] HtmlWithDataDashAttribute.cshtml) - Html - \n
+ IntermediateToken - (20:2,4 [5] HtmlWithDataDashAttribute.cshtml) - Html - <span
+ IntermediateToken - (25:2,9 [11] HtmlWithDataDashAttribute.cshtml) - Html - data-val="
+ CSharpExpression - (37:2,21 [5] HtmlWithDataDashAttribute.cshtml)
+ IntermediateToken - (37:2,21 [5] HtmlWithDataDashAttribute.cshtml) - CSharp - Hello
+ HtmlContent - (42:2,26 [23] HtmlWithDataDashAttribute.cshtml)
+ IntermediateToken - (42:2,26 [1] HtmlWithDataDashAttribute.cshtml) - Html - "
+ IntermediateToken - (43:2,27 [3] HtmlWithDataDashAttribute.cshtml) - Html - />
+ IntermediateToken - (46:2,30 [2] HtmlWithDataDashAttribute.cshtml) - Html - \n
+ IntermediateToken - (48:3,0 [7] HtmlWithDataDashAttribute.cshtml) - Html - </body>
+ IntermediateToken - (55:3,7 [2] HtmlWithDataDashAttribute.cshtml) - Html - \n
+ IntermediateToken - (57:4,0 [7] HtmlWithDataDashAttribute.cshtml) - Html - </html>
+ IntermediateToken - (64:4,7 [1] HtmlWithDataDashAttribute.cshtml) - Html - "
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithBaseType.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithBaseType.codegen.cs
new file mode 100644
index 0000000000..38d08a7c75
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithBaseType.codegen.cs
@@ -0,0 +1,18 @@
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Razor.Template), @"default", @"/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithBaseType.cshtml")]
+namespace Razor
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"38aa8e26c5d2a85c61d8e93fe69dd326fe82671b", @"/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithBaseType.cshtml")]
+ public class Template : MyBaseType
+ {
+ #pragma warning disable 1998
+ public async override global::System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("<h1>Hello world!</h1>");
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithBaseType.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithBaseType.cshtml
new file mode 100644
index 0000000000..6df88a66a1
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithBaseType.cshtml
@@ -0,0 +1 @@
+<h1>Hello world!</h1> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithConfigureClass.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithConfigureClass.codegen.cs
new file mode 100644
index 0000000000..9c5c3a8a73
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithConfigureClass.codegen.cs
@@ -0,0 +1,18 @@
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Razor.MyClass), @"default", @"/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithConfigureClass.cshtml")]
+namespace Razor
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"38aa8e26c5d2a85c61d8e93fe69dd326fe82671b", @"/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithConfigureClass.cshtml")]
+ protected internal class MyClass<TValue> : CustomBaseType, global::System.IDisposable
+ {
+ #pragma warning disable 1998
+ public async override global::System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("<h1>Hello world!</h1>");
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithConfigureClass.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithConfigureClass.cshtml
new file mode 100644
index 0000000000..6df88a66a1
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithConfigureClass.cshtml
@@ -0,0 +1 @@
+<h1>Hello world!</h1> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithDefaults.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithDefaults.codegen.cs
new file mode 100644
index 0000000000..0ca4f5d061
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithDefaults.codegen.cs
@@ -0,0 +1,18 @@
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(Razor.Template), @"default", @"/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithDefaults.cshtml")]
+namespace Razor
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"38aa8e26c5d2a85c61d8e93fe69dd326fe82671b", @"/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithDefaults.cshtml")]
+ public class Template
+ {
+ #pragma warning disable 1998
+ public async override global::System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("<h1>Hello world!</h1>");
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithDefaults.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithDefaults.cshtml
new file mode 100644
index 0000000000..6df88a66a1
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithDefaults.cshtml
@@ -0,0 +1 @@
+<h1>Hello world!</h1> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithSetNamespace.codegen.cs b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithSetNamespace.codegen.cs
new file mode 100644
index 0000000000..8cff2ae67f
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithSetNamespace.codegen.cs
@@ -0,0 +1,18 @@
+// <auto-generated/>
+#pragma warning disable 1591
+[assembly: global::Microsoft.AspNetCore.Razor.Hosting.RazorCompiledItemAttribute(typeof(MyApp.Razor.Views.Template), @"default", @"/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithSetNamespace.cshtml")]
+namespace MyApp.Razor.Views
+{
+ #line hidden
+ [global::Microsoft.AspNetCore.Razor.Hosting.RazorSourceChecksumAttribute(@"SHA1", @"38aa8e26c5d2a85c61d8e93fe69dd326fe82671b", @"/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithSetNamespace.cshtml")]
+ public class Template
+ {
+ #pragma warning disable 1998
+ public async override global::System.Threading.Tasks.Task ExecuteAsync()
+ {
+ WriteLiteral("<h1>Hello world!</h1>");
+ }
+ #pragma warning restore 1998
+ }
+}
+#pragma warning restore 1591
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithSetNamespace.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithSetNamespace.cshtml
new file mode 100644
index 0000000000..6df88a66a1
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/RazorTemplateEngineIntegrationTest/GenerateCodeWithSetNamespace.cshtml
@@ -0,0 +1 @@
+<h1>Hello world!</h1> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/TagHelpersIntegrationTest/NestedTagHelpers.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/TagHelpersIntegrationTest/NestedTagHelpers.cshtml
new file mode 100644
index 0000000000..e8c8937563
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/TagHelpersIntegrationTest/NestedTagHelpers.cshtml
@@ -0,0 +1,5 @@
+@addTagHelper *, TestAssembly
+<p someattr>Hola</p>
+<form unbound="foo">
+ <input value=Hello type='text' />
+</form> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/TagHelpersIntegrationTest/NestedTagHelpers.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/TagHelpersIntegrationTest/NestedTagHelpers.ir.txt
new file mode 100644
index 0000000000..ab0e72e99a
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/TagHelpersIntegrationTest/NestedTagHelpers.ir.txt
@@ -0,0 +1,37 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Razor
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - Template - -
+ PreallocatedTagHelperPropertyValue - - __tagHelperAttribute_0 - value - Hello - HtmlAttributeValueStyle.DoubleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_1 - type - text - HtmlAttributeValueStyle.SingleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_2 - unbound - foo - HtmlAttributeValueStyle.DoubleQuotes
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::PTagHelper - __PTagHelper
+ FieldDeclaration - - private - global::FormTagHelper - __FormTagHelper
+ FieldDeclaration - - private - global::InputTagHelper - __InputTagHelper
+ MethodDeclaration - - public async override - global::System.Threading.Tasks.Task - ExecuteAsync
+ TagHelper - (31:1,0 [20] NestedTagHelpers.cshtml) - p - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (43:1,12 [4] NestedTagHelpers.cshtml)
+ IntermediateToken - (43:1,12 [4] NestedTagHelpers.cshtml) - Html - Hola
+ DefaultTagHelperCreate - - PTagHelper
+ DefaultTagHelperHtmlAttribute - - someattr - HtmlAttributeValueStyle.Minimized
+ DefaultTagHelperExecute -
+ HtmlContent - (51:1,20 [2] NestedTagHelpers.cshtml)
+ IntermediateToken - (51:1,20 [2] NestedTagHelpers.cshtml) - Html - \n
+ TagHelper - (53:2,0 [68] NestedTagHelpers.cshtml) - form - TagMode.StartTagAndEndTag
+ DefaultTagHelperBody -
+ HtmlContent - (73:2,20 [6] NestedTagHelpers.cshtml)
+ IntermediateToken - (73:2,20 [6] NestedTagHelpers.cshtml) - Html - \n
+ TagHelper - (79:3,4 [33] NestedTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - InputTagHelper
+ PreallocatedTagHelperProperty - (92:3,17 [5] NestedTagHelpers.cshtml) - __tagHelperAttribute_0 - value - FooProp
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_1
+ DefaultTagHelperExecute -
+ HtmlContent - (112:3,37 [2] NestedTagHelpers.cshtml)
+ IntermediateToken - (112:3,37 [2] NestedTagHelpers.cshtml) - Html - \n
+ DefaultTagHelperCreate - - FormTagHelper
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_2
+ DefaultTagHelperExecute -
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/TagHelpersIntegrationTest/SimpleTagHelpers.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/TagHelpersIntegrationTest/SimpleTagHelpers.cshtml
new file mode 100644
index 0000000000..bd4ce8107a
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/TagHelpersIntegrationTest/SimpleTagHelpers.cshtml
@@ -0,0 +1,5 @@
+@addTagHelper *, TestAssembly
+<p>Hola</p>
+<form>
+ <input value='Hello' type='text' />
+</form> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/TagHelpersIntegrationTest/SimpleTagHelpers.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/TagHelpersIntegrationTest/SimpleTagHelpers.ir.txt
new file mode 100644
index 0000000000..80661692b6
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/TagHelpersIntegrationTest/SimpleTagHelpers.ir.txt
@@ -0,0 +1,26 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Razor
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - Template - -
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_0 - value - Hello - HtmlAttributeValueStyle.SingleQuotes
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_1 - type - text - HtmlAttributeValueStyle.SingleQuotes
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::InputTagHelper - __InputTagHelper
+ MethodDeclaration - - public async override - global::System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (31:1,0 [25] SimpleTagHelpers.cshtml)
+ IntermediateToken - (31:1,0 [3] SimpleTagHelpers.cshtml) - Html - <p>
+ IntermediateToken - (34:1,3 [4] SimpleTagHelpers.cshtml) - Html - Hola
+ IntermediateToken - (38:1,7 [4] SimpleTagHelpers.cshtml) - Html - </p>
+ IntermediateToken - (42:1,11 [2] SimpleTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (44:2,0 [6] SimpleTagHelpers.cshtml) - Html - <form>
+ IntermediateToken - (50:2,6 [6] SimpleTagHelpers.cshtml) - Html - \n
+ TagHelper - (56:3,4 [35] SimpleTagHelpers.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - InputTagHelper
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_0
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_1
+ DefaultTagHelperExecute -
+ HtmlContent - (91:3,39 [9] SimpleTagHelpers.cshtml)
+ IntermediateToken - (91:3,39 [2] SimpleTagHelpers.cshtml) - Html - \n
+ IntermediateToken - (93:4,0 [7] SimpleTagHelpers.cshtml) - Html - </form>
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/TagHelpersIntegrationTest/TagHelpersWithBoundAttributes.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/TagHelpersIntegrationTest/TagHelpersWithBoundAttributes.cshtml
new file mode 100644
index 0000000000..83023559d3
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/TagHelpersIntegrationTest/TagHelpersWithBoundAttributes.cshtml
@@ -0,0 +1,4 @@
+@addTagHelper *, TestAssembly
+<form>
+ <input bound=@Hello type='text' />
+</form> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/TagHelpersIntegrationTest/TagHelpersWithBoundAttributes.ir.txt b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/TagHelpersIntegrationTest/TagHelpersWithBoundAttributes.ir.txt
new file mode 100644
index 0000000000..3a72431dd8
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/IntegrationTests/TagHelpersIntegrationTest/TagHelpersWithBoundAttributes.ir.txt
@@ -0,0 +1,23 @@
+Document -
+ RazorCompiledItemAttribute -
+ NamespaceDeclaration - - Razor
+ RazorSourceChecksumAttribute -
+ ClassDeclaration - - public - Template - -
+ PreallocatedTagHelperHtmlAttributeValue - - __tagHelperAttribute_0 - type - text - HtmlAttributeValueStyle.SingleQuotes
+ DefaultTagHelperRuntime -
+ FieldDeclaration - - private - global::InputTagHelper - __InputTagHelper
+ MethodDeclaration - - public async override - global::System.Threading.Tasks.Task - ExecuteAsync
+ HtmlContent - (31:1,0 [12] TagHelpersWithBoundAttributes.cshtml)
+ IntermediateToken - (31:1,0 [6] TagHelpersWithBoundAttributes.cshtml) - Html - <form>
+ IntermediateToken - (37:1,6 [6] TagHelpersWithBoundAttributes.cshtml) - Html - \n
+ TagHelper - (43:2,4 [34] TagHelpersWithBoundAttributes.cshtml) - input - TagMode.SelfClosing
+ DefaultTagHelperBody -
+ DefaultTagHelperCreate - - InputTagHelper
+ DefaultTagHelperProperty - (56:2,17 [6] TagHelpersWithBoundAttributes.cshtml) - bound - string InputTagHelper.FooProp - HtmlAttributeValueStyle.DoubleQuotes
+ CSharpExpression - (57:2,18 [5] TagHelpersWithBoundAttributes.cshtml)
+ IntermediateToken - (57:2,18 [5] TagHelpersWithBoundAttributes.cshtml) - CSharp - Hello
+ PreallocatedTagHelperHtmlAttribute - - __tagHelperAttribute_0
+ DefaultTagHelperExecute -
+ HtmlContent - (77:2,38 [9] TagHelpersWithBoundAttributes.cshtml)
+ IntermediateToken - (77:2,38 [2] TagHelpersWithBoundAttributes.cshtml) - Html - \n
+ IntermediateToken - (79:3,0 [7] TagHelpersWithBoundAttributes.cshtml) - Html - </form>
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/Source/BasicMarkup.cshtml b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/Source/BasicMarkup.cshtml
new file mode 100644
index 0000000000..384a7a6deb
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/Source/BasicMarkup.cshtml
@@ -0,0 +1,8 @@
+<html>
+<head>
+ <title>This is the title.</title>
+</head>
+<body>
+ <a href="http://contoso.com">Link to Contoso.</a>
+</body>
+</html> \ No newline at end of file
diff --git a/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/nested-1000.html b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/nested-1000.html
new file mode 100644
index 0000000000..3c35bdbcbe
--- /dev/null
+++ b/src/Razor/test/Microsoft.AspNetCore.Razor.Language.Test/TestFiles/nested-1000.html
@@ -0,0 +1,2002 @@
+<outer>
+<elem-1>
+<elem-2>
+<elem-3>
+<elem-4>
+<elem-5>
+<elem-6>
+<elem-7>
+<elem-8>
+<elem-9>
+<elem-10>
+<elem-11>
+<elem-12>
+<elem-13>
+<elem-14>
+<elem-15>
+<elem-16>
+<elem-17>
+<elem-18>
+<elem-19>
+<elem-20>
+<elem-21>
+<elem-22>
+<elem-23>
+<elem-24>
+<elem-25>
+<elem-26>
+<elem-27>
+<elem-28>
+<elem-29>
+<elem-30>
+<elem-31>
+<elem-32>
+<elem-33>
+<elem-34>
+<elem-35>
+<elem-36>
+<elem-37>
+<elem-38>
+<elem-39>
+<elem-40>
+<elem-41>
+<elem-42>
+<elem-43>
+<elem-44>
+<elem-45>
+<elem-46>
+<elem-47>
+<elem-48>
+<elem-49>
+<elem-50>
+<elem-51>
+<elem-52>
+<elem-53>
+<elem-54>
+<elem-55>
+<elem-56>
+<elem-57>
+<elem-58>
+<elem-59>
+<elem-60>
+<elem-61>
+<elem-62>
+<elem-63>
+<elem-64>
+<elem-65>
+<elem-66>
+<elem-67>
+<elem-68>
+<elem-69>
+<elem-70>
+<elem-71>
+<elem-72>
+<elem-73>
+<elem-74>
+<elem-75>
+<elem-76>
+<elem-77>
+<elem-78>
+<elem-79>
+<elem-80>
+<elem-81>
+<elem-82>
+<elem-83>
+<elem-84>
+<elem-85>
+<elem-86>
+<elem-87>
+<elem-88>
+<elem-89>
+<elem-90>
+<elem-91>
+<elem-92>
+<elem-93>
+<elem-94>
+<elem-95>
+<elem-96>
+<elem-97>
+<elem-98>
+<elem-99>
+<elem-100>
+<elem-101>
+<elem-102>
+<elem-103>
+<elem-104>
+<elem-105>
+<elem-106>
+<elem-107>
+<elem-108>
+<elem-109>
+<elem-110>
+<elem-111>
+<elem-112>
+<elem-113>
+<elem-114>
+<elem-115>
+<elem-116>
+<elem-117>
+<elem-118>
+<elem-119>
+<elem-120>
+<elem-121>
+<elem-122>
+<elem-123>
+<elem-124>
+<elem-125>
+<elem-126>
+<elem-127>
+<elem-128>
+<elem-129>
+<elem-130>
+<elem-131>
+<elem-132>
+<elem-133>
+<elem-134>
+<elem-135>
+<elem-136>
+<elem-137>
+<elem-138>
+<elem-139>
+<elem-140>
+<elem-141>
+<elem-142>
+<elem-143>
+<elem-144>
+<elem-145>
+<elem-146>
+<elem-147>
+<elem-148>
+<elem-149>
+<elem-150>
+<elem-151>
+<elem-152>
+<elem-153>
+<elem-154>
+<elem-155>
+<elem-156>
+<elem-157>
+<elem-158>
+<elem-159>
+<elem-160>
+<elem-161>
+<elem-162>
+<elem-163>
+<elem-164>
+<elem-165>
+<elem-166>
+<elem-167>
+<elem-168>
+<elem-169>
+<elem-170>
+<elem-171>
+<elem-172>
+<elem-173>
+<elem-174>
+<elem-175>
+<elem-176>
+<elem-177>
+<elem-178>
+<elem-179>
+<elem-180>
+<elem-181>
+<elem-182>
+<elem-183>
+<elem-184>
+<elem-185>
+<elem-186>
+<elem-187>
+<elem-188>
+<elem-189>
+<elem-190>
+<elem-191>
+<elem-192>
+<elem-193>
+<elem-194>
+<elem-195>
+<elem-196>
+<elem-197>
+<elem-198>
+<elem-199>
+<elem-200>
+<elem-201>
+<elem-202>
+<elem-203>
+<elem-204>
+<elem-205>
+<elem-206>
+<elem-207>
+<elem-208>
+<elem-209>
+<elem-210>
+<elem-211>
+<elem-212>
+<elem-213>
+<elem-214>
+<elem-215>
+<elem-216>
+<elem-217>
+<elem-218>
+<elem-219>
+<elem-220>
+<elem-221>
+<elem-222>
+<elem-223>
+<elem-224>
+<elem-225>
+<elem-226>
+<elem-227>
+<elem-228>
+<elem-229>
+<elem-230>
+<elem-231>
+<elem-232>
+<elem-233>
+<elem-234>
+<elem-235>
+<elem-236>
+<elem-237>
+<elem-238>
+<elem-239>
+<elem-240>
+<elem-241>
+<elem-242>
+<elem-243>
+<elem-244>
+<elem-245>
+<elem-246>
+<elem-247>
+<elem-248>
+<elem-249>
+<elem-250>
+<elem-251>
+<elem-252>
+<elem-253>
+<elem-254>
+<elem-255>
+<elem-256>
+<elem-257>
+<elem-258>
+<elem-259>
+<elem-260>
+<elem-261>
+<elem-262>
+<elem-263>
+<elem-264>
+<elem-265>
+<elem-266>
+<elem-267>
+<elem-268>
+<elem-269>
+<elem-270>
+<elem-271>
+<elem-272>
+<elem-273>
+<elem-274>
+<elem-275>
+<elem-276>
+<elem-277>
+<elem-278>
+<elem-279>
+<elem-280>
+<elem-281>
+<elem-282>
+<elem-283>
+<elem-284>
+<elem-285>
+<elem-286>
+<elem-287>
+<elem-288>
+<elem-289>
+<elem-290>
+<elem-291>
+<elem-292>
+<elem-293>
+<elem-294>
+<elem-295>
+<elem-296>
+<elem-297>
+<elem-298>
+<elem-299>
+<elem-300>
+<elem-301>
+<elem-302>
+<elem-303>
+<elem-304>
+<elem-305>
+<elem-306>
+<elem-307>
+<elem-308>
+<elem-309>
+<elem-310>
+<elem-311>
+<elem-312>
+<elem-313>
+<elem-314>
+<elem-315>
+<elem-316>
+<elem-317>
+<elem-318>
+<elem-319>
+<elem-320>
+<elem-321>
+<elem-322>
+<elem-323>
+<elem-324>
+<elem-325>
+<elem-326>
+<elem-327>
+<elem-328>
+<elem-329>
+<elem-330>
+<elem-331>
+<elem-332>
+<elem-333>
+<elem-334>
+<elem-335>
+<elem-336>
+<elem-337>
+<elem-338>
+<elem-339>
+<elem-340>
+<elem-341>
+<elem-342>
+<elem-343>
+<elem-344>
+<elem-345>
+<elem-346>
+<elem-347>
+<elem-348>
+<elem-349>
+<elem-350>
+<elem-351>
+<elem-352>
+<elem-353>
+<elem-354>
+<elem-355>
+<elem-356>
+<elem-357>
+<elem-358>
+<elem-359>
+<elem-360>
+<elem-361>
+<elem-362>
+<elem-363>
+<elem-364>
+<elem-365>
+<elem-366>
+<elem-367>
+<elem-368>
+<elem-369>
+<elem-370>
+<elem-371>
+<elem-372>
+<elem-373>
+<elem-374>
+<elem-375>
+<elem-376>
+<elem-377>
+<elem-378>
+<elem-379>
+<elem-380>
+<elem-381>
+<elem-382>
+<elem-383>
+<elem-384>
+<elem-385>
+<elem-386>
+<elem-387>
+<elem-388>
+<elem-389>
+<elem-390>
+<elem-391>
+<elem-392>
+<elem-393>
+<elem-394>
+<elem-395>
+<elem-396>
+<elem-397>
+<elem-398>
+<elem-399>
+<elem-400>
+<elem-401>
+<elem-402>
+<elem-403>
+<elem-404>
+<elem-405>
+<elem-406>
+<elem-407>
+<elem-408>
+<elem-409>
+<elem-410>
+<elem-411>
+<elem-412>
+<elem-413>
+<elem-414>
+<elem-415>
+<elem-416>
+<elem-417>
+<elem-418>
+<elem-419>
+<elem-420>
+<elem-421>
+<elem-422>
+<elem-423>
+<elem-424>
+<elem-425>
+<elem-426>
+<elem-427>
+<elem-428>
+<elem-429>
+<elem-430>
+<elem-431>
+<elem-432>
+<elem-433>
+<elem-434>
+<elem-435>
+<elem-436>
+<elem-437>
+<elem-438>
+<elem-439>
+<elem-440>
+<elem-441>
+<elem-442>
+<elem-443>
+<elem-444>
+<elem-445>
+<elem-446>
+<elem-447>
+<elem-448>
+<elem-449>
+<elem-450>
+<elem-451>
+<elem-452>
+<elem-453>
+<elem-454>
+<elem-455>
+<elem-456>
+<elem-457>
+<elem-458>
+<elem-459>
+<elem-460>
+<elem-461>
+<elem-462>
+<elem-463>
+<elem-464>
+<elem-465>
+<elem-466>
+<elem-467>
+<elem-468>
+<elem-469>
+<elem-470>
+<elem-471>
+<elem-472>
+<elem-473>
+<elem-474>
+<elem-475>
+<elem-476>
+<elem-477>
+<elem-478>
+<elem-479>
+<elem-480>
+<elem-481>
+<elem-482>
+<elem-483>
+<elem-484>
+<elem-485>
+<elem-486>
+<elem-487>
+<elem-488>
+<elem-489>
+<elem-490>
+<elem-491>
+<elem-492>
+<elem-493>
+<elem-494>
+<elem-495>
+<elem-496>
+<elem-497>
+<elem-498>
+<elem-499>
+<elem-500>
+<elem-501>
+<elem-502>
+<elem-503>
+<elem-504>
+<elem-505>
+<elem-506>
+<elem-507>
+<elem-508>
+<elem-509>
+<elem-510>
+<elem-511>
+<elem-512>
+<elem-513>
+<elem-514>
+<elem-515>
+<elem-516>
+<elem-517>
+<elem-518>
+<elem-519>
+<elem-520>
+<elem-521>
+<elem-522>
+<elem-523>
+<elem-524>
+<elem-525>
+<elem-526>
+<elem-527>
+<elem-528>
+<elem-529>
+<elem-530>
+<elem-531>
+<elem-532>
+<elem-533>
+<elem-534>
+<elem-535>
+<elem-536>
+<elem-537>
+<elem-538>
+<elem-539>
+<elem-540>
+<elem-541>
+<elem-542>
+<elem-543>
+<elem-544>
+<elem-545>
+<elem-546>
+<elem-547>
+<elem-548>
+<elem-549>
+<elem-550>
+<elem-551>
+<elem-552>
+<elem-553>
+<elem-554>
+<elem-555>
+<elem-556>
+<elem-557>
+<elem-558>
+<elem-559>
+<elem-560>
+<elem-561>
+<elem-562>
+<elem-563>
+<elem-564>
+<elem-565>
+<elem-566>
+<elem-567>
+<elem-568>
+<elem-569>
+<elem-570>
+<elem-571>
+<elem-572>
+<elem-573>
+<elem-574>
+<elem-575>
+<elem-576>
+<elem-577>
+<elem-578>
+<elem-579>
+<elem-580>
+<elem-581>
+<elem-582>
+<elem-583>
+<elem-584>
+<elem-585>
+<elem-586>
+<elem-587>
+<elem-588>
+<elem-589>
+<elem-590>
+<elem-591>
+<elem-592>
+<elem-593>
+<elem-594>
+<elem-595>
+<elem-596>
+<elem-597>
+<elem-598>
+<elem-599>
+<elem-600>
+<elem-601>
+<elem-602>
+<elem-603>
+<elem-604>
+<elem-605>
+<elem-606>
+<elem-607>
+<elem-608>
+<elem-609>
+<elem-610>
+<elem-611>
+<elem-612>
+<elem-613>
+<elem-614>
+<elem-615>
+<elem-616>
+<elem-617>
+<elem-618>
+<elem-619>
+<elem-620>
+<elem-621>
+<elem-622>
+<elem-623>
+<elem-624>
+<elem-625>
+<elem-626>
+<elem-627>
+<elem-628>
+<elem-629>
+<elem-630>
+<elem-631>
+<elem-632>
+<elem-633>
+<elem-634>
+<elem-635>
+<elem-636>
+<elem-637>
+<elem-638>
+<elem-639>
+<elem-640>
+<elem-641>
+<elem-642>
+<elem-643>
+<elem-644>
+<elem-645>
+<elem-646>
+<elem-647>
+<elem-648>
+<elem-649>
+<elem-650>
+<elem-651>
+<elem-652>
+<elem-653>
+<elem-654>
+<elem-655>
+<elem-656>
+<elem-657>
+<elem-658>
+<elem-659>
+<elem-660>
+<elem-661>
+<elem-662>
+<elem-663>
+<elem-664>
+<elem-665>
+<elem-666>
+<elem-667>
+<elem-668>
+<elem-669>
+<elem-670>
+<elem-671>
+<elem-672>
+<elem-673>
+<elem-674>
+<elem-675>
+<elem-676>
+<elem-677>
+<elem-678>
+<elem-679>
+<elem-680>
+<elem-681>
+<elem-682>
+<elem-683>
+<elem-684>
+<elem-685>
+<elem-686>
+<elem-687>
+<elem-688>
+<elem-689>
+<elem-690>
+<elem-691>
+<elem-692>
+<elem-693>
+<elem-694>
+<elem-695>
+<elem-696>
+<elem-697>
+<elem-698>
+<elem-699>
+<elem-700>
+<elem-701>
+<elem-702>
+<elem-703>
+<elem-704>
+<elem-705>
+<elem-706>
+<elem-707>
+<elem-708>
+<elem-709>
+<elem-710>
+<elem-711>
+<elem-712>
+<elem-713>
+<elem-714>
+<elem-715>
+<elem-716>
+<elem-717>
+<elem-718>
+<elem-719>
+<elem-720>
+<elem-721>
+<elem-722>
+<elem-723>
+<elem-724>
+<elem-725>
+<elem-726>
+<elem-727>
+<elem-728>
+<elem-729>
+<elem-730>
+<elem-731>
+<elem-732>
+<elem-733>
+<elem-734>
+<elem-735>
+<elem-736>
+<elem-737>
+<elem-738>
+<elem-739>
+<elem-740>
+<elem-741>
+<elem-742>
+<elem-743>
+<elem-744>
+<elem-745>
+<elem-746>
+<elem-747>
+<elem-748>
+<elem-749>
+<elem-750>
+<elem-751>
+<elem-752>
+<elem-753>
+<elem-754>
+<elem-755>
+<elem-756>
+<elem-757>
+<elem-758>
+<elem-759>
+<elem-760>
+<elem-761>
+<elem-762>
+<elem-763>
+<elem-764>
+<elem-765>
+<elem-766>
+<elem-767>
+<elem-768>
+<elem-769>
+<elem-770>
+<elem-771>
+<elem-772>
+<elem-773>
+<elem-774>
+<elem-775>
+<elem-776>
+<elem-777>
+<elem-778>
+<elem-779>
+<elem-780>
+<elem-781>
+<elem-782>
+<elem-783>
+<elem-784>
+<elem-785>
+<elem-786>
+<elem-787>
+<elem-788>
+<elem-789>
+<elem-790>
+<elem-791>
+<elem-792>
+<elem-793>
+<elem-794>
+<elem-795>
+<elem-796>
+<elem-797>
+<elem-798>
+<elem-799>
+<elem-800>
+<elem-801>
+<elem-802>
+<elem-803>
+<elem-804>
+<elem-805>
+<elem-806>
+<elem-807>
+<elem-808>
+<elem-809>
+<elem-810>
+<elem-811>
+<elem-812>
+<elem-813>
+<elem-814>
+<elem-815>
+<elem-816>
+<elem-817>
+<elem-818>
+<elem-819>
+<elem-820>
+<elem-821>
+<elem-822>
+<elem-823>
+<elem-824>
+<elem-825>
+<elem-826>
+<elem-827>
+<elem-828>
+<elem-829>
+<elem-830>
+<elem-831>
+<elem-832>
+<elem-833>
+<elem-834>
+<elem-835>
+<elem-836>
+<elem-837>
+<elem-838>
+<elem-839>
+<elem-840>
+<elem-841>
+<elem-842>
+<elem-843>
+<elem-844>
+<elem-845>
+<elem-846>
+<elem-847>
+<elem-848>
+<elem-849>
+<elem-850>
+<elem-851>
+<elem-852>
+<elem-853>
+<elem-854>
+<elem-855>
+<elem-856>
+<elem-857>
+<elem-858>
+<elem-859>
+<elem-860>
+<elem-861>
+<elem-862>
+<elem-863>
+<elem-864>
+<elem-865>
+<elem-866>
+<elem-867>
+<elem-868>
+<elem-869>
+<elem-870>
+<elem-871>
+<elem-872>
+<elem-873>
+<elem-874>
+<elem-875>
+<elem-876>
+<elem-877>
+<elem-878>
+<elem-879>
+<elem-880>
+<elem-881>
+<elem-882>
+<elem-883>
+<elem-884>
+<elem-885>
+<elem-886>
+<elem-887>
+<elem-888>
+<elem-889>
+<elem-890>
+<elem-891>
+<elem-892>
+<elem-893>
+<elem-894>
+<elem-895>
+<elem-896>
+<elem-897>
+<elem-898>
+<elem-899>
+<elem-900>
+<elem-901>
+<elem-902>
+<elem-903>
+<elem-904>
+<elem-905>
+<elem-906>
+<elem-907>
+<elem-908>
+<elem-909>
+<elem-910>
+<elem-911>
+<elem-912>
+<elem-913>
+<elem-914>
+<elem-915>
+<elem-916>
+<elem-917>
+<elem-918>
+<elem-919>
+<elem-920>
+<elem-921>
+<elem-922>
+<elem-923>
+<elem-924>
+<elem-925>
+<elem-926>
+<elem-927>
+<elem-928>
+<elem-929>
+<elem-930>
+<elem-931>
+<elem-932>
+<elem-933>
+<elem-934>
+<elem-935>
+<elem-936>
+<elem-937>
+<elem-938>
+<elem-939>
+<elem-940>
+<elem-941>
+<elem-942>
+<elem-943>
+<elem-944>
+<elem-945>
+<elem-946>
+<elem-947>
+<elem-948>
+<elem-949>
+<elem-950>
+<elem-951>
+<elem-952>
+<elem-953>
+<elem-954>
+<elem-955>
+<elem-956>
+<elem-957>
+<elem-958>
+<elem-959>
+<elem-960>
+<elem-961>
+<elem-962>
+<elem-963>
+<elem-964>
+<elem-965>
+<elem-966>
+<elem-967>
+<elem-968>
+<elem-969>
+<elem-970>
+<elem-971>
+<elem-972>
+<elem-973>
+<elem-974>
+<elem-975>
+<elem-976>
+<elem-977>
+<elem-978>
+<elem-979>
+<elem-980>
+<elem-981>
+<elem-982>
+<elem-983>
+<elem-984>
+<elem-985>
+<elem-986>
+<elem-987>
+<elem-988>
+<elem-989>
+<elem-990>
+<elem-991>
+<elem-992>
+<elem-993>
+<elem-994>
+<elem-995>
+<elem-996>
+<elem-997>
+<elem-998>
+<elem-999>
+<elem-1000>
+</elem-1000>
+</elem-999>
+</elem-998>
+</elem-997>
+</elem-996>
+</elem-995>
+</elem-994>
+</elem-993>
+</elem-992>
+</elem-991>
+</elem-990>
+</elem-989>
+</elem-988>
+</elem-987>
+</elem-986>
+</elem-985>
+</elem-984>
+</elem-983>
+</elem-982>
+</elem-981>
+</elem-980>
+</elem-979>
+</elem-978>
+</elem-977>
+</elem-976>
+</elem-975>
+</elem-974>
+</elem-973>
+</elem-972>
+</elem-971>
+</elem-970>
+</elem-969>
+</elem-968>
+</elem-967>
+</elem-966>
+</elem-965>
+</elem-964>
+</elem-963>
+</elem-962>
+</elem-961>
+</elem-960>
+</elem-959>
+</elem-958>
+</elem-957>
+</elem-956>
+</elem-955>
+</elem-954>
+</elem-953>
+</elem-952>
+</elem-951>
+</elem-950>
+</elem-949>
+</elem-948>
+</elem-947>
+</elem-946>
+</elem-945>
+</elem-944>
+</elem-943>
+</elem-942>
+</elem-941>
+</elem-940>
+</elem-939>
+</elem-938>
+</elem-937>
+</elem-936>
+</elem-935>
+</elem-934>
+</elem-933>
+</elem-932>
+</elem-931>
+</elem-930>
+</elem-929>
+</elem-928>
+</elem-927>
+</elem-926>
+</elem-925>
+</elem-924>
+</elem-923>
+</elem-922>
+</elem-921>
+</elem-920>
+</elem-919>
+</elem-918>
+</elem-917>
+</elem-916>
+</elem-915>
+</elem-914>
+</elem-913>
+</elem-912>
+</elem-911>
+</elem-910>
+</elem-909>
+</elem-908>
+</elem-907>
+</elem-906>
+</elem-905>
+</elem-904>
+</elem-903>
+</elem-902>
+</elem-901>
+</elem-900>
+</elem-899>
+</elem-898>
+</elem-897>
+</elem-896>
+</elem-895>
+</elem-894>
+</elem-893>
+</elem-892>
+</elem-891>
+</elem-890>
+</elem-889>
+</elem-888>
+</elem-887>
+</elem-886>
+</elem-885>
+</elem-884>
+</elem-883>
+</elem-882>
+</elem-881>
+</elem-880>
+</elem-879>
+</elem-878>
+</elem-877>
+</elem-876>
+</elem-875>
+</elem-874>
+</elem-873>
+</elem-872>
+</elem-871>
+</elem-870>
+</elem-869>
+</elem-868>
+</elem-867>
+</elem-866>
+</elem-865>
+</elem-864>
+</elem-863>
+</elem-862>
+</elem-861>
+</elem-860>
+</elem-859>
+</elem-858>
+</elem-857>
+</elem-856>
+</elem-855>
+</elem-854>
+</elem-853>
+</elem-852>
+</elem-851>
+</elem-850>
+</elem-849>
+</elem-848>
+</elem-847>
+</elem-846>
+</elem-845>
+</elem-844>
+</elem-843>
+</elem-842>
+</elem-841>
+</elem-840>
+</elem-839>
+</elem-838>
+</elem-837>
+</elem-836>
+</elem-835>
+</elem-834>
+</elem-833>
+</elem-832>
+</elem-831>
+</elem-830>
+</elem-829>
+</elem-828>
+</elem-827>
+</elem-826>
+</elem-825>
+</elem-824>
+</elem-823>
+</elem-822>
+</elem-821>
+</elem-820>
+</elem-819>
+</elem-818>
+</elem-817>
+</elem-816>
+</elem-815>
+</elem-814>
+</elem-813>
+</elem-812>
+</elem-811>
+</elem-810>
+</elem-809>
+</elem-808>
+</elem-807>
+</elem-806>
+</elem-805>
+</elem-804>
+</elem-803>
+</elem-802>
+</elem-801>
+</elem-800>
+</elem-799>
+</elem-798>
+</elem-797>
+</elem-796>
+</elem-795>
+</elem-794>
+</elem-793>
+</elem-792>
+</elem-791>
+</elem-790>
+</elem-789>
+</elem-788>
+</elem-787>
+</elem-786>
+</elem-785>
+</elem-784>
+</elem-783>
+</elem-782>
+</elem-781>
+</elem-780>
+</elem-779>
+</elem-778>
+</elem-777>
+</elem-776>
+</elem-775>
+</elem-774>
+</elem-773>
+</elem-772>
+</elem-771>
+</elem-770>
+</elem-769>
+</elem-768>
+</elem-767>
+</elem-766>
+</elem-765>
+</elem-764>
+</elem-763>
+</elem-762>
+</elem-761>
+</elem-760>
+</elem-759>
+</elem-758>
+</elem-757>
+</elem-756>
+</elem-755>
+</elem-754>
+</elem-753>
+</elem-752>
+</elem-751>
+</elem-750>
+</elem-749>
+</elem-748>
+</elem-747>
+</elem-746>
+</elem-745>
+</elem-744>
+</elem-743>
+</elem-742>
+</elem-741>
+</elem-740>
+</elem-739>
+</elem-738>
+</elem-737>
+</elem-736>
+</elem-735>
+</elem-734>
+</elem-733>
+</elem-732>
+</elem-731>
+</elem-730>
+</elem-729>
+</elem-728>
+</elem-727>
+</elem-726>
+</elem-725>
+</elem-724>
+</elem-723>
+</elem-722>
+</elem-721>
+</elem-720>
+</elem-719>
+</elem-718>
+</elem-717>
+</elem-716>
+</elem-715>
+</elem-714>
+</elem-713>
+</elem-712>
+</elem-711>
+</elem-710>
+</elem-709>
+</elem-708>
+</elem-707>
+</elem-706>
+</elem-705>
+</elem-704>
+</elem-703>
+</elem-702>
+</elem-701>
+</elem-700>
+</elem-699>
+</elem-698>
+</elem-697>
+</elem-696>
+</elem-695>
+</elem-694>
+</elem-693>
+</elem-692>
+</elem-691>
+</elem-690>
+</elem-689>
+</elem-688>
+</elem-687>
+</elem-686>
+</elem-685>
+</elem-684>
+</elem-683>
+</elem-682>
+</elem-681>
+</elem-680>
+</elem-679>
+</elem-678>
+</elem-677>
+</elem-676>
+</elem-675>
+</elem-674>
+</elem-673>
+</elem-672>
+</elem-671>
+</elem-670>
+</elem-669>
+</elem-668>
+</elem-667>
+</elem-666>
+</elem-665>
+</elem-664>
+</elem-663>
+</elem-662>
+</elem-661>
+</elem-660>
+</elem-659>
+</elem-658>
+</elem-657>
+</elem-656>
+</elem-655>
+</elem-654>
+</elem-653>
+</elem-652>
+</elem-651>
+</elem-650>
+</elem-649>
+</elem-648>
+</elem-647>
+</elem-646>
+</elem-645>
+</elem-644>
+</elem-643>
+</elem-642>
+</elem-641>
+</elem-640>
+</elem-639>
+</elem-638>
+</elem-637>
+</elem-636>
+</elem-635>
+</elem-634>
+</elem-633>
+</elem-632>
+</elem-631>
+</elem-630>
+</elem-629>
+</elem-628>
+</elem-627>
+</elem-626>
+</elem-625>
+</elem-624>
+</elem-623>
+</elem-622>
+</elem-621>
+</elem-620>
+</elem-619>
+</elem-618>
+</elem-617>
+</elem-616>
+</elem-615>
+</elem-614>
+</elem-613>
+</elem-612>
+</elem-611>
+</elem-610>
+</elem-609>
+</elem-608>
+</elem-607>
+</elem-606>
+</elem-605>
+</elem-604>
+</elem-603>
+</elem-602>
+</elem-601>
+</elem-600>
+</elem-599>
+</elem-598>
+</elem-597>
+</elem-596>
+</elem-595>
+</elem-594>
+</elem-593>
+</elem-592>
+</elem-591>
+</elem-590>
+</elem-589>
+</elem-588>
+</elem-587>
+</elem-586>
+</elem-585>
+</elem-584>
+</elem-583>
+</elem-582>
+</elem-581>
+</elem-580>
+</elem-579>
+</elem-578>
+</elem-577>
+</elem-576>
+</elem-575>
+</elem-574>
+</elem-573>
+</elem-572>
+</elem-571>
+</elem-570>
+</elem-569>
+</elem-568>
+</elem-567>
+</elem-566>
+</elem-565>
+</elem-564>
+</elem-563>
+</elem-562>
+</elem-561>
+</elem-560>
+</elem-559>
+</elem-558>
+</elem-557>
+</elem-556>
+</elem-555>
+</elem-554>
+</elem-553>
+</elem-552>
+</elem-551>
+</elem-550>
+</elem-549>
+</elem-548>
+</elem-547>
+</elem-546>
+</elem-545>
+</elem-544>
+</elem-543>
+</elem-542>
+</elem-541>
+</elem-540>
+</elem-539>
+</elem-538>
+</elem-537>
+</elem-536>
+</elem-535>
+</elem-534>
+</elem-533>
+</elem-532>
+</elem-531>
+</elem-530>
+</elem-529>
+</elem-528>
+</elem-527>
+</elem-526>
+</elem-525>
+</elem-524>
+</elem-523>
+</elem-522>
+</elem-521>
+</elem-520>
+</elem-519>
+</elem-518>
+</elem-517>
+</elem-516>
+</elem-515>
+</elem-514>
+</elem-513>
+</elem-512>
+</elem-511>
+</elem-510>
+</elem-509>
+</elem-508>
+</elem-507>
+</elem-506>
+</elem-505>
+</elem-504>
+</elem-503>
+</elem-502>
+</elem-501>
+</elem-500>
+</elem-499>
+</elem-498>
+</elem-497>
+</elem-496>
+</elem-495>
+</elem-494>
+</elem-493>
+</elem-492>
+</elem-491>
+</elem-490>
+</elem-489>
+</elem-488>
+</elem-487>
+</elem-486>
+</elem-485>
+</elem-484>
+</elem-483>
+</elem-482>
+</elem-481>
+</elem-480>
+</elem-479>
+</elem-478>
+</elem-477>
+</elem-476>
+</elem-475>
+</elem-474>
+</elem-473>
+</elem-472>
+</elem-471>
+</elem-470>
+</elem-469>
+</elem-468>
+</elem-467>
+</elem-466>
+</elem-465>
+</elem-464>
+</elem-463>
+</elem-462>
+</elem-461>
+</elem-460>
+</elem-459>
+</elem-458>
+</elem-457>
+</elem-456>
+</elem-455>
+</elem-454>
+</elem-453>
+</elem-452>
+</elem-451>
+</elem-450>
+</elem-449>
+</elem-448>
+</elem-447>
+</elem-446>
+</elem-445>
+</elem-444>
+</elem-443>
+</elem-442>
+</elem-441>
+</elem-440>
+</elem-439>
+</elem-438>
+</elem-437>
+</elem-436>
+</elem-435>
+</elem-434>
+</elem-433>
+</elem-432>
+</elem-431>
+</elem-430>
+</elem-429>
+</elem-428>
+</elem-427>
+</elem-426>
+</elem-425>
+</elem-424>
+</elem-423>
+</elem-422>
+</elem-421>
+</elem-420>
+</elem-419>
+</elem-418>
+</elem-417>
+</elem-416>
+</elem-415>
+</elem-414>
+</elem-413>
+</elem-412>
+</elem-411>
+</elem-410>
+</elem-409>
+</elem-408>
+</elem-407>
+</elem-406>
+</elem-405>
+</elem-404>
+</elem-403>
+</elem-402>
+</elem-401>
+</elem-400>
+</elem-399>
+</elem-398>
+</elem-397>
+</elem-396>
+</elem-395>
+</elem-394>
+</elem-393>
+</elem-392>
+</elem-391>
+</elem-390>
+</elem-389>
+</elem-388>
+</elem-387>
+</elem-386>
+</elem-385>
+</elem-384>
+</elem-383>
+</elem-382>
+</elem-381>
+</elem-380>
+</elem-379>
+</elem-378>
+</elem-377>
+</elem-376>
+</elem-375>
+</elem-374>
+</elem-373>
+</elem-372>
+</elem-371>
+</elem-370>
+</elem-369>
+</elem-368>
+</elem-367>
+</elem-366>
+</elem-365>
+</elem-364>
+</elem-363>
+</elem-362>
+</elem-361>
+</elem-360>
+</elem-359>
+</elem-358>
+</elem-357>
+</elem-356>
+</elem-355>
+</elem-354>
+</elem-353>
+</elem-352>
+</elem-351>
+</elem-350>
+</elem-349>
+</elem-348>
+</elem-347>
+</elem-346>
+</elem-345>
+</elem-344>
+</elem-343>
+</elem-342>
+</elem-341>
+</elem-340>
+</elem-339>
+</elem-338>
+</elem-337>
+</elem-336>
+</elem-335>
+</elem-334>
+</elem-333>
+</elem-332>
+</elem-331>
+</elem-330>
+</elem-329>
+</elem-328>
+</elem-327>
+</elem-326>
+</elem-325>
+</elem-324>
+</elem-323>
+</elem-322>
+</elem-321>
+</elem-320>
+</elem-319>
+</elem-318>
+</elem-317>
+</elem-316>
+</elem-315>
+</elem-314>
+</elem-313>
+</elem-312>
+</elem-311>
+</elem-310>
+</elem-309>
+</elem-308>
+</elem-307>
+</elem-306>
+</elem-305>
+</elem-304>
+</elem-303>
+</elem-302>
+</elem-301>
+</elem-300>
+</elem-299>
+</elem-298>
+</elem-297>
+</elem-296>
+</elem-295>
+</elem-294>
+</elem-293>
+</elem-292>
+</elem-291>
+</elem-290>
+</elem-289>
+</elem-288>
+</elem-287>
+</elem-286>
+</elem-285>
+</elem-284>
+</elem-283>
+</elem-282>
+</elem-281>
+</elem-280>
+</elem-279>
+</elem-278>
+</elem-277>
+</elem-276>
+</elem-275>
+</elem-274>
+</elem-273>
+</elem-272>
+</elem-271>
+</elem-270>
+</elem-269>
+</elem-268>
+</elem-267>
+</elem-266>
+</elem-265>
+</elem-264>
+</elem-263>
+</elem-262>
+</elem-261>
+</elem-260>
+</elem-259>
+</elem-258>
+</elem-257>
+</elem-256>
+</elem-255>
+</elem-254>
+</elem-253>
+</elem-252>
+</elem-251>
+</elem-250>
+</elem-249>
+</elem-248>
+</elem-247>
+</elem-246>
+</elem-245>
+</elem-244>
+</elem-243>
+</elem-242>
+</elem-241>
+</elem-240>
+</elem-239>
+</elem-238>
+</elem-237>
+</elem-236>
+</elem-235>
+</elem-234>
+</elem-233>
+</elem-232>
+</elem-231>
+</elem-230>
+</elem-229>
+</elem-228>
+</elem-227>
+</elem-226>
+</elem-225>
+</elem-224>
+</elem-223>
+</elem-222>
+</elem-221>
+</elem-220>
+</elem-219>
+</elem-218>
+</elem-217>
+</elem-216>
+</elem-215>
+</elem-214>
+</elem-213>
+</elem-212>
+</elem-211>
+</elem-210>
+</elem-209>
+</elem-208>
+</elem-207>
+</elem-206>
+</elem-205>
+</elem-204>
+</elem-203>
+</elem-202>
+</elem-201>
+</elem-200>
+</elem-199>
+</elem-198>
+</elem-197>
+</elem-196>
+</elem-195>
+</elem-194>
+</elem-193>
+</elem-192>
+</elem-191>
+</elem-190>
+</elem-189>
+</elem-188>
+</elem-187>
+</elem-186>
+</elem-185>
+</elem-184>
+</elem-183>
+</elem-182>
+</elem-181>
+</elem-180>
+</elem-179>
+</elem-178>
+</elem-177>
+</elem-176>
+</elem-175>
+</elem-174>
+</elem-173>
+</elem-172>
+</elem-171>
+</elem-170>
+</elem-169>
+</elem-168>
+</elem-167>
+</elem-166>
+</elem-165>
+</elem-164>
+</elem-163>
+</elem-162>
+</elem-161>
+</elem-160>
+</elem-159>
+</elem-158>
+</elem-157>
+</elem-156>
+</elem-155>
+</elem-154>
+</elem-153>
+</elem-152>
+</elem-151>
+</elem-150>
+</elem-149>
+</elem-148>
+</elem-147>
+</elem-146>
+</elem-145>
+</elem-144>
+</elem-143>
+</elem-142>
+</elem-141>
+</elem-140>
+</elem-139>
+</elem-138>
+</elem-137>
+</elem-136>
+</elem-135>
+</elem-134>
+</elem-133>
+</elem-132>
+</elem-131>
+</elem-130>
+</elem-129>
+</elem-128>
+</elem-127>
+</elem-126>
+</elem-125>
+</elem-124>
+</elem-123>
+</elem-122>
+</elem-121>
+</elem-120>
+</elem-119>
+</elem-118>
+</elem-117>
+</elem-116>
+</elem-115>
+</elem-114>
+</elem-113>
+</elem-112>
+</elem-111>
+</elem-110>
+</elem-109>
+</elem-108>
+</elem-107>
+</elem-106>
+</elem-105>
+</elem-104>
+</elem-103>
+</elem-102>
+</elem-101>
+</elem-100>
+</elem-99>
+</elem-98>
+</elem-97>
+</elem-96>
+</elem-95>
+</elem-94>
+</elem-93>
+</elem-92>
+</elem-91>
+</elem-90>
+</elem-89>
+</elem-88>
+</elem-87>
+</elem-86>
+</elem-85>
+</elem-84>
+</elem-83>
+</elem-82>
+</elem-81>
+</elem-80>
+</elem-79>
+</elem-78>
+</elem-77>
+</elem-76>
+</elem-75>
+</elem-74>
+</elem-73>
+</elem-72>
+</elem-71>
+</elem-70>
+</elem-69>
+</elem-68>
+</elem-67>
+</elem-66>
+</elem-65>
+</elem-64>
+</elem-63>
+</elem-62>
+</elem-61>
+</elem-60>
+</elem-59>
+</elem-58>
+</elem-57>
+</elem-56>
+</elem-55>
+</elem-54>
+</elem-53>
+</elem-52>
+</elem-51>
+</elem-50>
+</elem-49>
+</elem-48>
+</elem-47>
+</elem-46>
+</elem-45>
+</elem-44>
+</elem-43>
+</elem-42>
+</elem-41>
+</elem-40>
+</elem-39>
+</elem-38>
+</elem-37>
+</elem-36>
+</elem-35>
+</elem-34>
+</elem-33>
+</elem-32>
+</elem-31>
+</elem-30>
+</elem-29>
+</elem-28>
+</elem-27>
+</elem-26>
+</elem-25>
+</elem-24>
+</elem-23>
+</elem-22>
+</elem-21>
+</elem-20>
+</elem-19>
+</elem-18>
+</elem-17>
+</elem-16>
+</elem-15>
+</elem-14>
+</elem-13>
+</elem-12>
+</elem-11>
+</elem-10>
+</elem-9>
+</elem-8>
+</elem-7>
+</elem-6>
+</elem-5>
+</elem-4>
+</elem-3>
+</elem-2>
+</elem-1>
+</outer> \ No newline at end of file