![]() |
P4C
The P4 Compiler
|
Public Member Functions | |
| TypeConstraints (const TypeVariableSubstitution *definedVariables, const P4::TypeMap *typeMap) | |
| void | add (const TypeConstraint *constraint) |
| void | addEqualityConstraint (const IR::Node *source, const IR::Type *left, const IR::Type *right) |
| void | addImplicitCastConstraint (const IR::Node *source, const IR::Type *left, const IR::Type *right) |
| void | addUnifiableTypeVariable (const IR::ITypeVar *typeVariable) |
| void | dbprint (std::ostream &out) const |
| const TypeVariableSubstitution * | getCurrentSubstitution () const |
| bool | isUnifiableTypeVariable (const IR::Type *type) |
| TypeVariableSubstitution * | solve () |
| bool | solve (const BinaryConstraint *constraint) |
Public Member Functions inherited from P4::IHasDbPrint | |
| void | print () const |
Public Attributes | |
| TypeVariableSubstitutionVisitor | replaceVariables |
|
virtual |
Implements P4::IHasDbPrint.
| bool P4::TypeConstraints::isUnifiableTypeVariable | ( | const IR::Type * | type | ) |
True if type is a type variable that can be unified. A variable is unifiable if it is marked so and it not already part of definedVariables.