| Modifier and Type | Method and Description |
|---|---|
MethodData |
MethodEditor.getData() |
static MethodData |
MethodData.makeWithDefaultHandlersAndInstToBytecodes(int access,
String classType,
String name,
String signature,
IInstruction[] instructions)
Create information for a method, with no exception handlers and a dummy mapping of instructions to original bytecodes.
|
| Modifier and Type | Method and Description |
|---|---|
boolean |
MethodData.Results.notifyUpdate(MethodData info,
IInstruction[] newInstructions,
ExceptionHandler[][] newHandlers,
int[] newInstructionMap)
This method is called just before the code for a method changes.
|
| Constructor and Description |
|---|
Compiler(MethodData info)
Extract the data for the method to be compiled from the MethodData container.
|
Disassembler(MethodData data)
Create a disassembler for a method.
|
MethodEditor(MethodData info)
Build an editor for the given method.
|
| Modifier and Type | Method and Description |
|---|---|
static Analyzer |
Analyzer.createAnalyzer(MethodData info) |
| Constructor and Description |
|---|
Analyzer(MethodData info) |
Analyzer(MethodData info,
int[] instToBC,
String[][] vars) |
Verifier(MethodData info)
Initialize a verifier.
|
Verifier(MethodData info,
int[] instToBC,
String[][] vars) |
| Modifier and Type | Method and Description |
|---|---|
static int |
LocalAllocator.allocate(MethodData info)
Allocates a new local that will fit any type.
|
static int |
LocalAllocator.allocate(MethodData info,
int count)
Allocates a new local variable of the specified type.
|
static int |
LocalAllocator.allocate(MethodData info,
String type) |
static int |
InstructionTypeCounter.getArrayLengthCount(MethodData info) |
static int |
InstructionTypeCounter.getArrayLoadCount(MethodData info) |
static int |
InstructionTypeCounter.getArrayStoreCount(MethodData info) |
static int |
InstructionTypeCounter.getBinaryOpCount(MethodData info) |
static int |
InstructionTypeCounter.getCheckCastCount(MethodData info) |
static int |
InstructionTypeCounter.getComparisonCount(MethodData info) |
static int |
InstructionTypeCounter.getConditionalBranchCount(MethodData info) |
static int |
InstructionTypeCounter.getConstantCount(MethodData info) |
static int |
InstructionTypeCounter.getConversionCount(MethodData info) |
static int |
InstructionTypeCounter.getDupCount(MethodData info) |
static int |
InstructionTypeCounter.getGetCount(MethodData info) |
static int |
InstructionTypeCounter.getGotoCount(MethodData info) |
static int |
InstructionTypeCounter.getInstanceOfCount(MethodData info) |
static int |
InstructionTypeCounter.getInvokeCount(MethodData info) |
static int |
InstructionTypeCounter.getLocalLoadCount(MethodData info) |
static int |
InstructionTypeCounter.getLocalStoreCount(MethodData info) |
static int |
InstructionTypeCounter.getMonitorCount(MethodData info) |
static int |
InstructionTypeCounter.getNewCount(MethodData info) |
static int |
InstructionTypeCounter.getPopCount(MethodData info) |
static int |
InstructionTypeCounter.getPutCount(MethodData info) |
static int |
InstructionTypeCounter.getReturnCount(MethodData info) |
static int |
InstructionTypeCounter.getShiftCount(MethodData info) |
static int |
InstructionTypeCounter.getSwapCount(MethodData info) |
static int |
InstructionTypeCounter.getSwitchesCount(MethodData info) |
static int |
InstructionTypeCounter.getThrowCount(MethodData info) |
static int |
InstructionTypeCounter.getUnaryOpCount(MethodData info) |
static boolean |
ThisAssignmentChecker.isThisAssigned(MethodData info) |
boolean |
InstructionTypeCounter.notifyUpdate(MethodData info,
IInstruction[] newInstructions,
ExceptionHandler[][] newHandlers,
int[] newInstructionMap)
Whenever the underlying method is updated, we'll throw away our counts so they can be reconstructed from scratch next time.
|
boolean |
LocalAllocator.notifyUpdate(MethodData info,
IInstruction[] newInstructions,
ExceptionHandler[][] newHandlers,
int[] newInstructionMap)
This should not be called by clients.
|
boolean |
ThisAssignmentChecker.notifyUpdate(MethodData info,
IInstruction[] newInstructions,
ExceptionHandler[][] newHandlers,
int[] newInstructionMap)
This should not be called by any client.
|
| Modifier and Type | Method and Description |
|---|---|
MethodData |
ClassInstrumenter.createEmptyMethodData(String name,
String sig,
int access) |
MethodData |
ClassInstrumenter.visitMethod(int i)
Get the current state of method i.
|
| Modifier and Type | Method and Description |
|---|---|
static void |
CTUtils.compileAndAddMethodToClassWriter(MethodData md,
ClassWriter classWriter,
ClassWriter.Element rawLines)
Compile and add a method to a
ClassWriter. |
void |
ClassInstrumenter.MethodExaminer.examineCode(MethodData data)
Do something to the method.
|
static CTCompiler |
CTCompiler.make(ClassWriter cw,
MethodData md) |
void |
ClassInstrumenter.replaceMethod(int i,
MethodData md)
Replace the code for method i with new code.
|
| Modifier and Type | Method and Description |
|---|---|
Set<MethodData> |
BootstrapInstrumentor.doClass(ClassInstrumenter ci)
Print a class.
|
| Constructor and Description |
|---|
MethodOptimizer(MethodData d)
Deprecated.
|
MethodOptimizer(MethodData d,
MethodEditor e)
Deprecated.
|
| Modifier and Type | Method and Description |
|---|---|
static List<StackMapConstants.StackMapFrame> |
StackMapTableWriter.stackMapTable(MethodData method,
Compiler.Output output,
ClassHierarchyProvider cha,
String[][] vars,
List<StackMapConstants.StackMapFrame> reuseFrames) |
| Constructor and Description |
|---|
StackMapTableWriter(ClassWriter writer,
MethodData method,
Compiler.Output output,
ClassHierarchyProvider cha,
String[][] vars) |
StackMapTableWriter(ClassWriter writer,
MethodData method,
Compiler.Output output,
ClassHierarchyProvider cha,
String[][] vars,
List<StackMapConstants.StackMapFrame> reuseFrames) |
Copyright © 2019. All rights reserved.