Package org.codehaus.groovy.control
Class PlaceholderVisitor
java.lang.Object
org.codehaus.groovy.ast.CodeVisitorSupport
org.codehaus.groovy.ast.ClassCodeVisitorSupport
org.codehaus.groovy.control.PlaceholderVisitor
- All Implemented Interfaces:
GroovyClassVisitor,GroovyCodeVisitor,ErrorCollecting
Marks repeated underscore placeholders used in tuple and closure parameters.
-
Constructor Summary
ConstructorsConstructorDescriptionPlaceholderVisitor(CompilationUnit compilationUnit, SourceUnit source) Creates a visitor for placeholder analysis. -
Method Summary
Modifier and TypeMethodDescriptionprotected SourceUnitReturns the source unit currently being visited.static booleanisPlaceholder(ASTNode node) Checks whether the supplied node has been marked as a placeholder.voidvisitClosureExpression(ClosureExpression expression) Visit the Closure (or Lambda) marking underscore-named parameters as placeholdersvoidvisitDeclarationExpression(DeclarationExpression expression) Visit the declaration marking underscore-named variables in multi-assignments as placeholdersMethods inherited from class org.codehaus.groovy.ast.ClassCodeVisitorSupport
addError, visitAnnotation, visitAnnotations, visitAnnotations, visitAssertStatement, visitBlockStatement, visitBreakStatement, visitCaseStatement, visitCatchStatement, visitClass, visitClassCodeContainer, visitConstructor, visitConstructorOrMethod, visitContinueStatement, visitDoWhileLoop, visitExpressionStatement, visitField, visitForLoop, visitIfElse, visitImports, visitMethod, visitObjectInitializerStatements, visitPackage, visitProperty, visitReturnStatement, visitStatement, visitStatementAnnotations, visitSwitch, visitSynchronizedStatement, visitThrowStatement, visitTryCatchFinally, visitWhileLoopMethods inherited from class org.codehaus.groovy.ast.CodeVisitorSupport
afterSwitchCaseStatementsVisited, afterSwitchConditionExpressionVisited, visitArgumentlistExpression, visitArrayExpression, visitAttributeExpression, visitBinaryExpression, visitBitwiseNegationExpression, visitBooleanExpression, visitBytecodeExpression, visitCastExpression, visitClassExpression, visitClosureListExpression, visitConstantExpression, visitConstructorCallExpression, visitEmptyStatement, visitFieldExpression, visitGStringExpression, visitLambdaExpression, visitListExpression, visitMapEntryExpression, visitMapExpression, visitMethodCallExpression, visitMethodPointerExpression, visitMethodReferenceExpression, visitNotExpression, visitPostfixExpression, visitPrefixExpression, visitPropertyExpression, visitRangeExpression, visitShortTernaryExpression, visitSpreadExpression, visitSpreadMapExpression, visitStaticMethodCallExpression, visitTernaryExpression, visitTupleExpression, visitUnaryMinusExpression, visitUnaryPlusExpression, visitVariableExpressionMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.codehaus.groovy.ast.GroovyCodeVisitor
visit, visit, visitEmptyExpression, visitListOfExpressions
-
Constructor Details
-
PlaceholderVisitor
Creates a visitor for placeholder analysis.- Parameters:
compilationUnit- the owning compilation unitsource- the source unit being visited
-
-
Method Details
-
getSourceUnit
Returns the source unit currently being visited.- Specified by:
getSourceUnitin classClassCodeVisitorSupport- Returns:
- the active source unit
-
visitDeclarationExpression
Visit the declaration marking underscore-named variables in multi-assignments as placeholders- Specified by:
visitDeclarationExpressionin interfaceGroovyCodeVisitor- Overrides:
visitDeclarationExpressionin classClassCodeVisitorSupport- Parameters:
expression- the expression to check
-
visitClosureExpression
Visit the Closure (or Lambda) marking underscore-named parameters as placeholders- Specified by:
visitClosureExpressionin interfaceGroovyCodeVisitor- Overrides:
visitClosureExpressionin classClassCodeVisitorSupport- Parameters:
expression- the expression to check
-
isPlaceholder
Checks whether the supplied node has been marked as a placeholder.- Parameters:
node- the node to inspect- Returns:
trueif the node is a placeholder
-