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{};