--- a/JavaClass.st Tue Jul 27 23:44:50 1999 +0000
+++ b/JavaClass.st Fri Aug 20 13:38:35 1999 +0000
@@ -111,11 +111,11 @@
!
fullName:aString numStatic:nStatic
- |meta cls fullName parts s ns|
+ |meta cls s ns nameComponents|
"/ check for a JAVA nameSpace to exist
JAVA isNil ifTrue:[
- Namespace name:'JAVA'
+ Namespace name:'JAVA'
].
"create the metaclass first"
@@ -134,11 +134,27 @@
cls instSize:0.
cls setName:('JAVA::' , aString).
cls flags:0.
+ cls setAccessFlags:0.
"/ cls setClassVariableString:''.
cls setInstanceVariableString:''.
cls category:#java.
+ cls setFullName:aString.
- cls setFullName:aString.
+ "/ java classes do not really have a category;
+ "/ simulate one by separating its name into individual components,
+ "/ prepending 'java'"
+
+ nameComponents := aString asCollectionOfSubstringsSeparatedBy:$/.
+ nameComponents size > 1 ifTrue:[
+ cls category:((nameComponents asStringWith:$/ from:1 to:(nameComponents size - 1))
+ replaceAll:$/ with:$. ).
+ ].
+
+ nameComponents size > 1 ifTrue:[
+ cls setPackage:((nameComponents copyWithoutLast:1) asStringWith:$/) asSymbol
+ ] ifFalse:[
+ cls setPackage:aString asSymbol
+ ].
"/ break up the package and create nameSpaces
"/ for each package component.
@@ -147,22 +163,21 @@
ns := JAVA.
- parts := aString asCollectionOfSubstringsSeparatedBy:$/.
- parts size > 1 ifTrue:[
- s := '' writeStream.
- s nextPutAll:'JAVA'.
- parts from:1 to:(parts size - 1) do:[:aPart |
- s nextPutAll:'::'.
- s nextPutAll:aPart
- ].
- Metaclass confirmationQuerySignal answer:false do:[
- Class updateChangeFileQuerySignal answer:false do:[
- ns := Namespace fullName:(s contents).
- ]
- ]
+ nameComponents size > 1 ifTrue:[
+ 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 updateChangeFileQuerySignal answer:false do:[
+ ns := Namespace fullName:(s contents).
+ ]
+ ]
].
ns isNamespace ifTrue:[
- ns at:parts last asSymbol put:cls.
+ ns at:nameComponents last asSymbol put:cls.
].
"/ for ST/X browsing
@@ -600,7 +615,7 @@
!
category
- "java classes do not really hav a category;
+ "java classes do not really have a category;
simulate one by separating its name into individual components,
prepending 'java'"
@@ -608,10 +623,10 @@
nameComponents := fullName asCollectionOfSubstringsSeparatedBy:$/.
nameComponents size <= 1 ifTrue:[
- ^ 'java' "/ fullName
+ ^ 'java' "/ fullName
].
^ ((nameComponents asStringWith:$/ from:1 to:(nameComponents size - 1)))
- replaceAll:$/ with:$.
+ replaceAll:$/ with:$.
"Modified: 30.7.1997 / 15:35:22 / cg"
!
@@ -1690,6 +1705,6 @@
!JavaClass class methodsFor:'documentation'!
version
- ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaClass.st,v 1.104 1999/07/26 07:30:24 cg Exp $'
+ ^ '$Header: /home/jv/Projects/SmalltalkX/repositories/cvs/stx/libjava/JavaClass.st,v 1.105 1999/08/20 13:38:35 cg Exp $'
! !
JavaClass initialize!