diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/AnonymousMethodExpression.cs b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/AnonymousMethodExpression.cs index 85042c3c39..705c87a3f2 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/AnonymousMethodExpression.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/AnonymousMethodExpression.cs @@ -39,12 +39,12 @@ namespace ICSharpCode.NRefactory.CSharp get; set; } - public CSharpTokenNode DelegateKeyword { - get { return GetChildrenByRole (Roles.Keyword); } + public CSharpTokenNode DelegateToken { + get { return GetChildByRole (Roles.Keyword); } } - public CSharpTokenNode LPar { - get { return GetChildrenByRole (Roles.LPar); } + public CSharpTokenNode LParToken { + get { return GetChildByRole (Roles.LPar); } } public IEnumerable Parameters { @@ -52,8 +52,8 @@ namespace ICSharpCode.NRefactory.CSharp set { SetChildrenByRole (Roles.Parameter, value); } } - public CSharpTokenNode RPar { - get { return GetChildrenByRole (Roles.RPar); } + public CSharpTokenNode RParToken { + get { return GetChildByRole (Roles.RPar); } } public BlockStatement Body { diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/ArgListExpression.cs b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/ArgListExpression.cs index 3d19c20d02..ed0093093e 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/ArgListExpression.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/ArgListExpression.cs @@ -37,11 +37,23 @@ namespace ICSharpCode.NRefactory.CSharp get; set; } + public CSharpTokenNode ArgListToken { + get { return GetChildByRole (Roles.Keyword); } + } + + public CSharpTokenNode LParToken { + get { return GetChildByRole (Roles.LPar); } + } + public IEnumerable Arguments { get { return GetChildrenByRole(Roles.Argument); } set { SetChildrenByRole(Roles.Argument, value); } } + public CSharpTokenNode RParToken { + get { return GetChildByRole (Roles.RPar); } + } + public override S AcceptVisitor (AstVisitor visitor, T data) { return visitor.VisitArgListExpression (this, data); diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/ArrayInitializerExpression.cs b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/ArrayInitializerExpression.cs index 8888dca3e6..6ea133342a 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/ArrayInitializerExpression.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/ArrayInitializerExpression.cs @@ -51,11 +51,19 @@ namespace ICSharpCode.NRefactory.CSharp } #endregion + public CSharpTokenNode LBraceToken { + get { return GetChildByRole (Roles.LBrace); } + } + public IEnumerable Elements { get { return GetChildrenByRole(Roles.Expression); } set { SetChildrenByRole(Roles.Expression, value); } } + public CSharpTokenNode RBraceToken { + get { return GetChildByRole (Roles.RBrace); } + } + public override S AcceptVisitor (AstVisitor visitor, T data) { return visitor.VisitArrayInitializerExpression (this, data); diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/AsExpression.cs b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/AsExpression.cs index 6aa45fa28d..f698b43524 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/AsExpression.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/AsExpression.cs @@ -36,8 +36,8 @@ namespace ICSharpCode.NRefactory.CSharp set { SetChildByRole(Roles.Expression, value); } } - public CSharpTokenNode AsKeyword { - get { return GetChildrenByRole (Roles.Keyword); } + public CSharpTokenNode AsToken { + get { return GetChildByRole (Roles.Keyword); } } public AstType Type { diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/CastExpression.cs b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/CastExpression.cs index 441e69cd55..67093d44ed 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/CastExpression.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/CastExpression.cs @@ -31,11 +31,19 @@ namespace ICSharpCode.NRefactory.CSharp /// public class CastExpression : Expression { + public CSharpTokenNode LParToken { + get { return GetChildByRole (Roles.LPar); } + } + public AstType CastTo { get { return GetChildByRole (Roles.Type); } set { SetChildByRole (Roles.Type, value); } } + public CSharpTokenNode RParToken { + get { return GetChildByRole (Roles.RPar); } + } + public Expression Expression { get { return GetChildByRole (Roles.Expression); } set { SetChildByRole (Roles.Expression, value); } diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/CheckedExpression.cs b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/CheckedExpression.cs index 9ae05d7887..e1eaf60ed4 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/CheckedExpression.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/CheckedExpression.cs @@ -31,11 +31,23 @@ namespace ICSharpCode.NRefactory.CSharp /// public class CheckedExpression : Expression { + public CSharpTokenNode CheckedToken { + get { return GetChildByRole (Roles.Keyword); } + } + + public CSharpTokenNode LParToken { + get { return GetChildByRole (Roles.LPar); } + } + public Expression Expression { get { return GetChildByRole (Roles.Expression); } set { SetChildByRole(Roles.Expression, value); } } + public CSharpTokenNode RParToken { + get { return GetChildByRole (Roles.RPar); } + } + public override S AcceptVisitor (AstVisitor visitor, T data) { return visitor.VisitCheckedExpression (this, data); diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/ConditionalExpression.cs b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/ConditionalExpression.cs index 5634804f7d..6cef9c0ae2 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/ConditionalExpression.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/ConditionalExpression.cs @@ -42,11 +42,19 @@ namespace ICSharpCode.NRefactory.CSharp set { SetChildByRole(ConditionRole, value); } } + public CSharpTokenNode QuestionMarkToken { + get { return GetChildByRole (QuestionMarkRole); } + } + public Expression TrueExpression { get { return GetChildByRole(TrueRole); } set { SetChildByRole(TrueRole, value); } } + public CSharpTokenNode ColonToken { + get { return GetChildByRole (ColonRole); } + } + public Expression FalseExpression { get { return GetChildByRole(FalseRole); } set { SetChildByRole(FalseRole, value); } diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/DefaultValueExpression.cs b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/DefaultValueExpression.cs index 61f45db49c..bce82ae2ba 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/DefaultValueExpression.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/DefaultValueExpression.cs @@ -31,11 +31,23 @@ namespace ICSharpCode.NRefactory.CSharp /// public class DefaultValueExpression : Expression { + public CSharpTokenNode DefaultToken { + get { return GetChildByRole (Roles.Keyword); } + } + + public CSharpTokenNode LParToken { + get { return GetChildByRole (Roles.LPar); } + } + public AstType Type { get { return GetChildByRole (Roles.Type); } set { SetChildByRole(Roles.Type, value); } } + public CSharpTokenNode RParToken { + get { return GetChildByRole (Roles.RPar); } + } + public override S AcceptVisitor (AstVisitor visitor, T data) { return visitor.VisitDefaultValueExpression (this, data); diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/DirectionExpression.cs b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/DirectionExpression.cs index 9a70089b0f..8acc180e51 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/DirectionExpression.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/DirectionExpression.cs @@ -43,6 +43,10 @@ namespace ICSharpCode.NRefactory.CSharp set; } + public CSharpTokenNode FieldDirectionToken { + get { return GetChildByRole (Roles.Keyword); } + } + public Expression Expression { get { return GetChildByRole (Roles.Expression); } set { SetChildByRole (Roles.Expression, value); } diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/IndexerExpression.cs b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/IndexerExpression.cs index b1e6309a3c..325d7daec9 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/IndexerExpression.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/IndexerExpression.cs @@ -38,11 +38,19 @@ namespace ICSharpCode.NRefactory.CSharp set { SetChildByRole(Roles.TargetExpression, value); } } + public CSharpTokenNode LBracketToken { + get { return GetChildByRole (Roles.LBracket); } + } + public IEnumerable Arguments { get { return GetChildrenByRole(Roles.Argument); } set { SetChildrenByRole(Roles.Argument, value); } } + public CSharpTokenNode RBracketToken { + get { return GetChildByRole (Roles.RBracket); } + } + public override S AcceptVisitor (AstVisitor visitor, T data) { return visitor.VisitIndexerExpression (this, data); diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/InvocationExpression.cs b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/InvocationExpression.cs index 2f24970d12..2f0a47ee13 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/InvocationExpression.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/InvocationExpression.cs @@ -38,11 +38,19 @@ namespace ICSharpCode.NRefactory.CSharp set { SetChildByRole(Roles.TargetExpression, value); } } + public CSharpTokenNode LParToken { + get { return GetChildByRole (Roles.LPar); } + } + public IEnumerable Arguments { get { return GetChildrenByRole(Roles.Argument); } set { SetChildrenByRole(Roles.Argument, value); } } + public CSharpTokenNode RParToken { + get { return GetChildByRole (Roles.RPar); } + } + public override S AcceptVisitor (AstVisitor visitor, T data) { return visitor.VisitInvocationExpression (this, data); diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/IsExpression.cs b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/IsExpression.cs index a01fa22693..94fc3ae578 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/IsExpression.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/IsExpression.cs @@ -36,6 +36,10 @@ namespace ICSharpCode.NRefactory.CSharp set { SetChildByRole(Roles.Expression, value); } } + public CSharpTokenNode IsToken { + get { return GetChildByRole (Roles.Keyword); } + } + public AstType Type { get { return GetChildByRole(Roles.Type); } set { SetChildByRole(Roles.Type, value); } diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/LambdaExpression.cs b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/LambdaExpression.cs index f8472329f6..c142dc2f1b 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/LambdaExpression.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/LambdaExpression.cs @@ -41,6 +41,10 @@ namespace ICSharpCode.NRefactory.CSharp set { SetChildrenByRole (Roles.Parameter, value); } } + public CSharpTokenNode ArrowToken { + get { return GetChildByRole (ArrowRole); } + } + public AstNode Body { get { return GetChildByRole (BodyRole); } set { SetChildByRole (BodyRole, value); } diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/MemberReferenceExpression.cs b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/MemberReferenceExpression.cs index f29f0bcfd5..4018ed641a 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/MemberReferenceExpression.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/MemberReferenceExpression.cs @@ -47,11 +47,19 @@ namespace ICSharpCode.NRefactory.CSharp } } + public CSharpTokenNode LChevronToken { + get { return GetChildByRole (Roles.LChevron); } + } + public IEnumerable TypeArguments { get { return GetChildrenByRole (Roles.TypeArgument); } set { SetChildrenByRole (Roles.TypeArgument, value); } } + public CSharpTokenNode RChevronToken { + get { return GetChildByRole (Roles.RChevron); } + } + public override S AcceptVisitor (AstVisitor visitor, T data) { return visitor.VisitMemberReferenceExpression (this, data); diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/ObjectCreateExpression.cs b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/ObjectCreateExpression.cs index aded15e96f..396899f482 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/ObjectCreateExpression.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/ObjectCreateExpression.cs @@ -35,16 +35,28 @@ namespace ICSharpCode.NRefactory.CSharp { public readonly static Role InitializerRole = ArrayCreateExpression.InitializerRole; + public CSharpTokenNode NewToken { + get { return GetChildByRole (Roles.Keyword); } + } + public AstType Type { get { return GetChildByRole (Roles.Type); } set { SetChildByRole (Roles.Type, value); } } + public CSharpTokenNode LParToken { + get { return GetChildByRole (Roles.LPar); } + } + public IEnumerable Arguments { get { return GetChildrenByRole (Roles.Argument); } set { SetChildrenByRole (Roles.Argument, value); } } + public CSharpTokenNode RParToken { + get { return GetChildByRole (Roles.RPar); } + } + public ArrayInitializerExpression Initializer { get { return GetChildByRole (InitializerRole); } set { SetChildByRole (InitializerRole, value); } diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/ParenthesizedExpression.cs b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/ParenthesizedExpression.cs index cf303fe6c0..302ac7b386 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/ParenthesizedExpression.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/ParenthesizedExpression.cs @@ -28,11 +28,19 @@ namespace ICSharpCode.NRefactory.CSharp { public class ParenthesizedExpression : Expression { + public CSharpTokenNode LParToken { + get { return GetChildByRole (Roles.LPar); } + } + public Expression Expression { get { return GetChildByRole (Roles.Expression); } set { SetChildByRole (Roles.Expression, value); } } + public CSharpTokenNode RParToken { + get { return GetChildByRole (Roles.RPar); } + } + public override S AcceptVisitor (AstVisitor visitor, T data) { return visitor.VisitParenthesizedExpression (this, data); diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/SizeOfExpression.cs b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/SizeOfExpression.cs index 01a921f90b..85b1c63f1a 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/SizeOfExpression.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/SizeOfExpression.cs @@ -31,11 +31,23 @@ namespace ICSharpCode.NRefactory.CSharp /// public class SizeOfExpression : Expression { + public CSharpTokenNode SizeOfToken { + get { return GetChildByRole (Roles.Keyword); } + } + + public CSharpTokenNode LParToken { + get { return GetChildByRole (Roles.LPar); } + } + public AstType Type { get { return GetChildByRole (Roles.Type); } set { SetChildByRole(Roles.Type, value); } } + public CSharpTokenNode RParToken { + get { return GetChildByRole (Roles.RPar); } + } + public override S AcceptVisitor (AstVisitor visitor, T data) { return visitor.VisitSizeOfExpression (this, data); diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/StackAllocExpression.cs b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/StackAllocExpression.cs index 3a3922d9a5..298b8dbb54 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/StackAllocExpression.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/StackAllocExpression.cs @@ -31,16 +31,28 @@ namespace ICSharpCode.NRefactory.CSharp /// public class StackAllocExpression : Expression { + public CSharpTokenNode StackAllocToken { + get { return GetChildByRole (Roles.Keyword); } + } + public AstType Type { get { return GetChildByRole (Roles.Type); } set { SetChildByRole(Roles.Type, value); } } + public CSharpTokenNode LBracketToken { + get { return GetChildByRole (Roles.LBracket); } + } + public Expression CountExpression { get { return GetChildByRole (Roles.Expression); } set { SetChildByRole (Roles.Expression, value); } } + public CSharpTokenNode RBracketToken { + get { return GetChildByRole (Roles.RBracket); } + } + public override S AcceptVisitor (AstVisitor visitor, T data) { return visitor.VisitStackAllocExpression (this, data); diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/TypeOfExpression.cs b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/TypeOfExpression.cs index e1db5d271d..3f9b86137c 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/TypeOfExpression.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/TypeOfExpression.cs @@ -29,11 +29,23 @@ namespace ICSharpCode.NRefactory.CSharp { public class TypeOfExpression : Expression { + public CSharpTokenNode TypeOfToken { + get { return GetChildByRole (Roles.Keyword); } + } + + public CSharpTokenNode LParToken { + get { return GetChildByRole (Roles.LPar); } + } + public AstType Type { get { return GetChildByRole (Roles.Type); } set { SetChildByRole(Roles.Type, value); } } + public CSharpTokenNode RParToken { + get { return GetChildByRole (Roles.RPar); } + } + public override S AcceptVisitor (AstVisitor visitor, T data) { return visitor.VisitTypeOfExpression (this, data); diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/UnaryOperatorExpression.cs b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/UnaryOperatorExpression.cs index 6be849a235..6bc633ef03 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/UnaryOperatorExpression.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/UnaryOperatorExpression.cs @@ -38,6 +38,10 @@ namespace ICSharpCode.NRefactory.CSharp set; } + public CSharpTokenNode OperatorToken { + get { return GetChildByRole (OperatorRole); } + } + public Expression Expression { get { return GetChildByRole (Roles.Expression); } set { SetChildByRole (Roles.Expression, value); } diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/UncheckedExpression.cs b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/UncheckedExpression.cs index 3f150abedc..e207a597a2 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Expressions/UncheckedExpression.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Expressions/UncheckedExpression.cs @@ -31,11 +31,23 @@ namespace ICSharpCode.NRefactory.CSharp /// public class UncheckedExpression : Expression { + public CSharpTokenNode UncheckedToken { + get { return GetChildByRole (Roles.Keyword); } + } + + public CSharpTokenNode LParToken { + get { return GetChildByRole (Roles.LPar); } + } + public Expression Expression { get { return GetChildByRole (Roles.Expression); } set { SetChildByRole(Roles.Expression, value); } } + public CSharpTokenNode RParToken { + get { return GetChildByRole (Roles.RPar); } + } + public override S AcceptVisitor (AstVisitor visitor, T data) { return visitor.VisitUncheckedExpression (this, data); diff --git a/ICSharpCode.NRefactory/CSharp/Ast/GeneralScope/DelegateDeclaration.cs b/ICSharpCode.NRefactory/CSharp/Ast/GeneralScope/DelegateDeclaration.cs index 460626ebaa..4d336e8567 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/GeneralScope/DelegateDeclaration.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/GeneralScope/DelegateDeclaration.cs @@ -59,11 +59,19 @@ namespace ICSharpCode.NRefactory.CSharp set { SetChildrenByRole (Roles.TypeParameter, value); } } + public CSharpTokenNode LParToken { + get { return GetChildByRole (Roles.LPar); } + } + public IEnumerable Parameters { get { return GetChildrenByRole (Roles.Parameter); } set { SetChildrenByRole (Roles.Parameter, value); } } + public CSharpTokenNode RParToken { + get { return GetChildByRole (Roles.RPar); } + } + public IEnumerable Constraints { get { return GetChildrenByRole (Roles.Constraint); } set { SetChildrenByRole (Roles.Constraint, value); } diff --git a/ICSharpCode.NRefactory/CSharp/Ast/GeneralScope/NamespaceDeclaration.cs b/ICSharpCode.NRefactory/CSharp/Ast/GeneralScope/NamespaceDeclaration.cs index 414b8c2723..91f5ab304e 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/GeneralScope/NamespaceDeclaration.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/GeneralScope/NamespaceDeclaration.cs @@ -75,11 +75,19 @@ namespace ICSharpCode.NRefactory.CSharp } } + public CSharpTokenNode LBraceToken { + get { return GetChildByRole (Roles.LBrace); } + } + public IEnumerable Members { get { return GetChildrenByRole(MemberRole); } set { SetChildrenByRole(MemberRole, value); } } + public CSharpTokenNode RBraceToken { + get { return GetChildByRole (Roles.RBrace); } + } + public static string BuildQualifiedName (string name1, string name2) { if (string.IsNullOrEmpty (name1)) diff --git a/ICSharpCode.NRefactory/CSharp/Ast/GeneralScope/TypeDeclaration.cs b/ICSharpCode.NRefactory/CSharp/Ast/GeneralScope/TypeDeclaration.cs index 3b9d306770..3ee7da9996 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/GeneralScope/TypeDeclaration.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/GeneralScope/TypeDeclaration.cs @@ -74,11 +74,19 @@ namespace ICSharpCode.NRefactory.CSharp set { SetChildrenByRole (Roles.Constraint, value); } } + public CSharpTokenNode LBraceToken { + get { return GetChildByRole (Roles.LBrace); } + } + public IEnumerable Members { get { return GetChildrenByRole (MemberRole); } set { SetChildrenByRole (MemberRole, value); } } + public CSharpTokenNode RBraceToken { + get { return GetChildByRole (Roles.RBrace); } + } + public override S AcceptVisitor (AstVisitor visitor, T data) { return visitor.VisitTypeDeclaration (this, data); diff --git a/ICSharpCode.NRefactory/CSharp/Ast/GeneralScope/UsingAliasDeclaration.cs b/ICSharpCode.NRefactory/CSharp/Ast/GeneralScope/UsingAliasDeclaration.cs index f570c22e73..bcb3d31c71 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/GeneralScope/UsingAliasDeclaration.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/GeneralScope/UsingAliasDeclaration.cs @@ -40,6 +40,10 @@ namespace ICSharpCode.NRefactory.CSharp } } + public CSharpTokenNode UsingToken { + get { return GetChildByRole (Roles.Keyword); } + } + public string Alias { get { return GetChildByRole (AliasRole).Name; @@ -54,6 +58,10 @@ namespace ICSharpCode.NRefactory.CSharp set { SetChildByRole (ImportRole, value); } } + public CSharpTokenNode SemicolonToken { + get { return GetChildByRole (Roles.Semicolon); } + } + public override S AcceptVisitor (AstVisitor visitor, T data) { return visitor.VisitUsingAliasDeclaration (this, data); diff --git a/ICSharpCode.NRefactory/CSharp/Ast/GeneralScope/UsingDeclaration.cs b/ICSharpCode.NRefactory/CSharp/Ast/GeneralScope/UsingDeclaration.cs index 685f496b92..0a63cc97c1 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/GeneralScope/UsingDeclaration.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/GeneralScope/UsingDeclaration.cs @@ -43,6 +43,10 @@ namespace ICSharpCode.NRefactory.CSharp } } + public CSharpTokenNode UsingToken { + get { return GetChildByRole (Roles.Keyword); } + } + public AstType Import { get { return GetChildByRole (ImportRole); } set { SetChildByRole (ImportRole, value); } @@ -52,6 +56,10 @@ namespace ICSharpCode.NRefactory.CSharp get { return this.Import.ToString(); } } + public CSharpTokenNode SemicolonToken { + get { return GetChildByRole (Roles.Semicolon); } + } + public override S AcceptVisitor (AstVisitor visitor, T data) { return visitor.VisitUsingDeclaration (this, data); diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Statements/BlockStatement.cs b/ICSharpCode.NRefactory/CSharp/Ast/Statements/BlockStatement.cs index 63c79eb85b..0149712531 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Statements/BlockStatement.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Statements/BlockStatement.cs @@ -52,11 +52,19 @@ namespace ICSharpCode.NRefactory.CSharp } #endregion + public CSharpTokenNode LBraceToken { + get { return GetChildByRole (Roles.LBrace); } + } + public IEnumerable Statements { get { return GetChildrenByRole (StatementRole); } set { SetChildrenByRole (StatementRole, value); } } + public CSharpTokenNode RBraceToken { + get { return GetChildByRole (Roles.RBrace); } + } + public override S AcceptVisitor (AstVisitor visitor, T data) { return visitor.VisitBlockStatement (this, data); diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Statements/BreakStatement.cs b/ICSharpCode.NRefactory/CSharp/Ast/Statements/BreakStatement.cs index df8b15f75e..8fe8d5da4b 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Statements/BreakStatement.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Statements/BreakStatement.cs @@ -31,6 +31,10 @@ namespace ICSharpCode.NRefactory.CSharp /// public class BreakStatement : Statement { + public CSharpTokenNode SemicolonToken { + get { return GetChildByRole (Roles.Semicolon); } + } + public override S AcceptVisitor (AstVisitor visitor, T data) { return visitor.VisitBreakStatement (this, data); diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Statements/CheckedStatement.cs b/ICSharpCode.NRefactory/CSharp/Ast/Statements/CheckedStatement.cs index 50f7d551de..f274dd0510 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Statements/CheckedStatement.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Statements/CheckedStatement.cs @@ -31,6 +31,10 @@ namespace ICSharpCode.NRefactory.CSharp /// public class CheckedStatement : Statement { + public CSharpTokenNode CheckedToken { + get { return GetChildByRole (Roles.Keyword); } + } + public BlockStatement Body { get { return GetChildByRole (Roles.Body); } set { SetChildByRole (Roles.Body, value); } diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Statements/ContinueStatement.cs b/ICSharpCode.NRefactory/CSharp/Ast/Statements/ContinueStatement.cs index e0d844e8e4..0aaf85386f 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Statements/ContinueStatement.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Statements/ContinueStatement.cs @@ -31,6 +31,10 @@ namespace ICSharpCode.NRefactory.CSharp /// public class ContinueStatement : Statement { + public CSharpTokenNode SemicolonToken { + get { return GetChildByRole (Roles.Semicolon); } + } + public override S AcceptVisitor (AstVisitor visitor, T data) { return visitor.VisitContinueStatement (this, data); diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Statements/ExpressionStatement.cs b/ICSharpCode.NRefactory/CSharp/Ast/Statements/ExpressionStatement.cs index bf20b28c59..68e4f36d3c 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Statements/ExpressionStatement.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Statements/ExpressionStatement.cs @@ -35,7 +35,11 @@ namespace ICSharpCode.NRefactory.CSharp get { return GetChildByRole (Roles.Expression); } set { SetChildByRole (Roles.Expression, value); } } - + + public CSharpTokenNode SemicolonToken { + get { return GetChildByRole (Roles.Semicolon); } + } + public override S AcceptVisitor (AstVisitor visitor, T data) { return visitor.VisitExpressionStatement (this, data); diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Statements/FixedStatement.cs b/ICSharpCode.NRefactory/CSharp/Ast/Statements/FixedStatement.cs index 7fac29f685..685d07a7dc 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Statements/FixedStatement.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Statements/FixedStatement.cs @@ -33,6 +33,14 @@ namespace ICSharpCode.NRefactory.CSharp /// public class FixedStatement : Statement { + public CSharpTokenNode FixedToken { + get { return GetChildByRole (Roles.Keyword); } + } + + public CSharpTokenNode LParToken { + get { return GetChildByRole (Roles.LPar); } + } + public AstType Type { get { return GetChildByRole (Roles.Type); } set { SetChildByRole (Roles.Type, value); } @@ -43,6 +51,10 @@ namespace ICSharpCode.NRefactory.CSharp set { SetChildrenByRole (Roles.Variable, value); } } + public CSharpTokenNode RParToken { + get { return GetChildByRole (Roles.RPar); } + } + public Statement EmbeddedStatement { get { return GetChildByRole (Roles.EmbeddedStatement); } set { SetChildByRole (Roles.EmbeddedStatement, value); } diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Statements/ForStatement.cs b/ICSharpCode.NRefactory/CSharp/Ast/Statements/ForStatement.cs index 216811b150..8a5ef84036 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Statements/ForStatement.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Statements/ForStatement.cs @@ -36,6 +36,14 @@ namespace ICSharpCode.NRefactory.CSharp public readonly static Role InitializerRole = new Role("Initializer", Statement.Null); public readonly static Role IteratorRole = new Role("Iterator", Statement.Null); + public CSharpTokenNode ForToken { + get { return GetChildByRole (Roles.Keyword); } + } + + public CSharpTokenNode LParToken { + get { return GetChildByRole (Roles.LPar); } + } + /// /// Gets the list of initializer statements. /// Note: this contains multiple statements for "for (a = 2, b = 1; a > b; a--)", but contains @@ -56,6 +64,10 @@ namespace ICSharpCode.NRefactory.CSharp set { SetChildrenByRole (IteratorRole, value); } } + public CSharpTokenNode RParToken { + get { return GetChildByRole (Roles.RPar); } + } + public Statement EmbeddedStatement { get { return GetChildByRole (Roles.EmbeddedStatement); } set { SetChildByRole (Roles.EmbeddedStatement, value); } diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Statements/ForeachStatement.cs b/ICSharpCode.NRefactory/CSharp/Ast/Statements/ForeachStatement.cs index 4e9c664f21..d5cad0f324 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Statements/ForeachStatement.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Statements/ForeachStatement.cs @@ -31,6 +31,14 @@ namespace ICSharpCode.NRefactory.CSharp /// public class ForeachStatement : Statement { + public CSharpTokenNode ForeachToken { + get { return GetChildByRole (Roles.Keyword); } + } + + public CSharpTokenNode LParToken { + get { return GetChildByRole (Roles.LPar); } + } + public AstType VariableType { get { return GetChildByRole (Roles.Type); } set { SetChildByRole (Roles.Type, value); } @@ -45,11 +53,19 @@ namespace ICSharpCode.NRefactory.CSharp } } + public CSharpTokenNode InToken { + get { return GetChildByRole (Roles.InKeyword); } + } + public Expression InExpression { get { return GetChildByRole (Roles.Expression); } set { SetChildByRole (Roles.Expression, value); } } + public CSharpTokenNode RParToken { + get { return GetChildByRole (Roles.RPar); } + } + public Statement EmbeddedStatement { get { return GetChildByRole (Roles.EmbeddedStatement); } set { SetChildByRole (Roles.EmbeddedStatement, value); } diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Statements/GotoStatement.cs b/ICSharpCode.NRefactory/CSharp/Ast/Statements/GotoStatement.cs index 85dee689bf..1cfc9a95b7 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Statements/GotoStatement.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Statements/GotoStatement.cs @@ -41,6 +41,10 @@ namespace ICSharpCode.NRefactory.CSharp set; } + public CSharpTokenNode GotoToken { + get { return GetChildByRole (Roles.Keyword); } + } + public string Label { get { return GetChildByRole (Roles.Identifier).Name; @@ -61,6 +65,10 @@ namespace ICSharpCode.NRefactory.CSharp set { SetChildByRole (Roles.Expression, value); } } + public CSharpTokenNode SemicolonToken { + get { return GetChildByRole (Roles.Semicolon); } + } + public override S AcceptVisitor (AstVisitor visitor, T data) { return visitor.VisitGotoStatement (this, data); diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Statements/IfElseStatement.cs b/ICSharpCode.NRefactory/CSharp/Ast/Statements/IfElseStatement.cs index 6f7569bad9..62f294f07a 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Statements/IfElseStatement.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Statements/IfElseStatement.cs @@ -38,16 +38,32 @@ namespace ICSharpCode.NRefactory.CSharp public readonly static Role ElseKeywordRole = new Role("ElseKeyword", CSharpTokenNode.Null); public readonly static Role FalseRole = new Role("False", Statement.Null); + public CSharpTokenNode IfToken { + get { return GetChildByRole (IfKeywordRole); } + } + + public CSharpTokenNode LParToken { + get { return GetChildByRole (Roles.LPar); } + } + public Expression Condition { get { return GetChildByRole (ConditionRole); } set { SetChildByRole (ConditionRole, value); } } + public CSharpTokenNode RParToken { + get { return GetChildByRole (Roles.RPar); } + } + public Statement TrueStatement { get { return GetChildByRole (TrueRole); } set { SetChildByRole (TrueRole, value); } } + public CSharpTokenNode ElseToken { + get { return GetChildByRole (ElseKeywordRole); } + } + public Statement FalseStatement { get { return GetChildByRole (FalseRole); } set { SetChildByRole (FalseRole, value); } diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Statements/LockStatement.cs b/ICSharpCode.NRefactory/CSharp/Ast/Statements/LockStatement.cs index 9315842c6d..ffa17e7f32 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Statements/LockStatement.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Statements/LockStatement.cs @@ -31,11 +31,23 @@ namespace ICSharpCode.NRefactory.CSharp /// public class LockStatement : Statement { + public CSharpTokenNode LockToken { + get { return GetChildByRole (Roles.Keyword); } + } + + public CSharpTokenNode LParToken { + get { return GetChildByRole (Roles.LPar); } + } + public Expression Expression { get { return GetChildByRole (Roles.Expression); } set { SetChildByRole (Roles.Expression, value); } } + public CSharpTokenNode RParToken { + get { return GetChildByRole (Roles.RPar); } + } + public Statement EmbeddedStatement { get { return GetChildByRole (Roles.EmbeddedStatement); } set { SetChildByRole (Roles.EmbeddedStatement, value); } diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Statements/ReturnStatement.cs b/ICSharpCode.NRefactory/CSharp/Ast/Statements/ReturnStatement.cs index 9bf5dfe5b3..d3db45e4ec 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Statements/ReturnStatement.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Statements/ReturnStatement.cs @@ -31,11 +31,19 @@ namespace ICSharpCode.NRefactory.CSharp /// public class ReturnStatement : Statement { + public CSharpTokenNode ReturnToken { + get { return GetChildByRole (Roles.Keyword); } + } + public Expression Expression { get { return GetChildByRole (Roles.Expression); } set { SetChildByRole (Roles.Expression, value); } } + public CSharpTokenNode SemicolonToken { + get { return GetChildByRole (Roles.Semicolon); } + } + public override S AcceptVisitor (AstVisitor visitor, T data) { return visitor.VisitReturnStatement (this, data); diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Statements/SwitchStatement.cs b/ICSharpCode.NRefactory/CSharp/Ast/Statements/SwitchStatement.cs index 0370b5bfab..b7f2cf90c6 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Statements/SwitchStatement.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Statements/SwitchStatement.cs @@ -36,16 +36,36 @@ namespace ICSharpCode.NRefactory.CSharp { public static readonly Role SwitchSectionRole = new Role("SwitchSection"); + public CSharpTokenNode SwitchToken { + get { return GetChildByRole (Roles.Keyword); } + } + + public CSharpTokenNode LParToken { + get { return GetChildByRole (Roles.LPar); } + } + public Expression Expression { get { return GetChildByRole (Roles.Expression); } set { SetChildByRole (Roles.Expression, value); } } + public CSharpTokenNode RParToken { + get { return GetChildByRole (Roles.RPar); } + } + + public CSharpTokenNode LBraceToken { + get { return GetChildByRole (Roles.LBrace); } + } + public IEnumerable SwitchSections { get { return GetChildrenByRole (SwitchSectionRole); } set { SetChildrenByRole (SwitchSectionRole, value); } } + public CSharpTokenNode RBraceToken { + get { return GetChildByRole (Roles.RBrace); } + } + public override S AcceptVisitor (AstVisitor visitor, T data) { return visitor.VisitSwitchStatement (this, data); diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Statements/ThrowStatement.cs b/ICSharpCode.NRefactory/CSharp/Ast/Statements/ThrowStatement.cs index f8a0ca7b29..5b6141cd52 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Statements/ThrowStatement.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Statements/ThrowStatement.cs @@ -31,11 +31,19 @@ namespace ICSharpCode.NRefactory.CSharp /// public class ThrowStatement : Statement { + public CSharpTokenNode ThrowToken { + get { return GetChildByRole (Roles.Keyword); } + } + public Expression Expression { get { return GetChildByRole (Roles.Expression); } set { SetChildByRole (Roles.Expression, value); } } + public CSharpTokenNode SemicolonToken { + get { return GetChildByRole (Roles.Semicolon); } + } + public override S AcceptVisitor (AstVisitor visitor, T data) { return visitor.VisitThrowStatement (this, data); diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Statements/UncheckedStatement.cs b/ICSharpCode.NRefactory/CSharp/Ast/Statements/UncheckedStatement.cs index 7defb11d35..ddb38cd0b6 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Statements/UncheckedStatement.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Statements/UncheckedStatement.cs @@ -31,6 +31,10 @@ namespace ICSharpCode.NRefactory.CSharp /// public class UncheckedStatement : Statement { + public CSharpTokenNode UncheckedToken { + get { return GetChildByRole (Roles.Keyword); } + } + public BlockStatement Body { get { return GetChildByRole (Roles.Body); } set { SetChildByRole (Roles.Body, value); } diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Statements/UnsafeStatement.cs b/ICSharpCode.NRefactory/CSharp/Ast/Statements/UnsafeStatement.cs index cdee51c9d1..e7898ef579 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Statements/UnsafeStatement.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Statements/UnsafeStatement.cs @@ -31,6 +31,10 @@ namespace ICSharpCode.NRefactory.CSharp /// public class UnsafeStatement : Statement { + public CSharpTokenNode UnsafeToken { + get { return GetChildByRole (Roles.Keyword); } + } + public BlockStatement Body { get { return GetChildByRole (Roles.Body); } set { SetChildByRole (Roles.Body, value); } diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Statements/UsingStatement.cs b/ICSharpCode.NRefactory/CSharp/Ast/Statements/UsingStatement.cs index 1421620b2e..0a0623aecb 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Statements/UsingStatement.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Statements/UsingStatement.cs @@ -33,6 +33,14 @@ namespace ICSharpCode.NRefactory.CSharp { public static readonly Role ResourceAcquisitionRole = new Role("ResourceAcquisition", AstNode.Null); + public CSharpTokenNode UsingToken { + get { return GetChildByRole (Roles.Keyword); } + } + + public CSharpTokenNode LParToken { + get { return GetChildByRole (Roles.LPar); } + } + /// /// Either a VariableDeclarationStatement, or an Expression. /// @@ -41,6 +49,10 @@ namespace ICSharpCode.NRefactory.CSharp set { SetChildByRole (ResourceAcquisitionRole, value); } } + public CSharpTokenNode RParToken { + get { return GetChildByRole (Roles.RPar); } + } + public Statement EmbeddedStatement { get { return GetChildByRole (Roles.EmbeddedStatement); } set { SetChildByRole (Roles.EmbeddedStatement, value); } diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Statements/VariableDeclarationStatement.cs b/ICSharpCode.NRefactory/CSharp/Ast/Statements/VariableDeclarationStatement.cs index a61afd3aaf..5aa0ad3ad6 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Statements/VariableDeclarationStatement.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Statements/VariableDeclarationStatement.cs @@ -48,6 +48,10 @@ namespace ICSharpCode.NRefactory.CSharp set { SetChildrenByRole (Roles.Variable, value); } } + public CSharpTokenNode SemicolonToken { + get { return GetChildByRole (Roles.Semicolon); } + } + public override S AcceptVisitor (AstVisitor visitor, T data) { return visitor.VisitVariableDeclarationStatement (this, data); diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Statements/WhileStatement.cs b/ICSharpCode.NRefactory/CSharp/Ast/Statements/WhileStatement.cs index ff596bbbff..2e78196d72 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Statements/WhileStatement.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Statements/WhileStatement.cs @@ -40,11 +40,27 @@ namespace ICSharpCode.NRefactory.CSharp set; } + public CSharpTokenNode DoToken { + get { return GetChildByRole (DoKeywordRole); } + } + + public CSharpTokenNode WhileToken { + get { return GetChildByRole (WhileKeywordRole); } + } + + public CSharpTokenNode LParToken { + get { return GetChildByRole (Roles.LPar); } + } + public Expression Condition { get { return GetChildByRole (Roles.Condition); } set { SetChildByRole (Roles.Condition, value); } } + public CSharpTokenNode RParToken { + get { return GetChildByRole (Roles.RPar); } + } + public Statement EmbeddedStatement { get { return GetChildByRole (Roles.EmbeddedStatement); } set { SetChildByRole (Roles.EmbeddedStatement, value); } diff --git a/ICSharpCode.NRefactory/CSharp/Ast/Statements/YieldStatement.cs b/ICSharpCode.NRefactory/CSharp/Ast/Statements/YieldStatement.cs index 1ff7511ba4..9f34039476 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/Statements/YieldStatement.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/Statements/YieldStatement.cs @@ -32,11 +32,27 @@ namespace ICSharpCode.NRefactory.CSharp public static readonly Role ReturnKeywordRole = new Role("ReturnKeyword", CSharpTokenNode.Null); public static readonly Role BreakKeywordRole = new Role("BreakKeyword", CSharpTokenNode.Null); + public CSharpTokenNode YieldToken { + get { return GetChildByRole (YieldKeywordRole); } + } + + public CSharpTokenNode ReturnToken { + get { return GetChildByRole (ReturnKeywordRole); } + } + + public CSharpTokenNode BreakToken { + get { return GetChildByRole (BreakKeywordRole); } + } + public Expression Expression { get { return GetChildByRole (Roles.Expression); } set { SetChildByRole (Roles.Expression, value); } } + public CSharpTokenNode SemicolonToken { + get { return GetChildByRole (Roles.Semicolon); } + } + public override S AcceptVisitor (AstVisitor visitor, T data) { return visitor.VisitYieldStatement (this, data); diff --git a/ICSharpCode.NRefactory/CSharp/Ast/TypeMembers/ConstructorDeclaration.cs b/ICSharpCode.NRefactory/CSharp/Ast/TypeMembers/ConstructorDeclaration.cs index a51423d8ed..8e035613c3 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/TypeMembers/ConstructorDeclaration.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/TypeMembers/ConstructorDeclaration.cs @@ -33,11 +33,19 @@ namespace ICSharpCode.NRefactory.CSharp { public static readonly Role InitializerRole = new Role("Initializer", ConstructorInitializer.Null); + public CSharpTokenNode LParToken { + get { return GetChildByRole (Roles.LPar); } + } + public IEnumerable Parameters { get { return GetChildrenByRole (Roles.Parameter); } set { SetChildrenByRole (Roles.Parameter, value); } } + public CSharpTokenNode RParToken { + get { return GetChildByRole (Roles.RPar); } + } + public ConstructorInitializer Initializer { get { return GetChildByRole (InitializerRole); } set { SetChildByRole( InitializerRole, value); } diff --git a/ICSharpCode.NRefactory/CSharp/Ast/TypeMembers/DestructorDeclaration.cs b/ICSharpCode.NRefactory/CSharp/Ast/TypeMembers/DestructorDeclaration.cs index d3b2f176c0..68a15599a8 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/TypeMembers/DestructorDeclaration.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/TypeMembers/DestructorDeclaration.cs @@ -30,6 +30,17 @@ namespace ICSharpCode.NRefactory.CSharp { public static readonly Role TildeRole = new Role("Tilde", CSharpTokenNode.Null); + public CSharpTokenNode TildeToken { + get { return GetChildByRole (TildeRole); } + } + + public CSharpTokenNode LParToken { + get { return GetChildByRole (Roles.LPar); } + } + + public CSharpTokenNode RParToken { + get { return GetChildByRole (Roles.RPar); } + } public BlockStatement Body { get { return GetChildByRole (Roles.Body); } set { SetChildByRole (Roles.Body, value); } diff --git a/ICSharpCode.NRefactory/CSharp/Ast/TypeMembers/MethodDeclaration.cs b/ICSharpCode.NRefactory/CSharp/Ast/TypeMembers/MethodDeclaration.cs index 693e11848b..eefa201c9a 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/TypeMembers/MethodDeclaration.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/TypeMembers/MethodDeclaration.cs @@ -36,11 +36,19 @@ namespace ICSharpCode.NRefactory.CSharp set { SetChildrenByRole (Roles.TypeParameter, value); } } + public CSharpTokenNode LParToken { + get { return GetChildByRole (Roles.LPar); } + } + public IEnumerable Parameters { get { return GetChildrenByRole (Roles.Parameter); } set { SetChildrenByRole (Roles.Parameter, value); } } + public CSharpTokenNode RParToken { + get { return GetChildByRole (Roles.RPar); } + } + public IEnumerable Constraints { get { return GetChildrenByRole (Roles.Constraint); } set { SetChildrenByRole (Roles.Constraint, value); } diff --git a/ICSharpCode.NRefactory/CSharp/Ast/TypeMembers/OperatorDeclaration.cs b/ICSharpCode.NRefactory/CSharp/Ast/TypeMembers/OperatorDeclaration.cs index 3db4c0c55f..039c2647ef 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/TypeMembers/OperatorDeclaration.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/TypeMembers/OperatorDeclaration.cs @@ -76,11 +76,19 @@ namespace ICSharpCode.NRefactory.CSharp set; } + public CSharpTokenNode LParToken { + get { return GetChildByRole (Roles.LPar); } + } + public IEnumerable Parameters { get { return GetChildrenByRole (Roles.Parameter); } set { SetChildrenByRole (Roles.Parameter, value); } } + public CSharpTokenNode RParToken { + get { return GetChildByRole (Roles.RPar); } + } + public BlockStatement Body { get { return GetChildByRole (Roles.Body); } set { SetChildByRole (Roles.Body, value); } diff --git a/ICSharpCode.NRefactory/CSharp/Ast/TypeMembers/PropertyDeclaration.cs b/ICSharpCode.NRefactory/CSharp/Ast/TypeMembers/PropertyDeclaration.cs index 53171560bd..0eb035d9ad 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/TypeMembers/PropertyDeclaration.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/TypeMembers/PropertyDeclaration.cs @@ -31,6 +31,10 @@ namespace ICSharpCode.NRefactory.CSharp public static readonly Role GetterRole = new Role("Getter", Accessor.Null); public static readonly Role SetterRole = new Role("Setter", Accessor.Null); + public CSharpTokenNode LBraceToken { + get { return GetChildByRole (Roles.LBrace); } + } + public Accessor Getter { get { return GetChildByRole(GetterRole); } set { SetChildByRole(GetterRole, value); } @@ -41,6 +45,10 @@ namespace ICSharpCode.NRefactory.CSharp set { SetChildByRole(SetterRole, value); } } + public CSharpTokenNode RBraceToken { + get { return GetChildByRole (Roles.RBrace); } + } + public override S AcceptVisitor (AstVisitor visitor, T data) { return visitor.VisitPropertyDeclaration (this, data); diff --git a/ICSharpCode.NRefactory/CSharp/Ast/TypeMembers/VariableInitializer.cs b/ICSharpCode.NRefactory/CSharp/Ast/TypeMembers/VariableInitializer.cs index e93645eb52..8bec1f6a65 100644 --- a/ICSharpCode.NRefactory/CSharp/Ast/TypeMembers/VariableInitializer.cs +++ b/ICSharpCode.NRefactory/CSharp/Ast/TypeMembers/VariableInitializer.cs @@ -43,6 +43,10 @@ namespace ICSharpCode.NRefactory.CSharp } } + public CSharpTokenNode AssignToken { + get { return GetChildByRole (Roles.Assign); } + } + public Expression Initializer { get { return GetChildByRole (Roles.Expression); } set { SetChildByRole (Roles.Expression, value); } diff --git a/ICSharpCode.NRefactory/CSharp/Parser/CSharpParser.cs b/ICSharpCode.NRefactory/CSharp/Parser/CSharpParser.cs index 26ec418d6f..f72bad8f22 100644 --- a/ICSharpCode.NRefactory/CSharp/Parser/CSharpParser.cs +++ b/ICSharpCode.NRefactory/CSharp/Parser/CSharpParser.cs @@ -2184,7 +2184,7 @@ namespace ICSharpCode.NRefactory.CSharp { var result = new ArrayInitializerExpression (); var location = LocationsBag.GetLocations (arrayInitializer); - result.AddChild (new CSharpTokenNode (Convert (arrayInitializer.Location), "{".Length), ArrayInitializerExpression.Roles.LBracket); + result.AddChild (new CSharpTokenNode (Convert (arrayInitializer.Location), "{".Length), ArrayInitializerExpression.Roles.LBrace); var commaLocations = LocationsBag.GetLocations (arrayInitializer.Elements); for (int i = 0; i < arrayInitializer.Count; i++) { result.AddChild ((Expression)arrayInitializer[i].Accept (this), ArrayInitializerExpression.Roles.Expression); @@ -2195,7 +2195,7 @@ namespace ICSharpCode.NRefactory.CSharp if (location != null) { if (location.Count == 2) // optional comma result.AddChild (new CSharpTokenNode (Convert (location[1]), ",".Length), ArrayInitializerExpression.Roles.Comma); - result.AddChild (new CSharpTokenNode (Convert (location[location.Count - 1]), "}".Length), ArrayInitializerExpression.Roles.RBracket); + result.AddChild (new CSharpTokenNode (Convert (location[location.Count - 1]), "}".Length), ArrayInitializerExpression.Roles.RBrace); } return result; }