public ForSyntax( Token openSquare, Token forKeyword, LocalVariableSyntax itemVariable, SyntaxBase inKeyword, SyntaxBase expression, SyntaxBase colon, SyntaxBase body, SyntaxBase closeSquare) { AssertTokenType(openSquare, nameof(openSquare), TokenType.LeftSquare); AssertKeyword(forKeyword, nameof(forKeyword), LanguageConstants.ForKeyword); AssertSyntaxType(inKeyword, nameof(inKeyword), typeof(Token), typeof(SkippedTriviaSyntax)); AssertKeyword(inKeyword as Token, nameof(inKeyword), LanguageConstants.InKeyword); AssertSyntaxType(colon, nameof(colon), typeof(Token), typeof(SkippedTriviaSyntax)); AssertTokenType(colon as Token, nameof(colon), TokenType.Colon); AssertSyntaxType(closeSquare, nameof(closeSquare), typeof(Token), typeof(SkippedTriviaSyntax)); AssertTokenType(closeSquare as Token, nameof(closeSquare), TokenType.RightSquare); this.OpenSquare = openSquare; this.ForKeyword = forKeyword; this.ItemVariable = itemVariable; this.InKeyword = inKeyword; this.Expression = expression; this.Colon = colon; this.Body = body; this.CloseSquare = closeSquare; }
protected virtual SyntaxBase ReplaceLocalVariableSyntax(LocalVariableSyntax syntax) { var hasChanges = TryRewriteStrict(syntax.Name, out var name); if (!hasChanges) { return(syntax); } return(new LocalVariableSyntax(name)); }
protected virtual LocalVariableSyntax ReplaceLocalVariableSyntax(LocalVariableSyntax syntax) { var hasChanges = Rewrite(syntax.Name, out var name); if (!hasChanges) { return(syntax); } return(new LocalVariableSyntax(name)); }
public ForVariableBlockSyntax(Token openParen, LocalVariableSyntax itemVariable, SyntaxBase comma, LocalVariableSyntax indexVariable, SyntaxBase closeParen) { AssertTokenType(openParen, nameof(openParen), TokenType.LeftParen); AssertSyntaxType(comma, nameof(comma), typeof(Token), typeof(SkippedTriviaSyntax)); AssertTokenType(comma as Token, nameof(comma), TokenType.Comma); AssertSyntaxType(closeParen, nameof(closeParen), typeof(Token), typeof(SkippedTriviaSyntax)); AssertTokenType(closeParen as Token, nameof(closeParen), TokenType.RightParen); this.OpenParen = openParen; this.ItemVariable = itemVariable; this.Comma = comma; this.IndexVariable = indexVariable; this.CloseParen = closeParen; }
void ISyntaxVisitor.VisitLocalVariableSyntax(LocalVariableSyntax syntax) => ReplaceCurrent(syntax, ReplaceLocalVariableSyntax);
public virtual void VisitLocalVariableSyntax(LocalVariableSyntax syntax) { this.Visit(syntax.Name); }