diff --git a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/AddTagHelperHtmlAttributeIntermediateNode.cs b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/AddTagHelperHtmlAttributeIntermediateNode.cs index 91ebc5f74b..60bd95af6a 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/AddTagHelperHtmlAttributeIntermediateNode.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/AddTagHelperHtmlAttributeIntermediateNode.cs @@ -8,8 +8,20 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate public sealed class AddTagHelperHtmlAttributeIntermediateNode : IntermediateNode { private RazorDiagnosticCollection _diagnostics; + private ItemCollection _annotations; - public override ItemCollection Annotations => ReadOnlyItemCollection.Empty; + public override ItemCollection Annotations + { + get + { + if (_annotations == null) + { + _annotations = new DefaultItemCollection(); + } + + return _annotations; + } + } public override RazorDiagnosticCollection Diagnostics { diff --git a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/CSharpCodeAttributeValueIntermediateNode.cs b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/CSharpCodeAttributeValueIntermediateNode.cs index 0a311000ad..7a6a1a0b4e 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/CSharpCodeAttributeValueIntermediateNode.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/CSharpCodeAttributeValueIntermediateNode.cs @@ -8,8 +8,20 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate public sealed class CSharpCodeAttributeValueIntermediateNode : IntermediateNode { private RazorDiagnosticCollection _diagnostics; + private ItemCollection _annotations; - public override ItemCollection Annotations => ReadOnlyItemCollection.Empty; + public override ItemCollection Annotations + { + get + { + if (_annotations == null) + { + _annotations = new DefaultItemCollection(); + } + + return _annotations; + } + } public override RazorDiagnosticCollection Diagnostics { diff --git a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/CSharpExpressionAttributeValueIntermediateNode.cs b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/CSharpExpressionAttributeValueIntermediateNode.cs index 0ac622018d..b9a6d0e1ab 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/CSharpExpressionAttributeValueIntermediateNode.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/CSharpExpressionAttributeValueIntermediateNode.cs @@ -8,8 +8,20 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate public sealed class CSharpExpressionAttributeValueIntermediateNode : IntermediateNode { private RazorDiagnosticCollection _diagnostics; + private ItemCollection _annotations; - public override ItemCollection Annotations => ReadOnlyItemCollection.Empty; + public override ItemCollection Annotations + { + get + { + if (_annotations == null) + { + _annotations = new DefaultItemCollection(); + } + + return _annotations; + } + } public override RazorDiagnosticCollection Diagnostics { diff --git a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/CreateTagHelperIntermediateNode.cs b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/CreateTagHelperIntermediateNode.cs index 5e6ccd663c..04b2fa7e4a 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/CreateTagHelperIntermediateNode.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/CreateTagHelperIntermediateNode.cs @@ -8,8 +8,20 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate public sealed class CreateTagHelperIntermediateNode : IntermediateNode { private RazorDiagnosticCollection _diagnostics; + private ItemCollection _annotations; - public override ItemCollection Annotations => ReadOnlyItemCollection.Empty; + public override ItemCollection Annotations + { + get + { + if (_annotations == null) + { + _annotations = new DefaultItemCollection(); + } + + return _annotations; + } + } public override RazorDiagnosticCollection Diagnostics { diff --git a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/DeclareTagHelperFieldsIntermediateNode.cs b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/DeclareTagHelperFieldsIntermediateNode.cs index 66de8f9d26..1695be4b9c 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/DeclareTagHelperFieldsIntermediateNode.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/DeclareTagHelperFieldsIntermediateNode.cs @@ -9,8 +9,20 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate public sealed class DeclareTagHelperFieldsIntermediateNode : IntermediateNode { private RazorDiagnosticCollection _diagnostics; + private ItemCollection _annotations; - public override ItemCollection Annotations => ReadOnlyItemCollection.Empty; + public override ItemCollection Annotations + { + get + { + if (_annotations == null) + { + _annotations = new DefaultItemCollection(); + } + + return _annotations; + } + } public override RazorDiagnosticCollection Diagnostics { diff --git a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/DirectiveTokenIntermediateNode.cs b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/DirectiveTokenIntermediateNode.cs index 2976704a42..5682f7c762 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/DirectiveTokenIntermediateNode.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/DirectiveTokenIntermediateNode.cs @@ -6,8 +6,20 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate public sealed class DirectiveTokenIntermediateNode : IntermediateNode { private RazorDiagnosticCollection _diagnostics; + private ItemCollection _annotations; - public override ItemCollection Annotations => ReadOnlyItemCollection.Empty; + public override ItemCollection Annotations + { + get + { + if (_annotations == null) + { + _annotations = new DefaultItemCollection(); + } + + return _annotations; + } + } public override RazorDiagnosticCollection Diagnostics { diff --git a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/HtmlAttributeIntermediateNode.cs b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/HtmlAttributeIntermediateNode.cs index 9cfe7e456d..8ab40f86c0 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/HtmlAttributeIntermediateNode.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/HtmlAttributeIntermediateNode.cs @@ -8,8 +8,20 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate public sealed class HtmlAttributeIntermediateNode : IntermediateNode { private RazorDiagnosticCollection _diagnostics; + private ItemCollection _annotations; - public override ItemCollection Annotations => ReadOnlyItemCollection.Empty; + public override ItemCollection Annotations + { + get + { + if (_annotations == null) + { + _annotations = new DefaultItemCollection(); + } + + return _annotations; + } + } public override RazorDiagnosticCollection Diagnostics { diff --git a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/HtmlAttributeValueIntermediateNode.cs b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/HtmlAttributeValueIntermediateNode.cs index 3c3797eb42..334a600a39 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/HtmlAttributeValueIntermediateNode.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/HtmlAttributeValueIntermediateNode.cs @@ -9,8 +9,20 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate public sealed class HtmlAttributeValueIntermediateNode : IntermediateNode { private RazorDiagnosticCollection _diagnostics; + private ItemCollection _annotations; - public override ItemCollection Annotations => ReadOnlyItemCollection.Empty; + public override ItemCollection Annotations + { + get + { + if (_annotations == null) + { + _annotations = new DefaultItemCollection(); + } + + return _annotations; + } + } public override RazorDiagnosticCollection Diagnostics { diff --git a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/HtmlContentIntermediateNode.cs b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/HtmlContentIntermediateNode.cs index b478636531..3a058a4e8d 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/HtmlContentIntermediateNode.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/HtmlContentIntermediateNode.cs @@ -9,8 +9,20 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate public sealed class HtmlContentIntermediateNode : IntermediateNode { private RazorDiagnosticCollection _diagnostics; + private ItemCollection _annotations; - public override ItemCollection Annotations => ReadOnlyItemCollection.Empty; + public override ItemCollection Annotations + { + get + { + if (_annotations == null) + { + _annotations = new DefaultItemCollection(); + } + + return _annotations; + } + } public override RazorDiagnosticCollection Diagnostics { diff --git a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/IntermediateToken.cs b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/IntermediateToken.cs index 28609be540..72059d96c0 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/IntermediateToken.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/IntermediateToken.cs @@ -8,8 +8,20 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate public sealed class IntermediateToken : IntermediateNode { private RazorDiagnosticCollection _diagnostics; + private ItemCollection _annotations; - public override ItemCollection Annotations => ReadOnlyItemCollection.Empty; + public override ItemCollection Annotations + { + get + { + if (_annotations == null) + { + _annotations = new DefaultItemCollection(); + } + + return _annotations; + } + } public override RazorDiagnosticCollection Diagnostics { diff --git a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/SetTagHelperPropertyIntermediateNode.cs b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/SetTagHelperPropertyIntermediateNode.cs index 99e71cbde5..e55541c1f7 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/SetTagHelperPropertyIntermediateNode.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/SetTagHelperPropertyIntermediateNode.cs @@ -8,8 +8,20 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate public sealed class SetTagHelperPropertyIntermediateNode : IntermediateNode { private RazorDiagnosticCollection _diagnostics; + private ItemCollection _annotations; - public override ItemCollection Annotations => ReadOnlyItemCollection.Empty; + public override ItemCollection Annotations + { + get + { + if (_annotations == null) + { + _annotations = new DefaultItemCollection(); + } + + return _annotations; + } + } public override RazorDiagnosticCollection Diagnostics { diff --git a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/TagHelperBodyIntermediateNode.cs b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/TagHelperBodyIntermediateNode.cs index 140d4dfa0b..557b4a66b1 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/TagHelperBodyIntermediateNode.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/TagHelperBodyIntermediateNode.cs @@ -8,8 +8,20 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate public sealed class TagHelperBodyIntermediateNode : IntermediateNode { private RazorDiagnosticCollection _diagnostics; + private ItemCollection _annotations; - public override ItemCollection Annotations => ReadOnlyItemCollection.Empty; + public override ItemCollection Annotations + { + get + { + if (_annotations == null) + { + _annotations = new DefaultItemCollection(); + } + + return _annotations; + } + } public override RazorDiagnosticCollection Diagnostics { diff --git a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/UsingDirectiveIntermediateNode.cs b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/UsingDirectiveIntermediateNode.cs index 20cb06a525..a82cab5da1 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/UsingDirectiveIntermediateNode.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/UsingDirectiveIntermediateNode.cs @@ -8,8 +8,20 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate public sealed class UsingDirectiveIntermediateNode : IntermediateNode { private RazorDiagnosticCollection _diagnostics; + private ItemCollection _annotations; - public override ItemCollection Annotations => ReadOnlyItemCollection.Empty; + public override ItemCollection Annotations + { + get + { + if (_annotations == null) + { + _annotations = new DefaultItemCollection(); + } + + return _annotations; + } + } public override RazorDiagnosticCollection Diagnostics {