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 TypeMethodDescriptionbooleanaddCandidate(int index, IBranchTarget candidate) booleanaddCandidate(IBranchTarget candidate) booleanaddCandidates(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.intConvenience method.getUse()Retrieve the list of uses.booleanbooleansetIncludeUnknownTarget(boolean includeUnknownTarget) booleansetNativePrototypeHint(IPrototypeItem nativePrototypeHint) booleansetPreInvocationDetails(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
-