35    std::vector<IR::Block *> blockStack;
 
   36    IR::ToplevelBlock *toplevelBlock;
 
   39    void pushBlock(IR::Block *block);
 
   40    void popBlock(IR::Block *block);
 
   44        : refMap(refMap), typeMap(typeMap), toplevelBlock(
nullptr) {
 
   50    IR::ToplevelBlock *getToplevelBlock()
 const override { 
return toplevelBlock; }
 
   52    IR::Block *currentBlock() 
const;
 
   59    const IR::CompileTimeValue *getValue(
const IR::Node *node) 
const;
 
   70    bool preorder(
const IR::P4Program *program) 
override;
 
   71    bool preorder(
const IR::Declaration_Constant *decl) 
override;
 
   72    bool preorder(
const IR::P4Table *table) 
override;
 
   73    bool preorder(
const IR::Declaration_Instance *inst) 
override;
 
   74    bool preorder(
const IR::ConstructorCallExpression *inst) 
override;
 
   75    bool preorder(
const IR::MethodCallExpression *expr) 
override;
 
   76    bool preorder(
const IR::PathExpression *expression) 
override;
 
   77    bool preorder(
const IR::Property *prop) 
override;
 
   78    bool preorder(
const IR::Member *expression) 
override;
 
   79    bool preorder(
const IR::ListExpression *expression) 
override;
 
   80    bool preorder(
const IR::P4ListExpression *expression) 
override;
 
   81    bool preorder(
const IR::StructExpression *expression) 
override;
 
   82    bool preorder(
const IR::Constant *expression)
 override {
 
   86    bool preorder(
const IR::StringLiteral *expression)
 override {
 
   90    bool preorder(
const IR::BoolLiteral *expression)
 override {
 
   94    bool preorder(
const IR::ListCompileTimeValue *expression)
 override {
 
   98    bool preorder(
const IR::StructCompileTimeValue *expression)
 override {
 
  102    bool preorder(
const IR::Declaration_ID *expression)
 override {
 
  107    const IR::Block *processConstructor(
const IR::Node *node, 
const IR::Type *type,
 
  108                                        const IR::Type *instanceType,
 
 
std::vector< const IR::CompileTimeValue * > * evaluateArguments(const IR::ParameterList *parameters, const IR::Vector< IR::Argument > *arguments, IR::Block *context)
Definition evaluator.cpp:109