hobbes
a language, embedded compiler, and runtime for efficient dynamic expression evaluation, data storage and analysis
Public Member Functions | Static Public Member Functions | Private Types | Private Member Functions | Static Private Member Functions | Private Attributes | List of all members
hobbes::CtorVerifier Class Reference

#include <hasctor.H>

Inheritance diagram for hobbes::CtorVerifier:
Inheritance graph
Collaboration diagram for hobbes::CtorVerifier:
Collaboration graph

Public Member Functions

 CtorVerifier ()
 
void addEliminator (HCEliminator *)
 
bool refine (const TEnvPtr &, const ConstraintPtr &, MonoTypeUnifier *, Definitions *)
 
bool satisfied (const TEnvPtr &, const ConstraintPtr &, Definitions *) const
 
bool satisfiable (const TEnvPtr &, const ConstraintPtr &, Definitions *) const
 
void explain (const TEnvPtr &tenv, const ConstraintPtr &cst, const ExprPtr &e, Definitions *ds, annmsgs *msgs)
 
ExprPtr unqualify (const TEnvPtr &, const ConstraintPtr &, const ExprPtr &, Definitions *) const
 
PolyTypePtr lookup (const std::string &vn) const
 
SymSet bindings () const
 
FunDeps dependencies (const ConstraintPtr &) const
 

Static Public Member Functions

static std::string constraintName ()
 

Private Types

typedef std::vector< HCEliminator * > HCEliminators
 

Private Member Functions

HCEliminatorfindEliminator (const TEnvPtr &, const HasCtor &, Definitions *) const
 

Static Private Member Functions

static bool dec (const ConstraintPtr &, HasCtor *)
 

Private Attributes

HCEliminators eliminators
 

Member Typedef Documentation

◆ HCEliminators

typedef std::vector<HCEliminator*> hobbes::CtorVerifier::HCEliminators
private

Constructor & Destructor Documentation

◆ CtorVerifier()

hobbes::CtorVerifier::CtorVerifier ( )

Member Function Documentation

◆ addEliminator()

void hobbes::CtorVerifier::addEliminator ( HCEliminator hce)

◆ bindings()

SymSet hobbes::CtorVerifier::bindings ( ) const
virtual

Implements hobbes::Unqualifier.

◆ constraintName()

std::string hobbes::CtorVerifier::constraintName ( )
static

◆ dec()

bool hobbes::CtorVerifier::dec ( const ConstraintPtr c,
HasCtor hc 
)
staticprivate

◆ dependencies()

FunDeps hobbes::CtorVerifier::dependencies ( const ConstraintPtr ) const
virtual

Implements hobbes::Unqualifier.

◆ explain()

void hobbes::CtorVerifier::explain ( const TEnvPtr tenv,
const ConstraintPtr cst,
const ExprPtr e,
Definitions ds,
annmsgs msgs 
)
virtual

Implements hobbes::Unqualifier.

◆ findEliminator()

HCEliminator * hobbes::CtorVerifier::findEliminator ( const TEnvPtr tenv,
const HasCtor hc,
Definitions ds 
) const
private

◆ lookup()

PolyTypePtr hobbes::CtorVerifier::lookup ( const std::string &  vn) const
virtual

Implements hobbes::Unqualifier.

◆ refine()

bool hobbes::CtorVerifier::refine ( const TEnvPtr tenv,
const ConstraintPtr cst,
MonoTypeUnifier s,
Definitions ds 
)
virtual

Implements hobbes::Unqualifier.

◆ satisfiable()

bool hobbes::CtorVerifier::satisfiable ( const TEnvPtr tenv,
const ConstraintPtr cst,
Definitions ds 
) const
virtual

Implements hobbes::Unqualifier.

◆ satisfied()

bool hobbes::CtorVerifier::satisfied ( const TEnvPtr tenv,
const ConstraintPtr cst,
Definitions ds 
) const
virtual

Implements hobbes::Unqualifier.

◆ unqualify()

ExprPtr hobbes::CtorVerifier::unqualify ( const TEnvPtr tenv,
const ConstraintPtr cst,
const ExprPtr e,
Definitions ds 
) const
virtual

Implements hobbes::Unqualifier.

Member Data Documentation

◆ eliminators

HCEliminators hobbes::CtorVerifier::eliminators
private

The documentation for this class was generated from the following files: