check for nil source in #allCallsOn: (for methods where src in not available)
authorClaus Gittinger <cg@exept.de>
Sat, 26 Jun 1999 17:23:26 +0200
changeset 2208 e077aa992f7a
parent 2207 84d23e553268
child 2209 753b5db1eea5
check for nil source in #allCallsOn: (for methods where src in not available)
SBrowser.st
SystemBrowser.st
--- a/SBrowser.st	Sat Jun 26 16:07:24 1999 +0200
+++ b/SBrowser.st	Sat Jun 26 17:23:26 1999 +0200
@@ -375,8 +375,11 @@
         "/ a matchString - need string matching procedure
 
         searchBlock := [:class :method :s |
+                            |src|
+
                             method isLazyMethod ifTrue:[
-                                (method source includesMatchString:aSelectorString) ifTrue:[
+                                src := method source.
+                                (src notNil and:[src includesMatchString:aSelectorString]) ifTrue:[
                                     method makeRealMethod.
                                     (method literalsDetect:[:aLiteral|
                                         (aLiteral isMemberOf:Symbol) 
@@ -402,9 +405,12 @@
             sel isNil ifTrue:[
                 ^ nil     "/ none
             ].
-            searchBlock := [:class :method :s | 
+            searchBlock := [:class :method :s |
+                                |src|
+
                                 method isLazyMethod ifTrue:[
-                                    (method source includesString:sel) ifTrue:[
+                                    src := method source.
+                                    (src notNil and:[src includesString:sel]) ifTrue:[
                                         method makeRealMethod.
                                         method sends:sel.
                                     ] ifFalse:[
@@ -834,7 +840,7 @@
                             |src|       
                             src := m source.
                             src isNil ifTrue:[
-                                'no source' printNL. 
+                                ('Browser [info]: no source for ' , m printString) infoPrintCR.
                                 false
                             ] ifFalse:[
                                 s match:src ignoreCase:ignoreCase
@@ -846,7 +852,7 @@
 
                             src := m source.
                             src isNil ifTrue:[
-                                'no source' printNL.
+                                ('Browser [info]: no source for ' , m printString) infoPrintCR.
                                 false
                             ] ifFalse:[
                                 (src findString:aString) ~~ 0
@@ -1344,9 +1350,9 @@
         |src parser|
 
         src := method source.
-        (src findString:'super') ~~ 0 ifTrue:[
+        (src notNil and:[src findString:'super']) ~~ 0 ifTrue:[
             parser := Parser 
-                        parseMethod:method source 
+                        parseMethod:src 
                         in:class 
                         ignoreErrors:true 
                         ignoreWarnings:true.
@@ -2030,6 +2036,6 @@
 !SystemBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Attic/SBrowser.st,v 1.90 1998-10-17 12:43:28 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Attic/SBrowser.st,v 1.91 1999-06-26 15:23:26 cg Exp $'
 ! !
 SystemBrowser initialize!
--- a/SystemBrowser.st	Sat Jun 26 16:07:24 1999 +0200
+++ b/SystemBrowser.st	Sat Jun 26 17:23:26 1999 +0200
@@ -375,8 +375,11 @@
         "/ a matchString - need string matching procedure
 
         searchBlock := [:class :method :s |
+                            |src|
+
                             method isLazyMethod ifTrue:[
-                                (method source includesMatchString:aSelectorString) ifTrue:[
+                                src := method source.
+                                (src notNil and:[src includesMatchString:aSelectorString]) ifTrue:[
                                     method makeRealMethod.
                                     (method literalsDetect:[:aLiteral|
                                         (aLiteral isMemberOf:Symbol) 
@@ -402,9 +405,12 @@
             sel isNil ifTrue:[
                 ^ nil     "/ none
             ].
-            searchBlock := [:class :method :s | 
+            searchBlock := [:class :method :s |
+                                |src|
+
                                 method isLazyMethod ifTrue:[
-                                    (method source includesString:sel) ifTrue:[
+                                    src := method source.
+                                    (src notNil and:[src includesString:sel]) ifTrue:[
                                         method makeRealMethod.
                                         method sends:sel.
                                     ] ifFalse:[
@@ -834,7 +840,7 @@
                             |src|       
                             src := m source.
                             src isNil ifTrue:[
-                                'no source' printNL. 
+                                ('Browser [info]: no source for ' , m printString) infoPrintCR.
                                 false
                             ] ifFalse:[
                                 s match:src ignoreCase:ignoreCase
@@ -846,7 +852,7 @@
 
                             src := m source.
                             src isNil ifTrue:[
-                                'no source' printNL.
+                                ('Browser [info]: no source for ' , m printString) infoPrintCR.
                                 false
                             ] ifFalse:[
                                 (src findString:aString) ~~ 0
@@ -1344,9 +1350,9 @@
         |src parser|
 
         src := method source.
-        (src findString:'super') ~~ 0 ifTrue:[
+        (src notNil and:[src findString:'super']) ~~ 0 ifTrue:[
             parser := Parser 
-                        parseMethod:method source 
+                        parseMethod:src 
                         in:class 
                         ignoreErrors:true 
                         ignoreWarnings:true.
@@ -2030,6 +2036,6 @@
 !SystemBrowser class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/SystemBrowser.st,v 1.90 1998-10-17 12:43:28 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/SystemBrowser.st,v 1.91 1999-06-26 15:23:26 cg Exp $'
 ! !
 SystemBrowser initialize!