SystemBrowser.st
changeset 16600 2c71384ebdc4
parent 16597 fb8d01e7020f
child 16617 69e7de1ef22f
child 16691 9998797358f3
--- a/SystemBrowser.st	Sun May 15 17:51:42 2016 +0200
+++ b/SystemBrowser.st	Mon May 16 09:17:47 2016 +0200
@@ -5498,7 +5498,7 @@
                     "/ and used symbols/globals first...
                     allUsedSymbolsInLiteralArray := usedSymbols isEmptyOrNil or:[ literalsInMethod includesAll:usedSymbols ].
                     allUsedSymbolsInLiteralArray ifTrue:[
-                        "/ not true, but I am lazy: if ANY string is in match, ANY string must be in method
+                        "/ if ANY string is in match, ANY string must be in method (not true, but I am lazy)
                         "/ that does not work for stc compiled code, because it does not put strings into the literal array
                         isSTCCompiled := m byteCode isNil.
                         isSTCCompiled ifTrue:[
@@ -5510,44 +5510,42 @@
                         allStringsInLiteralArray ifTrue:[
                             allGlobalsReferenced := globalVariablesUsed conform:[:varNames | varNames contains:[:varName | m referencesGlobal:varName]].
                             allGlobalsReferenced ifTrue:[
-                                allMessagesSent := sentMessages isEmptyOrNil or:[ m messages includesAll:sentMessages ].
+                                allMessagesSent := sentMessages isEmptyOrNil 
+                                                   or:[ m messagesSent includesAll:sentMessages ].
                                 allMessagesSent ifTrue:[
-                                    allSent := sentMessages conform:[:sel | (m sends:sel)].
-                                    allSent ifTrue:[
-                                        src := m source.
-                                        src isNil ifTrue:[
-                                            ('Browser [info]: no source for ' , m printString) infoPrintCR.
-                                        ] ifFalse:[
-                                            isSTCCompiled ifTrue:[
-                                                usedStrings notEmptyOrNil ifTrue:[
-                                                    "/ now that we have the source, scan the source for the literal strings,
-                                                    "/ before doing a slow parse
-                                                    allStringsInLiteralArray := usedStrings conform:[:eachString | src includesString:eachString].
-                                                ]
-                                            ].
-                                            allStringsInLiteralArray ifTrue:[
-                                                (searcher canQuicklyReject:src) ifTrue:[
-                                                    "/ Transcript show:'qReject: '; showCR:m whoString.
-                                                ] ifFalse:[
-                                                    "/ the rest is done by the slower RB-match process...
-                                                    parseTree := 
-                                                        RBParser 
-                                                            parseSearchMethod:src 
-                                                            onError: [:str :pos | 
-                                                                "/ self halt.
-                                                                Transcript show:'Error during search in '; showCR:m. 
-                                                                Transcript showCR:str. 
-                                                                Transcript showCR:pos. 
-                                                                nil
-                                                            ].
-
-                                                    parseTree notNil ifTrue:[
-                                                        searcher executeTree:parseTree.
-                                                        "/ notice: searcher sets foundMatch !!
-                                                    ].
+                                    src := m source.
+                                    src isNil ifTrue:[
+                                        ('Browser [info]: no source for ' , m printString) infoPrintCR.
+                                    ] ifFalse:[
+                                        isSTCCompiled ifTrue:[
+                                            usedStrings notEmptyOrNil ifTrue:[
+                                                "/ now that we have the source, scan the source for the literal strings,
+                                                "/ before doing a slow parse
+                                                allStringsInLiteralArray := usedStrings conform:[:eachString | src includesString:eachString].
+                                            ]
+                                        ].
+                                        allStringsInLiteralArray ifTrue:[
+                                            (searcher canQuicklyReject:src) ifTrue:[
+                                                "/ Transcript show:'qReject: '; showCR:m whoString.
+                                            ] ifFalse:[
+                                                "/ the rest is done by the slower RB-match process...
+                                                parseTree := 
+                                                    RBParser 
+                                                        parseSearchMethod:src 
+                                                        onError: [:str :pos | 
+                                                            "/ self halt.
+                                                            Transcript show:'Error during search in '; showCR:m. 
+                                                            Transcript showCR:str. 
+                                                            Transcript showCR:pos. 
+                                                            nil
+                                                        ].
+
+                                                parseTree notNil ifTrue:[
+                                                    searcher executeTree:parseTree.
+                                                    "/ notice: searcher sets foundMatch !!
                                                 ].
                                             ].
-                                        ]
+                                        ].
                                     ]
                                 ]
                             ]