#include <stdint.h>#include <stdlib.h>#include <iostream>#include <string>#include <sstream>#include <libsherpa/UExcept.hxx>#include <libsherpa/CVector.hxx>#include <assert.h>#include "UocInfo.hxx"#include "Options.hxx"#include "AST.hxx"#include "Type.hxx"#include "TypeScheme.hxx"#include "Typeclass.hxx"#include "inter-pass.hxx"#include "TypeEqInfer.hxx"#include "TypeInferCommon.hxx"Go to the source code of this file.
Defines | |
| #define | CMPSET(var, val) |
Functions | |
| bool | TransClose (GCPtr< Constraints > cset) |
| void | printCset (std::ostream &out, GCPtr< Constraints > cset) |
| static bool | typeError (std::ostream &errStream, GCPtr< Constraint > ct) |
| bool | EqUnify (std::ostream &errStream, GCPtr< Constraints > cset, GCPtr< Trail > trail) |
Variables | |
| GCPtr< TvPrinter > | debugTvp |
| #define CMPSET | ( | var, | |||
| val | ) |
Value:
do { \ if(var != true) \ var = val; \ } while(0);
Definition at line 140 of file EqUnify.cxx.
Referenced by EqUnify().
| bool EqUnify | ( | std::ostream & | errStream, | |
| GCPtr< Constraints > | cset, | |||
| GCPtr< Trail > | trail | |||
| ) |
Definition at line 148 of file EqUnify.cxx.
References addEqCst(), addSubCst(), assert(), CMPSET, EqUnify(), Type::Kmono, Type::Kpoly, TransClose(), and typeError().
Referenced by EqUnify(), and typeEqInfer().
| void printCset | ( | std::ostream & | out, | |
| GCPtr< Constraints > | cset | |||
| ) |
| bool TransClose | ( | GCPtr< Constraints > | cset | ) |
| static bool typeError | ( | std::ostream & | errStream, | |
| GCPtr< Constraint > | ct | |||
| ) | [static] |
Definition at line 129 of file EqUnify.cxx.
Referenced by EqUnify(), Unify(), UnifyDecl(), UnifyFnArgs(), and UnifyStructUnion().
Referenced by printCset().
1.4.7