1#ifndef FRONTENDS_P4_TYPECHECKING_BINDVARIABLES_H_
2#define FRONTENDS_P4_TYPECHECKING_BINDVARIABLES_H_
4#include "frontends/p4/typeChecking/typeChecker.h"
5#include "frontends/p4/typeMap.h"
14 const IR::Type *getVarValue(
const IR::Type_Var *var,
const IR::Node *errorPosition)
const;
20 setName(
"DoBindTypeVariables");
28 const IR::Node *postorder(IR::Expression *expression)
override;
29 const IR::Node *postorder(IR::Declaration_Instance *decl)
override;
30 const IR::Node *postorder(IR::MethodCallExpression *expression)
override;
31 const IR::Node *postorder(IR::ConstructorCallExpression *expression)
override;
32 const IR::Node *postorder(IR::P4Parser *parser)
override {
return insertTypes(parser); }
33 const IR::Node *postorder(IR::P4Control *control)
override {
return insertTypes(control); }
44 setName(
"BindTypeVariables");
Definition bindVariables.h:36
Definition typeChecker.h:32
Definition bindVariables.h:11
const IR::Node * preorder(IR::Annotation *annotation) override
Definition bindVariables.cpp:138
Definition ir/pass_manager.h:40
Definition typeChecker.h:483
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition applyOptionsPragmas.cpp:24