Update compiler problems when old class is updated.
--- 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 ..
+