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 | Private Attributes | List of all members
hobbes::SubtypeUnqualifier Class Reference

#include <subtype.H>

Inheritance diagram for hobbes::SubtypeUnqualifier:
Inheritance graph
Collaboration diagram for hobbes::SubtypeUnqualifier:
Collaboration graph

Public Member Functions

 SubtypeUnqualifier ()
 
void addEliminator (SubtypeEliminator *)
 
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< SubtypeEliminator * > SubtypeEliminators
 

Private Member Functions

SubtypeEliminatorfindEliminator (const TEnvPtr &, const Subtype &) const
 

Private Attributes

SubtypeEliminators eliminators
 

Member Typedef Documentation

◆ SubtypeEliminators

Constructor & Destructor Documentation

◆ SubtypeUnqualifier()

hobbes::SubtypeUnqualifier::SubtypeUnqualifier ( )

Member Function Documentation

◆ addEliminator()

void hobbes::SubtypeUnqualifier::addEliminator ( SubtypeEliminator e)

◆ bindings()

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

Implements hobbes::Unqualifier.

◆ constraintName()

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

◆ dependencies()

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

Implements hobbes::Unqualifier.

◆ explain()

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

Implements hobbes::Unqualifier.

◆ findEliminator()

SubtypeEliminator * hobbes::SubtypeUnqualifier::findEliminator ( const TEnvPtr tenv,
const Subtype st 
) const
private

◆ lookup()

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

Implements hobbes::Unqualifier.

◆ refine()

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

Implements hobbes::Unqualifier.

◆ satisfiable()

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

Implements hobbes::Unqualifier.

◆ satisfied()

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

Implements hobbes::Unqualifier.

◆ unqualify()

ExprPtr hobbes::SubtypeUnqualifier::unqualify ( const TEnvPtr tenv,
const ConstraintPtr cst,
const ExprPtr expr,
Definitions ds 
) const
virtual

Implements hobbes::Unqualifier.

Member Data Documentation

◆ eliminators

SubtypeEliminators hobbes::SubtypeUnqualifier::eliminators
private

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