summaryrefslogtreecommitdiffstats
path: root/Sencha-lang/Context.h
diff options
context:
space:
mode:
authorJustyna Ilczuk <justyna.ilczuk@gmail.com>2013-01-04 11:58:59 +0100
committerJustyna Ilczuk <justyna.ilczuk@gmail.com>2013-01-04 11:58:59 +0100
commit02bced0b5dbcd1dc9ccdc6f7bcd5c7ba09b28179 (patch)
treebcf89c39753a616d6b477c5e01b40ccee1a5e312 /Sencha-lang/Context.h
parent0992a3a67db500c2ed88218e47043482ab3829ac (diff)
downloadsencha-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.h26
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_ */