19 Graph *pushBack(Graph ¤tSubgraph,
const cstring &name);
21 Graph *getSubgraph()
const;
26 std::vector<cstring> names{};
27 std::vector<Graph *> subgraphs{};
32 bool preorder(
const IR::PackageBlock *block)
override;
33 bool preorder(
const IR::ControlBlock *block)
override;
34 bool preorder(
const IR::P4Control *cont)
override;
35 bool preorder(
const IR::BlockStatement *statement)
override;
36 bool preorder(
const IR::IfStatement *statement)
override;
37 bool preorder(
const IR::SwitchStatement *statement)
override;
38 bool preorder(
const IR::MethodCallStatement *statement)
override;
39 bool preorder(
const IR::BaseAssignmentStatement *statement)
override;
40 bool preorder(
const IR::ReturnStatement *)
override;
41 bool preorder(
const IR::ExitStatement *)
override;
42 bool preorder(
const IR::P4Table *table)
override;
43 bool preorder(
const IR::Key *key)
override;
44 bool preorder(
const IR::P4Action *action)
override;
46 std::vector<Graph *> controlGraphsArray{};
52 Parents return_parents{};
56 ControlStack controlStack{};
57 std::optional<cstring> instanceName{};