com.ibm.wala.ssa
Class SSAInstructionFactory

java.lang.Object
  extended by com.ibm.wala.ssa.SSAInstructionFactory

public final class SSAInstructionFactory
extends java.lang.Object

An instruction factory for SSA. Note: this class wouldn't be needed if all the package-access constructors in instruction classes were made public.


Method Summary
static SSAArrayLengthInstruction ArrayLengthInstruction(int result, int arrayref)
           
static SSAArrayLoadInstruction ArrayLoadInstruction(int result, int arrayref, int index, TypeReference declaredType)
           
static SSAArrayStoreInstruction ArrayStoreInstruction(int arrayref, int index, int value, TypeReference declaredType)
           
static SSABinaryOpInstruction BinaryOpInstruction(BinaryOpInstruction.IOperator operator, int result, int val1, int val2, boolean mayBeInteger)
           
static SSACheckCastInstruction CheckCastInstruction(int result, int val, TypeReference type)
           
static SSAComparisonInstruction ComparisonInstruction(short opcode, int result, int val1, int val2)
           
static SSAConditionalBranchInstruction ConditionalBranchInstruction(ConditionalBranchInstruction.IOperator operator, TypeReference type, int val1, int val2)
           
static SSAConversionInstruction ConversionInstruction(int result, int val, TypeReference fromType, TypeReference toType)
           
static SSAGetCaughtExceptionInstruction GetCaughtExceptionInstruction(int bbNumber, int exceptionValueNumber)
           
static SSAGetInstruction GetInstruction(int result, FieldReference field)
           
static SSAGetInstruction GetInstruction(int result, int ref, FieldReference field)
           
static SSAGotoInstruction GotoInstruction()
           
static SSAInstanceofInstruction InstanceofInstruction(int result, int ref, TypeReference checkedType)
           
static SSAInvokeInstruction InvokeInstruction(int[] params, int exception, CallSiteReference site)
           
static SSAInvokeInstruction InvokeInstruction(int result, int[] params, int exception, CallSiteReference site)
           
static SSAMonitorInstruction MonitorInstruction(int ref, boolean isEnter)
           
static SSANewInstruction NewInstruction(int result, NewSiteReference site)
           
static SSAPhiInstruction PhiInstruction(int result, int[] params)
           
static SSAPutInstruction PutInstruction(int value, FieldReference field)
           
static SSAPutInstruction PutInstruction(int ref, int value, FieldReference field)
           
static SSAReturnInstruction ReturnInstruction()
           
static SSAReturnInstruction ReturnInstruction(int result, boolean isPrimitive)
           
static SSASwitchInstruction SwitchInstruction(int val, int defaultLabel, int[] casesAndLabels)
           
static SSAThrowInstruction ThrowInstruction(int exception)
           
static SSAUnaryOpInstruction UnaryOpInstruction(UnaryOpInstruction.IOperator operator, int result, int val)
           
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Method Detail

ArrayLengthInstruction

public static SSAArrayLengthInstruction ArrayLengthInstruction(int result,
                                                               int arrayref)

ArrayLoadInstruction

public static SSAArrayLoadInstruction ArrayLoadInstruction(int result,
                                                           int arrayref,
                                                           int index,
                                                           TypeReference declaredType)

ArrayStoreInstruction

public static SSAArrayStoreInstruction ArrayStoreInstruction(int arrayref,
                                                             int index,
                                                             int value,
                                                             TypeReference declaredType)

BinaryOpInstruction

public static SSABinaryOpInstruction BinaryOpInstruction(BinaryOpInstruction.IOperator operator,
                                                         int result,
                                                         int val1,
                                                         int val2,
                                                         boolean mayBeInteger)

CheckCastInstruction

public static SSACheckCastInstruction CheckCastInstruction(int result,
                                                           int val,
                                                           TypeReference type)

ComparisonInstruction

public static SSAComparisonInstruction ComparisonInstruction(short opcode,
                                                             int result,
                                                             int val1,
                                                             int val2)

ConditionalBranchInstruction

public static SSAConditionalBranchInstruction ConditionalBranchInstruction(ConditionalBranchInstruction.IOperator operator,
                                                                           TypeReference type,
                                                                           int val1,
                                                                           int val2)

ConversionInstruction

public static SSAConversionInstruction ConversionInstruction(int result,
                                                             int val,
                                                             TypeReference fromType,
                                                             TypeReference toType)

GetCaughtExceptionInstruction

public static SSAGetCaughtExceptionInstruction GetCaughtExceptionInstruction(int bbNumber,
                                                                             int exceptionValueNumber)

GetInstruction

public static SSAGetInstruction GetInstruction(int result,
                                               FieldReference field)

GetInstruction

public static SSAGetInstruction GetInstruction(int result,
                                               int ref,
                                               FieldReference field)

GotoInstruction

public static SSAGotoInstruction GotoInstruction()

InstanceofInstruction

public static SSAInstanceofInstruction InstanceofInstruction(int result,
                                                             int ref,
                                                             TypeReference checkedType)

InvokeInstruction

public static SSAInvokeInstruction InvokeInstruction(int result,
                                                     int[] params,
                                                     int exception,
                                                     CallSiteReference site)

InvokeInstruction

public static SSAInvokeInstruction InvokeInstruction(int[] params,
                                                     int exception,
                                                     CallSiteReference site)

MonitorInstruction

public static SSAMonitorInstruction MonitorInstruction(int ref,
                                                       boolean isEnter)

NewInstruction

public static SSANewInstruction NewInstruction(int result,
                                               NewSiteReference site)

PhiInstruction

public static SSAPhiInstruction PhiInstruction(int result,
                                               int[] params)
                                        throws java.lang.IllegalArgumentException
Throws:
java.lang.IllegalArgumentException

PutInstruction

public static SSAPutInstruction PutInstruction(int ref,
                                               int value,
                                               FieldReference field)

PutInstruction

public static SSAPutInstruction PutInstruction(int value,
                                               FieldReference field)

ReturnInstruction

public static SSAReturnInstruction ReturnInstruction()

ReturnInstruction

public static SSAReturnInstruction ReturnInstruction(int result,
                                                     boolean isPrimitive)

SwitchInstruction

public static SSASwitchInstruction SwitchInstruction(int val,
                                                     int defaultLabel,
                                                     int[] casesAndLabels)

ThrowInstruction

public static SSAThrowInstruction ThrowInstruction(int exception)

UnaryOpInstruction

public static SSAUnaryOpInstruction UnaryOpInstruction(UnaryOpInstruction.IOperator operator,
                                                       int result,
                                                       int val)