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

#include <tyunqualify.H>

Inheritance diagram for hobbes::UnqualifierSet:
Inheritance graph
Collaboration diagram for hobbes::UnqualifierSet:
Collaboration graph

Public Types

typedef std::map< std::string, UnqualifierPtrUnqualifiers
 

Public Member Functions

void add (const std::string &name, const UnqualifierPtr &uq)
 
UnqualifierPtr findUnqualifier (const std::string &name)
 
const Unqualifiersunqualifiers () const
 
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 &, const ConstraintPtr &, const ExprPtr &, Definitions *, annmsgs *)
 
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
 

Private Attributes

Unqualifiers uqs
 

Member Typedef Documentation

◆ Unqualifiers

typedef std::map<std::string, UnqualifierPtr> hobbes::UnqualifierSet::Unqualifiers

Member Function Documentation

◆ add()

void hobbes::UnqualifierSet::add ( const std::string &  name,
const UnqualifierPtr uq 
)

◆ bindings()

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

Implements hobbes::Unqualifier.

◆ dependencies()

FunDeps hobbes::UnqualifierSet::dependencies ( const ConstraintPtr cst) const
virtual

Implements hobbes::Unqualifier.

◆ explain()

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

Implements hobbes::Unqualifier.

◆ findUnqualifier()

UnqualifierPtr hobbes::UnqualifierSet::findUnqualifier ( const std::string &  name)

◆ lookup()

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

Implements hobbes::Unqualifier.

◆ refine()

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

Implements hobbes::Unqualifier.

◆ satisfiable()

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

Implements hobbes::Unqualifier.

◆ satisfied()

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

Implements hobbes::Unqualifier.

◆ unqualifiers()

const UnqualifierSet::Unqualifiers & hobbes::UnqualifierSet::unqualifiers ( ) const

◆ unqualify()

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

Implements hobbes::Unqualifier.

Member Data Documentation

◆ uqs

Unqualifiers hobbes::UnqualifierSet::uqs
private

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