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
FieldsFields inherited from class org.glassfish.pfl.dynamic.codegen.impl.TreeWalker
context
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
void
void
void
void
void
void
void
void
void
void
void
void
void
void
void
void
void
void
void
void
postVariable
(Variable arg) boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
boolean
preVariable
(Variable arg) boolean
void
void
void
void
private String
value()
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
-
Field Details
-
imports
-
sb
-
-
Constructor Details
-
SourceExpressionVisitor
-
-
Method Details
-
typeName
-
value
-
preNode
- Overrides:
preNode
in classTreeWalker
-
preVariable
- Overrides:
preVariable
in classTreeWalker
-
postVariable
- Overrides:
postVariable
in classTreeWalker
-
preConstantExpression
- Overrides:
preConstantExpression
in classTreeWalker
-
preVoidExpression
- Overrides:
preVoidExpression
in classTreeWalker
-
preThisExpression
- Overrides:
preThisExpression
in classTreeWalker
-
preUnaryOperatorExpression
- Overrides:
preUnaryOperatorExpression
in classTreeWalker
-
postUnaryOperatorExpression
- Overrides:
postUnaryOperatorExpression
in classTreeWalker
-
preBinaryOperatorExpression
- Overrides:
preBinaryOperatorExpression
in classTreeWalker
-
binaryOperatorExpressionBeforeRight
- Overrides:
binaryOperatorExpressionBeforeRight
in classTreeWalker
-
postBinaryOperatorExpression
- Overrides:
postBinaryOperatorExpression
in classTreeWalker
-
preCastExpression
- Overrides:
preCastExpression
in classTreeWalker
-
postCastExpression
- Overrides:
postCastExpression
in classTreeWalker
-
preInstofExpression
- Overrides:
preInstofExpression
in classTreeWalker
-
postInstofExpression
- Overrides:
postInstofExpression
in classTreeWalker
-
preNonStaticCallExpression
- Overrides:
preNonStaticCallExpression
in classTreeWalker
-
nonStaticCallExpressionBeforeArg
- Overrides:
nonStaticCallExpressionBeforeArg
in classTreeWalker
-
postNonStaticCallExpression
- Overrides:
postNonStaticCallExpression
in classTreeWalker
-
preStaticCallExpression
- Overrides:
preStaticCallExpression
in classTreeWalker
-
staticCallExpressionBeforeArg
- Overrides:
staticCallExpressionBeforeArg
in classTreeWalker
-
postStaticCallExpression
- Overrides:
postStaticCallExpression
in classTreeWalker
-
preNewObjExpression
- Overrides:
preNewObjExpression
in classTreeWalker
-
newObjExpressionBeforeArg
- Overrides:
newObjExpressionBeforeArg
in classTreeWalker
-
postNewObjExpression
- Overrides:
postNewObjExpression
in classTreeWalker
-
preNewArrExpression
- Overrides:
preNewArrExpression
in classTreeWalker
-
newArrExpressionBeforeExpression
- Overrides:
newArrExpressionBeforeExpression
in classTreeWalker
-
postNewArrExpression
- Overrides:
postNewArrExpression
in classTreeWalker
-
preSuperCallExpression
- Overrides:
preSuperCallExpression
in classTreeWalker
-
superCallExpressionBeforeArg
- Overrides:
superCallExpressionBeforeArg
in classTreeWalker
-
postSuperCallExpression
- Overrides:
postSuperCallExpression
in classTreeWalker
-
preSuperObjExpression
- Overrides:
preSuperObjExpression
in classTreeWalker
-
superObjExpressionBeforeArg
- Overrides:
superObjExpressionBeforeArg
in classTreeWalker
-
postSuperObjExpression
- Overrides:
postSuperObjExpression
in classTreeWalker
-
preThisObjExpression
- Overrides:
preThisObjExpression
in classTreeWalker
-
thisObjExpressionBeforeArg
- Overrides:
thisObjExpressionBeforeArg
in classTreeWalker
-
postThisObjExpression
- Overrides:
postThisObjExpression
in classTreeWalker
-
preNonStaticFieldAccessExpression
public boolean preNonStaticFieldAccessExpression(ExpressionFactory.NonStaticFieldAccessExpression arg) - Overrides:
preNonStaticFieldAccessExpression
in classTreeWalker
-
postNonStaticFieldAccessExpression
public void postNonStaticFieldAccessExpression(ExpressionFactory.NonStaticFieldAccessExpression arg) - Overrides:
postNonStaticFieldAccessExpression
in classTreeWalker
-
preStaticFieldAccessExpression
- Overrides:
preStaticFieldAccessExpression
in classTreeWalker
-
postStaticFieldAccessExpression
- Overrides:
postStaticFieldAccessExpression
in classTreeWalker
-
preArrayIndexExpression
- Overrides:
preArrayIndexExpression
in classTreeWalker
-
arrayIndexExpressionBeforeExpr
- Overrides:
arrayIndexExpressionBeforeExpr
in classTreeWalker
-
postArrayIndexExpression
- Overrides:
postArrayIndexExpression
in classTreeWalker
-
preArrayLengthExpression
- Overrides:
preArrayLengthExpression
in classTreeWalker
-
postArrayLengthExpression
- Overrides:
postArrayLengthExpression
in classTreeWalker
-