#include <vm.h>

Definition at line 179 of file vm.h.
Public Types | |
| typedef const FncDefinition ** | TVector |
| vector of pointers to function definitions | |
Public Member Functions | |
| FncSet () | |
| ~FncSet () | |
| bool | addDeclaration (FncDeclaration *) |
| FncDeclaration * | getDeclaration (const std::string &) |
| bool | addDefinition (FncDefinition *) |
| FncDefinition * | getDefinition (const std::string &) |
| void | getAllDefinitions (TVector &) |
Private Attributes | |
| Private * | d |
Classes | |
| struct | Private |
| typedef const FncDefinition* * TVector |
| ~FncSet | ( | ) |
Definition at line 388 of file vm.cc.
References d, FncSet::Private::declMap, and FncSet::Private::defMap.
| bool addDeclaration | ( | FncDeclaration * | decl | ) |
add declaration to container If declaration with the same name exists, check if not differs.
Definition at line 404 of file vm.cc.
References d, FncSet::Private::declMap, Var::name, and FncDeclaration::self.
Referenced by Builder::fncDecl(), Builder::fncDefBody(), and FncFactory::initVm().

| FncDeclaration * getDeclaration | ( | const std::string & | name | ) |
function declaration lookup
Definition at line 420 of file vm.cc.
References d, and FncSet::Private::declMap.
Referenced by VmRunner::Private::chkFncRefs(), Builder::fncCall(), Builder::fncDecl(), and Builder::fncDefBody().

| bool addDefinition | ( | FncDefinition * | def | ) |
add definition to container If definition with the same name already exists, return false. If declaration with the same name exists, check if not differs.
Definition at line 428 of file vm.cc.
References chkUnused(), d, FncSet::Private::declMap, FncSet::Private::defMap, Var::name, and FncDeclaration::self.
Referenced by FncFactory::Private::addDefinition(), and Builder::fncDef().


| FncDefinition * getDefinition | ( | const std::string & | name | ) |
function definition lookup
Definition at line 454 of file vm.cc.
References d, and FncSet::Private::defMap.
Referenced by VmRunner::Private::chkFncRefs(), CallCmd::exec(), and Builder::fncDefBody().

| void getAllDefinitions | ( | TVector & | fncVect | ) |
collect pointer to all definition stored in container
Definition at line 462 of file vm.cc.
References d, and FncSet::Private::defMap.
Definition at line 221 of file vm.h.
Referenced by addDeclaration(), addDefinition(), getAllDefinitions(), getDeclaration(), getDefinition(), and ~FncSet().
1.5.4