EqUnify.cxx File Reference

#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< TvPrinterdebugTvp


Define Documentation

#define CMPSET ( var,
val   ) 

Value:

do {                     \
    if(var != true)      \
      var = val;         \
  } while(0);

Definition at line 140 of file EqUnify.cxx.

Referenced by EqUnify().


Function Documentation

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 
)

Definition at line 114 of file EqUnify.cxx.

References debugTvp.

bool TransClose ( GCPtr< Constraints cset  ) 

Definition at line 73 of file EqUnify.cxx.

References addSubCst().

Referenced by EqUnify().

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().


Variable Documentation

GCPtr<TvPrinter> debugTvp

Referenced by printCset().


Generated on Sat Feb 4 23:59:29 2012 for BitC Compiler by  doxygen 1.4.7