17#ifndef FRONTENDS_P4_CHECKCOREMETHODS_H_
18#define FRONTENDS_P4_CHECKCOREMETHODS_H_
20#include "frontends/common/resolveReferences/resolveReferences.h"
21#include "frontends/p4/methodInstance.h"
22#include "frontends/p4/typeChecking/typeChecker.h"
28class DoCheckCoreMethods :
public Inspector,
public ResolutionContext {
31 void checkEmitType(
const IR::Expression *emit,
const IR::Type *type)
const;
35 explicit DoCheckCoreMethods(
TypeMap *typeMap) : typeMap(typeMap) {
37 setName(
"DoCheckCoreMethods");
40 void postorder(
const IR::MethodCallExpression *expr)
override;
43class CheckCoreMethods :
public PassManager {
45 explicit CheckCoreMethods(
TypeMap *typeMap) {
48 setName(
"CheckCoreMethods");
Check types for arguments of core.p4 methods.
Definition checkCoreMethods.h:28
Definition methodInstance.h:168
Definition typeChecker.h:55
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition applyOptionsPragmas.cpp:24