souffle  2.0.2-371-g6315b36
Namespaces | Functions
TypeConstraints.cpp File Reference
#include "ast/analysis/TypeConstraints.h"
Include dependency graph for TypeConstraints.cpp:

Go to the source code of this file.

Namespaces

 souffle
 
 souffle::ast
 
 souffle::ast::analysis
 

Functions

static const Type & souffle::ast::analysis::getBaseType (const Type *type)
 
static TypeConstraint souffle::ast::analysis::hasSuperTypeInSet (const TypeVar &var, TypeSet values)
 A constraint factory ensuring that all the types associated to the variable are subtypes of some type in the provided set (values) More...
 
static TypeConstraint souffle::ast::analysis::isSubtypeOf (const TypeVar &a, const TypeVar &b)
 A constraint factory ensuring that all the types associated to the variable a are subtypes of the variable b. More...
 
static TypeConstraint souffle::ast::analysis::isSubtypeOf (const TypeVar &variable, const Type &type)
 A constraint factory ensuring that all the types associated to the variable a are subtypes of type b. More...
 
static TypeConstraint souffle::ast::analysis::isSubtypeOfComponent (const TypeVar &elementVariable, const TypeVar &recordVariable, size_t index)
 Constraint on record type and its elements. More...
 
static TypeConstraint souffle::ast::analysis::satisfiesOverload (const TypeEnvironment &typeEnv, IntrinsicFunctors overloads, TypeVar result, std::vector< TypeVar > args, bool subtypeResult)
 Given a set of overloads, wait the list of candidates to reduce to one and then apply its constraints. More...
 
static TypeConstraint souffle::ast::analysis::subtypesOfTheSameBaseType (const TypeVar &left, const TypeVar &right)
 Ensure that types of left and right have the same base types. More...