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 TypeMethodDescriptionbooleanaddCandidate(int index, IBranchTarget candidate) booleanaddCandidate(IBranchTarget candidate) booleanaddCandidates(List<? extends IBranchTarget> candidates) booleangetDef()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.inthashCode()booleanbooleansetIncludeUnknownTarget(boolean include) booleanbooleanSet 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:IEBranchDetailsRetrieve the list of defines.- Specified by:
getDefin interfaceIEBranchDetails- Returns:
- a read-only list
-
getUse
Description copied from interface:IEBranchDetailsRetrieve the list of uses.- Specified by:
getUsein interfaceIEBranchDetails- Returns:
- a read-only list
-
getSpoiled
Description copied from interface:IEBranchDetailsRetrieve the list of spoiled variables.- Specified by:
getSpoiledin interfaceIEBranchDetails- Returns:
- a read-only list
-
getStackPointerDeltaDeterminer
- Specified by:
getStackPointerDeltaDeterminerin interfaceIEBranchDetails
-
getStackPointerDelta
Description copied from interface:IEBranchDetailsConvenience method.- Specified by:
getStackPointerDeltain interfaceIEBranchDetails- Returns:
-
getStackPointerDeltaValue
public int getStackPointerDeltaValue()Description copied from interface:IEBranchDetailsConvenience method.- Specified by:
getStackPointerDeltaValuein interfaceIEBranchDetails- Returns:
-
getDynamicTargetCandidates
Description copied from interface:IEBranchDetailsRetrieve the list of possible branch targets (may be N/A for the owner PC-assign).- Specified by:
getDynamicTargetCandidatesin interfaceIEBranchDetails- Returns:
- a read-only list
-
addCandidate
- Specified by:
addCandidatein interfaceIEBranchDetails- Parameters:
candidate-- Returns:
- true if the object was modified
-
addCandidate
- Specified by:
addCandidatein interfaceIEBranchDetails- Parameters:
index-candidate-- Returns:
- true if the object was modified
-
addCandidates
- Specified by:
addCandidatesin interfaceIEBranchDetails- Parameters:
candidates-- Returns:
- true if the object was modified
-
setIncludeUnknownTarget
public boolean setIncludeUnknownTarget(boolean include) - Specified by:
setIncludeUnknownTargetin interfaceIEBranchDetails- Parameters:
include-- Returns:
- true if the object was modified
-
isIncludeUnknownTarget
public boolean isIncludeUnknownTarget()- Specified by:
isIncludeUnknownTargetin interfaceIEBranchDetails- Returns:
-
getNativePrototypeHint
- Specified by:
getNativePrototypeHintin interfaceIEBranchDetails- Returns:
- optional hint (if not null, the returned prototype should not be directly modified)
-
setNativePrototypeHint
- Specified by:
setNativePrototypeHintin interfaceIEBranchDetails- Parameters:
hint-- Returns:
- true if the object was modified
-
getPreInvocationDetails
Description copied from interface:IEBranchDetailsGet the pre-invocation details object, if one was set.- Specified by:
getPreInvocationDetailsin interfaceIEBranchDetails- Returns:
- may be null
-
setPreInvocationDetails
Description copied from interface:IEBranchDetailsSet the optional pre-invocation details object.- Specified by:
setPreInvocationDetailsin interfaceIEBranchDetails- Parameters:
details-- Returns:
- true if the object was modified
-
hashCode
public int hashCode() -
equals
-
toString
-