A plain vertex in the ControlFlowGraph. Please use CfgSimpleVertex to refer to all potential vertex types within the graph.

interface CfgBasicBlockVertex {
    callTargets?: Set<NodeId>;
    children?: NodeId[];
    elems: readonly (
        | CfgStatementVertex
        | CfgExpressionVertex
        | CfgMidMarkerVertex
        | CfgEndMarkerVertex
    )[];
    id: NodeId;
    type: Block;
    [key: string]: unknown;
}

Hierarchy (View Summary)

Indexable

  • [key: string]: unknown

Hierarchy-Diagram

UML class diagram of CfgBasicBlockVertex

Properties

callTargets?: Set<NodeId>

if the vertex calls a function, this links all targets of this call

children?: NodeId[]

child nodes attached to this one

elems: readonly (
    | CfgStatementVertex
    | CfgExpressionVertex
    | CfgMidMarkerVertex
    | CfgEndMarkerVertex
)[]

The vertices that are part of this block, only connected by FDs, vertices should never occur in multiple bbs

id: NodeId

the id of the vertex, for non-blocks this should directly relate to the AST node

type: Block

the type of the vertex