diff options
author | Justyna Ilczuk <justyna.ilczuk@gmail.com> | 2013-01-04 11:58:59 +0100 |
---|---|---|
committer | Justyna Ilczuk <justyna.ilczuk@gmail.com> | 2013-01-04 11:58:59 +0100 |
commit | 02bced0b5dbcd1dc9ccdc6f7bcd5c7ba09b28179 (patch) | |
tree | bcf89c39753a616d6b477c5e01b40ccee1a5e312 /Sencha-lang/Context.h | |
parent | 0992a3a67db500c2ed88218e47043482ab3829ac (diff) | |
download | sencha-lang-02bced0b5dbcd1dc9ccdc6f7bcd5c7ba09b28179.tar.gz sencha-lang-02bced0b5dbcd1dc9ccdc6f7bcd5c7ba09b28179.tar.bz2 sencha-lang-02bced0b5dbcd1dc9ccdc6f7bcd5c7ba09b28179.tar.xz sencha-lang-02bced0b5dbcd1dc9ccdc6f7bcd5c7ba09b28179.zip |
Some documentation and little refactoring.
Diffstat (limited to 'Sencha-lang/Context.h')
-rw-r--r-- | Sencha-lang/Context.h | 26 |
1 files changed, 14 insertions, 12 deletions
diff --git a/Sencha-lang/Context.h b/Sencha-lang/Context.h index 92187f0..916cbd4 100644 --- a/Sencha-lang/Context.h +++ b/Sencha-lang/Context.h @@ -16,31 +16,33 @@ - +/** + * Context is object used to store variables for some execution context. + * It's most useful in function calls. Every function has to have its own execution contexts, + * for its variables. Arguments are passed to functions by predefining them in new Context, assigned to + * function. + */ class Context { public: Context(std::string name); - unsigned int index; - std::string name; - std::map<std::string, SenchaObject> object_store; - unsigned int add_to_store(SenchaObject & object); - SenchaObject get_from_store(unsigned int index); - typedef SenchaObject (*PointerToNativeFunction)(std::vector<ASTExpression *>); - - std::map<std::string, PointerToNativeFunction> registered_functions; - std::map<std::string, SenchaFunction *> registered_sfunctions; - void register_function(std::string name, PointerToNativeFunction f); void register_function(std::string name, SenchaFunction * f); SenchaObject execute_native_function(std::string name, std::vector<ASTExpression *> arguments); - std::string debug() ; void add(std::string name, SenchaObject object); void set(std::string name, SenchaObject object); SenchaObject get(std::string name); virtual ~Context(); + +private: + unsigned int index; + + std::map<std::string, PointerToNativeFunction> registered_functions; + std::map<std::string, SenchaFunction *> registered_sfunctions; + + std::map<std::string, SenchaObject> object_store; }; #endif /* CONTEXT_H_ */ |