summaryrefslogtreecommitdiff
path: root/MLKDynamicContext.h
blob: f51590110e980e89abf4b69013f6015a702905c5 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
/* -*- mode: objc; coding: utf-8 -*- */
/* Copyright 2008, Matthias Benkard. */

@class MLKClosure, MLKEnvironment, NSLinkedList, NSMutableDictionary, NSString;


@interface MLKDynamicContext
{
  MLKEnvironment *_conditionHandlers;
  MLKEnvironment *_restarts;
  MLKClosure *_currentConditionHandler;
  MLKEnvironment *_environment;
  MLKDynamicContext *_parent;
}

-(MLKDynamicContext *) initWithParent:(MLKDynamicContext *)aContext
                            variables:(NSDictionary *)vars
                             handlers:(NSDictionary *)handlers
                             restarts:(NSDictionary *)restarts
                       currentHandler:(MLKClosure *)handler;

-(MLKDynamicContext *) pushContext;

+(MLKDynamicContext *) currentContext;
+(MLKDynamicContext *) popContext;
@end