Class SourceExpressionVisitor
java.lang.Object
org.glassfish.pfl.dynamic.codegen.impl.TreeWalker
org.glassfish.pfl.dynamic.codegen.impl.SourceExpressionVisitor
- All Implemented Interfaces:
Visitor
A Visitor that generates Java source for an expression.
All expression are converted into a simple Java String.
This visitor operates only on ExpressionInternal nodes. It ignores all
Statements as well as the top level generators.
This visitor compile complex expressions by applying another instance of this visitor to the subexpressions recursively using TreeWalker. Note that the mark facility of the TreeWalkerContext is needed here to handle arguments lists for various types of calls.
-
Field Summary
Fields inherited from class org.glassfish.pfl.dynamic.codegen.impl.TreeWalker
context -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidpostVariable(Variable arg) booleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanpreVariable(Variable arg) booleanvoidvoidvoidvoidvalue()Methods inherited from class org.glassfish.pfl.dynamic.codegen.impl.TreeWalker
assignmentStatementBeforeLeftSide, blockStatementBeforeBodyStatement, caseBranchBeforeBodyStatement, classGeneratorBeforeConstructor, classGeneratorBeforeFields, classGeneratorBeforeInitializer, classGeneratorBeforeMethod, definitionStatementBeforeExpr, ifExpressionBeforeFalsePart, ifExpressionBeforeTruePart, ifStatementBeforeFalsePart, ifStatementBeforeTruePart, methodGeneratorAfterArguments, methodGeneratorBeforeArguments, newArrExpressionAfterExpression, newArrExpressionAfterSize, postAssignmentStatement, postBlockStatement, postBreakStatement, postCaseBranch, postClassGenerator, postConstantExpression, postDefinitionStatement, postExpression, postFieldGenerator, postIfExpression, postIfStatement, postMethodGenerator, postNode, postReturnStatement, postStatement, postSwitchStatement, postThisExpression, postThrowStatement, postTryStatement, postVoidExpression, postWhileStatement, preAssignmentStatement, preBlockStatement, preBreakStatement, preCaseBranch, preClassGenerator, preDefinitionStatement, preExpression, preFieldGenerator, preIfExpression, preIfStatement, preMethodGenerator, preReturnStatement, preStatement, preSwitchStatement, preThrowStatement, preTryStatement, preWhileStatement, switchStatementBeforeCaseBranches, switchStatementBeforeDefault, tryStatementBeforeBlock, tryStatementBeforeFinalPart, visitArrayIndexExpression, visitArrayLengthExpression, visitAssignmentStatement, visitBinaryOperatorExpression, visitBlockStatement, visitBreakStatement, visitCaseBranch, visitCastExpression, visitClassGenerator, visitConstantExpression, visitDefinitionStatement, visitExpression, visitFieldGenerator, visitIfExpression, visitIfStatement, visitInstofExpression, visitMethodGenerator, visitNewArrExpression, visitNewObjExpression, visitNode, visitNonStaticCallExpression, visitNonStaticFieldAccessExpression, visitReturnStatement, visitStatement, visitStaticCallExpression, visitStaticFieldAccessExpression, visitSuperCallExpression, visitSuperObjExpression, visitSwitchStatement, visitThisExpression, visitThisObjExpression, visitThrowStatement, visitTryStatement, visitUnaryOperatorExpression, visitVariable, visitVoidExpression, visitWhileStatement, whileStatementBeforeBody
-
Constructor Details
-
SourceExpressionVisitor
-
-
Method Details
-
value
-
preNode
- Overrides:
preNodein classTreeWalker
-
preVariable
- Overrides:
preVariablein classTreeWalker
-
postVariable
- Overrides:
postVariablein classTreeWalker
-
preConstantExpression
- Overrides:
preConstantExpressionin classTreeWalker
-
preVoidExpression
- Overrides:
preVoidExpressionin classTreeWalker
-
preThisExpression
- Overrides:
preThisExpressionin classTreeWalker
-
preUnaryOperatorExpression
- Overrides:
preUnaryOperatorExpressionin classTreeWalker
-
postUnaryOperatorExpression
- Overrides:
postUnaryOperatorExpressionin classTreeWalker
-
preBinaryOperatorExpression
- Overrides:
preBinaryOperatorExpressionin classTreeWalker
-
binaryOperatorExpressionBeforeRight
- Overrides:
binaryOperatorExpressionBeforeRightin classTreeWalker
-
postBinaryOperatorExpression
- Overrides:
postBinaryOperatorExpressionin classTreeWalker
-
preCastExpression
- Overrides:
preCastExpressionin classTreeWalker
-
postCastExpression
- Overrides:
postCastExpressionin classTreeWalker
-
preInstofExpression
- Overrides:
preInstofExpressionin classTreeWalker
-
postInstofExpression
- Overrides:
postInstofExpressionin classTreeWalker
-
preNonStaticCallExpression
- Overrides:
preNonStaticCallExpressionin classTreeWalker
-
nonStaticCallExpressionBeforeArg
- Overrides:
nonStaticCallExpressionBeforeArgin classTreeWalker
-
postNonStaticCallExpression
- Overrides:
postNonStaticCallExpressionin classTreeWalker
-
preStaticCallExpression
- Overrides:
preStaticCallExpressionin classTreeWalker
-
staticCallExpressionBeforeArg
- Overrides:
staticCallExpressionBeforeArgin classTreeWalker
-
postStaticCallExpression
- Overrides:
postStaticCallExpressionin classTreeWalker
-
preNewObjExpression
- Overrides:
preNewObjExpressionin classTreeWalker
-
newObjExpressionBeforeArg
- Overrides:
newObjExpressionBeforeArgin classTreeWalker
-
postNewObjExpression
- Overrides:
postNewObjExpressionin classTreeWalker
-
preNewArrExpression
- Overrides:
preNewArrExpressionin classTreeWalker
-
newArrExpressionBeforeExpression
- Overrides:
newArrExpressionBeforeExpressionin classTreeWalker
-
postNewArrExpression
- Overrides:
postNewArrExpressionin classTreeWalker
-
preSuperCallExpression
- Overrides:
preSuperCallExpressionin classTreeWalker
-
superCallExpressionBeforeArg
- Overrides:
superCallExpressionBeforeArgin classTreeWalker
-
postSuperCallExpression
- Overrides:
postSuperCallExpressionin classTreeWalker
-
preSuperObjExpression
- Overrides:
preSuperObjExpressionin classTreeWalker
-
superObjExpressionBeforeArg
- Overrides:
superObjExpressionBeforeArgin classTreeWalker
-
postSuperObjExpression
- Overrides:
postSuperObjExpressionin classTreeWalker
-
preThisObjExpression
- Overrides:
preThisObjExpressionin classTreeWalker
-
thisObjExpressionBeforeArg
- Overrides:
thisObjExpressionBeforeArgin classTreeWalker
-
postThisObjExpression
- Overrides:
postThisObjExpressionin classTreeWalker
-
preNonStaticFieldAccessExpression
public boolean preNonStaticFieldAccessExpression(ExpressionFactory.NonStaticFieldAccessExpression arg) - Overrides:
preNonStaticFieldAccessExpressionin classTreeWalker
-
postNonStaticFieldAccessExpression
public void postNonStaticFieldAccessExpression(ExpressionFactory.NonStaticFieldAccessExpression arg) - Overrides:
postNonStaticFieldAccessExpressionin classTreeWalker
-
preStaticFieldAccessExpression
- Overrides:
preStaticFieldAccessExpressionin classTreeWalker
-
postStaticFieldAccessExpression
- Overrides:
postStaticFieldAccessExpressionin classTreeWalker
-
preArrayIndexExpression
- Overrides:
preArrayIndexExpressionin classTreeWalker
-
arrayIndexExpressionBeforeExpr
- Overrides:
arrayIndexExpressionBeforeExprin classTreeWalker
-
postArrayIndexExpression
- Overrides:
postArrayIndexExpressionin classTreeWalker
-
preArrayLengthExpression
- Overrides:
preArrayLengthExpressionin classTreeWalker
-
postArrayLengthExpression
- Overrides:
postArrayLengthExpressionin classTreeWalker
-