hobbes
a language, embedded compiler, and runtime for efficient dynamic expression evaluation, data storage and analysis
Public Member Functions | Static Public Member Functions | Public Attributes | List of all members
hobbes::ProcManUnqualify Struct Reference
Inheritance diagram for hobbes::ProcManUnqualify:
Inheritance graph
Collaboration diagram for hobbes::ProcManUnqualify:
Collaboration graph

Public Member Functions

 ProcManUnqualify (const ProcManager *pthis, const TEnvPtr &tenv, const ConstraintPtr &cst, Definitions *defs)
 
ExprPtr wrapWithTy (const QualTypePtr &qty, Expr *e) const
 
ExprPtr annotateTypes (const ExprPtr &e) const
 
ExprPtr with (const Fn *v) const
 
ExprPtr with (const Let *v) const
 
const procisProcRef (const Proj *f) const
 
ExprPtr blockWrite (const proc *p, const ExprPtr &e) const
 
ExprPtr blockRead (const proc *p, const MonoTypePtr &ty) const
 
ExprPtr makeInvocation (const proc *p, const ExprPtr &pe, const std::string &fname, const MonoTypePtr &ftyv, const Exprs &args) const
 
ExprPtr with (const App *v) const
 
ExprPtr with (const Proj *v) const
 
- Public Member Functions inherited from hobbes::switchExprTyFn
virtual QualTypePtr withTy (const QualTypePtr &qt) const
 
ExprPtr withConst (const Expr *v) const
 
ExprPtr with (const Var *v) const
 
ExprPtr with (const LetRec *v) const
 
ExprPtr with (const Assign *v) const
 
ExprPtr with (const MkArray *v) const
 
ExprPtr with (const MkVariant *v) const
 
ExprPtr with (const MkRecord *v) const
 
ExprPtr with (const AIndex *v) const
 
ExprPtr with (const Case *v) const
 
ExprPtr with (const Switch *v) const
 
ExprPtr with (const Assump *v) const
 
ExprPtr with (const Pack *v) const
 
ExprPtr with (const Unpack *v) const
 
- Public Member Functions inherited from hobbes::switchExprC< ExprPtr >
ExprPtr with (const Unit *v) const
 
ExprPtr with (const Bool *v) const
 
ExprPtr with (const Char *v) const
 
ExprPtr with (const Byte *v) const
 
ExprPtr with (const Short *v) const
 
ExprPtr with (const Int *v) const
 
ExprPtr with (const Long *v) const
 
ExprPtr with (const Float *v) const
 
ExprPtr with (const Double *v) const
 

Static Public Member Functions

static ConstraintPtr blockCodecCst (const MonoTypePtr &ty)
 

Public Attributes

const ProcManagerpthis
 
const TEnvPtrtenv
 
const ConstraintPtrconstraint
 
Definitionsdefs
 

Constructor & Destructor Documentation

◆ ProcManUnqualify()

hobbes::ProcManUnqualify::ProcManUnqualify ( const ProcManager pthis,
const TEnvPtr tenv,
const ConstraintPtr cst,
Definitions defs 
)
inline

Member Function Documentation

◆ annotateTypes()

ExprPtr hobbes::ProcManUnqualify::annotateTypes ( const ExprPtr e) const
inline

◆ blockCodecCst()

static ConstraintPtr hobbes::ProcManUnqualify::blockCodecCst ( const MonoTypePtr ty)
inlinestatic

◆ blockRead()

ExprPtr hobbes::ProcManUnqualify::blockRead ( const proc p,
const MonoTypePtr ty 
) const
inline

◆ blockWrite()

ExprPtr hobbes::ProcManUnqualify::blockWrite ( const proc p,
const ExprPtr e 
) const
inline

◆ isProcRef()

const proc* hobbes::ProcManUnqualify::isProcRef ( const Proj f) const
inline

◆ makeInvocation()

ExprPtr hobbes::ProcManUnqualify::makeInvocation ( const proc p,
const ExprPtr pe,
const std::string &  fname,
const MonoTypePtr ftyv,
const Exprs args 
) const
inline

◆ with() [1/4]

ExprPtr hobbes::ProcManUnqualify::with ( const Fn v) const
inlinevirtual

Reimplemented from hobbes::switchExprTyFn.

◆ with() [2/4]

ExprPtr hobbes::ProcManUnqualify::with ( const Let v) const
inlinevirtual

Reimplemented from hobbes::switchExprTyFn.

◆ with() [3/4]

ExprPtr hobbes::ProcManUnqualify::with ( const App v) const
inlinevirtual

Reimplemented from hobbes::switchExprTyFn.

◆ with() [4/4]

ExprPtr hobbes::ProcManUnqualify::with ( const Proj v) const
inlinevirtual

Reimplemented from hobbes::switchExprTyFn.

◆ wrapWithTy()

ExprPtr hobbes::ProcManUnqualify::wrapWithTy ( const QualTypePtr qty,
Expr e 
) const
inlinevirtual

Reimplemented from hobbes::switchExprTyFn.

Member Data Documentation

◆ constraint

const ConstraintPtr& hobbes::ProcManUnqualify::constraint

◆ defs

Definitions* hobbes::ProcManUnqualify::defs

◆ pthis

const ProcManager* hobbes::ProcManUnqualify::pthis

◆ tenv

const TEnvPtr& hobbes::ProcManUnqualify::tenv

The documentation for this struct was generated from the following file: