Package com.ibm.wala.shrikeBT

Interface Summary
BinaryOpInstruction.IOperator  
BytecodeConstants Information about java byte codes that appear in the "code" attribute of a .class file.
ConditionalBranchInstruction.IOperator  
Constants This interface defines a bunch of constants from the JVM spec.
IInstruction  
IInvokeInstruction  
IInvokeInstruction.IDispatch  
MethodData.Results Annotation objects implement this Results interface.
UnaryOpInstruction.IOperator  
 

Class Summary
ArrayLengthInstruction This class represents arraylength instructions.
ArrayLoadInstruction This class represents the ?aload instructions.
ArrayStoreInstruction This class represents the ?astore instructions.
BinaryOpInstruction This class represents binary operator instructions for which the operands and the result all have the same type.
CheckCastInstruction This class represents checkcast instructions.
ComparisonInstruction This class represents comparisons between floats, longs and doubles.
Compiler This class generates Java bytecode from ShrikeBT Instructions.
Compiler.Output This class represents a method generated by a Compiler.
ConditionalBranchInstruction This class represents conditional branches.
ConstantInstruction A ConstantInstruction pushes some constant value onto the stack.
ConstantPoolReader This class provides read-only access to a constant pool.
ConversionInstruction This class represents instructions that convert from one primitive type to another.
Decoder A Decoder translates a method's Java bytecode into shrikeBT code, i.e.
Disassembler This is a very simple component to disassemble a ShrikeBT method.
DupInstruction This class represents dup instructions.
ExceptionHandler An ExceptionHandler represents a single handler covering a single instruction.
GetInstruction This class represents get and getstatic instructions.
GotoInstruction This class represents goto and goto_w instructions.
InstanceofInstruction This class represents instanceof instructions.
Instruction Instructions are immutable objects.
Instruction.Visitor This class is used by Instruction.visit to dispatch based on the instruction type.
InvokeInstruction This class represents method invocation instructions.
LoadInstruction This class represents local variable load instructions.
MethodData This class is a container for a bunch of information that we might know about a method.
MethodEditor The MethodEditor is the core of the ShrikeBT code rewriting mechanism.
MethodEditor.Output Output is the interface that patches use to emit their code into a method body.
MethodEditor.Patch This class is subclassed for each kind of patch that you want to apply.
MethodEditor.Visitor A specialized Instruction.Visitor providing convenience methods for inserting patches.
MonitorInstruction This class represents monitorenter and monitorexit instructions.
NewInstruction  
PopInstruction PopInstructions pop one or two elements off the working stack.
PutInstruction This class represents put and putstatic instructions.
ReturnInstruction This instruction represents all return instructions.
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.
StoreInstruction This class represents instructions that store to local variables.
SwapInstruction This instruction represents the swap instruction, which swaps the two values on top of the working stack.
SwitchInstruction This instruction represents all forms of switch instructions.
ThrowInstruction This class represents the athrow instruction.
UnaryOpInstruction This class represents unary operators where the result is the same type as the operand.
Util This class contains miscellaneous useful functions.
 

Enum Summary
BinaryOpInstruction.Operator  
ComparisonInstruction.Operator  
ConditionalBranchInstruction.Operator  
IInvokeInstruction.Dispatch  
ShiftInstruction.Operator  
UnaryOpInstruction.Operator  
 

Exception Summary
Decoder.InvalidBytecodeException This exception is thrown when the Decoder detects invalid incoming bytecode (code that would not pass the Java verifier).