1
// Copyright (c) AlphaSierraPapa for the SharpDevelop Team (for details please see \doc\copyright.txt)
2
// This code is distributed under MIT X11 license (for details please see \doc\license.txt)
5
using System.Collections.Generic;
7
namespace ICSharpCode.NRefactory.VB.Ast
10
/// Identifier As Type In Expression
12
public class CollectionRangeVariableDeclaration : AstNode
14
public static readonly Role<CollectionRangeVariableDeclaration> CollectionRangeVariableDeclarationRole = new Role<CollectionRangeVariableDeclaration>("CollectionRangeVariableDeclaration");
16
public VariableIdentifier Identifier {
17
get { return GetChildByRole(VariableIdentifier.VariableIdentifierRole); }
18
set { SetChildByRole(VariableIdentifier.VariableIdentifierRole, value); }
22
get { return GetChildByRole(Roles.Type); }
23
set { SetChildByRole(Roles.Type, value); }
26
public Expression Expression {
27
get { return GetChildByRole (Roles.Expression); }
28
set { SetChildByRole (Roles.Expression, value); }
31
public override S AcceptVisitor<T, S>(IAstVisitor<T, S> visitor, T data)
33
return visitor.VisitCollectionRangeVariableDeclaration(this, data);
36
protected internal override bool DoMatch(AstNode other, PatternMatching.Match match)
38
CollectionRangeVariableDeclaration o = other as CollectionRangeVariableDeclaration;
39
return o != null && this.Identifier.DoMatch(o.Identifier, match) && this.Type.DoMatch(o.Type, match) && this.Expression.DoMatch(o.Expression, match);