Header menu logo B2R2

ProgramPoint Type

Represents a specific location in a lifted program. We represent this as a three-tuple: (address of the instruction, index of the IR stmt for the instruction, call site information). The third element (call site) is optional and only meaningful for abstract vertices.

Constructors

Constructor Description

ProgramPoint(callsite, addr, pos)

Full Usage: ProgramPoint(callsite, addr, pos)

Parameters:
Returns: ProgramPoint
callsite : CallSite
addr : Addr
pos : int
Returns: ProgramPoint

ProgramPoint(addr, pos)

Full Usage: ProgramPoint(addr, pos)

Parameters:
    addr : Addr
    pos : int

Returns: ProgramPoint
addr : Addr
pos : int
Returns: ProgramPoint

Instance members

Instance member Description

this.Address

Full Usage: this.Address

Returns: Addr

Address of the instruction.

Returns: Addr

this.CallSite

Full Usage: this.CallSite

Returns: CallSite option

Address of the callsite if this program point refers to an abstract vertex.

Returns: CallSite option

this.CompareTo

Full Usage: this.CompareTo

Parameters:
Returns: int

Compares against another program point.

rhs : ProgramPoint
Returns: int

this.Position

Full Usage: this.Position

Returns: int

Index of the IR statement within the instruction.

Returns: int

Static members

Static member Description

ProgramPoint.GetFake()

Full Usage: ProgramPoint.GetFake()

Returns: ProgramPoint

Gets a fake program point to represent a fake vertex, which does not exist in a CFG. Fake vertices are useful for representing external function calls and their nodes in the SCFG.

Returns: ProgramPoint

ProgramPoint.IsFake(p)

Full Usage: ProgramPoint.IsFake(p)

Parameters:
Returns: bool

Checks if the given program point is a fake one.

p : ProgramPoint
Returns: bool

ProgramPoint.Next(p)

Full Usage: ProgramPoint.Next(p)

Parameters:
Returns: ProgramPoint
p : ProgramPoint
Returns: ProgramPoint

Type something to start searching.