Class SourceExpressionVisitor
- java.lang.Object
-
- org.glassfish.pfl.dynamic.codegen.impl.TreeWalker
-
- org.glassfish.pfl.dynamic.codegen.impl.SourceExpressionVisitor
-
- All Implemented Interfaces:
Visitor
public class SourceExpressionVisitor extends TreeWalker
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 Modifier and Type Field Description private ImportList
imports
private java.lang.StringBuilder
sb
-
Fields inherited from class org.glassfish.pfl.dynamic.codegen.impl.TreeWalker
context
-
-
Constructor Summary
Constructors Constructor Description SourceExpressionVisitor(TreeWalkerContext context, ImportList imports)
-
Method Summary
-
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 Detail
-
imports
private ImportList imports
-
sb
private java.lang.StringBuilder sb
-
-
Constructor Detail
-
SourceExpressionVisitor
public SourceExpressionVisitor(TreeWalkerContext context, ImportList imports)
-
-
Method Detail
-
typeName
private java.lang.String typeName(Type type)
-
value
public java.lang.String value()
-
preNode
public boolean preNode(Node arg)
- Overrides:
preNode
in classTreeWalker
-
preVariable
public boolean preVariable(Variable arg)
- Overrides:
preVariable
in classTreeWalker
-
postVariable
public void postVariable(Variable arg)
- Overrides:
postVariable
in classTreeWalker
-
preConstantExpression
public boolean preConstantExpression(ExpressionFactory.ConstantExpression arg)
- Overrides:
preConstantExpression
in classTreeWalker
-
preVoidExpression
public boolean preVoidExpression(ExpressionFactory.VoidExpression arg)
- Overrides:
preVoidExpression
in classTreeWalker
-
preThisExpression
public boolean preThisExpression(ExpressionFactory.ThisExpression arg)
- Overrides:
preThisExpression
in classTreeWalker
-
preUnaryOperatorExpression
public boolean preUnaryOperatorExpression(ExpressionFactory.UnaryOperatorExpression arg)
- Overrides:
preUnaryOperatorExpression
in classTreeWalker
-
postUnaryOperatorExpression
public void postUnaryOperatorExpression(ExpressionFactory.UnaryOperatorExpression arg)
- Overrides:
postUnaryOperatorExpression
in classTreeWalker
-
preBinaryOperatorExpression
public boolean preBinaryOperatorExpression(ExpressionFactory.BinaryOperatorExpression arg)
- Overrides:
preBinaryOperatorExpression
in classTreeWalker
-
binaryOperatorExpressionBeforeRight
public void binaryOperatorExpressionBeforeRight(ExpressionFactory.BinaryOperatorExpression arg)
- Overrides:
binaryOperatorExpressionBeforeRight
in classTreeWalker
-
postBinaryOperatorExpression
public void postBinaryOperatorExpression(ExpressionFactory.BinaryOperatorExpression arg)
- Overrides:
postBinaryOperatorExpression
in classTreeWalker
-
preCastExpression
public boolean preCastExpression(ExpressionFactory.CastExpression arg)
- Overrides:
preCastExpression
in classTreeWalker
-
postCastExpression
public void postCastExpression(ExpressionFactory.CastExpression arg)
- Overrides:
postCastExpression
in classTreeWalker
-
preInstofExpression
public boolean preInstofExpression(ExpressionFactory.InstofExpression arg)
- Overrides:
preInstofExpression
in classTreeWalker
-
postInstofExpression
public void postInstofExpression(ExpressionFactory.InstofExpression arg)
- Overrides:
postInstofExpression
in classTreeWalker
-
preNonStaticCallExpression
public boolean preNonStaticCallExpression(ExpressionFactory.NonStaticCallExpression arg)
- Overrides:
preNonStaticCallExpression
in classTreeWalker
-
nonStaticCallExpressionBeforeArg
public void nonStaticCallExpressionBeforeArg(ExpressionFactory.NonStaticCallExpression arg)
- Overrides:
nonStaticCallExpressionBeforeArg
in classTreeWalker
-
postNonStaticCallExpression
public void postNonStaticCallExpression(ExpressionFactory.NonStaticCallExpression arg)
- Overrides:
postNonStaticCallExpression
in classTreeWalker
-
preStaticCallExpression
public boolean preStaticCallExpression(ExpressionFactory.StaticCallExpression arg)
- Overrides:
preStaticCallExpression
in classTreeWalker
-
staticCallExpressionBeforeArg
public void staticCallExpressionBeforeArg(ExpressionFactory.StaticCallExpression arg)
- Overrides:
staticCallExpressionBeforeArg
in classTreeWalker
-
postStaticCallExpression
public void postStaticCallExpression(ExpressionFactory.StaticCallExpression arg)
- Overrides:
postStaticCallExpression
in classTreeWalker
-
preNewObjExpression
public boolean preNewObjExpression(ExpressionFactory.NewObjExpression arg)
- Overrides:
preNewObjExpression
in classTreeWalker
-
newObjExpressionBeforeArg
public void newObjExpressionBeforeArg(ExpressionFactory.NewObjExpression arg)
- Overrides:
newObjExpressionBeforeArg
in classTreeWalker
-
postNewObjExpression
public void postNewObjExpression(ExpressionFactory.NewObjExpression arg)
- Overrides:
postNewObjExpression
in classTreeWalker
-
preNewArrExpression
public boolean preNewArrExpression(ExpressionFactory.NewArrExpression arg)
- Overrides:
preNewArrExpression
in classTreeWalker
-
newArrExpressionBeforeExpression
public void newArrExpressionBeforeExpression(ExpressionFactory.NewArrExpression arg)
- Overrides:
newArrExpressionBeforeExpression
in classTreeWalker
-
postNewArrExpression
public void postNewArrExpression(ExpressionFactory.NewArrExpression arg)
- Overrides:
postNewArrExpression
in classTreeWalker
-
preSuperCallExpression
public boolean preSuperCallExpression(ExpressionFactory.SuperCallExpression arg)
- Overrides:
preSuperCallExpression
in classTreeWalker
-
superCallExpressionBeforeArg
public void superCallExpressionBeforeArg(ExpressionFactory.SuperCallExpression arg)
- Overrides:
superCallExpressionBeforeArg
in classTreeWalker
-
postSuperCallExpression
public void postSuperCallExpression(ExpressionFactory.SuperCallExpression arg)
- Overrides:
postSuperCallExpression
in classTreeWalker
-
preSuperObjExpression
public boolean preSuperObjExpression(ExpressionFactory.SuperObjExpression arg)
- Overrides:
preSuperObjExpression
in classTreeWalker
-
superObjExpressionBeforeArg
public void superObjExpressionBeforeArg(ExpressionFactory.SuperObjExpression arg)
- Overrides:
superObjExpressionBeforeArg
in classTreeWalker
-
postSuperObjExpression
public void postSuperObjExpression(ExpressionFactory.SuperObjExpression arg)
- Overrides:
postSuperObjExpression
in classTreeWalker
-
preThisObjExpression
public boolean preThisObjExpression(ExpressionFactory.ThisObjExpression arg)
- Overrides:
preThisObjExpression
in classTreeWalker
-
thisObjExpressionBeforeArg
public void thisObjExpressionBeforeArg(ExpressionFactory.ThisObjExpression arg)
- Overrides:
thisObjExpressionBeforeArg
in classTreeWalker
-
postThisObjExpression
public void postThisObjExpression(ExpressionFactory.ThisObjExpression arg)
- 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
public boolean preStaticFieldAccessExpression(ExpressionFactory.StaticFieldAccessExpression arg)
- Overrides:
preStaticFieldAccessExpression
in classTreeWalker
-
postStaticFieldAccessExpression
public void postStaticFieldAccessExpression(ExpressionFactory.StaticFieldAccessExpression arg)
- Overrides:
postStaticFieldAccessExpression
in classTreeWalker
-
preArrayIndexExpression
public boolean preArrayIndexExpression(ExpressionFactory.ArrayIndexExpression arg)
- Overrides:
preArrayIndexExpression
in classTreeWalker
-
arrayIndexExpressionBeforeExpr
public void arrayIndexExpressionBeforeExpr(ExpressionFactory.ArrayIndexExpression arg)
- Overrides:
arrayIndexExpressionBeforeExpr
in classTreeWalker
-
postArrayIndexExpression
public void postArrayIndexExpression(ExpressionFactory.ArrayIndexExpression arg)
- Overrides:
postArrayIndexExpression
in classTreeWalker
-
preArrayLengthExpression
public boolean preArrayLengthExpression(ExpressionFactory.ArrayLengthExpression arg)
- Overrides:
preArrayLengthExpression
in classTreeWalker
-
postArrayLengthExpression
public void postArrayLengthExpression(ExpressionFactory.ArrayLengthExpression arg)
- Overrides:
postArrayLengthExpression
in classTreeWalker
-
-