public class

EBranchDetails

extends Object
implements IEBranchDetails
java.lang.Object
   ↳ com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.EBranchDetails

Class Overview

Standard implementation.

Summary

Public Constructors
EBranchDetails(List<IEVar> def, List<IEVar> use, List<IEVar> spoiled, int stackPointerDelta, IPrototypeItem nativePrototypeHint, List<IBranchTarget> dynamicTargetCandidates)
EBranchDetails()
EBranchDetails(IEBranchDetails v)
Copy constructor.
Public Methods
boolean addCandidate(int index, IBranchTarget candidate)
boolean addCandidate(IBranchTarget candidate)
boolean addCandidates(List<? extends IBranchTarget> candidates)
boolean equals(Object obj)
List<IEVar> getDef()
Retrieve the list of defines.
List<IBranchTarget> getDynamicTargetCandidates()
Retrieve the list of possible branch targets (may be N/A for the owner PC-assign).
IPrototypeItem getNativePrototypeHint()
PreRoutineInvocationDetails getPreInvocationDetails()
Get the pre-invocation details object, if one was set.
List<IEVar> getSpoiled()
Retrieve the list of spoiled variables.
SPDC getStackPointerDelta()
Convenience method.
SPDDeterminer getStackPointerDeltaDeterminer()
int getStackPointerDeltaValue()
Convenience method.
List<IEVar> getUse()
Retrieve the list of uses.
int hashCode()
boolean isIncludeUnknownTarget()
boolean setIncludeUnknownTarget(boolean include)
boolean setNativePrototypeHint(IPrototypeItem hint)
boolean setPreInvocationDetails(PreRoutineInvocationDetails details)
Set the optional pre-invocation details object.
String toString()
[Expand]
Inherited Methods
From class java.lang.Object
From interface com.pnfsoftware.jeb.core.units.code.asm.decompiler.ir.IEBranchDetails

Public Constructors

public EBranchDetails (List<IEVar> def, List<IEVar> use, List<IEVar> spoiled, int stackPointerDelta, IPrototypeItem nativePrototypeHint, List<IBranchTarget> dynamicTargetCandidates)

Parameters
stackPointerDelta initial (fallback) SP-delta value, recorded with unknown guarantee and origin
nativePrototypeHint optional; if provided, can take precedence over stackPointerDelta
dynamicTargetCandidates optional; if provided, can take precedence over nativePrototypeHint

public EBranchDetails ()

public EBranchDetails (IEBranchDetails v)

Copy constructor.

Public Methods

public boolean addCandidate (int index, IBranchTarget candidate)

public boolean addCandidate (IBranchTarget candidate)

public boolean addCandidates (List<? extends IBranchTarget> candidates)

public boolean equals (Object obj)

public List<IEVar> getDef ()

Retrieve the list of defines.

Returns
  • a read-only list

public List<IBranchTarget> getDynamicTargetCandidates ()

Retrieve the list of possible branch targets (may be N/A for the owner PC-assign).

Returns
  • a read-only list

public IPrototypeItem getNativePrototypeHint ()

public PreRoutineInvocationDetails getPreInvocationDetails ()

Get the pre-invocation details object, if one was set.

Returns
  • may be null

public List<IEVar> getSpoiled ()

Retrieve the list of spoiled variables.

Returns
  • a read-only list

public SPDC getStackPointerDelta ()

Convenience method.

public SPDDeterminer getStackPointerDeltaDeterminer ()

public int getStackPointerDeltaValue ()

Convenience method.

public List<IEVar> getUse ()

Retrieve the list of uses.

Returns
  • a read-only list

public int hashCode ()

public boolean isIncludeUnknownTarget ()

public boolean setIncludeUnknownTarget (boolean include)

public boolean setNativePrototypeHint (IPrototypeItem hint)

public boolean setPreInvocationDetails (PreRoutineInvocationDetails details)

Set the optional pre-invocation details object.

Returns
  • true if the object was modified

public String toString ()