--- a/NameSpace.st Tue Jul 20 16:37:27 2010 +0100
+++ b/NameSpace.st Wed Jul 21 16:52:22 2010 +0100
@@ -18,6 +18,13 @@
category:'Kernel-Classes'
!
+NameSpace class instanceVariableNames:'imports'
+
+"
+ No other class instance variables are inherited by this class.
+"
+!
+
!NameSpace class methodsFor:'documentation'!
copyright
@@ -369,10 +376,23 @@
^ self allClasses collect:[:each | each nameWithoutPrefix]
!
+import: aNameSpace
+
+ (aNameSpace isNameSpace or: [aNameSpace isProgrammingLanguage])
+ ifFalse:[self error: 'Not a namespace or prog. language'].
+
+ (self imports includes: aNameSpace) ifFalse:
+ [imports := self imports copyWith: aNameSpace]
+
+ "Created: / 21-07-2010 / 15:16:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 21-07-2010 / 17:18:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
imports
- ^ #()
+ ^ imports ? #()
"Created: / 19-05-2010 / 16:06:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 21-07-2010 / 17:17:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
includesKey:aClassNameStringOrSymbol
@@ -577,6 +597,18 @@
"Modified: 20.12.1996 / 15:11:31 / cg"
! !
+!NameSpace class methodsFor:'private'!
+
+setImports: anArrayOrNil
+
+ "Sets namespace imports. Private entry,
+ Use 'self import: theNamespace' instead"
+
+ imports := anArrayOrNil
+
+ "Created: / 21-07-2010 / 15:29:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!NameSpace class methodsFor:'queries'!
allNameSpaces
@@ -678,7 +710,7 @@
!NameSpace class methodsFor:'documentation'!
version
- ^ '$Id: NameSpace.st 10544 2010-07-12 16:20:36Z vranyj1 $'
+ ^ '$Id: NameSpace.st 10551 2010-07-21 15:52:22Z vranyj1 $'
!
version_CVS
@@ -686,8 +718,5 @@
!
version_SVN
- ^ '$Id: NameSpace.st 10544 2010-07-12 16:20:36Z vranyj1 $'
+ ^ '$Id: NameSpace.st 10551 2010-07-21 15:52:22Z vranyj1 $'
! !
-
-
-