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 ImportListimportsprivate java.lang.StringBuildersb-
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:
preNodein classTreeWalker
-
preVariable
public boolean preVariable(Variable arg)
- Overrides:
preVariablein classTreeWalker
-
postVariable
public void postVariable(Variable arg)
- Overrides:
postVariablein classTreeWalker
-
preConstantExpression
public boolean preConstantExpression(ExpressionFactory.ConstantExpression arg)
- Overrides:
preConstantExpressionin classTreeWalker
-
preVoidExpression
public boolean preVoidExpression(ExpressionFactory.VoidExpression arg)
- Overrides:
preVoidExpressionin classTreeWalker
-
preThisExpression
public boolean preThisExpression(ExpressionFactory.ThisExpression arg)
- Overrides:
preThisExpressionin classTreeWalker
-
preUnaryOperatorExpression
public boolean preUnaryOperatorExpression(ExpressionFactory.UnaryOperatorExpression arg)
- Overrides:
preUnaryOperatorExpressionin classTreeWalker
-
postUnaryOperatorExpression
public void postUnaryOperatorExpression(ExpressionFactory.UnaryOperatorExpression arg)
- Overrides:
postUnaryOperatorExpressionin classTreeWalker
-
preBinaryOperatorExpression
public boolean preBinaryOperatorExpression(ExpressionFactory.BinaryOperatorExpression arg)
- Overrides:
preBinaryOperatorExpressionin classTreeWalker
-
binaryOperatorExpressionBeforeRight
public void binaryOperatorExpressionBeforeRight(ExpressionFactory.BinaryOperatorExpression arg)
- Overrides:
binaryOperatorExpressionBeforeRightin classTreeWalker
-
postBinaryOperatorExpression
public void postBinaryOperatorExpression(ExpressionFactory.BinaryOperatorExpression arg)
- Overrides:
postBinaryOperatorExpressionin classTreeWalker
-
preCastExpression
public boolean preCastExpression(ExpressionFactory.CastExpression arg)
- Overrides:
preCastExpressionin classTreeWalker
-
postCastExpression
public void postCastExpression(ExpressionFactory.CastExpression arg)
- Overrides:
postCastExpressionin classTreeWalker
-
preInstofExpression
public boolean preInstofExpression(ExpressionFactory.InstofExpression arg)
- Overrides:
preInstofExpressionin classTreeWalker
-
postInstofExpression
public void postInstofExpression(ExpressionFactory.InstofExpression arg)
- Overrides:
postInstofExpressionin classTreeWalker
-
preNonStaticCallExpression
public boolean preNonStaticCallExpression(ExpressionFactory.NonStaticCallExpression arg)
- Overrides:
preNonStaticCallExpressionin classTreeWalker
-
nonStaticCallExpressionBeforeArg
public void nonStaticCallExpressionBeforeArg(ExpressionFactory.NonStaticCallExpression arg)
- Overrides:
nonStaticCallExpressionBeforeArgin classTreeWalker
-
postNonStaticCallExpression
public void postNonStaticCallExpression(ExpressionFactory.NonStaticCallExpression arg)
- Overrides:
postNonStaticCallExpressionin classTreeWalker
-
preStaticCallExpression
public boolean preStaticCallExpression(ExpressionFactory.StaticCallExpression arg)
- Overrides:
preStaticCallExpressionin classTreeWalker
-
staticCallExpressionBeforeArg
public void staticCallExpressionBeforeArg(ExpressionFactory.StaticCallExpression arg)
- Overrides:
staticCallExpressionBeforeArgin classTreeWalker
-
postStaticCallExpression
public void postStaticCallExpression(ExpressionFactory.StaticCallExpression arg)
- Overrides:
postStaticCallExpressionin classTreeWalker
-
preNewObjExpression
public boolean preNewObjExpression(ExpressionFactory.NewObjExpression arg)
- Overrides:
preNewObjExpressionin classTreeWalker
-
newObjExpressionBeforeArg
public void newObjExpressionBeforeArg(ExpressionFactory.NewObjExpression arg)
- Overrides:
newObjExpressionBeforeArgin classTreeWalker
-
postNewObjExpression
public void postNewObjExpression(ExpressionFactory.NewObjExpression arg)
- Overrides:
postNewObjExpressionin classTreeWalker
-
preNewArrExpression
public boolean preNewArrExpression(ExpressionFactory.NewArrExpression arg)
- Overrides:
preNewArrExpressionin classTreeWalker
-
newArrExpressionBeforeExpression
public void newArrExpressionBeforeExpression(ExpressionFactory.NewArrExpression arg)
- Overrides:
newArrExpressionBeforeExpressionin classTreeWalker
-
postNewArrExpression
public void postNewArrExpression(ExpressionFactory.NewArrExpression arg)
- Overrides:
postNewArrExpressionin classTreeWalker
-
preSuperCallExpression
public boolean preSuperCallExpression(ExpressionFactory.SuperCallExpression arg)
- Overrides:
preSuperCallExpressionin classTreeWalker
-
superCallExpressionBeforeArg
public void superCallExpressionBeforeArg(ExpressionFactory.SuperCallExpression arg)
- Overrides:
superCallExpressionBeforeArgin classTreeWalker
-
postSuperCallExpression
public void postSuperCallExpression(ExpressionFactory.SuperCallExpression arg)
- Overrides:
postSuperCallExpressionin classTreeWalker
-
preSuperObjExpression
public boolean preSuperObjExpression(ExpressionFactory.SuperObjExpression arg)
- Overrides:
preSuperObjExpressionin classTreeWalker
-
superObjExpressionBeforeArg
public void superObjExpressionBeforeArg(ExpressionFactory.SuperObjExpression arg)
- Overrides:
superObjExpressionBeforeArgin classTreeWalker
-
postSuperObjExpression
public void postSuperObjExpression(ExpressionFactory.SuperObjExpression arg)
- Overrides:
postSuperObjExpressionin classTreeWalker
-
preThisObjExpression
public boolean preThisObjExpression(ExpressionFactory.ThisObjExpression arg)
- Overrides:
preThisObjExpressionin classTreeWalker
-
thisObjExpressionBeforeArg
public void thisObjExpressionBeforeArg(ExpressionFactory.ThisObjExpression arg)
- Overrides:
thisObjExpressionBeforeArgin classTreeWalker
-
postThisObjExpression
public void postThisObjExpression(ExpressionFactory.ThisObjExpression arg)
- Overrides:
postThisObjExpressionin classTreeWalker
-
preNonStaticFieldAccessExpression
public boolean preNonStaticFieldAccessExpression(ExpressionFactory.NonStaticFieldAccessExpression arg)
- Overrides:
preNonStaticFieldAccessExpressionin classTreeWalker
-
postNonStaticFieldAccessExpression
public void postNonStaticFieldAccessExpression(ExpressionFactory.NonStaticFieldAccessExpression arg)
- Overrides:
postNonStaticFieldAccessExpressionin classTreeWalker
-
preStaticFieldAccessExpression
public boolean preStaticFieldAccessExpression(ExpressionFactory.StaticFieldAccessExpression arg)
- Overrides:
preStaticFieldAccessExpressionin classTreeWalker
-
postStaticFieldAccessExpression
public void postStaticFieldAccessExpression(ExpressionFactory.StaticFieldAccessExpression arg)
- Overrides:
postStaticFieldAccessExpressionin classTreeWalker
-
preArrayIndexExpression
public boolean preArrayIndexExpression(ExpressionFactory.ArrayIndexExpression arg)
- Overrides:
preArrayIndexExpressionin classTreeWalker
-
arrayIndexExpressionBeforeExpr
public void arrayIndexExpressionBeforeExpr(ExpressionFactory.ArrayIndexExpression arg)
- Overrides:
arrayIndexExpressionBeforeExprin classTreeWalker
-
postArrayIndexExpression
public void postArrayIndexExpression(ExpressionFactory.ArrayIndexExpression arg)
- Overrides:
postArrayIndexExpressionin classTreeWalker
-
preArrayLengthExpression
public boolean preArrayLengthExpression(ExpressionFactory.ArrayLengthExpression arg)
- Overrides:
preArrayLengthExpressionin classTreeWalker
-
postArrayLengthExpression
public void postArrayLengthExpression(ExpressionFactory.ArrayLengthExpression arg)
- Overrides:
postArrayLengthExpressionin classTreeWalker
-
-