28 Graph *pushBack(Graph ¤tSubgraph,
const cstring &name);
30 Graph *getSubgraph()
const;
35 std::vector<cstring> names{};
36 std::vector<Graph *> subgraphs{};
41 bool preorder(
const IR::PackageBlock *block)
override;
42 bool preorder(
const IR::ControlBlock *block)
override;
43 bool preorder(
const IR::P4Control *cont)
override;
44 bool preorder(
const IR::BlockStatement *statement)
override;
45 bool preorder(
const IR::IfStatement *statement)
override;
46 bool preorder(
const IR::SwitchStatement *statement)
override;
47 bool preorder(
const IR::MethodCallStatement *statement)
override;
48 bool preorder(
const IR::AssignmentStatement *statement)
override;
49 bool preorder(
const IR::ReturnStatement *)
override;
50 bool preorder(
const IR::ExitStatement *)
override;
51 bool preorder(
const IR::P4Table *table)
override;
52 bool preorder(
const IR::Key *key)
override;
53 bool preorder(
const IR::P4Action *action)
override;
55 std::vector<Graph *> controlGraphsArray{};
61 Parents return_parents{};
65 ControlStack controlStack{};
66 std::optional<cstring> instanceName{};