17#ifndef MIDEND_SINGLEARGUMENTSELECT_H_ 
   18#define MIDEND_SINGLEARGUMENTSELECT_H_ 
   20#include "frontends/p4/typeChecking/typeChecker.h" 
   34    const IR::Type *selectListType;
 
   38        setName(
"DoSingleArgumentSelect");
 
   43        const IR::Expression *expr;
 
   44        const IR::Expression *mask;
 
   47        Pair(
const IR::Expression *source, 
const IR::Type *type);
 
 
   52    void checkExpressionType(
const IR::Expression *expression);
 
   54    bool preorder(IR::SelectCase *selCase) 
override;
 
   55    bool preorder(IR::SelectExpression *expression) 
override;
 
 
   62        if (!typeChecking) typeChecking = 
new TypeChecking(refMap, typeMap);
 
   63        passes.push_back(typeChecking);
 
   65        setName(
"SingleArgumentSelect");
 
 
Definition singleArgumentSelect.h:32
 
Class used to encode maps from paths to declarations.
Definition referenceMap.h:66
 
Definition singleArgumentSelect.h:58
 
Definition typeChecker.h:55
 
Definition pass_manager.h:38
 
Definition applyOptionsPragmas.cpp:24
 
A pair of expression representing an expression and a mask.
Definition singleArgumentSelect.h:42