diff --git a/src/Microsoft.AspNetCore.Mvc.Razor.Extensions/InjectDirectiveIRNode.cs b/src/Microsoft.AspNetCore.Mvc.Razor.Extensions/InjectDirectiveIRNode.cs index 894c098cad..2f0e8f5be4 100644 --- a/src/Microsoft.AspNetCore.Mvc.Razor.Extensions/InjectDirectiveIRNode.cs +++ b/src/Microsoft.AspNetCore.Mvc.Razor.Extensions/InjectDirectiveIRNode.cs @@ -38,7 +38,18 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Extensions throw new ArgumentNullException(nameof(target)); } + if (context == null) + { + throw new ArgumentNullException(nameof(context)); + } + var extension = target.GetExtension(); + if (extension == null) + { + context.ReportMissingExtension(); + return; + } + extension.WriteInjectProperty(context, this); } } diff --git a/src/Microsoft.AspNetCore.Razor.Language/Extensions/TemplateIRNode.cs b/src/Microsoft.AspNetCore.Razor.Language/Extensions/TemplateIRNode.cs index 86132989f2..71b2a6510a 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/Extensions/TemplateIRNode.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/Extensions/TemplateIRNode.cs @@ -28,6 +28,16 @@ namespace Microsoft.AspNetCore.Razor.Language.Extensions public override void WriteNode(CodeTarget target, CSharpRenderingContext context) { + if (target == null) + { + throw new ArgumentNullException(nameof(target)); + } + + if (context == null) + { + throw new ArgumentNullException(nameof(context)); + } + var extension = target.GetExtension(); if (extension == null) { diff --git a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/AddPreallocatedTagHelperHtmlAttributeIRNode.cs b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/AddPreallocatedTagHelperHtmlAttributeIRNode.cs index 37489f1e1a..72e59f27d0 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/AddPreallocatedTagHelperHtmlAttributeIRNode.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/AddPreallocatedTagHelperHtmlAttributeIRNode.cs @@ -29,7 +29,23 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate public override void WriteNode(CodeTarget target, CSharpRenderingContext context) { + if (target == null) + { + throw new ArgumentNullException(nameof(target)); + } + + if (context == null) + { + throw new ArgumentNullException(nameof(context)); + } + var extension = target.GetExtension(); + if (extension == null) + { + context.ReportMissingExtension(); + return; + } + extension.WriteAddPreallocatedTagHelperHtmlAttribute(context, this); } } diff --git a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/DeclarePreallocatedTagHelperAttributeIRNode.cs b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/DeclarePreallocatedTagHelperAttributeIRNode.cs index b0220d3dd4..c69dd55c22 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/DeclarePreallocatedTagHelperAttributeIRNode.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/DeclarePreallocatedTagHelperAttributeIRNode.cs @@ -36,7 +36,23 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate public override void WriteNode(CodeTarget target, CSharpRenderingContext context) { + if (target == null) + { + throw new ArgumentNullException(nameof(target)); + } + + if (context == null) + { + throw new ArgumentNullException(nameof(context)); + } + var extension = target.GetExtension(); + if (extension == null) + { + context.ReportMissingExtension(); + return; + } + extension.WriteDeclarePreallocatedTagHelperAttribute(context, this); } } diff --git a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/DeclarePreallocatedTagHelperHtmlAttributeIRNode.cs b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/DeclarePreallocatedTagHelperHtmlAttributeIRNode.cs index 300dc0e4c6..1091e1845e 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/DeclarePreallocatedTagHelperHtmlAttributeIRNode.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/DeclarePreallocatedTagHelperHtmlAttributeIRNode.cs @@ -36,7 +36,23 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate public override void WriteNode(CodeTarget target, CSharpRenderingContext context) { + if (target == null) + { + throw new ArgumentNullException(nameof(target)); + } + + if (context == null) + { + throw new ArgumentNullException(nameof(context)); + } + var extension = target.GetExtension(); + if (extension == null) + { + context.ReportMissingExtension(); + return; + } + extension.WriteDeclarePreallocatedTagHelperHtmlAttribute(context, this); } } diff --git a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/DesignTimeDirectiveIRNode.cs b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/DesignTimeDirectiveIRNode.cs index eeaab774b4..1f97d23ac4 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/DesignTimeDirectiveIRNode.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/DesignTimeDirectiveIRNode.cs @@ -27,7 +27,23 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate public override void WriteNode(CodeTarget target, CSharpRenderingContext context) { + if (target == null) + { + throw new ArgumentNullException(nameof(target)); + } + + if (context == null) + { + throw new ArgumentNullException(nameof(context)); + } + var extension = target.GetExtension(); + if (extension == null) + { + context.ReportMissingExtension(); + return; + } + extension.WriteDesignTimeDirective(context, this); } } diff --git a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/SetPreallocatedTagHelperPropertyIRNode.cs b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/SetPreallocatedTagHelperPropertyIRNode.cs index e52e3496fe..3db438a062 100644 --- a/src/Microsoft.AspNetCore.Razor.Language/Intermediate/SetPreallocatedTagHelperPropertyIRNode.cs +++ b/src/Microsoft.AspNetCore.Razor.Language/Intermediate/SetPreallocatedTagHelperPropertyIRNode.cs @@ -42,7 +42,23 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate public override void WriteNode(CodeTarget target, CSharpRenderingContext context) { + if (target == null) + { + throw new ArgumentNullException(nameof(target)); + } + + if (context == null) + { + throw new ArgumentNullException(nameof(context)); + } + var extension = target.GetExtension(); + if (extension == null) + { + context.ReportMissingExtension(); + return; + } + extension.WriteSetPreallocatedTagHelperProperty(context, this); } }