Few fixes for Mauve... jk_new_structure
authorvranyj1
Sat, 25 Jun 2011 08:08:37 +0000
branchjk_new_structure
changeset 866 10d1f47af6d9
parent 865 82615f7deade
child 867 47efac367fc1
Few fixes for Mauve...
src/JavaDescriptor.st
src/JavaVM.st
src/extensions.st
src/stx_libjava.st
--- a/src/JavaDescriptor.st	Thu Jun 23 21:36:25 2011 +0000
+++ b/src/JavaDescriptor.st	Sat Jun 25 08:08:37 2011 +0000
@@ -102,14 +102,14 @@
         at: $C  put: Unicode32String;
         at: $D  put: DoubleArray;
         at: $F  put: FloatArray;
-        at: $I  put: IntegerArray;    
-        at: $J  put: LongIntegerArray;
+        at: $I  put: SignedIntegerArray;    
+        at: $J  put: SignedLongIntegerArray;
         at: $S  put: WordArray;
         at: $Z  put: BooleanArray;
         yourself
 
     "Created: / 25-11-2010 / 17:51:57 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 23-06-2011 / 19:13:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 25-06-2011 / 08:35:50 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !JavaDescriptor class methodsFor:'reading-private'!
--- a/src/JavaVM.st	Thu Jun 23 21:36:25 2011 +0000
+++ b/src/JavaVM.st	Sat Jun 25 08:08:37 2011 +0000
@@ -1675,8 +1675,9 @@
     ].
 
     props at:'java.version'       put:'1'.
-    props at:'java.vendor'        put:'eXept Software AG'.
-    props at:'java.vendor.url'    put:'http://www.exept.de'.
+    props at:'java.vendor'        put:'eXept Software AG & SWING Reseach Group'.
+    props at:'java.vendor.url'    put:'http://www.exept.de & http://swing.fit.cvut.cz'.
+    props at:'java.vm.name'       put:'Smalltalk/X'.
     (jHome := self defaultJAVAHome) notNil ifTrue:[
         props at:'java.home'          put:(jHome asFilename pathName).
     ].
@@ -1728,7 +1729,7 @@
 
     "Created: / 03-01-1998 / 14:26:39 / cg"
     "Modified: / 27-01-2000 / 02:20:18 / cg"
-    "Modified: / 01-04-2011 / 18:33:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 25-06-2011 / 09:02:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 initializeVM
@@ -2454,12 +2455,15 @@
       - If T is an interface type, T must be one of the interfaces implemented
         by arrays (JLS3 4.10.3).
     "
-    self halt: 'Not yet implemented'.
+    ((t name == #'java/lang/Cloneable') or:
+        [t name == #'java/lang/Serializable'])
+            ifTrue:[^true].
 
     ^false
 
     "Modified: / 09-01-1999 / 00:45:21 / cg"
     "Created: / 11-02-2011 / 08:21:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 25-06-2011 / 08:46:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 javaArrayClassFor:aClass 
@@ -4698,7 +4702,19 @@
 
     <javanative: 'java/lang/ProcessEnvironment' name: 'environ'>
 
-    ^ UnimplementedNativeMethodSignal raise
+    | env jenv i|
+    env := OperatingSystem getEnvironment.
+    jenv :=  ByteArray javaArrayClass new: env size * 2.
+    i := 1.
+    env keysAndValuesDo:
+        [:name :value|
+        jenv 
+            at: i   put: name  asByteArray;
+            at: i+1 put: value asByteArray.
+        i := i + 2].
+    ^jenv
+
+    "Modified: / 25-06-2011 / 08:57:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 _java_lang_Runtime_gc: nativeContext
@@ -5213,6 +5229,22 @@
     self error:'Unfinished'
 
     "Modified: / 31-05-2011 / 16:44:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+_java_lang_UNIXProcess_forkAndExec: nativeContext
+
+    <javanative: 'java/lang/UNIXProcess' name: 'forkAndExec'>
+
+    ^ UnimplementedNativeMethodSignal raise
+!
+
+_java_lang_UNIXProcess_initIDs: nativeContext
+
+    <javanative: 'java/lang/UNIXProcess' name: 'initIDs'>
+
+    "Nothing to do"
+
+    "Modified: / 25-06-2011 / 10:05:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !JavaVM class methodsFor:'native - java.lang.reflect'!
@@ -5386,7 +5418,11 @@
 
     <javanative: 'java/util/TimeZone' name: 'getSystemTimeZoneID'>
 
-    ^ UnimplementedNativeMethodSignal raise
+    "JV@2011-06-25: TODO: finish, returning nil here means GMT"
+
+    ^ nil
+
+    "Modified: / 25-06-2011 / 08:26:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !JavaVM class methodsFor:'native - java.util.concurrent.atomic'!
--- a/src/extensions.st	Thu Jun 23 21:36:25 2011 +0000
+++ b/src/extensions.st	Sat Jun 25 08:08:37 2011 +0000
@@ -26,14 +26,6 @@
 
     "Created: / 20-12-2010 / 22:47:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-!ByteArray methodsFor:'accessing-java'!
-
-javaArrayClass
-
-    ^JavaArray javaArrayClassFor: self
-
-    "Created: / 11-06-2011 / 23:42:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
 !DoubleArray methodsFor:'queries'!
 
 isJavaArrayClass
@@ -221,6 +213,14 @@
 ! !
 !ByteArray class methodsFor:'queries'!
 
+isJavaArrayClass
+
+    ^true
+
+    "Created: / 05-02-2011 / 22:45:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+!ByteArray class methodsFor:'queries'!
+
 isJavaReferenceType
 
     "Java arrays are reference types"
@@ -230,6 +230,14 @@
 ! !
 !ByteArray class methodsFor:'accessing-java'!
 
+javaArrayClass
+
+    ^JavaArray javaArrayClassFor: self
+
+    "Created: / 11-06-2011 / 23:42:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+!ByteArray class methodsFor:'accessing-java'!
+
 javaComponentClass
 
     ^Byte
@@ -544,28 +552,6 @@
 
     "Modified: / 25-02-2011 / 18:59:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-!IntegerArray class methodsFor:'testing'!
-
-isInterface
-
-    ^false
-! !
-!IntegerArray class methodsFor:'queries'!
-
-isJavaArrayClass
-
-    ^true
-
-    "Created: / 06-02-2011 / 15:16:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-!IntegerArray class methodsFor:'accessing'!
-
-javaName
-
-    ^'[I'.
-
-    "Modified: / 25-02-2011 / 19:03:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
 !LargeInteger class methodsFor:'queries'!
 
 isJavaPrimitiveType
@@ -589,45 +575,6 @@
 
     "Modified: / 25-02-2011 / 18:59:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
-!LongIntegerArray class methodsFor:'testing'!
-
-isInterface
-
-    ^false
-! !
-!LongIntegerArray class methodsFor:'queries'!
-
-isJavaArrayClass
-
-    ^true
-
-    "Created: / 20-12-2010 / 22:47:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-!LongIntegerArray class methodsFor:'queries'!
-
-isJavaReferenceType
-
-    "Java arrays are reference types"
-    ^true
-
-    "Created: / 20-12-2010 / 22:30:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-!LongIntegerArray class methodsFor:'accessing-java'!
-
-javaComponentClass
-
-    ^LargeInteger
-
-    "Created: / 20-12-2010 / 22:13:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
-!LongIntegerArray class methodsFor:'accessing'!
-
-javaName
-
-    ^'[J'.
-
-    "Modified: / 25-02-2011 / 19:03:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-! !
 !Object class methodsFor:'queries'!
 
 isJavaArrayClass
@@ -691,6 +638,75 @@
 
     "Modified: / 25-02-2011 / 18:59:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
+!SignedIntegerArray class methodsFor:'testing'!
+
+isInterface
+
+    ^false
+! !
+!SignedIntegerArray class methodsFor:'queries'!
+
+isJavaArrayClass
+
+    ^true
+
+    "Created: / 06-02-2011 / 15:16:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+!SignedIntegerArray class methodsFor:'accessing'!
+
+javaComponentClass
+
+    ^ Integer
+
+    "Created: / 25-06-2011 / 08:38:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+!SignedIntegerArray class methodsFor:'accessing'!
+
+javaName
+
+    ^'[I'.
+
+    "Modified: / 25-02-2011 / 19:03:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+!SignedLongIntegerArray class methodsFor:'testing'!
+
+isInterface
+
+    ^false
+! !
+!SignedLongIntegerArray class methodsFor:'queries'!
+
+isJavaArrayClass
+
+    ^true
+
+    "Created: / 20-12-2010 / 22:47:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+!SignedLongIntegerArray class methodsFor:'queries'!
+
+isJavaReferenceType
+
+    "Java arrays are reference types"
+    ^true
+
+    "Created: / 20-12-2010 / 22:30:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+!SignedLongIntegerArray class methodsFor:'accessing'!
+
+javaComponentClass
+
+    ^LargeInteger
+
+    "Modified: / 25-06-2011 / 08:38:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+!SignedLongIntegerArray class methodsFor:'accessing'!
+
+javaName
+
+    ^'[J'.
+
+    "Modified: / 25-02-2011 / 19:03:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
 !String class methodsFor:'testing'!
 
 isInterface
--- a/src/stx_libjava.st	Thu Jun 23 21:36:25 2011 +0000
+++ b/src/stx_libjava.st	Sat Jun 25 08:08:37 2011 +0000
@@ -140,6 +140,7 @@
         "<className> or (<className> attributes...) in load order"
         (AbstractJavaTestCase autoload)
         Byte
+        (JUnitTestCaseProxy autoload)
         Java
         JavaAnnotation
         JavaAnnotationContainer
@@ -214,7 +215,6 @@
         SmalltalkAppletContext
         SmalltalkAppletStub
         #'stx_libjava'
-        (JUnitTestCaseProxy autoload)
         JavaAnnotationArrayValue
         JavaAnnotationClassValue
         JavaAnnotationEnumValue
@@ -286,7 +286,6 @@
         BooleanArray isInterface
         BooleanArray isJavaArrayClass
         ByteArray isJavaArrayClass
-        ByteArray javaArrayClass
         DoubleArray isJavaArrayClass
         FloatArray isJavaArrayClass
         Object isJavaArray
@@ -304,7 +303,9 @@
         'BooleanArray class' javaComponentClass
         'BooleanArray class' javaName
         'ByteArray class' isInterface
+        'ByteArray class' isJavaArrayClass
         'ByteArray class' isJavaReferenceType
+        'ByteArray class' javaArrayClass
         'ByteArray class' javaComponentClass
         'ByteArray class' javaName
         'Character class' isJavaPrimitiveType
@@ -330,17 +331,9 @@
         'Integer class' isJavaPrimitiveType
         'Integer class' javaArrayClass
         'Integer class' javaName
-        'IntegerArray class' isInterface
-        'IntegerArray class' isJavaArrayClass
-        'IntegerArray class' javaName
         'LargeInteger class' isJavaPrimitiveType
         'LargeInteger class' javaArrayClass
         'LargeInteger class' javaName
-        'LongIntegerArray class' isInterface
-        'LongIntegerArray class' isJavaArrayClass
-        'LongIntegerArray class' isJavaReferenceType
-        'LongIntegerArray class' javaComponentClass
-        'LongIntegerArray class' javaName
         'Object class' isJavaArrayClass
         'Object class' isJavaClassType
         'Object class' isJavaPrimitiveType
@@ -349,6 +342,15 @@
         'ShortFloat class' isJavaPrimitiveType
         'ShortFloat class' javaArrayClass
         'ShortFloat class' javaName
+        'SignedIntegerArray class' isInterface
+        'SignedIntegerArray class' isJavaArrayClass
+        'SignedIntegerArray class' javaComponentClass
+        'SignedIntegerArray class' javaName
+        'SignedLongIntegerArray class' isInterface
+        'SignedLongIntegerArray class' isJavaArrayClass
+        'SignedLongIntegerArray class' isJavaReferenceType
+        'SignedLongIntegerArray class' javaComponentClass
+        'SignedLongIntegerArray class' javaName
         'String class' isInterface
         'String class' javaName
         'UndefinedObject class' isJavaPrimitiveType
@@ -408,7 +410,7 @@
     "Return a SVN revision number of myself.
      This number is updated after a commit"
 
-    ^ "$SVN-Revision:"'1209'"$"
+    ^ "$SVN-Revision:"'1210M'"$"
 ! !
 
 !stx_libjava class methodsFor:'file generation'!