PageRenderTime 25ms CodeModel.GetById 21ms app.highlight 3ms RepoModel.GetById 0ms app.codeStats 0ms

/NRefactory/ICSharpCode.NRefactory.VB/Ast/Expressions/CollectionRangeVariableDeclaration.cs

http://github.com/icsharpcode/ILSpy
C# | 42 lines | 30 code | 7 blank | 5 comment | 4 complexity | d432a002666a46e3ec71bdc3ce81f1e6 MD5 | raw file
 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)
 3
 4using System;
 5using System.Collections.Generic;
 6
 7namespace ICSharpCode.NRefactory.VB.Ast
 8{
 9	/// <summary>
10	/// Identifier As Type In Expression
11	/// </summary>
12	public class CollectionRangeVariableDeclaration : AstNode
13	{
14		public static readonly Role<CollectionRangeVariableDeclaration> CollectionRangeVariableDeclarationRole = new Role<CollectionRangeVariableDeclaration>("CollectionRangeVariableDeclaration");
15		
16		public VariableIdentifier Identifier {
17			get { return GetChildByRole(VariableIdentifier.VariableIdentifierRole); }
18			set { SetChildByRole(VariableIdentifier.VariableIdentifierRole, value); }
19		}
20		
21		public AstType Type {
22			get { return GetChildByRole(Roles.Type); }
23			set { SetChildByRole(Roles.Type, value); }
24		}
25		
26		public Expression Expression {
27			get { return GetChildByRole (Roles.Expression); }
28			set { SetChildByRole (Roles.Expression, value); }
29		}
30		
31		public override S AcceptVisitor<T, S>(IAstVisitor<T, S> visitor, T data)
32		{
33			return visitor.VisitCollectionRangeVariableDeclaration(this, data);
34		}
35		
36		protected internal override bool DoMatch(AstNode other, PatternMatching.Match match)
37		{
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);
40		}
41	}
42}