#REFACTORING by cg
authorClaus Gittinger <cg@exept.de>
Sat, 08 Jun 2019 14:04:14 +0200
changeset 4435 10a6786b7d87
parent 4434 d04631202a76
child 4436 2183c928b524
#REFACTORING by cg class: Explainer class added: #safeValueStringFor: changed: #explain:in:forClass:short: (send #safeValueStringFor: instead of #valueStringFor:) #explainGlobalOrPoolVariable:inClass:short: (send #safeValueStringFor: instead of #valueStringFor:) #valueStringFor:
Explainer.st
--- a/Explainer.st	Sat Jun 08 14:02:24 2019 +0200
+++ b/Explainer.st	Sat Jun 08 14:04:14 2019 +0200
@@ -864,7 +864,7 @@
                     stringText := stringText, ': a class instance variable inherited from ' , clsName
                 ].
                 val := aClassOrNil theNonMetaclass instVarNamed:string.
-                valString := self valueStringFor:val.
+                valString := self safeValueStringFor:val.
                 ^ stringText , ' (' , valString , ').'
             ].
             ^ self explainInstanceVariable:string inClass:c short:shortText.
@@ -877,7 +877,7 @@
             c := explainer inWhichClassIsClassVar:string.
             c notNil ifTrue:[
                 val := c theNonMetaclass classVarAt:string. "/ Smalltalk at:(clsName , ':' , string) asSymbol.
-                valString := self valueStringFor:val.
+                valString := self safeValueStringFor:val.
 
                 val == true ifTrue:[
                     color := Color darkGreen.
@@ -939,7 +939,7 @@
                             poolName := self asClassLink:eachPoolName.
                             stringText := stringText , ': a pool variable in ',poolName.
                             val := sharedPool at:sharedPoolSym.
-                            valString := self valueStringFor:val.
+                            valString := self safeValueStringFor:val.
                             ^ stringText , ' (' , valString , ').'
                         ].
                     ].
@@ -1038,7 +1038,7 @@
     "Created: / 03-12-1995 / 12:47:37 / cg"
     "Modified: / 16-04-1997 / 12:46:11 / stefan"
     "Modified: / 23-08-2017 / 12:44:12 / cg"
-    "Modified: / 13-03-2019 / 21:17:09 / Claus Gittinger"
+    "Modified: / 08-06-2019 / 14:04:00 / Claus Gittinger"
 !
 
 explainGlobal:string inClass:aClassOrNil short:shortText
@@ -1150,7 +1150,7 @@
         ^ explanation.
     ].
 
-    valText := self valueStringFor:val.
+    valText := self safeValueStringFor:val.
 
     shortText ifTrue:[
         ^ (shortTemplate ? '%1: a global (%2)') 
@@ -1165,8 +1165,7 @@
 
     "Created: / 14-10-2010 / 11:33:04 / cg"
     "Modified: / 16-11-2016 / 13:08:07 / cg"
-    "Modified: / 22-02-2019 / 11:17:20 / Claus Gittinger"
-    "Modified (format): / 04-03-2019 / 10:10:10 / Claus Gittinger"
+    "Modified: / 08-06-2019 / 14:03:42 / Claus Gittinger"
 !
 
 explainHereIn:aClassOrNil short:shortText
@@ -2027,6 +2026,16 @@
     "Modified: / 13-03-2019 / 10:25:48 / Claus Gittinger"
 !
 
+safeValueStringFor:aValue
+    Error handle:[:ex |
+        ^ 'Error in storeString: ',ex description
+    ] do:[
+        ^ self valueStringFor:aValue
+    ]
+
+    "Created: / 08-06-2019 / 14:03:38 / Claus Gittinger"
+!
+
 typeDescriptionFor:setOfTypes andSelector:selectorOrNil
     "up to 3 types are shown by name; more are simply counted"
     
@@ -2099,11 +2108,7 @@
         or:[aValue isPoint
         or:[aValue isCharacter
     ]]]]]) ifTrue:[
-        Error handle:[:ex |
-            ^ 'Error in storeString: ',ex description
-        ] do:[
-            ^ aValue storeString.
-        ].
+        ^ aValue storeString.
     ].
 
     (aValue isColor) ifTrue:[
@@ -2124,7 +2129,7 @@
     ^ valString
 
     "Modified: / 14-10-2010 / 11:57:52 / cg"
-    "Modified: / 08-06-2019 / 14:01:55 / Claus Gittinger"
+    "Modified: / 08-06-2019 / 14:02:57 / Claus Gittinger"
 ! !
 
 !Explainer class methodsFor:'naive type inferer'!