--- a/JavaAlienMirror.st Wed Dec 18 12:03:32 2013 +0100
+++ b/JavaAlienMirror.st Wed Dec 18 14:52:11 2013 +0100
@@ -55,7 +55,7 @@
documentation
"
- Specialized mirror for Smalltalk (and all other
+ Specialized mirror for Smalltalk (and all other
non-Java classes)
[author:]
@@ -81,7 +81,7 @@
!
getDeclaredConstructors:publicOnly
- "Returns an java.lang.reflect.Constructor[] with all constructors
+ "Returns an java.lang.reflect.Constructor[] with all constructors
declared by this class"
"Here, return onlu default constructor. Later, all methods annotated
@@ -97,20 +97,20 @@
].
ctors isEmpty ifTrue:[
- "/If no constructor is found, fake default one...
+ "/If no constructor is found, fake default one...
ctors add: (self getDeclaredConstructorFor: (klass lookupMethodFor: #initialize)).
].
- ^java_lang_reflect_Constructor javaArrayClass withAll: ctors
+ ^_java_lang_reflect_Constructor_CLASS javaArrayClass withAll: ctors
"Modified: / 18-05-2013 / 10:57:10 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
getDeclaredFields:publicOnly
- "Returns an java.lang.reflect.Field[] with all constructors
+ "Returns an java.lang.reflect.Field[] with all constructors
declared by this class."
- | fields |
+ | fields |
fields := OrderedCollection new.
@@ -118,7 +118,7 @@
| field |
field := JavaField new.
- field
+ field
setAccessFlags: JavaConstants ACC_PROTECTED;
setClass: klass;
setIndex: klass superclass instSize + index;
@@ -128,14 +128,14 @@
fields add: (self createFieldFor: field)
].
- ^ java_lang_reflect_Field javaArrayClass
+ ^ _java_lang_reflect_Field_CLASS javaArrayClass
withAll:fields
"Modified: / 18-05-2013 / 10:57:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-getDeclaredMethods:publicOnly
- "Returns an java.lang.reflect.Method[] with all methods
+getDeclaredMethods:publicOnly
+ "Returns an java.lang.reflect.Method[] with all methods
declared by this class"
| methods |
@@ -146,7 +146,7 @@
methods add: (self getDeclaredMethodFor: mthd).
].
].
- ^java_lang_reflect_Method javaArrayClass withAll: methods
+ ^_java_lang_reflect_Method_CLASS javaArrayClass withAll: methods
"Modified: / 18-05-2013 / 10:57:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
@@ -177,13 +177,13 @@
!JavaAlienMirror methodsFor:'accessing-private'!
getDeclaredConstructorFor: method
- ^ self
- createConstructorFor: klass
- method: method
+ ^ self
+ createConstructorFor: klass
+ method: method
signature: (self getSignatureForConstructor: method)
- modifiers: JavaConstants ACC_PUBLIC
- parameterTyoes: #()
- exceptionTypes: #()
+ modifiers: JavaConstants ACC_PUBLIC
+ parameterTyoes: #()
+ exceptionTypes: #()
annotations: JavaMethodAnnotationContainer new
"Created: / 22-08-2012 / 11:36:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -193,16 +193,16 @@
| signature name |
signature := self getSignatureForMethod: method short: false.
- name := signature upTo: $(.
- ^ self
- createMethodFor: klass
- method: method
+ name := signature upTo: $(.
+ ^ self
+ createMethodFor: klass
+ method: method
name: name
signature: signature
- modifiers: JavaConstants ACC_PUBLIC
- parameterTyoes: ((1 to: method selector numArgs)collect:[:i|java_lang_Object])
- returnType: java_lang_Object
- exceptionTypes: #()
+ modifiers: JavaConstants ACC_PUBLIC
+ parameterTyoes: ((1 to: method selector numArgs)collect:[:i|_java_lang_Object_CLASS])
+ returnType: _java_lang_Object_CLASS
+ exceptionTypes: #()
annotations: JavaMethodAnnotationContainer new
"Created: / 22-08-2012 / 11:36:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -262,7 +262,7 @@
isJavaMethod: mthd selector: sel
- ^sel isBinarySelector not
+ ^sel isBinarySelector not
and:[(self isJavaConstructor: mthd selector: sel) not]
"Created: / 22-08-2012 / 11:47:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
--- a/JavaArrayMirror.st Wed Dec 18 12:03:32 2013 +0100
+++ b/JavaArrayMirror.st Wed Dec 18 14:52:11 2013 +0100
@@ -64,28 +64,28 @@
!
getDeclaredConstructors:publicOnly
- "Returns an java.lang.reflect.Constructor[] with all constructors
+ "Returns an java.lang.reflect.Constructor[] with all constructors
declared by this class"
- ^ java_lang_reflect_Constructor javaArrayClass new:0.
+ ^ _java_lang_reflect_Constructor_CLASS javaArrayClass new:0.
"Modified: / 18-05-2013 / 10:57:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
getDeclaredFields:publicOnly
- "Returns an java.lang.reflect.Field[] with all constructors
+ "Returns an java.lang.reflect.Field[] with all constructors
declared by this class."
- ^java_lang_reflect_Field javaArrayClass new:0.
+ ^_java_lang_reflect_Field_CLASS javaArrayClass new:0.
"Modified: / 18-05-2013 / 10:57:37 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-getDeclaredMethods:publicOnly
- "Returns an java.lang.reflect.Method[] with all methods
+getDeclaredMethods:publicOnly
+ "Returns an java.lang.reflect.Method[] with all methods
declared by this class"
-
- ^ java_lang_reflect_Method javaArrayClass new:0.
+
+ ^ _java_lang_reflect_Method_CLASS javaArrayClass new:0.
"Modified: / 18-05-2013 / 10:57:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
@@ -93,7 +93,7 @@
getInterfaces
"Return a list if interfaces"
- ^ Array
+ ^ Array
with: (JavaVM classForName: 'java.lang.Cloneable' definedBy: nil)
with: (JavaVM classForName: 'java.io.Serializable' definedBy: nil)
--- a/JavaClass.st Wed Dec 18 12:03:32 2013 +0100
+++ b/JavaClass.st Wed Dec 18 14:52:11 2013 +0100
@@ -29,7 +29,7 @@
category:'Languages-Java-Classes'
!
-Array subclass:#Attributes
+Array variableSubclass:#Attributes
instanceVariableNames:''
classVariableNames:'Empty'
poolDictionaries:''
@@ -127,10 +127,6 @@
"Modified: / 06-12-2013 / 22:59:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-
-
-
-
name:aString
self shouldNotImplement
@@ -746,8 +742,6 @@
^ fields
!
-
-
javaClass
^ self
@@ -834,10 +828,6 @@
"Created: / 5.11.1998 / 19:16:00 / cg"
!
-
-
-
-
nameWithoutNameSpacePrefix
^ binaryName
@@ -1326,8 +1316,6 @@
"Modified: / 08-10-2013 / 22:36:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-
-
parent
^nil
@@ -2327,8 +2315,6 @@
"Modified: / 02-11-2012 / 21:49:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-
-
setInterfaces: i
super setInterfaces: i.
@@ -2555,9 +2541,10 @@
!
isBuiltInClass
- ^JavaVM builtInClassNames includes: name
+ ^JavaVM builtInClassNames includes: binaryName
"Created: / 22-05-2013 / 20:38:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 18-12-2013 / 12:46:42 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
isCloneable
@@ -2763,8 +2750,6 @@
"Modified: / 10-10-2013 / 01:00:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-
-
selectMethodsAnnotatedWith:aJavaTypeName
^ self methodDictionary values select:
[:method |
@@ -2953,9 +2938,7 @@
"Created: / 10-11-1998 / 02:07:32 / cg"
"Modified: / 08-01-1999 / 14:11:34 / cg"
"Modified: / 05-07-2012 / 23:24:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-!
-
- !
+! !
!JavaClass methodsFor:'support - refactorings'!
@@ -3220,5 +3203,5 @@
! !
+JavaClass initialize!
JavaClass::Attributes initialize!
-JavaClass initialize!
--- a/JavaClassMirror.st Wed Dec 18 12:03:32 2013 +0100
+++ b/JavaClassMirror.st Wed Dec 18 14:52:11 2013 +0100
@@ -80,7 +80,7 @@
!
getDeclaredConstructors:publicOnly
- "Returns an java.lang.reflect.Constructor[] with all constructors
+ "Returns an java.lang.reflect.Constructor[] with all constructors
declared by this class"
| ctors |
@@ -91,30 +91,30 @@
ctors add: (self getDeclaredConstructorFor: mthd).
].
].
- ^java_lang_reflect_Constructor javaArrayClass withAll: ctors
+ ^_java_lang_reflect_Constructor_CLASS javaArrayClass withAll: ctors
"Modified: / 18-05-2013 / 10:56:19 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
getDeclaredFields:publicOnly
- "Returns an java.lang.reflect.Field[] with all constructors
+ "Returns an java.lang.reflect.Field[] with all constructors
declared by this class."
- | fields |
+ | fields |
fields := klass fields , klass staticFields.
publicOnly ifTrue:[ fields := fields select:[:f | f isPublic ] ].
JavaClassReader classLoaderQuerySignal answer: klass classLoader do:[
fields := fields collect:[:f | self createFieldFor:f ].
].
- ^ java_lang_reflect_Field javaArrayClass
+ ^ _java_lang_reflect_Field_CLASS javaArrayClass
withAll:fields
"Modified: / 18-05-2013 / 10:57:49 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
getDeclaredMethods:publicOnly
- "Returns an java.lang.reflect.Constructor[] with all constructors
+ "Returns an java.lang.reflect.Constructor[] with all constructors
declared by this class"
| methods |
@@ -122,14 +122,14 @@
methods := OrderedCollection new.
klass selectorsAndMethodsDo:[:sel :mthd|
mthd isJavaMethod and:[
- (mthd isJavaConstructor not
+ (mthd isJavaConstructor not
and:[mthd isJavaStaticInitializer not
and:[publicOnly not or:[mthd isPublic]]]) ifTrue:[
methods add: (self getDeclaredMethodFor: mthd).
]
].
].
- ^java_lang_reflect_Method javaArrayClass withAll: methods
+ ^_java_lang_reflect_Method_CLASS javaArrayClass withAll: methods
"Modified: / 18-05-2013 / 10:57:53 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
@@ -153,7 +153,7 @@
getModifiers
"Return class modifiers (public/abstract/final...)"
- | modifiers |
+ | modifiers |
"According to OpenJDK JVM, strip ACC_SUPER"
modifiers := (klass accessFlags & JavaConstants ACC_SUPER bitInvert) & 16r7FFF.
--- a/JavaClassReader.st Wed Dec 18 12:03:32 2013 +0100
+++ b/JavaClassReader.st Wed Dec 18 14:52:11 2013 +0100
@@ -66,12 +66,12 @@
Verbose := false.
Silent := true.
AbsolutelySilent := false.
-
+
"/LazyClassLoading := false.
-
+
LazyClassLoading := true.
ClassLoaderQuerySignal := QuerySignal new.
- ClassLoaderQuerySignal defaultAnswer: [ JavaVM systemClassLoader ].
+ ClassLoaderQuerySignal defaultAnswer: [ JavaVM systemClassLoader ].
OperatingSystem isMSWINDOWSlike ifFalse:[
JavaArchiveCache := CacheDictionary new: 32.
] ifTrue:[
@@ -118,7 +118,7 @@
!JavaClassReader class methodsFor:'constants'!
fileMajorVersions
- ^#(
+ ^#(
45 "Java 1.0.2"
46 "Java 1.2"
47 "???"
@@ -167,7 +167,7 @@
!JavaClassReader class methodsFor:'debugging'!
-annotationsVerbose:aBoolean
+annotationsVerbose:aBoolean
AnnotationsVerbose := aBoolean
"
@@ -190,10 +190,10 @@
!JavaClassReader class methodsFor:'file reading'!
-readClass: aClassName
+readClass: aClassName
"reads a class, and returns it.
<clinit> is NOT called, class is NOT installed"
-
+
^ self readClass: aClassName ignoring: Set new.
"Created: / 15-04-1996 / 14:58:53 / cg"
@@ -202,10 +202,10 @@
"Modified (comment): / 07-02-2013 / 14:21:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-readClass: aClassName classPath: classPath
+readClass: aClassName classPath: classPath
"reads a class, and returns it.
<clinit> is NOT called, class is NOT installed"
-
+
^ self readClass: aClassName ignoring: Set new classPath: classPath
"Created: / 15-04-1996 / 14:58:53 / cg"
@@ -215,10 +215,10 @@
"Modified (comment): / 07-02-2013 / 14:21:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-readClass: className ignoring: classesBeingLoadedOrNil
+readClass: className ignoring: classesBeingLoadedOrNil
"This method is bit hacky, as it tries to supply 'correct'
- classloader.
+ classloader.
If the class is loaded from Java release classPath (containing
base java classes shipped with JDK/JRE), then set the classloader
@@ -231,8 +231,8 @@
"
| class |
- class := self
- readClass: className ignoring: classesBeingLoadedOrNil
+ class := self
+ readClass: className ignoring: classesBeingLoadedOrNil
classPath: Java release classPath.
class notNil ifTrue:[ ^ class ].
@@ -242,7 +242,7 @@
].
JavaClassReader classLoaderQuerySignal answer: JavaVM systemClassLoader do:[
class := self
- readClass: className ignoring: classesBeingLoadedOrNil
+ readClass: className ignoring: classesBeingLoadedOrNil
classPath: Java classPath.
].
].
@@ -260,7 +260,7 @@
cls := self new readClass: className ignoring: ignoring classPath: classPath.
cls notNil ifTrue:[
- Logger
+ Logger
log: 'loaded class ' , cls displayString
severity: #info
facility: 'JVM'.
@@ -271,17 +271,17 @@
"Modified: / 08-02-2013 / 01:20:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-readFile:aFilename ignoring:classesBeingLoaded
+readFile:aFilename ignoring:classesBeingLoaded
"reads a class from aFilename and returns it.
The JavaClass is NOT installed as global and unresolved
refs are NOT patched."
-
+
| inStream |
[
JavaVM commonOpenStreamUsing:[ inStream := aFilename asFilename readStream ]
- ] on:StreamError do:[:ex |
- Logger
+ ] on:StreamError do:[:ex |
+ Logger
log:('cannot read .class file: ' , ex description) severity:#error facility:'JVM'.
self breakPoint: #jv.
^ nil
@@ -299,7 +299,7 @@
"Modified: / 29-03-2013 / 23:54:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-readStream: aStream
+readStream: aStream
"reads a class from aStream and returns it.
The JavaClass is not installed as global"
@@ -308,7 +308,7 @@
"Created: / 24-10-2011 / 00:12:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-readStream: stream ignoring: classesBeingLoaded
+readStream: stream ignoring: classesBeingLoaded
"reads a class from aStream and returns it.
The JavaClass is not installed as global"
@@ -328,14 +328,14 @@
"Created: / 02-05-2013 / 09:51:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-readStream: stream loader: classloader ignoring: classesBeingLoaded
+readStream: stream loader: classloader ignoring: classesBeingLoaded
"reads a class from aStream and returns it.
The JavaClass is not installed as global"
-
+
| javaClass |
javaClass := JavaClassReader new readStream: stream loader: classloader ignoring: classesBeingLoaded.
- Logger
+ Logger
log: 'loaded class ' , javaClass displayString
severity: #info
facility: 'JVM'.
@@ -346,11 +346,11 @@
!JavaClassReader class methodsFor:'obsolete'!
-resolveClass: aJavaClass
+resolveClass: aJavaClass
"Resolve a particular classes' constants.
Perform all class initialization functions
(of those which are not yet initialized)."
-
+
| loader classToLoad |
@@ -360,13 +360,13 @@
[
classToLoad := nil.
aJavaClass constantPool do: [
- :item |
+ :item |
| itemClass |
itemClass := item class.
itemClass == JavaUnresolvedClassConstant ifTrue: [
classToLoad := item className.
-
+
"/ ] ifFalse:[
"/ itemClass == JavaUnresolvedMethodrefConstant ifTrue:[
"/self halt.
@@ -413,7 +413,7 @@
!JavaClassReader methodsFor:'accessing'!
-constants
+constants
^ constants.
"Created: / 10-05-2011 / 13:48:30 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
@@ -454,15 +454,15 @@
].
nm := p , clsName , '.class'.
(f := nm asFilename) exists ifTrue: [
- (Java isExcludedFromClassPath: nm) ifFalse: [
+ (Java isExcludedFromClassPath: nm) ifFalse: [
"means we are successfully going to read something :)"
f readingFileDo:[:s|rslt := self readStream: s ignoring: classesBeingLoaded].
rslt notNil ifTrue: [ ^ rslt. ].
]
].
] ifFalse: [
- ((zipFile := p asFilename withSuffix: 'jar') exists
- or: [ (zipFile := p asFilename withSuffix: 'zip') exists ])
+ ((zipFile := p asFilename withSuffix: 'jar') exists
+ or: [ (zipFile := p asFilename withSuffix: 'zip') exists ])
ifTrue: [
"/ Do not use at:ifAbsentPut: here, JavaArchiveCache is a CacheDictionary!!!!!!
JavaArchiveCacheLock critical:[
@@ -483,11 +483,11 @@
JavaVM commonOpenStreamUsing:[ zar := zar reopenForReading ].
entry := zar extract: nm.
rslt := self readStream: (entry readStream) ignoring: classesBeingLoaded.
- rslt notNil ifTrue: [
+ rslt notNil ifTrue: [
JavaArchiveCacheLock critical:[
zarAndRefcount at: 2 put: (zarAndRefcount at: 2) - 1.
].
- ^ rslt
+ ^ rslt
].
]
].
@@ -499,7 +499,7 @@
].
].
- JavaClassReader invalidClassFormatSignal
+ JavaClassReader invalidClassFormatSignal
handle: [
"Kludge, sometimes zar gets corrupted"
JavaArchiveCache at: zipFile put: (Array with: (zar := JavaVM commonOpenStreamUsing: [ZipArchive oldFileNamed: zipFile]) with: 1).
@@ -511,13 +511,13 @@
^nil
"Created: / 03-12-2012 / 22:47:16 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-<conflict>
+
!
-readClass: className ignoring: classesBeingLoadedOrNil classPath: classPath
+readClass: className ignoring: classesBeingLoadedOrNil classPath: classPath
"searches classspath for a class, loads it and returns.
<clinit> is not called, class is not installed as global"
-
+
| rslt clsName classesBeingLoaded |
clsName := className asSlashedJavaClassName.
classesBeingLoaded := classesBeingLoadedOrNil.
@@ -527,7 +527,7 @@
classesBeingLoaded add: clsName.
- classPath do: [:path |
+ classPath do: [:path |
rslt := self readClass: clsName from: path ignoring: classesBeingLoaded.
rslt notNil ifTrue:[ ^rslt ].
].
@@ -541,11 +541,11 @@
"Modified: / 07-02-2013 / 14:19:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-readClassFileIgnoring: classesbeingLoaded
+readClassFileIgnoring: classesbeingLoaded
"reads a class from inStream and returns it.
The JavaClass is not installed as global and its constants
(especially strings) may not be fully resolved."
-
+
| magic access_flags this_class_index super_class super_class_index this_class_ref existingSuperClass fields interfaces staticFields nStatic superClassName thisClassName existing_class thisMetaClass |
"/
@@ -561,15 +561,15 @@
msb := false.
Verbose ifTrue: [ Transcript showCR: 'file is lsb' ].
] ifTrue: [ Verbose ifTrue: [ Transcript showCR: 'file is msb' ]. ].
-
+
"/
"/ get version
"/
-
+
minorVsn := inStream nextUnsignedShortMSB: msb.
majorVsn := inStream nextUnsignedShortMSB: msb.
- ((self class fileMajorVersions includes: majorVsn) not
- or: [ (self class fileMinorVersions includes: minorVsn) not ])
+ ((self class fileMajorVersions includes: majorVsn) not
+ or: [ (self class fileMinorVersions includes: minorVsn) not ])
ifTrue: [
| path |
@@ -583,26 +583,26 @@
majorVsn printString ,
'.' , minorVsn printString)
- ].
+ ].
"/
"/ get constant pool
"/
-
+
self readConstantPool.
-
+
"/
"/ access flags
"/
-
+
access_flags := inStream nextUnsignedShortMSB: msb.
this_class_index := inStream nextUnsignedShortMSB: msb.
super_class_index := inStream nextUnsignedShortMSB: msb.
super_class_index == 0 ifTrue: [ super_class := nil ] ifFalse: [
super_class := constants at: super_class_index.
superClassName := super_class fullName.
-
+
"/ special for ST-classes
-
+
(superClassName startsWith: 'smalltalk.') ifTrue: [
"/ a Smalltalk class
superClassName := superClassName copyFrom: 11.
@@ -614,12 +614,12 @@
"/ a JAVA class
super_class := JavaVM classNamed: superClassName definedBy: classLoader.
super_class isNil ifTrue: [
- super_class := self
+ super_class := self
loadSuperclassIdentifiedBy: (constants at: super_class_index)
ignoring: classesbeingLoaded
].
super_class isNil ifTrue: [
- self breakPoint:#jv info: 'Cannot find super class?!!'
+ self breakPoint:#jv info: 'Cannot find super class?!!'
].
].
].
@@ -628,29 +628,29 @@
(super_class notNil and:[super_class hasFinalize]) ifTrue:[
access_flags := access_flags bitOr: ACX_HASFINALIZE
].
-
+
"/
"/ get interfaces
"/
-
+
interfaces := self readInterfaces.
- interfaces do:[:interface |
+ interfaces do:[:interface |
interface javaClassName = 'java/lang/Cloneable' ifTrue:[
access_flags := access_flags bitOr: ACX_CLONEABLE.
- ].
+ ].
].
-
+
"/
"/ get fields
"/
-
+
fields := self readFieldInfofields.
-
+
"/
"/ create the fields as instVars
"/ static fields are created as class-InstVars
"/
-
+
staticFields := fields select: [:f | f isStatic ].
nStatic := staticFields size.
this_class_ref := constants at: this_class_index.
@@ -658,9 +658,9 @@
thisClassName = 'java/lang/Cloneable' ifTrue:[
access_flags := access_flags bitOr: ACX_CLONEABLE.
].
-
+
"/ care for smalltalk classes ...
-
+
(thisClassName startsWith: 'smalltalk.') ifTrue: [
thisClassName := thisClassName copyFrom: 11.
existing_class := Smalltalk at: thisClassName asSymbol.
@@ -678,7 +678,7 @@
"/ a java class
Class withoutUpdatingChangesDo:[
classBeingLoaded := JavaClass binaryName: thisClassName numStatic: nStatic.
- classBeingLoaded classLoader: self class classLoaderQuerySignal query.
+ classBeingLoaded classLoader: self class classLoaderQuerySignal query.
fields := fields select: [:f | f isStatic not ].
JavaClass setInstanceVariableStringFromFields: staticFields
in: classBeingLoaded class.
@@ -690,11 +690,11 @@
classBeingLoaded setInterfaces: interfaces.
]
].
-
+
"/
"/ get methods
"/
-
+
self readMethodsFor: classBeingLoaded.
self readAttributesFor: classBeingLoaded.
classBeingLoaded setAttributes: attributes.
@@ -705,7 +705,7 @@
self readExtensionsFor: classBeingLoaded.
classBeingLoaded fields do: [:each | self updateOwnerInField: each ].
- classBeingLoaded staticFields do: [:each | self updateOwnerInField: each ].
+ classBeingLoaded staticFields do: [:each | self updateOwnerInField: each ].
classBeingLoaded classLoader: classLoader.
classesbeingLoaded remove: classBeingLoaded name ifAbsent:[].
^ classBeingLoaded.
@@ -732,7 +732,7 @@
"reads a class from aStream and returns it.
The JavaClass is not installed as global"
- ^self readStream:aStream loader: self class classLoaderQuerySignal query ignoring:classesBeingLoaded
+ ^self readStream:aStream loader: self class classLoaderQuerySignal query ignoring:classesBeingLoaded
"
@@ -762,9 +762,9 @@
!JavaClassReader methodsFor:'file reading - attributes'!
-readAnnotationDefaultAttributeFor:something
+readAnnotationDefaultAttributeFor:something
"/ ('JAVA [info]: unhandled attribute: AnnotationDefault') infoPrintCR.
-
+
|len startPos endPos annotationDefault|
self assert:something isJavaMethod
@@ -772,7 +772,7 @@
len := inStream nextUnsignedLongMSB:msb.
startPos := inStream position.
annotationDefault := (something ensureHasAnnotations)
- default:(JavaAnnotationDefault new
+ default:(JavaAnnotationDefault new
value:(self readAnnotationValueFor:something));
default.
endPos := inStream position.
@@ -785,7 +785,7 @@
"Modified: / 03-03-2011 / 23:06:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-readAnnotationFor:something
+readAnnotationFor:something
| typeIndex type result attrsCount |
typeIndex := inStream nextUnsignedShortMSB:msb.
@@ -801,7 +801,7 @@
attr := self readAnnotationValueFor:something.
attr name:name.
result values at:attr name put:attr.
- AnnotationsVerbose
+ AnnotationsVerbose
ifTrue:[ ('JAVA [INFO]: Reading annotation attribute: ' , name) infoPrintCR. ]. ].
^ result.
@@ -810,57 +810,57 @@
"Modified: / 27-07-2011 / 09:37:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-readAnnotationValueFor:something
+readAnnotationValueFor:something
| tag result |
tag := (inStream nextByte) asCharacter.
- tag = $e
+ tag = $e
ifTrue:
[ result := JavaAnnotationEnumValue for:something.
result nameIndex:(inStream nextUnsignedShortMSB:msb).
result valueIndex:(inStream nextUnsignedShortMSB:msb).
- AnnotationsVerbose
+ AnnotationsVerbose
ifTrue:
- [ ('JAVA [INFO]: Reading annotation enum value: ' , result name printString, ' -> '
+ [ ('JAVA [INFO]: Reading annotation enum value: ' , result name printString, ' -> '
, result value printString) infoPrintCR ].
^ result ].
- tag = $c
+ tag = $c
ifTrue:
[ result := JavaAnnotationClassValue for:something.
result classIndex:(inStream nextUnsignedShortMSB:msb).
- AnnotationsVerbose
+ AnnotationsVerbose
ifTrue:
- [ ('JAVA [INFO]: Reading annotation class value: ' , result name printString, ' -> '
+ [ ('JAVA [INFO]: Reading annotation class value: ' , result name printString, ' -> '
, result value printString) infoPrintCR ].
^ result ].
- tag = $@
+ tag = $@
ifTrue:
[ result := JavaAnnotationNestedAnnotationValue for:something.
result nestedAnnotation:(self readAnnotationFor: something).
- AnnotationsVerbose
+ AnnotationsVerbose
ifTrue:
[ ('JAVA [INFO]: Reading annotation nested annotation value: ' , result name printString
- , ' -> ' , result value printString)
+ , ' -> ' , result value printString)
infoPrintCR ].
^ result ].
- tag = $[
+ tag = $[
ifTrue:
[ result := JavaAnnotationArrayValue for:something.
result count:(inStream nextUnsignedShortMSB:msb).
- AnnotationsVerbose
+ AnnotationsVerbose
ifTrue:[ ('JAVA [INFO]: Reading annotation array value') infoPrintCR ].
1 to:result count
do:[:index | result values at:index put:(self readAnnotationValueFor:something) ].
- AnnotationsVerbose
+ AnnotationsVerbose
ifTrue:
- [ ('JAVA [INFO]: Finished reading annotation array value: '
+ [ ('JAVA [INFO]: Finished reading annotation array value: '
, result value printString) infoPrintCR ].
^ result ].
result := JavaAnnotationPrimitiveValue for:something.
result valueIndex:(inStream nextUnsignedShortMSB:msb).
- AnnotationsVerbose
+ AnnotationsVerbose
ifTrue:
- [ ('JAVA [INFO]: Finished reading annotation primitive value: '
+ [ ('JAVA [INFO]: Finished reading annotation primitive value: '
, result name printString , ' -> ' , result value printString) infoPrintCR ].
^ result.
@@ -869,152 +869,152 @@
"Modified: / 12-02-2013 / 19:35:15 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
!
-readAttribute:attributeName for:something
+readAttribute:attributeName for:something
"/ implemented JAVA attributes
-
- (attributeName = 'ConstantValue')
+
+ (attributeName = 'ConstantValue')
ifTrue:
[ self readConstantValueAttributeFor:something.
^ self. ].
- (attributeName = 'Code')
+ (attributeName = 'Code')
ifTrue:
[ self readCodeAttributeFor:something.
^ self. ].
- (attributeName = 'Exceptions')
+ (attributeName = 'Exceptions')
ifTrue:
[ self readExceptionsAttributeFor:something.
^ self. ].
- (attributeName = 'InnerClasses')
+ (attributeName = 'InnerClasses')
ifTrue:
[ self readInnerClassesAttributeFor:something.
^ self. ].
- (attributeName = 'EnclosingMethod')
+ (attributeName = 'EnclosingMethod')
ifTrue:
[ self readEnclosingMethodAttributeFor:something.
^ self. ].
- (attributeName = 'LineNumberTable')
+ (attributeName = 'LineNumberTable')
ifTrue:
[ self readLineNumberTableAttributeFor:something.
^ self. ].
- (attributeName = 'LocalVariableTable')
+ (attributeName = 'LocalVariableTable')
ifTrue:
[ self readLocalVariableTableAttributeFor:something.
^ self. ].
- (attributeName = 'LocalVariableTypeTable')
+ (attributeName = 'LocalVariableTypeTable')
ifTrue:
[ self readLocalVariableTypeTableAttributeFor:something.
^ self. ].
- (attributeName = 'SourceFile')
+ (attributeName = 'SourceFile')
ifTrue:
[ self readSourceFileAttributeFor:something.
^ self. ].
- (attributeName = 'SourceDebugExtension')
+ (attributeName = 'SourceDebugExtension')
ifTrue:
[ self readSourceDebugExtensionAttributeFor:something.
^ self. ].
- (attributeName = 'Synthetic')
+ (attributeName = 'Synthetic')
ifTrue:
[ self readSyntheticAttributeFor:something.
^ self. ].
- (attributeName = 'Signature')
+ (attributeName = 'Signature')
ifTrue:
[ self readSignatureAttributeFor:something.
^ self. ].
- (attributeName = 'Deprecated')
+ (attributeName = 'Deprecated')
ifTrue:
[ self readDeprecatedAttributeFor:something.
^ self. ].
- (attributeName = 'RuntimeVisibleAnnotations')
+ (attributeName = 'RuntimeVisibleAnnotations')
ifTrue:
[ self readRuntimeAnnotationsAttributeFor:something visible:true.
^ self. ].
- (attributeName = 'RuntimeInvisibleAnnotations')
+ (attributeName = 'RuntimeInvisibleAnnotations')
ifTrue:
[ self readRuntimeAnnotationsAttributeFor:something visible:false.
^ self. ].
- (attributeName = 'RuntimeVisibleParameterAnnotations')
+ (attributeName = 'RuntimeVisibleParameterAnnotations')
ifTrue:
[ self readRuntimeParameterAnnotationsAttributeFor:something visible:true.
^ self. ].
- (attributeName = 'RuntimeInvisibleParameterAnnotations')
+ (attributeName = 'RuntimeInvisibleParameterAnnotations')
ifTrue:
[ self readRuntimeParameterAnnotationsAttributeFor:something visible:false.
^ self. ].
- (attributeName = 'AnnotationDefault')
+ (attributeName = 'AnnotationDefault')
ifTrue:
[ self readAnnotationDefaultAttributeFor:something.
^ self. ].
-
+
"/ ignored JAVA attributes
-
- (attributeName = 'FastJavac1.0')
+
+ (attributeName = 'FastJavac1.0')
ifTrue:
[ "/ ('JAVA [info]: unhandled attribute: ' , attributeName) infoPrintCR.
self skipAttribute:attributeName.
^ self. ].
- (attributeName = 'AbsoluteSourcePath')
+ (attributeName = 'AbsoluteSourcePath')
ifTrue:
[ ('JAVA [info]: unhandled attribute: ' , attributeName) infoPrintCR.
self skipAttribute:attributeName.
^ self. ].
- (attributeName startsWith:((Character value:13) asString , 'WARNING:'))
+ (attributeName startsWith:((Character value:13) asString , 'WARNING:'))
ifTrue:
[ "/ ('JAVA [info]: unhandled attribute: ' , attributeName) infoPrintCR.
self skipAttribute:attributeName.
^ self. ].
- (attributeName = 'StackMapTable')
+ (attributeName = 'StackMapTable')
ifTrue:
[ "/ ('JAVA [info]: unhandled attribute: ' , attributeName) infoPrintCR.
self readStackMapTableAttributeFor:something.
^ self. ].
-
+
"/ implemented ST attributes
-
- (attributeName = 'STLiterals')
+
+ (attributeName = 'STLiterals')
ifTrue:
[ self readSTLiteralsAttributeFor:something.
^ self. ].
- (attributeName = 'ClassRevision')
+ (attributeName = 'ClassRevision')
ifTrue:
[ self readSTClassRevisionAttributeFor:something.
^ self. ].
- (attributeName = 'ClassPackage')
+ (attributeName = 'ClassPackage')
ifTrue:
[ self readSTClassPackageAttributeFor:something.
^ self. ].
- (attributeName = 'ClassCategory')
+ (attributeName = 'ClassCategory')
ifTrue:
[ self readSTClassCategoryAttributeFor:something.
^ self. ].
- (attributeName = 'ClassVarNames')
+ (attributeName = 'ClassVarNames')
ifTrue:
[ self readSTClassVarNamesAttributeFor:something.
^ self. ].
- (attributeName = 'ClassInstVarNames')
+ (attributeName = 'ClassInstVarNames')
ifTrue:
[ self readSTClassInstVarNamesAttributeFor:something.
^ self. ].
- (attributeName = 'InstVarNames')
+ (attributeName = 'InstVarNames')
ifTrue:
[ self readSTInstVarNamesAttributeFor:something.
^ self. ].
- (attributeName = 'STCode')
+ (attributeName = 'STCode')
ifTrue:
[ self readSTCodeAttributeFor:something.
^ self. ].
- (attributeName = 'MethodCategory')
+ (attributeName = 'MethodCategory')
ifTrue:
[ self readSTMethodCategoryAttributeFor:something.
^ self. ].
"/ Eclipse Java Compiler Specific Attributes
- (attributeName = 'MissingTypes')
+ (attributeName = 'MissingTypes')
ifTrue:
[ self readMissingTypesAttributeFor:something.
^ self. ].
"/ unknown attributes
-
+
('JAVA [warning]: unrecognized attribute: ' , attributeName) infoPrintCR.
self skipAttribute:attributeName.
@@ -1106,7 +1106,7 @@
| attribute_length number_of_classes classes |
attribute_length := inStream nextUnsignedLongMSB:msb. "/ skip attribute length.
- number_of_classes := inStream nextUnsignedShortMSB:msb.
+ number_of_classes := inStream nextUnsignedShortMSB:msb.
classes := JavaInnerClasses new: number_of_classes.
self assert: attribute_length == ((number_of_classes * 8) + 2).
1 to: number_of_classes do:[:i |
@@ -1144,7 +1144,7 @@
| attribute_length numMissingTypes missingTypes |
attribute_length := inStream nextUnsignedLongMSB:msb. "/ skip attribute length.
- numMissingTypes := inStream nextUnsignedShortMSB:msb.
+ numMissingTypes := inStream nextUnsignedShortMSB:msb.
missingTypes := Array new: numMissingTypes.
self assert: attribute_length == ((numMissingTypes * 2) + 2).
1 to: numMissingTypes do:[: i |
@@ -1156,7 +1156,7 @@
"Created: / 16-10-2013 / 02:04:33 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-readRuntimeAnnotationsAttributeFor: something visible: visible
+readRuntimeAnnotationsAttributeFor: something visible: visible
| length annotationsCount annotations rawAnnotations startPos endPos |
self assert: inStream isPositionable
@@ -1166,7 +1166,7 @@
annotationsCount := inStream nextUnsignedShortMSB: msb.
annotationsCount = 0 ifTrue: [ ^ nil ].
annotations := visible ifTrue: [something ensureHasAnnotations ensureRuntimeVisible] ifFalse: [something ensureHasAnnotations ensureRuntimeInvisible].
- annotationsCount timesRepeat:
+ annotationsCount timesRepeat:
[ | currentAnnotation |
currentAnnotation := self readAnnotationFor: something.
@@ -1175,7 +1175,7 @@
endPos := inStream position.
inStream position: startPos.
rawAnnotations := inStream next: length.
- inStream position ~= endPos
+ inStream position ~= endPos
ifTrue: [ self halt: 'annotations are probably reading what they shouldnt' ].
annotations rawAnnotations: rawAnnotations.
@@ -1185,7 +1185,7 @@
"Modified: / 16-03-2011 / 16:57:03 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
!
-readRuntimeParameterAnnotationsAttributeFor: javaMethod visible: visible
+readRuntimeParameterAnnotationsAttributeFor: javaMethod visible: visible
| length paramsCount annotationsCount rawAnnotations startPos endPos |
self assert: inStream isPositionable
message: '.class file stream must be positionable'.
@@ -1194,15 +1194,15 @@
paramsCount := inStream nextByte.
paramsCount = 0 ifTrue: [ ^ nil ].
1 to: paramsCount do: [
- :paramIndex |
+ :paramIndex |
annotationsCount := inStream nextUnsignedShortMSB: msb.
annotationsCount > 0 ifTrue: [
| annotations |
annotations := visible ifTrue: [
- javaMethod ensureHasAnnotations
+ javaMethod ensureHasAnnotations
ensureVisibleParameterAnnotationsAt: paramIndex
] ifFalse: [
- javaMethod ensureHasAnnotations
+ javaMethod ensureHasAnnotations
ensureInvisibleParameterAnnotationsAt: paramIndex
].
annotationsCount timesRepeat: [
@@ -1271,7 +1271,7 @@
"Modified: / 12.5.1998 / 22:01:07 / cg"
!
-readStackMapTableAttributeFor:something
+readStackMapTableAttributeFor:something
"/ ('JAVA [info]: unhandled attribute: StackMapTable') infoPrintCR.
self skipAttribute:'StackMapTable'.
@@ -1495,26 +1495,26 @@
self info: 'const slot: ' , constSlot printString.
const := self readConstant.
constants at: constSlot put: const.
-
+
"/ long & double consts take 2 slots
"/ (only first is used)
-
- constNeeds2Slots
+
+ constNeeds2Slots
ifTrue: [ constSlot := constSlot + 2. ]
ifFalse: [ constSlot := constSlot + 1. ]].
constSlot := -1.
constants do:[:ref|ref isJavaRef ifTrue:[ref preResolve]].
"/ 1 to: constantPoolSize - 1
-"/ do:
-"/ [:i |
+"/ do:
+"/ [:i |
"/ | const value |
"/
"/ const := constants at: i.
-"/ const notNil ifTrue:
+"/ const notNil ifTrue:
"/ [ "/ kludge for 2-slot constants (which only take 1 slot in ST/X)
-"/ (const isKindOf: JavaUnresolvedConstant)
-"/ ifTrue:
+"/ (const isKindOf: JavaUnresolvedConstant)
+"/ ifTrue:
"/ [ value := const preResolve.
"/ value ~~ const ifTrue: [ constants at: i put: value. ] ] ] ].
@@ -1533,12 +1533,12 @@
len := inStream nextUnsignedShortMSB: msb.
string := String new: len.
- inStream
+ inStream
nextBytes: len
into: string
startingAt: 1.
- Verbose
- ifTrue:
+ Verbose
+ ifTrue:
[ Transcript
show: 'asciz; string= ';
showCR: string ].
@@ -1557,9 +1557,9 @@
| nameIndex |
nameIndex := inStream nextUnsignedShortMSB: msb.
- ((constants at: nameIndex) isNil)
- ifTrue:
- [ self info: ('reading class; index=' , nameIndex printString , ' name='
+ ((constants at: nameIndex) isNil)
+ ifTrue:
+ [ self info: ('reading class; index=' , nameIndex printString , ' name='
, (constants at: nameIndex) printString) ]
ifFalse: [ self info: ('reading class; index= ' , nameIndex printString) ].
^ JavaClassRef2 in: constants withNameAt: nameIndex.
@@ -1619,17 +1619,17 @@
"Modified: / 8.5.1998 / 22:06:07 / cg"
!
-readConstant_Fieldref
+readConstant_Fieldref
"incrementally changing resolving logic, fields will come later"
| classIndex nameAndTypeIndex |
classIndex := inStream nextUnsignedShortMSB: msb.
nameAndTypeIndex := inStream nextUnsignedShortMSB: msb.
- self
- info: 'reading fieldref; classindex=' , classIndex printString
+ self
+ info: 'reading fieldref; classindex=' , classIndex printString
, ' nameAndTypeIndex=' , nameAndTypeIndex printString.
- ^ JavaFieldRef2
+ ^ JavaFieldRef2
in: constants
withNameAndTypeAt: nameAndTypeIndex
andClassAt: classIndex.
@@ -1705,11 +1705,11 @@
| classIndex nameAndTypeIndex |
classIndex := inStream nextUnsignedShortMSB: msb.
- nameAndTypeIndex := inStream nextUnsignedShortMSB: msb.
- self
- info: 'reading interface methodref; classindex=' , classIndex printString
- , ' nameAndTypeIndex=' , nameAndTypeIndex printString.
- ^ JavaInterfaceMethodRef2
+ nameAndTypeIndex := inStream nextUnsignedShortMSB: msb.
+ self
+ info: 'reading interface methodref; classindex=' , classIndex printString
+ , ' nameAndTypeIndex=' , nameAndTypeIndex printString.
+ ^ JavaInterfaceMethodRef2
in: constants
withNameAndTypeAt: nameAndTypeIndex
andClassAt: classIndex.
@@ -1745,11 +1745,11 @@
| classIndex nameAndTypeIndex |
classIndex := inStream nextUnsignedShortMSB: msb.
- nameAndTypeIndex := inStream nextUnsignedShortMSB: msb.
- self
- info: 'reading methodref; classindex=' , classIndex printString , ' nameAndTypeIndex='
+ nameAndTypeIndex := inStream nextUnsignedShortMSB: msb.
+ self
+ info: 'reading methodref; classindex=' , classIndex printString , ' nameAndTypeIndex='
, nameAndTypeIndex printString.
- ^ JavaMethodRef2
+ ^ JavaMethodRef2
in: constants
withNameAndTypeAt: nameAndTypeIndex
andClassAt: classIndex.
@@ -1762,10 +1762,10 @@
nameIndex := inStream nextUnsignedShortMSB: msb.
descriptorIndex := inStream nextUnsignedShortMSB: msb.
- self
- info: 'reading nameAndType; nameindex=' , nameIndex printString
+ self
+ info: 'reading nameAndType; nameindex=' , nameIndex printString
, ' descriptorIndex= ' , descriptorIndex printString.
- ^JavaNameAndType2
+ ^JavaNameAndType2
in: constants
withNameAt: nameIndex
andDescriptorAt: descriptorIndex.
@@ -1779,8 +1779,8 @@
string_index := inStream nextUnsignedShortMSB: msb.
^ JavaStringRef2 in: constants withValueAt: string_index.
-
-
+
+
"Created: / 15-04-1996 / 15:20:33 / cg"
"Modified: / 07-05-1998 / 11:42:45 / cg"
"Modified: / 13-05-2011 / 17:31:54 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
@@ -1793,12 +1793,12 @@
len := inStream nextUnsignedShortMSB: msb.
string := TwoByteString new: len.
1 to: len
- do:
- [:idx |
+ do:
+ [:idx |
ascii := inStream nextUnsignedShortMSB: msb.
string at: idx put: (Character value: ascii). ].
- Verbose
- ifTrue:
+ Verbose
+ ifTrue:
[ Transcript
show: 'asciz; unicodeString= ';
showCR: string ].
@@ -1812,13 +1812,13 @@
len := inStream nextUnsignedShortMSB: msb.
bytes := ByteArray new: len.
- inStream
+ inStream
nextBytes: len
into: bytes
startingAt: 1.
string := CharacterArray fromJavaUTF8Bytes: bytes.
- Verbose
- ifTrue:
+ Verbose
+ ifTrue:
[ Transcript
show: 'asciz; string= ';
showCR: string ].
@@ -1844,7 +1844,7 @@
].
Verbose ifTrue:[Transcript show:'array; size= '; showCR:aSize].
- ^ JavaUnresolvedSTArrayConstant
+ ^ JavaUnresolvedSTArrayConstant
pool:constants
poolIndex:constSlot
array:arr
@@ -1901,19 +1901,19 @@
string_index := inStream nextUnsignedShortMSB: msb.
- Verbose
- ifTrue:
+ Verbose
+ ifTrue:
[ Transcript
show: 'string; index= ';
showCR: string_index ].
-
+
"/ resolve here if possible
-
- string_index < constSlot
- ifTrue:
+
+ string_index < constSlot
+ ifTrue:
[ chars := (constants at: string_index).
^ chars ].
- ^ JavaUnresolvedSTStringConstant
+ ^ JavaUnresolvedSTStringConstant
pool: constants
poolIndex: constSlot
stringIndex: string_index
@@ -1927,20 +1927,20 @@
string_index := inStream nextUnsignedShortMSB: msb.
- Verbose
- ifTrue:
+ Verbose
+ ifTrue:
[ Transcript
show: 'symbol; index= ';
showCR: string_index ].
-
+
"/ resolve here if possible
-
- string_index < constSlot
- ifTrue:
+
+ string_index < constSlot
+ ifTrue:
[ chars := (constants at: string_index).
chars isString ifFalse: [ self halt: 'should not happen' ].
^ chars asSymbol ].
- ^ JavaUnresolvedSTSymbolConstant
+ ^ JavaUnresolvedSTSymbolConstant
pool: constants
poolIndex: constSlot
stringIndex: string_index
@@ -2006,7 +2006,7 @@
language fileIn: file.
].
] ensure:[
- Smalltalk silentLoading: wasSilent
+ Smalltalk silentLoading: wasSilent
].
] on: JavaClassQuery do:[:query |
query className = class binaryName ifTrue:[
@@ -2057,8 +2057,8 @@
field setConstantPool: constants.
attributes_count := inStream nextUnsignedShortMSB: msb.
attributes := OrderedCollection new: attributes_count * 2.
- Verbose
- ifTrue:
+ Verbose
+ ifTrue:
[ Transcript
show: ' field name: ';
show: (constants at: name_index);
@@ -2207,11 +2207,11 @@
code := nil
].
- aJavaMethod
- setCode:code
- maxStack:max_stack
- maxLocals:max_locals
- u1:unknown1
+ aJavaMethod
+ setCode:code
+ maxStack:max_stack
+ maxLocals:max_locals
+ u1:unknown1
u2:unknown2.
self readAttributesFor:aJavaMethod.
@@ -2303,8 +2303,8 @@
signature := constants at:sig_index.
slot := inStream nextUnsignedShortMSB:msb.
- local_variable_table at:i put:(JavaLocalVariableTableEntry new
- startPC:start_pc
+ local_variable_table at:i put:(JavaLocalVariableTableEntry new
+ startPC:start_pc
length:length
name:name
signature:signature
@@ -2479,9 +2479,9 @@
].
].
- aSmalltalkMethod byteCode:code.
+ aSmalltalkMethod byteCode:code.
aSmalltalkMethod stackSize:max_stack .
- aSmalltalkMethod numberOfVars:max_locals.
+ aSmalltalkMethod numberOfVars:max_locals.
self readAttributesFor:aSmalltalkMethod.
^ true
@@ -2535,15 +2535,15 @@
"Created: / 26-02-2013 / 11:42:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-loadSuperclassIdentifiedBy: aJavaClassRef ignoring: classesBeingLoaded
+loadSuperclassIdentifiedBy: aJavaClassRef ignoring: classesBeingLoaded
"overriding method, here we expect something to be new JavaClassRef2"
-
+
self assert: aJavaClassRef isJavaRef
message: 'class identifier is not a java reference'.
self assert: aJavaClassRef isJavaClassRef
message: 'class identifier is not a java class reference'.
(classesBeingLoaded includes: aJavaClassRef name) ifTrue: [
- self
+ self
error: 'class we want to load is being loaded and that means something went wrong. tell mh'
].
"hint in case of bug - is parent of something set? surely jv will know more :)" "find out which classloader is used"
@@ -2553,15 +2553,15 @@
"Modified: / 08-10-2013 / 22:57:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-updateOwnerInCPItem: each
- ((each isJavaRef and: [ each isNewJavaRef ])
- or: [ each isJavaNameAndType and: [ each isNewJavaNameAndType ] ])
+updateOwnerInCPItem: each
+ ((each isJavaRef and: [ each isNewJavaRef ])
+ or: [ each isJavaNameAndType and: [ each isNewJavaNameAndType ] ])
ifTrue: [ each owner: classBeingLoaded ].
"Created: / 12-05-2011 / 17:40:46 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
!
-updateOwnerInField: each
+updateOwnerInField: each
each setClass: classBeingLoaded.
@@ -2570,7 +2570,7 @@
!JavaClassReader methodsFor:'logging'!
-info: message
+info: message
Verbose ifTrue: [ Logger log: message severity: #info facility: 'JVM' ].
"Created: / 18-05-2011 / 15:06:06 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
--- a/JavaClassRegistry.st Wed Dec 18 12:03:32 2013 +0100
+++ b/JavaClassRegistry.st Wed Dec 18 14:52:11 2013 +0100
@@ -78,7 +78,7 @@
!JavaClassRegistry methodsFor:'accessing'!
-classForName: className loader: classLoader ifAbsent: aBlock
+classForName: className loader: classLoader ifAbsent: aBlock
"Get class loaded by given classLoader from registry or evaluate aBlock if class is not yet registered"
| classes class |
@@ -104,9 +104,9 @@
"Created: / 23-10-2011 / 11:40:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-classForName: className loader: classLoader ifAbsentPut: block
+classForName: className loader: classLoader ifAbsentPut: block
"Get class loaded by classLoader from registry. if absent block is evaluated and resulting class in registered in registry, "
-
+
| class synchronizer |
self assert: (className includes: $.) not.
@@ -117,7 +117,7 @@
"/ we're loading for primordial class loader. If we synchronize
"/ event non-primordial loaders, we risk a deadlock. Very hacky...
- synchronizer := classLoader isNil
+ synchronizer := classLoader isNil
ifTrue:[ [:whatToDo | lock critical: whatToDo ] ]
ifFalse:[ [:whatToDo | whatToDo value ] ].
@@ -125,11 +125,11 @@
"If class is already registered with the same cl, just return it"
class := self classNamed: className loader: classLoader.
"/ This is rubbish...
-"/
+"/
"/ class isNil ifTrue:[
"/ "If java vm is booted, nil class loader means system class loader, lets check it too"
"/ (vm notNil and:[vm booted and: [classLoader isNil]]) ifTrue: [
-"/ class := self classNamed: className loader: vm systemClassLoader.
+"/ class := self classNamed: className loader: vm systemClassLoader.
"/ ].
"/ ].
class isNil ifTrue:[
@@ -148,7 +148,7 @@
classNamed: className
- "Return a class for given classname loaded by 'current classloader' or
+ "Return a class for given classname loaded by 'current classloader' or
nil if not yet loaded"
^self classNamed: className loader: JavaClassReader classLoaderQuerySignal query
@@ -158,7 +158,7 @@
classNamed: className loader: classLoader
- "Return a class for given classname loaded by given classloader or
+ "Return a class for given classname loaded by given classloader or
nil if not yet loaded"
^self classForName: className loader: classLoader ifAbsent:[nil].
@@ -218,9 +218,9 @@
!JavaClassRegistry methodsFor:'class loading'!
-loadFile: aFilename
+loadFile: aFilename
"reads a class from aFilename, installs and returns it."
-
+
| aClass |
self breakPoint: #mh.
@@ -234,19 +234,19 @@
"Modified: / 23-10-2011 / 11:55:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-loadStream: javaClassDataStream loader: aJavaClassLoader
+loadStream: javaClassDataStream loader: aJavaClassLoader
"reads a class from aStream and returns it.
The JavaClass is installed as global.
If new classes are required to be loaded, aClassLoader is
asked to do it."
-
+
| javaClass |
self breakPoint: #mh.
self breakPoint: #jv.
javaClass := JavaClassReader readStream: javaClassDataStream loader: aJavaClassLoader.
javaClass isNil ifTrue: [
- Logger
+ Logger
log: 'JavaClassReader was not able to read given data stream'
severity: #warn
facility: #JVM.
@@ -268,7 +268,7 @@
loaders do:[:classes|
classes do:[:class|
aBlock value: class
- ]
+ ]
]
"Created: / 23-10-2011 / 20:13:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -281,7 +281,7 @@
loaders at: aJavaClassLoader put: Dictionary new.
!
-getClassesDefinedBy:classLoader
+getClassesDefinedBy:classLoader
^loaders at: classLoader ifAbsent: [nil].
! !
@@ -298,7 +298,7 @@
initialize
loaders := WeakIdentityDictionary new.
loaders at: nil put: Dictionary new.
- notifier := BackgroundQueueProcessingJob
+ notifier := BackgroundQueueProcessingJob
named: 'Java class registry notifier'
on:[:typeAndClass|Smalltalk changed: typeAndClass first with: typeAndClass second].
notifier priority: Processor userBackgroundPriority - 1.
@@ -309,7 +309,7 @@
setVM: aJavaVM
- "Now, aJavaVM == JavaVM (i.e, the class JavaVM
+ "Now, aJavaVM == JavaVM (i.e, the class JavaVM
itself, not its instance)"
vm := aJavaVM.
@@ -323,43 +323,42 @@
registerBuiltIn: class
| nm |
- nm := class name.
- nm == #'java/lang/Object' ifTrue:[
- java_lang_Object := class.
+ nm := class binaryName.
+ nm = #'java/lang/Object' ifTrue:[
+ _java_lang_Object_CLASS := class.
^self.
].
- nm == #'java/lang/System' ifTrue:[
- java_lang_System := class.
+ nm = #'java/lang/System' ifTrue:[
+ _java_lang_System_CLASS := class.
^self.
].
- nm == #'java/lang/Class' ifTrue:[
- java_lang_Class := class.
+ nm = #'java/lang/Class' ifTrue:[
+ _java_lang_Class_CLASS := class.
"/ Force load of other reflective classes. This saves us a nil check in
- "/ JavaMirror>>createMethod...
+ "/ JavaMirror>>createMethod...
#(#'java/lang/reflect/Constructor' #'java/lang/reflect/Method' #'java/lang/reflect/Field') do:[:e|
vm classForName: e definedBy: nil.
- ].
+ ].
^self.
].
- nm == #'java/lang/reflect/Constructor' ifTrue:[
- java_lang_reflect_Constructor := class.
+ nm = #'java/lang/reflect/Constructor' ifTrue:[
+ _java_lang_reflect_Constructor_CLASS := class.
].
- nm == #'java/lang/reflect/Method' ifTrue:[
- java_lang_reflect_Method := class.
- ].
- nm == #'java/lang/reflect/Field' ifTrue:[
- java_lang_reflect_Field := class.
+ nm = #'java/lang/reflect/Method' ifTrue:[
+ _java_lang_reflect_Method_CLASS := class.
+ ].
+ nm = #'java/lang/reflect/Field' ifTrue:[
+ _java_lang_reflect_Field_CLASS := class.
].
-
-
"Created: / 22-05-2013 / 20:40:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 18-12-2013 / 13:03:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
registerClass: newClass
| classes oldClass |
- ((newClass binaryName == #'$do$It$')
+ ((newClass binaryName == #'$do$It$')
and:[newClass superclass binaryName == #'groovy/lang/Script']) ifTrue:[
"/ Mhhh...Groovy do-it. No need to register this!!
^ self
@@ -378,12 +377,12 @@
"/OK, full reload, not just method dictionary update"
reloadedClass ~~ oldClass ifTrue:[
classesPerLoader
- at: newClass binaryName
+ at: newClass binaryName
put: reloadedClass.
self registerClassInSmalltalk: reloadedClass notify: false.
].
Smalltalk changed: #classDefinition with: reloadedClass.
- ^self.
+ ^self.
].
].
].
@@ -397,15 +396,23 @@
"/ There may be classes already loaded with compile errors.
"/ Try to recompile all erroneous classes that depends on this one...
JavaCompiler notNil ifTrue:[
- JavaCompiler recompileErroneousClassesReferringTo: newClass ignoring: newClass.
+ JavaCompiler recompileErroneousClassesReferringTo: newClass ignoring: newClass.
].
newClass isJavaClass ifTrue:[
+ "/ Register class in system dictionary so it can be browsed
+ "/ by system browser
self registerClassInSmalltalk: newClass notify: true.
+
+ "/ Also register builtin classes in JavaVMData
+ newClass isBuiltInClass ifTrue:[
+ self assert: newClass classLoader isNil. "/must be loaded by primordial CL...
+ self registerBuiltIn: newClass.
+ ].
].
"Created: / 23-10-2011 / 11:53:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
"Modified: / 02-11-2011 / 18:40:52 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
- "Modified: / 20-11-2013 / 16:05:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ "Modified: / 18-12-2013 / 12:43:58 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
registerClassInSmalltalk: javaclass notify: doNotify
@@ -435,7 +442,7 @@
"/ This allows java.foo.bar to be visible in ST/X
"/ under the name JAVA::java::foo::bar
- accessor := javaclass"JavaClassAccessor fullName: aString".
+ accessor := javaclass"JavaClassAccessor fullName: aString".
nsName := javaclass nameSpaceName.
nsNameAsSymbol := nsName asSymbolIfInterned.
(nsNameAsSymbol isNil or:[(ns := Smalltalk at: nsNameAsSymbol) isNil]) ifTrue:[
@@ -512,7 +519,7 @@
"/ a race condition occur in stx:libbasic code (something is
"/ nilled menawhile and event handler does not handle this case.
"/ This can happen for example when running tests...
- notifier waitUntilProcessed.
+ notifier waitUntilProcessed.
javaclass isSynthetic ifTrue:[ ^ self ].
nameSpace := javaclass nameSpace.
@@ -534,7 +541,7 @@
"Modified: / 17-10-2013 / 10:50:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-unregisterClassLoader: aJavaClassLoader
+unregisterClassLoader: aJavaClassLoader
| classes |
classes := loaders at: aJavaClassLoader ifAbsent:[ ^ self ].
--- a/JavaMirror.st Wed Dec 18 12:03:32 2013 +0100
+++ b/JavaMirror.st Wed Dec 18 14:52:11 2013 +0100
@@ -61,7 +61,7 @@
Different classes may use different mirrors - for example,
Smalltalk classes use a special mirror so non-Smalltalk classes
- and instances could be introspected and manipulated by standard
+ and instances could be introspected and manipulated by standard
Java code.
[author:]
@@ -123,7 +123,7 @@
!
getDeclaredConstructors: publicOnly
- "Returns an java.lang.reflect.Constructor[] with all constructors
+ "Returns an java.lang.reflect.Constructor[] with all constructors
declared by this class. "
^self subclassResponsibility
@@ -132,7 +132,7 @@
!
getDeclaredFields: publicOnly
- "Returns an java.lang.reflect.Field[] with all constructors
+ "Returns an java.lang.reflect.Field[] with all constructors
declared by this class."
^self subclassResponsibility
@@ -140,10 +140,10 @@
"Created: / 22-08-2012 / 12:03:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-getDeclaredMethods:publicOnly
- "Returns an java.lang.reflect.Method[] with all methods
+getDeclaredMethods:publicOnly
+ "Returns an java.lang.reflect.Method[] with all methods
declared by this class."
-
+
^ self subclassResponsibility
"Created: / 01-08-2012 / 11:07:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -197,7 +197,7 @@
!JavaMirror methodsFor:'instance creation-java.lang.reflect.*'!
-create: ctorOrMethodClass for: class method: method signature: signature modifiers: modifiers parameterTyoes: parameterClasses exceptionTypes: exceptionClasses annotations: annotations
+create: ctorOrMethodClass for: class method: method signature: signature modifiers: modifiers parameterTyoes: parameterClasses exceptionTypes: exceptionClasses annotations: annotations
"Creates a new java.lang.Constructor. Arguments:
ctorOrMethodClass <java.lang.reflect.Constructor|java.lang.reflect.Method>
@@ -208,7 +208,7 @@
parameterClasses <Collection of Class>
exceptionClasses <Collection of Class>
annotations <JavaAnnotationContainer>"
-
+
| ctorOrMethod |
ctorOrMethod := ctorOrMethodClass new.
ctorOrMethod
@@ -246,13 +246,13 @@
"
| ctor |
- ctor := self create: java_lang_reflect_Constructor
+ ctor := self create: _java_lang_reflect_Constructor_CLASS
for: class
method: method
- signature: signature
- modifiers: modifiers
- parameterTyoes: parameterClasses
- exceptionTypes: exceptionClasses
+ signature: signature
+ modifiers: modifiers
+ parameterTyoes: parameterClasses
+ exceptionTypes: exceptionClasses
annotations: annotations.
^ctor
@@ -260,7 +260,7 @@
"Modified: / 18-05-2013 / 10:55:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-createFieldFor: javaField
+createFieldFor: javaField
"given a java field, return the corresponding java.lang.Field
instance for it."
"
@@ -282,7 +282,7 @@
type := JavaVM javaClassObjectForClass:
((JavaDescriptor fromString: javaField descriptor) javaClassUsingClassLoader: javaField javaClass classLoader).
modifiers := javaField accessFlags.
- field := java_lang_reflect_Field new.
+ field := _java_lang_reflect_Field_CLASS new.
field
instVarNamed: #clazz put: clazz;
instVarNamed: #name put: name;
@@ -290,7 +290,7 @@
instVarNamed: #type put: type;
instVarNamed: #modifiers put: modifiers;
yourself.
- javaField annotations
+ javaField annotations
ifNotNil: [
field instVarNamed: #annotations
put: javaField annotations runtimeVisible rawAnnotations
@@ -316,13 +316,13 @@
"
| mthd |
- mthd := self create: java_lang_reflect_Method
+ mthd := self create: _java_lang_reflect_Method_CLASS
for: class
method: method
- signature: signature
- modifiers: modifiers
- parameterTyoes: parameterClasses
- exceptionTypes: exceptionClasses
+ signature: signature
+ modifiers: modifiers
+ parameterTyoes: parameterClasses
+ exceptionTypes: exceptionClasses
annotations: annotations.
mthd
--- a/JavaNativeMethodImpl_OpenJDK6.st Wed Dec 18 12:03:32 2013 +0100
+++ b/JavaNativeMethodImpl_OpenJDK6.st Wed Dec 18 14:52:11 2013 +0100
@@ -9736,7 +9736,7 @@
jClass := this.
cls := Reflection classForJavaClassObject:jClass.
interfaces := cls javaMirror getInterfaces.
- jInterfaces := java_lang_Class javaArrayClass new:interfaces size.
+ jInterfaces := _java_lang_Class_CLASS javaArrayClass new:interfaces size.
interfaces
withIndexDo:[:iface :idx | jInterfaces at:idx put:(Reflection javaClassObjectForClass:iface) ].
^ jInterfaces
@@ -10587,7 +10587,7 @@
ctx := ctx sender.
].
- jclasses := java_lang_Class javaArrayClass new: classes size.
+ jclasses := _java_lang_Class_CLASS javaArrayClass new: classes size.
1 to: classes size do:[:i|
jclasses at: i put: (Reflection javaClassObjectForClass: (classes at: i)).
].
@@ -13353,7 +13353,7 @@
].
con := con sender.
].
- ^java_lang_Class javaArrayClass withAll: chain
+ ^_java_lang_Class_CLASS javaArrayClass withAll: chain
"Created: / 05-01-1998 / 02:47:00 / cg"
"Modified: / 24-12-1998 / 00:34:57 / cg"
--- a/JavaPrimitiveMirror.st Wed Dec 18 12:03:32 2013 +0100
+++ b/JavaPrimitiveMirror.st Wed Dec 18 14:52:11 2013 +0100
@@ -64,28 +64,28 @@
!
getDeclaredConstructors:publicOnly
- "Returns an java.lang.reflect.Constructor[] with all constructors
+ "Returns an java.lang.reflect.Constructor[] with all constructors
declared by this class"
- ^ java_lang_reflect_Constructor javaArrayClass new:0.
+ ^ _java_lang_reflect_Constructor_CLASS javaArrayClass new:0.
"Modified: / 18-05-2013 / 10:57:56 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
getDeclaredFields:publicOnly
- "Returns an java.lang.reflect.Field[] with all constructors
+ "Returns an java.lang.reflect.Field[] with all constructors
declared by this class."
- ^java_lang_reflect_Field javaArrayClass new:0.
+ ^ _java_lang_reflect_Field_CLASS javaArrayClass new:0.
"Modified: / 18-05-2013 / 10:58:00 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
-getDeclaredMethods:publicOnly
- "Returns an java.lang.reflect.Method[] with all methods
+getDeclaredMethods:publicOnly
+ "Returns an java.lang.reflect.Method[] with all methods
declared by this class"
-
- ^ java_lang_reflect_Method javaArrayClass new:0.
+
+ ^ _java_lang_reflect_Method_CLASS javaArrayClass new:0.
"Modified: / 18-05-2013 / 10:58:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
--- a/JavaVM.st Wed Dec 18 12:03:32 2013 +0100
+++ b/JavaVM.st Wed Dec 18 14:52:11 2013 +0100
@@ -1536,7 +1536,7 @@
initializeBaseClasses
"load req'd base classes"
- java_lang_Object := java_lang_System := java_lang_Class := nil.
+ _java_lang_Object_CLASS := _java_lang_System_CLASS := _java_lang_Class_CLASS := nil.
#( 'java.lang.Object' 'java.lang.Class' 'java.lang.String' 'java.lang.System' ) do: [:cName |
(self classForName: cName definedBy: nil) isNil ifTrue: [
@@ -2531,10 +2531,10 @@
^#(
#'java/lang/Object'
#'java/lang/String'
- #'java/lang/System'
- #'java/lang/Class'
-
- #'java/lang/reflect/Constructor'
+ #'java/lang/System'
+ #'java/lang/Class'
+
+ #'java/lang/reflect/Constructor'
#'java/lang/reflect/Method'
#'java/lang/reflect/Field'
@@ -2615,7 +2615,7 @@
ifAbsentPut: [
| class classLoaderEnsured |
self assert: (binaryName includes: $.) not.
- class := self loadClassNamed: binaryName usingClassLoader: classLoader.
+ class := self loadClassNamed: binaryName usingClassLoader: classLoader.
class.
].
@@ -2730,7 +2730,7 @@
| nm |
nm := entry copyTo: entry size - 6.
- className := nm copyReplaceAll: (Filename separator) with: $..
+ className := nm copyReplaceAll: (Filename separator) with: $..
(className matches: pattern) ifTrue: [
(self classNamed: className) isNil ifTrue:[
loadedClasses add: (self classForName:className).
@@ -2766,7 +2766,7 @@
JavaClassReader classLoaderQuerySignal answer: classLoader do: [
classLoader isNil ifTrue:[
"/ Primordial load...
- class := JavaClassReader readClass: className classPath: Java release bootClassPath
+ class := JavaClassReader readClass: className classPath: Java release bootClassPath
] ifFalse:[
class := classLoader
perform: #'loadClassInternal(Ljava/lang/String;)Ljava/lang/Class;'
@@ -2782,7 +2782,7 @@
unloadClass: class
"Remove given `class` from the system, i.e., remove it from
- the class registry as well as from system dictionary (Smalltalk).
+ the class registry as well as from system dictionary (Smalltalk).
Note, that this method also removes all dependent classes and
invalidates all references"
@@ -4757,7 +4757,7 @@
<resource: #obsolete>
"Forward here as optimized code delegates to JavaVM"
- ^ NativeMethodsImplementation _java_lang_System_arraycopy: nativeContext receiver _:(nativeContext argAt:1) _: (nativeContext argAt:2) _: (nativeContext argAt:3) _: (nativeContext argAt:4) _: (nativeContext argAt:5)
+ ^ NativeMethodsImplementation _java_lang_System_arraycopy: nativeContext receiver _:(nativeContext argAt:1) _: (nativeContext argAt:2) _: (nativeContext argAt:3) _: (nativeContext argAt:4) _: (nativeContext argAt:5)
"Modified: / 21-01-2013 / 09:18:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
@@ -4919,7 +4919,7 @@
_AALOAD: arr _: index
"Called from the VM (___aaload()) for unhandled cases"
-
+
arr basicAt: index + 1
"Created: / 29-04-2013 / 21:22:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
@@ -5019,8 +5019,8 @@
_CHECKCAST: obj _: cls
"A principal implementation of CHECKCAST instruction. Called by the bytecode
- interpreter for unhandled cases."
-
+ interpreter for unhandled cases."
+
obj isNil ifTrue:[ ^ obj ].
(self canCast: obj class to: cls) ifFalse: [
self throwClassCastException.
@@ -5168,7 +5168,7 @@
_INSTANCEOF:obj _:cls
"A principal implementation of INSTANCEOF instruction. Called by the bytecode
- interpreter for unhandled cases."
+ interpreter for unhandled cases."
obj isNil ifTrue: [ ^ 0 ].
(self canCast: obj class to: cls) ifFalse: [
@@ -5186,12 +5186,12 @@
_INSTANCEOF_R: object _: classRef
"An implementation of INSTANCEOF instruction. Called by the jitted code
when if the classRef hasn't been resolved at the time of jitting."
-
+
| class |
object isNil ifTrue: [ ^ 0 ].
- class := classRef resolve.
- ^(self canCast: object class to: class)
+ class := classRef resolve.
+ ^(self canCast: object class to: class)
ifTrue: [ 1 ]
ifFalse: [ 0 ].
@@ -6525,7 +6525,7 @@
| array |
- array := java_lang_Class javaArrayClass
+ array := _java_lang_Class_CLASS javaArrayClass
new: classes size.
classes isNilOrEmptyCollection ifTrue: [ ^ array ].
classes
@@ -6567,7 +6567,7 @@
aClass == Object ifTrue:[ self halt. ].
aClass lookupObject: JavaLookup instance.
].
- javaClassObj := java_lang_Class new.
+ javaClassObj := _java_lang_Class_CLASS new.
self rememberJavaClassObject: javaClassObj for: aClass.
^ javaClassObj
--- a/JavaVMData.st Wed Dec 18 12:03:32 2013 +0100
+++ b/JavaVMData.st Wed Dec 18 14:52:11 2013 +0100
@@ -35,7 +35,9 @@
StdinReplacementFileQuerySignal JavaScreenUpdaterThread
ZipInflaters LoadedLibs EnteredMonitorsPerProcess
_java_net_DatagramPacket_CLASS _java_net_DatagramPacket_buf_ID
- java_lang_Object java_lang_System java_lang_Class java_lang_reflect_Constructor java_lang_reflect_Method java_lang_reflect_Field
+ _java_lang_Object_CLASS _java_lang_System_CLASS _java_lang_Class_CLASS
+ _java_lang_reflect_Constructor_CLASS _java_lang_reflect_Method_CLASS
+ _java_lang_reflect_Field_CLASS
_java_net_DatagramPacket_offset_ID
_java_net_DatagramPacket_length_ID
_java_net_DatagramPacket_bufLength_ID
--- a/Make.proto Wed Dec 18 12:03:32 2013 +0100
+++ b/Make.proto Wed Dec 18 14:52:11 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/goodies/sunit -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libbasic2 -I$(INCLUDE_TOP)/stx/libbasic3 -I$(INCLUDE_TOP)/stx/libview
+LOCALINCLUDES=-I$(ZLIB_DIR) -Isupport/fdlibm -I$(INCLUDE_TOP)/stx/libbasic -I$(INCLUDE_TOP)/stx/libbasic2 -I$(INCLUDE_TOP)/stx/libbasic3 -I$(INCLUDE_TOP)/stx/libview
# if you need any additional defines for embedded C code,
@@ -207,6 +207,7 @@
$(OUTDIR)JavaPopUpView.$(O) JavaPopUpView.$(H): JavaPopUpView.st $(INCLUDE_TOP)/stx/libview/PopUpView.$(H) $(INCLUDE_TOP)/stx/libview/TopView.$(H) $(INCLUDE_TOP)/stx/libview/View.$(H) $(INCLUDE_TOP)/stx/libview/SimpleView.$(H) $(INCLUDE_TOP)/stx/libview/DisplaySurface.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsMedium.$(H) $(INCLUDE_TOP)/stx/libview/DeviceGraphicsContext.$(H) $(INCLUDE_TOP)/stx/libview/GraphicsContext.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)JavaProcess.$(O) JavaProcess.$(H): JavaProcess.st $(INCLUDE_TOP)/stx/libbasic/Process.$(H) $(INCLUDE_TOP)/stx/libbasic/Link.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)JavaRef2.$(O) JavaRef2.$(H): JavaRef2.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)JavaRelease.$(O) JavaRelease.$(H): JavaRelease.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)JavaResolver.$(O) JavaResolver.$(H): JavaResolver.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)JavaShort.$(O) JavaShort.$(H): JavaShort.st $(INCLUDE_TOP)/stx/libbasic/Integer.$(H) $(INCLUDE_TOP)/stx/libbasic/Number.$(H) $(INCLUDE_TOP)/stx/libbasic/ArithmeticValue.$(H) $(INCLUDE_TOP)/stx/libbasic/Magnitude.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)JavaSlotIndexCache.$(O) JavaSlotIndexCache.$(H): JavaSlotIndexCache.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
@@ -255,7 +256,6 @@
$(OUTDIR)JavaMethodDescriptor.$(O) JavaMethodDescriptor.$(H): JavaMethodDescriptor.st $(INCLUDE_TOP)/stx/libjava/JavaDescriptor.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)JavaMirror.$(O) JavaMirror.$(H): JavaMirror.st $(INCLUDE_TOP)/stx/libjava/JavaVMData.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)JavaNativeMethodImpl_OpenJDK6.$(O) JavaNativeMethodImpl_OpenJDK6.$(H): JavaNativeMethodImpl_OpenJDK6.st $(INCLUDE_TOP)/stx/libjava/JavaVMData.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
-$(OUTDIR)JavaRelease.$(O) JavaRelease.$(H): JavaRelease.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)JavaStringRef2.$(O) JavaStringRef2.$(H): JavaStringRef2.st $(INCLUDE_TOP)/stx/libjava/JavaRef2.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)JavaUnhandledExceptionError.$(O) JavaUnhandledExceptionError.$(H): JavaUnhandledExceptionError.st $(INCLUDE_TOP)/stx/libjava/JavaError.$(H) $(INCLUDE_TOP)/stx/libbasic/Error.$(H) $(INCLUDE_TOP)/stx/libbasic/Exception.$(H) $(INCLUDE_TOP)/stx/libbasic/GenericException.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
$(OUTDIR)JavaUnresolvedClassConstant.$(O) JavaUnresolvedClassConstant.$(H): JavaUnresolvedClassConstant.st $(INCLUDE_TOP)/stx/libjava/JavaUnresolvedConstant.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
--- a/Make.spec Wed Dec 18 12:03:32 2013 +0100
+++ b/Make.spec Wed Dec 18 14:52:11 2013 +0100
@@ -94,6 +94,7 @@
JavaPopUpView \
JavaProcess \
JavaRef2 \
+ JavaRelease \
JavaResolver \
JavaShort \
JavaSlotIndexCache \
@@ -142,7 +143,6 @@
JavaMethodDescriptor \
JavaMirror \
JavaNativeMethodImpl_OpenJDK6 \
- JavaRelease \
JavaStringRef2 \
JavaUnhandledExceptionError \
JavaUnresolvedClassConstant \
@@ -227,6 +227,7 @@
$(OUTDIR_SLASH)JavaPopUpView.$(O) \
$(OUTDIR_SLASH)JavaProcess.$(O) \
$(OUTDIR_SLASH)JavaRef2.$(O) \
+ $(OUTDIR_SLASH)JavaRelease.$(O) \
$(OUTDIR_SLASH)JavaResolver.$(O) \
$(OUTDIR_SLASH)JavaShort.$(O) \
$(OUTDIR_SLASH)JavaSlotIndexCache.$(O) \
@@ -275,7 +276,6 @@
$(OUTDIR_SLASH)JavaMethodDescriptor.$(O) \
$(OUTDIR_SLASH)JavaMirror.$(O) \
$(OUTDIR_SLASH)JavaNativeMethodImpl_OpenJDK6.$(O) \
- $(OUTDIR_SLASH)JavaRelease.$(O) \
$(OUTDIR_SLASH)JavaStringRef2.$(O) \
$(OUTDIR_SLASH)JavaUnhandledExceptionError.$(O) \
$(OUTDIR_SLASH)JavaUnresolvedClassConstant.$(O) \
--- a/abbrev.stc Wed Dec 18 12:03:32 2013 +0100
+++ b/abbrev.stc Wed Dec 18 14:52:11 2013 +0100
@@ -1,3 +1,158 @@
+# automagically generated by the project definition
+# this file is needed for stc to be able to compile modules independently.
+# 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
+GroovyLanguage GroovyLanguage stx:libjava 'Languages-Groovy-Support' 1
+GroovySourceFileWriter GroovySourceFileWriter stx:libjava 'Languages-Groovy-Support' 0
+JUnitTestCaseProxy JUnitTestCaseProxy stx:libjava 'Languages-Java-Tests-Proxies' 3
+JavaAnnotation JavaAnnotation stx:libjava 'Languages-Java-Reader-Support' 0
+JavaAnnotationContainer JavaAnnotationContainer stx:libjava 'Languages-Java-Annotations' 1
+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
+JavaByte JavaByte stx:libjava 'Languages-Java-Support' 0
+JavaByteCodeDisassemblerTests JavaByteCodeDisassemblerTests stx:libjava 'Languages-Java-Tests' 1
+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
+JavaClassQuery JavaClassQuery stx:libjava 'Languages-Java-Classes' 1
+JavaClassReaderTests JavaClassReaderTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
+JavaClassRefTests JavaClassRefTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
+JavaClassReloader JavaClassReloader stx:libjava 'Languages-Java-Support' 0
+JavaCodeLibraryOrBundle JavaCodeLibraryOrBundle stx:libjava 'Languages-Java-Support-Libraries' 0
JavaCompilerForSmalltalkExtensionsOnly JavaCompilerForSmalltalkExtensionsOnly stx:libjava 'Languages-Java-Support-Compiling' 0
+JavaCompiler_Eclipse JavaCompiler_Eclipse stx:libjava 'Languages-Java-Tools-Eclipse' 0
+JavaConstantPool JavaConstantPool stx:libjava 'Languages-Java-Reader-Support' 0
+JavaConstants JavaConstants stx:libjava 'Languages-Java-Support' 0
+JavaContext JavaContext stx:libjava 'Languages-Java-Support' 0
+JavaDecompiler JavaDecompiler stx:libjava 'Languages-Java-Support-Decompiling' 0
+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
+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
JavaInnerClasses JavaInnerClasses stx:libjava 'Languages-Java-Support' 0
+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
+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
+JavaLookupTestsResource JavaLookupTestsResource stx:libjava 'Languages-Java-Tests-Interop' 3
+JavaMetaclass JavaMetaclass stx:libjava 'Languages-Java-Classes' 0
+JavaMethodRefTests JavaMethodRefTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
+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
+JavaPackage JavaPackage stx:libjava 'Languages-Java-Support' 0
+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
+JavaRefMock JavaRefMock stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 0
+JavaRefsAndConstantPoolTestCase JavaRefsAndConstantPoolTestCase stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
+JavaRelease JavaRelease stx:libjava 'Languages-Java-Support' 1
+JavaResolver JavaResolver stx:libjava 'Languages-Java-Reader-Support-new' 0
+JavaRuntimeConstantPoolTests JavaRuntimeConstantPoolTests stx:libjava 'Languages-Java-Tests-RuntimeConstantPool' 1
+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
+JavaTestsResource JavaTestsResource stx:libjava 'Languages-Java-Tests' 2
+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
+JavaVMData JavaVMData stx:libjava 'Languages-Java-Support' 0
+JavaView JavaView stx:libjava 'Languages-Java-Views-Support' 2
+JavaZipSupport JavaZipSupport stx:libjava 'Languages-Java-Support-Native' 0
+ProxyMethod ProxyMethod stx:libjava 'System-Compiler-Interop' 0
+ProxyMethodCompiler ProxyMethodCompiler stx:libjava 'System-Compiler-Interop' 0
+ProxyMethodNode ProxyMethodNode stx:libjava 'System-Compiler-Interop' 0
+SmalltalkAppletContext SmalltalkAppletContext stx:libjava 'Languages-Java-Views-Support' 0
+SmalltalkAppletStub SmalltalkAppletStub stx:libjava 'Languages-Java-Views-Support' 0
+TestletTestCaseProxy TestletTestCaseProxy stx:libjava 'Languages-Java-Tests-Proxies' 3
+stx_libjava stx_libjava stx:libjava '* Projects & Packages *' 3
+GroovyMetaclass GroovyMetaclass stx:libjava 'Languages-Groovy-Classes' 0
+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
+JavaAnnotationEnumValue JavaAnnotationEnumValue stx:libjava 'Languages-Java-Reader-Support' 0
+JavaAnnotationNestedAnnotationValue JavaAnnotationNestedAnnotationValue stx:libjava 'Languages-Java-Reader-Support' 0
+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
+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
+JavaClassContentRef2 JavaClassContentRef2 stx:libjava 'Languages-Java-Reader-Support-new' 0
+JavaClassReader JavaClassReader stx:libjava 'Languages-Java-Support' 0
+JavaClassRef2 JavaClassRef2 stx:libjava 'Languages-Java-Reader-Support-new' 0
+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
+JavaEmbeddedFrameView JavaEmbeddedFrameView stx:libjava 'Languages-Java-Views-Support' 2
+JavaFieldAnnotationContainer JavaFieldAnnotationContainer stx:libjava 'Languages-Java-Annotations' 1
+JavaFieldDescriptor JavaFieldDescriptor stx:libjava 'Languages-Java-Support' 0
+JavaFieldDescriptorWithUnionType JavaFieldDescriptorWithUnionType stx:libjava 'Languages-Java-Support' 0
+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
+JavaMirror JavaMirror stx:libjava 'Languages-Java-Classes' 0
+JavaNativeMethodImpl_OpenJDK6 JavaNativeMethodImpl_OpenJDK6 stx:libjava 'Languages-Java-Support-OpenJDK6' 0
+JavaStringRef2 JavaStringRef2 stx:libjava 'Languages-Java-Reader-Support-new' 0
+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
+JavaVM JavaVM stx:libjava 'Languages-Java-Support' 0
+ProxyMethodConditionNode ProxyMethodConditionNode stx:libjava 'System-Compiler-Interop' 0
+ProxyMethodGuardNode ProxyMethodGuardNode stx:libjava 'System-Compiler-Interop' 0
+ProxyMethodInvocationNode ProxyMethodInvocationNode stx:libjava 'System-Compiler-Interop' 0
+ProxyMethodJavaFieldAccessor ProxyMethodJavaFieldAccessor stx:libjava 'Languages-Java-Interop' 0
+JavaAlienMirror JavaAlienMirror stx:libjava 'Languages-Java-Classes' 0
+JavaArrayMirror JavaArrayMirror stx:libjava 'Languages-Java-Classes' 0
+JavaByteCodePreresolver JavaByteCodePreresolver stx:libjava 'Languages-Java-Bytecode' 0
+JavaClass JavaClass stx:libjava 'Languages-Java-Classes' 0
+JavaClassMirror JavaClassMirror 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
+JavaNativeMethodImpl_SunJDK6 JavaNativeMethodImpl_SunJDK6 stx:libjava 'Languages-Java-Support-OpenJDK6' 0
+JavaPrimitiveMirror JavaPrimitiveMirror stx:libjava 'Languages-Java-Classes' 0
+ProxyMethodAndNode ProxyMethodAndNode stx:libjava 'System-Compiler-Interop' 0
+ProxyMethodBlockInvocationNode ProxyMethodBlockInvocationNode stx:libjava 'System-Compiler-Interop' 0
+ProxyMethodJavaFieldGetter ProxyMethodJavaFieldGetter stx:libjava 'Languages-Java-Interop' 0
+ProxyMethodJavaFieldSetter ProxyMethodJavaFieldSetter stx:libjava 'Languages-Java-Interop' 0
+ProxyMethodMethodInvocationNode ProxyMethodMethodInvocationNode stx:libjava 'System-Compiler-Interop' 0
+ProxyMethodTypeCheckNode ProxyMethodTypeCheckNode stx:libjava 'System-Compiler-Interop' 0
+GroovyClass GroovyClass stx:libjava 'Languages-Groovy-Classes' 0
+JavaInterfaceMethodRef2 JavaInterfaceMethodRef2 stx:libjava 'Languages-Java-Reader-Support-new' 0
+JavaMethodWithHandler JavaMethodWithHandler stx:libjava 'Languages-Java-Classes' 0
+JavaNativeMethodImpl_SunJDK7 JavaNativeMethodImpl_SunJDK7 stx:libjava 'Languages-Java-Support-OpenJDK7' 0
+ProxyMethodJavaMethodInvocationNode ProxyMethodJavaMethodInvocationNode stx:libjava 'Languages-Java-Interop' 0
+ProxyMethodJavaTypeCheckNode ProxyMethodJavaTypeCheckNode stx:libjava 'Languages-Java-Interop' 0
+JavaNativeMethod JavaNativeMethod stx:libjava 'Languages-Java-Classes' 0
--- a/bc.mak Wed Dec 18 12:03:32 2013 +0100
+++ b/bc.mak Wed Dec 18 14:52:11 2013 +0100
@@ -34,7 +34,7 @@
-LOCALINCLUDES=-I$(ZLIB_DIR) -Isupport\fdlibm -I$(INCLUDE_TOP)\stx\goodies\sunit -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libbasic2 -I$(INCLUDE_TOP)\stx\libbasic3 -I$(INCLUDE_TOP)\stx\libview
+LOCALINCLUDES=-I$(ZLIB_DIR) -Isupport\fdlibm -I$(INCLUDE_TOP)\stx\libbasic -I$(INCLUDE_TOP)\stx\libbasic2 -I$(INCLUDE_TOP)\stx\libbasic3 -I$(INCLUDE_TOP)\stx\libview
LOCALDEFINES=
STCLOCALOPT=-package=$(PACKAGE) -I. $(LOCALINCLUDES) -headerDir=. $(STCLOCALOPTIMIZATIONS) $(STCWARNINGS) $(LOCALDEFINES) -varPrefix=$(LIBNAME)
@@ -140,6 +140,7 @@
$(OUTDIR)JavaPopUpView.$(O) JavaPopUpView.$(H): JavaPopUpView.st $(INCLUDE_TOP)\stx\libview\PopUpView.$(H) $(INCLUDE_TOP)\stx\libview\TopView.$(H) $(INCLUDE_TOP)\stx\libview\View.$(H) $(INCLUDE_TOP)\stx\libview\SimpleView.$(H) $(INCLUDE_TOP)\stx\libview\DisplaySurface.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsMedium.$(H) $(INCLUDE_TOP)\stx\libview\DeviceGraphicsContext.$(H) $(INCLUDE_TOP)\stx\libview\GraphicsContext.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)JavaProcess.$(O) JavaProcess.$(H): JavaProcess.st $(INCLUDE_TOP)\stx\libbasic\Process.$(H) $(INCLUDE_TOP)\stx\libbasic\Link.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)JavaRef2.$(O) JavaRef2.$(H): JavaRef2.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)JavaRelease.$(O) JavaRelease.$(H): JavaRelease.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)JavaResolver.$(O) JavaResolver.$(H): JavaResolver.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)JavaShort.$(O) JavaShort.$(H): JavaShort.st $(INCLUDE_TOP)\stx\libbasic\Integer.$(H) $(INCLUDE_TOP)\stx\libbasic\Number.$(H) $(INCLUDE_TOP)\stx\libbasic\ArithmeticValue.$(H) $(INCLUDE_TOP)\stx\libbasic\Magnitude.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)JavaSlotIndexCache.$(O) JavaSlotIndexCache.$(H): JavaSlotIndexCache.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
@@ -188,7 +189,6 @@
$(OUTDIR)JavaMethodDescriptor.$(O) JavaMethodDescriptor.$(H): JavaMethodDescriptor.st $(INCLUDE_TOP)\stx\libjava\JavaDescriptor.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)JavaMirror.$(O) JavaMirror.$(H): JavaMirror.st $(INCLUDE_TOP)\stx\libjava\JavaVMData.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)JavaNativeMethodImpl_OpenJDK6.$(O) JavaNativeMethodImpl_OpenJDK6.$(H): JavaNativeMethodImpl_OpenJDK6.st $(INCLUDE_TOP)\stx\libjava\JavaVMData.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
-$(OUTDIR)JavaRelease.$(O) JavaRelease.$(H): JavaRelease.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)JavaStringRef2.$(O) JavaStringRef2.$(H): JavaStringRef2.st $(INCLUDE_TOP)\stx\libjava\JavaRef2.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)JavaUnhandledExceptionError.$(O) JavaUnhandledExceptionError.$(H): JavaUnhandledExceptionError.st $(INCLUDE_TOP)\stx\libjava\JavaError.$(H) $(INCLUDE_TOP)\stx\libbasic\Error.$(H) $(INCLUDE_TOP)\stx\libbasic\Exception.$(H) $(INCLUDE_TOP)\stx\libbasic\GenericException.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
$(OUTDIR)JavaUnresolvedClassConstant.$(O) JavaUnresolvedClassConstant.$(H): JavaUnresolvedClassConstant.st $(INCLUDE_TOP)\stx\libjava\JavaUnresolvedConstant.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
--- a/libInit.cc Wed Dec 18 12:03:32 2013 +0100
+++ b/libInit.cc Wed Dec 18 14:52:11 2013 +0100
@@ -71,6 +71,7 @@
_JavaPopUpView_Init(pass,__pRT__,snd);
_JavaProcess_Init(pass,__pRT__,snd);
_JavaRef2_Init(pass,__pRT__,snd);
+_JavaRelease_Init(pass,__pRT__,snd);
_JavaResolver_Init(pass,__pRT__,snd);
_JavaShort_Init(pass,__pRT__,snd);
_JavaSlotIndexCache_Init(pass,__pRT__,snd);
@@ -119,7 +120,6 @@
_JavaMethodDescriptor_Init(pass,__pRT__,snd);
_JavaMirror_Init(pass,__pRT__,snd);
_JavaNativeMethodImpl_137OpenJDK6_Init(pass,__pRT__,snd);
-_JavaRelease_Init(pass,__pRT__,snd);
_JavaStringRef2_Init(pass,__pRT__,snd);
_JavaUnhandledExceptionError_Init(pass,__pRT__,snd);
_JavaUnresolvedClassConstant_Init(pass,__pRT__,snd);
--- a/libjava.rc Wed Dec 18 12:03:32 2013 +0100
+++ b/libjava.rc Wed Dec 18 14:52:11 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", "Tue, 10 Dec 2013 22:30:58 GMT\0"
+ VALUE "ProductDate", "Wed, 18 Dec 2013 12:06:42 GMT\0"
END
END
--- a/libs/java/pom.xml Wed Dec 18 12:03:32 2013 +0100
+++ b/libs/java/pom.xml Wed Dec 18 14:52:11 2013 +0100
@@ -32,7 +32,6 @@
</dependency>
-->
<!--
- <!--
<dependency>
<groupId>net.sf.jasperreports</groupId>
<artifactId>jasperreports</artifactId>
--- a/stx_libjava.st Wed Dec 18 12:03:32 2013 +0100
+++ b/stx_libjava.st Wed Dec 18 14:52:11 2013 +0100
@@ -311,6 +311,7 @@
GroovyEvaluator
GroovyLanguage
GroovySourceFileWriter
+ (JUnitTestCaseProxy autoload)
JavaAnnotation
JavaAnnotationContainer
JavaAnnotationDefault
@@ -319,11 +320,14 @@
(JavaAntProjectResource autoload)
JavaArray
JavaByte
+ (JavaByteCodeDisassemblerTests autoload)
JavaByteCodeProcessor
(JavaByteCodeProcessorTests autoload)
JavaClassAccessor
(JavaClassLoadingTests autoload)
JavaClassQuery
+ (JavaClassReaderTests autoload)
+ (JavaClassRefTests autoload)
JavaClassReloader
JavaCodeLibraryOrBundle
JavaCompilerForSmalltalkExtensionsOnly
@@ -337,9 +341,12 @@
JavaExceptionTable
(JavaExceptionTests autoload)
JavaField
+ (JavaFieldRefTests autoload)
JavaFinalizationRegistry
(JavaFreshlyInitializedResource autoload)
+ (JavaInitializedResource autoload)
JavaInnerClasses
+ (JavaInterfaceMethodRefTests autoload)
(JavaJUnitTests autoload)
JavaLanguage
JavaLibraries
@@ -351,7 +358,7 @@
(JavaLookupTests autoload)
(JavaLookupTestsResource autoload)
JavaMetaclass
- JavaMirror
+ (JavaMethodRefTests autoload)
JavaMonitor
(JavaMonitorsTests autoload)
JavaNameAndType2
@@ -364,8 +371,11 @@
JavaPopUpView
JavaProcess
JavaRef2
+ (JavaRefMock autoload)
(JavaRefsAndConstantPoolTestCase autoload)
+ JavaRelease
JavaResolver
+ (JavaRuntimeConstantPoolTests autoload)
JavaShort
JavaSlotIndexCache
JavaSocket
@@ -373,6 +383,7 @@
JavaSourceFileWriter
(JavaTestCaseProxy autoload)
JavaTestsLoader
+ (JavaTestsResource autoload)
JavaTopView
(JavaUTF8Tests autoload)
JavaUnresolvedCompilationError
@@ -386,9 +397,9 @@
ProxyMethodNode
SmalltalkAppletContext
SmalltalkAppletStub
+ (TestletTestCaseProxy autoload)
#'stx_libjava'
GroovyMetaclass
- (JUnitTestCaseProxy autoload)
Java
JavaAnnotationArrayValue
JavaAnnotationClassValue
@@ -397,15 +408,12 @@
JavaAnnotationPrimitiveValue
JavaBehavior
JavaByteCodeDisassembler
- (JavaByteCodeDisassemblerTests autoload)
JavaByteCodeEnumerator
JavaByteCodeProcessorAdapter
JavaClassAnnotationContainer
JavaClassContentRef2
JavaClassReader
- (JavaClassReaderTests autoload)
JavaClassRef2
- (JavaClassRefTests autoload)
JavaClassRegistry
JavaCodeBundle
JavaCodeLibrary
@@ -413,20 +421,13 @@
JavaFieldAnnotationContainer
JavaFieldDescriptor
JavaFieldDescriptorWithUnionType
- (JavaFieldRefTests autoload)
- (JavaInitializedResource autoload)
- (JavaInterfaceMethodRefTests autoload)
JavaInvalidRefError
JavaMethod
JavaMethodAnnotationContainer
JavaMethodDescriptor
- (JavaMethodRefTests autoload)
+ JavaMirror
#'JavaNativeMethodImpl_OpenJDK6'
- (JavaRefMock autoload)
- JavaRelease
- (JavaRuntimeConstantPoolTests autoload)
JavaStringRef2
- (JavaTestsResource autoload)
JavaUnhandledExceptionError
JavaUnresolvedClassConstant
JavaUnresolvedStringConstant
@@ -435,9 +436,11 @@
ProxyMethodGuardNode
ProxyMethodInvocationNode
ProxyMethodJavaFieldAccessor
- (TestletTestCaseProxy autoload)
+ JavaAlienMirror
+ JavaArrayMirror
JavaByteCodePreresolver
JavaClass
+ JavaClassMirror
JavaClassPathBundle
JavaFieldRef2
JavaMethodAnalyzer
@@ -445,6 +448,7 @@
JavaMethodWithException
#'JavaNativeMethodImpl_OpenJDK7'
#'JavaNativeMethodImpl_SunJDK6'
+ JavaPrimitiveMirror
ProxyMethodAndNode
ProxyMethodBlockInvocationNode
ProxyMethodJavaFieldGetter
@@ -627,6 +631,37 @@
'ShortFloat class' javaUnbox:onError:
Class binaryName
Class isSynthetic
+ BooleanArray #'_ARRAYLENGTH:'
+ BooleanArray #'_CHECKCAST:'
+ BooleanArray #'_INSTANCEOF:'
+ ByteArray #'_ARRAYLENGTH:'
+ ByteArray #'_CHECKCAST:'
+ ByteArray #'_INSTANCEOF:'
+ CharacterArray #'_ARRAYLENGTH:'
+ CharacterArray #'_CHECKCAST:'
+ CharacterArray #'_INSTANCEOF:'
+ DoubleArray #'_ARRAYLENGTH:'
+ DoubleArray #'_CHECKCAST:'
+ DoubleArray #'_INSTANCEOF:'
+ FloatArray #'_ARRAYLENGTH:'
+ FloatArray #'_CHECKCAST:'
+ FloatArray #'_INSTANCEOF:'
+ Object #'_ARRAYLENGTH:'
+ Object #'_CHECKCAST:'
+ Object #'_INSTANCEOF:'
+ SignedIntegerArray #'_ARRAYLENGTH:'
+ SignedIntegerArray #'_CHECKCAST:'
+ SignedIntegerArray #'_INSTANCEOF:'
+ SignedLongIntegerArray #'_ARRAYLENGTH:'
+ SignedLongIntegerArray #'_CHECKCAST:'
+ SignedLongIntegerArray #'_INSTANCEOF:'
+ SignedWordArray #'_ARRAYLENGTH:'
+ SignedWordArray #'_CHECKCAST:'
+ SignedWordArray #'_INSTANCEOF:'
+ UndefinedObject #'_ARRAYLENGTH:'
+ UndefinedObject #'_CHECKCAST:'
+ UndefinedObject #'_INSTANCEOF:'
+ ZipArchive isValidFile:
)
! !