summaryrefslogtreecommitdiff
path: root/MLKPackage.h
diff options
context:
space:
mode:
authorMatthias Andreas Benkard <matthias@benkard.de>2008-06-24 18:39:53 +0200
committerMatthias Andreas Benkard <matthias@benkard.de>2008-06-24 18:39:53 +0200
commite074f91e6aa1a895000673b1ac4df6266ba47094 (patch)
tree5e474dbe6d043084bbd443316e38c9a5775e69c1 /MLKPackage.h
parent6684d33bab073d267198ef7159cb627c2ecddc0a (diff)
Reimplement the package system.
Diffstat (limited to 'MLKPackage.h')
-rw-r--r--MLKPackage.h33
1 files changed, 25 insertions, 8 deletions
diff --git a/MLKPackage.h b/MLKPackage.h
index 5c5e5b6..f5c1ec5 100644
--- a/MLKPackage.h
+++ b/MLKPackage.h
@@ -18,15 +18,24 @@
#import "MLKLispValue.h"
-@class MLKSymbol, NSMutableDictionary, NSMutableSet, NSSet, NSString;
+#import <Foundation/NSArray.h>
+#import <Foundation/NSDictionary.h>
+#import <Foundation/NSSet.h>
+#import <Foundation/NSString.h>
+
+@class MLKSymbol;
@interface MLKPackage : MLKLispValue
{
- NSMutableDictionary *_symbols;
+ NSMutableDictionary *_accessible_symbols;
+ NSMutableSet *_present_symbols;
+ // NSMutableSet *_inherited_symbols;
NSMutableSet *_exported_symbols;
- NSMutableSet *_shadowed_symbols;
+ NSMutableSet *_shadowing_symbols;
NSMutableSet *_nicknames;
+ NSMutableArray *_used_packages;
+ NSMutableArray *_using_packages;
NSString *_name;
}
@@ -40,10 +49,14 @@
+(MLKPackage *) findPackage:(NSString *)name;
--(void) usePackage:(MLKPackage *)aPackage;
--(void) import:(MLKSymbol *)aSymbol;
--(void) export:(MLKSymbol *)aSymbol;
--(void) shadow:(MLKSymbol *)aSymbol;
+-(void) usePackage:(MLKPackage *)package;
+-(void) unusePackage:(MLKPackage *)package;
+-(void) import:(MLKSymbol *)symbol;
+-(void) inherit:(MLKSymbol *)symbol;
+-(void) uninherit:(MLKSymbol *)symbol;
+-(void) export:(MLKSymbol *)symbol;
+-(void) unexport:(MLKSymbol *)symbol;
+-(void) shadow:(NSString *)symbolName;
-(void) unintern:(MLKSymbol *)aSymbol;
-(MLKSymbol *) intern:(NSString*)symbolName;
-(MLKSymbol *) findSymbol:(NSString*)symbolName;
@@ -51,6 +64,10 @@
-(NSString *) name;
-(NSSet *) nicknames;
-(NSSet *) exportedSymbols;
--(NSSet *) shadowedSymbols;
+-(NSSet *) shadowingSymbols;
-(NSSet *) allSymbols;
+-(NSArray *) usedPackages;
+-(NSArray *) usingPackages;
+
+-(void) dealloc;
@end