src/JavaFieldDescriptor.st
branchjk_new_structure
changeset 1610 15c74eeadcc0
parent 1609 7a2627788ad7
--- a/src/JavaFieldDescriptor.st	Thu Aug 16 11:52:58 2012 +0000
+++ b/src/JavaFieldDescriptor.st	Thu Aug 16 12:29:29 2012 +0000
@@ -21,7 +21,7 @@
 "{ Package: 'stx:libjava' }"
 
 JavaDescriptor subclass:#JavaFieldDescriptor
-	instanceVariableNames:'javaClassName javaClass'
+	instanceVariableNames:'javaClassName javaClass dimensions'
 	classVariableNames:''
 	poolDictionaries:''
 	category:'Languages-Java-Support'
@@ -71,11 +71,26 @@
 
 !JavaFieldDescriptor methodsFor:'accessing'!
 
+dimensions
+    ^ dimensions ? 0
+
+    "Modified: / 16-08-2012 / 13:29:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+dimensions:something
+    dimensions := something.
+!
+
 javaClass
-    javaClass ifNil: [ javaClass := JavaVM classForName: self javaClassName ].
+    javaClass isNil ifTrue: [ 
+        javaClass := JavaVM classForName: self javaClassName.
+        dimensions isInteger ifTrue:[
+            dimensions timesRepeat:[javaClass := javaClass javaArrayClass].
+        ]
+    ].
     ^ javaClass
 
-    "Modified: / 13-08-2011 / 01:24:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 16-08-2012 / 13:31:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 javaClassName
@@ -102,6 +117,9 @@
 javaClassUsingClassLoader: classLoaderOrNil
     javaClass isNil ifTrue:[
         javaClass := JavaVM classForName: self javaClassName definedBy: classLoaderOrNil.
+         dimensions isInteger ifTrue:[
+            dimensions timesRepeat:[javaClass := javaClass javaArrayClass].
+        ]
     ].
     ^javaClass