- fixes in exception handling jk_new_structure
authorvranyj1
Mon, 20 Aug 2012 13:52:54 +0000
branchjk_new_structure
changeset 1626 715cd7e0e518
parent 1625 74335a95c491
child 1627 d42d1b343bb8
- fixes in exception handling - improved support for do-its in debugger
src/GroovyEvaluator.st
src/JavaClass.st
src/JavaObject.st
src/libjava.rc
--- a/src/GroovyEvaluator.st	Mon Aug 20 09:55:10 2012 +0000
+++ b/src/GroovyEvaluator.st	Mon Aug 20 13:52:54 2012 +0000
@@ -112,7 +112,15 @@
         binding setVariable: 'this' to: receiver.
         binding setVariable: 'self' to: receiver.
         context notNil ifTrue:[
+            | pc |
+
             binding setVariable: 'thisContext' to: context.
+            pc := context pc.
+            context method localVariableTable do:[:entry|
+                (pc between: entry startPC and: entry endPC) ifTrue:[
+                    binding setVariable: entry name to: (context at: entry slot + 1)
+                ].
+            ].
         ]
 
     ].
--- a/src/JavaClass.st	Mon Aug 20 09:55:10 2012 +0000
+++ b/src/JavaClass.st	Mon Aug 20 13:52:54 2012 +0000
@@ -1093,6 +1093,12 @@
     "Created: / 18-03-2012 / 14:19:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
+isControlInterrupt
+    ^false
+
+    "Created: / 20-08-2012 / 14:17:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 isExceptionCreator
 
 "/    ^false
--- a/src/JavaObject.st	Mon Aug 20 09:55:10 2012 +0000
+++ b/src/JavaObject.st	Mon Aug 20 13:52:54 2012 +0000
@@ -127,6 +127,29 @@
 
 !JavaObject methodsFor:'exception handling support'!
 
+catchInDebugger
+   "if set, the debugger will handle this signal in its event loop and will close itself
+     without asking for close-confirmation.
+     This allows for debugged processes to be terminated without a user confirmation dialog
+     (for now, this is used in expecco's hard-terminate function to shut down any open debuggers
+      together with the test-process).
+     Dummy here"
+
+    ^false
+
+    "Created: / 20-08-2012 / 14:15:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+description
+
+    self class isThrowable ifTrue:[
+        ^self getMessage
+    ].
+    ^super description
+
+    "Created: / 20-08-2012 / 14:19:12 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 isQuerySignal
 
     ^false
@@ -139,6 +162,16 @@
     ^nil
 
     "Created: / 18-03-2012 / 13:26:41 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+signal
+
+    self class isThrowable ifTrue:[
+        ^self class.
+    ].
+    ^super signal
+
+    "Created: / 20-08-2012 / 14:15:04 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 ! !
 
 !JavaObject methodsFor:'finalization'!
--- a/src/libjava.rc	Mon Aug 20 09:55:10 2012 +0000
+++ b/src/libjava.rc	Mon Aug 20 13:52:54 2012 +0000
@@ -3,7 +3,7 @@
 // automagically generated from the projectDefinition: stx_libjava.
 //
 VS_VERSION_INFO VERSIONINFO
-  FILEVERSION     6,2,1970,1970
+  FILEVERSION     6,2,1972,1972
   PRODUCTVERSION  6,2,3,1
 #if (__BORLANDC__)
   FILEFLAGSMASK   VS_FF_DEBUG | VS_FF_PRERELEASE
@@ -20,12 +20,12 @@
     BEGIN
       VALUE "CompanyName", "eXept Software AG\0"
       VALUE "FileDescription", "Smalltalk/X Class library (LIB)\0"
-      VALUE "FileVersion", "6.2.1970.1970\0"
+      VALUE "FileVersion", "6.2.1972.1972\0"
       VALUE "InternalName", "stx:libjava\0"
       VALUE "LegalCopyright", "Copyright Claus Gittinger 1988-2011\nCopyright eXept Software AG 1998-2011\nCopyright Jan Vrany, Jan Kurs and Marcel Hlopko\b          SWING Research Group, Czech Technical University In Prague\0"
       VALUE "ProductName", "Smalltalk/X\0"
       VALUE "ProductVersion", "6.2.3.1\0"
-      VALUE "ProductDate", "Fri, 17 Aug 2012 17:08:48 GMT\0"
+      VALUE "ProductDate", "Mon, 20 Aug 2012 13:44:03 GMT\0"
     END
 
   END