49    bool expandHeader = 
true;
 
   51    struct ExpansionInfo {
 
   52        const IR::Statement *statement;
 
   54        const IR::Type *origType;
 
   55        const IR::PathExpression *tmp;  
 
   58    void expand(
const IR::PathExpression *bitvector, 
const IR::Type *type, 
unsigned *offset,
 
   60    ExpansionInfo *convertLookahead(
const IR::MethodCallExpression *expression);
 
   64        : refMap(refMap), typeMap(typeMap), expandHeader(expandHeader) {
 
   67        setName(
"DoExpandLookahead");
 
   69    const IR::Node *postorder(IR::AssignmentStatement *statement) 
override;
 
   70    const IR::Node *postorder(IR::MethodCallStatement *statement) 
override;
 
   71    const IR::Node *preorder(IR::P4Control *control)
 override {
 
   75    const IR::Node *preorder(IR::P4Parser *parser)
 override {
 
   79    const IR::Node *postorder(IR::P4Parser *parser)
 override {
 
   80        if (!newDecls.empty()) parser->parserLocals.append(newDecls);