56    struct ConstructorMap {
 
   60        void clear() { tmpName.clear(); }
 
   61        void add(
const IR::ConstructorCallExpression *expression, 
cstring name) {
 
   62            CHECK_NULL(expression);
 
   63            tmpName[expression] = name;
 
   65        bool empty()
 const { 
return tmpName.empty(); }
 
   68    enum class Region { InParserStateful, InControlStateful, InBody, Outside };
 
   78    const IR::Node *preorder(IR::P4Parser *parser) 
override;
 
   80    const IR::Node *postorder(IR::P4Parser *parser) 
override;
 
   81    const IR::Node *preorder(IR::P4Control *control) 
override;
 
   82    const IR::Node *postorder(IR::P4Control *control) 
override;
 
   83    const IR::Node *preorder(IR::P4Table *table) 
override;
 
   84    const IR::Node *postorder(IR::ConstructorCallExpression *expression) 
override;