com.ibm.wala.ssa
Interface SSAInstructionFactory

All Known Subinterfaces:
AstInstructionFactory, AstJavaInstructionFactory, JSInstructionFactory
All Known Implementing Classes:
JavaLanguage.JavaInstructionFactory, JavaSourceLoaderImpl.InstructionFactory

public interface SSAInstructionFactory

An instruction factory for SSA.


Method Summary
 SSAAddressOfInstruction AddressOfInstruction(int lval, int local, FieldReference field, TypeReference pointeeType)
           
 SSAAddressOfInstruction AddressOfInstruction(int lval, int local, int indexVal, TypeReference pointeeType)
           
 SSAAddressOfInstruction AddressOfInstruction(int lval, int local, TypeReference pointeeType)
           
 SSAArrayLengthInstruction ArrayLengthInstruction(int result, int arrayref)
           
 SSAArrayLoadInstruction ArrayLoadInstruction(int result, int arrayref, int index, TypeReference declaredType)
           
 SSAArrayStoreInstruction ArrayStoreInstruction(int arrayref, int index, int value, TypeReference declaredType)
           
 SSABinaryOpInstruction BinaryOpInstruction(IBinaryOpInstruction.IOperator operator, boolean overflow, boolean unsigned, int result, int val1, int val2, boolean mayBeInteger)
           
 SSACheckCastInstruction CheckCastInstruction(int result, int val, int typeValue)
           
 SSACheckCastInstruction CheckCastInstruction(int result, int val, int[] typeValues)
           
 SSACheckCastInstruction CheckCastInstruction(int result, int val, TypeReference type)
           
 SSACheckCastInstruction CheckCastInstruction(int result, int val, TypeReference[] types)
           
 SSAComparisonInstruction ComparisonInstruction(IComparisonInstruction.Operator operator, int result, int val1, int val2)
           
 SSAConditionalBranchInstruction ConditionalBranchInstruction(IConditionalBranchInstruction.IOperator operator, TypeReference type, int val1, int val2)
           
 SSAConversionInstruction ConversionInstruction(int result, int val, TypeReference fromType, TypeReference toType, boolean overflow)
           
 SSAGetCaughtExceptionInstruction GetCaughtExceptionInstruction(int bbNumber, int exceptionValueNumber)
           
 SSAGetInstruction GetInstruction(int result, FieldReference field)
           
 SSAGetInstruction GetInstruction(int result, int ref, FieldReference field)
           
 SSAGotoInstruction GotoInstruction()
           
 SSAInstanceofInstruction InstanceofInstruction(int result, int ref, TypeReference checkedType)
           
 SSAInvokeInstruction InvokeInstruction(int[] params, int exception, CallSiteReference site)
           
 SSAInvokeInstruction InvokeInstruction(int result, int[] params, int exception, CallSiteReference site)
           
 SSALoadIndirectInstruction LoadIndirectInstruction(int lval, TypeReference t, int addressVal)
           
 SSALoadMetadataInstruction LoadMetadataInstruction(int lval, TypeReference entityType, java.lang.Object token)
           
 SSAMonitorInstruction MonitorInstruction(int ref, boolean isEnter)
           
 SSANewInstruction NewInstruction(int result, NewSiteReference site)
           
 SSANewInstruction NewInstruction(int result, NewSiteReference site, int[] params)
           
 SSAPhiInstruction PhiInstruction(int result, int[] params)
           
 SSAPiInstruction PiInstruction(int result, int val, int piBlock, int successorBlock, SSAInstruction cause)
           
 SSAPutInstruction PutInstruction(int value, FieldReference field)
           
 SSAPutInstruction PutInstruction(int ref, int value, FieldReference field)
           
 SSAReturnInstruction ReturnInstruction()
           
 SSAReturnInstruction ReturnInstruction(int result, boolean isPrimitive)
           
 SSAStoreIndirectInstruction StoreIndirectInstruction(int addressVal, int rval, TypeReference pointeeType)
           
 SSASwitchInstruction SwitchInstruction(int val, int defaultLabel, int[] casesAndLabels)
           
 SSAThrowInstruction ThrowInstruction(int exception)
           
 SSAUnaryOpInstruction UnaryOpInstruction(IUnaryOpInstruction.IOperator operator, int result, int val)
           
 

Method Detail

AddressOfInstruction

SSAAddressOfInstruction AddressOfInstruction(int lval,
                                             int local,
                                             TypeReference pointeeType)

AddressOfInstruction

SSAAddressOfInstruction AddressOfInstruction(int lval,
                                             int local,
                                             int indexVal,
                                             TypeReference pointeeType)

AddressOfInstruction

SSAAddressOfInstruction AddressOfInstruction(int lval,
                                             int local,
                                             FieldReference field,
                                             TypeReference pointeeType)

ArrayLengthInstruction

SSAArrayLengthInstruction ArrayLengthInstruction(int result,
                                                 int arrayref)

ArrayLoadInstruction

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

ArrayStoreInstruction

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

BinaryOpInstruction

SSABinaryOpInstruction BinaryOpInstruction(IBinaryOpInstruction.IOperator operator,
                                           boolean overflow,
                                           boolean unsigned,
                                           int result,
                                           int val1,
                                           int val2,
                                           boolean mayBeInteger)

CheckCastInstruction

SSACheckCastInstruction CheckCastInstruction(int result,
                                             int val,
                                             int[] typeValues)

CheckCastInstruction

SSACheckCastInstruction CheckCastInstruction(int result,
                                             int val,
                                             int typeValue)

CheckCastInstruction

SSACheckCastInstruction CheckCastInstruction(int result,
                                             int val,
                                             TypeReference[] types)

CheckCastInstruction

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

ComparisonInstruction

SSAComparisonInstruction ComparisonInstruction(IComparisonInstruction.Operator operator,
                                               int result,
                                               int val1,
                                               int val2)

ConditionalBranchInstruction

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

ConversionInstruction

SSAConversionInstruction ConversionInstruction(int result,
                                               int val,
                                               TypeReference fromType,
                                               TypeReference toType,
                                               boolean overflow)

GetCaughtExceptionInstruction

SSAGetCaughtExceptionInstruction GetCaughtExceptionInstruction(int bbNumber,
                                                               int exceptionValueNumber)

GetInstruction

SSAGetInstruction GetInstruction(int result,
                                 FieldReference field)

GetInstruction

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

GotoInstruction

SSAGotoInstruction GotoInstruction()

InstanceofInstruction

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

InvokeInstruction

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

InvokeInstruction

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

LoadIndirectInstruction

SSALoadIndirectInstruction LoadIndirectInstruction(int lval,
                                                   TypeReference t,
                                                   int addressVal)

LoadMetadataInstruction

SSALoadMetadataInstruction LoadMetadataInstruction(int lval,
                                                   TypeReference entityType,
                                                   java.lang.Object token)

MonitorInstruction

SSAMonitorInstruction MonitorInstruction(int ref,
                                         boolean isEnter)

NewInstruction

SSANewInstruction NewInstruction(int result,
                                 NewSiteReference site)

NewInstruction

SSANewInstruction NewInstruction(int result,
                                 NewSiteReference site,
                                 int[] params)

PhiInstruction

SSAPhiInstruction PhiInstruction(int result,
                                 int[] params)

PiInstruction

SSAPiInstruction PiInstruction(int result,
                               int val,
                               int piBlock,
                               int successorBlock,
                               SSAInstruction cause)

PutInstruction

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

PutInstruction

SSAPutInstruction PutInstruction(int value,
                                 FieldReference field)

ReturnInstruction

SSAReturnInstruction ReturnInstruction()

ReturnInstruction

SSAReturnInstruction ReturnInstruction(int result,
                                       boolean isPrimitive)

StoreIndirectInstruction

SSAStoreIndirectInstruction StoreIndirectInstruction(int addressVal,
                                                     int rval,
                                                     TypeReference pointeeType)

SwitchInstruction

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

ThrowInstruction

SSAThrowInstruction ThrowInstruction(int exception)

UnaryOpInstruction

SSAUnaryOpInstruction UnaryOpInstruction(IUnaryOpInstruction.IOperator operator,
                                         int result,
                                         int val)