Top Description Fields Constructors Methods
org.glassfish.pfl.dynamic.codegen.impl

public Class SourceExpressionVisitor

extends TreeWalker
Class Inheritance
Imports
java.util.List, org.glassfish.pfl.dynamic.codegen.spi.ImportList, .Type, .Variable

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

Modifier and TypeField and Description
private ImportList
private StringBuilder
Inherited from org.glassfish.pfl.dynamic.codegen.impl.TreeWalker:
context

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public void
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public boolean
public void
public void
public void
public void
private String
typeName(Type type)

public String
Inherited from org.glassfish.pfl.dynamic.codegen.impl.TreeWalker:
assignmentStatementBeforeLeftSideblockStatementBeforeBodyStatementcaseBranchBeforeBodyStatementclassGeneratorBeforeConstructorclassGeneratorBeforeFieldsclassGeneratorBeforeInitializerclassGeneratorBeforeMethoddefinitionStatementBeforeExprifExpressionBeforeFalsePartifExpressionBeforeTruePartifStatementBeforeFalsePartifStatementBeforeTruePartmethodGeneratorAfterArgumentsmethodGeneratorBeforeArgumentsnewArrExpressionAfterExpressionnewArrExpressionAfterSizepostAssignmentStatementpostBlockStatementpostBreakStatementpostCaseBranchpostClassGeneratorpostConstantExpressionpostDefinitionStatementpostExpressionpostFieldGeneratorpostIfExpressionpostIfStatementpostMethodGeneratorpostNodepostReturnStatementpostStatementpostSwitchStatementpostThisExpressionpostThrowStatementpostTryStatementpostVoidExpressionpostWhileStatementpreAssignmentStatementpreBlockStatementpreBreakStatementpreCaseBranchpreClassGeneratorpreDefinitionStatementpreExpressionpreFieldGeneratorpreIfExpressionpreIfStatementpreMethodGeneratorpreReturnStatementpreStatementpreSwitchStatementpreThrowStatementpreTryStatementpreWhileStatementswitchStatementBeforeCaseBranchesswitchStatementBeforeDefaulttryStatementBeforeBlocktryStatementBeforeFinalPartvisitArrayIndexExpressionvisitArrayLengthExpressionvisitAssignmentStatementvisitBinaryOperatorExpressionvisitBlockStatementvisitBreakStatementvisitCaseBranchvisitCastExpressionvisitClassGeneratorvisitConstantExpressionvisitDefinitionStatementvisitExpressionvisitFieldGeneratorvisitIfExpressionvisitIfStatementvisitInstofExpressionvisitMethodGeneratorvisitNewArrExpressionvisitNewObjExpressionvisitNodevisitNonStaticCallExpressionvisitNonStaticFieldAccessExpressionvisitReturnStatementvisitStatementvisitStaticCallExpressionvisitStaticFieldAccessExpressionvisitSuperCallExpressionvisitSuperObjExpressionvisitSwitchStatementvisitThisExpressionvisitThisObjExpressionvisitThrowStatementvisitTryStatementvisitUnaryOperatorExpressionvisitVariablevisitVoidExpressionvisitWhileStatementwhileStatementBeforeBody

Field Detail

importsback to summary
private ImportList imports
sbback to summary
private StringBuilder sb

Constructor Detail

SourceExpressionVisitorback to summary
public SourceExpressionVisitor(TreeWalkerContext context, ImportList imports)

Method Detail

arrayIndexExpressionBeforeExprback to summary
public void arrayIndexExpressionBeforeExpr(ExpressionFactory.ArrayIndexExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.arrayIndexExpressionBeforeExpr.

Annotations
@Override
binaryOperatorExpressionBeforeRightback to summary
public void binaryOperatorExpressionBeforeRight(ExpressionFactory.BinaryOperatorExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.binaryOperatorExpressionBeforeRight.

Annotations
@Override
newArrExpressionBeforeExpressionback to summary
public void newArrExpressionBeforeExpression(ExpressionFactory.NewArrExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.newArrExpressionBeforeExpression.

Annotations
@Override
newObjExpressionBeforeArgback to summary
public void newObjExpressionBeforeArg(ExpressionFactory.NewObjExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.newObjExpressionBeforeArg.

Annotations
@Override
nonStaticCallExpressionBeforeArgback to summary
public void nonStaticCallExpressionBeforeArg(ExpressionFactory.NonStaticCallExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.nonStaticCallExpressionBeforeArg.

Annotations
@Override
postArrayIndexExpressionback to summary
public void postArrayIndexExpression(ExpressionFactory.ArrayIndexExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.postArrayIndexExpression.

Annotations
@Override
postArrayLengthExpressionback to summary
public void postArrayLengthExpression(ExpressionFactory.ArrayLengthExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.postArrayLengthExpression.

Annotations
@Override
postBinaryOperatorExpressionback to summary
public void postBinaryOperatorExpression(ExpressionFactory.BinaryOperatorExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.postBinaryOperatorExpression.

Annotations
@Override
postCastExpressionback to summary
public void postCastExpression(ExpressionFactory.CastExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.postCastExpression.

Annotations
@Override
postInstofExpressionback to summary
public void postInstofExpression(ExpressionFactory.InstofExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.postInstofExpression.

Annotations
@Override
postNewArrExpressionback to summary
public void postNewArrExpression(ExpressionFactory.NewArrExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.postNewArrExpression.

Annotations
@Override
postNewObjExpressionback to summary
public void postNewObjExpression(ExpressionFactory.NewObjExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.postNewObjExpression.

Annotations
@Override
postNonStaticCallExpressionback to summary
public void postNonStaticCallExpression(ExpressionFactory.NonStaticCallExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.postNonStaticCallExpression.

Annotations
@Override
postNonStaticFieldAccessExpressionback to summary
public void postNonStaticFieldAccessExpression(ExpressionFactory.NonStaticFieldAccessExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.postNonStaticFieldAccessExpression.

Annotations
@Override
postStaticCallExpressionback to summary
public void postStaticCallExpression(ExpressionFactory.StaticCallExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.postStaticCallExpression.

Annotations
@Override
postStaticFieldAccessExpressionback to summary
public void postStaticFieldAccessExpression(ExpressionFactory.StaticFieldAccessExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.postStaticFieldAccessExpression.

Annotations
@Override
postSuperCallExpressionback to summary
public void postSuperCallExpression(ExpressionFactory.SuperCallExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.postSuperCallExpression.

Annotations
@Override
postSuperObjExpressionback to summary
public void postSuperObjExpression(ExpressionFactory.SuperObjExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.postSuperObjExpression.

Annotations
@Override
postThisObjExpressionback to summary
public void postThisObjExpression(ExpressionFactory.ThisObjExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.postThisObjExpression.

Annotations
@Override
postUnaryOperatorExpressionback to summary
public void postUnaryOperatorExpression(ExpressionFactory.UnaryOperatorExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.postUnaryOperatorExpression.

Annotations
@Override
postVariableback to summary
public void postVariable(Variable arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.postVariable.

Annotations
@Override
preArrayIndexExpressionback to summary
public boolean preArrayIndexExpression(ExpressionFactory.ArrayIndexExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.preArrayIndexExpression.

Annotations
@Override
preArrayLengthExpressionback to summary
public boolean preArrayLengthExpression(ExpressionFactory.ArrayLengthExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.preArrayLengthExpression.

Annotations
@Override
preBinaryOperatorExpressionback to summary
public boolean preBinaryOperatorExpression(ExpressionFactory.BinaryOperatorExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.preBinaryOperatorExpression.

Annotations
@Override
preCastExpressionback to summary
public boolean preCastExpression(ExpressionFactory.CastExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.preCastExpression.

Annotations
@Override
preConstantExpressionback to summary
public boolean preConstantExpression(ExpressionFactory.ConstantExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.preConstantExpression.

Annotations
@Override
preInstofExpressionback to summary
public boolean preInstofExpression(ExpressionFactory.InstofExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.preInstofExpression.

Annotations
@Override
preNewArrExpressionback to summary
public boolean preNewArrExpression(ExpressionFactory.NewArrExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.preNewArrExpression.

Annotations
@Override
preNewObjExpressionback to summary
public boolean preNewObjExpression(ExpressionFactory.NewObjExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.preNewObjExpression.

Annotations
@Override
preNodeback to summary
public boolean preNode(Node arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.preNode.

Annotations
@Override
preNonStaticCallExpressionback to summary
public boolean preNonStaticCallExpression(ExpressionFactory.NonStaticCallExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.preNonStaticCallExpression.

Annotations
@Override
preNonStaticFieldAccessExpressionback to summary
public boolean preNonStaticFieldAccessExpression(ExpressionFactory.NonStaticFieldAccessExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.preNonStaticFieldAccessExpression.

Annotations
@Override
preStaticCallExpressionback to summary
public boolean preStaticCallExpression(ExpressionFactory.StaticCallExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.preStaticCallExpression.

Annotations
@Override
preStaticFieldAccessExpressionback to summary
public boolean preStaticFieldAccessExpression(ExpressionFactory.StaticFieldAccessExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.preStaticFieldAccessExpression.

Annotations
@Override
preSuperCallExpressionback to summary
public boolean preSuperCallExpression(ExpressionFactory.SuperCallExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.preSuperCallExpression.

Annotations
@Override
preSuperObjExpressionback to summary
public boolean preSuperObjExpression(ExpressionFactory.SuperObjExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.preSuperObjExpression.

Annotations
@Override
preThisExpressionback to summary
public boolean preThisExpression(ExpressionFactory.ThisExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.preThisExpression.

Annotations
@Override
preThisObjExpressionback to summary
public boolean preThisObjExpression(ExpressionFactory.ThisObjExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.preThisObjExpression.

Annotations
@Override
preUnaryOperatorExpressionback to summary
public boolean preUnaryOperatorExpression(ExpressionFactory.UnaryOperatorExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.preUnaryOperatorExpression.

Annotations
@Override
preVariableback to summary
public boolean preVariable(Variable arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.preVariable.

Annotations
@Override
preVoidExpressionback to summary
public boolean preVoidExpression(ExpressionFactory.VoidExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.preVoidExpression.

Annotations
@Override
staticCallExpressionBeforeArgback to summary
public void staticCallExpressionBeforeArg(ExpressionFactory.StaticCallExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.staticCallExpressionBeforeArg.

Annotations
@Override
superCallExpressionBeforeArgback to summary
public void superCallExpressionBeforeArg(ExpressionFactory.SuperCallExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.superCallExpressionBeforeArg.

Annotations
@Override
superObjExpressionBeforeArgback to summary
public void superObjExpressionBeforeArg(ExpressionFactory.SuperObjExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.superObjExpressionBeforeArg.

Annotations
@Override
thisObjExpressionBeforeArgback to summary
public void thisObjExpressionBeforeArg(ExpressionFactory.ThisObjExpression arg)

Overrides org.glassfish.pfl.dynamic.codegen.impl.TreeWalker.thisObjExpressionBeforeArg.

Annotations
@Override
typeNameback to summary
private String typeName(Type type)
valueback to summary
public String value()