TypeInferUtil.cxx File Reference

#include <stdint.h>
#include <stdlib.h>
#include <iostream>
#include <string>
#include <sstream>
#include <libsherpa/UExcept.hxx>
#include "UocInfo.hxx"
#include "AST.hxx"
#include "Type.hxx"
#include "TypeScheme.hxx"
#include "TypeMut.hxx"
#include "Typeclass.hxx"
#include "inter-pass.hxx"
#include "TypeInfer.hxx"
#include "TypeInferUtil.hxx"

Go to the source code of this file.

Functions

shared_ptr< TypeobtainFullUnionType (shared_ptr< Type > t)
size_t nCtArgs (shared_ptr< Type > t)
void useIFGamma (const std::string &idName, shared_ptr< TSEnvironment > fromEnv, shared_ptr< TSEnvironment > toEnv)
void useIFInsts (const std::string &idName, shared_ptr< InstEnvironment >fromEnv, shared_ptr< InstEnvironment >toEnv)
bool initGamma (std::ostream &errStream, shared_ptr< TSEnvironment > gamma, shared_ptr< InstEnvironment > instEnv, const shared_ptr< AST > topAst)


Function Documentation

bool initGamma ( std::ostream &  errStream,
shared_ptr< TSEnvironment gamma,
shared_ptr< InstEnvironment instEnv,
const shared_ptr< AST topAst 
)

Definition at line 150 of file TypeInferUtil.cxx.

References at_interface, boost::GC_NULL, UocInfo::ifList, useIFGamma(), and useIFInsts().

size_t nCtArgs ( shared_ptr< Type t  ) 

Definition at line 81 of file TypeInferUtil.cxx.

References assert(), and COMP_UNIN_DISCM.

Referenced by typeInfer().

shared_ptr<Type> obtainFullUnionType ( shared_ptr< Type t  ) 

Definition at line 63 of file TypeInferUtil.cxx.

References assert().

void useIFGamma ( const std::string &  idName,
shared_ptr< TSEnvironment fromEnv,
shared_ptr< TSEnvironment toEnv 
)

Definition at line 102 of file TypeInferUtil.cxx.

References BF_COMPLETE, BF_PRIVATE, if(), FQName::LocalBindingSep, and s.

void useIFInsts ( const std::string &  idName,
shared_ptr< InstEnvironment fromEnv,
shared_ptr< InstEnvironment toEnv 
)

Definition at line 126 of file TypeInferUtil.cxx.

References BF_COMPLETE, BF_PRIVATE, if(), FQName::LocalBindingSep, and s.


Generated on Thu May 17 23:59:16 2012 for BitC Compiler by  doxygen 1.4.7