summaryrefslogtreecommitdiff
path: root/MLKLexicalEnvironment.m
diff options
context:
space:
mode:
Diffstat (limited to 'MLKLexicalEnvironment.m')
-rw-r--r--MLKLexicalEnvironment.m13
1 files changed, 11 insertions, 2 deletions
diff --git a/MLKLexicalEnvironment.m b/MLKLexicalEnvironment.m
index 66d5cb2..61f09c2 100644
--- a/MLKLexicalEnvironment.m
+++ b/MLKLexicalEnvironment.m
@@ -68,15 +68,24 @@ static MLKLexicalEnvironment *global_environment;
-(MLKLexicalEnvironment *) initWithParent:(MLKLexicalEnvironment *)aContext
variables:(NSDictionary *)vars
- functions:(NSDictionary *)handlers
+ functions:(NSDictionary *)functions
{
self = [super init];
ASSIGN (_parent, (aContext ? aContext : global_environment));
_variables = MAKE_ENVIRONMENT(vars, _parent, _parent->_variables);
- _functions = MAKE_ENVIRONMENT(handlers, _parent, _parent->_functions);
+ _functions = MAKE_ENVIRONMENT(functions, _parent, _parent->_functions);
return self;
}
++(MLKLexicalEnvironment *) environmentWithParent:(MLKLexicalEnvironment *)context
+ variables:(NSDictionary *)vars
+ functions:(NSDictionary *)functions
+{
+ return AUTORELEASE ([[self alloc] initWithParent:context
+ variables:vars
+ functions:functions]);
+}
+
+(MLKLexicalEnvironment *) globalEnvironment
{
return global_environment;