Add collection types for IR children
This commit is contained in:
parent
118fefb7e2
commit
14944a2791
|
|
@ -2,7 +2,6 @@
|
|||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Microsoft.AspNetCore.Razor.Language;
|
||||
using Microsoft.AspNetCore.Razor.Language.CodeGeneration;
|
||||
using Microsoft.AspNetCore.Razor.Language.Intermediate;
|
||||
|
|
@ -15,7 +14,7 @@ namespace Microsoft.AspNetCore.Mvc.Razor.Extensions
|
|||
|
||||
public string MemberName { get; set; }
|
||||
|
||||
public override IList<RazorIRNode> Children { get; } = new RazorIRNode[0];
|
||||
public override RazorIRNodeCollection Children => ReadOnlyIRNodeCollection.Instance;
|
||||
|
||||
public override RazorIRNode Parent { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -2,7 +2,6 @@
|
|||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Microsoft.AspNetCore.Razor.Language.CodeGeneration;
|
||||
using Microsoft.AspNetCore.Razor.Language.Intermediate;
|
||||
|
||||
|
|
@ -10,7 +9,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Extensions
|
|||
{
|
||||
public sealed class TemplateIRNode : ExtensionIRNode
|
||||
{
|
||||
public override IList<RazorIRNode> Children { get; } = new List<RazorIRNode>();
|
||||
public override RazorIRNodeCollection Children { get; } = new DefaultIRNodeCollection();
|
||||
|
||||
public override RazorIRNode Parent { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -2,14 +2,13 @@
|
|||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using Microsoft.AspNetCore.Razor.Language.CodeGeneration;
|
||||
|
||||
namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
||||
{
|
||||
internal sealed class AddPreallocatedTagHelperHtmlAttributeIRNode : ExtensionIRNode
|
||||
{
|
||||
public override IList<RazorIRNode> Children { get; } = EmptyArray;
|
||||
public override RazorIRNodeCollection Children => ReadOnlyIRNodeCollection.Instance;
|
||||
|
||||
public override RazorIRNode Parent { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
{
|
||||
public override ItemCollection Annotations => ReadOnlyItemCollection.Empty;
|
||||
|
||||
public override IList<RazorIRNode> Children { get; } = new List<RazorIRNode>();
|
||||
public override RazorIRNodeCollection Children { get; } = new DefaultIRNodeCollection();
|
||||
|
||||
public override RazorIRNode Parent { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
{
|
||||
public override ItemCollection Annotations => ReadOnlyItemCollection.Empty;
|
||||
|
||||
public override IList<RazorIRNode> Children { get; } = new List<RazorIRNode>();
|
||||
public override RazorIRNodeCollection Children { get; } = new DefaultIRNodeCollection();
|
||||
|
||||
public override RazorIRNode Parent { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
}
|
||||
}
|
||||
|
||||
public override IList<RazorIRNode> Children { get; } = new List<RazorIRNode>();
|
||||
public override RazorIRNodeCollection Children { get; } = new DefaultIRNodeCollection();
|
||||
|
||||
public override RazorIRNode Parent { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
{
|
||||
public override ItemCollection Annotations => ReadOnlyItemCollection.Empty;
|
||||
|
||||
public override IList<RazorIRNode> Children { get; } = new List<RazorIRNode>();
|
||||
public override RazorIRNodeCollection Children { get; } = new DefaultIRNodeCollection();
|
||||
|
||||
public override RazorIRNode Parent { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
}
|
||||
}
|
||||
|
||||
public override IList<RazorIRNode> Children { get; } = new List<RazorIRNode>();
|
||||
public override RazorIRNodeCollection Children { get; } = new DefaultIRNodeCollection();
|
||||
|
||||
public override RazorIRNode Parent { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -1,8 +1,6 @@
|
|||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System.Collections.Generic;
|
||||
using System.Security.Cryptography;
|
||||
using System.Text;
|
||||
|
||||
namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
||||
|
|
@ -11,7 +9,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
{
|
||||
public override ItemCollection Annotations => ReadOnlyItemCollection.Empty;
|
||||
|
||||
public override IList<RazorIRNode> Children => EmptyArray;
|
||||
public override RazorIRNodeCollection Children => ReadOnlyIRNodeCollection.Instance;
|
||||
|
||||
public override RazorIRNode Parent { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
}
|
||||
}
|
||||
|
||||
public override IList<RazorIRNode> Children { get; } = new List<RazorIRNode>();
|
||||
public override RazorIRNodeCollection Children { get; } = new DefaultIRNodeCollection();
|
||||
|
||||
public override RazorIRNode Parent { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
{
|
||||
public override ItemCollection Annotations => ReadOnlyItemCollection.Empty;
|
||||
|
||||
public override IList<RazorIRNode> Children { get; } = EmptyArray;
|
||||
public override RazorIRNodeCollection Children => ReadOnlyIRNodeCollection.Instance;
|
||||
|
||||
public override RazorIRNode Parent { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
{
|
||||
internal sealed class DeclarePreallocatedTagHelperAttributeIRNode : ExtensionIRNode
|
||||
{
|
||||
public override IList<RazorIRNode> Children { get; } = EmptyArray;
|
||||
public override RazorIRNodeCollection Children => ReadOnlyIRNodeCollection.Instance;
|
||||
|
||||
public override RazorIRNode Parent { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
{
|
||||
internal sealed class DeclarePreallocatedTagHelperHtmlAttributeIRNode : ExtensionIRNode
|
||||
{
|
||||
public override IList<RazorIRNode> Children { get; } = EmptyArray;
|
||||
public override RazorIRNodeCollection Children => ReadOnlyIRNodeCollection.Instance;
|
||||
|
||||
public override RazorIRNode Parent { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
{
|
||||
public override ItemCollection Annotations => ReadOnlyItemCollection.Empty;
|
||||
|
||||
public override IList<RazorIRNode> Children { get; } = EmptyArray;
|
||||
public override RazorIRNodeCollection Children => ReadOnlyIRNodeCollection.Instance;
|
||||
|
||||
public override RazorIRNode Parent { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,128 @@
|
|||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
||||
{
|
||||
public sealed class DefaultIRNodeCollection : RazorIRNodeCollection
|
||||
{
|
||||
private readonly List<RazorIRNode> _inner = new List<RazorIRNode>();
|
||||
|
||||
public override RazorIRNode this[int index]
|
||||
{
|
||||
get
|
||||
{
|
||||
if (index < 0 || index >= Count)
|
||||
{
|
||||
throw new ArgumentOutOfRangeException(nameof(index));
|
||||
}
|
||||
|
||||
return _inner[index];
|
||||
}
|
||||
set
|
||||
{
|
||||
if (index < 0 || index >= Count)
|
||||
{
|
||||
throw new ArgumentOutOfRangeException(nameof(index));
|
||||
}
|
||||
|
||||
_inner[index] = value;
|
||||
}
|
||||
}
|
||||
|
||||
public override int Count => _inner.Count;
|
||||
|
||||
public override bool IsReadOnly => false;
|
||||
|
||||
public override void Add(RazorIRNode item)
|
||||
{
|
||||
if (item == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(item));
|
||||
}
|
||||
|
||||
_inner.Add(item);
|
||||
}
|
||||
|
||||
public override void Clear()
|
||||
{
|
||||
_inner.Clear();
|
||||
}
|
||||
|
||||
public override bool Contains(RazorIRNode item)
|
||||
{
|
||||
return _inner.Contains(item);
|
||||
}
|
||||
|
||||
public override void CopyTo(RazorIRNode[] array, int arrayIndex)
|
||||
{
|
||||
if (array == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(array));
|
||||
}
|
||||
|
||||
if (arrayIndex < 0 || arrayIndex > array.Length)
|
||||
{
|
||||
throw new ArgumentOutOfRangeException(nameof(arrayIndex));
|
||||
}
|
||||
else if (array.Length - arrayIndex < Count)
|
||||
{
|
||||
throw new ArgumentOutOfRangeException(nameof(arrayIndex));
|
||||
}
|
||||
|
||||
_inner.CopyTo(array, arrayIndex);
|
||||
}
|
||||
|
||||
public override IEnumerator<RazorIRNode> GetEnumerator()
|
||||
{
|
||||
return _inner.GetEnumerator();
|
||||
}
|
||||
|
||||
public override int IndexOf(RazorIRNode item)
|
||||
{
|
||||
if (item == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(item));
|
||||
}
|
||||
|
||||
return _inner.IndexOf(item);
|
||||
}
|
||||
|
||||
public override void Insert(int index, RazorIRNode item)
|
||||
{
|
||||
if (index < 0 || index > Count)
|
||||
{
|
||||
throw new ArgumentOutOfRangeException(nameof(index));
|
||||
}
|
||||
|
||||
if (item == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(item));
|
||||
}
|
||||
|
||||
_inner.Insert(index, item);
|
||||
}
|
||||
|
||||
public override bool Remove(RazorIRNode item)
|
||||
{
|
||||
if (item == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(item));
|
||||
}
|
||||
|
||||
return _inner.Remove(item);
|
||||
}
|
||||
|
||||
public override void RemoveAt(int index)
|
||||
{
|
||||
if (index < 0 || index >= Count)
|
||||
{
|
||||
throw new ArgumentOutOfRangeException(nameof(index));
|
||||
}
|
||||
|
||||
_inner.RemoveAt(index);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -9,7 +9,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
{
|
||||
internal sealed class DesignTimeDirectiveIRNode : ExtensionIRNode
|
||||
{
|
||||
public override IList<RazorIRNode> Children { get; } = new List<RazorIRNode>();
|
||||
public override RazorIRNodeCollection Children { get; } = new DefaultIRNodeCollection();
|
||||
|
||||
public override RazorIRNode Parent { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
}
|
||||
}
|
||||
|
||||
public override IList<RazorIRNode> Children { get; } = new List<RazorIRNode>();
|
||||
public override RazorIRNodeCollection Children { get; } = new DefaultIRNodeCollection();
|
||||
|
||||
public override RazorIRNode Parent { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
{
|
||||
public override ItemCollection Annotations => ReadOnlyItemCollection.Empty;
|
||||
|
||||
public override IList<RazorIRNode> Children { get; } = EmptyArray;
|
||||
public override RazorIRNodeCollection Children => ReadOnlyIRNodeCollection.Instance;
|
||||
|
||||
public override RazorIRNode Parent { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -24,7 +24,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
}
|
||||
}
|
||||
|
||||
public override IList<RazorIRNode> Children { get; } = new List<RazorIRNode>();
|
||||
public override RazorIRNodeCollection Children { get; } = new DefaultIRNodeCollection();
|
||||
|
||||
public string DocumentKind { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
}
|
||||
}
|
||||
|
||||
public override IList<RazorIRNode> Children { get; } = EmptyArray;
|
||||
public override RazorIRNodeCollection Children => ReadOnlyIRNodeCollection.Instance;
|
||||
|
||||
public IList<string> Modifiers { get; set; } = new List<string>();
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
{
|
||||
public override ItemCollection Annotations => ReadOnlyItemCollection.Empty;
|
||||
|
||||
public override IList<RazorIRNode> Children { get; } = new List<RazorIRNode>();
|
||||
public override RazorIRNodeCollection Children { get; } = new DefaultIRNodeCollection();
|
||||
|
||||
public override RazorIRNode Parent { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
{
|
||||
public override ItemCollection Annotations => ReadOnlyItemCollection.Empty;
|
||||
|
||||
public override IList<RazorIRNode> Children { get; } = new List<RazorIRNode>();
|
||||
public override RazorIRNodeCollection Children { get; } = new DefaultIRNodeCollection();
|
||||
|
||||
public override RazorIRNode Parent { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
{
|
||||
public override ItemCollection Annotations => ReadOnlyItemCollection.Empty;
|
||||
|
||||
public override IList<RazorIRNode> Children { get; } = new List<RazorIRNode>();
|
||||
public override RazorIRNodeCollection Children { get; } = new DefaultIRNodeCollection();
|
||||
|
||||
public override RazorIRNode Parent { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
}
|
||||
}
|
||||
|
||||
public override IList<RazorIRNode> Children { get; } = new List<RazorIRNode>();
|
||||
public override RazorIRNodeCollection Children { get; } = new DefaultIRNodeCollection();
|
||||
|
||||
public override RazorIRNode Parent { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
}
|
||||
}
|
||||
|
||||
public override IList<RazorIRNode> Children { get; } = new List<RazorIRNode>();
|
||||
public override RazorIRNodeCollection Children { get; } = new DefaultIRNodeCollection();
|
||||
|
||||
public override RazorIRNode Parent { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
}
|
||||
}
|
||||
|
||||
public override IList<RazorIRNode> Children { get; } = EmptyArray;
|
||||
public override RazorIRNodeCollection Children => ReadOnlyIRNodeCollection.Instance;
|
||||
|
||||
public IList<string> Modifiers { get; set; } = new List<string>();
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
|
||||
public abstract ItemCollection Annotations { get; }
|
||||
|
||||
public abstract IList<RazorIRNode> Children { get; }
|
||||
public abstract RazorIRNodeCollection Children { get; }
|
||||
|
||||
public abstract RazorIRNode Parent { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,40 @@
|
|||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System.Collections;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
||||
{
|
||||
public abstract class RazorIRNodeCollection : IList<RazorIRNode>
|
||||
{
|
||||
public abstract RazorIRNode this[int index] { get; set; }
|
||||
|
||||
public abstract int Count { get; }
|
||||
|
||||
public abstract bool IsReadOnly { get; }
|
||||
|
||||
public abstract void Add(RazorIRNode item);
|
||||
|
||||
public abstract void Clear();
|
||||
|
||||
public abstract bool Contains(RazorIRNode item);
|
||||
|
||||
public abstract void CopyTo(RazorIRNode[] array, int arrayIndex);
|
||||
|
||||
public abstract IEnumerator<RazorIRNode> GetEnumerator();
|
||||
|
||||
public abstract int IndexOf(RazorIRNode item);
|
||||
|
||||
public abstract void Insert(int index, RazorIRNode item);
|
||||
|
||||
public abstract bool Remove(RazorIRNode item);
|
||||
|
||||
public abstract void RemoveAt(int index);
|
||||
|
||||
IEnumerator IEnumerable.GetEnumerator()
|
||||
{
|
||||
return GetEnumerator();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -2,7 +2,6 @@
|
|||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
|
||||
namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
||||
{
|
||||
|
|
@ -10,7 +9,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
{
|
||||
public override ItemCollection Annotations => ReadOnlyItemCollection.Empty;
|
||||
|
||||
public override IList<RazorIRNode> Children => RazorIRNode.EmptyArray;
|
||||
public override RazorIRNodeCollection Children => ReadOnlyIRNodeCollection.Instance;
|
||||
|
||||
public string Content { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -0,0 +1,133 @@
|
|||
// Copyright (c) .NET Foundation. All rights reserved.
|
||||
// Licensed under the Apache License, Version 2.0. See License.txt in the project root for license information.
|
||||
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
|
||||
namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
||||
{
|
||||
public sealed class ReadOnlyIRNodeCollection : RazorIRNodeCollection
|
||||
{
|
||||
public static readonly ReadOnlyIRNodeCollection Instance = new ReadOnlyIRNodeCollection();
|
||||
|
||||
private ReadOnlyIRNodeCollection()
|
||||
{
|
||||
}
|
||||
|
||||
public override RazorIRNode this[int index]
|
||||
{
|
||||
get
|
||||
{
|
||||
if (index < 0 || index >= Count)
|
||||
{
|
||||
throw new ArgumentOutOfRangeException(nameof(index));
|
||||
}
|
||||
|
||||
throw null; // Unreachable
|
||||
}
|
||||
set
|
||||
{
|
||||
if (index < 0 || index >= Count)
|
||||
{
|
||||
throw new ArgumentOutOfRangeException(nameof(index));
|
||||
}
|
||||
|
||||
throw null; // Unreachable
|
||||
}
|
||||
}
|
||||
|
||||
public override int Count => 0;
|
||||
|
||||
public override bool IsReadOnly => true;
|
||||
|
||||
public override void Add(RazorIRNode item)
|
||||
{
|
||||
if (item == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(item));
|
||||
}
|
||||
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
|
||||
public override void Clear()
|
||||
{
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
|
||||
public override bool Contains(RazorIRNode item)
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
public override void CopyTo(RazorIRNode[] array, int arrayIndex)
|
||||
{
|
||||
if (array == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(array));
|
||||
}
|
||||
|
||||
if (arrayIndex < 0 || arrayIndex > array.Length)
|
||||
{
|
||||
throw new ArgumentOutOfRangeException(nameof(arrayIndex));
|
||||
}
|
||||
else if (array.Length - arrayIndex < Count)
|
||||
{
|
||||
throw new ArgumentOutOfRangeException(nameof(arrayIndex));
|
||||
}
|
||||
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
|
||||
public override IEnumerator<RazorIRNode> GetEnumerator()
|
||||
{
|
||||
return Enumerable.Empty<RazorIRNode>().GetEnumerator();
|
||||
}
|
||||
|
||||
public override int IndexOf(RazorIRNode item)
|
||||
{
|
||||
if (item == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(item));
|
||||
}
|
||||
|
||||
return -1;
|
||||
}
|
||||
|
||||
public override void Insert(int index, RazorIRNode item)
|
||||
{
|
||||
if (index < 0 || index > Count)
|
||||
{
|
||||
throw new ArgumentOutOfRangeException(nameof(index));
|
||||
}
|
||||
|
||||
if (item == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(item));
|
||||
}
|
||||
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
|
||||
public override bool Remove(RazorIRNode item)
|
||||
{
|
||||
if (item == null)
|
||||
{
|
||||
throw new ArgumentNullException(nameof(item));
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
public override void RemoveAt(int index)
|
||||
{
|
||||
if (index < 0 || index >= Count)
|
||||
{
|
||||
throw new ArgumentOutOfRangeException(nameof(index));
|
||||
}
|
||||
|
||||
throw new NotSupportedException();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -10,7 +10,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
{
|
||||
internal sealed class SetPreallocatedTagHelperPropertyIRNode : ExtensionIRNode
|
||||
{
|
||||
public override IList<RazorIRNode> Children { get; } = EmptyArray;
|
||||
public override RazorIRNodeCollection Children => ReadOnlyIRNodeCollection.Instance;
|
||||
|
||||
public override RazorIRNode Parent { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -11,7 +11,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
{
|
||||
public override ItemCollection Annotations => ReadOnlyItemCollection.Empty;
|
||||
|
||||
public override IList<RazorIRNode> Children { get; } = new List<RazorIRNode>();
|
||||
public override RazorIRNodeCollection Children { get; } = new DefaultIRNodeCollection();
|
||||
|
||||
public override RazorIRNode Parent { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
{
|
||||
public override ItemCollection Annotations => ReadOnlyItemCollection.Empty;
|
||||
|
||||
public override IList<RazorIRNode> Children { get; } = new List<RazorIRNode>();
|
||||
public override RazorIRNodeCollection Children { get; } = new DefaultIRNodeCollection();
|
||||
|
||||
public override RazorIRNode Parent { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
}
|
||||
}
|
||||
|
||||
public override IList<RazorIRNode> Children { get; } = new List<RazorIRNode>();
|
||||
public override RazorIRNodeCollection Children { get; } = new DefaultIRNodeCollection();
|
||||
|
||||
public override RazorIRNode Parent { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
{
|
||||
public override ItemCollection Annotations => ReadOnlyItemCollection.Empty;
|
||||
|
||||
public override IList<RazorIRNode> Children { get; } = EmptyArray;
|
||||
public override RazorIRNodeCollection Children => ReadOnlyIRNodeCollection.Instance;
|
||||
|
||||
public override RazorIRNode Parent { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -549,9 +549,10 @@ Render Node - CSharpExpressionIRNode
|
|||
|
||||
private class MyExtensionIRNode : ExtensionIRNode
|
||||
{
|
||||
public override IList<RazorIRNode> Children => throw new NotImplementedException();
|
||||
public override RazorIRNodeCollection Children => ReadOnlyIRNodeCollection.Instance;
|
||||
|
||||
public override RazorIRNode Parent { get; set; }
|
||||
|
||||
public override SourceSpan? Source { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
|
||||
|
||||
public override void Accept(RazorIRNodeVisitor visitor)
|
||||
|
|
|
|||
|
|
@ -650,7 +650,7 @@ WriteAttributeValue("" "", 27, false, 28, 6, false);
|
|||
|
||||
private class MyExtensionIRNode : ExtensionIRNode
|
||||
{
|
||||
public override IList<RazorIRNode> Children => throw new NotImplementedException();
|
||||
public override RazorIRNodeCollection Children => ReadOnlyIRNodeCollection.Instance;
|
||||
|
||||
public override RazorIRNode Parent { get; set; }
|
||||
public override SourceSpan? Source { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
|
||||
|
|
|
|||
|
|
@ -216,7 +216,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
{
|
||||
public override ItemCollection Annotations { get; } = new DefaultItemCollection();
|
||||
|
||||
public override IList<RazorIRNode> Children { get; } = new List<RazorIRNode>();
|
||||
public override RazorIRNodeCollection Children { get; } = new DefaultIRNodeCollection();
|
||||
|
||||
public override RazorIRNode Parent { get; set; }
|
||||
|
||||
|
|
|
|||
|
|
@ -44,7 +44,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
|
||||
private class TestExtensionIRNode : ExtensionIRNode
|
||||
{
|
||||
public override IList<RazorIRNode> Children => throw new NotImplementedException();
|
||||
public override RazorIRNodeCollection Children => ReadOnlyIRNodeCollection.Instance;
|
||||
|
||||
public override RazorIRNode Parent { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
|
||||
public override SourceSpan? Source { get => throw new NotImplementedException(); set => throw new NotImplementedException(); }
|
||||
|
|
|
|||
|
|
@ -72,7 +72,7 @@ namespace Microsoft.AspNetCore.Razor.Language.Intermediate
|
|||
|
||||
public override ItemCollection Annotations { get; } = new DefaultItemCollection();
|
||||
|
||||
public override IList<RazorIRNode> Children { get; } = new List<RazorIRNode>();
|
||||
public override RazorIRNodeCollection Children { get; } = new DefaultIRNodeCollection();
|
||||
|
||||
public override RazorIRNode Parent { get; set; }
|
||||
|
||||
|
|
|
|||
Loading…
Reference in New Issue