abstract
boolean
|
accessesMemory()
Determine whether this IRE accesses memory.
|
abstract
boolean
|
addFlags(int addedFlags)
Add flags to this IRE's flags list.
|
abstract
IECompose
|
asCompose()
|
abstract
IECond
|
asCond()
|
abstract
IEGroup
|
asGroup()
|
abstract
IEGroupElt
|
asGroupElt()
|
abstract
IEImm
|
asImm()
|
abstract
IEMem
|
asMem()
|
abstract
IEOperation
|
asOperation()
|
abstract
IERange
|
asRange()
|
abstract
IESlice
|
asSlice()
|
abstract
IEStatement
|
asStatement()
|
abstract
IEVar
|
asVar()
|
abstract
IEGeneric
|
bit(int pos)
Retrieve a one bit value at the pos position
|
abstract
void
|
collectSubExpressions(Collection<IEGeneric> sink)
Perform a shallow collection of the sub-expressions of this expression.
|
abstract
void
|
copyProperties(IEGeneric srcExp)
Copy the base properties from the provided IR source expression to this expression.
|
abstract
IECond
|
countSuccessiveBits(boolean ones, boolean fromMsb, int bitsize)
Count successive bits in an integer, starting from MSB or LSB.
|
abstract
IEGeneric
|
duplicate()
Clone (deep copy) the expression.
|
abstract
boolean
|
equalsEx(Object obj, boolean includeType)
Same as #equals(Object) with the possibility to exclude the type from the comparison.
|
abstract
IEImm
|
evaluate(EState state)
Evaluate the IRE.
|
abstract
long
|
evaluateAddress(EState state)
Evaluate the IRE as a 64-bit address.@return
|
abstract
long
|
evaluateUnsignedLong(EState state)
Evaluate the IRE as an unsigned long value.
|
abstract
boolean
|
examine(Predicate<IEGeneric> tester)
Visit the constituents of this expression, and check if one of them is passing the provided
test.
|
abstract
Couple<IEGeneric, IEGeneric>
|
find(IEGeneric elt, int start, int comparisonMethod, IEGeneric thisParent)
Find the parent of the the provided child element.
|
abstract
<T extends IEGeneric>
T
|
findByType(Class<T> clazz, int start)
Find a child element by type.
|
abstract
<T extends IEGeneric>
T
|
findByType(Class<T> clazz)
Find the first child element by type.
|
abstract
IEGeneric
|
findParent(IEGeneric elt, int start)
Find the parent of the the provided child element.
|
abstract
IEGeneric
|
findParent(IEGeneric elt)
Find the parent of the first instance of the provided child element.
|
abstract
ICElement
|
generateC(IERoutineContext ectx, ICMethod cctx)
Generate the C abstract syntax tree portion for this expression.
|
abstract
int
|
getBitsize()
Get the size, in bits, of the IR expression.
|
abstract
void
|
getDefinedOrUsedAsDestination(EDefUseInfo defuse)
|
abstract
void
|
getExplicitlyUsed(EDefUseInfo defuse)
Get a list of variable or variable bits 'explicitly used' (read) by the instruction.
|
abstract
IdRanges
|
getExplicitlyUsed()
|
abstract
int
|
getFlags()
Get the expression flags.
|
abstract
int
|
getPriority()
Get the base priority level of the expression.
|
abstract
IWildcardType
|
getSafeType(IWildcardTypeManager etypeman)
Generate a safe wildcard type for the expression, if it doesn't already have one.
|
abstract
void
|
getSubExpressions(List<IEGeneric> list)
|
abstract
IWildcardType
|
getType()
Get the currently set intermediate-type.
|
abstract
IdRanges
|
getUsed()
|
abstract
void
|
getUsed(EDefUseInfo defuse)
Retrieve the variables or variable bits 'used' (read) by the instruction.
|
abstract
IEGeneric
|
half()
Retrieve the lower half-part of this IRE.
|
abstract
boolean
|
hasFlags(int checkedFlags)
Check if this IRE contains the provided flags.
|
abstract
boolean
|
isCompose()
|
abstract
boolean
|
isCond()
|
abstract
boolean
|
isGroup()
|
abstract
boolean
|
isGroupElt()
|
abstract
boolean
|
isImm()
|
abstract
boolean
|
isMem()
|
abstract
boolean
|
isOperation(String name)
|
abstract
boolean
|
isOperation()
|
abstract
boolean
|
isOperation(OperationType... candidateOps)
|
abstract
boolean
|
isOperation(OperationType expectedOp)
|
abstract
boolean
|
isRange()
|
abstract
boolean
|
isSlice()
|
abstract
boolean
|
isSlice(int wantedStart, int wantedEnd)
|
abstract
boolean
|
isStatement()
|
abstract
boolean
|
isVar()
|
abstract
boolean
|
isVar(int wantedVarId)
|
abstract
IEGeneric
|
leftShift(int shift)
left shift of an expression
|
abstract
IEGeneric
|
leftShift(int shift, int bitsize)
|
abstract
IEGeneric
|
lsb()
Return the least significant bit (lsb) of an expression.
|
abstract
IEGeneric
|
msb()
Return the most significant bit (msb) of an expression.
|
abstract
IEGeneric
|
part(int cnt)
Equivalent to slice(0, cnt)
|
abstract
void
|
removeFlags(int removedFlags)
Remove flags from this IRE's flags list.
|
abstract
boolean
|
replaceSubExpression(IEGeneric oldExp, IEGeneric newExp)
Shallow replacement, by reference.
|
abstract
int
|
replaceVar(IEVar var, IEGeneric repl)
Deep replace.
|
abstract
IEGeneric
|
rightShift(int shift)
right shift of an expression
|
abstract
IEGeneric
|
rightShift(int shift, int bitsize)
|
abstract
IWildcardType
|
safelyType(IWildcardTypeManager etypeman)
Generate and assign a safe wildcard type to the expression if it doesn't already have one.
|
abstract
void
|
setFlags(int newFlags)
Set the expression's flags.
|
abstract
boolean
|
setType(IWildcardType newType, ETypeInfo ti, boolean forceUpdate)
Set a pre-propagation intermediate-type.
|
abstract
boolean
|
setType(IWildcardType newType, ETypeInfo ti)
Set a pre-propagation intermediate-type.
|
abstract
boolean
|
setType(IWildcardType type)
Set a pre-propagation intermediate-type.
|
abstract
IEGeneric
|
signExtend(int newBitsize)
|
abstract
IEGeneric
|
slice(IERange r)
|
abstract
IEGeneric
|
slice(int begin)
Equivalent to slice(begin, bitsize ) .
|
abstract
IEGeneric
|
slice(int begin, int end)
|
abstract
IEGeneric
|
topHalf()
Retrieve the top half-part of this IRE.
|
abstract
void
|
updateTypes(ETypeInfo ti)
Deep update the types of the constituents of this IRE, update the IRE type as well the direct
constituents if needed.
|
abstract
void
|
verify()
Verify the legality of this IR expression.
|
abstract
boolean
|
visitDepthPost(IEVisitor visitor, IEGeneric parent)
Depth-first search, post-order visit of an expression tree or sub-tree.
|
abstract
boolean
|
visitDepthPost(IEVisitor visitor, IEGeneric parent, EVisitResults results)
Depth-first search, post-order visit of an expression tree or sub-tree.
|
abstract
boolean
|
visitDepthPost(IEVisitor visitor)
Depth-first search, post-order visit of an expression tree or sub-tree.
|
abstract
boolean
|
visitDepthPre(IEVisitor visitor, IEGeneric parent)
Depth-first search, pre-order visit of an expression tree or sub-tree.
|
abstract
boolean
|
visitDepthPre(IEVisitor visitor)
Depth-first search, pre-order visit of an expression tree or sub-tree.
|
abstract
boolean
|
visitDepthPre(IEVisitor visitor, IEGeneric parent, EVisitResults results)
Depth-first search, pre-order visit of an expression tree or sub-tree.
|
abstract
IEGeneric
|
zeroExtend(int newBitsize)
|