| Package | Description |
|---|---|
| jasm.attributes |
Provides classes for representing class file attributes, including code necessary for encoding and decoding them.
|
| jasm.io |
Provides classes for reading/writing class files and Jasm files.
|
| jasm.lang |
Provides core class for representing JVM class files, bytecodes, types and constants.
|
| jasm.util |
Provides various helper classes, including a simple library for performing dataflow analysis.
|
| Modifier and Type | Field and Description |
|---|---|
Bytecode[] |
Code.Rewrite.bytecodes |
| Modifier and Type | Field and Description |
|---|---|
protected ArrayList<Bytecode> |
Code.bytecodes |
| Modifier and Type | Method and Description |
|---|---|
List<Bytecode> |
Code.bytecodes() |
| Constructor and Description |
|---|
Rewrite(int start,
int length,
Bytecode... bytecodes) |
| Constructor and Description |
|---|
Code(Collection<Bytecode> bytecodes,
Collection<Code.Handler> handlers,
ClassFile.Method method) |
| Modifier and Type | Method and Description |
|---|---|
protected Bytecode |
ClassFileReader.decodeInstruction(int offset,
int start,
HashMap<Integer,String> labels,
int line) |
static Bytecode |
JasmFileReader.parseArrayLoadStoreBytecode(ArrayList<String> tokens) |
static Bytecode |
JasmFileReader.parseBytecode(String text) |
static Bytecode |
JasmFileReader.parseConstBytecode(ArrayList<String> tokens) |
static Bytecode |
JasmFileReader.parseFieldBytecode(ArrayList<String> tokens) |
static Bytecode |
JasmFileReader.parseInvokeBytecode(ArrayList<String> tokens) |
static Bytecode |
JasmFileReader.parseLoadStoreBytecode(ArrayList<String> tokens) |
static Bytecode |
JasmFileReader.parseReturnBytecode(ArrayList<String> tokens) |
| Modifier and Type | Class and Description |
|---|---|
static class |
Bytecode.ArrayLength
Represents the arraylength bytecode
|
static class |
Bytecode.ArrayLoad
Represents the arrayload bytecode.
|
static class |
Bytecode.ArrayStore
Represents the arraystore bytecode.
|
static class |
Bytecode.BinOp
This represents all binary operators involving two operands on the stack.
|
static class |
Bytecode.Branch
This class abstracts different kinds of branching statements (e.g.
|
static class |
Bytecode.CheckCast
Represents the check cast bytecode.
|
static class |
Bytecode.Cmp
This represents the bytecodes fcmpl, fcmpg, dcmpl, dcmpg and lcmp
|
static class |
Bytecode.Conversion
This represents the family of primitive conversion operations, such as
i2f, d2f, l2i etc.
|
static class |
Bytecode.Dup
Represents the dup and dup2 bytecodes
|
static class |
Bytecode.DupX1
Represents the dupx1 bytecode
|
static class |
Bytecode.DupX2
Represents the dupx2 bytecode
|
static class |
Bytecode.GetField
This represents the getfield and getstatic bytecodes.
|
static class |
Bytecode.Goto
This class abstracts the unconditional branch bytecode goto.
|
static class |
Bytecode.If
This represents the bytecodes ifeq, ifne, iflt, ifge, ifgt, ifle.
|
static class |
Bytecode.IfCmp
This represents the bytecodes ifacmp_XX and ificmp_xx
|
static class |
Bytecode.Iinc
Represents the iinc bytecode for incrementing a local variable.
|
static class |
Bytecode.InstanceOf
Represents the instanceof bytecode
|
static class |
Bytecode.Invoke
This represents the invokevirtual, invokespecial, invokestatic and
invokeinterface bytecodes
|
static class |
Bytecode.Label
This does not actually correspond to a bytecode per se.
|
static class |
Bytecode.Load
Represents all bytecodes for loading from a local variable, including
iload, aload, lload etc.
|
static class |
Bytecode.LoadConst
Represents all bytecodes for loading constants.
|
static class |
Bytecode.MonitorEnter
Represents a monitorenter bytecode
|
static class |
Bytecode.MonitorExit
Represents a monitorexit bytecode
|
static class |
Bytecode.Neg |
static class |
Bytecode.New
Represents the new, newarray and anewarray, multinewarray bytecodes.
|
static class |
Bytecode.Nop
Represents the nop bytecode.
|
static class |
Bytecode.Pop
Represents the pop and pop2 bytecodes
|
static class |
Bytecode.PutField
This represents the putfield and putstatic bytecodes.
|
static class |
Bytecode.Return
Represents return bytecodes, including ireturn, areturn, etc.
|
static class |
Bytecode.Store
Represents all bytecodes for storing to a local variable, including
istore, astore, lstore etc.
|
static class |
Bytecode.Swap
Represents the swap bytecode
|
static class |
Bytecode.Switch
This represents the bytecodes tableswitch and lookupswitch
|
static class |
Bytecode.Throw
Represents the athrow bytecode.
|
| Modifier and Type | Method and Description |
|---|---|
protected HashMap<String,Integer> |
DeadCodeElimination.buildLabelMap(List<Bytecode> bytecodes) |
protected void |
DeadCodeElimination.visit(int index,
HashSet<Integer> visited,
HashMap<String,Integer> labels,
List<Bytecode> bytecodes) |
Copyright © 2016. All rights reserved.