Added JavaMethodAnalyzer to gather statistics about Java method.
Useful for tools.
--- a/JavaByteCodeProcessorAdapter.st Fri Aug 30 12:19:02 2013 +0100
+++ b/JavaByteCodeProcessorAdapter.st Fri Aug 30 17:28:45 2013 +0100
@@ -1096,6 +1096,15 @@
"Created: / 09-02-2012 / 22:51:16 / mh <hlopik@gmail.com>"
! !
+!JavaByteCodeProcessorAdapter methodsFor:'processing loop'!
+
+switch: opcode
+ super switch: opcode.
+ leaveProcessor := pc > byteCode size.
+
+ "Created: / 30-08-2013 / 13:59:21 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!JavaByteCodeProcessorAdapter class methodsFor:'documentation'!
version_CVS
--- a/JavaClassContentRef2.st Fri Aug 30 12:19:02 2013 +0100
+++ b/JavaClassContentRef2.st Fri Aug 30 17:28:45 2013 +0100
@@ -53,7 +53,6 @@
"
! !
-
!JavaClassContentRef2 class methodsFor:'instance creation'!
in: aJavaConstantPool withNameAndTypeAt: nameAndTypeCPIndex andClassAt: classRefCPIndex
@@ -65,7 +64,6 @@
"Created: / 12-05-2011 / 18:36:18 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
! !
-
!JavaClassContentRef2 methodsFor:'accessing'!
classRef
@@ -108,22 +106,23 @@
"Created: / 20-05-2011 / 17:10:59 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
! !
-
!JavaClassContentRef2 methodsFor:'comparing'!
= anotherJavaRef
- "superclass JavaRef2 says that I am responsible to implement this method"
- ^ self shouldImplement
+ ^ self class == anotherJavaRef class
+ and:[self classRef = anotherJavaRef classRef
+ and:[self nameAndType = anotherJavaRef nameAndType]]
+
+ "Modified: / 30-08-2013 / 17:15:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
hash
- "superclass JavaRef2 says that I am responsible to implement this method"
+ ^ self classRef hash bitXor: self nameAndType hash
- ^ self shouldImplement
+ "Modified: / 30-08-2013 / 17:14:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-
!JavaClassContentRef2 methodsFor:'initialization'!
initializeIn: aJavaConstantPool withNameAndTypeAt: nameAndTypeCPIndex andClassAt: classRefCPIndex
@@ -135,7 +134,6 @@
"Created: / 12-05-2011 / 18:37:10 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
! !
-
!JavaClassContentRef2 methodsFor:'printing'!
displayString
@@ -154,7 +152,6 @@
"Modified: / 12-05-2011 / 18:40:02 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
! !
-
!JavaClassContentRef2 methodsFor:'resolving'!
invalidate
@@ -181,7 +178,6 @@
"Modified (format): / 21-02-2012 / 10:21:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
-
!JavaClassContentRef2 class methodsFor:'documentation'!
version_CVS
--- a/JavaMethod.st Fri Aug 30 12:19:02 2013 +0100
+++ b/JavaMethod.st Fri Aug 30 17:28:45 2013 +0100
@@ -793,24 +793,6 @@
^nil
"Created: / 24-02-2012 / 16:06:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-messagesSentToSuper
- ^#()
-
- "Created: / 30-03-2013 / 09:59:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
-sends:symbol1 or:symbol2
-
- ^false
-!
-
-sendsAny: selectors
-
- ^false
-
- "Created: / 02-12-2011 / 23:05:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!JavaMethod methodsFor:'accessing'!
@@ -823,6 +805,15 @@
"Created: / 9.4.1998 / 17:49:44 / cg"
!
+analyzer
+ "Returns an analyzer for the method which can be used
+ to query some statistics like sent messages or modified classvars"
+
+ ^ JavaMethodAnalyzer analyze: self.
+
+ "Created: / 30-08-2013 / 13:47:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
annotations
^ annotations ifNil:[JavaMethodAnnotationContainer empty].
@@ -2625,6 +2616,59 @@
"Modified: / 16.10.1998 / 13:42:10 / cg"
! !
+!JavaMethod methodsFor:'queries-statistic'!
+
+messagesPossiblySent
+ ^ self analyzer messagesPossiblySent
+
+ "Created: / 30-08-2013 / 14:05:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 30-08-2013 / 17:07:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+messagesSentToSuper
+ ^ self analyzer messagesSentToSuper
+
+ "Created: / 30-03-2013 / 09:59:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 30-08-2013 / 17:07:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+modifiedClassVars
+ ^ #()
+
+ "Created: / 30-08-2013 / 13:16:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+modifiedInstVars
+ ^ self analyzer modifiedInstVars
+
+ "Created: / 30-08-2013 / 13:18:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+sends:symbol1 or:symbol2
+ ^ self analyzer sends:symbol1 or:symbol2
+
+ "Modified: / 30-08-2013 / 17:07:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+sendsAny: selectors
+ ^ self analyzer sendsAny: selectors
+
+ "Created: / 02-12-2011 / 23:05:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 30-08-2013 / 17:08:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+usedClassVars
+ ^ #() "/ No class vars in Java
+
+ "Created: / 30-08-2013 / 13:18:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+usedInstVars
+ ^ self analyzer usedInstVars
+
+ "Created: / 30-08-2013 / 13:18:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
!JavaMethod methodsFor:'signature parsing'!
XXXspecWithArgsFromSignature:aSignature withName:name in:aPackage
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/JavaMethodAnalyzer.st Fri Aug 30 17:28:45 2013 +0100
@@ -0,0 +1,200 @@
+"
+ COPYRIGHT (c) 1996-2011 by Claus Gittinger
+
+ New code and modifications done at SWING Research Group [1]:
+
+ COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
+ SWING Research Group, Czech Technical University in Prague
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice. This software may not
+ be provided or otherwise made available to, or used by, any
+ other person. No title to or ownership of the software is
+ hereby transferred.
+
+ [1] Code written at SWING Research Group contains a signature
+ of one of the above copright owners. For exact set of such code,
+ see the differences between this version and version stx:libjava
+ as of 1.9.2010
+"
+"{ Package: 'stx:libjava' }"
+
+JavaByteCodeProcessorAdapter subclass:#JavaMethodAnalyzer
+ instanceVariableNames:'fieldsAccessed fieldsModified methodsInvoked'
+ classVariableNames:''
+ poolDictionaries:''
+ category:'Languages-Java-Support-Decompiling'
+!
+
+!JavaMethodAnalyzer class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 1996-2011 by Claus Gittinger
+
+ New code and modifications done at SWING Research Group [1]:
+
+ COPYRIGHT (c) 2010-2011 by Jan Vrany, Jan Kurs and Marcel Hlopko
+ SWING Research Group, Czech Technical University in Prague
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice. This software may not
+ be provided or otherwise made available to, or used by, any
+ other person. No title to or ownership of the software is
+ hereby transferred.
+
+ [1] Code written at SWING Research Group contains a signature
+ of one of the above copright owners. For exact set of such code,
+ see the differences between this version and version stx:libjava
+ as of 1.9.2010
+
+"
+!
+
+documentation
+"
+ A helper class to analyze method's bytecode and keep some statistics
+ like read/written fields, sent messages, referenced classes...
+
+ [author:]
+ Jan Vrany <jan.vrany@fit.cvut.cz>
+
+ [instance variables:]
+
+ [class variables:]
+
+ [see also:]
+
+"
+! !
+
+!JavaMethodAnalyzer class methodsFor:'analyzing'!
+
+analyze: aJavaMethod
+ "Analyzes the given method and return the analyzer,
+ which can be in turn asked for various informstion"
+
+ ^ self new
+ process: aJavaMethod
+ receiver: nil
+ arguments: (Array new: aJavaMethod javaNumArgs);
+ yourself
+
+ "Created: / 30-08-2013 / 13:33:39 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!JavaMethodAnalyzer methodsFor:'instructions'!
+
+getfield
+ | fieldRef |
+
+ fieldRef := constantPool at: self fetchIndex2.
+ fieldsAccessed add: fieldRef.
+
+ "Created: / 30-08-2013 / 13:25:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 30-08-2013 / 17:02:01 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+invinterface
+ methodsInvoked add: (constantPool at: self fetchBytes4)
+
+ "Created: / 30-08-2013 / 17:05:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+invnonvirt
+ methodsInvoked add: (constantPool at: self fetchBytes2)
+
+ "Created: / 30-08-2013 / 17:05:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+invstatic
+ methodsInvoked add: (constantPool at: self fetchBytes2)
+
+ "Created: / 30-08-2013 / 17:05:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+invvirt
+ methodsInvoked add: (constantPool at: self fetchBytes2)
+
+ "Created: / 30-08-2013 / 17:05:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+putfield
+ | fieldRef |
+
+ fieldRef := constantPool at: self fetchIndex2.
+ fieldsAccessed add: fieldRef.
+ fieldsModified add: fieldRef.
+
+ "Created: / 30-08-2013 / 13:26:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 30-08-2013 / 17:02:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!JavaMethodAnalyzer methodsFor:'processing loop'!
+
+process: aMethod receiver: aReceiver arguments: args
+ fieldsAccessed := Set new.
+ fieldsModified := Set new.
+ methodsInvoked := Set new.
+
+ ^ super process: aMethod receiver: aReceiver arguments: args.
+
+ "Created: / 30-08-2013 / 13:23:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 30-08-2013 / 17:01:47 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!JavaMethodAnalyzer methodsFor:'queries-statistic'!
+
+messagesPossiblySent
+ ^ methodsInvoked collect:[:methodRef | methodRef selector ]
+
+ "Created: / 30-08-2013 / 14:05:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 30-08-2013 / 17:11:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+messagesSentToSuper
+ ^#()
+
+ "Created: / 30-03-2013 / 09:59:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+modifiedClassVars
+ ^#() "/ No class vars in Java
+
+ "Created: / 30-08-2013 / 13:16:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+modifiedInstVars
+ ^ fieldsModified collect:[:ref | ref name ]
+
+ "Created: / 30-08-2013 / 13:18:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 30-08-2013 / 17:02:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+sends:symbol1 or:symbol2
+
+ ^false
+!
+
+sendsAny: selectors
+
+ ^false
+
+ "Created: / 02-12-2011 / 23:05:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+usedClassVars
+ ^ #() "/ No class vars in Java
+
+ "Created: / 30-08-2013 / 13:18:29 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+usedInstVars
+ ^ fieldsAccessed collect:[:ref | ref name ]
+
+ "Created: / 30-08-2013 / 13:18:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 30-08-2013 / 17:02:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
--- a/Make.proto Fri Aug 30 12:19:02 2013 +0100
+++ b/Make.proto Fri Aug 30 17:28:45 2013 +0100
@@ -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/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/goodies/sunit -I$(INCLUDE_TOP)/stx/libview
# if you need any additional defines for embedded C code,
@@ -144,6 +144,8 @@
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)"
@@ -268,6 +270,7 @@
$(OUTDIR)JavaClass.$(O) JavaClass.$(H): JavaClass.st $(INCLUDE_TOP)/stx/libjava/JavaConstants.$(H) $(INCLUDE_TOP)/stx/libjava/JavaBehavior.$(H) $(INCLUDE_TOP)/stx/libbasic/Class.$(H) $(INCLUDE_TOP)/stx/libbasic/ClassDescription.$(H) $(INCLUDE_TOP)/stx/libbasic/Behavior.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)JavaClassPathBundle.$(O) JavaClassPathBundle.$(H): JavaClassPathBundle.st $(INCLUDE_TOP)/stx/libjava/JavaCodeBundle.$(H) $(INCLUDE_TOP)/stx/libjava/JavaCodeLibraryOrBundle.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)JavaFieldRef2.$(O) JavaFieldRef2.$(H): JavaFieldRef2.st $(INCLUDE_TOP)/stx/libjava/JavaClassContentRef2.$(H) $(INCLUDE_TOP)/stx/libjava/JavaRef2.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)JavaMethodAnalyzer.$(O) JavaMethodAnalyzer.$(H): JavaMethodAnalyzer.st $(INCLUDE_TOP)/stx/libjava/JavaByteCodeProcessorAdapter.$(H) $(INCLUDE_TOP)/stx/libjava/JavaByteCodeProcessor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)JavaMethodRef2.$(O) JavaMethodRef2.$(H): JavaMethodRef2.st $(INCLUDE_TOP)/stx/libjava/JavaClassContentRef2.$(H) $(INCLUDE_TOP)/stx/libjava/JavaRef2.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)JavaMethodWithException.$(O) JavaMethodWithException.$(H): JavaMethodWithException.st $(INCLUDE_TOP)/stx/libjava/JavaMethod.$(H) $(INCLUDE_TOP)/stx/libbasic/CompiledCode.$(H) $(INCLUDE_TOP)/stx/libbasic/ExecutableFunction.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)JavaNativeMethodImpl_OpenJDK7.$(O) JavaNativeMethodImpl_OpenJDK7.$(H): JavaNativeMethodImpl_OpenJDK7.st $(INCLUDE_TOP)/stx/libjava/JavaVMData.$(H) $(INCLUDE_TOP)/stx/libjava/JavaNativeMethodImpl_OpenJDK6.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
--- a/Make.spec Fri Aug 30 12:19:02 2013 +0100
+++ b/Make.spec Fri Aug 30 17:28:45 2013 +0100
@@ -155,6 +155,7 @@
JavaClass \
JavaClassPathBundle \
JavaFieldRef2 \
+ JavaMethodAnalyzer \
JavaMethodRef2 \
JavaMethodWithException \
JavaNativeMethodImpl_OpenJDK7 \
@@ -282,6 +283,7 @@
$(OUTDIR_SLASH)JavaClass.$(O) \
$(OUTDIR_SLASH)JavaClassPathBundle.$(O) \
$(OUTDIR_SLASH)JavaFieldRef2.$(O) \
+ $(OUTDIR_SLASH)JavaMethodAnalyzer.$(O) \
$(OUTDIR_SLASH)JavaMethodRef2.$(O) \
$(OUTDIR_SLASH)JavaMethodWithException.$(O) \
$(OUTDIR_SLASH)JavaNativeMethodImpl_OpenJDK7.$(O) \
--- a/abbrev.stc Fri Aug 30 12:19:02 2013 +0100
+++ b/abbrev.stc Fri Aug 30 17:28:45 2013 +0100
@@ -133,6 +133,7 @@
JavaClass JavaClass stx:libjava 'Languages-Java-Classes' 0
JavaClassPathBundle JavaClassPathBundle stx:libjava 'Languages-Java-Support-Libraries' 0
JavaFieldRef2 JavaFieldRef2 stx:libjava 'Languages-Java-Reader-Support-new' 0
+JavaMethodAnalyzer JavaMethodAnalyzer stx:libjava 'Languages-Java-Support-Decompiling' 0
JavaMethodRef2 JavaMethodRef2 stx:libjava 'Languages-Java-Reader-Support-new' 0
JavaMethodWithException JavaMethodWithException stx:libjava 'Languages-Java-Classes' 0
JavaNativeMethodImpl_OpenJDK7 JavaNativeMethodImpl_OpenJDK7 stx:libjava 'Languages-Java-Support-OpenJDK7' 0
--- a/bc.mak Fri Aug 30 12:19:02 2013 +0100
+++ b/bc.mak Fri Aug 30 17:28:45 2013 +0100
@@ -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\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\goodies\sunit -I$(INCLUDE_TOP)\stx\libview
LOCALDEFINES=
STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) -varPrefix=$(LIBNAME)
@@ -54,6 +54,8 @@
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) "
@@ -201,6 +203,7 @@
$(OUTDIR)JavaClass.$(O) JavaClass.$(H): JavaClass.st $(INCLUDE_TOP)\stx\libjava\JavaConstants.$(H) $(INCLUDE_TOP)\stx\libjava\JavaBehavior.$(H) $(INCLUDE_TOP)\stx\libbasic\Class.$(H) $(INCLUDE_TOP)\stx\libbasic\ClassDescription.$(H) $(INCLUDE_TOP)\stx\libbasic\Behavior.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)JavaClassPathBundle.$(O) JavaClassPathBundle.$(H): JavaClassPathBundle.st $(INCLUDE_TOP)\stx\libjava\JavaCodeBundle.$(H) $(INCLUDE_TOP)\stx\libjava\JavaCodeLibraryOrBundle.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)JavaFieldRef2.$(O) JavaFieldRef2.$(H): JavaFieldRef2.st $(INCLUDE_TOP)\stx\libjava\JavaClassContentRef2.$(H) $(INCLUDE_TOP)\stx\libjava\JavaRef2.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)JavaMethodAnalyzer.$(O) JavaMethodAnalyzer.$(H): JavaMethodAnalyzer.st $(INCLUDE_TOP)\stx\libjava\JavaByteCodeProcessorAdapter.$(H) $(INCLUDE_TOP)\stx\libjava\JavaByteCodeProcessor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)JavaMethodRef2.$(O) JavaMethodRef2.$(H): JavaMethodRef2.st $(INCLUDE_TOP)\stx\libjava\JavaClassContentRef2.$(H) $(INCLUDE_TOP)\stx\libjava\JavaRef2.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)JavaMethodWithException.$(O) JavaMethodWithException.$(H): JavaMethodWithException.st $(INCLUDE_TOP)\stx\libjava\JavaMethod.$(H) $(INCLUDE_TOP)\stx\libbasic\CompiledCode.$(H) $(INCLUDE_TOP)\stx\libbasic\ExecutableFunction.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)JavaNativeMethodImpl_OpenJDK7.$(O) JavaNativeMethodImpl_OpenJDK7.$(H): JavaNativeMethodImpl_OpenJDK7.st $(INCLUDE_TOP)\stx\libjava\JavaVMData.$(H) $(INCLUDE_TOP)\stx\libjava\JavaNativeMethodImpl_OpenJDK6.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
--- a/libInit.cc Fri Aug 30 12:19:02 2013 +0100
+++ b/libInit.cc Fri Aug 30 17:28:45 2013 +0100
@@ -132,6 +132,7 @@
_JavaClass_Init(pass,__pRT__,snd);
_JavaClassPathBundle_Init(pass,__pRT__,snd);
_JavaFieldRef2_Init(pass,__pRT__,snd);
+_JavaMethodAnalyzer_Init(pass,__pRT__,snd);
_JavaMethodRef2_Init(pass,__pRT__,snd);
_JavaMethodWithException_Init(pass,__pRT__,snd);
_JavaNativeMethodImpl_137OpenJDK7_Init(pass,__pRT__,snd);
--- a/libjava.rc Fri Aug 30 12:19:02 2013 +0100
+++ b/libjava.rc Fri Aug 30 17:28:45 2013 +0100
@@ -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", "Fri, 30 Aug 2013 11:10:08 GMT\0"
+ VALUE "ProductDate", "Fri, 30 Aug 2013 16:24:58 GMT\0"
END
END
--- a/stx_libjava.st Fri Aug 30 12:19:02 2013 +0100
+++ b/stx_libjava.st Fri Aug 30 17:28:45 2013 +0100
@@ -156,6 +156,7 @@
(the browser has a menu function for that)"
^ #(
+ #'stx:goodies/sunit' "TestAsserter - superclass of JavaAntProjectResource "
#'stx:libbasic' "AbstractNumberVector - extended "
#'stx:libbasic2' "BitArray - extended "
#'stx:libbasic3' "WrappedMethod - extended "
@@ -172,7 +173,6 @@
exclude individual packages in the #excludedFromPreRequisites method."
^ #(
- #'stx:goodies/sunit' "TestSuite - referenced by JavaTestsLoader class>>buildSuiteFrom: "
#'stx:libcomp' "BlockNode - referenced by JavaNativeMethod>>numberOfArgs: "
#'stx:libhtml' "URL - referenced by JavaEmbeddedFrameView>>setupAppletFrameIn:initializeJava: "
#'stx:libjava/experiments' "JavaByteCodeInterpreter - referenced by JavaMethod>>interpretWithReceiver:arguments: "
@@ -438,6 +438,7 @@
JavaClass
JavaClassPathBundle
JavaFieldRef2
+ JavaMethodAnalyzer
JavaMethodRef2
JavaMethodWithException
#'JavaNativeMethodImpl_OpenJDK7'