import ControlFlowNode from "@specs-feup/flow/flow/ControlFlowNode"; import FunctionNode from "@specs-feup/flow/flow/FunctionNode"; import BaseNode from "@specs-feup/flow/graph/BaseNode"; import Node from "@specs-feup/flow/graph/Node"; /** * A control flow node that represents the end of a function. * The existence of such a node is not strictly mandatory, * as any node with no outgoing edges is semantically interpreted * as exiting the function. * * However, for convention and clarity, it is strongly recommended to * include exactly one node of this type, and connect all nodes * that exit the function to it. */ declare namespace ControlFlowEndNode { const TAG = "__clava_flow__control_flow_end_node"; const VERSION = "1"; class Class extends ControlFlowNode.Class { } class Builder implements Node.Builder { #private; /** * @param functionNode The function node that this node belongs to. */ constructor(functionNode: FunctionNode.Class); buildData(data: BaseNode.Data): Data; buildScratchData(scratchData: BaseNode.ScratchData): ScratchData; } const TypeGuard: Node.TypeGuard; interface Data extends ControlFlowNode.Data { [TAG]: { version: typeof VERSION; }; } interface ScratchData extends ControlFlowNode.ScratchData { } } export default ControlFlowEndNode; //# sourceMappingURL=ControlFlowEndNode.d.ts.map