#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< Type > | obtainFullUnionType (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) |
| 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().
| 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.
1.4.7