Fixes for reflection - added box/unbox support to Float/ShortFloat. development
authorJan Vrany <jan.vrany@fit.cvut.cz>
Sat, 09 Mar 2013 12:36:42 +0000
branchdevelopment
changeset 2450 1d34ee4362f4
parent 2438 462c2256050f
child 2451 f2554fa579c1
Fixes for reflection - added box/unbox support to Float/ShortFloat.
JUnitTestCaseProxy.st
JavaInitializedResource.st
JavaLibrariesResource.st
JavaTestsResource.st
Make.proto
bc.mak
extensions.st
libInit.cc
libjava.rc
stx_libjava.st
--- a/JUnitTestCaseProxy.st	Thu Mar 07 15:34:23 2013 +0000
+++ b/JUnitTestCaseProxy.st	Sat Mar 09 12:36:42 2013 +0000
@@ -53,7 +53,6 @@
 "
 ! !
 
-
 !JUnitTestCaseProxy class methodsFor:'initialization'!
 
 initialize
@@ -63,7 +62,6 @@
     "Created: / 01-03-2011 / 10:43:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !JUnitTestCaseProxy class methodsFor:'accessing'!
 
 lookupHierarchyRoot
@@ -74,7 +72,6 @@
     "Modified: / 01-03-2011 / 14:54:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !JUnitTestCaseProxy class methodsFor:'private'!
 
 isTestSelector: selector
@@ -114,7 +111,6 @@
     "Modified: / 04-03-2011 / 00:05:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !JUnitTestCaseProxy class methodsFor:'subclass creation'!
 
 for:javaClass 
@@ -131,7 +127,6 @@
     "Modified: / 21-06-2011 / 17:08:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !JUnitTestCaseProxy methodsFor:'accessing'!
 
 nameForHDTestReport
@@ -161,7 +156,6 @@
     "Created: / 03-12-2012 / 22:02:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !JUnitTestCaseProxy methodsFor:'private'!
 
 performTest
@@ -185,7 +179,6 @@
     "Modified (format): / 30-11-2012 / 09:59:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !JUnitTestCaseProxy class methodsFor:'documentation'!
 
 version_CVS
--- a/JavaInitializedResource.st	Thu Mar 07 15:34:23 2013 +0000
+++ b/JavaInitializedResource.st	Sat Mar 09 12:36:42 2013 +0000
@@ -53,7 +53,6 @@
 "
 ! !
 
-
 !JavaInitializedResource class methodsFor:'accessing - ant project'!
 
 antProjectDir
@@ -63,7 +62,6 @@
     "Created: / 18-07-2011 / 15:08:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !JavaInitializedResource methodsFor:'running'!
 
 setUp
@@ -82,7 +80,6 @@
     "Modified (format): / 02-01-2013 / 15:16:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !JavaInitializedResource class methodsFor:'documentation'!
 
 version_CVS
--- a/JavaLibrariesResource.st	Thu Mar 07 15:34:23 2013 +0000
+++ b/JavaLibrariesResource.st	Sat Mar 09 12:36:42 2013 +0000
@@ -53,7 +53,6 @@
 "
 ! !
 
-
 !JavaLibrariesResource methodsFor:'running'!
 
 setUp
@@ -65,7 +64,6 @@
     "Modified: / 16-11-2012 / 00:18:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !JavaLibrariesResource class methodsFor:'documentation'!
 
 version_CVS
--- a/JavaTestsResource.st	Thu Mar 07 15:34:23 2013 +0000
+++ b/JavaTestsResource.st	Sat Mar 09 12:36:42 2013 +0000
@@ -53,7 +53,6 @@
 "
 ! !
 
-
 !JavaTestsResource class methodsFor:'accessing'!
 
 classpath
@@ -137,7 +136,6 @@
     "Created: / 10-03-2012 / 11:03:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !JavaTestsResource class methodsFor:'accessing - ant project'!
 
 antProjectDir
@@ -155,7 +153,6 @@
     "Modified (comment): / 16-11-2012 / 00:21:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
-
 !JavaTestsResource class methodsFor:'documentation'!
 
 version_CVS
--- a/Make.proto	Thu Mar 07 15:34:23 2013 +0000
+++ b/Make.proto	Sat Mar 09 12:36:42 2013 +0000
@@ -139,21 +139,20 @@
 postMake:: cleanjunk
 
 prereq: $(REQUIRED_SUPPORT_DIRS)
+	cd ../libwidg2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd ../libhtml && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd ../libdb/libsqlite && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../libbasic && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd ../libwidg && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd ../libui && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd ../libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../libcomp && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../libbasic2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../libdb && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../libdb/libsqlite && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd ../libview2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
+	cd ../goodies/sunit && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../libdb/libodbc && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../libboss && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../libview2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../libbasic3 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../goodies/sunit && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../libui && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../libwidg && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../libwidg2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../libhtml && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../libtool && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 
 
--- a/bc.mak	Thu Mar 07 15:34:23 2013 +0000
+++ b/bc.mak	Sat Mar 09 12:36:42 2013 +0000
@@ -50,21 +50,20 @@
 
 # build all prerequisite packages for this package
 prereq:
+	pushd ..\libwidg2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\libhtml & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\libdb\libsqlite & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\libbasic & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\libwidg & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\libui & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\libcomp & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\libbasic2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\libdb & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\libdb\libsqlite & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
+	pushd ..\goodies\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\libdb\libodbc & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\libboss & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\libbasic3 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\goodies\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\libui & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\libwidg & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\libwidg2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\libhtml & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\libtool & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 
 
@@ -101,6 +100,10 @@
 test: $(TOP)\goodies\builder\reports\NUL
 	pushd $(TOP)\goodies\builder\reports & $(MAKE_BAT)
 	$(TOP)\goodies\builder\reports\report-runner.bat -D . -r Builder::TestReport -p $(PACKAGE)
+        
+clean::
+	del *.$(CSUFFIX)
+
 
 # BEGINMAKEDEPEND --- do not remove this line; make depend needs it
 $(OUTDIR)GroovyCompiler.$(O) GroovyCompiler.$(H): GroovyCompiler.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
--- a/extensions.st	Thu Mar 07 15:34:23 2013 +0000
+++ b/extensions.st	Sat Mar 09 12:36:42 2013 +0000
@@ -782,6 +782,18 @@
     "Modified: / 25-02-2011 / 18:59:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+!Float class methodsFor:'autoboxing support'!
+
+javaUnbox: object onError: errorBlock
+    (object class name = 'java/lang/Double') ifFalse:[
+        errorBlock value.
+    ].
+    ^object instVarNamed: #value.
+
+    "Created: / 22-11-2011 / 11:52:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 09-03-2013 / 12:13:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
 !Float class methodsFor:'accessing'!
 
 javaWrapperClass
@@ -1489,6 +1501,18 @@
     "Modified: / 25-02-2011 / 18:59:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
+!ShortFloat class methodsFor:'autoboxing support'!
+
+javaUnbox: object onError: errorBlock
+    (object class name = 'java/lang/Float') ifFalse:[
+        errorBlock value.
+    ].
+    ^object instVarNamed: #value.
+
+    "Created: / 22-11-2011 / 11:52:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 09-03-2013 / 12:13:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
 !ShortFloat class methodsFor:'accessing'!
 
 javaWrapperClass
--- a/libInit.cc	Thu Mar 07 15:34:23 2013 +0000
+++ b/libInit.cc	Sat Mar 09 12:36:42 2013 +0000
@@ -13,16 +13,16 @@
 
 #if defined(INIT_TEXT_SECTION) || defined(DLL_EXPORT)
 DLL_EXPORT void _libstx_libjava_Init() INIT_TEXT_SECTION;
-// DLL_EXPORT void _libstx_libjava_InitDefinition() INIT_TEXT_SECTION;
+DLL_EXPORT void _libstx_libjava_InitDefinition() INIT_TEXT_SECTION;
 #endif
 
-// void _libstx_libjava_InitDefinition(pass, __pRT__, snd)
-// OBJ snd; struct __vmData__ *__pRT__; {
-// __BEGIN_PACKAGE2__("libstx_libjava__DFN", _libstx_libjava_InitDefinition, "stx:libjava");
-// _stx_137libjava_Init(pass,__pRT__,snd);
+void _libstx_libjava_InitDefinition(pass, __pRT__, snd)
+OBJ snd; struct __vmData__ *__pRT__; {
+__BEGIN_PACKAGE2__("libstx_libjava__DFN", _libstx_libjava_InitDefinition, "stx:libjava");
+_stx_137libjava_Init(pass,__pRT__,snd);
 
-// __END_PACKAGE__();
-// }
+__END_PACKAGE__();
+}
 
 void _libstx_libjava_Init(pass, __pRT__, snd)
 OBJ snd; struct __vmData__ *__pRT__; {
--- a/libjava.rc	Thu Mar 07 15:34:23 2013 +0000
+++ b/libjava.rc	Sat Mar 09 12:36:42 2013 +0000
@@ -25,7 +25,7 @@
       VALUE "LegalCopyright", "Copyright Claus Gittinger 1988-2011\nCopyright eXept Software AG 1998-2011\nCopyright Jan Vrany, Jan Kurs and Marcel Hlopko\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, 26 Feb 2013 16:54:27 GMT\0"
+      VALUE "ProductDate", "Sat, 09 Mar 2013 12:15:42 GMT\0"
     END
 
   END
--- a/stx_libjava.st	Thu Mar 07 15:34:23 2013 +0000
+++ b/stx_libjava.st	Sat Mar 09 12:36:42 2013 +0000
@@ -156,21 +156,22 @@
      This list can be maintained manually or (better) generated and
      updated by scanning the superclass hierarchies and looking for
      global variable accesses. (the browser has a menu function for that)
-     Howevery, often too much is found, and you may want to explicitely
-     exclude individual packages in the #excludedFromPrerequisites method."
+     However, often too much is found, and you may want to explicitely
+     exclude individual packages in the #excludedFromPreRequisites method.
+     If you have explicit preqrequisites, define them in the #includedInPreRequisites method."
 
     ^ #(
-        #'stx:goodies/sunit'    "TestSuite - referenced by stx_libjava class>>testSuite "
-        #'stx:libbasic'    "WriteStream - superclass of JavaSocket "
+        #'stx:goodies/sunit'    "TestCase - superclass of JUnitTestCaseProxy "
+        #'stx:libbasic'    "ArrayedCollection - superclass of JavaConstantPool "
         #'stx:libbasic2'    "BitArray - superclass of extended BooleanArray "
         #'stx:libbasic3'    "WrappedMethod - extended "
-        #'stx:libcomp'    "VariableNode - referenced by ProxyMethodCompiler>>compile:arguments:selector: "
+        #'stx:libcomp'    "StatementNode - referenced by ProxyMethodGuardNode>>generate: "
         #'stx:libhtml'    "URL - referenced by JavaEmbeddedFrameView>>setupAppletFrameIn:initializeJava: "
-        #'stx:libtool'    "DebugView - referenced by Java class>>flushClasses "
-        #'stx:libview'    "SimpleView - superclass of JavaView "
-        #'stx:libview2'    "Plug - referenced by JavaSourceCodeCache>>findMethodLine:inMethods: "
-        #'stx:libwidg'    "Scroller - referenced by JavaVM class>>processEvent: "
-        #'stx:libwidg2'    "ComboBoxView - referenced by JavaVM class>>processEvent: "
+        #'stx:libtool'    "WorkspaceApplication - referenced by GroovyEvaluator>>evaluate:in:receiver:notifying:logged:ifFail: "
+        #'stx:libview'    "StandardSystemView - superclass of JavaTopView "
+        #'stx:libview2'    "GIFReader - referenced by JavaNativeMethodImpl_OpenJDK6 class>>_GifImageDecoder_parseImage: "
+        #'stx:libwidg'    "Label - referenced by JavaNativeMethodImpl_OpenJDK6 class>>_WLabelPeer_create: "
+        #'stx:libwidg2'    "MenuPanel - referenced by JavaNativeMethodImpl_OpenJDK6 class>>_WMenuPeer_createMenu: "
     )
 ! !
 
@@ -435,8 +436,6 @@
         #'JavaNativeMethodImpl_OpenJDK7'
         #'JavaNativeMethodImpl_SunJDK7'
     )
-
-    "Modified: / 15-02-2013 / 18:54:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 extensionMethodNames
@@ -601,9 +600,9 @@
         'String class' javaName
         'Unicode16String class' javaName
         Context arg1Index
+        'Float class' javaUnbox:onError:
+        'ShortFloat class' javaUnbox:onError:
     )
-
-    "Modified: / 07-02-2013 / 16:31:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !stx_libjava class methodsFor:'description - java'!