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)
6
namespace ICSharpCode.NRefactory.VB.Ast
8
public class ParameterDeclaration : AttributedNode
10
public Identifier Name {
11
get { return GetChildByRole(Roles.Identifier); }
12
set { SetChildByRole(Roles.Identifier, value); }
15
public Expression OptionalValue {
16
get { return GetChildByRole(Roles.Expression); }
17
set { SetChildByRole(Roles.Expression, value); }
21
get { return GetChildByRole(Roles.Type); }
22
set { SetChildByRole(Roles.Type, value); }
25
protected internal override bool DoMatch(AstNode other, ICSharpCode.NRefactory.PatternMatching.Match match)
27
var param = other as ParameterDeclaration;
28
return param != null &&
29
MatchAttributesAndModifiers(param, match) &&
30
Name.DoMatch(param.Name, match) &&
31
OptionalValue.DoMatch(param.OptionalValue, match) &&
32
Type.DoMatch(param.Type, match);
35
public override S AcceptVisitor<T, S>(IAstVisitor<T, S> visitor, T data)
37
return visitor.VisitParameterDeclaration(this, data);