- improvements in JavaPackage (towards nicer interop) jk_new_structure
authorvranyj1
Tue, 28 Feb 2012 20:34:52 +0000
branchjk_new_structure
changeset 1390 4a623c4ec05f
parent 1389 81c17056560f
child 1391 3843bb5881e8
- improvements in JavaPackage (towards nicer interop)
src/JavaClass.st
src/JavaClassAccessor.st
src/JavaPackage.st
src/Make.proto
src/Make.spec
src/abbrev.stc
src/bc.mak
src/libInit.cc
src/libjava.rc
src/stx_libjava.st
--- a/src/JavaClass.st	Tue Feb 28 16:17:44 2012 +0000
+++ b/src/JavaClass.st	Tue Feb 28 20:34:52 2012 +0000
@@ -71,11 +71,11 @@
 !
 
 fullName:aString numStatic:nStatic
-    |meta cls s ns nameComponents classLoader |
+    |meta cls s ns nameComponents classLoader accessor |
 
     "/ check for a JAVA nameSpace to exist
     JAVA isNil ifTrue:[
-        NameSpace name:'JAVA'
+        JavaPackage name:'JAVA'
     ].
 
     classLoader := JavaClassReader classLoaderQuerySignal query.
@@ -124,6 +124,7 @@
     "/ This allows java.foo.bar to be visible in ST/X
     "/ under the name JAVA::java::foo::bar
 
+    accessor := JavaClassAccessor fullName: aString.    
     ns := JAVA.
 
     nameComponents size > 1 ifTrue:[
@@ -140,17 +141,17 @@
         ]
     ].
     ns isNameSpace ifTrue:[
-        ns at:nameComponents last asSymbol put:cls.
+        ns at:nameComponents last asSymbol put:accessor.
     ].
 
     "/ for ST/X browsing
-    Smalltalk at:('JAVA::' , aString) asSymbol put:cls.
+    Smalltalk at:('JAVA::' , aString) asSymbol put:accessor.
 
     ^ cls
 
     "Created: / 15-04-1996 / 15:52:55 / cg"
     "Modified: / 03-01-1998 / 22:32:25 / cg"
-    "Modified: / 20-02-2012 / 22:43:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 28-02-2012 / 19:43:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 name:aString
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/src/JavaClassAccessor.st	Tue Feb 28 20:34:52 2012 +0000
@@ -0,0 +1,166 @@
+"
+ COPYRIGHT (c) 1996-2011 by Claus Gittinger
+
+ New code and modifications done at SWING Research Group [1]:
+
+ COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
+                            SWING Research Group, Czech Technical University in Prague
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+
+ [1] Code written at SWING Research Group contains a signature
+     of one of the above copright owners. For exact set of such code,
+     see the differences between this version and version stx:libjava
+     as of 1.9.2010
+"
+"{ Package: 'stx:libjava' }"
+
+Object subclass:#JavaClassAccessor
+	instanceVariableNames:'name fullName package'
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Languages-Java-Classes'
+!
+
+!JavaClassAccessor class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 1996-2011 by Claus Gittinger
+
+ New code and modifications done at SWING Research Group [1]:
+
+ COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
+                            SWING Research Group, Czech Technical University in Prague
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+
+ [1] Code written at SWING Research Group contains a signature
+     of one of the above copright owners. For exact set of such code,
+     see the differences between this version and version stx:libjava
+     as of 1.9.2010
+
+"
+! !
+
+!JavaClassAccessor class methodsFor:'instance creation'!
+
+fullName: aSymbol
+
+    ^self new setFullName: aSymbol
+
+    "Created: / 28-02-2012 / 19:20:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!JavaClassAccessor methodsFor:'accessing'!
+
+fullName
+    ^ fullName
+!
+
+name
+    "Returns Smalltalk name"
+    ^name
+
+    "Created: / 28-02-2012 / 19:48:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+theClass
+    | cls |
+
+    cls := self theClassOrNil.
+    cls isNil ifTrue:[cls := Java classForName: (fullName copyReplaceAll: $/ with: $.)].
+    ^cls
+
+    "Created: / 28-02-2012 / 19:22:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+theClassOrNil
+    ^JavaVM registry classNamed: fullName.
+
+    "Created: / 28-02-2012 / 19:47:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!JavaClassAccessor methodsFor:'error handling'!
+
+doesNotUnderstand: aMessage
+
+    ^aMessage sendTo: self theClass
+
+    "Created: / 28-02-2012 / 19:37:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!JavaClassAccessor methodsFor:'initialization'!
+
+setFullName: aSymbol
+    fullName := aSymbol.
+    name := 'JAVA::' , ((fullName tokensBasedOn: $/) asStringWith: '::')
+
+    "Created: / 28-02-2012 / 19:21:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!JavaClassAccessor methodsFor:'instance creation'!
+
+new
+
+    ^self theClass new
+
+    "Created: / 28-02-2012 / 19:34:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+newCleared
+
+    ^self theClass newCleared
+
+    "Created: / 28-02-2012 / 19:34:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!JavaClassAccessor methodsFor:'printing & storing'!
+
+printOn:aStream
+    aStream nextPutAll: 'JAVA '.
+    (fullName tokensBasedOn: $/) 
+        do:[:component|aStream nextPutAll: component]
+        separatedBy:[aStream space].
+
+    "Modified: / 28-02-2012 / 20:27:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!JavaClassAccessor methodsFor:'testing'!
+
+isBehavior
+
+    ^true
+
+    "Created: / 28-02-2012 / 19:36:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+isClass
+
+    ^true
+
+    "Created: / 28-02-2012 / 20:00:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+isJavaClass
+
+    ^true
+
+    "Created: / 28-02-2012 / 20:08:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!JavaClassAccessor class methodsFor:'documentation'!
+
+version_SVN
+    ^ '$Id$'
+! !
--- a/src/JavaPackage.st	Tue Feb 28 16:17:44 2012 +0000
+++ b/src/JavaPackage.st	Tue Feb 28 20:34:52 2012 +0000
@@ -4,7 +4,7 @@
  New code and modifications done at SWING Research Group [1]:
 
  COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
-                            SWING Research Group, Czech Technical University in Prague
+			    SWING Research Group, Czech Technical University in Prague
 
  This software is furnished under a license and may be used
  only in accordance with the terms of that license and with the
@@ -36,7 +36,7 @@
  New code and modifications done at SWING Research Group [1]:
 
  COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
-                            SWING Research Group, Czech Technical University in Prague
+			    SWING Research Group, Czech Technical University in Prague
 
  This software is furnished under a license and may be used
  only in accordance with the terms of that license and with the
@@ -53,6 +53,16 @@
 "
 ! !
 
+!JavaPackage class methodsFor:'initialization'!
+
+initialize
+
+    "Create JAVA namespace (for easy class access)"
+    self name: #JAVA
+
+    "Created: / 28-02-2012 / 19:33:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
 !JavaPackage class methodsFor:'instance creation'!
 
 fullName:aFullNameSpacePathName
@@ -91,7 +101,7 @@
             ].
             thisNamespace isNil ifTrue:[
                 key == #JAVA ifTrue:[
-                    thisNamespace := NameSpace name: #JAVA.
+                    thisNamespace := self name: #JAVA.
                 ] ifFalse:[
                     self breakPoint: #jv.
                     thisNamespace := self name:key
@@ -123,7 +133,94 @@
 
     "Created: / 08-11-1996 / 13:41:59 / cg"
     "Modified: / 04-01-1997 / 16:50:59 / cg"
-    "Modified: / 04-12-2011 / 12:15:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 28-02-2012 / 19:24:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+name:aStringOrSymbol
+    "create a new nameSpace, named aStringOrSymbol.
+     Notice, that the nameSpace is created in the current one -
+     dont get confused; we recommend, not to nest them too much."
+
+    |currentNameSpace newNameSpace existing ok nameSym fullName|
+
+    ok := aStringOrSymbol first isLetter.
+    ok ifTrue:[
+        (aStringOrSymbol 
+            findFirst:[:ch | (ch isLetterOrDigit or:[ch == $_]) not]
+            startingAt:2) ~~ 0
+        ifTrue:[
+            ok := false.
+        ]
+    ].
+    ok ifFalse:[
+        self error:'invalid namespace name:''' , aStringOrSymbol printString , ''' (must be a valid identifier)'.
+    ].
+
+    nameSym := aStringOrSymbol asSymbol.
+
+    self == JavaPackage ifTrue:[
+        "/ currentNameSpace := Class nameSpaceQuerySignal query.
+        currentNameSpace isNil ifTrue:[
+            currentNameSpace := Smalltalk
+        ].
+        fullName := nameSym
+    ] ifFalse:[
+        currentNameSpace := self.
+        fullName := (self name , '::' , nameSym) asSymbol
+    ].
+
+    (existing := currentNameSpace at:nameSym) notNil ifTrue:[
+        ^ existing
+    ].
+    newNameSpace := self 
+        subclass:fullName
+        instanceVariableNames:''
+        classVariableNames:''
+        poolDictionaries:''
+        category:'uncategorized namespace'
+        inEnvironment:Smalltalk.
+
+    "/ nameSpaces are not in any package
+    newNameSpace notNil ifTrue:[newNameSpace setPackage:nil].
+    ^ newNameSpace
+
+    "
+     NameSpace name:'foo'
+     (NameSpace name:'foo') category:'my name space'
+     foo at:#bar put:(Metaclass new new)
+     (NameSpace name:'foo') name:'bar'
+    "
+    "
+     NameSpace name:'an-invalid++name'
+     NameSpace name:'another:invalidName'
+     NameSpace name:'another::invalidName'
+    "
+
+    "Modified: / 14-09-1997 / 09:46:59 / cg"
+    "Modified: / 18-03-1999 / 18:24:13 / stefan"
+    "Created: / 28-02-2012 / 19:29:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!JavaPackage class methodsFor:'error handling'!
+
+doesNotUnderstand: aMessage
+    | sel |
+
+    sel := aMessage selector.
+    ^self at: sel ifAbsent:[
+        sel numArgs ~~ 0 ifTrue:[
+            super doesNotUnderstand: aMessage
+        ] ifFalse:[
+            sel first isLowercase ifTrue:[
+                self basicNew setName: (self name , '::' , sel) asSymbol
+            ] ifFalse:[
+                JavaClassAccessor fullName: 
+                    (((self name asCollectionOfSubstringsSeparatedByAll:'::') allButFirst asStringWith:$/) , '/' , sel)
+            ]
+        ]
+    ].
+
+    "Created: / 28-02-2012 / 20:21:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !JavaPackage class methodsFor:'fileOut'!
@@ -141,12 +238,31 @@
     "Modified: / 04-12-2011 / 12:19:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+!JavaPackage class methodsFor:'printing & storing'!
+
+displayString
+    "return a printed represenation - here, a reminder is appended,
+     that this is not a regular class"
+
+    self == JavaPackage ifTrue:[
+        ^ self name
+    ].
+    self == JAVA ifTrue:[
+        ^ 'JAVA /* Java package root */'
+    ].
+    ^ self name , ' /* Java package */'
+
+    "Created: / 08-11-1996 / 21:37:24 / cg"
+    "Modified: / 20-12-1996 / 15:11:31 / cg"
+    "Created: / 28-02-2012 / 19:07:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
 !JavaPackage class methodsFor:'queries'!
 
 isJavaPackage
     "Anser true, if receiver is a java package. My subclasses are java packages"
 
-    ^self ~~ JavaPackage
+    ^self ~~ JavaPackage and:[self ~~ JAVA]
 
     "Created: / 04-12-2011 / 12:22:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
@@ -170,3 +286,5 @@
 version_SVN
     ^ '$Id$'
 ! !
+
+JavaPackage initialize!
--- a/src/Make.proto	Tue Feb 28 16:17:44 2012 +0000
+++ b/src/Make.proto	Tue Feb 28 20:34:52 2012 +0000
@@ -1,7 +1,7 @@
 # $Header$
 #
 # DO NOT EDIT
-# automagically generated from the projectDefinition: stx_libjava at 2012-02-28 12:52:21.884.
+# automagically generated from the projectDefinition: stx_libjava at 2012-02-28 20:28:24.530.
 #
 # Warning: once you modify this file, do not rerun
 # stmkmp or projectDefinition-build again - otherwise, your changes are lost.
@@ -156,6 +156,7 @@
 $(OUTDIR)JavaArray.$(O) JavaArray.$(H): JavaArray.st $(INCLUDE_TOP)/stx/libbasic/Array.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)JavaByte.$(O) JavaByte.$(H): JavaByte.st $(INCLUDE_TOP)/stx/libbasic/Integer.$(H) $(INCLUDE_TOP)/stx/libbasic/Number.$(H) $(INCLUDE_TOP)/stx/libbasic/ArithmeticValue.$(H) $(INCLUDE_TOP)/stx/libbasic/Magnitude.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)JavaByteCodeProcessor.$(O) JavaByteCodeProcessor.$(H): JavaByteCodeProcessor.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)JavaClassAccessor.$(O) JavaClassAccessor.$(H): JavaClassAccessor.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)JavaClassRegistry.$(O) JavaClassRegistry.$(H): JavaClassRegistry.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)JavaClassReloader.$(O) JavaClassReloader.$(H): JavaClassReloader.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)JavaConstantPool.$(O) JavaConstantPool.$(H): JavaConstantPool.st $(INCLUDE_TOP)/stx/libbasic/Array.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
@@ -231,7 +232,7 @@
 $(OUTDIR)JavaMethodDeclaratorNode.$(O) JavaMethodDeclaratorNode.$(H): JavaMethodDeclaratorNode.st $(INCLUDE_TOP)/stx/libjava/JavaNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)JavaMethodDescriptor.$(O) JavaMethodDescriptor.$(H): JavaMethodDescriptor.st $(INCLUDE_TOP)/stx/libjava/JavaDescriptor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)JavaMethodNode.$(O) JavaMethodNode.$(H): JavaMethodNode.st $(INCLUDE_TOP)/stx/libjava/JavaNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)JavaPetitParser.$(O) JavaPetitParser.$(H): JavaPetitParser.st $(INCLUDE_TOP)/squeak/petitparser/PPCompositeParser.$(H) $(INCLUDE_TOP)/squeak/petitparser/PPDelegateParser.$(H) $(INCLUDE_TOP)/squeak/petitparser/PPParser.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/ReadStream.$(H) $(INCLUDE_TOP)/stx/libbasic/PositionableStream.$(H) $(INCLUDE_TOP)/stx/libbasic/PeekableStream.$(H) $(INCLUDE_TOP)/stx/libbasic/Stream.$(H) $(INCLUDE_TOP)/stx/libjava/PPJavaNode.$(H) $(STCHDR)
+$(OUTDIR)JavaPetitParser.$(O) JavaPetitParser.$(H): JavaPetitParser.st $(INCLUDE_TOP)/squeak/petitparser/PPCompositeParser.$(H) $(INCLUDE_TOP)/squeak/petitparser/PPDelegateParser.$(H) $(INCLUDE_TOP)/squeak/petitparser/PPParser.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libjava/PPJavaNode.$(H) $(INCLUDE_TOP)/stx/libbasic/ReadStream.$(H) $(INCLUDE_TOP)/stx/libbasic/PositionableStream.$(H) $(INCLUDE_TOP)/stx/libbasic/PeekableStream.$(H) $(INCLUDE_TOP)/stx/libbasic/Stream.$(H) $(STCHDR)
 $(OUTDIR)JavaStringRef2.$(O) JavaStringRef2.$(H): JavaStringRef2.st $(INCLUDE_TOP)/stx/libjava/JavaRef2.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)JavaTypeNode.$(O) JavaTypeNode.$(H): JavaTypeNode.st $(INCLUDE_TOP)/stx/libjava/JavaNode.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)JavaUnhandledExceptionError.$(O) JavaUnhandledExceptionError.$(H): JavaUnhandledExceptionError.st $(INCLUDE_TOP)/stx/libjava/JavaError.$(H) $(INCLUDE_TOP)/stx/libbasic/Error.$(H) $(INCLUDE_TOP)/stx/libbasic/Exception.$(H) $(INCLUDE_TOP)/stx/libbasic/GenericException.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
--- a/src/Make.spec	Tue Feb 28 16:17:44 2012 +0000
+++ b/src/Make.spec	Tue Feb 28 20:34:52 2012 +0000
@@ -1,7 +1,7 @@
 # $Header$
 #
 # DO NOT EDIT
-# automagically generated from the projectDefinition: stx_libjava at 2012-02-28 12:52:19.358.
+# automagically generated from the projectDefinition: stx_libjava at 2012-02-28 20:28:22.926.
 #
 # Warning: once you modify this file, do not rerun
 # stmkmp or projectDefinition-build again - otherwise, your changes are lost.
@@ -174,6 +174,7 @@
 	ProxyMethodJavaMethodInvocationNode \
 	ProxyMethodJavaTypeCheckNode \
 	JavaClassReloader \
+	JavaClassAccessor \
 
 
 
@@ -303,6 +304,7 @@
     $(OUTDIR)ProxyMethodJavaMethodInvocationNode.$(O) \
     $(OUTDIR)ProxyMethodJavaTypeCheckNode.$(O) \
     $(OUTDIR)JavaClassReloader.$(O) \
+    $(OUTDIR)JavaClassAccessor.$(O) \
     $(OUTDIR)extensions.$(O) \
 
 
--- a/src/abbrev.stc	Tue Feb 28 16:17:44 2012 +0000
+++ b/src/abbrev.stc	Tue Feb 28 20:34:52 2012 +0000
@@ -139,7 +139,7 @@
 JavaByteCodeProcessorAdapter JavaByteCodeProcessorAdapter stx:libjava 'Languages-Java-Bytecode' 0
 JavaByteCodePreresolver JavaByteCodePreresolver stx:libjava 'Languages-Java-Bytecode' 0
 GroovyCompiler GroovyCompiler stx:libjava 'Languages-Groovy-Compiler' 0
-GroovyEvaluator GroovyEvaluator stx:libjava 'Languages-Groovy-Compiler' 0
+GroovyEvaluator GroovyEvaluator stx:libjava 'Languages-Java-Support' 0
 GroovyLanguage GroovyLanguage stx:libjava 'Languages-Groovy-Support' 1
 GroovySourceFileWriter GroovySourceFileWriter stx:libjava 'Languages-Groovy-Support' 0
 JavaLookup JavaLookup stx:libjava 'Languages-Java-Interop' 0
@@ -157,3 +157,4 @@
 ProxyMethodJavaMethodInvocationNode ProxyMethodJavaMethodInvocationNode stx:libjava 'Languages-Java-Interop' 0
 ProxyMethodJavaTypeCheckNode ProxyMethodJavaTypeCheckNode stx:libjava 'Languages-Java-Interop' 0
 JavaClassReloader JavaClassReloader stx:libjava 'Languages-Java-Support' 0
+JavaClassAccessor JavaClassAccessor stx:libjava 'Languages-Java-Classes' 0
--- a/src/bc.mak	Tue Feb 28 16:17:44 2012 +0000
+++ b/src/bc.mak	Tue Feb 28 20:34:52 2012 +0000
@@ -1,7 +1,7 @@
 # $Header$
 #
 # DO NOT EDIT
-# automagically generated from the projectDefinition: stx_libjava at 2012-02-28 12:52:23.266.
+# automagically generated from the projectDefinition: stx_libjava at 2012-02-28 20:28:25.522.
 #
 # Warning: once you modify this file, do not rerun
 # stmkmp or projectDefinition-build again - otherwise, your changes are lost.
@@ -104,6 +104,7 @@
 $(OUTDIR)JavaArray.$(O) JavaArray.$(H): JavaArray.st $(INCLUDE_TOP)\stx\libbasic\Array.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)JavaByte.$(O) JavaByte.$(H): JavaByte.st $(INCLUDE_TOP)\stx\libbasic\Integer.$(H) $(INCLUDE_TOP)\stx\libbasic\Number.$(H) $(INCLUDE_TOP)\stx\libbasic\ArithmeticValue.$(H) $(INCLUDE_TOP)\stx\libbasic\Magnitude.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)JavaByteCodeProcessor.$(O) JavaByteCodeProcessor.$(H): JavaByteCodeProcessor.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)JavaClassAccessor.$(O) JavaClassAccessor.$(H): JavaClassAccessor.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)JavaClassRegistry.$(O) JavaClassRegistry.$(H): JavaClassRegistry.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)JavaClassReloader.$(O) JavaClassReloader.$(H): JavaClassReloader.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)JavaConstantPool.$(O) JavaConstantPool.$(H): JavaConstantPool.st $(INCLUDE_TOP)\stx\libbasic\Array.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
@@ -179,7 +180,7 @@
 $(OUTDIR)JavaMethodDeclaratorNode.$(O) JavaMethodDeclaratorNode.$(H): JavaMethodDeclaratorNode.st $(INCLUDE_TOP)\stx\libjava\JavaNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)JavaMethodDescriptor.$(O) JavaMethodDescriptor.$(H): JavaMethodDescriptor.st $(INCLUDE_TOP)\stx\libjava\JavaDescriptor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)JavaMethodNode.$(O) JavaMethodNode.$(H): JavaMethodNode.st $(INCLUDE_TOP)\stx\libjava\JavaNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)JavaPetitParser.$(O) JavaPetitParser.$(H): JavaPetitParser.st $(INCLUDE_TOP)\squeak\petitparser\PPCompositeParser.$(H) $(INCLUDE_TOP)\squeak\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\squeak\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\ReadStream.$(H) $(INCLUDE_TOP)\stx\libbasic\PositionableStream.$(H) $(INCLUDE_TOP)\stx\libbasic\PeekableStream.$(H) $(INCLUDE_TOP)\stx\libbasic\Stream.$(H) $(INCLUDE_TOP)\stx\libjava\PPJavaNode.$(H) $(STCHDR)
+$(OUTDIR)JavaPetitParser.$(O) JavaPetitParser.$(H): JavaPetitParser.st $(INCLUDE_TOP)\squeak\petitparser\PPCompositeParser.$(H) $(INCLUDE_TOP)\squeak\petitparser\PPDelegateParser.$(H) $(INCLUDE_TOP)\squeak\petitparser\PPParser.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libjava\PPJavaNode.$(H) $(INCLUDE_TOP)\stx\libbasic\ReadStream.$(H) $(INCLUDE_TOP)\stx\libbasic\PositionableStream.$(H) $(INCLUDE_TOP)\stx\libbasic\PeekableStream.$(H) $(INCLUDE_TOP)\stx\libbasic\Stream.$(H) $(STCHDR)
 $(OUTDIR)JavaStringRef2.$(O) JavaStringRef2.$(H): JavaStringRef2.st $(INCLUDE_TOP)\stx\libjava\JavaRef2.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)JavaTypeNode.$(O) JavaTypeNode.$(H): JavaTypeNode.st $(INCLUDE_TOP)\stx\libjava\JavaNode.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)JavaUnhandledExceptionError.$(O) JavaUnhandledExceptionError.$(H): JavaUnhandledExceptionError.st $(INCLUDE_TOP)\stx\libjava\JavaError.$(H) $(INCLUDE_TOP)\stx\libbasic\Error.$(H) $(INCLUDE_TOP)\stx\libbasic\Exception.$(H) $(INCLUDE_TOP)\stx\libbasic\GenericException.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
--- a/src/libInit.cc	Tue Feb 28 16:17:44 2012 +0000
+++ b/src/libInit.cc	Tue Feb 28 20:34:52 2012 +0000
@@ -40,6 +40,7 @@
 _JavaArray_Init(pass,__pRT__,snd);
 _JavaByte_Init(pass,__pRT__,snd);
 _JavaByteCodeProcessor_Init(pass,__pRT__,snd);
+_JavaClassAccessor_Init(pass,__pRT__,snd);
 _JavaClassRegistry_Init(pass,__pRT__,snd);
 _JavaClassReloader_Init(pass,__pRT__,snd);
 _JavaConstantPool_Init(pass,__pRT__,snd);
--- a/src/libjava.rc	Tue Feb 28 16:17:44 2012 +0000
+++ b/src/libjava.rc	Tue Feb 28 20:34:52 2012 +0000
@@ -25,7 +25,7 @@
       VALUE "LegalCopyright", "Copyright Claus Gittinger 1988-2011\nCopyright eXept Software AG 1998-2011\nCopyright Jan Vrany, Jan Kurs and Marcel Hlopko\b          SWING Research Group, Czech Technical University In Prague\0"
       VALUE "ProductName", "Smalltalk/X\0"
       VALUE "ProductVersion", "6.2.1.1\0"
-      VALUE "ProductDate", "Tue, 28 Feb 2012 12:52:43 GMT\0"
+      VALUE "ProductDate", "Tue, 28 Feb 2012 20:31:35 GMT\0"
     END
 
   END
--- a/src/stx_libjava.st	Tue Feb 28 16:17:44 2012 +0000
+++ b/src/stx_libjava.st	Tue Feb 28 20:34:52 2012 +0000
@@ -158,17 +158,17 @@
      exclude individual packages in the #excludedFromPrerequisites method."
 
     ^ #(
-        #'squeak:petitparser'    "PPCompositeParser - superclass of JavaPetitParser "
+        #'squeak:petitparser'    "PPDelegateParser - superclass of JavaPetitParser "
         #'stx:goodies/sunit'    "TestSuite - referenced by stx_libjava class>>testSuite "
-        #'stx:libbasic'    "ArrayedCollection - superclass of JavaArray "
-        #'stx:libbasic2'    "BitArray - superclass of extended BooleanArray "
+        #'stx:libbasic'    "Magnitude - superclass of JavaShort "
+        #'stx:libbasic2'    "UnboxedIntegerArray - superclass of extended SignedIntegerArray "
         #'stx:libbasic3'    "MessageTracer - referenced by JavaMethod>>setBreakPoint "
-        #'stx:libcomp'    "ConstantNode - referenced by ProxyMethodCompiler>>argsArray "
+        #'stx:libcomp'    "BlockNode - referenced by ProxyMethodTypeCheckNode>>generate: "
         #'stx:libhtml'    "URL - referenced by JavaEmbeddedFrameView>>setupAppletFrameIn:initializeJava: "
         #'stx:libtool'    "WorkspaceApplication - referenced by GroovyEvaluator>>evaluate:in:receiver:notifying:logged:ifFail: "
         #'stx:libview'    "SimpleView - superclass of JavaPopUpView "
         #'stx:libview2'    "Plug - referenced by JavaSourceCodeCache>>findMethodLine:inMethods: "
-        #'stx:libwidg'    "FileSelectionBox - referenced by Java class>>javaProcessForMainOf:argumentString: "
+        #'stx:libwidg'    "EditTextView - referenced by JavaVM class>>_WTextAreaPeer_create: "
         #'stx:libwidg2'    "MenuPanel - referenced by JavaVM class>>processEvent: "
     )
 ! !
@@ -546,9 +546,13 @@
         'SignedWordArray class' isJavaReferenceType
         'SignedWordArray class' javaComponentClass
         'SignedWordArray class' javaName
+        'Boolean class' javaWrapperClass
+        'Character class' javaWrapperClass
+        'Float class' javaWrapperClass
+        'Integer class' javaWrapperClass
+        'LargeInteger class' javaWrapperClass
+        'ShortFloat class' javaWrapperClass
     )
-
-    "Modified: / 24-02-2012 / 17:56:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !stx_libjava class methodsFor:'description - java'!
@@ -626,7 +630,7 @@
     "Return a SVN revision number of myself.
      This number is updated after a commit"
 
-    ^ "$SVN-Revision:"1737M"$"
+    ^ "$SVN-Revision:"'1742'"$"
 ! !
 
 !stx_libjava class methodsFor:'file generation'!