2 #ifndef HOBBES_LANG_TYPEINF_HPP_INCLUDED 3 #define HOBBES_LANG_TYPEINF_HPP_INCLUDED 42 void suppress(
const std::string&);
44 void unsuppress(
const std::string&);
71 bool suppressed(
const std::string&)
const;
TEnvPtr tenv
Definition: typeinf.H:64
std::string sv
Definition: typeinf.H:86
SuppressVarCounts suppressVarCounts
Definition: typeinf.H:69
std::pair< Constraints, MonoTypes > QualLiftedMonoTypes
Definition: typeinf.H:124
bool visited
Definition: typeinf.H:16
std::map< std::string, size_t > SuppressVarCounts
Definition: typeinf.H:68
void apply(const transition_lookahead &tl, parserdef *p)
Definition: lalr.C:564
size_t donebc
Definition: typeinf.H:17
QualLiftedMonoTypes liftQualifiers(const QualTypes &qts)
Definition: typeinf.C:1008
std::vector< QualTypePtr > QualTypes
Definition: type.H:30
MonoType::ptr MonoTypePtr
Definition: type.H:71
ExprPtr substitute(const VarMapping &vm, const ExprPtr &e, bool *mapped=0)
Definition: expr.C:968
bool unifiable(const TEnvPtr &, const MonoTypePtr &, const MonoTypePtr &)
Definition: typeinf.C:437
std::pair< Constraints, MonoTypePtr > QualLiftedMonoType
Definition: typeinf.H:127
MonoTypeUnifier * u
Definition: typeinf.H:85
std::vector< ConstraintPtr > Constraints
Definition: type.H:35
M m
Definition: typeinf.H:76
std::shared_ptr< Expr > ExprPtr
Definition: expr.H:58
MonoTypeSubst substitution(const str::seq &ns, const MonoTypes &ts)
Definition: type.H:145
std::shared_ptr< TEnv > TEnvPtr
Definition: type.H:80
std::vector< std::string > seq
Definition: str.H:19
equivalence_mapping< MonoTypePtr, UTypeRec, LiftUType, MoreDefinedType > M
Definition: typeinf.H:75
MonoTypePtr ty
Definition: typeinf.H:15
std::vector< Definition > Definitions
Definition: expr.H:62
ExprPtr validateType(const TEnvPtr &tenv, const ExprPtr &e, Definitions *)
Definition: typeinf.C:925
std::shared_ptr< Constraint > ConstraintPtr
Definition: type.H:33
bool refine(const TEnvPtr &tenv, const ConstraintPtr &c, MonoTypeUnifier *s, Definitions *)
Definition: typeinf.C:485
std::vector< MonoTypePtr > MonoTypes
Definition: type.H:72
std::shared_ptr< QualType > QualTypePtr
Definition: type.H:28
size_t bcount
Definition: typeinf.H:65
std::map< TVName, MonoTypePtr > MonoTypeSubst
Definition: type.H:143
void mgu(const ExprPtr &, const ExprPtr &, MonoTypeUnifier *)
Definition: typeinf.C:959