Post-merge fixes. development
authorJan Vrany <jan.vrany@fit.cvut.cz>
Wed, 18 Dec 2013 14:52:11 +0100
branchdevelopment
changeset 2966 afd174546057
parent 2965 bac7022ca26a
child 2967 8ffaaa45f964
Post-merge fixes. Class vars renamed to match defined naming scheme
JavaAlienMirror.st
JavaArrayMirror.st
JavaClass.st
JavaClassMirror.st
JavaClassReader.st
JavaClassRegistry.st
JavaMirror.st
JavaNativeMethodImpl_OpenJDK6.st
JavaPrimitiveMirror.st
JavaVM.st
JavaVMData.st
Make.proto
Make.spec
abbrev.stc
bc.mak
libInit.cc
libjava.rc
libs/java/pom.xml
stx_libjava.st
--- a/JavaAlienMirror.st	Wed Dec 18 12:03:32 2013 +0100
+++ b/JavaAlienMirror.st	Wed Dec 18 14:52:11 2013 +0100
@@ -55,7 +55,7 @@
 
 documentation
 "
-    Specialized mirror for Smalltalk (and all other 
+    Specialized mirror for Smalltalk (and all other
     non-Java classes)
 
     [author:]
@@ -81,7 +81,7 @@
 !
 
 getDeclaredConstructors:publicOnly
-    "Returns an java.lang.reflect.Constructor[] with all constructors 
+    "Returns an java.lang.reflect.Constructor[] with all constructors
      declared by this class"
 
     "Here, return onlu default constructor. Later, all methods annotated
@@ -97,20 +97,20 @@
     ].
 
     ctors isEmpty ifTrue:[
-        "/If no constructor is found, fake default one...    
+        "/If no constructor is found, fake default one...
         ctors add: (self getDeclaredConstructorFor: (klass lookupMethodFor: #initialize)).
     ].
 
-    ^java_lang_reflect_Constructor javaArrayClass withAll: ctors
+    ^_java_lang_reflect_Constructor_CLASS javaArrayClass withAll: ctors
 
     "Modified: / 18-05-2013 / 10:57:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 getDeclaredFields:publicOnly
-    "Returns an java.lang.reflect.Field[] with all constructors 
+    "Returns an java.lang.reflect.Field[] with all constructors
      declared by this class."
 
-    | fields |    
+    | fields |
 
     fields := OrderedCollection new.
 
@@ -118,7 +118,7 @@
         | field |
 
         field := JavaField new.
-        field 
+        field
             setAccessFlags: JavaConstants ACC_PROTECTED;
             setClass: klass;
             setIndex: klass superclass instSize + index;
@@ -128,14 +128,14 @@
         fields add: (self createFieldFor: field)
     ].
 
-    ^ java_lang_reflect_Field javaArrayClass 
+    ^ _java_lang_reflect_Field_CLASS javaArrayClass
         withAll:fields
 
     "Modified: / 18-05-2013 / 10:57:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-getDeclaredMethods:publicOnly 
-    "Returns an java.lang.reflect.Method[] with all methods 
+getDeclaredMethods:publicOnly
+    "Returns an java.lang.reflect.Method[] with all methods
      declared by this class"
 
     | methods |
@@ -146,7 +146,7 @@
             methods add: (self getDeclaredMethodFor: mthd).
         ].
     ].
-    ^java_lang_reflect_Method javaArrayClass withAll: methods
+    ^_java_lang_reflect_Method_CLASS javaArrayClass withAll: methods
 
     "Modified: / 18-05-2013 / 10:57:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
@@ -177,13 +177,13 @@
 !JavaAlienMirror methodsFor:'accessing-private'!
 
 getDeclaredConstructorFor: method
-    ^ self 
-        createConstructorFor: klass 
-                      method: method 
+    ^ self
+        createConstructorFor: klass
+                      method: method
                    signature: (self getSignatureForConstructor: method)
-                   modifiers: JavaConstants ACC_PUBLIC 
-              parameterTyoes: #() 
-              exceptionTypes: #() 
+                   modifiers: JavaConstants ACC_PUBLIC
+              parameterTyoes: #()
+              exceptionTypes: #()
                  annotations: JavaMethodAnnotationContainer new
 
     "Created: / 22-08-2012 / 11:36:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -193,16 +193,16 @@
     | signature name |
 
     signature := self getSignatureForMethod: method short: false.
-    name := signature upTo: $(.    
-    ^ self 
-        createMethodFor: klass 
-                      method: method 
+    name := signature upTo: $(.
+    ^ self
+        createMethodFor: klass
+                      method: method
                         name: name
                    signature: signature
-                   modifiers: JavaConstants ACC_PUBLIC 
-              parameterTyoes: ((1 to: method selector numArgs)collect:[:i|java_lang_Object])
-                  returnType: java_lang_Object
-              exceptionTypes: #() 
+                   modifiers: JavaConstants ACC_PUBLIC
+              parameterTyoes: ((1 to: method selector numArgs)collect:[:i|_java_lang_Object_CLASS])
+                  returnType: _java_lang_Object_CLASS
+              exceptionTypes: #()
                  annotations: JavaMethodAnnotationContainer new
 
     "Created: / 22-08-2012 / 11:36:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -262,7 +262,7 @@
 
 isJavaMethod: mthd selector: sel
 
-    ^sel isBinarySelector not 
+    ^sel isBinarySelector not
         and:[(self isJavaConstructor: mthd selector: sel) not]
 
     "Created: / 22-08-2012 / 11:47:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
--- a/JavaArrayMirror.st	Wed Dec 18 12:03:32 2013 +0100
+++ b/JavaArrayMirror.st	Wed Dec 18 14:52:11 2013 +0100
@@ -64,28 +64,28 @@
 !
 
 getDeclaredConstructors:publicOnly
-    "Returns an java.lang.reflect.Constructor[] with all constructors 
+    "Returns an java.lang.reflect.Constructor[] with all constructors
      declared by this class"
 
-    ^ java_lang_reflect_Constructor javaArrayClass new:0.
+    ^ _java_lang_reflect_Constructor_CLASS javaArrayClass new:0.
 
     "Modified: / 18-05-2013 / 10:57:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 getDeclaredFields:publicOnly
-    "Returns an java.lang.reflect.Field[] with all constructors 
+    "Returns an java.lang.reflect.Field[] with all constructors
      declared by this class."
 
-    ^java_lang_reflect_Field javaArrayClass new:0.
+    ^_java_lang_reflect_Field_CLASS javaArrayClass new:0.
 
     "Modified: / 18-05-2013 / 10:57:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-getDeclaredMethods:publicOnly 
-    "Returns an java.lang.reflect.Method[] with all methods 
+getDeclaredMethods:publicOnly
+    "Returns an java.lang.reflect.Method[] with all methods
      declared by this class"
-    
-    ^ java_lang_reflect_Method javaArrayClass new:0.
+
+    ^ _java_lang_reflect_Method_CLASS javaArrayClass new:0.
 
     "Modified: / 18-05-2013 / 10:57:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
@@ -93,7 +93,7 @@
 getInterfaces
     "Return a list if interfaces"
 
-    ^ Array 
+    ^ Array
         with: (JavaVM classForName: 'java.lang.Cloneable' definedBy: nil)
         with: (JavaVM classForName: 'java.io.Serializable' definedBy: nil)
 
--- a/JavaClass.st	Wed Dec 18 12:03:32 2013 +0100
+++ b/JavaClass.st	Wed Dec 18 14:52:11 2013 +0100
@@ -29,7 +29,7 @@
 	category:'Languages-Java-Classes'
 !
 
-Array subclass:#Attributes
+Array variableSubclass:#Attributes
 	instanceVariableNames:''
 	classVariableNames:'Empty'
 	poolDictionaries:''
@@ -127,10 +127,6 @@
     "Modified: / 06-12-2013 / 22:59:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-
-
-
-
 name:aString
     self shouldNotImplement
 
@@ -746,8 +742,6 @@
     ^ fields
 !
 
-
-
 javaClass
 
     ^ self
@@ -834,10 +828,6 @@
     "Created: / 5.11.1998 / 19:16:00 / cg"
 !
 
-
-
-
-
 nameWithoutNameSpacePrefix
     ^ binaryName
 
@@ -1326,8 +1316,6 @@
     "Modified: / 08-10-2013 / 22:36:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-
-
 parent
 
     ^nil
@@ -2327,8 +2315,6 @@
     "Modified: / 02-11-2012 / 21:49:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-
-
 setInterfaces: i
 
     super setInterfaces: i.
@@ -2555,9 +2541,10 @@
 !
 
 isBuiltInClass
-    ^JavaVM builtInClassNames includes: name
+    ^JavaVM builtInClassNames includes: binaryName
 
     "Created: / 22-05-2013 / 20:38:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 18-12-2013 / 12:46:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 isCloneable
@@ -2763,8 +2750,6 @@
     "Modified: / 10-10-2013 / 01:00:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-
-
 selectMethodsAnnotatedWith:aJavaTypeName 
     ^ self methodDictionary values select:
             [:method | 
@@ -2953,9 +2938,7 @@
     "Created: / 10-11-1998 / 02:07:32 / cg"
     "Modified: / 08-01-1999 / 14:11:34 / cg"
     "Modified: / 05-07-2012 / 23:24:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
- !
+! !
 
 !JavaClass methodsFor:'support - refactorings'!
 
@@ -3220,5 +3203,5 @@
 ! !
 
 
+JavaClass initialize!
 JavaClass::Attributes initialize!
-JavaClass initialize!
--- a/JavaClassMirror.st	Wed Dec 18 12:03:32 2013 +0100
+++ b/JavaClassMirror.st	Wed Dec 18 14:52:11 2013 +0100
@@ -80,7 +80,7 @@
 !
 
 getDeclaredConstructors:publicOnly
-    "Returns an java.lang.reflect.Constructor[] with all constructors 
+    "Returns an java.lang.reflect.Constructor[] with all constructors
      declared by this class"
 
     | ctors |
@@ -91,30 +91,30 @@
             ctors add: (self getDeclaredConstructorFor: mthd).
         ].
     ].
-    ^java_lang_reflect_Constructor javaArrayClass withAll: ctors
+    ^_java_lang_reflect_Constructor_CLASS javaArrayClass withAll: ctors
 
     "Modified: / 18-05-2013 / 10:56:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 getDeclaredFields:publicOnly
-    "Returns an java.lang.reflect.Field[] with all constructors 
+    "Returns an java.lang.reflect.Field[] with all constructors
      declared by this class."
 
-    | fields |    
+    | fields |
 
     fields := klass fields , klass staticFields.
     publicOnly ifTrue:[ fields := fields select:[:f | f isPublic ] ].
     JavaClassReader classLoaderQuerySignal answer: klass classLoader do:[
         fields := fields collect:[:f | self createFieldFor:f ].
     ].
-    ^ java_lang_reflect_Field javaArrayClass 
+    ^ _java_lang_reflect_Field_CLASS javaArrayClass
         withAll:fields
 
     "Modified: / 18-05-2013 / 10:57:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 getDeclaredMethods:publicOnly
-    "Returns an java.lang.reflect.Constructor[] with all constructors 
+    "Returns an java.lang.reflect.Constructor[] with all constructors
      declared by this class"
 
     | methods |
@@ -122,14 +122,14 @@
     methods := OrderedCollection new.
     klass selectorsAndMethodsDo:[:sel :mthd|
         mthd isJavaMethod and:[
-            (mthd isJavaConstructor not 
+            (mthd isJavaConstructor not
                 and:[mthd isJavaStaticInitializer not
                 and:[publicOnly not or:[mthd isPublic]]]) ifTrue:[
                 methods add: (self getDeclaredMethodFor: mthd).
             ]
         ].
     ].
-    ^java_lang_reflect_Method javaArrayClass withAll: methods
+    ^_java_lang_reflect_Method_CLASS javaArrayClass withAll: methods
 
     "Modified: / 18-05-2013 / 10:57:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
@@ -153,7 +153,7 @@
 getModifiers
     "Return class modifiers (public/abstract/final...)"
 
-    | modifiers |    
+    | modifiers |
 
     "According to OpenJDK JVM, strip ACC_SUPER"
     modifiers := (klass accessFlags & JavaConstants ACC_SUPER bitInvert) & 16r7FFF.
--- a/JavaClassReader.st	Wed Dec 18 12:03:32 2013 +0100
+++ b/JavaClassReader.st	Wed Dec 18 14:52:11 2013 +0100
@@ -66,12 +66,12 @@
     Verbose := false.
     Silent := true.
     AbsolutelySilent := false.
-    
+
     "/LazyClassLoading := false.
-    
+
     LazyClassLoading := true.
     ClassLoaderQuerySignal := QuerySignal new.
-    ClassLoaderQuerySignal defaultAnswer: [ JavaVM systemClassLoader ].  
+    ClassLoaderQuerySignal defaultAnswer: [ JavaVM systemClassLoader ].
     OperatingSystem isMSWINDOWSlike ifFalse:[
         JavaArchiveCache := CacheDictionary new: 32.
     ] ifTrue:[
@@ -118,7 +118,7 @@
 !JavaClassReader class methodsFor:'constants'!
 
 fileMajorVersions
-    ^#( 
+    ^#(
         45  "Java 1.0.2"
         46  "Java 1.2"
         47  "???"
@@ -167,7 +167,7 @@
 
 !JavaClassReader class methodsFor:'debugging'!
 
-annotationsVerbose:aBoolean 
+annotationsVerbose:aBoolean
     AnnotationsVerbose := aBoolean
 
     "
@@ -190,10 +190,10 @@
 
 !JavaClassReader class methodsFor:'file reading'!
 
-readClass: aClassName 
+readClass: aClassName
     "reads a class, and returns it.
      <clinit> is NOT called, class is NOT installed"
-    
+
     ^ self readClass: aClassName ignoring: Set new.
 
     "Created: / 15-04-1996 / 14:58:53 / cg"
@@ -202,10 +202,10 @@
     "Modified (comment): / 07-02-2013 / 14:21:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-readClass: aClassName classPath: classPath  
+readClass: aClassName classPath: classPath
     "reads a class, and returns it.
      <clinit> is NOT called, class is NOT installed"
-    
+
     ^ self readClass: aClassName ignoring: Set new classPath: classPath
 
     "Created: / 15-04-1996 / 14:58:53 / cg"
@@ -215,10 +215,10 @@
     "Modified (comment): / 07-02-2013 / 14:21:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-readClass: className ignoring: classesBeingLoadedOrNil 
+readClass: className ignoring: classesBeingLoadedOrNil
 
     "This method is bit hacky, as it tries to supply 'correct'
-     classloader. 
+     classloader.
 
     If the class is loaded from Java release classPath (containing
     base java classes shipped with JDK/JRE), then set the classloader
@@ -231,8 +231,8 @@
     "
 
     | class |
-    class := self 
-                readClass: className ignoring: classesBeingLoadedOrNil 
+    class := self
+                readClass: className ignoring: classesBeingLoadedOrNil
                 classPath: Java release classPath.
     class notNil ifTrue:[ ^ class ].
 
@@ -242,7 +242,7 @@
         ].
         JavaClassReader classLoaderQuerySignal answer: JavaVM systemClassLoader do:[
             class := self
-                readClass: className ignoring: classesBeingLoadedOrNil 
+                readClass: className ignoring: classesBeingLoadedOrNil
                 classPath: Java classPath.
         ].
     ].
@@ -260,7 +260,7 @@
 
     cls := self new readClass: className ignoring: ignoring classPath: classPath.
     cls notNil ifTrue:[
-        Logger 
+        Logger
             log: 'loaded class ' , cls displayString
             severity: #info
             facility: 'JVM'.
@@ -271,17 +271,17 @@
     "Modified: / 08-02-2013 / 01:20:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-readFile:aFilename ignoring:classesBeingLoaded 
+readFile:aFilename ignoring:classesBeingLoaded
     "reads a class from aFilename and returns it.
      The JavaClass is NOT installed as global and unresolved
      refs are NOT patched."
-    
+
     | inStream |
 
     [
         JavaVM commonOpenStreamUsing:[ inStream := aFilename asFilename readStream ]
-    ] on:StreamError do:[:ex | 
-        Logger 
+    ] on:StreamError do:[:ex |
+        Logger
             log:('cannot read .class file: ' , ex description) severity:#error facility:'JVM'.
         self breakPoint: #jv.
         ^ nil
@@ -299,7 +299,7 @@
     "Modified: / 29-03-2013 / 23:54:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-readStream: aStream 
+readStream: aStream
     "reads a class from aStream and returns it.
      The JavaClass is not installed as global"
 
@@ -308,7 +308,7 @@
     "Created: / 24-10-2011 / 00:12:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-readStream: stream ignoring: classesBeingLoaded 
+readStream: stream ignoring: classesBeingLoaded
     "reads a class from aStream and returns it.
      The JavaClass is not installed as global"
 
@@ -328,14 +328,14 @@
     "Created: / 02-05-2013 / 09:51:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-readStream: stream loader: classloader ignoring: classesBeingLoaded  
+readStream: stream loader: classloader ignoring: classesBeingLoaded
     "reads a class from aStream and returns it.
      The JavaClass is not installed as global"
-    
+
     | javaClass |
 
     javaClass := JavaClassReader new readStream: stream loader: classloader ignoring: classesBeingLoaded.
-    Logger 
+    Logger
         log: 'loaded class ' , javaClass displayString
         severity: #info
         facility: 'JVM'.
@@ -346,11 +346,11 @@
 
 !JavaClassReader class methodsFor:'obsolete'!
 
-resolveClass: aJavaClass 
+resolveClass: aJavaClass
     "Resolve a particular classes' constants.
      Perform all class initialization functions
      (of those which are not yet initialized)."
-    
+
     | loader  classToLoad |
 
 
@@ -360,13 +360,13 @@
         [
             classToLoad := nil.
             aJavaClass constantPool do: [
-                :item | 
+                :item |
                 | itemClass |
 
                 itemClass := item class.
                 itemClass == JavaUnresolvedClassConstant ifTrue: [
                     classToLoad := item className.
-                    
+
 "/                ] ifFalse:[
 "/                    itemClass == JavaUnresolvedMethodrefConstant ifTrue:[
 "/self halt.
@@ -413,7 +413,7 @@
 
 !JavaClassReader methodsFor:'accessing'!
 
-constants   
+constants
 ^ constants.
 
     "Created: / 10-05-2011 / 13:48:30 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
@@ -454,15 +454,15 @@
         ].
         nm := p , clsName , '.class'.
         (f := nm asFilename) exists ifTrue: [
-            (Java isExcludedFromClassPath: nm) ifFalse: [             
+            (Java isExcludedFromClassPath: nm) ifFalse: [
                 "means we are successfully going to read something :)"
                 f readingFileDo:[:s|rslt := self readStream: s ignoring: classesBeingLoaded].
                 rslt notNil ifTrue: [ ^ rslt. ].
             ]
         ].
     ] ifFalse: [
-        ((zipFile := p asFilename withSuffix: 'jar') exists 
-            or: [ (zipFile := p asFilename withSuffix: 'zip') exists ]) 
+        ((zipFile := p asFilename withSuffix: 'jar') exists
+            or: [ (zipFile := p asFilename withSuffix: 'zip') exists ])
                 ifTrue: [
                     "/ Do not use at:ifAbsentPut: here, JavaArchiveCache is a CacheDictionary!!!!!!
                     JavaArchiveCacheLock critical:[
@@ -483,11 +483,11 @@
                                     JavaVM commonOpenStreamUsing:[ zar := zar reopenForReading ].
                                     entry := zar extract: nm.
                                     rslt := self readStream: (entry readStream) ignoring: classesBeingLoaded.
-                                    rslt notNil ifTrue: [ 
+                                    rslt notNil ifTrue: [
                                         JavaArchiveCacheLock critical:[
                                             zarAndRefcount at: 2 put: (zarAndRefcount at: 2) - 1.
                                         ].
-                                        ^ rslt 
+                                        ^ rslt
                                     ].
                                 ]
                             ].
@@ -499,7 +499,7 @@
                             ].
 
                         ].
-                    JavaClassReader invalidClassFormatSignal 
+                    JavaClassReader invalidClassFormatSignal
                         handle: [
                             "Kludge, sometimes zar gets corrupted"
                             JavaArchiveCache at: zipFile put: (Array with: (zar := JavaVM commonOpenStreamUsing: [ZipArchive oldFileNamed: zipFile]) with: 1).
@@ -511,13 +511,13 @@
     ^nil
 
     "Created: / 03-12-2012 / 22:47:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-<conflict>
+
 !
 
-readClass: className ignoring: classesBeingLoadedOrNil classPath: classPath 
+readClass: className ignoring: classesBeingLoadedOrNil classPath: classPath
     "searches classspath for a class, loads it and returns.
      <clinit> is not called, class is not installed as global"
-    
+
     | rslt  clsName  classesBeingLoaded |
     clsName := className asSlashedJavaClassName.
     classesBeingLoaded := classesBeingLoadedOrNil.
@@ -527,7 +527,7 @@
     classesBeingLoaded add: clsName.
 
 
-    classPath do: [:path | 
+    classPath do: [:path |
         rslt := self readClass: clsName from: path ignoring: classesBeingLoaded.
         rslt notNil ifTrue:[ ^rslt ].
     ].
@@ -541,11 +541,11 @@
     "Modified: / 07-02-2013 / 14:19:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-readClassFileIgnoring: classesbeingLoaded 
+readClassFileIgnoring: classesbeingLoaded
     "reads a class from inStream and returns it.
      The JavaClass is not installed as global and its constants
      (especially strings) may not be fully resolved."
-    
+
     | magic  access_flags  this_class_index  super_class  super_class_index  this_class_ref  existingSuperClass  fields  interfaces  staticFields  nStatic  superClassName  thisClassName  existing_class  thisMetaClass |
 
     "/
@@ -561,15 +561,15 @@
         msb := false.
         Verbose ifTrue: [ Transcript showCR: 'file is lsb' ].
     ] ifTrue: [ Verbose ifTrue: [ Transcript showCR: 'file is msb' ]. ].
-    
+
     "/
     "/ get version
     "/
-    
+
     minorVsn := inStream nextUnsignedShortMSB: msb.
     majorVsn := inStream nextUnsignedShortMSB: msb.
-    ((self class fileMajorVersions includes: majorVsn) not 
-        or: [ (self class fileMinorVersions includes: minorVsn) not ]) 
+    ((self class fileMajorVersions includes: majorVsn) not
+        or: [ (self class fileMinorVersions includes: minorVsn) not ])
             ifTrue: [
                 | path |
 
@@ -583,26 +583,26 @@
                          majorVsn printString ,
                             '.' , minorVsn printString)
 
-            ].    
+            ].
     "/
     "/ get constant pool
     "/
-    
+
     self readConstantPool.
-    
+
     "/
     "/ access flags
     "/
-    
+
     access_flags := inStream nextUnsignedShortMSB: msb.
     this_class_index := inStream nextUnsignedShortMSB: msb.
     super_class_index := inStream nextUnsignedShortMSB: msb.
     super_class_index == 0 ifTrue: [ super_class := nil ] ifFalse: [
         super_class := constants at: super_class_index.
         superClassName := super_class fullName.
-        
+
         "/ special for ST-classes
-        
+
         (superClassName startsWith: 'smalltalk.') ifTrue: [
             "/ a Smalltalk class
             superClassName := superClassName copyFrom: 11.
@@ -614,12 +614,12 @@
             "/ a JAVA class
             super_class := JavaVM classNamed: superClassName definedBy: classLoader.
             super_class isNil ifTrue: [
-                super_class := self 
+                super_class := self
                                 loadSuperclassIdentifiedBy: (constants at: super_class_index)
                                 ignoring: classesbeingLoaded
             ].
             super_class isNil ifTrue: [
-                self breakPoint:#jv info: 'Cannot find super class?!!' 
+                self breakPoint:#jv info: 'Cannot find super class?!!'
             ].
         ].
     ].
@@ -628,29 +628,29 @@
     (super_class notNil and:[super_class hasFinalize]) ifTrue:[
         access_flags := access_flags bitOr: ACX_HASFINALIZE
     ].
-    
+
     "/
     "/ get interfaces
     "/
-    
+
     interfaces := self readInterfaces.
-    interfaces do:[:interface | 
+    interfaces do:[:interface |
         interface javaClassName = 'java/lang/Cloneable' ifTrue:[
             access_flags := access_flags bitOr: ACX_CLONEABLE.
-        ].  
+        ].
     ].
-    
+
     "/
     "/ get fields
     "/
-    
+
     fields := self readFieldInfofields.
-    
+
     "/
     "/ create the fields as instVars
     "/ static fields are created as class-InstVars
     "/
-    
+
     staticFields := fields select: [:f | f isStatic ].
     nStatic := staticFields size.
     this_class_ref := constants at: this_class_index.
@@ -658,9 +658,9 @@
     thisClassName = 'java/lang/Cloneable' ifTrue:[
         access_flags := access_flags bitOr: ACX_CLONEABLE.
     ].
-    
+
     "/ care for smalltalk classes ...
-    
+
     (thisClassName startsWith: 'smalltalk.') ifTrue: [
         thisClassName := thisClassName copyFrom: 11.
         existing_class := Smalltalk at: thisClassName asSymbol.
@@ -678,7 +678,7 @@
         "/ a java class
         Class withoutUpdatingChangesDo:[
             classBeingLoaded := JavaClass binaryName: thisClassName numStatic: nStatic.
-            classBeingLoaded classLoader: self class classLoaderQuerySignal query.        
+            classBeingLoaded classLoader: self class classLoaderQuerySignal query.
             fields := fields select: [:f | f isStatic not ].
             JavaClass setInstanceVariableStringFromFields: staticFields
                 in: classBeingLoaded class.
@@ -690,11 +690,11 @@
             classBeingLoaded setInterfaces: interfaces.
         ]
     ].
-    
+
     "/
     "/ get methods
     "/
-    
+
     self readMethodsFor: classBeingLoaded.
     self readAttributesFor: classBeingLoaded.
     classBeingLoaded setAttributes: attributes.
@@ -705,7 +705,7 @@
     self readExtensionsFor: classBeingLoaded.
 
     classBeingLoaded fields do: [:each | self updateOwnerInField: each ].
-    classBeingLoaded staticFields do: [:each | self updateOwnerInField: each ].    
+    classBeingLoaded staticFields do: [:each | self updateOwnerInField: each ].
     classBeingLoaded classLoader: classLoader.
     classesbeingLoaded remove: classBeingLoaded name ifAbsent:[].
     ^ classBeingLoaded.
@@ -732,7 +732,7 @@
     "reads a class from aStream and returns it.
      The JavaClass is not installed as global"
 
-    ^self readStream:aStream loader: self class classLoaderQuerySignal query ignoring:classesBeingLoaded    
+    ^self readStream:aStream loader: self class classLoaderQuerySignal query ignoring:classesBeingLoaded
 
 
     "
@@ -762,9 +762,9 @@
 
 !JavaClassReader methodsFor:'file reading - attributes'!
 
-readAnnotationDefaultAttributeFor:something 
+readAnnotationDefaultAttributeFor:something
     "/        ('JAVA [info]: unhandled attribute: AnnotationDefault') infoPrintCR.
-    
+
     |len startPos endPos annotationDefault|
 
     self assert:something isJavaMethod
@@ -772,7 +772,7 @@
     len := inStream nextUnsignedLongMSB:msb.
     startPos := inStream position.
     annotationDefault := (something ensureHasAnnotations)
-                default:(JavaAnnotationDefault new 
+                default:(JavaAnnotationDefault new
                             value:(self readAnnotationValueFor:something));
                 default.
     endPos := inStream position.
@@ -785,7 +785,7 @@
     "Modified: / 03-03-2011 / 23:06:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-readAnnotationFor:something 
+readAnnotationFor:something
     | typeIndex  type  result  attrsCount |
 
     typeIndex := inStream nextUnsignedShortMSB:msb.
@@ -801,7 +801,7 @@
             attr := self readAnnotationValueFor:something.
             attr name:name.
             result values at:attr name put:attr.
-            AnnotationsVerbose 
+            AnnotationsVerbose
                 ifTrue:[ ('JAVA [INFO]: Reading annotation attribute: ' , name) infoPrintCR. ]. ].
     ^ result.
 
@@ -810,57 +810,57 @@
     "Modified: / 27-07-2011 / 09:37:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-readAnnotationValueFor:something 
+readAnnotationValueFor:something
     | tag  result |
 
     tag := (inStream nextByte) asCharacter.
-    tag = $e 
+    tag = $e
         ifTrue:
             [ result := JavaAnnotationEnumValue for:something.
             result nameIndex:(inStream nextUnsignedShortMSB:msb).
             result valueIndex:(inStream nextUnsignedShortMSB:msb).
-            AnnotationsVerbose 
+            AnnotationsVerbose
                 ifTrue:
-                    [ ('JAVA [INFO]: Reading annotation enum value: ' , result name printString, ' -> ' 
+                    [ ('JAVA [INFO]: Reading annotation enum value: ' , result name printString, ' -> '
                         , result value printString) infoPrintCR ].
             ^ result ].
-    tag = $c 
+    tag = $c
         ifTrue:
             [ result := JavaAnnotationClassValue for:something.
             result classIndex:(inStream nextUnsignedShortMSB:msb).
-            AnnotationsVerbose 
+            AnnotationsVerbose
                 ifTrue:
-                    [ ('JAVA [INFO]: Reading annotation class value: ' , result name printString, ' -> ' 
+                    [ ('JAVA [INFO]: Reading annotation class value: ' , result name printString, ' -> '
                         , result value printString) infoPrintCR ].
             ^ result ].
-    tag = $@ 
+    tag = $@
         ifTrue:
             [ result := JavaAnnotationNestedAnnotationValue for:something.
             result nestedAnnotation:(self readAnnotationFor: something).
-            AnnotationsVerbose 
+            AnnotationsVerbose
                 ifTrue:
                     [ ('JAVA [INFO]: Reading annotation nested annotation value: ' , result name printString
-                        , ' -> ' , result value printString) 
+                        , ' -> ' , result value printString)
                         infoPrintCR ].
             ^ result ].
-    tag = $[ 
+    tag = $[
         ifTrue:
             [ result := JavaAnnotationArrayValue for:something.
             result count:(inStream nextUnsignedShortMSB:msb).
-            AnnotationsVerbose 
+            AnnotationsVerbose
                 ifTrue:[ ('JAVA [INFO]: Reading annotation array value') infoPrintCR ].
             1 to:result count
                 do:[:index | result values at:index put:(self readAnnotationValueFor:something) ].
-            AnnotationsVerbose 
+            AnnotationsVerbose
                 ifTrue:
-                    [ ('JAVA [INFO]: Finished reading annotation array value: ' 
+                    [ ('JAVA [INFO]: Finished reading annotation array value: '
                         , result value printString) infoPrintCR ].
             ^ result ].
     result := JavaAnnotationPrimitiveValue for:something.
     result valueIndex:(inStream nextUnsignedShortMSB:msb).
-     AnnotationsVerbose 
+     AnnotationsVerbose
                 ifTrue:
-                    [ ('JAVA [INFO]: Finished reading annotation primitive value: ' 
+                    [ ('JAVA [INFO]: Finished reading annotation primitive value: '
                              , result name printString , ' -> ' , result value printString) infoPrintCR ].
     ^ result.
 
@@ -869,152 +869,152 @@
     "Modified: / 12-02-2013 / 19:35:15 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
 !
 
-readAttribute:attributeName for:something 
+readAttribute:attributeName for:something
     "/ implemented JAVA attributes
-    
-    (attributeName = 'ConstantValue') 
+
+    (attributeName = 'ConstantValue')
         ifTrue:
             [ self readConstantValueAttributeFor:something.
             ^ self. ].
-    (attributeName = 'Code') 
+    (attributeName = 'Code')
         ifTrue:
             [ self readCodeAttributeFor:something.
             ^ self. ].
-    (attributeName = 'Exceptions') 
+    (attributeName = 'Exceptions')
         ifTrue:
             [ self readExceptionsAttributeFor:something.
             ^ self. ].
-    (attributeName = 'InnerClasses') 
+    (attributeName = 'InnerClasses')
         ifTrue:
             [ self readInnerClassesAttributeFor:something.
             ^ self. ].
-    (attributeName = 'EnclosingMethod') 
+    (attributeName = 'EnclosingMethod')
         ifTrue:
             [ self readEnclosingMethodAttributeFor:something.
             ^ self. ].
-    (attributeName = 'LineNumberTable') 
+    (attributeName = 'LineNumberTable')
         ifTrue:
             [ self readLineNumberTableAttributeFor:something.
             ^ self. ].
-    (attributeName = 'LocalVariableTable') 
+    (attributeName = 'LocalVariableTable')
         ifTrue:
             [ self readLocalVariableTableAttributeFor:something.
             ^ self. ].
-    (attributeName = 'LocalVariableTypeTable') 
+    (attributeName = 'LocalVariableTypeTable')
         ifTrue:
             [ self readLocalVariableTypeTableAttributeFor:something.
             ^ self. ].
-    (attributeName = 'SourceFile') 
+    (attributeName = 'SourceFile')
         ifTrue:
             [ self readSourceFileAttributeFor:something.
             ^ self. ].
-    (attributeName = 'SourceDebugExtension') 
+    (attributeName = 'SourceDebugExtension')
         ifTrue:
             [ self readSourceDebugExtensionAttributeFor:something.
             ^ self. ].
-    (attributeName = 'Synthetic') 
+    (attributeName = 'Synthetic')
         ifTrue:
             [ self readSyntheticAttributeFor:something.
             ^ self. ].
-    (attributeName = 'Signature') 
+    (attributeName = 'Signature')
         ifTrue:
             [ self readSignatureAttributeFor:something.
             ^ self. ].
-    (attributeName = 'Deprecated') 
+    (attributeName = 'Deprecated')
         ifTrue:
             [ self readDeprecatedAttributeFor:something.
             ^ self. ].
-    (attributeName = 'RuntimeVisibleAnnotations') 
+    (attributeName = 'RuntimeVisibleAnnotations')
         ifTrue:
             [ self readRuntimeAnnotationsAttributeFor:something visible:true.
             ^ self. ].
-    (attributeName = 'RuntimeInvisibleAnnotations') 
+    (attributeName = 'RuntimeInvisibleAnnotations')
         ifTrue:
             [  self readRuntimeAnnotationsAttributeFor:something visible:false.
             ^ self. ].
-    (attributeName = 'RuntimeVisibleParameterAnnotations') 
+    (attributeName = 'RuntimeVisibleParameterAnnotations')
         ifTrue:
             [ self readRuntimeParameterAnnotationsAttributeFor:something visible:true.
             ^ self. ].
-    (attributeName = 'RuntimeInvisibleParameterAnnotations') 
+    (attributeName = 'RuntimeInvisibleParameterAnnotations')
         ifTrue:
             [ self readRuntimeParameterAnnotationsAttributeFor:something visible:false.
             ^ self. ].
-    (attributeName = 'AnnotationDefault') 
+    (attributeName = 'AnnotationDefault')
         ifTrue:
             [ self readAnnotationDefaultAttributeFor:something.
             ^ self. ].
-    
+
     "/ ignored JAVA attributes
-    
-    (attributeName = 'FastJavac1.0') 
+
+    (attributeName = 'FastJavac1.0')
         ifTrue:
             [ "/        ('JAVA [info]: unhandled attribute: ' , attributeName) infoPrintCR.
             self skipAttribute:attributeName.
             ^ self. ].
-    (attributeName = 'AbsoluteSourcePath') 
+    (attributeName = 'AbsoluteSourcePath')
         ifTrue:
             [ ('JAVA [info]: unhandled attribute: ' , attributeName) infoPrintCR.
             self skipAttribute:attributeName.
             ^ self. ].
-    (attributeName startsWith:((Character value:13) asString , 'WARNING:')) 
+    (attributeName startsWith:((Character value:13) asString , 'WARNING:'))
         ifTrue:
             [ "/        ('JAVA [info]: unhandled attribute: ' , attributeName) infoPrintCR.
             self skipAttribute:attributeName.
             ^ self. ].
-    (attributeName = 'StackMapTable') 
+    (attributeName = 'StackMapTable')
         ifTrue:
             [ "/        ('JAVA [info]: unhandled attribute: ' , attributeName) infoPrintCR.
             self readStackMapTableAttributeFor:something.
             ^ self. ].
-    
+
     "/ implemented ST attributes
-    
-    (attributeName = 'STLiterals') 
+
+    (attributeName = 'STLiterals')
         ifTrue:
             [ self readSTLiteralsAttributeFor:something.
             ^ self. ].
-    (attributeName = 'ClassRevision') 
+    (attributeName = 'ClassRevision')
         ifTrue:
             [ self readSTClassRevisionAttributeFor:something.
             ^ self. ].
-    (attributeName = 'ClassPackage') 
+    (attributeName = 'ClassPackage')
         ifTrue:
             [ self readSTClassPackageAttributeFor:something.
             ^ self. ].
-    (attributeName = 'ClassCategory') 
+    (attributeName = 'ClassCategory')
         ifTrue:
             [ self readSTClassCategoryAttributeFor:something.
             ^ self. ].
-    (attributeName = 'ClassVarNames') 
+    (attributeName = 'ClassVarNames')
         ifTrue:
             [ self readSTClassVarNamesAttributeFor:something.
             ^ self. ].
-    (attributeName = 'ClassInstVarNames') 
+    (attributeName = 'ClassInstVarNames')
         ifTrue:
             [ self readSTClassInstVarNamesAttributeFor:something.
             ^ self. ].
-    (attributeName = 'InstVarNames') 
+    (attributeName = 'InstVarNames')
         ifTrue:
             [ self readSTInstVarNamesAttributeFor:something.
             ^ self. ].
-    (attributeName = 'STCode') 
+    (attributeName = 'STCode')
         ifTrue:
             [ self readSTCodeAttributeFor:something.
             ^ self. ].
-    (attributeName = 'MethodCategory') 
+    (attributeName = 'MethodCategory')
         ifTrue:
             [ self readSTMethodCategoryAttributeFor:something.
             ^ self. ].
 
     "/ Eclipse Java Compiler Specific Attributes
-    (attributeName = 'MissingTypes') 
+    (attributeName = 'MissingTypes')
         ifTrue:
             [ self readMissingTypesAttributeFor:something.
             ^ self. ].
 
     "/ unknown attributes
-    
+
     ('JAVA [warning]: unrecognized attribute: ' , attributeName) infoPrintCR.
     self skipAttribute:attributeName.
 
@@ -1106,7 +1106,7 @@
     | attribute_length number_of_classes classes |
 
     attribute_length := inStream nextUnsignedLongMSB:msb. "/ skip attribute length.
-    number_of_classes := inStream nextUnsignedShortMSB:msb.  
+    number_of_classes := inStream nextUnsignedShortMSB:msb.
     classes := JavaInnerClasses new: number_of_classes.
     self assert: attribute_length == ((number_of_classes * 8) + 2).
     1 to: number_of_classes do:[:i |
@@ -1144,7 +1144,7 @@
     | attribute_length numMissingTypes missingTypes |
 
     attribute_length := inStream nextUnsignedLongMSB:msb. "/ skip attribute length.
-    numMissingTypes := inStream nextUnsignedShortMSB:msb.  
+    numMissingTypes := inStream nextUnsignedShortMSB:msb.
     missingTypes := Array new: numMissingTypes.
     self assert: attribute_length == ((numMissingTypes * 2) + 2).
     1 to: numMissingTypes do:[: i |
@@ -1156,7 +1156,7 @@
     "Created: / 16-10-2013 / 02:04:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-readRuntimeAnnotationsAttributeFor: something visible: visible 
+readRuntimeAnnotationsAttributeFor: something visible: visible
     | length  annotationsCount  annotations  rawAnnotations  startPos  endPos |
 
     self assert: inStream isPositionable
@@ -1166,7 +1166,7 @@
     annotationsCount := inStream nextUnsignedShortMSB: msb.
     annotationsCount = 0 ifTrue: [ ^ nil ].
     annotations := visible ifTrue: [something ensureHasAnnotations ensureRuntimeVisible] ifFalse: [something ensureHasAnnotations ensureRuntimeInvisible].
-    annotationsCount timesRepeat: 
+    annotationsCount timesRepeat:
             [ | currentAnnotation |
 
             currentAnnotation := self readAnnotationFor: something.
@@ -1175,7 +1175,7 @@
     endPos := inStream position.
     inStream position: startPos.
     rawAnnotations := inStream next: length.
-    inStream position ~= endPos 
+    inStream position ~= endPos
         ifTrue: [ self halt: 'annotations are probably reading what they shouldnt' ].
     annotations rawAnnotations: rawAnnotations.
 
@@ -1185,7 +1185,7 @@
     "Modified: / 16-03-2011 / 16:57:03 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
 !
 
-readRuntimeParameterAnnotationsAttributeFor: javaMethod visible: visible 
+readRuntimeParameterAnnotationsAttributeFor: javaMethod visible: visible
     | length  paramsCount  annotationsCount  rawAnnotations  startPos  endPos |
     self assert: inStream isPositionable
         message: '.class file stream must be positionable'.
@@ -1194,15 +1194,15 @@
     paramsCount := inStream nextByte.
     paramsCount = 0 ifTrue: [ ^ nil ].
     1 to: paramsCount do: [
-        :paramIndex | 
+        :paramIndex |
         annotationsCount := inStream nextUnsignedShortMSB: msb.
         annotationsCount > 0 ifTrue: [
             | annotations |
             annotations := visible ifTrue: [
-                    javaMethod ensureHasAnnotations 
+                    javaMethod ensureHasAnnotations
                         ensureVisibleParameterAnnotationsAt: paramIndex
                 ] ifFalse: [
-                    javaMethod ensureHasAnnotations 
+                    javaMethod ensureHasAnnotations
                         ensureInvisibleParameterAnnotationsAt: paramIndex
                 ].
             annotationsCount timesRepeat: [
@@ -1271,7 +1271,7 @@
     "Modified: / 12.5.1998 / 22:01:07 / cg"
 !
 
-readStackMapTableAttributeFor:something 
+readStackMapTableAttributeFor:something
 "/        ('JAVA [info]: unhandled attribute: StackMapTable') infoPrintCR.
     self skipAttribute:'StackMapTable'.
 
@@ -1495,26 +1495,26 @@
             self info: 'const slot: ' , constSlot printString.
             const := self readConstant.
             constants at: constSlot put: const.
-            
+
             "/ long & double consts take 2 slots
             "/ (only first is used)
-            
-            constNeeds2Slots 
+
+            constNeeds2Slots
                 ifTrue: [ constSlot := constSlot + 2. ]
                 ifFalse: [ constSlot := constSlot + 1. ]].
     constSlot := -1.
 
     constants do:[:ref|ref isJavaRef ifTrue:[ref preResolve]].
 "/    1 to: constantPoolSize - 1
-"/        do: 
-"/            [:i | 
+"/        do:
+"/            [:i |
 "/            | const  value |
 "/
 "/            const := constants at: i.
-"/            const notNil ifTrue: 
+"/            const notNil ifTrue:
 "/                    [ "/ kludge for 2-slot constants (which only take 1 slot in ST/X)
-"/                    (const isKindOf: JavaUnresolvedConstant) 
-"/                        ifTrue: 
+"/                    (const isKindOf: JavaUnresolvedConstant)
+"/                        ifTrue:
 "/                            [ value := const preResolve.
 "/                            value ~~ const ifTrue: [ constants at: i put: value. ] ] ] ].
 
@@ -1533,12 +1533,12 @@
 
     len := inStream nextUnsignedShortMSB: msb.
     string := String new: len.
-    inStream 
+    inStream
         nextBytes: len
         into: string
         startingAt: 1.
-    Verbose 
-        ifTrue: 
+    Verbose
+        ifTrue:
             [ Transcript
                 show: 'asciz; string= ';
                 showCR: string ].
@@ -1557,9 +1557,9 @@
     | nameIndex |
 
     nameIndex := inStream nextUnsignedShortMSB: msb.
-    ((constants at: nameIndex) isNil) 
-        ifTrue: 
-            [ self info: ('reading class; index=' , nameIndex printString , ' name=' 
+    ((constants at: nameIndex) isNil)
+        ifTrue:
+            [ self info: ('reading class; index=' , nameIndex printString , ' name='
                         , (constants at: nameIndex) printString) ]
         ifFalse: [ self info: ('reading class; index= ' , nameIndex printString) ].
     ^ JavaClassRef2 in: constants withNameAt: nameIndex.
@@ -1619,17 +1619,17 @@
     "Modified: / 8.5.1998 / 22:06:07 / cg"
 !
 
-readConstant_Fieldref    
+readConstant_Fieldref
     "incrementally changing resolving logic, fields will come later"
 
     | classIndex  nameAndTypeIndex |
 
     classIndex := inStream nextUnsignedShortMSB: msb.
     nameAndTypeIndex := inStream nextUnsignedShortMSB: msb.
-    self 
-        info: 'reading fieldref; classindex=' , classIndex printString 
+    self
+        info: 'reading fieldref; classindex=' , classIndex printString
                 , ' nameAndTypeIndex=' , nameAndTypeIndex printString.
-    ^ JavaFieldRef2 
+    ^ JavaFieldRef2
         in: constants
         withNameAndTypeAt: nameAndTypeIndex
         andClassAt: classIndex.
@@ -1705,11 +1705,11 @@
     | classIndex  nameAndTypeIndex  |
 
     classIndex := inStream nextUnsignedShortMSB: msb.
-    nameAndTypeIndex := inStream nextUnsignedShortMSB: msb.    
-    self 
-        info: 'reading interface methodref; classindex=' , classIndex printString                 
-                , ' nameAndTypeIndex=' , nameAndTypeIndex printString.                
-    ^ JavaInterfaceMethodRef2 
+    nameAndTypeIndex := inStream nextUnsignedShortMSB: msb.
+    self
+        info: 'reading interface methodref; classindex=' , classIndex printString
+                , ' nameAndTypeIndex=' , nameAndTypeIndex printString.
+    ^ JavaInterfaceMethodRef2
         in: constants
         withNameAndTypeAt: nameAndTypeIndex
         andClassAt: classIndex.
@@ -1745,11 +1745,11 @@
     | classIndex  nameAndTypeIndex   |
 
     classIndex := inStream nextUnsignedShortMSB: msb.
-    nameAndTypeIndex := inStream nextUnsignedShortMSB: msb.   
-    self 
-        info: 'reading methodref; classindex=' , classIndex printString , ' nameAndTypeIndex=' 
+    nameAndTypeIndex := inStream nextUnsignedShortMSB: msb.
+    self
+        info: 'reading methodref; classindex=' , classIndex printString , ' nameAndTypeIndex='
                 , nameAndTypeIndex printString.
-    ^ JavaMethodRef2 
+    ^ JavaMethodRef2
         in: constants
         withNameAndTypeAt: nameAndTypeIndex
         andClassAt: classIndex.
@@ -1762,10 +1762,10 @@
 
     nameIndex := inStream nextUnsignedShortMSB: msb.
     descriptorIndex := inStream nextUnsignedShortMSB: msb.
-    self 
-        info: 'reading nameAndType; nameindex=' , nameIndex printString 
+    self
+        info: 'reading nameAndType; nameindex=' , nameIndex printString
                 , ' descriptorIndex= ' , descriptorIndex printString.
-    ^JavaNameAndType2 
+    ^JavaNameAndType2
                 in: constants
                 withNameAt: nameIndex
                 andDescriptorAt: descriptorIndex.
@@ -1779,8 +1779,8 @@
     string_index := inStream nextUnsignedShortMSB: msb.
     ^ JavaStringRef2 in: constants withValueAt: string_index.
 
-    
-    
+
+
     "Created: / 15-04-1996 / 15:20:33 / cg"
     "Modified: / 07-05-1998 / 11:42:45 / cg"
     "Modified: / 13-05-2011 / 17:31:54 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
@@ -1793,12 +1793,12 @@
     len := inStream nextUnsignedShortMSB: msb.
     string := TwoByteString new: len.
     1 to: len
-        do: 
-            [:idx | 
+        do:
+            [:idx |
             ascii := inStream nextUnsignedShortMSB: msb.
             string at: idx put: (Character value: ascii). ].
-    Verbose 
-        ifTrue: 
+    Verbose
+        ifTrue:
             [ Transcript
                 show: 'asciz; unicodeString= ';
                 showCR: string ].
@@ -1812,13 +1812,13 @@
 
     len := inStream nextUnsignedShortMSB: msb.
     bytes := ByteArray new: len.
-    inStream 
+    inStream
         nextBytes: len
         into: bytes
         startingAt: 1.
     string := CharacterArray fromJavaUTF8Bytes: bytes.
-    Verbose 
-        ifTrue: 
+    Verbose
+        ifTrue:
             [ Transcript
                 show: 'asciz; string= ';
                 showCR: string ].
@@ -1844,7 +1844,7 @@
     ].
     Verbose ifTrue:[Transcript show:'array; size= ';     showCR:aSize].
 
-    ^ JavaUnresolvedSTArrayConstant 
+    ^ JavaUnresolvedSTArrayConstant
                 pool:constants
                 poolIndex:constSlot
                 array:arr
@@ -1901,19 +1901,19 @@
 
 
     string_index := inStream nextUnsignedShortMSB: msb.
-    Verbose 
-        ifTrue: 
+    Verbose
+        ifTrue:
             [ Transcript
                 show: 'string; index= ';
                 showCR: string_index ].
-    
+
     "/ resolve here if possible
-    
-    string_index < constSlot 
-        ifTrue: 
+
+    string_index < constSlot
+        ifTrue:
             [ chars := (constants at: string_index).
             ^ chars ].
-    ^ JavaUnresolvedSTStringConstant 
+    ^ JavaUnresolvedSTStringConstant
         pool: constants
         poolIndex: constSlot
         stringIndex: string_index
@@ -1927,20 +1927,20 @@
 
 
     string_index := inStream nextUnsignedShortMSB: msb.
-    Verbose 
-        ifTrue: 
+    Verbose
+        ifTrue:
             [ Transcript
                 show: 'symbol; index= ';
                 showCR: string_index ].
-    
+
     "/ resolve here if possible
-    
-    string_index < constSlot 
-        ifTrue: 
+
+    string_index < constSlot
+        ifTrue:
             [ chars := (constants at: string_index).
             chars isString ifFalse: [ self halt: 'should not happen' ].
             ^ chars asSymbol ].
-    ^ JavaUnresolvedSTSymbolConstant 
+    ^ JavaUnresolvedSTSymbolConstant
         pool: constants
         poolIndex: constSlot
         stringIndex: string_index
@@ -2006,7 +2006,7 @@
                 language fileIn: file.
             ].
         ] ensure:[
-            Smalltalk silentLoading: wasSilent 
+            Smalltalk silentLoading: wasSilent
         ].
     ] on: JavaClassQuery do:[:query |
         query className = class binaryName ifTrue:[
@@ -2057,8 +2057,8 @@
     field setConstantPool: constants.
     attributes_count := inStream nextUnsignedShortMSB: msb.
     attributes := OrderedCollection new: attributes_count * 2.
-    Verbose 
-        ifTrue: 
+    Verbose
+        ifTrue:
             [ Transcript
                 show: '  field name: ';
                 show: (constants at: name_index);
@@ -2207,11 +2207,11 @@
         code := nil
     ].
 
-    aJavaMethod 
-        setCode:code 
-        maxStack:max_stack 
-        maxLocals:max_locals 
-        u1:unknown1 
+    aJavaMethod
+        setCode:code
+        maxStack:max_stack
+        maxLocals:max_locals
+        u1:unknown1
         u2:unknown2.
 
     self readAttributesFor:aJavaMethod.
@@ -2303,8 +2303,8 @@
 	    signature := constants at:sig_index.
 	    slot := inStream nextUnsignedShortMSB:msb.
 
-	    local_variable_table at:i put:(JavaLocalVariableTableEntry new 
-						startPC:start_pc 
+	    local_variable_table at:i put:(JavaLocalVariableTableEntry new
+						startPC:start_pc
 						length:length
 						name:name
 						signature:signature
@@ -2479,9 +2479,9 @@
         ].
     ].
 
-    aSmalltalkMethod byteCode:code. 
+    aSmalltalkMethod byteCode:code.
     aSmalltalkMethod stackSize:max_stack .
-    aSmalltalkMethod numberOfVars:max_locals. 
+    aSmalltalkMethod numberOfVars:max_locals.
 
     self readAttributesFor:aSmalltalkMethod.
     ^ true
@@ -2535,15 +2535,15 @@
     "Created: / 26-02-2013 / 11:42:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-loadSuperclassIdentifiedBy: aJavaClassRef ignoring: classesBeingLoaded 
+loadSuperclassIdentifiedBy: aJavaClassRef ignoring: classesBeingLoaded
     "overriding method, here we expect something to be new JavaClassRef2"
-    
+
     self assert: aJavaClassRef isJavaRef
         message: 'class identifier is not a java reference'.
     self assert: aJavaClassRef isJavaClassRef
         message: 'class identifier is not a java class reference'.
     (classesBeingLoaded includes: aJavaClassRef name) ifTrue: [
-        self 
+        self
             error: 'class we want to load is being loaded and that means something went wrong. tell mh'
     ].
      "hint in case of bug - is parent of something set? surely jv will know more :)" "find out which classloader is used"
@@ -2553,15 +2553,15 @@
     "Modified: / 08-10-2013 / 22:57:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-updateOwnerInCPItem: each 
-    ((each isJavaRef and: [ each isNewJavaRef ]) 
-        or: [ each isJavaNameAndType and: [ each isNewJavaNameAndType ] ]) 
+updateOwnerInCPItem: each
+    ((each isJavaRef and: [ each isNewJavaRef ])
+        or: [ each isJavaNameAndType and: [ each isNewJavaNameAndType ] ])
             ifTrue: [ each owner: classBeingLoaded ].
 
     "Created: / 12-05-2011 / 17:40:46 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
 !
 
-updateOwnerInField: each 
+updateOwnerInField: each
 
             each setClass: classBeingLoaded.
 
@@ -2570,7 +2570,7 @@
 
 !JavaClassReader methodsFor:'logging'!
 
-info: message 
+info: message
     Verbose ifTrue: [ Logger log: message severity: #info facility: 'JVM' ].
 
     "Created: / 18-05-2011 / 15:06:06 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
--- a/JavaClassRegistry.st	Wed Dec 18 12:03:32 2013 +0100
+++ b/JavaClassRegistry.st	Wed Dec 18 14:52:11 2013 +0100
@@ -78,7 +78,7 @@
 
 !JavaClassRegistry methodsFor:'accessing'!
 
-classForName: className loader: classLoader ifAbsent: aBlock 
+classForName: className loader: classLoader ifAbsent: aBlock
     "Get class loaded by given classLoader from registry or evaluate aBlock if class is not yet registered"
 
     | classes class |
@@ -104,9 +104,9 @@
     "Created: / 23-10-2011 / 11:40:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-classForName: className loader: classLoader ifAbsentPut: block 
+classForName: className loader: classLoader ifAbsentPut: block
     "Get class loaded by classLoader from registry. if absent block is evaluated and resulting class in registered in registry, "
-    
+
     | class synchronizer |
 
     self assert: (className includes: $.) not.
@@ -117,7 +117,7 @@
     "/ we're loading for primordial class loader. If we synchronize
     "/ event non-primordial loaders, we risk a deadlock. Very hacky...
 
-    synchronizer := classLoader isNil 
+    synchronizer := classLoader isNil
                         ifTrue:[ [:whatToDo | lock critical: whatToDo ] ]
                         ifFalse:[ [:whatToDo | whatToDo value ] ].
 
@@ -125,11 +125,11 @@
         "If class is already registered with the same cl, just return it"
         class := self classNamed: className loader: classLoader.
 "/        This is rubbish...
-"/ 
+"/
 "/        class isNil ifTrue:[
 "/            "If java vm is booted, nil class loader means system class loader, lets check it too"
 "/            (vm notNil and:[vm booted and: [classLoader isNil]]) ifTrue: [
-"/                class := self classNamed: className loader: vm systemClassLoader. 
+"/                class := self classNamed: className loader: vm systemClassLoader.
 "/            ].
 "/        ].
         class isNil ifTrue:[
@@ -148,7 +148,7 @@
 
 classNamed: className
 
-    "Return a class for given classname loaded by 'current classloader' or 
+    "Return a class for given classname loaded by 'current classloader' or
      nil if not yet loaded"
 
     ^self classNamed: className loader: JavaClassReader classLoaderQuerySignal query
@@ -158,7 +158,7 @@
 
 classNamed: className loader: classLoader
 
-    "Return a class for given classname loaded by given classloader or 
+    "Return a class for given classname loaded by given classloader or
      nil if not yet loaded"
 
     ^self classForName: className loader: classLoader ifAbsent:[nil].
@@ -218,9 +218,9 @@
 
 !JavaClassRegistry methodsFor:'class loading'!
 
-loadFile: aFilename 
+loadFile: aFilename
     "reads a class from aFilename, installs and returns it."
-    
+
     | aClass |
 
     self breakPoint: #mh.
@@ -234,19 +234,19 @@
     "Modified: / 23-10-2011 / 11:55:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-loadStream: javaClassDataStream loader: aJavaClassLoader 
+loadStream: javaClassDataStream loader: aJavaClassLoader
     "reads a class from aStream and returns it.
      The JavaClass is installed as global.
      If new classes are required to be loaded, aClassLoader is
      asked to do it."
-    
+
     | javaClass |
 
     self breakPoint: #mh.
     self breakPoint: #jv.
     javaClass := JavaClassReader readStream: javaClassDataStream loader: aJavaClassLoader.
     javaClass isNil ifTrue: [
-            Logger 
+            Logger
                 log: 'JavaClassReader was not able to read given data stream'
                 severity: #warn
                 facility: #JVM.
@@ -268,7 +268,7 @@
     loaders do:[:classes|
         classes do:[:class|
             aBlock value: class
-        ]        
+        ]
     ]
 
     "Created: / 23-10-2011 / 20:13:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -281,7 +281,7 @@
 loaders at: aJavaClassLoader put: Dictionary new.
 !
 
-getClassesDefinedBy:classLoader 
+getClassesDefinedBy:classLoader
     ^loaders at: classLoader ifAbsent: [nil].
 ! !
 
@@ -298,7 +298,7 @@
 initialize
     loaders := WeakIdentityDictionary new.
     loaders at: nil put: Dictionary new.
-    notifier := BackgroundQueueProcessingJob 
+    notifier := BackgroundQueueProcessingJob
                     named: 'Java class registry notifier'
                     on:[:typeAndClass|Smalltalk changed: typeAndClass first with: typeAndClass second].
     notifier priority: Processor userBackgroundPriority - 1.
@@ -309,7 +309,7 @@
 
 setVM: aJavaVM
 
-    "Now, aJavaVM == JavaVM (i.e, the class JavaVM 
+    "Now, aJavaVM == JavaVM (i.e, the class JavaVM
     itself, not its instance)"
 
     vm := aJavaVM.
@@ -323,43 +323,42 @@
 registerBuiltIn: class
     | nm |
 
-    nm := class name.
-    nm == #'java/lang/Object' ifTrue:[
-        java_lang_Object := class.
+    nm := class binaryName.
+    nm = #'java/lang/Object' ifTrue:[
+        _java_lang_Object_CLASS := class.
         ^self.
     ].
-    nm == #'java/lang/System' ifTrue:[
-        java_lang_System := class.
+    nm = #'java/lang/System' ifTrue:[
+        _java_lang_System_CLASS := class.
         ^self.
     ].
-    nm == #'java/lang/Class' ifTrue:[
-        java_lang_Class := class.
+    nm = #'java/lang/Class' ifTrue:[
+        _java_lang_Class_CLASS := class.
         "/ Force load of other reflective classes. This saves us a nil check in
-        "/ JavaMirror>>createMethod... 
+        "/ JavaMirror>>createMethod...
         #(#'java/lang/reflect/Constructor'  #'java/lang/reflect/Method' #'java/lang/reflect/Field') do:[:e|
             vm classForName: e definedBy: nil.
-        ]. 
+        ].
         ^self.
     ].
-    nm == #'java/lang/reflect/Constructor' ifTrue:[
-        java_lang_reflect_Constructor := class.
+    nm = #'java/lang/reflect/Constructor' ifTrue:[
+        _java_lang_reflect_Constructor_CLASS := class.
     ].
-    nm == #'java/lang/reflect/Method' ifTrue:[
-        java_lang_reflect_Method := class.
-    ].    
-    nm == #'java/lang/reflect/Field' ifTrue:[
-        java_lang_reflect_Field := class.
+    nm = #'java/lang/reflect/Method' ifTrue:[
+        _java_lang_reflect_Method_CLASS := class.
+    ].
+    nm = #'java/lang/reflect/Field' ifTrue:[
+        _java_lang_reflect_Field_CLASS := class.
     ].
 
-
-
     "Created: / 22-05-2013 / 20:40:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 18-12-2013 / 13:03:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 registerClass: newClass
     | classes oldClass |
 
-    ((newClass binaryName == #'$do$It$') 
+    ((newClass binaryName == #'$do$It$')
         and:[newClass superclass binaryName == #'groovy/lang/Script']) ifTrue:[
         "/ Mhhh...Groovy do-it. No need to register this!!
         ^ self
@@ -378,12 +377,12 @@
                     "/OK, full reload, not just method dictionary update"
                     reloadedClass ~~ oldClass ifTrue:[
                         classesPerLoader
-                            at: newClass binaryName 
+                            at: newClass binaryName
                             put: reloadedClass.
                         self registerClassInSmalltalk: reloadedClass notify: false.
                     ].
                     Smalltalk changed: #classDefinition with: reloadedClass.
-                    ^self.             
+                    ^self.
                 ].
             ].
         ].
@@ -397,15 +396,23 @@
     "/ There may be classes already loaded with compile errors.
     "/ Try to recompile all erroneous classes that depends on this one...
     JavaCompiler notNil ifTrue:[
-       JavaCompiler recompileErroneousClassesReferringTo: newClass ignoring: newClass.  
+       JavaCompiler recompileErroneousClassesReferringTo: newClass ignoring: newClass.
     ].
     newClass isJavaClass ifTrue:[
+        "/ Register class in system dictionary so it can be browsed
+        "/ by system browser
         self registerClassInSmalltalk: newClass notify: true.
+
+        "/ Also register builtin classes in JavaVMData
+        newClass isBuiltInClass ifTrue:[
+            self assert: newClass classLoader isNil. "/must be loaded by primordial CL...
+            self registerBuiltIn: newClass.
+        ].
     ].
 
     "Created: / 23-10-2011 / 11:53:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 02-11-2011 / 18:40:52 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
-    "Modified: / 20-11-2013 / 16:05:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 18-12-2013 / 12:43:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 registerClassInSmalltalk: javaclass notify: doNotify
@@ -435,7 +442,7 @@
     "/ This allows java.foo.bar to be visible in ST/X
     "/ under the name JAVA::java::foo::bar
 
-    accessor := javaclass"JavaClassAccessor fullName: aString".    
+    accessor := javaclass"JavaClassAccessor fullName: aString".
     nsName := javaclass nameSpaceName.
     nsNameAsSymbol := nsName asSymbolIfInterned.
     (nsNameAsSymbol isNil or:[(ns := Smalltalk at: nsNameAsSymbol) isNil]) ifTrue:[
@@ -512,7 +519,7 @@
     "/ a race condition occur in stx:libbasic code (something is
     "/ nilled menawhile and event handler does not handle this case.
     "/ This can happen for example when running tests...
-    notifier waitUntilProcessed.        
+    notifier waitUntilProcessed.
 
     javaclass isSynthetic ifTrue:[ ^ self ].
     nameSpace := javaclass nameSpace.
@@ -534,7 +541,7 @@
     "Modified: / 17-10-2013 / 10:50:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-unregisterClassLoader: aJavaClassLoader 
+unregisterClassLoader: aJavaClassLoader
     | classes |
 
     classes := loaders at: aJavaClassLoader ifAbsent:[ ^ self ].
--- a/JavaMirror.st	Wed Dec 18 12:03:32 2013 +0100
+++ b/JavaMirror.st	Wed Dec 18 14:52:11 2013 +0100
@@ -61,7 +61,7 @@
 
     Different classes may use different mirrors - for example,
     Smalltalk classes use a special mirror so non-Smalltalk classes
-    and instances could be introspected and manipulated by standard 
+    and instances could be introspected and manipulated by standard
     Java code.
 
     [author:]
@@ -123,7 +123,7 @@
 !
 
 getDeclaredConstructors: publicOnly
-    "Returns an java.lang.reflect.Constructor[] with all constructors 
+    "Returns an java.lang.reflect.Constructor[] with all constructors
      declared by this class. "
 
     ^self subclassResponsibility
@@ -132,7 +132,7 @@
 !
 
 getDeclaredFields: publicOnly
-    "Returns an java.lang.reflect.Field[] with all constructors 
+    "Returns an java.lang.reflect.Field[] with all constructors
      declared by this class."
 
     ^self subclassResponsibility
@@ -140,10 +140,10 @@
     "Created: / 22-08-2012 / 12:03:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-getDeclaredMethods:publicOnly 
-    "Returns an java.lang.reflect.Method[] with all methods 
+getDeclaredMethods:publicOnly
+    "Returns an java.lang.reflect.Method[] with all methods
      declared by this class."
-    
+
     ^ self subclassResponsibility
 
     "Created: / 01-08-2012 / 11:07:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -197,7 +197,7 @@
 
 !JavaMirror methodsFor:'instance creation-java.lang.reflect.*'!
 
-create: ctorOrMethodClass for: class method: method signature: signature modifiers: modifiers parameterTyoes: parameterClasses exceptionTypes: exceptionClasses annotations: annotations 
+create: ctorOrMethodClass for: class method: method signature: signature modifiers: modifiers parameterTyoes: parameterClasses exceptionTypes: exceptionClasses annotations: annotations
     "Creates a new java.lang.Constructor. Arguments:
 
         ctorOrMethodClass <java.lang.reflect.Constructor|java.lang.reflect.Method>
@@ -208,7 +208,7 @@
         parameterClasses <Collection of Class>
         exceptionClasses <Collection of Class>
         annotations <JavaAnnotationContainer>"
-    
+
     | ctorOrMethod |
     ctorOrMethod := ctorOrMethodClass new.
     ctorOrMethod
@@ -246,13 +246,13 @@
     "
 
     | ctor |
-    ctor := self create: java_lang_reflect_Constructor
+    ctor := self create: _java_lang_reflect_Constructor_CLASS
                     for: class
                  method: method
-              signature: signature 
-              modifiers: modifiers 
-         parameterTyoes: parameterClasses 
-         exceptionTypes: exceptionClasses 
+              signature: signature
+              modifiers: modifiers
+         parameterTyoes: parameterClasses
+         exceptionTypes: exceptionClasses
             annotations: annotations.
     ^ctor
 
@@ -260,7 +260,7 @@
     "Modified: / 18-05-2013 / 10:55:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-createFieldFor: javaField 
+createFieldFor: javaField
     "given a java field, return the corresponding java.lang.Field
      instance for it."
     "
@@ -282,7 +282,7 @@
     type := JavaVM javaClassObjectForClass:
                 ((JavaDescriptor fromString: javaField descriptor)  javaClassUsingClassLoader: javaField javaClass classLoader).
     modifiers := javaField accessFlags.
-    field := java_lang_reflect_Field new.
+    field := _java_lang_reflect_Field_CLASS new.
     field
         instVarNamed: #clazz put: clazz;
         instVarNamed: #name put: name;
@@ -290,7 +290,7 @@
         instVarNamed: #type put: type;
         instVarNamed: #modifiers put: modifiers;
         yourself.
-    javaField annotations 
+    javaField annotations
         ifNotNil: [
             field instVarNamed: #annotations
                 put: javaField annotations runtimeVisible rawAnnotations
@@ -316,13 +316,13 @@
     "
 
     | mthd |
-    mthd := self create: java_lang_reflect_Method
+    mthd := self create: _java_lang_reflect_Method_CLASS
                     for: class
                  method: method
-              signature: signature 
-              modifiers: modifiers 
-         parameterTyoes: parameterClasses 
-         exceptionTypes: exceptionClasses 
+              signature: signature
+              modifiers: modifiers
+         parameterTyoes: parameterClasses
+         exceptionTypes: exceptionClasses
             annotations: annotations.
 
     mthd
--- a/JavaNativeMethodImpl_OpenJDK6.st	Wed Dec 18 12:03:32 2013 +0100
+++ b/JavaNativeMethodImpl_OpenJDK6.st	Wed Dec 18 14:52:11 2013 +0100
@@ -9736,7 +9736,7 @@
     jClass := this.
     cls := Reflection classForJavaClassObject:jClass.
     interfaces := cls javaMirror getInterfaces.
-    jInterfaces := java_lang_Class javaArrayClass new:interfaces size.
+    jInterfaces := _java_lang_Class_CLASS javaArrayClass new:interfaces size.
     interfaces
         withIndexDo:[:iface :idx | jInterfaces at:idx put:(Reflection javaClassObjectForClass:iface) ].
     ^ jInterfaces
@@ -10587,7 +10587,7 @@
         ctx := ctx sender.
     ].
 
-    jclasses := java_lang_Class javaArrayClass new: classes size.
+    jclasses := _java_lang_Class_CLASS javaArrayClass new: classes size.
     1 to: classes size do:[:i|
         jclasses at: i put: (Reflection javaClassObjectForClass: (classes at: i)).
     ].
@@ -13353,7 +13353,7 @@
         ].
         con := con sender.
     ].
-    ^java_lang_Class javaArrayClass withAll: chain
+    ^_java_lang_Class_CLASS javaArrayClass withAll: chain
 
     "Created: / 05-01-1998 / 02:47:00 / cg"
     "Modified: / 24-12-1998 / 00:34:57 / cg"
--- a/JavaPrimitiveMirror.st	Wed Dec 18 12:03:32 2013 +0100
+++ b/JavaPrimitiveMirror.st	Wed Dec 18 14:52:11 2013 +0100
@@ -64,28 +64,28 @@
 !
 
 getDeclaredConstructors:publicOnly
-    "Returns an java.lang.reflect.Constructor[] with all constructors 
+    "Returns an java.lang.reflect.Constructor[] with all constructors
      declared by this class"
 
-    ^ java_lang_reflect_Constructor javaArrayClass new:0.
+    ^ _java_lang_reflect_Constructor_CLASS javaArrayClass new:0.
 
     "Modified: / 18-05-2013 / 10:57:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 getDeclaredFields:publicOnly
-    "Returns an java.lang.reflect.Field[] with all constructors 
+    "Returns an java.lang.reflect.Field[] with all constructors
      declared by this class."
 
-    ^java_lang_reflect_Field javaArrayClass new:0.
+    ^ _java_lang_reflect_Field_CLASS javaArrayClass new:0.
 
     "Modified: / 18-05-2013 / 10:58:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-getDeclaredMethods:publicOnly 
-    "Returns an java.lang.reflect.Method[] with all methods 
+getDeclaredMethods:publicOnly
+    "Returns an java.lang.reflect.Method[] with all methods
      declared by this class"
-    
-    ^ java_lang_reflect_Method javaArrayClass new:0.
+
+    ^ _java_lang_reflect_Method_CLASS javaArrayClass new:0.
 
     "Modified: / 18-05-2013 / 10:58:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
--- a/JavaVM.st	Wed Dec 18 12:03:32 2013 +0100
+++ b/JavaVM.st	Wed Dec 18 14:52:11 2013 +0100
@@ -1536,7 +1536,7 @@
 initializeBaseClasses
     "load req'd base classes"
 
-    java_lang_Object := java_lang_System := java_lang_Class := nil.
+    _java_lang_Object_CLASS := _java_lang_System_CLASS := _java_lang_Class_CLASS := nil.
 
     #( 'java.lang.Object' 'java.lang.Class' 'java.lang.String' 'java.lang.System' ) do: [:cName |
         (self classForName: cName definedBy: nil) isNil ifTrue: [
@@ -2531,10 +2531,10 @@
     ^#(
         #'java/lang/Object'
         #'java/lang/String'
-        #'java/lang/System'        
-        #'java/lang/Class'  
-
-        #'java/lang/reflect/Constructor'      
+        #'java/lang/System'
+        #'java/lang/Class'
+
+        #'java/lang/reflect/Constructor'
         #'java/lang/reflect/Method'
         #'java/lang/reflect/Field'
 
@@ -2615,7 +2615,7 @@
                 ifAbsentPut: [
                     | class  classLoaderEnsured |
                     self assert: (binaryName includes: $.) not.
-                        class := self loadClassNamed: binaryName usingClassLoader: classLoader.  
+                        class := self loadClassNamed: binaryName usingClassLoader: classLoader.
                         class.
                 ].
 
@@ -2730,7 +2730,7 @@
                 | nm |
 
                 nm := entry copyTo: entry size - 6.
-                className := nm copyReplaceAll: (Filename separator) with: $.. 
+                className := nm copyReplaceAll: (Filename separator) with: $..
                     (className matches: pattern) ifTrue: [
                         (self classNamed: className) isNil ifTrue:[
                             loadedClasses add: (self classForName:className).
@@ -2766,7 +2766,7 @@
     JavaClassReader classLoaderQuerySignal answer: classLoader do: [
         classLoader isNil ifTrue:[
             "/ Primordial load...
-            class := JavaClassReader readClass: className classPath: Java release bootClassPath  
+            class := JavaClassReader readClass: className classPath: Java release bootClassPath
         ] ifFalse:[
             class := classLoader
                     perform: #'loadClassInternal(Ljava/lang/String;)Ljava/lang/Class;'
@@ -2782,7 +2782,7 @@
 
 unloadClass: class
     "Remove given `class` from the system, i.e., remove it from
-     the class registry as well as from system dictionary (Smalltalk). 
+     the class registry as well as from system dictionary (Smalltalk).
 
      Note, that this method also removes all dependent classes and
      invalidates all references"
@@ -4757,7 +4757,7 @@
     <resource: #obsolete>
     "Forward here as optimized code delegates to  JavaVM"
 
-    ^ NativeMethodsImplementation _java_lang_System_arraycopy: nativeContext receiver _:(nativeContext argAt:1) _: (nativeContext argAt:2) _: (nativeContext argAt:3) _: (nativeContext argAt:4) _: (nativeContext argAt:5) 
+    ^ NativeMethodsImplementation _java_lang_System_arraycopy: nativeContext receiver _:(nativeContext argAt:1) _: (nativeContext argAt:2) _: (nativeContext argAt:3) _: (nativeContext argAt:4) _: (nativeContext argAt:5)
 
     "Modified: / 21-01-2013 / 09:18:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
@@ -4919,7 +4919,7 @@
 
 _AALOAD: arr _: index
     "Called from the VM (___aaload()) for unhandled cases"
-     
+
     arr basicAt: index + 1
 
     "Created: / 29-04-2013 / 21:22:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -5019,8 +5019,8 @@
 
 _CHECKCAST: obj _: cls
     "A principal implementation of CHECKCAST instruction. Called by the bytecode
-     interpreter for unhandled cases."     
-    
+     interpreter for unhandled cases."
+
     obj isNil ifTrue:[ ^ obj ].
     (self canCast: obj class to: cls) ifFalse: [
         self throwClassCastException.
@@ -5168,7 +5168,7 @@
 
 _INSTANCEOF:obj _:cls
     "A principal implementation of INSTANCEOF instruction. Called by the bytecode
-     interpreter for unhandled cases."     
+     interpreter for unhandled cases."
 
     obj isNil ifTrue: [ ^ 0 ].
     (self canCast: obj class to: cls) ifFalse: [
@@ -5186,12 +5186,12 @@
 _INSTANCEOF_R: object _: classRef
     "An implementation of INSTANCEOF instruction. Called by the jitted code
      when if the classRef hasn't been resolved at the time of jitting."
-   
+
     | class |
 
     object isNil ifTrue: [ ^ 0 ].
-    class := classRef resolve.    
-     ^(self canCast: object class to: class) 
+    class := classRef resolve.
+     ^(self canCast: object class to: class)
         ifTrue:  [ 1 ]
         ifFalse: [ 0 ].
 
@@ -6525,7 +6525,7 @@
 
     | array |
 
-    array := java_lang_Class javaArrayClass
+    array := _java_lang_Class_CLASS javaArrayClass
                 new: classes size.
     classes isNilOrEmptyCollection ifTrue: [ ^ array ].
     classes
@@ -6567,7 +6567,7 @@
         aClass == Object ifTrue:[ self halt. ].
         aClass lookupObject: JavaLookup instance.
     ].
-    javaClassObj := java_lang_Class new.
+    javaClassObj := _java_lang_Class_CLASS new.
     self rememberJavaClassObject: javaClassObj for: aClass.
     ^ javaClassObj
 
--- a/JavaVMData.st	Wed Dec 18 12:03:32 2013 +0100
+++ b/JavaVMData.st	Wed Dec 18 14:52:11 2013 +0100
@@ -35,7 +35,9 @@
                 StdinReplacementFileQuerySignal JavaScreenUpdaterThread
                 ZipInflaters LoadedLibs EnteredMonitorsPerProcess
                 _java_net_DatagramPacket_CLASS _java_net_DatagramPacket_buf_ID
-                java_lang_Object java_lang_System java_lang_Class java_lang_reflect_Constructor java_lang_reflect_Method java_lang_reflect_Field
+                _java_lang_Object_CLASS _java_lang_System_CLASS _java_lang_Class_CLASS
+                _java_lang_reflect_Constructor_CLASS _java_lang_reflect_Method_CLASS
+                _java_lang_reflect_Field_CLASS
                 _java_net_DatagramPacket_offset_ID
                 _java_net_DatagramPacket_length_ID
                 _java_net_DatagramPacket_bufLength_ID
--- a/Make.proto	Wed Dec 18 12:03:32 2013 +0100
+++ b/Make.proto	Wed Dec 18 14:52:11 2013 +0100
@@ -34,7 +34,7 @@
 # add the path(es) here:,
 # ********** OPTIONAL: MODIFY the next lines ***
 # LOCALINCLUDES=-Ifoo -Ibar
-LOCALINCLUDES=-I$(ZLIB_DIR) -Isupport/fdlibm -I$(INCLUDE_TOP)/stx/goodies/sunit -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libbasic2 -I$(INCLUDE_TOP)/stx/libbasic3 -I$(INCLUDE_TOP)/stx/libview
+LOCALINCLUDES=-I$(ZLIB_DIR) -Isupport/fdlibm -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libbasic2 -I$(INCLUDE_TOP)/stx/libbasic3 -I$(INCLUDE_TOP)/stx/libview
 
 
 # if you need any additional defines for embedded C code,
@@ -207,6 +207,7 @@
 $(OUTDIR)JavaPopUpView.$(O) JavaPopUpView.$(H): JavaPopUpView.st $(INCLUDE_TOP)/stx/libview/PopUpView.$(H) $(INCLUDE_TOP)/stx/libview/TopView.$(H) $(INCLUDE_TOP)/stx/libview/View.$(H) $(INCLUDE_TOP)/stx/libview/SimpleView.$(H) $(INCLUDE_TOP)/stx/libview/DisplaySurface.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsMedium.$(H) $(INCLUDE_TOP)/stx/libview/DeviceGraphicsContext.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsContext.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)JavaProcess.$(O) JavaProcess.$(H): JavaProcess.st $(INCLUDE_TOP)/stx/libbasic/Process.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)JavaRef2.$(O) JavaRef2.$(H): JavaRef2.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)JavaRelease.$(O) JavaRelease.$(H): JavaRelease.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)JavaResolver.$(O) JavaResolver.$(H): JavaResolver.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)JavaShort.$(O) JavaShort.$(H): JavaShort.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)JavaSlotIndexCache.$(O) JavaSlotIndexCache.$(H): JavaSlotIndexCache.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
@@ -255,7 +256,6 @@
 $(OUTDIR)JavaMethodDescriptor.$(O) JavaMethodDescriptor.$(H): JavaMethodDescriptor.st $(INCLUDE_TOP)/stx/libjava/JavaDescriptor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)JavaMirror.$(O) JavaMirror.$(H): JavaMirror.st $(INCLUDE_TOP)/stx/libjava/JavaVMData.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)JavaNativeMethodImpl_OpenJDK6.$(O) JavaNativeMethodImpl_OpenJDK6.$(H): JavaNativeMethodImpl_OpenJDK6.st $(INCLUDE_TOP)/stx/libjava/JavaVMData.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)JavaRelease.$(O) JavaRelease.$(H): JavaRelease.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)JavaStringRef2.$(O) JavaStringRef2.$(H): JavaStringRef2.st $(INCLUDE_TOP)/stx/libjava/JavaRef2.$(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)
 $(OUTDIR)JavaUnresolvedClassConstant.$(O) JavaUnresolvedClassConstant.$(H): JavaUnresolvedClassConstant.st $(INCLUDE_TOP)/stx/libjava/JavaUnresolvedConstant.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
--- a/Make.spec	Wed Dec 18 12:03:32 2013 +0100
+++ b/Make.spec	Wed Dec 18 14:52:11 2013 +0100
@@ -94,6 +94,7 @@
 	JavaPopUpView \
 	JavaProcess \
 	JavaRef2 \
+	JavaRelease \
 	JavaResolver \
 	JavaShort \
 	JavaSlotIndexCache \
@@ -142,7 +143,6 @@
 	JavaMethodDescriptor \
 	JavaMirror \
 	JavaNativeMethodImpl_OpenJDK6 \
-	JavaRelease \
 	JavaStringRef2 \
 	JavaUnhandledExceptionError \
 	JavaUnresolvedClassConstant \
@@ -227,6 +227,7 @@
     $(OUTDIR_SLASH)JavaPopUpView.$(O) \
     $(OUTDIR_SLASH)JavaProcess.$(O) \
     $(OUTDIR_SLASH)JavaRef2.$(O) \
+    $(OUTDIR_SLASH)JavaRelease.$(O) \
     $(OUTDIR_SLASH)JavaResolver.$(O) \
     $(OUTDIR_SLASH)JavaShort.$(O) \
     $(OUTDIR_SLASH)JavaSlotIndexCache.$(O) \
@@ -275,7 +276,6 @@
     $(OUTDIR_SLASH)JavaMethodDescriptor.$(O) \
     $(OUTDIR_SLASH)JavaMirror.$(O) \
     $(OUTDIR_SLASH)JavaNativeMethodImpl_OpenJDK6.$(O) \
-    $(OUTDIR_SLASH)JavaRelease.$(O) \
     $(OUTDIR_SLASH)JavaStringRef2.$(O) \
     $(OUTDIR_SLASH)JavaUnhandledExceptionError.$(O) \
     $(OUTDIR_SLASH)JavaUnresolvedClassConstant.$(O) \
--- a/abbrev.stc	Wed Dec 18 12:03:32 2013 +0100
+++ b/abbrev.stc	Wed Dec 18 14:52:11 2013 +0100
@@ -1,3 +1,158 @@
+# automagically generated by the project definition
+# this file is needed for stc to be able to compile modules independently.
+# it provides information about a classes filename, category and especially namespace.
+GroovyCompiler GroovyCompiler stx:libjava 'Languages-Groovy-Compiler' 0
+GroovyEvaluator GroovyEvaluator stx:libjava 'Languages-Groovy-Compiler' 0
+GroovyLanguage GroovyLanguage stx:libjava 'Languages-Groovy-Support' 1
+GroovySourceFileWriter GroovySourceFileWriter stx:libjava 'Languages-Groovy-Support' 0
+JUnitTestCaseProxy JUnitTestCaseProxy stx:libjava 'Languages-Java-Tests-Proxies' 3
+JavaAnnotation JavaAnnotation stx:libjava 'Languages-Java-Reader-Support' 0
+JavaAnnotationContainer JavaAnnotationContainer stx:libjava 'Languages-Java-Annotations' 1
+JavaAnnotationDefault JavaAnnotationDefault stx:libjava 'Languages-Java-Annotations' 1
+JavaAnnotationDictionary JavaAnnotationDictionary stx:libjava 'Languages-Java-Annotations' 1
+JavaAnnotationValue JavaAnnotationValue stx:libjava 'Languages-Java-Reader-Support' 0
+JavaAntProjectResource JavaAntProjectResource stx:libjava 'Languages-Java-Tests' 2
+JavaArray JavaArray stx:libjava 'Languages-Java-Classes' 1
+JavaByte JavaByte stx:libjava 'Languages-Java-Support' 0
+JavaByteCodeDisassemblerTests JavaByteCodeDisassemblerTests stx:libjava 'Languages-Java-Tests' 1
+JavaByteCodeProcessor JavaByteCodeProcessor stx:libjava 'Languages-Java-Bytecode' 0
+JavaByteCodeProcessorTests JavaByteCodeProcessorTests stx:libjava 'Languages-Java-Tests' 1
+JavaClassAccessor JavaClassAccessor stx:libjava 'Languages-Java-Classes' 0
+JavaClassLoadingTests JavaClassLoadingTests stx:libjava 'Languages-Java-Tests-ClassLoading' 1
+JavaClassQuery JavaClassQuery stx:libjava 'Languages-Java-Classes' 1
+JavaClassReaderTests JavaClassReaderTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
+JavaClassRefTests JavaClassRefTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
+JavaClassReloader JavaClassReloader stx:libjava 'Languages-Java-Support' 0
+JavaCodeLibraryOrBundle JavaCodeLibraryOrBundle stx:libjava 'Languages-Java-Support-Libraries' 0
 JavaCompilerForSmalltalkExtensionsOnly JavaCompilerForSmalltalkExtensionsOnly stx:libjava 'Languages-Java-Support-Compiling' 0
+JavaCompiler_Eclipse JavaCompiler_Eclipse stx:libjava 'Languages-Java-Tools-Eclipse' 0
+JavaConstantPool JavaConstantPool stx:libjava 'Languages-Java-Reader-Support' 0
+JavaConstants JavaConstants stx:libjava 'Languages-Java-Support' 0
+JavaContext JavaContext stx:libjava 'Languages-Java-Support' 0
+JavaDecompiler JavaDecompiler stx:libjava 'Languages-Java-Support-Decompiling' 0
+JavaDescriptor JavaDescriptor stx:libjava 'Languages-Java-Support' 0
+JavaError JavaError stx:libjava 'Languages-Java-Support' 1
+JavaExceptionTable JavaExceptionTable stx:libjava 'Languages-Java-Support' 0
+JavaExceptionTests JavaExceptionTests stx:libjava 'Languages-Java-Tests' 1
+JavaField JavaField stx:libjava 'Languages-Java-Reader-Support' 0
+JavaFieldRefTests JavaFieldRefTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
+JavaFinalizationRegistry JavaFinalizationRegistry stx:libjava 'Languages-Java-Support' 0
+JavaFreshlyInitializedResource JavaFreshlyInitializedResource stx:libjava 'Languages-Java-Tests' 1
+JavaInitializedResource JavaInitializedResource stx:libjava 'Languages-Java-Tests' 2
 JavaInnerClasses JavaInnerClasses stx:libjava 'Languages-Java-Support' 0
+JavaInterfaceMethodRefTests JavaInterfaceMethodRefTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
+JavaJUnitTests JavaJUnitTests stx:libjava 'Languages-Java-Tests-Libraries' 1
+JavaLanguage JavaLanguage stx:libjava 'Languages-Java-Support' 1
+JavaLibraries JavaLibraries stx:libjava 'Languages-Java-Support' 0
+JavaLibrariesResource JavaLibrariesResource stx:libjava 'Languages-Java-Tests' 1
+JavaLocalVariableTable JavaLocalVariableTable stx:libjava 'Languages-Java-Support' 0
+JavaLocalVariableTableEntry JavaLocalVariableTableEntry stx:libjava 'Languages-Java-Support' 0
+JavaLookup JavaLookup stx:libjava 'Languages-Java-Interop' 0
+JavaLookupResolutionAlgorithmTests JavaLookupResolutionAlgorithmTests stx:libjava 'Languages-Java-Tests-Interop' 1
+JavaLookupTests JavaLookupTests stx:libjava 'Languages-Java-Tests-Interop' 1
+JavaLookupTestsResource JavaLookupTestsResource stx:libjava 'Languages-Java-Tests-Interop' 3
+JavaMetaclass JavaMetaclass stx:libjava 'Languages-Java-Classes' 0
+JavaMethodRefTests JavaMethodRefTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
+JavaMonitor JavaMonitor stx:libjava 'Languages-Java-Support' 0
+JavaMonitorsTests JavaMonitorsTests stx:libjava 'Languages-Java-Tests' 1
+JavaNameAndType2 JavaNameAndType2 stx:libjava 'Languages-Java-Reader-Support-new' 0
+JavaNativeMemory JavaNativeMemory stx:libjava 'Languages-Java-Support' 0
+JavaNativeMemoryTests JavaNativeMemoryTests stx:libjava 'Languages-Java-Tests' 1
+JavaNioSupport JavaNioSupport stx:libjava 'Languages-Java-Support-Native' 0
+JavaObject JavaObject stx:libjava 'Languages-Java-Classes' 0
+JavaObjectDictionary JavaObjectDictionary stx:libjava 'Languages-Java-Support' 0
+JavaPackage JavaPackage stx:libjava 'Languages-Java-Support' 0
+JavaPopUpView JavaPopUpView stx:libjava 'Languages-Java-Views-Support' 2
+JavaProcess JavaProcess stx:libjava 'Languages-Java-Classes' 0
+JavaRef2 JavaRef2 stx:libjava 'Languages-Java-Reader-Support-new' 0
+JavaRefMock JavaRefMock stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 0
+JavaRefsAndConstantPoolTestCase JavaRefsAndConstantPoolTestCase stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
+JavaRelease JavaRelease stx:libjava 'Languages-Java-Support' 1
+JavaResolver JavaResolver stx:libjava 'Languages-Java-Reader-Support-new' 0
+JavaRuntimeConstantPoolTests JavaRuntimeConstantPoolTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
+JavaShort JavaShort stx:libjava 'Languages-Java-Support' 0
+JavaSlotIndexCache JavaSlotIndexCache stx:libjava 'Languages-Java-Support' 0
+JavaSocket JavaSocket stx:libjava 'Languages-Java-Support' 0
+JavaSourceCodeCache JavaSourceCodeCache stx:libjava 'Languages-Java-Support' 1
+JavaSourceFileWriter JavaSourceFileWriter stx:libjava 'Languages-Java-Support' 0
+JavaTestCaseProxy JavaTestCaseProxy stx:libjava 'Languages-Java-Tests-Proxies' 3
+JavaTestsLoader JavaTestsLoader stx:libjava 'Languages-Java-Tests' 0
+JavaTestsResource JavaTestsResource stx:libjava 'Languages-Java-Tests' 2
+JavaTopView JavaTopView stx:libjava 'Languages-Java-Views-Support' 2
+JavaUTF8Tests JavaUTF8Tests stx:libjava 'Languages-Java-Tests' 1
+JavaUnresolvedCompilationError JavaUnresolvedCompilationError stx:libjava 'Languages-Java-Support' 1
+JavaUnresolvedConstant JavaUnresolvedConstant stx:libjava 'Languages-Java-Reader-Support' 0
+JavaUtilities JavaUtilities stx:libjava 'Languages-Java-Utilities' 0
+JavaVMData JavaVMData stx:libjava 'Languages-Java-Support' 0
+JavaView JavaView stx:libjava 'Languages-Java-Views-Support' 2
+JavaZipSupport JavaZipSupport stx:libjava 'Languages-Java-Support-Native' 0
+ProxyMethod ProxyMethod stx:libjava 'System-Compiler-Interop' 0
+ProxyMethodCompiler ProxyMethodCompiler stx:libjava 'System-Compiler-Interop' 0
+ProxyMethodNode ProxyMethodNode stx:libjava 'System-Compiler-Interop' 0
+SmalltalkAppletContext SmalltalkAppletContext stx:libjava 'Languages-Java-Views-Support' 0
+SmalltalkAppletStub SmalltalkAppletStub stx:libjava 'Languages-Java-Views-Support' 0
+TestletTestCaseProxy TestletTestCaseProxy stx:libjava 'Languages-Java-Tests-Proxies' 3
+stx_libjava stx_libjava stx:libjava '* Projects & Packages *' 3
+GroovyMetaclass GroovyMetaclass stx:libjava 'Languages-Groovy-Classes' 0
+Java Java stx:libjava 'Languages-Java-Support' 0
+JavaAnnotationArrayValue JavaAnnotationArrayValue stx:libjava 'Languages-Java-Reader-Support' 0
+JavaAnnotationClassValue JavaAnnotationClassValue stx:libjava 'Languages-Java-Reader-Support' 0
+JavaAnnotationEnumValue JavaAnnotationEnumValue stx:libjava 'Languages-Java-Reader-Support' 0
+JavaAnnotationNestedAnnotationValue JavaAnnotationNestedAnnotationValue stx:libjava 'Languages-Java-Reader-Support' 0
+JavaAnnotationPrimitiveValue JavaAnnotationPrimitiveValue stx:libjava 'Languages-Java-Reader-Support' 0
+JavaBehavior JavaBehavior stx:libjava 'Languages-Java-Classes' 0
+JavaByteCodeDisassembler JavaByteCodeDisassembler stx:libjava 'Languages-Java-Bytecode' 0
+JavaByteCodeEnumerator JavaByteCodeEnumerator stx:libjava 'Languages-Java-Support-Decompiling' 0
+JavaByteCodeProcessorAdapter JavaByteCodeProcessorAdapter stx:libjava 'Languages-Java-Bytecode' 0
+JavaClassAnnotationContainer JavaClassAnnotationContainer stx:libjava 'Languages-Java-Annotations' 1
+JavaClassContentRef2 JavaClassContentRef2 stx:libjava 'Languages-Java-Reader-Support-new' 0
+JavaClassReader JavaClassReader stx:libjava 'Languages-Java-Support' 0
+JavaClassRef2 JavaClassRef2 stx:libjava 'Languages-Java-Reader-Support-new' 0
+JavaClassRegistry JavaClassRegistry stx:libjava 'Languages-Java-Support' 0
+JavaCodeBundle JavaCodeBundle stx:libjava 'Languages-Java-Support-Libraries' 0
+JavaCodeLibrary JavaCodeLibrary stx:libjava 'Languages-Java-Support-Libraries' 0
+JavaEmbeddedFrameView JavaEmbeddedFrameView stx:libjava 'Languages-Java-Views-Support' 2
+JavaFieldAnnotationContainer JavaFieldAnnotationContainer stx:libjava 'Languages-Java-Annotations' 1
+JavaFieldDescriptor JavaFieldDescriptor stx:libjava 'Languages-Java-Support' 0
+JavaFieldDescriptorWithUnionType JavaFieldDescriptorWithUnionType stx:libjava 'Languages-Java-Support' 0
+JavaInvalidRefError JavaInvalidRefError stx:libjava 'Languages-Java-Support' 1
+JavaMethod JavaMethod stx:libjava 'Languages-Java-Classes' 0
+JavaMethodAnnotationContainer JavaMethodAnnotationContainer stx:libjava 'Languages-Java-Annotations' 1
+JavaMethodDescriptor JavaMethodDescriptor stx:libjava 'Languages-Java-Support' 0
+JavaMirror JavaMirror stx:libjava 'Languages-Java-Classes' 0
+JavaNativeMethodImpl_OpenJDK6 JavaNativeMethodImpl_OpenJDK6 stx:libjava 'Languages-Java-Support-OpenJDK6' 0
+JavaStringRef2 JavaStringRef2 stx:libjava 'Languages-Java-Reader-Support-new' 0
+JavaUnhandledExceptionError JavaUnhandledExceptionError stx:libjava 'Languages-Java-Support' 1
+JavaUnresolvedClassConstant JavaUnresolvedClassConstant stx:libjava 'Languages-Java-Reader-Support' 0
+JavaUnresolvedStringConstant JavaUnresolvedStringConstant stx:libjava 'Languages-Java-Reader-Support' 0
+JavaVM JavaVM stx:libjava 'Languages-Java-Support' 0
+ProxyMethodConditionNode ProxyMethodConditionNode stx:libjava 'System-Compiler-Interop' 0
+ProxyMethodGuardNode ProxyMethodGuardNode stx:libjava 'System-Compiler-Interop' 0
+ProxyMethodInvocationNode ProxyMethodInvocationNode stx:libjava 'System-Compiler-Interop' 0
+ProxyMethodJavaFieldAccessor ProxyMethodJavaFieldAccessor stx:libjava 'Languages-Java-Interop' 0
+JavaAlienMirror JavaAlienMirror stx:libjava 'Languages-Java-Classes' 0
+JavaArrayMirror JavaArrayMirror stx:libjava 'Languages-Java-Classes' 0
+JavaByteCodePreresolver JavaByteCodePreresolver stx:libjava 'Languages-Java-Bytecode' 0
+JavaClass JavaClass stx:libjava 'Languages-Java-Classes' 0
+JavaClassMirror JavaClassMirror stx:libjava 'Languages-Java-Classes' 0
+JavaClassPathBundle JavaClassPathBundle stx:libjava 'Languages-Java-Support-Libraries' 0
+JavaFieldRef2 JavaFieldRef2 stx:libjava 'Languages-Java-Reader-Support-new' 0
 JavaMethodAnalyzer JavaMethodAnalyzer stx:libjava 'Languages-Java-Support-Decompiling' 0
+JavaMethodRef2 JavaMethodRef2 stx:libjava 'Languages-Java-Reader-Support-new' 0
+JavaMethodWithException JavaMethodWithException stx:libjava 'Languages-Java-Classes' 0
+JavaNativeMethodImpl_OpenJDK7 JavaNativeMethodImpl_OpenJDK7 stx:libjava 'Languages-Java-Support-OpenJDK7' 0
+JavaNativeMethodImpl_SunJDK6 JavaNativeMethodImpl_SunJDK6 stx:libjava 'Languages-Java-Support-OpenJDK6' 0
+JavaPrimitiveMirror JavaPrimitiveMirror stx:libjava 'Languages-Java-Classes' 0
+ProxyMethodAndNode ProxyMethodAndNode stx:libjava 'System-Compiler-Interop' 0
+ProxyMethodBlockInvocationNode ProxyMethodBlockInvocationNode stx:libjava 'System-Compiler-Interop' 0
+ProxyMethodJavaFieldGetter ProxyMethodJavaFieldGetter stx:libjava 'Languages-Java-Interop' 0
+ProxyMethodJavaFieldSetter ProxyMethodJavaFieldSetter stx:libjava 'Languages-Java-Interop' 0
+ProxyMethodMethodInvocationNode ProxyMethodMethodInvocationNode stx:libjava 'System-Compiler-Interop' 0
+ProxyMethodTypeCheckNode ProxyMethodTypeCheckNode stx:libjava 'System-Compiler-Interop' 0
+GroovyClass GroovyClass stx:libjava 'Languages-Groovy-Classes' 0
+JavaInterfaceMethodRef2 JavaInterfaceMethodRef2 stx:libjava 'Languages-Java-Reader-Support-new' 0
+JavaMethodWithHandler JavaMethodWithHandler stx:libjava 'Languages-Java-Classes' 0
+JavaNativeMethodImpl_SunJDK7 JavaNativeMethodImpl_SunJDK7 stx:libjava 'Languages-Java-Support-OpenJDK7' 0
+ProxyMethodJavaMethodInvocationNode ProxyMethodJavaMethodInvocationNode stx:libjava 'Languages-Java-Interop' 0
+ProxyMethodJavaTypeCheckNode ProxyMethodJavaTypeCheckNode stx:libjava 'Languages-Java-Interop' 0
+JavaNativeMethod JavaNativeMethod stx:libjava 'Languages-Java-Classes' 0
--- a/bc.mak	Wed Dec 18 12:03:32 2013 +0100
+++ b/bc.mak	Wed Dec 18 14:52:11 2013 +0100
@@ -34,7 +34,7 @@
 
 
 
-LOCALINCLUDES=-I$(ZLIB_DIR) -Isupport\fdlibm -I$(INCLUDE_TOP)\stx\goodies\sunit -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libbasic2 -I$(INCLUDE_TOP)\stx\libbasic3 -I$(INCLUDE_TOP)\stx\libview
+LOCALINCLUDES=-I$(ZLIB_DIR) -Isupport\fdlibm -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libbasic2 -I$(INCLUDE_TOP)\stx\libbasic3 -I$(INCLUDE_TOP)\stx\libview
 LOCALDEFINES=
 
 STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES)  -varPrefix=$(LIBNAME)
@@ -140,6 +140,7 @@
 $(OUTDIR)JavaPopUpView.$(O) JavaPopUpView.$(H): JavaPopUpView.st $(INCLUDE_TOP)\stx\libview\PopUpView.$(H) $(INCLUDE_TOP)\stx\libview\TopView.$(H) $(INCLUDE_TOP)\stx\libview\View.$(H) $(INCLUDE_TOP)\stx\libview\SimpleView.$(H) $(INCLUDE_TOP)\stx\libview\DisplaySurface.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsMedium.$(H) $(INCLUDE_TOP)\stx\libview\DeviceGraphicsContext.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsContext.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)JavaProcess.$(O) JavaProcess.$(H): JavaProcess.st $(INCLUDE_TOP)\stx\libbasic\Process.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)JavaRef2.$(O) JavaRef2.$(H): JavaRef2.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)JavaRelease.$(O) JavaRelease.$(H): JavaRelease.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)JavaResolver.$(O) JavaResolver.$(H): JavaResolver.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)JavaShort.$(O) JavaShort.$(H): JavaShort.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)JavaSlotIndexCache.$(O) JavaSlotIndexCache.$(H): JavaSlotIndexCache.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
@@ -188,7 +189,6 @@
 $(OUTDIR)JavaMethodDescriptor.$(O) JavaMethodDescriptor.$(H): JavaMethodDescriptor.st $(INCLUDE_TOP)\stx\libjava\JavaDescriptor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)JavaMirror.$(O) JavaMirror.$(H): JavaMirror.st $(INCLUDE_TOP)\stx\libjava\JavaVMData.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)JavaNativeMethodImpl_OpenJDK6.$(O) JavaNativeMethodImpl_OpenJDK6.$(H): JavaNativeMethodImpl_OpenJDK6.st $(INCLUDE_TOP)\stx\libjava\JavaVMData.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)JavaRelease.$(O) JavaRelease.$(H): JavaRelease.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)JavaStringRef2.$(O) JavaStringRef2.$(H): JavaStringRef2.st $(INCLUDE_TOP)\stx\libjava\JavaRef2.$(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)
 $(OUTDIR)JavaUnresolvedClassConstant.$(O) JavaUnresolvedClassConstant.$(H): JavaUnresolvedClassConstant.st $(INCLUDE_TOP)\stx\libjava\JavaUnresolvedConstant.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
--- a/libInit.cc	Wed Dec 18 12:03:32 2013 +0100
+++ b/libInit.cc	Wed Dec 18 14:52:11 2013 +0100
@@ -71,6 +71,7 @@
 _JavaPopUpView_Init(pass,__pRT__,snd);
 _JavaProcess_Init(pass,__pRT__,snd);
 _JavaRef2_Init(pass,__pRT__,snd);
+_JavaRelease_Init(pass,__pRT__,snd);
 _JavaResolver_Init(pass,__pRT__,snd);
 _JavaShort_Init(pass,__pRT__,snd);
 _JavaSlotIndexCache_Init(pass,__pRT__,snd);
@@ -119,7 +120,6 @@
 _JavaMethodDescriptor_Init(pass,__pRT__,snd);
 _JavaMirror_Init(pass,__pRT__,snd);
 _JavaNativeMethodImpl_137OpenJDK6_Init(pass,__pRT__,snd);
-_JavaRelease_Init(pass,__pRT__,snd);
 _JavaStringRef2_Init(pass,__pRT__,snd);
 _JavaUnhandledExceptionError_Init(pass,__pRT__,snd);
 _JavaUnresolvedClassConstant_Init(pass,__pRT__,snd);
--- a/libjava.rc	Wed Dec 18 12:03:32 2013 +0100
+++ b/libjava.rc	Wed Dec 18 14:52:11 2013 +0100
@@ -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\n          SWING Research Group, Czech Technical University In Prague\0"
       VALUE "ProductName", "Smalltalk/X\0"
       VALUE "ProductVersion", "6.2.3.0\0"
-      VALUE "ProductDate", "Tue, 10 Dec 2013 22:30:58 GMT\0"
+      VALUE "ProductDate", "Wed, 18 Dec 2013 12:06:42 GMT\0"
     END
 
   END
--- a/libs/java/pom.xml	Wed Dec 18 12:03:32 2013 +0100
+++ b/libs/java/pom.xml	Wed Dec 18 14:52:11 2013 +0100
@@ -32,7 +32,6 @@
         </dependency>
         -->
 	<!--
-        <!-- 
         <dependency>
             <groupId>net.sf.jasperreports</groupId>
             <artifactId>jasperreports</artifactId>
--- a/stx_libjava.st	Wed Dec 18 12:03:32 2013 +0100
+++ b/stx_libjava.st	Wed Dec 18 14:52:11 2013 +0100
@@ -311,6 +311,7 @@
         GroovyEvaluator
         GroovyLanguage
         GroovySourceFileWriter
+        (JUnitTestCaseProxy autoload)
         JavaAnnotation
         JavaAnnotationContainer
         JavaAnnotationDefault
@@ -319,11 +320,14 @@
         (JavaAntProjectResource autoload)
         JavaArray
         JavaByte
+        (JavaByteCodeDisassemblerTests autoload)
         JavaByteCodeProcessor
         (JavaByteCodeProcessorTests autoload)
         JavaClassAccessor
         (JavaClassLoadingTests autoload)
         JavaClassQuery
+        (JavaClassReaderTests autoload)
+        (JavaClassRefTests autoload)
         JavaClassReloader
         JavaCodeLibraryOrBundle
         JavaCompilerForSmalltalkExtensionsOnly
@@ -337,9 +341,12 @@
         JavaExceptionTable
         (JavaExceptionTests autoload)
         JavaField
+        (JavaFieldRefTests autoload)
         JavaFinalizationRegistry
         (JavaFreshlyInitializedResource autoload)
+        (JavaInitializedResource autoload)
         JavaInnerClasses
+        (JavaInterfaceMethodRefTests autoload)
         (JavaJUnitTests autoload)
         JavaLanguage
         JavaLibraries
@@ -351,7 +358,7 @@
         (JavaLookupTests autoload)
         (JavaLookupTestsResource autoload)
         JavaMetaclass
-        JavaMirror
+        (JavaMethodRefTests autoload)
         JavaMonitor
         (JavaMonitorsTests autoload)
         JavaNameAndType2
@@ -364,8 +371,11 @@
         JavaPopUpView
         JavaProcess
         JavaRef2
+        (JavaRefMock autoload)
         (JavaRefsAndConstantPoolTestCase autoload)
+        JavaRelease
         JavaResolver
+        (JavaRuntimeConstantPoolTests autoload)
         JavaShort
         JavaSlotIndexCache
         JavaSocket
@@ -373,6 +383,7 @@
         JavaSourceFileWriter
         (JavaTestCaseProxy autoload)
         JavaTestsLoader
+        (JavaTestsResource autoload)
         JavaTopView
         (JavaUTF8Tests autoload)
         JavaUnresolvedCompilationError
@@ -386,9 +397,9 @@
         ProxyMethodNode
         SmalltalkAppletContext
         SmalltalkAppletStub
+        (TestletTestCaseProxy autoload)
         #'stx_libjava'
         GroovyMetaclass
-        (JUnitTestCaseProxy autoload)
         Java
         JavaAnnotationArrayValue
         JavaAnnotationClassValue
@@ -397,15 +408,12 @@
         JavaAnnotationPrimitiveValue
         JavaBehavior
         JavaByteCodeDisassembler
-        (JavaByteCodeDisassemblerTests autoload)
         JavaByteCodeEnumerator
         JavaByteCodeProcessorAdapter
         JavaClassAnnotationContainer
         JavaClassContentRef2
         JavaClassReader
-        (JavaClassReaderTests autoload)
         JavaClassRef2
-        (JavaClassRefTests autoload)
         JavaClassRegistry
         JavaCodeBundle
         JavaCodeLibrary
@@ -413,20 +421,13 @@
         JavaFieldAnnotationContainer
         JavaFieldDescriptor
         JavaFieldDescriptorWithUnionType
-        (JavaFieldRefTests autoload)
-        (JavaInitializedResource autoload)
-        (JavaInterfaceMethodRefTests autoload)
         JavaInvalidRefError
         JavaMethod
         JavaMethodAnnotationContainer
         JavaMethodDescriptor
-        (JavaMethodRefTests autoload)
+        JavaMirror
         #'JavaNativeMethodImpl_OpenJDK6'
-        (JavaRefMock autoload)
-        JavaRelease
-        (JavaRuntimeConstantPoolTests autoload)
         JavaStringRef2
-        (JavaTestsResource autoload)
         JavaUnhandledExceptionError
         JavaUnresolvedClassConstant
         JavaUnresolvedStringConstant
@@ -435,9 +436,11 @@
         ProxyMethodGuardNode
         ProxyMethodInvocationNode
         ProxyMethodJavaFieldAccessor
-        (TestletTestCaseProxy autoload)
+        JavaAlienMirror
+        JavaArrayMirror
         JavaByteCodePreresolver
         JavaClass
+        JavaClassMirror
         JavaClassPathBundle
         JavaFieldRef2
         JavaMethodAnalyzer
@@ -445,6 +448,7 @@
         JavaMethodWithException
         #'JavaNativeMethodImpl_OpenJDK7'
         #'JavaNativeMethodImpl_SunJDK6'
+        JavaPrimitiveMirror
         ProxyMethodAndNode
         ProxyMethodBlockInvocationNode
         ProxyMethodJavaFieldGetter
@@ -627,6 +631,37 @@
         'ShortFloat class' javaUnbox:onError:
         Class binaryName
         Class isSynthetic
+        BooleanArray #'_ARRAYLENGTH:'
+        BooleanArray #'_CHECKCAST:'
+        BooleanArray #'_INSTANCEOF:'
+        ByteArray #'_ARRAYLENGTH:'
+        ByteArray #'_CHECKCAST:'
+        ByteArray #'_INSTANCEOF:'
+        CharacterArray #'_ARRAYLENGTH:'
+        CharacterArray #'_CHECKCAST:'
+        CharacterArray #'_INSTANCEOF:'
+        DoubleArray #'_ARRAYLENGTH:'
+        DoubleArray #'_CHECKCAST:'
+        DoubleArray #'_INSTANCEOF:'
+        FloatArray #'_ARRAYLENGTH:'
+        FloatArray #'_CHECKCAST:'
+        FloatArray #'_INSTANCEOF:'
+        Object #'_ARRAYLENGTH:'
+        Object #'_CHECKCAST:'
+        Object #'_INSTANCEOF:'
+        SignedIntegerArray #'_ARRAYLENGTH:'
+        SignedIntegerArray #'_CHECKCAST:'
+        SignedIntegerArray #'_INSTANCEOF:'
+        SignedLongIntegerArray #'_ARRAYLENGTH:'
+        SignedLongIntegerArray #'_CHECKCAST:'
+        SignedLongIntegerArray #'_INSTANCEOF:'
+        SignedWordArray #'_ARRAYLENGTH:'
+        SignedWordArray #'_CHECKCAST:'
+        SignedWordArray #'_INSTANCEOF:'
+        UndefinedObject #'_ARRAYLENGTH:'
+        UndefinedObject #'_CHECKCAST:'
+        UndefinedObject #'_INSTANCEOF:'
+        ZipArchive isValidFile:
     )
 ! !