|
hobbes
a language, embedded compiler, and runtime for efficient dynamic expression evaluation, data storage and analysis
|
#include <class.H>


Public Types | |
| typedef std::map< std::string, MonoTypePtr > | Members |
Public Member Functions | |
| TClass (const Constraints &reqs, const std::string &tcname, int tvs, const Members &tcmembers, const LexicalAnnotation &) | |
| TClass (const Constraints &reqs, const std::string &tcname, int tvs, const Members &tcmembers, const FunDeps &fundeps, const LexicalAnnotation &) | |
| TClass (const std::string &tcname, int tvs, const Members &tcmembers, const LexicalAnnotation &) | |
| TClass (const std::string &tcname, int tvs, const Members &tcmembers, const FunDeps &fundeps, const LexicalAnnotation &) | |
| const std::string & | name () const |
| const Constraints & | constraints () const |
| int | typeVars () const |
| const Members & | members () const |
| const FunDeps & | deps () const |
| void | insert (const TEnvPtr &tenv, const TCInstancePtr &ip, Definitions *ds) |
| void | insert (const TCInstanceFnPtr &ifp) |
| TCInstances | matches (const TEnvPtr &tenv, const ConstraintPtr &c, MonoTypeUnifier *, Definitions *ds) const |
| TCInstances | matches (const TEnvPtr &tenv, const MonoTypes &mts, MonoTypeUnifier *, Definitions *ds) const |
| bool | refine (const TEnvPtr &tenv, const ConstraintPtr &cst, MonoTypeUnifier *s, Definitions *ds) |
| bool | satisfied (const TEnvPtr &tenv, const ConstraintPtr &cst, Definitions *ds) const |
| bool | satisfiable (const TEnvPtr &tenv, const ConstraintPtr &cst, Definitions *ds) const |
| void | explain (const TEnvPtr &tenv, const ConstraintPtr &cst, const ExprPtr &e, Definitions *ds, annmsgs *msgs) |
| ExprPtr | unqualify (const TEnvPtr &tenv, const ConstraintPtr &cst, const ExprPtr &e, Definitions *ds) const |
| PolyTypePtr | lookup (const std::string &vn) const |
| SymSet | bindings () const |
| FunDeps | dependencies (const ConstraintPtr &) const |
| MonoTypePtr | memberType (const std::string &vn) const |
| void | show (std::ostream &) const |
| const TCInstances & | instances () const |
| bool | hasGroundInstanceAt (const MonoTypes &) const |
| const TCInstanceFns & | instanceFns () const |
Public Member Functions inherited from hobbes::LexicallyAnnotated | |
| LexicallyAnnotated (const LexicallyAnnotated &) | |
| LexicallyAnnotated (const LexicalAnnotation &) | |
| LexicallyAnnotated (const LexRange &) | |
| LexicallyAnnotated (const Pos &, const Pos &) | |
| const LexicalAnnotation & | la () const |
Private Types | |
| typedef type_map< TCInstancePtr > | TCMonoInstDB |
| typedef type_map< TCInstanceFns > | TCInstFnDB |
| typedef type_map< bool > | TestedInstances |
Private Member Functions | |
| void | candidateTCInstFns (const TEnvPtr &, const MonoTypes &, TCInstanceFns *) const |
| bool | refine (const TEnvPtr &tenv, const ConstraintPtr &c, const FunDep &fd, MonoTypeUnifier *s, Definitions *ds) const |
Private Attributes | |
| std::string | tcname |
| int | tvs |
| Constraints | reqs |
| Members | tcmembers |
| FunDeps | fundeps |
| TCInstances | tcinstances |
| TCMonoInstDB | tcinstdb |
| TCInstanceFns | tcinstancefns |
| TCInstFnDB | tcinstfndb |
| TestedInstances | testedInstances |
| TestedInstances | satfInstances |
Friends | |
| class | TCInstanceFn |
Additional Inherited Members | |
Static Public Member Functions inherited from hobbes::LexicallyAnnotated | |
| static void | pushFileContext (const std::string &) |
| static void | pushLiteralContext (const std::string &) |
| static void | popContext () |
| static LexicalAnnotation | make (const Pos &, const Pos &) |
| typedef std::map<std::string, MonoTypePtr> hobbes::TClass::Members |
|
private |
|
private |
|
private |
| hobbes::TClass::TClass | ( | const Constraints & | reqs, |
| const std::string & | tcname, | ||
| int | tvs, | ||
| const Members & | tcmembers, | ||
| const LexicalAnnotation & | la | ||
| ) |
| hobbes::TClass::TClass | ( | const Constraints & | reqs, |
| const std::string & | tcname, | ||
| int | tvs, | ||
| const Members & | tcmembers, | ||
| const FunDeps & | fundeps, | ||
| const LexicalAnnotation & | la | ||
| ) |
| hobbes::TClass::TClass | ( | const std::string & | tcname, |
| int | tvs, | ||
| const Members & | tcmembers, | ||
| const LexicalAnnotation & | la | ||
| ) |
| hobbes::TClass::TClass | ( | const std::string & | tcname, |
| int | tvs, | ||
| const Members & | tcmembers, | ||
| const FunDeps & | fundeps, | ||
| const LexicalAnnotation & | la | ||
| ) |
|
virtual |
Implements hobbes::Unqualifier.
|
private |
| const Constraints & hobbes::TClass::constraints | ( | ) | const |
|
virtual |
Implements hobbes::Unqualifier.
| const FunDeps & hobbes::TClass::deps | ( | ) | const |
|
virtual |
Implements hobbes::Unqualifier.
| bool hobbes::TClass::hasGroundInstanceAt | ( | const MonoTypes & | mts | ) | const |
| void hobbes::TClass::insert | ( | const TEnvPtr & | tenv, |
| const TCInstancePtr & | ip, | ||
| Definitions * | ds | ||
| ) |
| void hobbes::TClass::insert | ( | const TCInstanceFnPtr & | ifp | ) |
| const TCInstanceFns & hobbes::TClass::instanceFns | ( | ) | const |
| const TCInstances & hobbes::TClass::instances | ( | ) | const |
|
virtual |
Implements hobbes::Unqualifier.
| TCInstances hobbes::TClass::matches | ( | const TEnvPtr & | tenv, |
| const ConstraintPtr & | c, | ||
| MonoTypeUnifier * | u, | ||
| Definitions * | ds | ||
| ) | const |
| TCInstances hobbes::TClass::matches | ( | const TEnvPtr & | tenv, |
| const MonoTypes & | mts, | ||
| MonoTypeUnifier * | u, | ||
| Definitions * | ds | ||
| ) | const |
| const TClass::Members & hobbes::TClass::members | ( | ) | const |
| MonoTypePtr hobbes::TClass::memberType | ( | const std::string & | vn | ) | const |
| const std::string & hobbes::TClass::name | ( | ) | const |
|
virtual |
Implements hobbes::Unqualifier.
|
private |
|
virtual |
Implements hobbes::Unqualifier.
|
virtual |
Implements hobbes::Unqualifier.
| void hobbes::TClass::show | ( | std::ostream & | out | ) | const |
| int hobbes::TClass::typeVars | ( | ) | const |
|
virtual |
Implements hobbes::Unqualifier.
|
friend |
|
private |
|
private |
|
mutableprivate |
|
private |
|
private |
|
private |
|
private |
|
private |
|
private |
|
mutableprivate |
|
private |
1.8.13