hobbes
a language, embedded compiler, and runtime for efficient dynamic expression evaluation, data storage and analysis
Classes | Namespaces | Functions
lookup.C File Reference
#include <hobbes/lang/preds/hasfield/lookup.H>
#include <hobbes/lang/preds/class.H>
#include <hobbes/lang/tyunqualify.H>
#include <hobbes/lang/typeinf.H>
#include <hobbes/util/array.H>
Include dependency graph for lookup.C:

Classes

struct  hobbes::HFLookupUnqualify
 

Namespaces

 hobbes
 

Functions

static MonoTypePtr hobbes::impliedType (const std::string &fieldName)
 
static ExprPtr hobbes::impliedValue (const std::string &fieldName, const LexicalAnnotation &la)
 
static bool hobbes::decFieldName (const MonoTypePtr &fieldName, std::string *fn)
 
static bool hobbes::canDecFieldName (const MonoTypePtr &fieldName)
 
static bool hobbes::mightRewriteToLookup (const TEnvPtr &tenv, const MonoTypePtr &rty, const std::string &fieldName, const MonoTypePtr &fty, Definitions *ds)
 
static MonoTypePtr hobbes::rewritesToLookup (const TEnvPtr &tenv, const MonoTypePtr &rty, const std::string &fieldName, const MonoTypePtr &fty, Definitions *ds)
 
static ExprPtr hobbes::rewriteLookup (const TEnvPtr &tenv, const ExprPtr &r, const std::string &fieldName, const MonoTypePtr &rty, const MonoTypePtr &fty, Definitions *ds, const LexicalAnnotation &la)