Class EBranchDetails
java.lang.Object
com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.EBranchDetails
- All Implemented Interfaces:
IEBranchDetails
Standard implementation.
-
Constructor Summary
ConstructorsConstructorDescriptionCopy constructor.EBranchDetails
(List<IEVar> def, List<IEVar> use, List<IEVar> spoiled, int stackPointerDelta, IPrototypeItem nativePrototypeHint, List<IBranchTarget> dynamicTargetCandidates) -
Method Summary
Modifier and TypeMethodDescriptionboolean
addCandidate
(int index, IBranchTarget candidate) boolean
addCandidate
(IBranchTarget candidate) boolean
addCandidates
(List<? extends IBranchTarget> candidates) boolean
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.int
hashCode()
boolean
boolean
setIncludeUnknownTarget
(boolean include) boolean
boolean
Set the optional pre-invocation details object.toString()
-
Constructor Details
-
EBranchDetails
public EBranchDetails(List<IEVar> def, List<IEVar> use, List<IEVar> spoiled, int stackPointerDelta, IPrototypeItem nativePrototypeHint, List<IBranchTarget> dynamicTargetCandidates) - Parameters:
def
-use
-stackPointerDelta
- initial (fallback) SP-delta value, recorded with unknown guarantee and originnativePrototypeHint
- optional; if provided, can take precedence over stackPointerDeltadynamicTargetCandidates
- optional; if provided, can take precedence over nativePrototypeHint
-
EBranchDetails
public EBranchDetails() -
EBranchDetails
Copy constructor.
-
-
Method Details
-
getDef
Description copied from interface:IEBranchDetails
Retrieve the list of defines.- Specified by:
getDef
in interfaceIEBranchDetails
- Returns:
- a read-only list
-
getUse
Description copied from interface:IEBranchDetails
Retrieve the list of uses.- Specified by:
getUse
in interfaceIEBranchDetails
- Returns:
- a read-only list
-
getSpoiled
Description copied from interface:IEBranchDetails
Retrieve the list of spoiled variables.- Specified by:
getSpoiled
in interfaceIEBranchDetails
- Returns:
- a read-only list
-
getStackPointerDeltaDeterminer
- Specified by:
getStackPointerDeltaDeterminer
in interfaceIEBranchDetails
-
getStackPointerDelta
Description copied from interface:IEBranchDetails
Convenience method.- Specified by:
getStackPointerDelta
in interfaceIEBranchDetails
- Returns:
-
getStackPointerDeltaValue
public int getStackPointerDeltaValue()Description copied from interface:IEBranchDetails
Convenience method.- Specified by:
getStackPointerDeltaValue
in interfaceIEBranchDetails
- Returns:
-
getDynamicTargetCandidates
Description copied from interface:IEBranchDetails
Retrieve the list of possible branch targets (may be N/A for the owner PC-assign).- Specified by:
getDynamicTargetCandidates
in interfaceIEBranchDetails
- Returns:
- a read-only list
-
addCandidate
- Specified by:
addCandidate
in interfaceIEBranchDetails
- Returns:
- true if the object was modified
-
addCandidate
- Specified by:
addCandidate
in interfaceIEBranchDetails
- Returns:
- true if the object was modified
-
addCandidates
- Specified by:
addCandidates
in interfaceIEBranchDetails
- Returns:
- true if the object was modified
-
setIncludeUnknownTarget
public boolean setIncludeUnknownTarget(boolean include) - Specified by:
setIncludeUnknownTarget
in interfaceIEBranchDetails
- Returns:
- true if the object was modified
-
isIncludeUnknownTarget
public boolean isIncludeUnknownTarget()- Specified by:
isIncludeUnknownTarget
in interfaceIEBranchDetails
- Returns:
-
getNativePrototypeHint
- Specified by:
getNativePrototypeHint
in interfaceIEBranchDetails
- Returns:
- optional hint (if not null, the returned prototype should not be directly modified)
-
setNativePrototypeHint
- Specified by:
setNativePrototypeHint
in interfaceIEBranchDetails
- Returns:
- true if the object was modified
-
getPreInvocationDetails
Description copied from interface:IEBranchDetails
Get the pre-invocation details object, if one was set.- Specified by:
getPreInvocationDetails
in interfaceIEBranchDetails
- Returns:
- may be null
-
setPreInvocationDetails
Description copied from interface:IEBranchDetails
Set the optional pre-invocation details object.- Specified by:
setPreInvocationDetails
in interfaceIEBranchDetails
- Returns:
- true if the object was modified
-
hashCode
public int hashCode() -
equals
-
toString
-