#OTHER by cg
authorClaus Gittinger <cg@exept.de>
Wed, 05 Oct 2016 18:29:10 +0200
changeset 16905 473a7c613d14
parent 16904 22f9e325fb0d
child 16906 94fedabe70ec
#OTHER by cg class: Tools::NewSystemBrowser changed: #spawnClassReferencesBrowserFor:label:in: better search for class refs: also search in projectDefinition specs.
Tools__NewSystemBrowser.st
--- a/Tools__NewSystemBrowser.st	Wed Oct 05 17:54:28 2016 +0200
+++ b/Tools__NewSystemBrowser.st	Wed Oct 05 18:29:10 2016 +0200
@@ -33944,10 +33944,9 @@
                     self class
                         findMethodsIn:setOfClasses
                         where:[:cls :mthdIn :sel |
-                            |mthd mSource isCandidate isReference usedGlobals|
+                            |mthd mSource isCandidate isReference usedGlobals tryInLiterals|
 
                             mthd := mthdIn originalMethodIfWrapped.
-
                             "/ kludge: Lazy methods do not include symbols in the literal array - sigh
                             mthd isLazyMethod ifTrue:[
                                 mSource := mthd source.
@@ -33978,7 +33977,13 @@
                             ].
                             isReference ifFalse:[
                                 "/ also search for class-refs in specs
-                                mthd hasCanvasResource ifTrue:[
+                                tryInLiterals := mthd hasCanvasResource.
+                                tryInLiterals ifFalse:[
+                                    tryInLiterals := mthd mclass isMeta
+                                                     and:[ mthd mclass theNonMetaClass isProjectDefinition 
+                                                     and:[mthd selector == #classNamesAndAttributes]].
+                                ].                    
+                                tryInLiterals ifTrue:[
                                     isReference := (mthd refersToLiteral:sym)
                                                     or:[(mthd refersToLiteral:fullNameSym)
                                                     or:[ localNameSym notNil