abstract
IDArrayElt
|
asArrayElt()
|
abstract
IDCallInfo
|
asCallInfo()
|
abstract
IDReferenceType
|
asClassReference()
|
abstract
IDImm
|
asImm()
|
abstract
IDInstanceField
|
asInstanceField()
|
abstract
IDInstruction
|
asInstruction()
|
abstract
IDNewArrayInfo
|
asNewArrayInfo()
|
abstract
IDNewInfo
|
asNewInfo()
|
abstract
IDOperation
|
asOperation()
|
abstract
IDPredicate
|
asPredicate()
|
abstract
IDReferenceType
|
asReferenceType()
|
abstract
IDStaticField
|
asStaticField()
|
abstract
IDVar
|
asVar()
|
abstract
boolean
|
canThrow(IDMethodContext ctx)
Determine whether a hypothetical execution of this IR expression could throw.
|
abstract
void
|
collectAllPhysicalOffsets(Collection<Integer> physicalOffsets)
Gather all physical offsets for this element and all its constituents.
|
abstract
void
|
collectSubExpressions(List<IDExpression> sink)
Collect all sub-expressions of this expression, in evaluation order.
|
abstract
void
|
collectVarIds(Set<Integer> sink)
Recursively collect all the variable ids used and defined by this expression.
|
abstract
IDExpression
|
copy(DCopyOptions opt)
Copy this element.
|
abstract
int
|
countIdentifier(IDVar var)
|
abstract
int
|
countVariable(IDVar var)
Count how many times a given identifier is present in an expression.
|
abstract
IDExpression
|
duplicate()
Duplicate this element.
|
abstract
IDImm
|
evaluate(IDState state)
Evaluate this expression.
|
abstract
IDImm
|
evaluate(IDGlobalContext g, Map<Integer, IDImm> varmap)
Convenience method: evaluate a non-instruction IR expression using the
provided set a variable values.
|
abstract
IDImm
|
evaluate(IDMethodContext ctx)
Convenience method: Evaluate this expression within the context of the provided method.
|
abstract
Couple<IDExpression, IDExpression>
|
find(IDExpression elt, int start, int comparisonMethod, IDExpression thisParent)
Find the parent of the the provided child element.
|
abstract
<T extends IDExpression>
T
|
findByType(Class<T> clazz, int start)
Find a child element by type.
|
abstract
<T extends IDExpression>
T
|
findByType(Class<T> clazz)
Find the first child element by type.
|
abstract
IDExpression
|
findParent(IDExpression elt, int start)
Find the parent of the the provided child element.
|
abstract
IDExpression
|
findParent(IDExpression elt)
Find the parent of the first instance of the provided child element.
|
abstract
IJavaElement
|
generateAST(IDMethodContext ctx, IJavaMethod m)
Generate the Java AST element for this IR expression.
|
abstract
Boolean
|
getCustomCanThrow()
|
abstract
Object
|
getData(String key)
Retrieve a value from this IR element's data map.
|
abstract
String
|
getOrigin()
Retrieve the origin info string of this IR element, if there is one.
|
abstract
int
|
getPhysicalOffset()
Retrieve the physical offset (dalvik) associated with this IR.
|
abstract
List<IDExpression>
|
getSubExpressions()
Convenience method used to retrieve all the sub-expressions of this IR, in evaluation order.
|
abstract
IJavaType
|
getType()
Get the IR expression type.
|
abstract
Set<Integer>
|
getVarIds()
Recursively collect all the variable ids used and defined by this expression.
|
abstract
boolean
|
hasSideEffects(IDMethodContext ctx, boolean includeCanThrow)
Determine whether a hypothetical execution of this IR expression would change the program
internal state.
|
abstract
boolean
|
isArrayElt()
|
abstract
boolean
|
isCallInfo(String wantedMsig)
|
abstract
boolean
|
isCallInfo()
|
abstract
boolean
|
isCastOperation(IJavaType expectedCastType)
|
abstract
boolean
|
isCastOperation()
|
abstract
boolean
|
isClassReference()
|
abstract
boolean
|
isConstantImm()
|
abstract
boolean
|
isConstantImm(long expectedRawValue)
|
abstract
boolean
|
isImm()
|
abstract
boolean
|
isInstanceField()
|
abstract
boolean
|
isInstruction()
|
abstract
boolean
|
isNewArrayInfo()
|
abstract
boolean
|
isNewInfo()
|
abstract
boolean
|
isOperation(JavaOperatorType expectedOperatorType)
|
abstract
boolean
|
isOperation(JavaOperatorType expectedOperatorType1, JavaOperatorType expectedOperatorType2, JavaOperatorType expectedOperatorType3)
|
abstract
boolean
|
isOperation()
|
abstract
boolean
|
isOperation(JavaOperatorType expectedOperatorType1, JavaOperatorType expectedOperatorType2, JavaOperatorType expectedOperatorType3, JavaOperatorType expectedOperatorType4, JavaOperatorType expectedOperatorType5)
|
abstract
boolean
|
isOperation(JavaOperatorType expectedOperatorType1, JavaOperatorType expectedOperatorType2, JavaOperatorType expectedOperatorType3, JavaOperatorType expectedOperatorType4)
|
abstract
boolean
|
isOperation(JavaOperatorType expectedOperatorType1, JavaOperatorType expectedOperatorType2, JavaOperatorType expectedOperatorType3, JavaOperatorType expectedOperatorType4, JavaOperatorType expectedOperatorType5, JavaOperatorType expectedOperatorType6)
|
abstract
boolean
|
isOperation(JavaOperatorType expectedOperatorType1, JavaOperatorType expectedOperatorType2)
|
abstract
boolean
|
isPredicate()
|
abstract
boolean
|
isReferenceType()
|
abstract
boolean
|
isStaticField()
|
abstract
boolean
|
isStringConstant()
|
abstract
boolean
|
isStringImm()
|
abstract
boolean
|
isVar()
|
abstract
boolean
|
isVar(int wantedVarId)
|
abstract
void
|
removeData(String key)
Remove an entry from this IR element's data map.
|
abstract
int
|
replaceIdentifier(IDVar var, IDExpression repl)
|
abstract
boolean
|
replaceSubExpression(IDExpression target, IDExpression repl)
Replace an expression of this IR.
|
abstract
int
|
replaceVariable(IDVar var, IDExpression repl)
Deep replace all matching variables by the provided expression.
|
abstract
void
|
setCustomCanThrow(Boolean elemenCanThrow)
|
abstract
void
|
setData(String key, Object value)
Store a key-value pair in this IR element's data map.
|
abstract
void
|
setOrigin(String origin)
Set an optional origin info string for this IR element.
|
abstract
void
|
setPhysicalOffset(int physicalOffset)
Set the main physical offset associated with this IR.
|
abstract
boolean
|
setType(IJavaType newType)
Update the type of an expression.
|
abstract
boolean
|
setType(IJavaType newType, DTypeInfo ti)
Update the type of an expression.
|
abstract
boolean
|
setType(IJavaType newType, DTypeInfo ti, boolean forceUpdate)
Update the type of an expression.
|
abstract
IDImm
|
spawn(long rawvalue)
Create a new immediate IR with the provided 64-bit raw value, and the type of this IR
expression.
|
abstract
void
|
transferMetadataFrom(IDExpression srcExp)
Transfer (shallow copy) metadata from a source IR to this IR.
|
abstract
void
|
updateAllPhysicalOffsets(int physicalOffset)
Update the physical offset of this element and all its constituents.
|
abstract
void
|
updateTypes(DTypeInfo ti)
Deep update the types of the constituents of this IR expression and update to determine the
IR type as well.
|
abstract
boolean
|
visitDepthPost(IDVisitor visitor, IDExpression parent, DVisitResults results)
Visit this expression and its constituents, depth-first post-order.
|
abstract
boolean
|
visitDepthPost(IDVisitor visitor, IDExpression parent)
Visit this expression and its constituents, depth-first post-order.
|
abstract
boolean
|
visitDepthPost(IDVisitor visitor)
Visit this expression and its constituents, depth-first post-order.
|
abstract
boolean
|
visitDepthPre(IDVisitor visitor)
Visit this expression and its constituents, depth-first pre-order.
|
abstract
boolean
|
visitDepthPre(IDVisitor visitor, IDExpression parent, DVisitResults results)
Visit this expression and its constituents, depth-first pre-order.
|
abstract
boolean
|
visitDepthPre(IDVisitor visitor, IDExpression parent)
Visit this expression and its constituents, depth-first pre-order.
|