--- a/JavaClassRegistry.st Mon Sep 02 10:08:10 2013 +0100
+++ b/JavaClassRegistry.st Tue Sep 03 01:18:46 2013 +0100
@@ -359,7 +359,7 @@
notifies system, so the class become visible by
Smalltalk"
- | nameComponents accessor ns |
+ | nameComponents accessor nsName ns |
javaclass isSynthetic ifTrue:[ ^ self ].
nameComponents := javaclass name asCollectionOfSubstringsSeparatedBy:$/.
@@ -382,13 +382,19 @@
"/ under the name JAVA::java::foo::bar
accessor := javaclass"JavaClassAccessor fullName: aString".
- ns := JAVA.
+ nsName := javaclass topNameSpaceName.
+ ns := Smalltalk at: nsName.
+ ns isNil ifTrue:[
+ JavaPackage name:nsName.
+ ns := Smalltalk at: nsName
+ ].
nameComponents size > 1 ifTrue:[
| s |
s := '' writeStream.
- s nextPutAll:'JAVA'.
+
+ s nextPutAll: nsName.
nameComponents from:1 to:(nameComponents size - 1) do:[:aPart |
s nextPutAll:'::'.
s nextPutAll:aPart
@@ -402,6 +408,7 @@
ns isNameSpace ifTrue:[
ns at:nameComponents last asSymbol put:accessor.
+ javaclass setEnvironment: ns.
].
@@ -410,7 +417,7 @@
].
"Created: / 04-04-2012 / 10:01:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 04-08-2013 / 03:39:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 03-09-2013 / 00:41:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
registerClasses: classes
@@ -449,25 +456,10 @@
"Unregisters given class from Smalltalk system dictionary
so the class is no longer visible from Smalltalk"
- | nameComponents ns |
+ | ns |
javaclass isSynthetic ifTrue:[ ^ self ].
- ns := JAVA.
- nameComponents size > 1 ifTrue:[
- | s |
-
- s := '' writeStream.
- s nextPutAll:'JAVA'.
- nameComponents from:1 to:(nameComponents size - 1) do:[:aPart |
- s nextPutAll:'::'.
- s nextPutAll:aPart
- ].
- Metaclass confirmationQuerySignal answer:false do:[
- Class withoutUpdatingChangesDo:[
- ns := JavaPackage fullName:(s contents).
- ]
- ]
- ].
+ ns := javaclass nameSpace.
ns isNameSpace ifTrue:[
"/Hmmm hmm, how to remove class from a namespace?.
@@ -479,7 +471,7 @@
].
"Created: / 04-04-2012 / 10:01:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
- "Modified: / 18-04-2013 / 22:52:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 03-09-2013 / 00:41:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
unregisterClassLoader: aJavaClassLoader