8#ifndef FRONTENDS_P4_TYPECHECKING_TYPEUNIFICATION_H_
9#define FRONTENDS_P4_TYPECHECKING_TYPEUNIFICATION_H_
11#include "frontends/p4/typeMap.h"
30class TypeUnification final {
34 static bool containsDots(
const IR::Type_StructLike *type);
35 static bool containsDots(
const IR::Type_BaseList *type);
37 bool unifyFunctions(
const BinaryConstraint *constraint,
bool skipReturnValues =
false);
42 : constraints(constraints), typeMap(typeMap) {}
Base class for EqualityConstraint and CanBeImplicitlyCastConstraint.
Definition typeConstraints.h:98
Definition typeConstraints.h:171
bool unify(const BinaryConstraint *constraint)
Definition typeUnification.cpp:234
TODO: this is not really specific to BMV2, it should reside somewhere else.
Definition applyOptionsPragmas.cpp:13