org.glassfish.pfl.dynamic.codegen.impl
Class ASMByteCodeVisitor
java.lang.Object
org.glassfish.pfl.dynamic.codegen.impl.TreeWalker
org.glassfish.pfl.dynamic.codegen.impl.ASMByteCodeVisitor
- All Implemented Interfaces:
- Visitor
public class ASMByteCodeVisitor
- extends TreeWalker
Visitor that is used to generate byte code for a class.
SetupVisitor must be called first before this
visitor can be called.
This visitor is also responsible for setting up the
bytecode versions of Variables, since we always define
variables before we reference them.
| Fields inherited from class org.glassfish.pfl.dynamic.codegen.impl.TreeWalker |
context |
| Methods inherited from class org.glassfish.pfl.dynamic.codegen.impl.TreeWalker |
arrayIndexExpressionBeforeExpr, methodGeneratorAfterArguments, postFieldGenerator, 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 |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
ASMByteCodeVisitor
public ASMByteCodeVisitor(TreeWalkerContext context,
org.glassfish.pfl.objectweb.asm.ClassWriter cw)
ASMByteCodeVisitor
public ASMByteCodeVisitor(TreeWalkerContext context,
org.glassfish.pfl.objectweb.asm.ClassWriter cw,
boolean debug,
PrintStream ps)
preNode
public boolean preNode(Node arg)
- Overrides:
preNode in class TreeWalker
postNode
public void postNode(Node arg)
- Overrides:
postNode in class TreeWalker
preClassGenerator
public boolean preClassGenerator(ClassGeneratorImpl arg)
- Overrides:
preClassGenerator in class TreeWalker
classGeneratorBeforeFields
public boolean classGeneratorBeforeFields(ClassGeneratorImpl arg)
- Overrides:
classGeneratorBeforeFields in class TreeWalker
classGeneratorBeforeInitializer
public void classGeneratorBeforeInitializer(ClassGeneratorImpl arg)
- Overrides:
classGeneratorBeforeInitializer in class TreeWalker
classGeneratorBeforeMethod
public void classGeneratorBeforeMethod(ClassGeneratorImpl arg)
- Overrides:
classGeneratorBeforeMethod in class TreeWalker
classGeneratorBeforeConstructor
public void classGeneratorBeforeConstructor(ClassGeneratorImpl arg)
- Overrides:
classGeneratorBeforeConstructor in class TreeWalker
postClassGenerator
public void postClassGenerator(ClassGeneratorImpl arg)
- Overrides:
postClassGenerator in class TreeWalker
preFieldGenerator
public boolean preFieldGenerator(FieldGenerator arg)
- Overrides:
preFieldGenerator in class TreeWalker
preMethodGenerator
public boolean preMethodGenerator(MethodGenerator arg)
- Overrides:
preMethodGenerator in class TreeWalker
methodGeneratorBeforeArguments
public boolean methodGeneratorBeforeArguments(MethodGenerator arg)
- Overrides:
methodGeneratorBeforeArguments in class TreeWalker
postMethodGenerator
public void postMethodGenerator(MethodGenerator arg)
- Overrides:
postMethodGenerator in class TreeWalker
preStatement
public boolean preStatement(Statement arg)
- Overrides:
preStatement in class TreeWalker
postStatement
public void postStatement(Statement arg)
- Overrides:
postStatement in class TreeWalker
preThrowStatement
public boolean preThrowStatement(ThrowStatement arg)
- Overrides:
preThrowStatement in class TreeWalker
postThrowStatement
public void postThrowStatement(ThrowStatement arg)
- Overrides:
postThrowStatement in class TreeWalker
preAssignmentStatement
public boolean preAssignmentStatement(AssignmentStatement arg)
- Overrides:
preAssignmentStatement in class TreeWalker
assignmentStatementBeforeLeftSide
public void assignmentStatementBeforeLeftSide(AssignmentStatement arg)
- Overrides:
assignmentStatementBeforeLeftSide in class TreeWalker
postAssignmentStatement
public void postAssignmentStatement(AssignmentStatement arg)
- Overrides:
postAssignmentStatement in class TreeWalker
preBlockStatement
public boolean preBlockStatement(BlockStatement arg)
- Overrides:
preBlockStatement in class TreeWalker
blockStatementBeforeBodyStatement
public void blockStatementBeforeBodyStatement(BlockStatement arg,
Statement stmt)
- Overrides:
blockStatementBeforeBodyStatement in class TreeWalker
postBlockStatement
public void postBlockStatement(BlockStatement arg)
- Overrides:
postBlockStatement in class TreeWalker
preCaseBranch
public boolean preCaseBranch(CaseBranch arg)
- Overrides:
preCaseBranch in class TreeWalker
caseBranchBeforeBodyStatement
public void caseBranchBeforeBodyStatement(CaseBranch arg)
- Overrides:
caseBranchBeforeBodyStatement in class TreeWalker
postCaseBranch
public void postCaseBranch(CaseBranch arg)
- Overrides:
postCaseBranch in class TreeWalker
preDefinitionStatement
public boolean preDefinitionStatement(DefinitionStatement arg)
- Overrides:
preDefinitionStatement in class TreeWalker
definitionStatementBeforeExpr
public boolean definitionStatementBeforeExpr(DefinitionStatement arg)
- Overrides:
definitionStatementBeforeExpr in class TreeWalker
postDefinitionStatement
public void postDefinitionStatement(DefinitionStatement arg)
- Overrides:
postDefinitionStatement in class TreeWalker
preIfStatement
public boolean preIfStatement(IfStatement arg)
- Overrides:
preIfStatement in class TreeWalker
ifStatementBeforeTruePart
public void ifStatementBeforeTruePart(IfStatement arg)
- Overrides:
ifStatementBeforeTruePart in class TreeWalker
ifStatementBeforeFalsePart
public boolean ifStatementBeforeFalsePart(IfStatement arg)
- Overrides:
ifStatementBeforeFalsePart in class TreeWalker
postIfStatement
public void postIfStatement(IfStatement arg)
- Overrides:
postIfStatement in class TreeWalker
preBreakStatement
public boolean preBreakStatement(BreakStatement arg)
- Overrides:
preBreakStatement in class TreeWalker
postBreakStatement
public void postBreakStatement(BreakStatement arg)
- Overrides:
postBreakStatement in class TreeWalker
preReturnStatement
public boolean preReturnStatement(ReturnStatement arg)
- Overrides:
preReturnStatement in class TreeWalker
postReturnStatement
public void postReturnStatement(ReturnStatement arg)
- Overrides:
postReturnStatement in class TreeWalker
preSwitchStatement
public boolean preSwitchStatement(SwitchStatement arg)
- Overrides:
preSwitchStatement in class TreeWalker
switchStatementBeforeCaseBranches
public boolean switchStatementBeforeCaseBranches(SwitchStatement arg)
- Overrides:
switchStatementBeforeCaseBranches in class TreeWalker
switchStatementBeforeDefault
public boolean switchStatementBeforeDefault(SwitchStatement arg)
- Overrides:
switchStatementBeforeDefault in class TreeWalker
postSwitchStatement
public void postSwitchStatement(SwitchStatement arg)
- Overrides:
postSwitchStatement in class TreeWalker
preTryStatement
public boolean preTryStatement(TryStatement arg)
- Overrides:
preTryStatement in class TreeWalker
tryStatementBeforeBlock
public void tryStatementBeforeBlock(TryStatement arg,
Type type,
Variable var,
BlockStatement block)
- Overrides:
tryStatementBeforeBlock in class TreeWalker
tryStatementBeforeFinalPart
public boolean tryStatementBeforeFinalPart(TryStatement arg)
- Overrides:
tryStatementBeforeFinalPart in class TreeWalker
postTryStatement
public void postTryStatement(TryStatement arg)
- Overrides:
postTryStatement in class TreeWalker
preWhileStatement
public boolean preWhileStatement(WhileStatement arg)
- Overrides:
preWhileStatement in class TreeWalker
whileStatementBeforeBody
public void whileStatementBeforeBody(WhileStatement arg)
- Overrides:
whileStatementBeforeBody in class TreeWalker
postWhileStatement
public void postWhileStatement(WhileStatement arg)
- Overrides:
postWhileStatement in class TreeWalker
preExpression
public boolean preExpression(ExpressionInternal arg)
- Overrides:
preExpression in class TreeWalker
postExpression
public void postExpression(ExpressionInternal arg)
- Overrides:
postExpression in class TreeWalker
preVariable
public boolean preVariable(Variable param)
- Overrides:
preVariable in class TreeWalker
postVariable
public void postVariable(Variable arg)
- Overrides:
postVariable in class TreeWalker
preConstantExpression
public boolean preConstantExpression(ExpressionFactory.ConstantExpression arg)
- Overrides:
preConstantExpression in class TreeWalker
postConstantExpression
public void postConstantExpression(ExpressionFactory.ConstantExpression arg)
- Overrides:
postConstantExpression in class TreeWalker
preVoidExpression
public boolean preVoidExpression(ExpressionFactory.VoidExpression arg)
- Overrides:
preVoidExpression in class TreeWalker
postVoidExpression
public void postVoidExpression(ExpressionFactory.VoidExpression arg)
- Overrides:
postVoidExpression in class TreeWalker
preThisExpression
public boolean preThisExpression(ExpressionFactory.ThisExpression arg)
- Overrides:
preThisExpression in class TreeWalker
postThisExpression
public void postThisExpression(ExpressionFactory.ThisExpression arg)
- Overrides:
postThisExpression in class TreeWalker
preUnaryOperatorExpression
public boolean preUnaryOperatorExpression(ExpressionFactory.UnaryOperatorExpression arg)
- Overrides:
preUnaryOperatorExpression in class TreeWalker
postUnaryOperatorExpression
public void postUnaryOperatorExpression(ExpressionFactory.UnaryOperatorExpression arg)
- Overrides:
postUnaryOperatorExpression in class TreeWalker
preBinaryOperatorExpression
public boolean preBinaryOperatorExpression(ExpressionFactory.BinaryOperatorExpression arg)
- Overrides:
preBinaryOperatorExpression in class TreeWalker
binaryOperatorExpressionBeforeRight
public void binaryOperatorExpressionBeforeRight(ExpressionFactory.BinaryOperatorExpression arg)
- Overrides:
binaryOperatorExpressionBeforeRight in class TreeWalker
postBinaryOperatorExpression
public void postBinaryOperatorExpression(ExpressionFactory.BinaryOperatorExpression arg)
- Overrides:
postBinaryOperatorExpression in class TreeWalker
preCastExpression
public boolean preCastExpression(ExpressionFactory.CastExpression arg)
- Overrides:
preCastExpression in class TreeWalker
postCastExpression
public void postCastExpression(ExpressionFactory.CastExpression arg)
- Overrides:
postCastExpression in class TreeWalker
preInstofExpression
public boolean preInstofExpression(ExpressionFactory.InstofExpression arg)
- Overrides:
preInstofExpression in class TreeWalker
postInstofExpression
public void postInstofExpression(ExpressionFactory.InstofExpression arg)
- Overrides:
postInstofExpression in class TreeWalker
preStaticCallExpression
public boolean preStaticCallExpression(ExpressionFactory.StaticCallExpression arg)
- Overrides:
preStaticCallExpression in class TreeWalker
staticCallExpressionBeforeArg
public void staticCallExpressionBeforeArg(ExpressionFactory.StaticCallExpression arg)
- Overrides:
staticCallExpressionBeforeArg in class TreeWalker
postStaticCallExpression
public void postStaticCallExpression(ExpressionFactory.StaticCallExpression arg)
- Overrides:
postStaticCallExpression in class TreeWalker
preNonStaticCallExpression
public boolean preNonStaticCallExpression(ExpressionFactory.NonStaticCallExpression arg)
- Overrides:
preNonStaticCallExpression in class TreeWalker
nonStaticCallExpressionBeforeArg
public void nonStaticCallExpressionBeforeArg(ExpressionFactory.NonStaticCallExpression arg)
- Overrides:
nonStaticCallExpressionBeforeArg in class TreeWalker
postNonStaticCallExpression
public void postNonStaticCallExpression(ExpressionFactory.NonStaticCallExpression arg)
- Overrides:
postNonStaticCallExpression in class TreeWalker
preNewObjExpression
public boolean preNewObjExpression(ExpressionFactory.NewObjExpression arg)
- Overrides:
preNewObjExpression in class TreeWalker
newObjExpressionBeforeArg
public void newObjExpressionBeforeArg(ExpressionFactory.NewObjExpression arg)
- Overrides:
newObjExpressionBeforeArg in class TreeWalker
postNewObjExpression
public void postNewObjExpression(ExpressionFactory.NewObjExpression arg)
- Overrides:
postNewObjExpression in class TreeWalker
preNewArrExpression
public boolean preNewArrExpression(ExpressionFactory.NewArrExpression arg)
- Overrides:
preNewArrExpression in class TreeWalker
newArrExpressionAfterSize
public void newArrExpressionAfterSize(ExpressionFactory.NewArrExpression arg)
- Overrides:
newArrExpressionAfterSize in class TreeWalker
newArrExpressionBeforeExpression
public void newArrExpressionBeforeExpression(ExpressionFactory.NewArrExpression arg)
- Overrides:
newArrExpressionBeforeExpression in class TreeWalker
newArrExpressionAfterExpression
public void newArrExpressionAfterExpression(ExpressionFactory.NewArrExpression arg)
- Overrides:
newArrExpressionAfterExpression in class TreeWalker
postNewArrExpression
public void postNewArrExpression(ExpressionFactory.NewArrExpression arg)
- Overrides:
postNewArrExpression in class TreeWalker
preSuperCallExpression
public boolean preSuperCallExpression(ExpressionFactory.SuperCallExpression arg)
- Overrides:
preSuperCallExpression in class TreeWalker
superCallExpressionBeforeArg
public void superCallExpressionBeforeArg(ExpressionFactory.SuperCallExpression arg)
- Overrides:
superCallExpressionBeforeArg in class TreeWalker
postSuperCallExpression
public void postSuperCallExpression(ExpressionFactory.SuperCallExpression arg)
- Overrides:
postSuperCallExpression in class TreeWalker
preSuperObjExpression
public boolean preSuperObjExpression(ExpressionFactory.SuperObjExpression arg)
- Overrides:
preSuperObjExpression in class TreeWalker
superObjExpressionBeforeArg
public void superObjExpressionBeforeArg(ExpressionFactory.SuperObjExpression arg)
- Overrides:
superObjExpressionBeforeArg in class TreeWalker
postSuperObjExpression
public void postSuperObjExpression(ExpressionFactory.SuperObjExpression arg)
- Overrides:
postSuperObjExpression in class TreeWalker
preThisObjExpression
public boolean preThisObjExpression(ExpressionFactory.ThisObjExpression arg)
- Overrides:
preThisObjExpression in class TreeWalker
thisObjExpressionBeforeArg
public void thisObjExpressionBeforeArg(ExpressionFactory.ThisObjExpression arg)
- Overrides:
thisObjExpressionBeforeArg in class TreeWalker
postThisObjExpression
public void postThisObjExpression(ExpressionFactory.ThisObjExpression arg)
- Overrides:
postThisObjExpression in class TreeWalker
preNonStaticFieldAccessExpression
public boolean preNonStaticFieldAccessExpression(ExpressionFactory.NonStaticFieldAccessExpression arg)
- Overrides:
preNonStaticFieldAccessExpression in class TreeWalker
postNonStaticFieldAccessExpression
public void postNonStaticFieldAccessExpression(ExpressionFactory.NonStaticFieldAccessExpression arg)
- Overrides:
postNonStaticFieldAccessExpression in class TreeWalker
preStaticFieldAccessExpression
public boolean preStaticFieldAccessExpression(ExpressionFactory.StaticFieldAccessExpression arg)
- Overrides:
preStaticFieldAccessExpression in class TreeWalker
postStaticFieldAccessExpression
public void postStaticFieldAccessExpression(ExpressionFactory.StaticFieldAccessExpression arg)
- Overrides:
postStaticFieldAccessExpression in class TreeWalker
preArrayIndexExpression
public boolean preArrayIndexExpression(ExpressionFactory.ArrayIndexExpression arg)
- Overrides:
preArrayIndexExpression in class TreeWalker
postArrayIndexExpression
public void postArrayIndexExpression(ExpressionFactory.ArrayIndexExpression arg)
- Overrides:
postArrayIndexExpression in class TreeWalker
preArrayLengthExpression
public boolean preArrayLengthExpression(ExpressionFactory.ArrayLengthExpression arg)
- Overrides:
preArrayLengthExpression in class TreeWalker
postArrayLengthExpression
public void postArrayLengthExpression(ExpressionFactory.ArrayLengthExpression arg)
- Overrides:
postArrayLengthExpression in class TreeWalker
preIfExpression
public boolean preIfExpression(ExpressionFactory.IfExpression arg)
- Overrides:
preIfExpression in class TreeWalker
ifExpressionBeforeTruePart
public void ifExpressionBeforeTruePart(ExpressionFactory.IfExpression arg)
- Overrides:
ifExpressionBeforeTruePart in class TreeWalker
ifExpressionBeforeFalsePart
public boolean ifExpressionBeforeFalsePart(ExpressionFactory.IfExpression arg)
- Overrides:
ifExpressionBeforeFalsePart in class TreeWalker
postIfExpression
public void postIfExpression(ExpressionFactory.IfExpression arg)
- Overrides:
postIfExpression in class TreeWalker
Copyright © 2013 Oracle. All Rights Reserved.