Class ASMByteCodeVisitor
java.lang.Object
org.glassfish.pfl.dynamic.codegen.impl.TreeWalker
org.glassfish.pfl.dynamic.codegen.impl.ASMByteCodeVisitor
- All Implemented Interfaces:
Visitor
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.
-
Field Summary
Fields inherited from class org.glassfish.pfl.dynamic.codegen.impl.TreeWalker
context -
Constructor Summary
ConstructorsConstructorDescriptionASMByteCodeVisitor(TreeWalkerContext context, org.objectweb.asm.ClassWriter cw) ASMByteCodeVisitor(TreeWalkerContext context, org.objectweb.asm.ClassWriter cw, boolean debug, PrintStream ps) -
Method Summary
Modifier and TypeMethodDescriptionvoidvoidvoidvoidvoidbooleanvoidvoidbooleanbooleanvoidbooleanvoidbooleanvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidpostCaseBranch(CaseBranch arg) voidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidpostStatement(Statement arg) voidvoidvoidvoidvoidvoidvoidvoidvoidvoidvoidpostVariable(Variable arg) voidvoidbooleanbooleanbooleanbooleanbooleanbooleanbooleanpreCaseBranch(CaseBranch arg) booleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanpreStatement(Statement arg) booleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanbooleanpreVariable(Variable param) booleanbooleanvoidvoidvoidbooleanbooleanvoidvoidtryStatementBeforeBlock(TryStatement arg, Type type, Variable var, BlockStatement block) booleanvoidMethods 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
-
Constructor Details
-
ASMByteCodeVisitor
-
ASMByteCodeVisitor
public ASMByteCodeVisitor(TreeWalkerContext context, org.objectweb.asm.ClassWriter cw, boolean debug, PrintStream ps)
-
-
Method Details
-
preNode
- Overrides:
preNodein classTreeWalker
-
postNode
- Overrides:
postNodein classTreeWalker
-
preClassGenerator
- Overrides:
preClassGeneratorin classTreeWalker
-
classGeneratorBeforeFields
- Overrides:
classGeneratorBeforeFieldsin classTreeWalker
-
classGeneratorBeforeInitializer
- Overrides:
classGeneratorBeforeInitializerin classTreeWalker
-
classGeneratorBeforeMethod
- Overrides:
classGeneratorBeforeMethodin classTreeWalker
-
classGeneratorBeforeConstructor
- Overrides:
classGeneratorBeforeConstructorin classTreeWalker
-
postClassGenerator
- Overrides:
postClassGeneratorin classTreeWalker
-
preFieldGenerator
- Overrides:
preFieldGeneratorin classTreeWalker
-
preMethodGenerator
- Overrides:
preMethodGeneratorin classTreeWalker
-
methodGeneratorBeforeArguments
- Overrides:
methodGeneratorBeforeArgumentsin classTreeWalker
-
postMethodGenerator
- Overrides:
postMethodGeneratorin classTreeWalker
-
preStatement
- Overrides:
preStatementin classTreeWalker
-
postStatement
- Overrides:
postStatementin classTreeWalker
-
preThrowStatement
- Overrides:
preThrowStatementin classTreeWalker
-
postThrowStatement
- Overrides:
postThrowStatementin classTreeWalker
-
preAssignmentStatement
- Overrides:
preAssignmentStatementin classTreeWalker
-
assignmentStatementBeforeLeftSide
- Overrides:
assignmentStatementBeforeLeftSidein classTreeWalker
-
postAssignmentStatement
- Overrides:
postAssignmentStatementin classTreeWalker
-
preBlockStatement
- Overrides:
preBlockStatementin classTreeWalker
-
blockStatementBeforeBodyStatement
- Overrides:
blockStatementBeforeBodyStatementin classTreeWalker
-
postBlockStatement
- Overrides:
postBlockStatementin classTreeWalker
-
preCaseBranch
- Overrides:
preCaseBranchin classTreeWalker
-
caseBranchBeforeBodyStatement
- Overrides:
caseBranchBeforeBodyStatementin classTreeWalker
-
postCaseBranch
- Overrides:
postCaseBranchin classTreeWalker
-
preDefinitionStatement
- Overrides:
preDefinitionStatementin classTreeWalker
-
definitionStatementBeforeExpr
- Overrides:
definitionStatementBeforeExprin classTreeWalker
-
postDefinitionStatement
- Overrides:
postDefinitionStatementin classTreeWalker
-
preIfStatement
- Overrides:
preIfStatementin classTreeWalker
-
ifStatementBeforeTruePart
- Overrides:
ifStatementBeforeTruePartin classTreeWalker
-
ifStatementBeforeFalsePart
- Overrides:
ifStatementBeforeFalsePartin classTreeWalker
-
postIfStatement
- Overrides:
postIfStatementin classTreeWalker
-
preBreakStatement
- Overrides:
preBreakStatementin classTreeWalker
-
postBreakStatement
- Overrides:
postBreakStatementin classTreeWalker
-
preReturnStatement
- Overrides:
preReturnStatementin classTreeWalker
-
postReturnStatement
- Overrides:
postReturnStatementin classTreeWalker
-
preSwitchStatement
- Overrides:
preSwitchStatementin classTreeWalker
-
switchStatementBeforeCaseBranches
- Overrides:
switchStatementBeforeCaseBranchesin classTreeWalker
-
switchStatementBeforeDefault
- Overrides:
switchStatementBeforeDefaultin classTreeWalker
-
postSwitchStatement
- Overrides:
postSwitchStatementin classTreeWalker
-
preTryStatement
- Overrides:
preTryStatementin classTreeWalker
-
tryStatementBeforeBlock
public void tryStatementBeforeBlock(TryStatement arg, Type type, Variable var, BlockStatement block) - Overrides:
tryStatementBeforeBlockin classTreeWalker
-
tryStatementBeforeFinalPart
- Overrides:
tryStatementBeforeFinalPartin classTreeWalker
-
postTryStatement
- Overrides:
postTryStatementin classTreeWalker
-
preWhileStatement
- Overrides:
preWhileStatementin classTreeWalker
-
whileStatementBeforeBody
- Overrides:
whileStatementBeforeBodyin classTreeWalker
-
postWhileStatement
- Overrides:
postWhileStatementin classTreeWalker
-
preExpression
- Overrides:
preExpressionin classTreeWalker
-
postExpression
- Overrides:
postExpressionin classTreeWalker
-
preVariable
- Overrides:
preVariablein classTreeWalker
-
postVariable
- Overrides:
postVariablein classTreeWalker
-
preConstantExpression
- Overrides:
preConstantExpressionin classTreeWalker
-
postConstantExpression
- Overrides:
postConstantExpressionin classTreeWalker
-
preVoidExpression
- Overrides:
preVoidExpressionin classTreeWalker
-
postVoidExpression
- Overrides:
postVoidExpressionin classTreeWalker
-
preThisExpression
- Overrides:
preThisExpressionin classTreeWalker
-
postThisExpression
- Overrides:
postThisExpressionin classTreeWalker
-
preUnaryOperatorExpression
- Overrides:
preUnaryOperatorExpressionin classTreeWalker
-
postUnaryOperatorExpression
- Overrides:
postUnaryOperatorExpressionin classTreeWalker
-
preBinaryOperatorExpression
- Overrides:
preBinaryOperatorExpressionin classTreeWalker
-
binaryOperatorExpressionBeforeRight
- Overrides:
binaryOperatorExpressionBeforeRightin classTreeWalker
-
postBinaryOperatorExpression
- Overrides:
postBinaryOperatorExpressionin classTreeWalker
-
preCastExpression
- Overrides:
preCastExpressionin classTreeWalker
-
postCastExpression
- Overrides:
postCastExpressionin classTreeWalker
-
preInstofExpression
- Overrides:
preInstofExpressionin classTreeWalker
-
postInstofExpression
- Overrides:
postInstofExpressionin classTreeWalker
-
preStaticCallExpression
- Overrides:
preStaticCallExpressionin classTreeWalker
-
staticCallExpressionBeforeArg
- Overrides:
staticCallExpressionBeforeArgin classTreeWalker
-
postStaticCallExpression
- Overrides:
postStaticCallExpressionin classTreeWalker
-
preNonStaticCallExpression
- Overrides:
preNonStaticCallExpressionin classTreeWalker
-
nonStaticCallExpressionBeforeArg
- Overrides:
nonStaticCallExpressionBeforeArgin classTreeWalker
-
postNonStaticCallExpression
- Overrides:
postNonStaticCallExpressionin classTreeWalker
-
preNewObjExpression
- Overrides:
preNewObjExpressionin classTreeWalker
-
newObjExpressionBeforeArg
- Overrides:
newObjExpressionBeforeArgin classTreeWalker
-
postNewObjExpression
- Overrides:
postNewObjExpressionin classTreeWalker
-
preNewArrExpression
- Overrides:
preNewArrExpressionin classTreeWalker
-
newArrExpressionAfterSize
- Overrides:
newArrExpressionAfterSizein classTreeWalker
-
newArrExpressionBeforeExpression
- Overrides:
newArrExpressionBeforeExpressionin classTreeWalker
-
newArrExpressionAfterExpression
- Overrides:
newArrExpressionAfterExpressionin classTreeWalker
-
postNewArrExpression
- Overrides:
postNewArrExpressionin classTreeWalker
-
preSuperCallExpression
- Overrides:
preSuperCallExpressionin classTreeWalker
-
superCallExpressionBeforeArg
- Overrides:
superCallExpressionBeforeArgin classTreeWalker
-
postSuperCallExpression
- Overrides:
postSuperCallExpressionin classTreeWalker
-
preSuperObjExpression
- Overrides:
preSuperObjExpressionin classTreeWalker
-
superObjExpressionBeforeArg
- Overrides:
superObjExpressionBeforeArgin classTreeWalker
-
postSuperObjExpression
- Overrides:
postSuperObjExpressionin classTreeWalker
-
preThisObjExpression
- Overrides:
preThisObjExpressionin classTreeWalker
-
thisObjExpressionBeforeArg
- Overrides:
thisObjExpressionBeforeArgin classTreeWalker
-
postThisObjExpression
- Overrides:
postThisObjExpressionin classTreeWalker
-
preNonStaticFieldAccessExpression
public boolean preNonStaticFieldAccessExpression(ExpressionFactory.NonStaticFieldAccessExpression arg) - Overrides:
preNonStaticFieldAccessExpressionin classTreeWalker
-
postNonStaticFieldAccessExpression
public void postNonStaticFieldAccessExpression(ExpressionFactory.NonStaticFieldAccessExpression arg) - Overrides:
postNonStaticFieldAccessExpressionin classTreeWalker
-
preStaticFieldAccessExpression
- Overrides:
preStaticFieldAccessExpressionin classTreeWalker
-
postStaticFieldAccessExpression
- Overrides:
postStaticFieldAccessExpressionin classTreeWalker
-
preArrayIndexExpression
- Overrides:
preArrayIndexExpressionin classTreeWalker
-
postArrayIndexExpression
- Overrides:
postArrayIndexExpressionin classTreeWalker
-
preArrayLengthExpression
- Overrides:
preArrayLengthExpressionin classTreeWalker
-
postArrayLengthExpression
- Overrides:
postArrayLengthExpressionin classTreeWalker
-
preIfExpression
- Overrides:
preIfExpressionin classTreeWalker
-
ifExpressionBeforeTruePart
- Overrides:
ifExpressionBeforeTruePartin classTreeWalker
-
ifExpressionBeforeFalsePart
- Overrides:
ifExpressionBeforeFalsePartin classTreeWalker
-
postIfExpression
- Overrides:
postIfExpressionin classTreeWalker
-