8#ifndef FRONTENDS_P4_CHECKCOREMETHODS_H_
9#define FRONTENDS_P4_CHECKCOREMETHODS_H_
11#include "frontends/common/resolveReferences/resolveReferences.h"
12#include "frontends/p4/methodInstance.h"
13#include "frontends/p4/typeChecking/typeChecker.h"
19class DoCheckCoreMethods :
public Inspector,
public ResolutionContext {
22 void checkEmitType(
const IR::Expression *emit,
const IR::Type *type)
const;
26 explicit DoCheckCoreMethods(
TypeMap *typeMap) : typeMap(typeMap) {
28 setName(
"DoCheckCoreMethods");
31 void postorder(
const IR::MethodCallExpression *expr)
override;
34class CheckCoreMethods :
public PassManager {
36 explicit CheckCoreMethods(
TypeMap *typeMap) {
39 setName(
"CheckCoreMethods");
Check types for arguments of core.p4 methods.
Definition checkCoreMethods.h:19
Definition methodInstance.h:168
Definition typeChecker.h:55
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition applyOptionsPragmas.cpp:13