Update compiler problems when old class is updated. development
authorJan Vrany <jan.vrany@fit.cvut.cz>
Fri, 19 Apr 2013 09:48:55 +0200
branchdevelopment
changeset 2529 764ab6925cf5
parent 2528 bc5ce044d5a1
child 2530 3867c892a603
Update compiler problems when old class is updated.
JavaClass.st
JavaClassReloader.st
Make.proto
abbrev.stc
bc.mak
bmake.bat
lccmake.bat
libjava.rc
mingwmake.bat
stx_libjava.st
vcmake.bat
--- a/JavaClass.st	Fri Apr 19 00:29:56 2013 +0200
+++ b/JavaClass.st	Fri Apr 19 09:48:55 2013 +0200
@@ -850,6 +850,12 @@
     ^ sourceFile
 !
 
+sourceString
+    ^sourceString
+
+    "Created: / 19-04-2013 / 09:28:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 staticFields
     ^ staticFields
 !
@@ -2180,12 +2186,13 @@
     "Created: / 20-02-2012 / 22:47:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
-setSource: aString
-    self assert: aString isString.    
-    sourceString := aString
+setSource: aStringOrNil
+    self assert: (aStringOrNil isNil or:[aStringOrNil isString]).
+    sourceString := aStringOrNil
 
     "Created: / 15-04-1996 / 16:42:52 / cg"
     "Created: / 18-02-2012 / 19:10:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 19-04-2013 / 09:30:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 setSourceFile:aFilename
--- a/JavaClassReloader.st	Fri Apr 19 00:29:56 2013 +0200
+++ b/JavaClassReloader.st	Fri Apr 19 09:48:55 2013 +0200
@@ -270,7 +270,7 @@
      simply copy methods and other info from new class to old one. 
      References must be flushed anyway!!"
 
-    | oldMethods newMethods |
+    | oldMethods newMethods problems |
 
     oldMethods := oldClass methodDictionary.
     newMethods := newClass methodDictionary copy.
@@ -290,9 +290,20 @@
     newMethods do:[:m|m setJavaClass: oldClass].
     oldClass setMethodDictionary: newMethods.
     oldClass setConstantPool: newClass constantPool.
+    oldClass setSource: newClass sourceString.
+
+    "Also, transfer all problems of newClass to newClass so
+     the highligher shows them..."
+    JavaCompiler notNil ifTrue:[
+        problems := JavaCompiler problems at: newClass ifAbsent:[nil].
+        problems notNil ifTrue:[
+            JavaCompiler problems removeKey: newClass.
+            JavaCompiler problems at: oldClass put: problems.
+        ]
+    ].
 
     "Created: / 16-12-2012 / 17:36:52 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
-    "Modified: / 19-04-2013 / 00:24:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 19-04-2013 / 09:44:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !JavaClassReloader::SingleClassReloader methodsFor:'reloading'!
--- a/Make.proto	Fri Apr 19 00:29:56 2013 +0200
+++ b/Make.proto	Fri Apr 19 09:48:55 2013 +0200
@@ -21,7 +21,7 @@
 INCLUDE_TOP=$(TOP)/..
 
 # subdirectories where targets are to be made:
-SUBDIRS= tools experiments examples
+SUBDIRS= experiments examples tools
 
 
 # subdirectories where Makefiles are to be made:
@@ -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/libbasic -I$(INCLUDE_TOP)/stx/libbasic3 -I$(INCLUDE_TOP)/stx/libbasic2 -I$(INCLUDE_TOP)/stx/goodies/sunit -I$(INCLUDE_TOP)/stx/libview
+LOCALINCLUDES=-I$(ZLIB_DIR) -Isupport/fdlibm -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libbasic3 -I$(INCLUDE_TOP)/stx/libbasic2 -I$(INCLUDE_TOP)/stx/libview
 
 
 # if you need any additional defines for embedded C code,
@@ -144,8 +144,6 @@
 	cd ../libbasic2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../libbasic3 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 	cd ../libview && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../libview2 && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
-	cd ../goodies/sunit && $(MAKE) "CFLAGS_LOCAL=$(GLOBALDEFINES)"
 
 
 
--- a/abbrev.stc	Fri Apr 19 00:29:56 2013 +0200
+++ b/abbrev.stc	Fri Apr 19 09:48:55 2013 +0200
@@ -37,6 +37,7 @@
 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
 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
@@ -114,7 +115,6 @@
 JavaFieldAnnotationContainer JavaFieldAnnotationContainer stx:libjava 'Languages-Java-Annotations' 1
 JavaFieldDescriptor JavaFieldDescriptor stx:libjava 'Languages-Java-Support' 0
 JavaFieldDescriptorWithUnionType JavaFieldDescriptorWithUnionType stx:libjava 'Languages-Java-Support' 0
-JavaInitializedResource JavaInitializedResource stx:libjava 'Languages-Java-Tests' 2
 JavaInvalidRefError JavaInvalidRefError stx:libjava 'Languages-Java-Support' 1
 JavaMethod JavaMethod stx:libjava 'Languages-Java-Classes' 0
 JavaMethodAnnotationContainer JavaMethodAnnotationContainer stx:libjava 'Languages-Java-Annotations' 1
--- a/bc.mak	Fri Apr 19 00:29:56 2013 +0200
+++ b/bc.mak	Fri Apr 19 09:48:55 2013 +0200
@@ -34,7 +34,7 @@
 
 
 
-LOCALINCLUDES=-I$(ZLIB_DIR) -Isupport\fdlibm -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libbasic3 -I$(INCLUDE_TOP)\stx\libbasic2 -I$(INCLUDE_TOP)\stx\goodies\sunit -I$(INCLUDE_TOP)\stx\libview
+LOCALINCLUDES=-I$(ZLIB_DIR) -Isupport\fdlibm -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libbasic3 -I$(INCLUDE_TOP)\stx\libbasic2 -I$(INCLUDE_TOP)\stx\libview
 LOCALDEFINES=
 
 STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES)  -varPrefix=$(LIBNAME)
@@ -54,8 +54,6 @@
 	pushd ..\libbasic2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\libbasic3 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 	pushd ..\libview & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\libview2 & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
-	pushd ..\goodies\sunit & $(MAKE_BAT) "CFLAGS_LOCAL=$(GLOBALDEFINES) "
 
 
 
--- a/bmake.bat	Fri Apr 19 00:29:56 2013 +0200
+++ b/bmake.bat	Fri Apr 19 09:48:55 2013 +0200
@@ -10,13 +10,6 @@
 make.exe -N -f bc.mak  %DEFINES% %*
 
 @echo "***********************************"
-@echo "Buildung stx/libjava/tools
-@echo "***********************************"
-@cd tools
-@call bmake %1 %2
-@cd ..
-
-@echo "***********************************"
 @echo "Buildung stx/libjava/experiments
 @echo "***********************************"
 @cd experiments
@@ -30,4 +23,11 @@
 @call bmake %1 %2
 @cd ..
 
+@echo "***********************************"
+@echo "Buildung stx/libjava/tools
+@echo "***********************************"
+@cd tools
+@call bmake %1 %2
+@cd ..
 
+
--- a/lccmake.bat	Fri Apr 19 00:29:56 2013 +0200
+++ b/lccmake.bat	Fri Apr 19 09:48:55 2013 +0200
@@ -6,13 +6,6 @@
 make.exe -N -f bc.mak -DUSELCC=1 %*
 
 @echo "***********************************"
-@echo "Buildung stx/libjava/tools
-@echo "***********************************"
-@cd tools
-@call lccmake %1 %2
-@cd ..
-
-@echo "***********************************"
 @echo "Buildung stx/libjava/experiments
 @echo "***********************************"
 @cd experiments
@@ -26,4 +19,11 @@
 @call lccmake %1 %2
 @cd ..
 
+@echo "***********************************"
+@echo "Buildung stx/libjava/tools
+@echo "***********************************"
+@cd tools
+@call lccmake %1 %2
+@cd ..
 
+
--- a/libjava.rc	Fri Apr 19 00:29:56 2013 +0200
+++ b/libjava.rc	Fri Apr 19 09:48:55 2013 +0200
@@ -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", "Thu, 18 Apr 2013 21:56:45 GMT\0"
+      VALUE "ProductDate", "Fri, 19 Apr 2013 07:47:38 GMT\0"
     END
 
   END
--- a/mingwmake.bat	Fri Apr 19 00:29:56 2013 +0200
+++ b/mingwmake.bat	Fri Apr 19 09:48:55 2013 +0200
@@ -14,13 +14,6 @@
 make.exe -N -f bc.mak %DEFINES% %USEMINGW_ARG% %*
 
 @echo "***********************************"
-@echo "Buildung stx/libjava/tools
-@echo "***********************************"
-@cd tools
-@call mingwmake %1 %2
-@cd ..
-
-@echo "***********************************"
 @echo "Buildung stx/libjava/experiments
 @echo "***********************************"
 @cd experiments
@@ -34,4 +27,11 @@
 @call mingwmake %1 %2
 @cd ..
 
+@echo "***********************************"
+@echo "Buildung stx/libjava/tools
+@echo "***********************************"
+@cd tools
+@call mingwmake %1 %2
+@cd ..
 
+
--- a/stx_libjava.st	Fri Apr 19 00:29:56 2013 +0200
+++ b/stx_libjava.st	Fri Apr 19 09:48:55 2013 +0200
@@ -162,11 +162,10 @@
      exclude individual packages in the #excludedFromPreRequisites method."
 
     ^ #(
-        #'stx:goodies/sunit'    "TestAsserter - superclass of JavaAntProjectResource "
-        #'stx:libbasic'    "Unicode16String - extended "
-        #'stx:libbasic2'    "BitArray - extended "
+        #'stx:libbasic'    "ArithmeticValue - superclass of JavaShort "
+        #'stx:libbasic2'    "Socket - superclass of JavaSocket "
         #'stx:libbasic3'    "WrappedMethod - extended "
-        #'stx:libview'    "PopUpView - superclass of JavaPopUpView "
+        #'stx:libview'    "GraphicsContext - superclass of JavaEmbeddedFrameView "
     )
 !
 
@@ -179,14 +178,15 @@
      exclude individual packages in the #excludedFromPreRequisites method."
 
     ^ #(
+        #'stx:goodies/sunit'    "TestSuite - referenced by stx_libjava class>>testSuite "
         #'stx:libcomp'    "ReturnNode - referenced by JavaNativeMethod>>numberOfArgs: "
         #'stx:libhtml'    "URL - referenced by JavaEmbeddedFrameView>>setupAppletFrameIn:initializeJava: "
-        #'stx:libjava/experiments'    "JavaByteCodeInterpreter - referenced by JavaMethod>>interpretWithReceiver:arguments: "
-        #'stx:libjava/tools'    "JavaSyntaxHighlighter - referenced by GroovyLanguage>>syntaxHighlighterClass "
+        #'stx:libjava/experiments'    "JavaCompiler - referenced by JavaLanguage>>compilerClass "
+        #'stx:libjava/tools'    "JavaParser - referenced by GroovyLanguage>>parserClass "
         #'stx:libtool'    "DebugView - referenced by Java class>>flushClasses "
         #'stx:libview2'    "Plug - referenced by JavaSourceCodeCache>>findMethodLine:inMethods: "
-        #'stx:libwidg'    "EditTextView - referenced by JavaNativeMethodImpl_OpenJDK6 class>>_WTextAreaPeer_create: "
-        #'stx:libwidg2'    "MenuPanel - referenced by JavaNativeMethodImpl_OpenJDK6 class>>_WMenuPeer_createMenu: "
+        #'stx:libwidg'    "ScrollableView - referenced by JavaNativeMethodImpl_OpenJDK6 class>>_MComponentPeer_pSetForeground: "
+        #'stx:libwidg2'    "CheckBox - referenced by JavaNativeMethodImpl_OpenJDK6 class>>_WCheckboxPeer_create: "
     )
 !
 
@@ -197,9 +197,9 @@
      for those, redefine requiredPrerequisites"
 
     ^ #(
-        #'stx:libjava/tools'
         #'stx:libjava/experiments'
         #'stx:libjava/examples'
+        #'stx:libjava/tools'
     )
 ! !
 
@@ -348,6 +348,7 @@
         (JavaFieldRefTests autoload)
         JavaFinalizationRegistry
         (JavaFreshlyInitializedResource autoload)
+        (JavaInitializedResource autoload)
         (JavaInterfaceMethodRefTests autoload)
         (JavaJUnitTests autoload)
         JavaLanguage
@@ -425,7 +426,6 @@
         JavaFieldAnnotationContainer
         JavaFieldDescriptor
         JavaFieldDescriptorWithUnionType
-        (JavaInitializedResource autoload)
         JavaInvalidRefError
         JavaMethod
         JavaMethodAnnotationContainer
--- a/vcmake.bat	Fri Apr 19 00:29:56 2013 +0200
+++ b/vcmake.bat	Fri Apr 19 09:48:55 2013 +0200
@@ -18,13 +18,6 @@
 
 
 @echo "***********************************"
-@echo "Buildung stx/libjava/tools
-@echo "***********************************"
-@cd tools
-@call vcmake %1 %2
-@cd ..
-
-@echo "***********************************"
 @echo "Buildung stx/libjava/experiments
 @echo "***********************************"
 @cd experiments
@@ -38,4 +31,11 @@
 @call vcmake %1 %2
 @cd ..
 
+@echo "***********************************"
+@echo "Buildung stx/libjava/tools
+@echo "***********************************"
+@cd tools
+@call vcmake %1 %2
+@cd ..
 
+