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 InterfaceMemberSpecifier : AstNode
10
public static readonly Role<InterfaceMemberSpecifier> InterfaceMemberSpecifierRole = new Role<InterfaceMemberSpecifier>("InterfaceMemberSpecifier");
12
public InterfaceMemberSpecifier(Expression target, Identifier member)
18
public InterfaceMemberSpecifier(AstType target, string member)
20
Target = new TypeReferenceExpression(target);
21
Member = new Identifier(member, TextLocation.Empty);
24
public Expression Target {
25
get { return GetChildByRole(Roles.Expression); }
26
set { SetChildByRole(Roles.Expression, value); }
29
public Identifier Member {
30
get { return GetChildByRole(Roles.Identifier); }
31
set { SetChildByRole(Roles.Identifier, value); }
34
protected internal override bool DoMatch(AstNode other, ICSharpCode.NRefactory.PatternMatching.Match match)
36
var expr = other as InterfaceMemberSpecifier;
37
return expr != null &&
38
Target.DoMatch(expr.Target, match) &&
39
Member.DoMatch(expr.Member, match);
42
public override S AcceptVisitor<T, S>(IAstVisitor<T, S> visitor, T data)
44
return visitor.VisitInterfaceMemberSpecifier(this, data);