Introduced a JavaClassEnvironment - an abstract namespace-like class to keep Java classes.
It implements a protocol of Smalltalk and NameSpace so it can act as an environment
for class browsers.
--- /dev/null Thu Jan 01 00:00:00 1970 +0000
+++ b/JavaClassEnvironment.st Fri Apr 11 18:20:50 2014 +0200
@@ -0,0 +1,468 @@
+"
+ 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' }"
+
+Object subclass:#JavaClassEnvironment
+ instanceVariableNames:''
+ classVariableNames:''
+ poolDictionaries:''
+ category:'Languages-Java-Support'
+!
+
+!JavaClassEnvironment 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
+"
+ JavaClassEnvironment is an abstract base class that keeps
+ java classes. It implements 'system environment' protocol
+ so it can act as an environment for JBrowser (or Tools::NewSystemBrowser).
+
+ To open a browser on given environment do
+
+ JBrowser new
+ allButOpen;
+ environment: givenJavaEnvironment;
+ open.
+
+ [author:]
+ Jan Vrany <jan.vrany@fit.cvut.cz>
+
+ [instance variables:]
+
+ [class variables:]
+
+ [see also:]
+
+"
+! !
+
+!JavaClassEnvironment class methodsFor:'testing'!
+
+isAbstract
+ ^ self == JavaClassEnvironment
+! !
+
+!JavaClassEnvironment methodsFor:'accessing'!
+
+at: key
+ ^ self at: key ifAbsent:[nil]
+
+ "Created: / 03-09-2013 / 17:02:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+at:aSymbol ifAbsent:aBlock
+ ^ self allClassesDo:[:cls|
+ cls name == aSymbol ifTrue:[ ^ cls ].
+ ].
+
+ "Created: / 03-09-2013 / 17:02:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-09-2013 / 12:53:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+at: key put: value
+ ^ self shouldNotImplement
+
+ "Created: / 03-09-2013 / 17:02:08 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-09-2013 / 12:20:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!JavaClassEnvironment methodsFor:'enumerating'!
+
+allBehaviorsDo:aBlock
+ "evaluate the argument, aBlock for all classes and metaclasses in the system"
+
+ self allClassesAndMetaclassesDo:aBlock
+
+ "
+ Smalltalk allBehaviorsDo:[:aClass | aClass name printCR]
+ "
+!
+
+allClassCategories
+ "return a set of all class categories in the system"
+
+ |allCategories|
+
+ allCategories := Set new.
+ Smalltalk allClassesDo:[:cls |
+ |category|
+
+ category := cls category.
+ category notNil ifTrue:[
+ allCategories add:category.
+ ].
+ ].
+
+ ^ allCategories.
+
+ "
+ Smalltalk allClassCategories
+ "
+
+ "Created: / 17.11.2001 / 12:13:09 / cg"
+!
+
+allClassesAndMetaclassesDo:aBlock
+ "evaluate the argument, aBlock for all classes and metaclasses in the system."
+
+ |already|
+
+ already := IdentitySet new:NumberOfClassesHint*2.
+ self allClassesDo:[:eachClass |
+ |cls|
+
+ cls := eachClass theNonMetaclass.
+ (already includes:cls) ifFalse:[
+ aBlock value:cls.
+ already add:cls.
+ ].
+ cls := cls class.
+ (already includes:cls) ifFalse:[
+ aBlock value:cls.
+ already add:cls.
+ ].
+ ].
+!
+
+allClassesDo:aBlock
+ "evaluate the argument, aBlock for all classes in the system."
+
+ self subclassResponsibility
+
+ "
+ Smalltalk allClassesDo:[:aClass | aClass name printCR]
+ "
+
+ "Modified: / 04-09-2013 / 12:19:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+allClassesForWhich:filter
+ "return a collection with all classes in the system,
+ for which filter evaluates to true."
+
+ |collectedClasses|
+
+ collectedClasses := OrderedCollection new.
+ self allClassesForWhich:filter do:[:cls |
+ collectedClasses add:cls
+ ].
+ ^ collectedClasses
+
+ "
+ Smalltalk
+ allClassesForWhich:[:cls | cls name startsWith:'Po']
+ "
+
+ "Created: / 10-08-2006 / 12:11:31 / cg"
+!
+
+allClassesForWhich:filter do:aBlock
+ "evaluate the argument, aBlock for all classes in the system, for which filter evaluates to true."
+
+ self allClassesDo:[:cls |
+ (filter value:cls) ifTrue:[ aBlock value:cls ].
+ ].
+
+ "
+ Smalltalk
+ allClassesForWhich:[:cls | cls name startsWith:'Po']
+ do:[:aClass | Transcript showCR:aClass name]
+ "
+!
+
+allClassesInCategory:aCategory
+ "return a collection of for all classes in aCategory;
+ The order of the classes is not defined."
+
+ ^ self allClassesForWhich:[:cls | cls category = aCategory]
+
+ "
+ Smalltalk allClassesInCategory:'Views-Basic'
+ "
+
+ "Modified: / 10-08-2006 / 12:13:32 / cg"
+!
+
+allClassesInCategory:aCategory do:aBlock
+ "evaluate the argument, aBlock for all classes in the aCategory;
+ The order of the classes is not defined."
+
+ aCategory notNil ifTrue:[
+ self allClassesForWhich:[:cls | cls category = aCategory] do:aBlock
+ ]
+
+ "
+ Smalltalk allClassesInCategory:'Views-Basic' do:[:aClass | Transcript showCR:aClass]
+ "
+
+ "Modified: / 09-08-2006 / 17:18:50 / fm"
+!
+
+allClassesInCategory:aCategory inOrderDo:aBlock
+ "evaluate the argument, aBlock for all classes in aCategory;
+ superclasses come first - then subclasses"
+
+ |classes|
+
+ aCategory notNil ifTrue:[
+ classes := OrderedCollection new.
+ self allClassesInCategory:aCategory do:[:aClass |
+ classes add:aClass
+ ].
+ classes topologicalSort:[:a :b | b isSubclassOf:a].
+ classes do:aBlock
+ ]
+
+ "
+ Smalltalk allClassesInCategory:'Views-Basic' inOrderDo:[:aClass | aClass name printCR]
+ "
+
+ "Modified: / 17.11.2001 / 12:18:15 / cg"
+!
+
+allClassesInOrderDo:aBlock
+ "evaluate the argument, aBlock for all classes in the system;
+ Evaluation order is by inheritance: superclasses come first."
+
+ |already|
+
+ already := IdentitySet new:NumberOfClassesHint.
+ self allClassesDo:[:eachClass |
+ (already includes:eachClass) ifFalse:[
+ eachClass allSuperclasses reverseDo:[:eachSuperClass |
+ (already includes:eachSuperClass) ifFalse:[
+ already add:eachSuperClass.
+ aBlock value:eachSuperClass.
+ ].
+ ].
+ already add:eachClass.
+ aBlock value:eachClass.
+ ]
+ ].
+
+ "
+ Smalltalk allClassesInOrderDo:[:aClass | Transcript showCR:aClass name]
+ "
+!
+
+allClassesInPackage:aPackageID
+ "evaluate the argument, aBlock for all classes a package;
+ The order of the classes is not defined.
+ The returned collection may include private classes"
+
+ ^ self allClassesForWhich:[:cls | cls package = aPackageID]
+
+ "
+ Smalltalk allClassesInPackage:'bosch:dapasx'
+ "
+
+ "Created: / 10-08-2006 / 12:14:10 / cg"
+ "Modified: / 12-10-2006 / 23:48:43 / cg"
+!
+
+allClassesInPackage:aPackageID do:aBlock
+ "evaluate the argument, aBlock for all classes a package;
+ The order of the classes is not defined."
+
+ ^ self allClassesForWhich:[:cls | cls package = aPackageID] do:aBlock
+
+ "
+ Smalltalk allClassesInPackage:'bosch:dapasx' do:[:aClass | Transcript showCR:aClass]
+ "
+
+ "Created: / 09-08-2006 / 17:14:17 / fm"
+!
+
+allKeysDo:aBlock
+ "evaluate the argument, aBlock for all keys in the Smalltalk dictionary"
+
+ ^ self keysDo:aBlock
+!
+
+allMethodCategories
+ "return a set of all method-categories (protocols) in the system"
+
+ |allCategories|
+
+ allCategories := Set new.
+ Smalltalk allClassesDo:[:cls |
+ allCategories addAll:cls categories.
+ ].
+
+ ^ allCategories.
+
+ "
+ Smalltalk allMethodCategories
+ "
+!
+
+allMethodsDo:aBlock
+ "enumerate all methods in all classes"
+
+ Smalltalk allClassesDo:[:eachClass |
+ eachClass instAndClassSelectorsAndMethodsDo:[:sel :mthd |
+ aBlock value:mthd
+ ]
+ ].
+!
+
+allMethodsForWhich:aBlock
+ "return a collection of methods for which aBlock returns true"
+
+ |coll|
+
+ coll := OrderedCollection new.
+ Smalltalk allClassesDo:[:eachClass |
+ eachClass instAndClassSelectorsAndMethodsDo:[:sel :mthd |
+ (aBlock value:mthd) ifTrue:[
+ coll add:mthd
+ ].
+ ]
+ ].
+ ^ coll
+!
+
+allMethodsWithSelectorDo:aTwoArgBlock
+ "enumerate all methods in all classes and evaluate aBlock
+ with method and selector as arguments."
+
+ Smalltalk allClassesDo:[:eachClass |
+ eachClass instAndClassSelectorsAndMethodsDo:[:sel :mthd |
+ aTwoArgBlock value:mthd value:sel
+ ]
+ ].
+!
+
+associationsDo:aBlock
+ "evaluate the argument, aBlock for all key/value pairs
+ in the Smalltalk dictionary"
+
+ self keysDo:[:aKey |
+ aBlock value:(aKey -> (self at:aKey))
+ ]
+
+ "Smalltalk associationsDo:[:assoc | assoc printCR]"
+!
+
+keysAndValuesDo: block
+ self allClassesDo:[:cls|
+ block value: cls name value: cls
+ ].
+
+ "Smalltalk associationsDo:[:assoc | assoc printCR]"
+
+ "Created: / 03-09-2013 / 16:54:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 04-09-2013 / 12:19:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+keysAndValuesSelect:selectBlockWith2Args thenCollect:collectBlockWith2Args
+ |collected|
+
+ collected := OrderedCollection new.
+ self keysAndValuesDo:[:eachKey :eachValue |
+ (selectBlockWith2Args value:eachKey value:eachValue) ifTrue:[
+ collected add:(collectBlockWith2Args value:eachKey value:eachValue)
+ ].
+ ].
+ ^ collected
+
+ "
+ Smalltalk
+ keysAndValuesSelect:[:nm :val | (nm startsWith:'Ab') and:[val notNil]]
+ thenCollect:[:nm :val | nm]
+ "
+!
+
+keysDo:aBlock
+ "evaluate the argument, aBlock for all keys in the Smalltalk dictionary"
+
+ ^self keysAndValuesDo:[:key :value|
+ aBlock value: key
+ ]
+
+ "Created: / 03-09-2013 / 16:55:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!JavaClassEnvironment methodsFor:'queries'!
+
+allClasses
+ "return an unordered collection of all classes in the system.
+ Only globally anchored classes are returned
+ (i.e. anonymous ones have to be aquired by Behavior allSubInstances)"
+
+ |classes|
+
+ classes := IdentitySet new:100.
+ self allClassesDo:[:cls | classes add: cls ].
+ ^ classes
+
+ "
+ CachedClasses := nil.
+ Smalltalk allClasses
+
+ to get the list sorted by name:
+
+ Smalltalk allClasses asSortedCollection:[:a :b | a name < b name]
+ "
+
+ "Modified: / 06-12-2011 / 12:41:42 / cg"
+ "Modified: / 04-09-2013 / 12:18:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+allClassesAndMetaclasses
+ "return an unordered collection of all classes with their metaclasses in the system."
+
+ |classes|
+
+ classes := IdentitySet new:100.
+ self allClassesDo:[:eachClass |
+ classes add:(eachClass theNonMetaclass).
+ classes add:(eachClass theMetaclass).
+ ].
+ ^ classes
+
+ "Modified: / 04-09-2013 / 12:18:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
--- a/JavaClassRegistry.st Thu Apr 10 09:04:48 2014 +0200
+++ b/JavaClassRegistry.st Fri Apr 11 18:20:50 2014 +0200
@@ -20,7 +20,7 @@
"
"{ Package: 'stx:libjava' }"
-Object subclass:#JavaClassRegistry
+JavaClassEnvironment subclass:#JavaClassRegistry
instanceVariableNames:'vm loaders notifier lock'
classVariableNames:''
poolDictionaries:'JavaVMData'
--- a/Make.proto Thu Apr 10 09:04:48 2014 +0200
+++ b/Make.proto Fri Apr 11 18:20:50 2014 +0200
@@ -179,6 +179,7 @@
$(OUTDIR)JavaByte.$(O) JavaByte.$(H): JavaByte.st $(INCLUDE_TOP)/stx/libbasic/ArithmeticValue.$(H) $(INCLUDE_TOP)/stx/libbasic/Integer.$(H) $(INCLUDE_TOP)/stx/libbasic/Magnitude.$(H) $(INCLUDE_TOP)/stx/libbasic/Number.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)JavaByteCodeProcessor.$(O) JavaByteCodeProcessor.$(H): JavaByteCodeProcessor.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)JavaClassAccessor.$(O) JavaClassAccessor.$(H): JavaClassAccessor.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)JavaClassEnvironment.$(O) JavaClassEnvironment.$(H): JavaClassEnvironment.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)JavaClassQuery.$(O) JavaClassQuery.$(H): JavaClassQuery.st $(INCLUDE_TOP)/stx/libbasic/GenericException.$(H) $(INCLUDE_TOP)/stx/libbasic/Notification.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/Query.$(H) $(STCHDR)
$(OUTDIR)JavaClassReloader.$(O) JavaClassReloader.$(H): JavaClassReloader.st $(INCLUDE_TOP)/stx/libbasic/GenericException.$(H) $(INCLUDE_TOP)/stx/libbasic/Notification.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)JavaCodeLibraryOrBundle.$(O) JavaCodeLibraryOrBundle.$(H): JavaCodeLibraryOrBundle.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
@@ -246,7 +247,7 @@
$(OUTDIR)JavaClassMemberRef2.$(O) JavaClassMemberRef2.$(H): JavaClassMemberRef2.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libjava/JavaRef2.$(H) $(STCHDR)
$(OUTDIR)JavaClassReader.$(O) JavaClassReader.$(H): JavaClassReader.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libjava/JavaConstants.$(H) $(STCHDR)
$(OUTDIR)JavaClassRef2.$(O) JavaClassRef2.$(H): JavaClassRef2.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libjava/JavaRef2.$(H) $(STCHDR)
-$(OUTDIR)JavaClassRegistry.$(O) JavaClassRegistry.$(H): JavaClassRegistry.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libjava/JavaVMData.$(H) $(STCHDR)
+$(OUTDIR)JavaClassRegistry.$(O) JavaClassRegistry.$(H): JavaClassRegistry.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libjava/JavaClassEnvironment.$(H) $(INCLUDE_TOP)/stx/libjava/JavaVMData.$(H) $(STCHDR)
$(OUTDIR)JavaCodeBundle.$(O) JavaCodeBundle.$(H): JavaCodeBundle.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libjava/JavaCodeLibraryOrBundle.$(H) $(STCHDR)
$(OUTDIR)JavaCodeLibrary.$(O) JavaCodeLibrary.$(H): JavaCodeLibrary.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libjava/JavaCodeLibraryOrBundle.$(H) $(STCHDR)
$(OUTDIR)JavaEmbeddedFrameView.$(O) JavaEmbeddedFrameView.$(H): JavaEmbeddedFrameView.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libjava/JavaView.$(H) $(INCLUDE_TOP)/stx/libview/DeviceGraphicsContext.$(H) $(INCLUDE_TOP)/stx/libview/DisplaySurface.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsContext.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsMedium.$(H) $(INCLUDE_TOP)/stx/libview/SimpleView.$(H) $(INCLUDE_TOP)/stx/libview/View.$(H) $(STCHDR)
--- a/Make.spec Thu Apr 10 09:04:48 2014 +0200
+++ b/Make.spec Fri Apr 11 18:20:50 2014 +0200
@@ -64,6 +64,7 @@
JavaByte \
JavaByteCodeProcessor \
JavaClassAccessor \
+ JavaClassEnvironment \
JavaClassQuery \
JavaClassReloader \
JavaCodeLibraryOrBundle \
@@ -200,6 +201,7 @@
$(OUTDIR_SLASH)JavaByte.$(O) \
$(OUTDIR_SLASH)JavaByteCodeProcessor.$(O) \
$(OUTDIR_SLASH)JavaClassAccessor.$(O) \
+ $(OUTDIR_SLASH)JavaClassEnvironment.$(O) \
$(OUTDIR_SLASH)JavaClassQuery.$(O) \
$(OUTDIR_SLASH)JavaClassReloader.$(O) \
$(OUTDIR_SLASH)JavaCodeLibraryOrBundle.$(O) \
--- a/abbrev.stc Thu Apr 10 09:04:48 2014 +0200
+++ b/abbrev.stc Fri Apr 11 18:20:50 2014 +0200
@@ -3,7 +3,6 @@
# it provides information about a classes filename, category and especially namespace.
GroovyCompiler GroovyCompiler stx:libjava 'Languages-Groovy-Compiler' 0
GroovyEvaluator GroovyEvaluator stx:libjava 'Languages-Groovy-Compiler' 0
-GroovyEvaluatorTests GroovyEvaluatorTests stx:libjava 'Languages-Groovy-Tests' 1
GroovyLanguage GroovyLanguage stx:libjava 'Languages-Groovy-Support' 1
GroovySourceFileWriter GroovySourceFileWriter stx:libjava 'Languages-Groovy-Support' 0
JavaAnnotation JavaAnnotation stx:libjava 'Languages-Java-Reader-Support' 0
@@ -11,14 +10,12 @@
JavaAnnotationDefault JavaAnnotationDefault stx:libjava 'Languages-Java-Annotations' 1
JavaAnnotationDictionary JavaAnnotationDictionary stx:libjava 'Languages-Java-Annotations' 1
JavaAnnotationValue JavaAnnotationValue stx:libjava 'Languages-Java-Reader-Support' 0
-JavaAntProjectResource JavaAntProjectResource stx:libjava 'Languages-Java-Tests' 2
JavaArray JavaArray stx:libjava 'Languages-Java-Classes' 1
JavaBooleanArray JavaBooleanArray stx:libjava 'Languages-Java-Support' 0
JavaByte JavaByte stx:libjava 'Languages-Java-Support' 0
JavaByteCodeProcessor JavaByteCodeProcessor stx:libjava 'Languages-Java-Bytecode' 0
-JavaByteCodeProcessorTests JavaByteCodeProcessorTests stx:libjava 'Languages-Java-Tests' 1
JavaClassAccessor JavaClassAccessor stx:libjava 'Languages-Java-Classes' 0
-JavaClassLoadingTests JavaClassLoadingTests stx:libjava 'Languages-Java-Tests-ClassLoading' 1
+JavaClassEnvironment JavaClassEnvironment stx:libjava 'Languages-Java-Support' 0
JavaClassQuery JavaClassQuery stx:libjava 'Languages-Java-Classes' 1
JavaClassReloader JavaClassReloader stx:libjava 'Languages-Java-Support' 0
JavaCodeLibraryOrBundle JavaCodeLibraryOrBundle stx:libjava 'Languages-Java-Support-Libraries' 0
@@ -31,26 +28,18 @@
JavaDescriptor JavaDescriptor stx:libjava 'Languages-Java-Support' 0
JavaError JavaError stx:libjava 'Languages-Java-Support' 1
JavaExceptionTable JavaExceptionTable stx:libjava 'Languages-Java-Support' 0
-JavaExceptionTests JavaExceptionTests stx:libjava 'Languages-Java-Tests' 1
JavaField JavaField stx:libjava 'Languages-Java-Reader-Support' 0
JavaFinalizationRegistry JavaFinalizationRegistry stx:libjava 'Languages-Java-Support' 0
-JavaFreshlyInitializedResource JavaFreshlyInitializedResource stx:libjava 'Languages-Java-Tests' 1
JavaInnerClasses JavaInnerClasses stx:libjava 'Languages-Java-Support' 0
-JavaJUnitTests JavaJUnitTests stx:libjava 'Languages-Java-Tests-Libraries' 1
JavaLanguage JavaLanguage stx:libjava 'Languages-Java-Support' 1
JavaLibraries JavaLibraries stx:libjava 'Languages-Java-Support' 0
-JavaLibrariesResource JavaLibrariesResource stx:libjava 'Languages-Java-Tests' 1
JavaLocalVariableTable JavaLocalVariableTable stx:libjava 'Languages-Java-Support' 0
JavaLocalVariableTableEntry JavaLocalVariableTableEntry stx:libjava 'Languages-Java-Support' 0
JavaLookup JavaLookup stx:libjava 'Languages-Java-Interop' 0
-JavaLookupResolutionAlgorithmTests JavaLookupResolutionAlgorithmTests stx:libjava 'Languages-Java-Tests-Interop' 1
-JavaLookupTests JavaLookupTests stx:libjava 'Languages-Java-Tests-Interop' 1
JavaMetaclass JavaMetaclass stx:libjava 'Languages-Java-Classes' 0
JavaMonitor JavaMonitor stx:libjava 'Languages-Java-Support' 0
-JavaMonitorsTests JavaMonitorsTests stx:libjava 'Languages-Java-Tests' 1
JavaNameAndType2 JavaNameAndType2 stx:libjava 'Languages-Java-Reader-Support-new' 0
JavaNativeMemory JavaNativeMemory stx:libjava 'Languages-Java-Support' 0
-JavaNativeMemoryTests JavaNativeMemoryTests stx:libjava 'Languages-Java-Tests' 1
JavaNioSupport JavaNioSupport stx:libjava 'Languages-Java-Support-Native' 0
JavaObject JavaObject stx:libjava 'Languages-Java-Classes' 0
JavaObjectDictionary JavaObjectDictionary stx:libjava 'Languages-Java-Support' 0
@@ -58,19 +47,15 @@
JavaPopUpView JavaPopUpView stx:libjava 'Languages-Java-Views-Support' 2
JavaProcess JavaProcess stx:libjava 'Languages-Java-Classes' 0
JavaRef2 JavaRef2 stx:libjava 'Languages-Java-Reader-Support-new' 0
-JavaRefsAndConstantPoolTestCase JavaRefsAndConstantPoolTestCase stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
JavaRelease JavaRelease stx:libjava 'Languages-Java-Support' 1
-JavaReleaseTests JavaReleaseTests stx:libjava 'Languages-Java-Tests' 1
JavaResolver JavaResolver stx:libjava 'Languages-Java-Reader-Support-new' 0
JavaShort JavaShort stx:libjava 'Languages-Java-Support' 0
JavaSlotIndexCache JavaSlotIndexCache stx:libjava 'Languages-Java-Support' 0
JavaSocket JavaSocket stx:libjava 'Languages-Java-Support' 0
JavaSourceCodeCache JavaSourceCodeCache stx:libjava 'Languages-Java-Support' 1
JavaSourceFileWriter JavaSourceFileWriter stx:libjava 'Languages-Java-Support' 0
-JavaTestCaseProxy JavaTestCaseProxy stx:libjava 'Languages-Java-Tests-Proxies' 3
JavaTestsLoader JavaTestsLoader stx:libjava 'Languages-Java-Tests' 0
JavaTopView JavaTopView stx:libjava 'Languages-Java-Views-Support' 2
-JavaUTF8Tests JavaUTF8Tests stx:libjava 'Languages-Java-Tests' 1
JavaUnresolvedCompilationError JavaUnresolvedCompilationError stx:libjava 'Languages-Java-Support' 1
JavaUnresolvedConstant JavaUnresolvedConstant stx:libjava 'Languages-Java-Reader-Support' 0
JavaUtilities JavaUtilities stx:libjava 'Languages-Java-Utilities' 0
@@ -84,7 +69,6 @@
SmalltalkAppletStub SmalltalkAppletStub stx:libjava 'Languages-Java-Views-Support' 0
stx_libjava stx_libjava stx:libjava '* Projects & Packages *' 3
GroovyMetaclass GroovyMetaclass stx:libjava 'Languages-Groovy-Classes' 0
-JUnitTestCaseProxy JUnitTestCaseProxy stx:libjava 'Languages-Java-Tests-Proxies' 3
Java Java stx:libjava 'Languages-Java-Support' 0
JavaAnnotationArrayValue JavaAnnotationArrayValue stx:libjava 'Languages-Java-Reader-Support' 0
JavaAnnotationClassValue JavaAnnotationClassValue stx:libjava 'Languages-Java-Reader-Support' 0
@@ -93,15 +77,12 @@
JavaAnnotationPrimitiveValue JavaAnnotationPrimitiveValue stx:libjava 'Languages-Java-Reader-Support' 0
JavaBehavior JavaBehavior stx:libjava 'Languages-Java-Classes' 0
JavaByteCodeDisassembler JavaByteCodeDisassembler stx:libjava 'Languages-Java-Bytecode' 0
-JavaByteCodeDisassemblerTests JavaByteCodeDisassemblerTests stx:libjava 'Languages-Java-Tests' 1
JavaByteCodeEnumerator JavaByteCodeEnumerator stx:libjava 'Languages-Java-Support-Decompiling' 0
JavaByteCodeProcessorAdapter JavaByteCodeProcessorAdapter stx:libjava 'Languages-Java-Bytecode' 0
JavaClassAnnotationContainer JavaClassAnnotationContainer stx:libjava 'Languages-Java-Annotations' 1
JavaClassMemberRef2 JavaClassMemberRef2 stx:libjava 'Languages-Java-Reader-Support-new' 0
JavaClassReader JavaClassReader stx:libjava 'Languages-Java-Support' 0
-JavaClassReaderTests JavaClassReaderTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
JavaClassRef2 JavaClassRef2 stx:libjava 'Languages-Java-Reader-Support-new' 0
-JavaClassRefTests JavaClassRefTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
JavaClassRegistry JavaClassRegistry stx:libjava 'Languages-Java-Support' 0
JavaCodeBundle JavaCodeBundle stx:libjava 'Languages-Java-Support-Libraries' 0
JavaCodeLibrary JavaCodeLibrary stx:libjava 'Languages-Java-Support-Libraries' 0
@@ -109,20 +90,13 @@
JavaFieldAnnotationContainer JavaFieldAnnotationContainer stx:libjava 'Languages-Java-Annotations' 1
JavaFieldDescriptor JavaFieldDescriptor stx:libjava 'Languages-Java-Support' 0
JavaFieldDescriptorWithUnionType JavaFieldDescriptorWithUnionType stx:libjava 'Languages-Java-Support' 0
-JavaFieldRefTests JavaFieldRefTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
-JavaInitializedResource JavaInitializedResource stx:libjava 'Languages-Java-Tests' 2
-JavaInterfaceMethodRefTests JavaInterfaceMethodRefTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
JavaInvalidRefError JavaInvalidRefError stx:libjava 'Languages-Java-Support' 1
JavaMethod JavaMethod stx:libjava 'Languages-Java-Classes' 0
JavaMethodAnnotationContainer JavaMethodAnnotationContainer stx:libjava 'Languages-Java-Annotations' 1
JavaMethodDescriptor JavaMethodDescriptor stx:libjava 'Languages-Java-Support' 0
-JavaMethodRefTests JavaMethodRefTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
JavaMirror JavaMirror stx:libjava 'Languages-Java-Classes' 0
JavaNativeMethodImpl_OpenJDK6 JavaNativeMethodImpl_OpenJDK6 stx:libjava 'Languages-Java-Support-Java 6' 0
-JavaRefMock JavaRefMock stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 0
-JavaRuntimeConstantPoolTests JavaRuntimeConstantPoolTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
JavaStringRef2 JavaStringRef2 stx:libjava 'Languages-Java-Reader-Support-new' 0
-JavaTestsResource JavaTestsResource stx:libjava 'Languages-Java-Tests' 2
JavaUnhandledExceptionError JavaUnhandledExceptionError stx:libjava 'Languages-Java-Support' 1
JavaUnresolvedClassConstant JavaUnresolvedClassConstant stx:libjava 'Languages-Java-Reader-Support' 0
JavaUnresolvedStringConstant JavaUnresolvedStringConstant stx:libjava 'Languages-Java-Reader-Support' 0
@@ -131,7 +105,6 @@
ProxyMethodGuardNode ProxyMethodGuardNode stx:libjava 'System-Compiler-Interop' 0
ProxyMethodInvocationNode ProxyMethodInvocationNode stx:libjava 'System-Compiler-Interop' 0
ProxyMethodJavaFieldAccessor ProxyMethodJavaFieldAccessor stx:libjava 'Languages-Java-Interop' 0
-TestletTestCaseProxy TestletTestCaseProxy stx:libjava 'Languages-Java-Tests-Proxies' 3
JavaAlienMirror JavaAlienMirror stx:libjava 'Languages-Java-Classes' 0
JavaArrayMirror JavaArrayMirror stx:libjava 'Languages-Java-Classes' 0
JavaByteCodePreresolver JavaByteCodePreresolver stx:libjava 'Languages-Java-Bytecode' 0
@@ -160,3 +133,31 @@
ProxyMethodJavaTypeCheckNode ProxyMethodJavaTypeCheckNode stx:libjava 'Languages-Java-Interop' 0
JavaNativeMethod JavaNativeMethod stx:libjava 'Languages-Java-Classes' 0
JavaNativeMethodImpl_OracleJDK8 JavaNativeMethodImpl_OracleJDK8 stx:libjava 'Languages-Java-Support-Java 8' 0
+GroovyEvaluatorTests GroovyEvaluatorTests stx:libjava 'Languages-Groovy-Tests' 1
+JUnitTestCaseProxy JUnitTestCaseProxy stx:libjava 'Languages-Java-Tests-Proxies' 3
+JavaAntProjectResource JavaAntProjectResource stx:libjava 'Languages-Java-Tests' 2
+JavaByteCodeDisassemblerTests JavaByteCodeDisassemblerTests stx:libjava 'Languages-Java-Tests' 0
+JavaByteCodeProcessorTests JavaByteCodeProcessorTests stx:libjava 'Languages-Java-Tests' 0
+JavaClassLoadingTests JavaClassLoadingTests stx:libjava 'Languages-Java-Tests-ClassLoading' 0
+JavaClassReaderTests JavaClassReaderTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 0
+JavaClassRefTests JavaClassRefTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 0
+JavaExceptionTests JavaExceptionTests stx:libjava 'Languages-Java-Tests' 0
+JavaFieldRefTests JavaFieldRefTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 0
+JavaFreshlyInitializedResource JavaFreshlyInitializedResource stx:libjava 'Languages-Java-Tests' 0
+JavaInitializedResource JavaInitializedResource stx:libjava 'Languages-Java-Tests' 0
+JavaInterfaceMethodRefTests JavaInterfaceMethodRefTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 0
+JavaJUnitTests JavaJUnitTests stx:libjava 'Languages-Java-Tests-Libraries' 0
+JavaLibrariesResource JavaLibrariesResource stx:libjava 'Languages-Java-Tests' 0
+JavaLookupResolutionAlgorithmTests JavaLookupResolutionAlgorithmTests stx:libjava 'Languages-Java-Tests-Interop' 0
+JavaLookupTests JavaLookupTests stx:libjava 'Languages-Java-Tests-Interop' 0
+JavaMethodRefTests JavaMethodRefTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 0
+JavaMonitorsTests JavaMonitorsTests stx:libjava 'Languages-Java-Tests' 0
+JavaNativeMemoryTests JavaNativeMemoryTests stx:libjava 'Languages-Java-Tests' 0
+JavaRefMock JavaRefMock stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 0
+JavaRefsAndConstantPoolTestCase JavaRefsAndConstantPoolTestCase stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 0
+JavaReleaseTests JavaReleaseTests stx:libjava 'Languages-Java-Tests' 0
+JavaRuntimeConstantPoolTests JavaRuntimeConstantPoolTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 0
+JavaTestCaseProxy JavaTestCaseProxy stx:libjava 'Languages-Java-Tests-Proxies' 3
+JavaTestsResource JavaTestsResource stx:libjava 'Languages-Java-Tests' 0
+JavaUTF8Tests JavaUTF8Tests stx:libjava 'Languages-Java-Tests' 0
+TestletTestCaseProxy TestletTestCaseProxy stx:libjava 'Languages-Java-Tests-Proxies' 0
--- a/bc.mak Thu Apr 10 09:04:48 2014 +0200
+++ b/bc.mak Fri Apr 11 18:20:50 2014 +0200
@@ -112,6 +112,7 @@
$(OUTDIR)JavaByte.$(O) JavaByte.$(H): JavaByte.st $(INCLUDE_TOP)\stx\libbasic\ArithmeticValue.$(H) $(INCLUDE_TOP)\stx\libbasic\Integer.$(H) $(INCLUDE_TOP)\stx\libbasic\Magnitude.$(H) $(INCLUDE_TOP)\stx\libbasic\Number.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)JavaByteCodeProcessor.$(O) JavaByteCodeProcessor.$(H): JavaByteCodeProcessor.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)JavaClassAccessor.$(O) JavaClassAccessor.$(H): JavaClassAccessor.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)JavaClassEnvironment.$(O) JavaClassEnvironment.$(H): JavaClassEnvironment.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)JavaClassQuery.$(O) JavaClassQuery.$(H): JavaClassQuery.st $(INCLUDE_TOP)\stx\libbasic\GenericException.$(H) $(INCLUDE_TOP)\stx\libbasic\Notification.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libbasic\Query.$(H) $(STCHDR)
$(OUTDIR)JavaClassReloader.$(O) JavaClassReloader.$(H): JavaClassReloader.st $(INCLUDE_TOP)\stx\libbasic\GenericException.$(H) $(INCLUDE_TOP)\stx\libbasic\Notification.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)JavaCodeLibraryOrBundle.$(O) JavaCodeLibraryOrBundle.$(H): JavaCodeLibraryOrBundle.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
@@ -179,7 +180,7 @@
$(OUTDIR)JavaClassMemberRef2.$(O) JavaClassMemberRef2.$(H): JavaClassMemberRef2.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libjava\JavaRef2.$(H) $(STCHDR)
$(OUTDIR)JavaClassReader.$(O) JavaClassReader.$(H): JavaClassReader.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libjava\JavaConstants.$(H) $(STCHDR)
$(OUTDIR)JavaClassRef2.$(O) JavaClassRef2.$(H): JavaClassRef2.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libjava\JavaRef2.$(H) $(STCHDR)
-$(OUTDIR)JavaClassRegistry.$(O) JavaClassRegistry.$(H): JavaClassRegistry.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libjava\JavaVMData.$(H) $(STCHDR)
+$(OUTDIR)JavaClassRegistry.$(O) JavaClassRegistry.$(H): JavaClassRegistry.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libjava\JavaClassEnvironment.$(H) $(INCLUDE_TOP)\stx\libjava\JavaVMData.$(H) $(STCHDR)
$(OUTDIR)JavaCodeBundle.$(O) JavaCodeBundle.$(H): JavaCodeBundle.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libjava\JavaCodeLibraryOrBundle.$(H) $(STCHDR)
$(OUTDIR)JavaCodeLibrary.$(O) JavaCodeLibrary.$(H): JavaCodeLibrary.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libjava\JavaCodeLibraryOrBundle.$(H) $(STCHDR)
$(OUTDIR)JavaEmbeddedFrameView.$(O) JavaEmbeddedFrameView.$(H): JavaEmbeddedFrameView.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(INCLUDE_TOP)\stx\libjava\JavaView.$(H) $(INCLUDE_TOP)\stx\libview\DeviceGraphicsContext.$(H) $(INCLUDE_TOP)\stx\libview\DisplaySurface.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsContext.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsMedium.$(H) $(INCLUDE_TOP)\stx\libview\SimpleView.$(H) $(INCLUDE_TOP)\stx\libview\View.$(H) $(STCHDR)
--- a/libInit.cc Thu Apr 10 09:04:48 2014 +0200
+++ b/libInit.cc Fri Apr 11 18:20:50 2014 +0200
@@ -41,6 +41,7 @@
_JavaByte_Init(pass,__pRT__,snd);
_JavaByteCodeProcessor_Init(pass,__pRT__,snd);
_JavaClassAccessor_Init(pass,__pRT__,snd);
+_JavaClassEnvironment_Init(pass,__pRT__,snd);
_JavaClassQuery_Init(pass,__pRT__,snd);
_JavaClassReloader_Init(pass,__pRT__,snd);
_JavaCodeLibraryOrBundle_Init(pass,__pRT__,snd);
--- a/stx_libjava.st Thu Apr 10 09:04:48 2014 +0200
+++ b/stx_libjava.st Fri Apr 11 18:20:50 2014 +0200
@@ -320,6 +320,7 @@
JavaByte
JavaByteCodeProcessor
JavaClassAccessor
+ JavaClassEnvironment
JavaClassQuery
JavaClassReloader
JavaCodeLibraryOrBundle