Interface IEBranchDetails
- All Known Implementing Classes:
EBranchDetails
Describe the side effects of a raw PC assignment. Branch-details are used as a placeholder until
a
IECall
resolution is successful. They are also used for non "call-to-sub"
PC-assignments, to specify additional targets, e.g., potential targets of an indirect
intra-procedural jump.-
Method Summary
Modifier and TypeMethodDescriptionboolean
addCandidate
(int index, IBranchTarget candidate) boolean
addCandidate
(IBranchTarget candidate) boolean
addCandidates
(List<? extends IBranchTarget> candidates) getDef()
Retrieve the list of defines.Retrieve the list of possible branch targets (may be N/A for the owner PC-assign).Get the pre-invocation details object, if one was set.Retrieve the list of spoiled variables.Convenience method.int
Convenience method.getUse()
Retrieve the list of uses.boolean
boolean
setIncludeUnknownTarget
(boolean includeUnknownTarget) boolean
setNativePrototypeHint
(IPrototypeItem nativePrototypeHint) boolean
setPreInvocationDetails
(PreRoutineInvocationDetails preInvocationDetails) Set the optional pre-invocation details object.
-
Method Details
-
getDef
Retrieve the list of defines.- Returns:
- a read-only list
-
getUse
Retrieve the list of uses.- Returns:
- a read-only list
-
getSpoiled
Retrieve the list of spoiled variables.- Returns:
- a read-only list
-
getDynamicTargetCandidates
List<IBranchTarget> getDynamicTargetCandidates()Retrieve the list of possible branch targets (may be N/A for the owner PC-assign).- Returns:
- a read-only list
-
addCandidate
- Parameters:
candidate
-- Returns:
- true if the object was modified
-
addCandidate
- Parameters:
index
-candidate
-- Returns:
- true if the object was modified
-
addCandidates
- Parameters:
candidates
-- Returns:
- true if the object was modified
-
setIncludeUnknownTarget
boolean setIncludeUnknownTarget(boolean includeUnknownTarget) - Parameters:
includeUnknownTarget
-- Returns:
- true if the object was modified
-
isIncludeUnknownTarget
boolean isIncludeUnknownTarget()- Returns:
-
getNativePrototypeHint
IPrototypeItem getNativePrototypeHint()- Returns:
- optional hint (if not null, the returned prototype should not be directly modified)
-
setNativePrototypeHint
- Parameters:
nativePrototypeHint
-- Returns:
- true if the object was modified
-
getStackPointerDeltaDeterminer
SPDDeterminer getStackPointerDeltaDeterminer() -
getStackPointerDelta
SPDC getStackPointerDelta()Convenience method.- Returns:
-
getStackPointerDeltaValue
int getStackPointerDeltaValue()Convenience method.- Returns:
-
getPreInvocationDetails
PreRoutineInvocationDetails getPreInvocationDetails()Get the pre-invocation details object, if one was set.- Returns:
- may be null
-
setPreInvocationDetails
Set the optional pre-invocation details object.- Parameters:
preInvocationDetails
-- Returns:
- true if the object was modified
-