| Package | Description |
|---|---|
| com.ibm.wala.shrikeBT | |
| com.ibm.wala.shrikeBT.analysis | |
| com.ibm.wala.shrikeBT.info |
| Modifier and Type | Interface and Description |
|---|---|
interface |
IArrayLoadInstruction |
interface |
IArrayStoreInstruction |
interface |
IBinaryOpInstruction |
interface |
IComparisonInstruction |
interface |
IConditionalBranchInstruction |
interface |
IConversionInstruction |
interface |
IGetInstruction |
interface |
IInstanceofInstruction |
interface |
IInvokeInstruction |
interface |
ILoadIndirectInstruction |
interface |
ILoadInstruction |
interface |
IPutInstruction |
interface |
IShiftInstruction |
interface |
IStoreIndirectInstruction |
interface |
IStoreInstruction |
interface |
ITypeTestInstruction |
interface |
IUnaryOpInstruction |
| Modifier and Type | Class and Description |
|---|---|
class |
ArrayLengthInstruction
This class represents arraylength instructions.
|
class |
ArrayLoadInstruction
This class represents the ?aload instructions.
|
class |
ArrayStoreInstruction
This class represents the ?astore instructions.
|
class |
BinaryOpInstruction
This class represents binary operator instructions for which the operands and the result all have the same type.
|
class |
CheckCastInstruction
This class represents checkcast instructions.
|
class |
ComparisonInstruction
This class represents comparisons between floats, longs and doubles.
|
class |
ConditionalBranchInstruction
This class represents conditional branches.
|
class |
ConstantInstruction
A ConstantInstruction pushes some constant value onto the stack.
|
class |
ConversionInstruction
This class represents instructions that convert from one primitive type to another.
|
class |
DupInstruction
This class represents dup instructions.
|
class |
GetInstruction
This class represents get and getstatic instructions.
|
class |
GotoInstruction
This class represents goto and goto_w instructions.
|
class |
InstanceofInstruction
This class represents instanceof instructions.
|
class |
Instruction
Instructions are immutable objects.
|
class |
InvokeDynamicInstruction |
class |
InvokeInstruction
This class represents method invocation instructions.
|
class |
LoadInstruction
This class represents local variable load instructions.
|
class |
MonitorInstruction
This class represents monitorenter and monitorexit instructions.
|
class |
NewInstruction |
class |
PopInstruction
PopInstructions pop one or two elements off the working stack.
|
class |
PutInstruction
This class represents put and putstatic instructions.
|
class |
ReturnInstruction
This instruction represents all return instructions.
|
class |
ShiftInstruction
ShiftInstructions are distinguished from BinaryOpInstructions because most binary operations in the JVM require both parameters
to be the same type, but shifts always take one int parameter.
|
class |
StoreInstruction
This class represents instructions that store to local variables.
|
class |
SwapInstruction
This instruction represents the swap instruction, which swaps the two values on top of the working stack.
|
class |
SwitchInstruction
This instruction represents all forms of switch instructions.
|
class |
ThrowInstruction
This class represents the athrow instruction.
|
class |
UnaryOpInstruction
This class represents unary operators where the result is the same type as the operand.
|
| Modifier and Type | Method and Description |
|---|---|
IInstruction[] |
MethodEditor.getInstructions() |
IInstruction[] |
MethodData.getInstructions() |
IInstruction[] |
Decoder.getInstructions()
Get the decoded instructions.
|
IInstruction |
GotoInstruction.redirectTargets(int[] targetMap) |
IInstruction |
Instruction.redirectTargets(int[] targetMap) |
IInstruction |
ConditionalBranchInstruction.redirectTargets(int[] targetMap) |
IInstruction |
SwitchInstruction.redirectTargets(int[] targetMap) |
IInstruction |
IInstruction.redirectTargets(int[] targetMap) |
| Modifier and Type | Method and Description |
|---|---|
static com.ibm.wala.util.collections.Pair<boolean[],boolean[]> |
Util.computeBasicBlocks(IInstruction[] instructions,
ExceptionHandler[][] handlers) |
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.
|
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(boolean isConstructor,
boolean isStatic,
String classType,
String signature,
IInstruction[] instructions,
ExceptionHandler[][] handlers,
int[] instructionsToBytecodes)
Initialize a Compiler for the given method data.
|
Disassembler(IInstruction[] instructions,
ExceptionHandler[][] handlers,
int[] instructionsToBytecodes)
Create a disassembler for a method.
|
MethodData(int access,
String classType,
String name,
String signature,
IInstruction[] instructions,
ExceptionHandler[][] handlers,
int[] instructionsToBytecodes)
Gather the information for a method "from scratch".
|
| Modifier and Type | Field and Description |
|---|---|
protected IInstruction[] |
Analyzer.instructions |
| Modifier and Type | Method and Description |
|---|---|
IInstruction[] |
Analyzer.getInstructions() |
| Constructor and Description |
|---|
Analyzer(boolean isConstructor,
boolean isStatic,
String classType,
String signature,
IInstruction[] instructions,
ExceptionHandler[][] handlers,
int[] instToBC,
String[][] vars) |
Verifier(boolean isConstructor,
boolean isStatic,
String classType,
String signature,
IInstruction[] instructions,
ExceptionHandler[][] handlers,
int[] instToBC,
String[][] vars)
Initialize a verifier.
|
| Modifier and Type | Method and Description |
|---|---|
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.
|
Copyright © 2019. All rights reserved.