From a8d4da9f1731794bab05d7b2d0265ed37d99cccb Mon Sep 17 00:00:00 2001 From: Doug Bunting Date: Sat, 26 Mar 2016 19:12:36 -0700 Subject: [PATCH] Add a couple of missing `global::` prefixes - was missing when writing out full name of an `enum` value - was missing in one case when writing out `TagHelperAttribute` type name nit: updated `CSharpTagHelperFieldDeclarationVisitor.WritePrivateField()` to always include the prefix - no change in generated code but centralizes the prefix addition and reduces intermediate `string`s --- .../CSharpTagHelperCodeRenderer.cs | 4 +++- .../CSharpTagHelperFieldDeclarationVisitor.cs | 12 ++++++------ .../CSharpTagHelperRenderingTest.cs | 16 ++++++++-------- .../Output/EnumTagHelpers.DesignTime.cs | 6 +++--- .../CodeGenerator/Output/EnumTagHelpers.cs | 6 +++--- .../CodeGenerator/Output/MinimizedTagHelpers.cs | 4 ++-- .../Output/SymbolBoundAttributes.cs | 4 ++-- 7 files changed, 27 insertions(+), 25 deletions(-) diff --git a/src/Microsoft.AspNetCore.Razor/CodeGenerators/CSharpTagHelperCodeRenderer.cs b/src/Microsoft.AspNetCore.Razor/CodeGenerators/CSharpTagHelperCodeRenderer.cs index 8da06ac0ce..7faa0d4723 100644 --- a/src/Microsoft.AspNetCore.Razor/CodeGenerators/CSharpTagHelperCodeRenderer.cs +++ b/src/Microsoft.AspNetCore.Razor/CodeGenerators/CSharpTagHelperCodeRenderer.cs @@ -654,7 +654,9 @@ namespace Microsoft.AspNetCore.Razor.CodeGenerators { if (attributeDescriptor.IsEnum && isPlainTextValue) { - writer.Write(attributeDescriptor.TypeName) + writer + .Write("global::") + .Write(attributeDescriptor.TypeName) .Write("."); } diff --git a/src/Microsoft.AspNetCore.Razor/CodeGenerators/Visitors/CSharpTagHelperFieldDeclarationVisitor.cs b/src/Microsoft.AspNetCore.Razor/CodeGenerators/Visitors/CSharpTagHelperFieldDeclarationVisitor.cs index 2dad6854f3..c01bb2fa2f 100644 --- a/src/Microsoft.AspNetCore.Razor/CodeGenerators/Visitors/CSharpTagHelperFieldDeclarationVisitor.cs +++ b/src/Microsoft.AspNetCore.Razor/CodeGenerators/Visitors/CSharpTagHelperFieldDeclarationVisitor.cs @@ -54,18 +54,18 @@ namespace Microsoft.AspNetCore.Razor.CodeGenerators.Visitors // whether it's used depends on how a TagHelper is used. Writer.WritePragma("warning disable 0414"); WritePrivateField( - "global::" + _tagHelperContext.TagHelperContentTypeName, + _tagHelperContext.TagHelperContentTypeName, CSharpTagHelperCodeRenderer.StringValueBufferVariableName, value: null); Writer.WritePragma("warning restore 0414"); WritePrivateField( - "global::" + _tagHelperContext.ExecutionContextTypeName, + _tagHelperContext.ExecutionContextTypeName, CSharpTagHelperCodeRenderer.ExecutionContextVariableName, value: null); WritePrivateField( - "global::" + _tagHelperContext.RunnerTypeName, + _tagHelperContext.RunnerTypeName, CSharpTagHelperCodeRenderer.RunnerVariableName, value: null); @@ -86,7 +86,7 @@ namespace Microsoft.AspNetCore.Razor.CodeGenerators.Visitors _declaredTagHelpers.Add(descriptor.TypeName); WritePrivateField( - "global::" + descriptor.TypeName, + descriptor.TypeName, CSharpTagHelperCodeRenderer.GetVariableName(descriptor), value: null); } @@ -126,7 +126,7 @@ namespace Microsoft.AspNetCore.Razor.CodeGenerators.Visitors .Write(" ") .Write(preAllocatedAttributeVariableName) .Write(" = ") - .WriteStartNewObject(_tagHelperContext.TagHelperAttributeTypeName) + .WriteStartNewObject("global::" + _tagHelperContext.TagHelperAttributeTypeName) .WriteStringLiteral(attribute.Key) .WriteEndMethodInvocation(); } @@ -210,7 +210,7 @@ namespace Microsoft.AspNetCore.Razor.CodeGenerators.Visitors private void WritePrivateField(string type, string name, string value) { Writer - .Write("private ") + .Write("private global::") .WriteVariableDeclaration(type, name, value); } diff --git a/test/Microsoft.AspNetCore.Razor.Test/CodeGenerators/CSharpTagHelperRenderingTest.cs b/test/Microsoft.AspNetCore.Razor.Test/CodeGenerators/CSharpTagHelperRenderingTest.cs index 1c5bca449a..16754b2f06 100644 --- a/test/Microsoft.AspNetCore.Razor.Test/CodeGenerators/CSharpTagHelperRenderingTest.cs +++ b/test/Microsoft.AspNetCore.Razor.Test/CodeGenerators/CSharpTagHelperRenderingTest.cs @@ -1839,31 +1839,31 @@ namespace Microsoft.AspNetCore.Razor.Test.Generator documentAbsoluteIndex: 169, documentLineIndex: 8, documentCharacterOffsetIndex: 14, - generatedAbsoluteIndex: 1921, + generatedAbsoluteIndex: 1929, generatedLineIndex: 50, - generatedCharacterOffsetIndex: 88, + generatedCharacterOffsetIndex: 96, contentLength: 7), BuildLineMapping( documentAbsoluteIndex: 196, documentLineIndex: 9, documentCharacterOffsetIndex: 14, - generatedAbsoluteIndex: 2296, + generatedAbsoluteIndex: 2312, generatedLineIndex: 57, - generatedCharacterOffsetIndex: 88, + generatedCharacterOffsetIndex: 96, contentLength: 13), BuildLineMapping( documentAbsoluteIndex: 222, documentLineIndex: 9, documentCharacterOffsetIndex: 40, - generatedAbsoluteIndex: 2471, + generatedAbsoluteIndex: 2495, generatedLineIndex: 62, - generatedCharacterOffsetIndex: 94, + generatedCharacterOffsetIndex: 102, contentLength: 7), BuildLineMapping( documentAbsoluteIndex: 249, documentLineIndex: 10, documentCharacterOffsetIndex: 15, - generatedAbsoluteIndex: 2797, + generatedAbsoluteIndex: 2821, generatedLineIndex: 69, generatedCharacterOffsetIndex: 39, contentLength: 9), @@ -1871,7 +1871,7 @@ namespace Microsoft.AspNetCore.Razor.Test.Generator documentAbsoluteIndex: 272, documentLineIndex: 10, documentCharacterOffsetIndex: 38, - generatedAbsoluteIndex: 2919, + generatedAbsoluteIndex: 2943, generatedLineIndex: 74, generatedCharacterOffsetIndex: 45, contentLength: 9), diff --git a/test/Microsoft.AspNetCore.Razor.Test/TestFiles/CodeGenerator/Output/EnumTagHelpers.DesignTime.cs b/test/Microsoft.AspNetCore.Razor.Test/TestFiles/CodeGenerator/Output/EnumTagHelpers.DesignTime.cs index f0a6b7550c..6aa076dc2c 100644 --- a/test/Microsoft.AspNetCore.Razor.Test/TestFiles/CodeGenerator/Output/EnumTagHelpers.DesignTime.cs +++ b/test/Microsoft.AspNetCore.Razor.Test/TestFiles/CodeGenerator/Output/EnumTagHelpers.DesignTime.cs @@ -48,19 +48,19 @@ __TestNamespace_InputTagHelper.Value = MyEnum.MyValue; __TestNamespace_InputTagHelper = CreateTagHelper(); __TestNamespace_CatchAllTagHelper = CreateTagHelper(); #line 9 "EnumTagHelpers.cshtml" -__TestNamespace_InputTagHelper.Value = Microsoft.AspNetCore.Razor.Test.Generator.MyEnum.MyValue; +__TestNamespace_InputTagHelper.Value = global::Microsoft.AspNetCore.Razor.Test.Generator.MyEnum.MyValue; #line default #line hidden __TestNamespace_InputTagHelper = CreateTagHelper(); __TestNamespace_CatchAllTagHelper = CreateTagHelper(); #line 10 "EnumTagHelpers.cshtml" -__TestNamespace_InputTagHelper.Value = Microsoft.AspNetCore.Razor.Test.Generator.MyEnum.MySecondValue; +__TestNamespace_InputTagHelper.Value = global::Microsoft.AspNetCore.Razor.Test.Generator.MyEnum.MySecondValue; #line default #line hidden #line 10 "EnumTagHelpers.cshtml" -__TestNamespace_CatchAllTagHelper.CatchAll = Microsoft.AspNetCore.Razor.Test.Generator.MyEnum.MyValue; +__TestNamespace_CatchAllTagHelper.CatchAll = global::Microsoft.AspNetCore.Razor.Test.Generator.MyEnum.MyValue; #line default #line hidden diff --git a/test/Microsoft.AspNetCore.Razor.Test/TestFiles/CodeGenerator/Output/EnumTagHelpers.cs b/test/Microsoft.AspNetCore.Razor.Test/TestFiles/CodeGenerator/Output/EnumTagHelpers.cs index 374dfc480c..ae95703aff 100644 --- a/test/Microsoft.AspNetCore.Razor.Test/TestFiles/CodeGenerator/Output/EnumTagHelpers.cs +++ b/test/Microsoft.AspNetCore.Razor.Test/TestFiles/CodeGenerator/Output/EnumTagHelpers.cs @@ -88,7 +88,7 @@ AddHtmlAttributeValue("", 128, MyEnum.MySecondValue, 128, 21, false); __TestNamespace_CatchAllTagHelper = CreateTagHelper(); __tagHelperExecutionContext.Add(__TestNamespace_CatchAllTagHelper); #line 9 "EnumTagHelpers.cshtml" -__TestNamespace_InputTagHelper.Value = Microsoft.AspNetCore.Razor.Test.Generator.MyEnum.MyValue; +__TestNamespace_InputTagHelper.Value = global::Microsoft.AspNetCore.Razor.Test.Generator.MyEnum.MyValue; #line default #line hidden @@ -109,13 +109,13 @@ __TestNamespace_InputTagHelper.Value = Microsoft.AspNetCore.Razor.Test.Generator __TestNamespace_CatchAllTagHelper = CreateTagHelper(); __tagHelperExecutionContext.Add(__TestNamespace_CatchAllTagHelper); #line 10 "EnumTagHelpers.cshtml" -__TestNamespace_InputTagHelper.Value = Microsoft.AspNetCore.Razor.Test.Generator.MyEnum.MySecondValue; +__TestNamespace_InputTagHelper.Value = global::Microsoft.AspNetCore.Razor.Test.Generator.MyEnum.MySecondValue; #line default #line hidden __tagHelperExecutionContext.AddTagHelperAttribute("value", __TestNamespace_InputTagHelper.Value); #line 10 "EnumTagHelpers.cshtml" -__TestNamespace_CatchAllTagHelper.CatchAll = Microsoft.AspNetCore.Razor.Test.Generator.MyEnum.MyValue; +__TestNamespace_CatchAllTagHelper.CatchAll = global::Microsoft.AspNetCore.Razor.Test.Generator.MyEnum.MyValue; #line default #line hidden diff --git a/test/Microsoft.AspNetCore.Razor.Test/TestFiles/CodeGenerator/Output/MinimizedTagHelpers.cs b/test/Microsoft.AspNetCore.Razor.Test/TestFiles/CodeGenerator/Output/MinimizedTagHelpers.cs index f83ced3d90..3d6587330e 100644 --- a/test/Microsoft.AspNetCore.Razor.Test/TestFiles/CodeGenerator/Output/MinimizedTagHelpers.cs +++ b/test/Microsoft.AspNetCore.Razor.Test/TestFiles/CodeGenerator/Output/MinimizedTagHelpers.cs @@ -14,10 +14,10 @@ namespace TestOutput private global::Microsoft.AspNetCore.Razor.Runtime.TagHelperRunner __tagHelperRunner = null; private global::Microsoft.AspNetCore.Razor.Runtime.TagHelperScopeManager __tagHelperScopeManager = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelperScopeManager(); private global::TestNamespace.CatchAllTagHelper __TestNamespace_CatchAllTagHelper = null; - private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("catchall-unbound-required"); + private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("catchall-unbound-required"); private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_1 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("class", new global::Microsoft.AspNetCore.Html.HtmlEncodedString("btn")); private global::TestNamespace.InputTagHelper __TestNamespace_InputTagHelper = null; - private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_2 = new Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("input-unbound-required"); + private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_2 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("input-unbound-required"); private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_3 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("catchall-unbound-required", new global::Microsoft.AspNetCore.Html.HtmlEncodedString("hello")); private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_4 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("input-unbound-required", new global::Microsoft.AspNetCore.Html.HtmlEncodedString("hello2")); #line hidden diff --git a/test/Microsoft.AspNetCore.Razor.Test/TestFiles/CodeGenerator/Output/SymbolBoundAttributes.cs b/test/Microsoft.AspNetCore.Razor.Test/TestFiles/CodeGenerator/Output/SymbolBoundAttributes.cs index 0b5bd1614e..cf7ebab0f0 100644 --- a/test/Microsoft.AspNetCore.Razor.Test/TestFiles/CodeGenerator/Output/SymbolBoundAttributes.cs +++ b/test/Microsoft.AspNetCore.Razor.Test/TestFiles/CodeGenerator/Output/SymbolBoundAttributes.cs @@ -14,13 +14,13 @@ namespace TestOutput private global::Microsoft.AspNetCore.Razor.Runtime.TagHelperRunner __tagHelperRunner = null; private global::Microsoft.AspNetCore.Razor.Runtime.TagHelperScopeManager __tagHelperScopeManager = new global::Microsoft.AspNetCore.Razor.Runtime.TagHelperScopeManager(); private global::TestNamespace.CatchAllTagHelper __TestNamespace_CatchAllTagHelper = null; - private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("bound"); + private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_0 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("bound"); private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_1 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("[item]", new global::Microsoft.AspNetCore.Html.HtmlEncodedString("items")); private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_2 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("[(item)]", new global::Microsoft.AspNetCore.Html.HtmlEncodedString("items")); private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_3 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("(click)", new global::Microsoft.AspNetCore.Html.HtmlEncodedString("doSomething()")); private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_4 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("(^click)", new global::Microsoft.AspNetCore.Html.HtmlEncodedString("doSomething()")); private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_5 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("*something", new global::Microsoft.AspNetCore.Html.HtmlEncodedString("value")); - private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_6 = new Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("#localminimized"); + private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_6 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("#localminimized"); private static readonly global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute __tagHelperAttribute_7 = new global::Microsoft.AspNetCore.Razor.TagHelpers.TagHelperAttribute("#local", new global::Microsoft.AspNetCore.Html.HtmlEncodedString("value")); #line hidden public SymbolBoundAttributes()