Package | Description |
---|---|
clojure.asm |
Provides a small and fast bytecode manipulation framework.
|
clojure.asm.commons |
Provides some useful class and method adapters.
|
clojure.lang |
Modifier and Type | Field and Description |
---|---|
private Label |
MethodWriter.currentBlock
The current basic block.
|
(package private) Label |
Handler.end
End of the exception handler's scope (exclusive).
|
(package private) Label |
Handler.handler
Beginning of the exception handler's code.
|
private Label |
MethodWriter.labels
A list of labels.
|
(package private) Label |
Label.next
The next basic block in the basic block stack.
|
(package private) Label |
Frame.owner
The label (i.e.
|
private Label |
MethodWriter.previousBlock
The previous basic block.
|
(package private) Label |
Handler.start
Beginning of the exception handler's scope (inclusive).
|
(package private) Label |
Label.successor
The successor of this label, in the order they are visited.
|
(package private) Label |
Edge.successor
The successor block of the basic block from which this edge originates.
|
Modifier and Type | Method and Description |
---|---|
(package private) Label |
Label.getFirst()
Returns the first label of the series to which this label belongs.
|
protected Label[] |
Attribute.getLabels()
Returns the labels corresponding to this attribute.
|
Modifier and Type | Method and Description |
---|---|
private void |
MethodWriter.addSuccessor(int info,
Label successor)
Adds a successor to the
currentBlock block. |
private void |
MethodWriter.findSubroutine(Label block,
int id)
Finds the basic blocks that belong to a given subroutine, and marks these
blocks as belonging to this subroutine (by using
status as
a bit set (see MethodWriter.visitMaxs(int, int) ). |
private void |
MethodWriter.findSubroutineSuccessors(int id,
Label[] JSRs,
int nJSRs)
Finds the successors of the RET blocks of the specified subroutine, and
of any nested subroutine it calls.
|
(package private) static void |
MethodWriter.getNewOffset(int[] indexes,
int[] sizes,
Label label)
Updates the offset of the given label.
|
protected Attribute |
Attribute.read(ClassReader cr,
int off,
int len,
char[] buf,
int codeOff,
Label[] labels)
Reads a
type attribute. |
private Attribute |
ClassReader.readAttribute(Attribute[] attrs,
java.lang.String type,
int off,
int len,
char[] buf,
int codeOff,
Label[] labels)
Reads an attribute in
b . |
private int |
ClassReader.readFrameType(java.lang.Object[] frame,
int index,
int v,
char[] buf,
Label[] labels) |
void |
MethodWriter.visitJumpInsn(int opcode,
Label label) |
void |
MethodVisitor.visitJumpInsn(int opcode,
Label label)
Visits a jump instruction.
|
void |
MethodAdapter.visitJumpInsn(int opcode,
Label label) |
void |
MethodWriter.visitLabel(Label label) |
void |
MethodVisitor.visitLabel(Label label)
Visits a label.
|
void |
MethodAdapter.visitLabel(Label label) |
void |
MethodWriter.visitLineNumber(int line,
Label start) |
void |
MethodVisitor.visitLineNumber(int line,
Label start)
Visits a line number declaration.
|
void |
MethodAdapter.visitLineNumber(int line,
Label start) |
void |
MethodWriter.visitLocalVariable(java.lang.String name,
java.lang.String desc,
java.lang.String signature,
Label start,
Label end,
int index) |
void |
MethodVisitor.visitLocalVariable(java.lang.String name,
java.lang.String desc,
java.lang.String signature,
Label start,
Label end,
int index)
Visits a local variable declaration.
|
void |
MethodAdapter.visitLocalVariable(java.lang.String name,
java.lang.String desc,
java.lang.String signature,
Label start,
Label end,
int index) |
void |
MethodWriter.visitLookupSwitchInsn(Label dflt,
int[] keys,
Label[] labels) |
void |
MethodWriter.visitLookupSwitchInsn(Label dflt,
int[] keys,
Label[] labels) |
void |
MethodVisitor.visitLookupSwitchInsn(Label dflt,
int[] keys,
Label[] labels)
Visits a LOOKUPSWITCH instruction.
|
void |
MethodVisitor.visitLookupSwitchInsn(Label dflt,
int[] keys,
Label[] labels)
Visits a LOOKUPSWITCH instruction.
|
void |
MethodAdapter.visitLookupSwitchInsn(Label dflt,
int[] keys,
Label[] labels) |
void |
MethodAdapter.visitLookupSwitchInsn(Label dflt,
int[] keys,
Label[] labels) |
private void |
MethodWriter.visitSwitchInsn(Label dflt,
Label[] labels) |
private void |
MethodWriter.visitSwitchInsn(Label dflt,
Label[] labels) |
void |
MethodWriter.visitTableSwitchInsn(int min,
int max,
Label dflt,
Label[] labels) |
void |
MethodWriter.visitTableSwitchInsn(int min,
int max,
Label dflt,
Label[] labels) |
void |
MethodVisitor.visitTableSwitchInsn(int min,
int max,
Label dflt,
Label[] labels)
Visits a TABLESWITCH instruction.
|
void |
MethodVisitor.visitTableSwitchInsn(int min,
int max,
Label dflt,
Label[] labels)
Visits a TABLESWITCH instruction.
|
void |
MethodAdapter.visitTableSwitchInsn(int min,
int max,
Label dflt,
Label[] labels) |
void |
MethodAdapter.visitTableSwitchInsn(int min,
int max,
Label dflt,
Label[] labels) |
void |
MethodWriter.visitTryCatchBlock(Label start,
Label end,
Label handler,
java.lang.String type) |
void |
MethodVisitor.visitTryCatchBlock(Label start,
Label end,
Label handler,
java.lang.String type)
Visits a try catch block.
|
void |
MethodAdapter.visitTryCatchBlock(Label start,
Label end,
Label handler,
java.lang.String type) |
Modifier and Type | Method and Description |
---|---|
Label |
GeneratorAdapter.mark()
Marks the current code position with a new label.
|
Label |
GeneratorAdapter.newLabel()
Creates a new
Label . |
Modifier and Type | Method and Description |
---|---|
private void |
AdviceAdapter.addBranch(Label label) |
private void |
AdviceAdapter.addBranches(Label dflt,
Label[] labels) |
private void |
AdviceAdapter.addBranches(Label dflt,
Label[] labels) |
void |
GeneratorAdapter.catchException(Label start,
Label end,
Type exception)
Marks the start of an exception handler.
|
void |
TableSwitchGenerator.generateCase(int key,
Label end)
Generates the code for a switch case.
|
void |
GeneratorAdapter.goTo(Label label)
Generates the instruction to jump to the given label.
|
void |
GeneratorAdapter.ifCmp(Type type,
int mode,
Label label)
Generates the instructions to jump to a label based on the comparison of
the top two stack values.
|
void |
GeneratorAdapter.ifICmp(int mode,
Label label)
Generates the instructions to jump to a label based on the comparison of
the top two integer stack values.
|
void |
GeneratorAdapter.ifNonNull(Label label)
Generates the instruction to jump to the given label if the top stack
value is not null.
|
void |
GeneratorAdapter.ifNull(Label label)
Generates the instruction to jump to the given label if the top stack
value is null.
|
void |
GeneratorAdapter.ifZCmp(int mode,
Label label)
Generates the instructions to jump to a label based on the comparison of
the top integer stack value with zero.
|
void |
GeneratorAdapter.mark(Label label)
Marks the current code position with the given label.
|
void |
EmptyVisitor.visitJumpInsn(int opcode,
Label label) |
void |
CodeSizeEvaluator.visitJumpInsn(int opcode,
Label label) |
void |
AnalyzerAdapter.visitJumpInsn(int opcode,
Label label) |
void |
AdviceAdapter.visitJumpInsn(int opcode,
Label label) |
void |
EmptyVisitor.visitLabel(Label label) |
void |
AnalyzerAdapter.visitLabel(Label label) |
void |
AdviceAdapter.visitLabel(Label label) |
void |
EmptyVisitor.visitLineNumber(int line,
Label start) |
void |
LocalVariablesSorter.visitLocalVariable(java.lang.String name,
java.lang.String desc,
java.lang.String signature,
Label start,
Label end,
int index) |
void |
EmptyVisitor.visitLocalVariable(java.lang.String name,
java.lang.String desc,
java.lang.String signature,
Label start,
Label end,
int index) |
void |
EmptyVisitor.visitLookupSwitchInsn(Label dflt,
int[] keys,
Label[] labels) |
void |
EmptyVisitor.visitLookupSwitchInsn(Label dflt,
int[] keys,
Label[] labels) |
void |
CodeSizeEvaluator.visitLookupSwitchInsn(Label dflt,
int[] keys,
Label[] labels) |
void |
CodeSizeEvaluator.visitLookupSwitchInsn(Label dflt,
int[] keys,
Label[] labels) |
void |
AnalyzerAdapter.visitLookupSwitchInsn(Label dflt,
int[] keys,
Label[] labels) |
void |
AnalyzerAdapter.visitLookupSwitchInsn(Label dflt,
int[] keys,
Label[] labels) |
void |
AdviceAdapter.visitLookupSwitchInsn(Label dflt,
int[] keys,
Label[] labels) |
void |
AdviceAdapter.visitLookupSwitchInsn(Label dflt,
int[] keys,
Label[] labels) |
void |
EmptyVisitor.visitTableSwitchInsn(int min,
int max,
Label dflt,
Label[] labels) |
void |
EmptyVisitor.visitTableSwitchInsn(int min,
int max,
Label dflt,
Label[] labels) |
void |
CodeSizeEvaluator.visitTableSwitchInsn(int min,
int max,
Label dflt,
Label[] labels) |
void |
CodeSizeEvaluator.visitTableSwitchInsn(int min,
int max,
Label dflt,
Label[] labels) |
void |
AnalyzerAdapter.visitTableSwitchInsn(int min,
int max,
Label dflt,
Label[] labels) |
void |
AnalyzerAdapter.visitTableSwitchInsn(int min,
int max,
Label dflt,
Label[] labels) |
void |
AdviceAdapter.visitTableSwitchInsn(int min,
int max,
Label dflt,
Label[] labels) |
void |
AdviceAdapter.visitTableSwitchInsn(int min,
int max,
Label dflt,
Label[] labels) |
void |
EmptyVisitor.visitTryCatchBlock(Label start,
Label end,
Label handler,
java.lang.String type) |
Modifier and Type | Field and Description |
---|---|
(package private) Label |
Compiler.TryExpr.CatchClause.endLabel |
(package private) Label |
Compiler.TryExpr.CatchClause.label |
Modifier and Type | Method and Description |
---|---|
private void |
Compiler.CaseExpr.emitExprForInts(Compiler.ObjExpr objx,
GeneratorAdapter gen,
Type exprType,
Label defaultLabel) |
void |
Compiler.StaticMethodExpr.emitIntrinsicPredicate(Compiler.C context,
Compiler.ObjExpr objx,
GeneratorAdapter gen,
Label falseLabel) |
private void |
Compiler.CaseExpr.emitThenForHashes(Compiler.ObjExpr objx,
GeneratorAdapter gen,
Compiler.Expr test,
Compiler.Expr then,
Label defaultLabel,
boolean emitUnboxed) |
private void |
Compiler.CaseExpr.emitThenForInts(Compiler.ObjExpr objx,
GeneratorAdapter gen,
Type exprType,
Compiler.Expr test,
Compiler.Expr then,
Label defaultLabel,
boolean emitUnboxed) |