--- a/src/JavaVM.st Wed Aug 22 11:30:10 2012 +0000
+++ b/src/JavaVM.st Wed Aug 22 12:32:32 2012 +0000
@@ -48,10 +48,11 @@
StdinReplacementFileQuerySignal AssertionsEnabled
SimulatedNativeMemory Reflection ZipCache ZipEntryCache
ZipLastModTimesCache ZipInflaters JavaPrivilegedAccessQuery
- ClassRegistry SystemClassLoader ExtClassLoader StartupTime
- FinalizationEnabled FinalizationLobby ParkUnparkSemaphores
- ThreadInterrupts EagerResolvingEnabled OldspaceIncreased
- PerfCounters AboutToSnapshotAction SnapshotFinishedAction'
+ ClassRegistry SystemClassLoader ExtClassLoader
+ SmalltalkClassLoader StartupTime FinalizationEnabled
+ FinalizationLobby ParkUnparkSemaphores ThreadInterrupts
+ EagerResolvingEnabled OldspaceIncreased PerfCounters
+ AboutToSnapshotAction SnapshotFinishedAction'
poolDictionaries:'JavaConstants'
category:'Languages-Java-Support'
!
@@ -1743,13 +1744,18 @@
initializeSystemClassLoader
- | java_lang_ClassLoader |
+ | java_lang_ClassLoader stx_libjava_ClassLoader |
java_lang_ClassLoader := JavaVM classForName: 'java.lang.ClassLoader'.
(SystemClassLoader := java_lang_ClassLoader instVarNamed:#scl) isNil ifTrue:[
SystemClassLoader := java_lang_ClassLoader perform: #'getSystemClassLoader()Ljava/lang/ClassLoader;'
].
+ stx_libjava_ClassLoader := JavaVM classForName: 'stx.libjava.ClassLoader'.
+ (SmalltalkClassLoader := stx_libjava_ClassLoader instVarNamed:#scl) isNil ifTrue:[
+ SmalltalkClassLoader := stx_libjava_ClassLoader perform: #'getSmalltalkClassLoader()Ljava/lang/ClassLoader;'
+ ].
+
"Created: / 30-10-2011 / 12:04:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
@@ -2397,6 +2403,13 @@
"Modified (format): / 21-10-2011 / 11:12:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
+smalltalkClassLoader
+
+ ^SmalltalkClassLoader
+
+ "Created: / 22-08-2012 / 13:00:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
systemClassLoader
^SystemClassLoader
@@ -2658,10 +2671,11 @@
perform: #'loadClassInternal(Ljava/lang/String;)Ljava/lang/Class;'
with: (Java as_String: (className asDottedJavaClassName)).
class := self classForJavaClassObject: classObject.
- class classLoader ifNil: [self breakPoint:#mh].
+ class javaMirror getClassLoader isNil ifTrue: [self breakPoint:#mh].
^ class.
"Created: / 02-11-2011 / 16:20:35 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
+ "Modified: / 22-08-2012 / 12:57:59 / Jan Vrany <jan.vrany@fit.cvut.cz>"
! !
!JavaVM class methodsFor:'debugging support'!
@@ -2714,6 +2728,7 @@
ExceptionDebugPatterns add: 'org/xml/sax/SAXParseException'.
ExceptionDebugPatterns add: 'org/apache/xerces/xni/parser/XMLParseException'.
ExceptionDebugPatterns add: 'java/lang/InstantiationException'.
+ ExceptionDebugPatterns add: 'java/lang/RuntimeException'.
ExceptionDebug := true.
"
@@ -7111,10 +7126,9 @@
<javanative: 'java/lang/Class' name: 'getProtectionDomain0'>
- ^(self reflection classForJavaClassObject: nativeContext receiver)
- protectionDomain
-
- "Modified: / 10-08-2011 / 15:19:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+ ^(self reflection classForJavaClassObject: nativeContext receiver) javaMirror getProtectionDomain
+
+ "Modified: / 22-08-2012 / 12:55:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
!
_java_lang_Class_getRawAnnotations: aJavaContext