7#ifndef FRONTENDS_P4_TYPECHECKING_BINDVARIABLES_H_
8#define FRONTENDS_P4_TYPECHECKING_BINDVARIABLES_H_
10#include "frontends/p4/typeChecking/typeChecker.h"
11#include "frontends/p4/typeMap.h"
19 const IR::Type *getVarValue(
const IR::Type_Var *var,
const IR::Node *errorPosition)
const;
23 explicit DoBindTypeVariables(
TypeMap *typeMap) : typeMap(typeMap) {
25 setName(
"DoBindTypeVariables");
32 const IR::Node *postorder(IR::Expression *expression)
override;
33 const IR::Node *postorder(IR::Declaration_Instance *decl)
override;
34 const IR::Node *postorder(IR::MethodCallExpression *expression)
override;
35 const IR::Node *postorder(IR::ConstructorCallExpression *expression)
override;
38class BindTypeVariables :
public PassManager {
40 explicit BindTypeVariables(
TypeMap *typeMap) {
46 setName(
"BindTypeVariables");
Definition typeChecker.h:32
Definition bindVariables.h:17
const IR::Node * preorder(IR::Annotation *annotation) override
Definition bindVariables.cpp:143
Definition typeChecker.h:491
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition applyOptionsPragmas.cpp:13