throw ExceptionInInitializerError when anything bad happens during class init development
authorMarcel Hlopko <marcel.hlopko@gmail.com>
Mon, 10 Feb 2014 00:12:30 +0100
branchdevelopment
changeset 3017 6d6f9fd894f7
parent 3016 f4fea2ca1e43
child 3029 bc928fce0f14
throw ExceptionInInitializerError when anything bad happens during class init
JUnitTestCaseProxy.st
JavaClass.st
JavaResolver.st
JavaVM.st
abbrev.stc
libjava.rc
stx_libjava.st
--- a/JUnitTestCaseProxy.st	Sun Feb 09 17:15:54 2014 +0100
+++ b/JUnitTestCaseProxy.st	Mon Feb 10 00:12:30 2014 +0100
@@ -208,13 +208,14 @@
             TestResult failure 
                 sunitSignalWith: 'Expected ' , expectedException name , ' but ' 
                     , ex class name , ' was raised, message: ' 
-                    , ex getMessage.
+                    , (ex getMessage isNil ifTrue: [ '.' ] ifFalse: [ ', message: ' , ex getMessage ]).    
+
         ].
     ].
     TestResult failure sunitSignalWith: ex getMessage.
 
     "Created: / 08-02-2014 / 21:31:16 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
-    "Modified: / 09-02-2014 / 16:45:54 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
+    "Modified: / 09-02-2014 / 21:05:06 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
 !
 
 performTest
@@ -225,6 +226,7 @@
 
     assertions := SignalSet
                     with: (Java classForName:'java.lang.RuntimeException')
+                    with: (Java classForName:'java.lang.Error')
                     "/ JavaVM unimplementedNativeMethodSignal is Signal, not exception.
                     "/ Therefore it MUST be listed here!!!!!!
                     with: (JavaVM unimplementedNativeMethodSignal).
@@ -240,7 +242,7 @@
 
     "Created: / 01-03-2011 / 14:50:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
     "Modified: / 22-01-2014 / 14:40:54 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 09-02-2014 / 16:23:40 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
+    "Modified: / 09-02-2014 / 18:11:56 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
 ! !
 
 !JUnitTestCaseProxy class methodsFor:'documentation'!
--- a/JavaClass.st	Sun Feb 09 17:15:54 2014 +0100
+++ b/JavaClass.st	Mon Feb 10 00:12:30 2014 +0100
@@ -1583,18 +1583,23 @@
 
 classInit
     "Perform the initialization of a class or interface. "
-
+    
     | m |
     (accessFlags bitAnd: ACX_INITIALIZED) ~~ 0 ifTrue: [ ^ self ].
-
-    self synchronized:[
-        (((accessFlags bitAnd: ACX_INITIALIZED) == 0) and:[(accessFlags bitAnd: ACX_INITIALIZING) == 0]) ifTrue: [
-            accessFlags := accessFlags bitOr: ACX_INITIALIZING.
-            superclass ~~ JavaObject ifTrue: [ superclass classInit ].
-             "JV@2011-12-03: Also call initializeStaticFields"
-            self initializeStaticFields.
-            m := self compiledMethodAt: #'<clinit>()V'.
-            m notNil ifTrue: [         
+    
+    self synchronized: [
+        | exceptions |
+        exceptions := SignalSet 
+                with: (Java classForName: 'java.lang.RuntimeException')
+                with: (JavaVM unimplementedNativeMethodSignal).
+        [ (((accessFlags bitAnd: ACX_INITIALIZED) == 0) 
+            and: [ (accessFlags bitAnd: ACX_INITIALIZING) == 0 ]) ifTrue: [
+                accessFlags := accessFlags bitOr: ACX_INITIALIZING.
+                superclass ~~ JavaObject ifTrue: [ superclass classInit ].
+                "JV@2011-12-03: Also call initializeStaticFields"
+                self initializeStaticFields.
+                m := self compiledMethodAt: #'<clinit>()V'.
+                m notNil ifTrue: [
                     "/Logger log: ('calling <clinit>()V of %1' bindWith: self name) severity: #trace facility: 'JVM'.
                     OrderOfClassInits notNil ifTrue: [ OrderOfClassInits add: self. ].
                     m 
@@ -1602,12 +1607,14 @@
                         arguments: #()
                         selector: #'<clinit>()V'
                         search: self class
-                        sender: nil.                                                  
-                   "/Logger log: ('calling <clinit>()V of %1 done' bindWith: self name) severity: #trace facility: 'JVM'.
+                        sender: nil.
+                            
+                        "/Logger log: ('calling <clinit>()V of %1 done' bindWith: self name) severity: #trace facility: 'JVM'.
+                ].
+                accessFlags := accessFlags bitOr: ACX_INITIALIZED.
+                accessFlags := accessFlags bitAnd: ACX_INITIALIZING bitInvert32.
             ].
-            accessFlags := accessFlags bitOr:  ACX_INITIALIZED. 
-            accessFlags := accessFlags bitAnd: ACX_INITIALIZING bitInvert32.
-        ].
+        ] on: exceptions do: [ :ex | self breakPoint: #mh. JavaVM throwExceptionInInitializerError: self name cause: ex ].
     ].
 
     "
@@ -1624,7 +1631,7 @@
     "Modified: / 18-08-2011 / 19:37:33 / jv"
     "Modified: / 08-12-2011 / 21:05:21 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
     "Modified: / 08-12-2013 / 22:28:38 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 08-02-2014 / 18:08:05 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
+    "Modified: / 09-02-2014 / 23:21:59 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
 !
 
 classInitInternal
--- a/JavaResolver.st	Sun Feb 09 17:15:54 2014 +0100
+++ b/JavaResolver.st	Mon Feb 10 00:12:30 2014 +0100
@@ -324,6 +324,12 @@
     "Modified: / 13-04-2011 / 14:07:57 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
 !
 
+throwNoSuchFieldException: msg
+    exceptionThrower throwNoSuchFieldException: msg.
+
+    "Created: / 09-02-2014 / 23:09:37 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
+!
+
 throwNoSuchMethodError
     exceptionThrower throwNoSuchMethodError.
 
@@ -341,7 +347,8 @@
     class := aJavaFieldRef classRef resolve: false.
     class ifNil: [ self error: 'should not happen - tell mh' ].
     result := class lookupFieldByNameAndType: aJavaFieldRef nameAndType.
-    result ifNil: [ self throwNoSuchFieldException ].
+    result ifNil: [ self throwNoSuchFieldException: 
+        'No field named ' , aJavaFieldRef nameAndType printString , ' in ' , class name ].
     (self 
         checkPermissionsForField: result
         from: aJavaFieldRef classRef owner
@@ -379,6 +386,7 @@
 
     "Created: / 11-04-2011 / 21:15:20 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
     "Modified: / 01-12-2012 / 13:45:41 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
+    "Modified: / 09-02-2014 / 23:10:22 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
 !
 
 resolveStaticFieldIndentifiedByRef: aJavaFieldRef 
--- a/JavaVM.st	Sun Feb 09 17:15:54 2014 +0100
+++ b/JavaVM.st	Mon Feb 10 00:12:30 2014 +0100
@@ -3667,6 +3667,15 @@
     "Created: / 24-11-2010 / 09:23:45 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+throwExceptionInInitializerError:className cause: ex
+    ^ self
+        throwExceptionClassName:'java.lang.ExceptionInInitializerError'
+        withMessage:'error when initializing class: ' , className
+        cause: ex.
+
+    "Created: / 09-02-2014 / 17:51:25 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
+!
+
 throwFileNotFoundException: message
     ^ self
         throwExceptionClassName:'java.io.FileNotFoundException'
@@ -3795,6 +3804,13 @@
     "Created: / 13-04-2011 / 12:16:36 / Marcel Hlopko <hlopkmar@fel.cvut.cz>"
 !
 
+throwNoSuchFieldException:msg
+  ^ self throwExceptionClassName: 'java.lang.NoSuchFieldError'
+        withMessage: msg.
+
+    "Created: / 09-02-2014 / 23:10:15 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
+!
+
 throwNoSuchMethodError
       ^ self throwExceptionClassName: 'java.lang.NoSuchMethodError'
               withMessage: 'looking up a method failed'.
@@ -6587,11 +6603,12 @@
         ^nil
     ].
 
-    self assert: cls isJavaClassRef.
+    self assert: cls isJavaClass.
     a1 := cls new: dim1.
     ^ a1.
 
     "Created: / 28-01-2014 / 10:02:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 09-02-2014 / 23:53:05 / Marcel Hlopko <marcel.hlopko@fit.cvut.cz>"
 !
 
 _MULTIANEWARRAY1_R: clsRef _: dim1
--- a/abbrev.stc	Sun Feb 09 17:15:54 2014 +0100
+++ b/abbrev.stc	Mon Feb 10 00:12:30 2014 +0100
@@ -14,11 +14,14 @@
 JavaArray JavaArray stx:libjava 'Languages-Java-Classes' 1
 JavaBooleanArray JavaBooleanArray stx:libjava 'Languages-Java-Support' 0
 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
@@ -32,9 +35,11 @@
 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
 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
@@ -46,6 +51,7 @@
 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
@@ -58,9 +64,11 @@
 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
@@ -81,6 +89,7 @@
 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
 JUnitTestCaseProxy JUnitTestCaseProxy stx:libjava 'Languages-Java-Tests-Proxies' 3
@@ -92,15 +101,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
@@ -108,18 +114,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-OpenJDK6' 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
@@ -130,7 +131,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
--- a/libjava.rc	Sun Feb 09 17:15:54 2014 +0100
+++ b/libjava.rc	Mon Feb 10 00:12:30 2014 +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", "Sun, 09 Feb 2014 15:46:22 GMT\0"
+      VALUE "ProductDate", "Sun, 09 Feb 2014 23:09:36 GMT\0"
     END
 
   END
--- a/stx_libjava.st	Sun Feb 09 17:15:54 2014 +0100
+++ b/stx_libjava.st	Mon Feb 10 00:12:30 2014 +0100
@@ -320,11 +320,14 @@
         JavaArray
         JavaBooleanArray
         JavaByte
+        (JavaByteCodeDisassemblerTests autoload)
         JavaByteCodeProcessor
         (JavaByteCodeProcessorTests autoload)
         JavaClassAccessor
         (JavaClassLoadingTests autoload)
         JavaClassQuery
+        (JavaClassReaderTests autoload)
+        (JavaClassRefTests autoload)
         JavaClassReloader
         JavaCodeLibraryOrBundle
         JavaCompilerForSmalltalkExtensionsOnly
@@ -338,9 +341,11 @@
         JavaExceptionTable
         (JavaExceptionTests autoload)
         JavaField
+        (JavaFieldRefTests autoload)
         JavaFinalizationRegistry
         (JavaFreshlyInitializedResource autoload)
         JavaInnerClasses
+        (JavaInterfaceMethodRefTests autoload)
         (JavaJUnitTests autoload)
         JavaLanguage
         JavaLibraries
@@ -352,6 +357,7 @@
         (JavaLookupTests autoload)
         (JavaLookupTestsResource autoload)
         JavaMetaclass
+        (JavaMethodRefTests autoload)
         JavaMonitor
         (JavaMonitorsTests autoload)
         JavaNameAndType2
@@ -364,9 +370,11 @@
         JavaPopUpView
         JavaProcess
         JavaRef2
+        (JavaRefMock autoload)
         (JavaRefsAndConstantPoolTestCase autoload)
         JavaRelease
         JavaResolver
+        (JavaRuntimeConstantPoolTests autoload)
         JavaShort
         JavaSlotIndexCache
         JavaSocket
@@ -387,6 +395,7 @@
         ProxyMethodNode
         SmalltalkAppletContext
         SmalltalkAppletStub
+        (TestletTestCaseProxy autoload)
         #'stx_libjava'
         GroovyMetaclass
         (JUnitTestCaseProxy autoload)
@@ -398,15 +407,12 @@
         JavaAnnotationPrimitiveValue
         JavaBehavior
         JavaByteCodeDisassembler
-        (JavaByteCodeDisassemblerTests autoload)
         JavaByteCodeEnumerator
         JavaByteCodeProcessorAdapter
         JavaClassAnnotationContainer
         JavaClassMemberRef2
         JavaClassReader
-        (JavaClassReaderTests autoload)
         JavaClassRef2
-        (JavaClassRefTests autoload)
         JavaClassRegistry
         JavaCodeBundle
         JavaCodeLibrary
@@ -414,18 +420,13 @@
         JavaFieldAnnotationContainer
         JavaFieldDescriptor
         JavaFieldDescriptorWithUnionType
-        (JavaFieldRefTests autoload)
         (JavaInitializedResource autoload)
-        (JavaInterfaceMethodRefTests autoload)
         JavaInvalidRefError
         JavaMethod
         JavaMethodAnnotationContainer
         JavaMethodDescriptor
-        (JavaMethodRefTests autoload)
         JavaMirror
         #'JavaNativeMethodImpl_OpenJDK6'
-        (JavaRefMock autoload)
-        (JavaRuntimeConstantPoolTests autoload)
         JavaStringRef2
         (JavaTestsResource autoload)
         JavaUnhandledExceptionError
@@ -436,7 +437,6 @@
         ProxyMethodGuardNode
         ProxyMethodInvocationNode
         ProxyMethodJavaFieldAccessor
-        (TestletTestCaseProxy autoload)
         JavaAlienMirror
         JavaArrayMirror
         JavaByteCodePreresolver