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

public Class ASMByteCodeVisitor

extends TreeWalker
Class Inheritance
Imports
java.io.PrintStream, java.util.Map, org.glassfish.pfl.basic.contain.Pair, org.glassfish.pfl.dynamic.codegen.spi.Type, .Variable, org.objectweb.asm.ClassWriter

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

Modifier and TypeField and Description
private ByteCodeUtility
private ClassWriter
private boolean
private PrintStream
Inherited from org.glassfish.pfl.dynamic.codegen.impl.TreeWalker:
context

Constructor Summary

AccessConstructor and Description
public
public

Method Summary

Modifier and TypeMethod and Description
public void
public void
public void
private void
public void
public void
public boolean
public void
public void
public boolean
private void
private ClassGeneratorImpl
private MethodGenerator
private <T> T
findNode(Class<T> cls, Node arg)

private void
public boolean
public void
public boolean
public void
public boolean
public void
public void
public void
public void
pack-priv static MyLabel
public void
private void
popIfNeeded(Statement lastStatement)

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 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 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
private void
public void
public void
public void
public boolean
public boolean
public void
public void
public boolean
public void
Inherited from org.glassfish.pfl.dynamic.codegen.impl.TreeWalker:
arrayIndexExpressionBeforeExprmethodGeneratorAfterArgumentspostFieldGeneratorvisitArrayIndexExpressionvisitArrayLengthExpressionvisitAssignmentStatementvisitBinaryOperatorExpressionvisitBlockStatementvisitBreakStatementvisitCaseBranchvisitCastExpressionvisitClassGeneratorvisitConstantExpressionvisitDefinitionStatementvisitExpressionvisitFieldGeneratorvisitIfExpressionvisitIfStatementvisitInstofExpressionvisitMethodGeneratorvisitNewArrExpressionvisitNewObjExpressionvisitNodevisitNonStaticCallExpressionvisitNonStaticFieldAccessExpressionvisitReturnStatementvisitStatementvisitStaticCallExpressionvisitStaticFieldAccessExpressionvisitSuperCallExpressionvisitSuperObjExpressionvisitSwitchStatementvisitThisExpressionvisitThisObjExpressionvisitThrowStatementvisitTryStatementvisitUnaryOperatorExpressionvisitVariablevisitVoidExpressionvisitWhileStatement