// 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 MethodDeclarationIRNode : MemberDeclarationIRNode { private ItemCollection _annotations; public override ItemCollection Annotations { get { if (_annotations == null) { _annotations = new DefaultItemCollection(); } return _annotations; } } public override RazorIRNodeCollection Children { get; } = new DefaultIRNodeCollection(); public override RazorIRNode Parent { get; set; } public override SourceSpan? Source { get; set; } public string AccessModifier { get; set; } public IList Modifiers { get; set; } = new List(); public string Name { get; set; } public string ReturnType { get; set; } public override void Accept(RazorIRNodeVisitor visitor) { if (visitor == null) { throw new ArgumentNullException(nameof(visitor)); } visitor.VisitMethodDeclaration(this); } } }