A read-only view of the ControlFlowGraph.

interface ReadOnlyControlFlowGraph {
    edges: () => ReadonlyMap<NodeId, ReadonlyMap<NodeId, CfgEdge>>;
    getBasicBlock: (elemId: NodeId) => undefined | CfgBasicBlockVertex;
    getVertex: (
        id: NodeId,
        includeBlocks?: boolean,
    ) => undefined | CfgSimpleVertex;
    hasVertex: (id: NodeId, includeBlocks?: boolean) => boolean;
    ingoing: (node: NodeId) => undefined | ReadonlyMap<NodeId, CfgEdge>;
    outgoing: (node: NodeId) => undefined | ReadonlyMap<NodeId, CfgEdge>;
    rootVertexIds: () => ReadonlySet<NodeId>;
    vertices: (
        includeBasicBlockElements: boolean,
    ) => ReadonlyMap<NodeId, CfgSimpleVertex>;
}

Implemented by

Properties

edges: () => ReadonlyMap<NodeId, ReadonlyMap<NodeId, CfgEdge>>
getBasicBlock: (elemId: NodeId) => undefined | CfgBasicBlockVertex
getVertex: (id: NodeId, includeBlocks?: boolean) => undefined | CfgSimpleVertex
hasVertex: (id: NodeId, includeBlocks?: boolean) => boolean
ingoing: (node: NodeId) => undefined | ReadonlyMap<NodeId, CfgEdge>
outgoing: (node: NodeId) => undefined | ReadonlyMap<NodeId, CfgEdge>
rootVertexIds: () => ReadonlySet<NodeId>
vertices: (
    includeBasicBlockElements: boolean,
) => ReadonlyMap<NodeId, CfgSimpleVertex>