Workspace.st
changeset 4997 d7d79a938088
parent 4996 2c355bd23af3
child 4998 000a0752dd25
equal deleted inserted replaced
4996:2c355bd23af3 4997:d7d79a938088
  1704             selector := Symbol readFrom:selector.
  1704             selector := Symbol readFrom:selector.
  1705         ].
  1705         ].
  1706         codeToEvaluate := codeToEvaluate copyTo:idx-1.   
  1706         codeToEvaluate := codeToEvaluate copyTo:idx-1.   
  1707     ].
  1707     ].
  1708 
  1708 
  1709     Parser parseErrorSignal handle:[:ex |
  1709     (Parser parseErrorSignal , MessageNotUnderstood) handle:[:ex |
  1710         |className|
  1710         |className|
  1711 
  1711 
  1712         "/ fallback, if garbage is selected, look for matching classes.
  1712         (classToBrowse := Smalltalk classNamed:codeToEvaluate) isNil ifTrue:[
  1713         className := SystemBrowser
  1713             "/ fallback, if garbage is selected, look for matching classes.
  1714             askForClassNameMatching:codeToEvaluate 
  1714             className := SystemBrowser
  1715             inEnvironment:nil 
  1715                 askForClassNameMatching:codeToEvaluate 
  1716             for:nil.
  1716                 inEnvironment:nil 
  1717 
  1717                 for:nil.
  1718         className isNil ifTrue:[^ self].
  1718 
  1719         classToBrowse := Smalltalk classNamed:className.
  1719             className isNil ifTrue:[^ self].
       
  1720             classToBrowse := Smalltalk classNamed:className.
       
  1721         ]
  1720     ] do:[
  1722     ] do:[
  1721         gotResult := false.
  1723         gotResult := false.
  1722 
  1724 
  1723         self 
  1725         self 
  1724             do:codeToEvaluate 
  1726             do:codeToEvaluate 
  1949                 ) ifTrue:[
  1951                 ) ifTrue:[
  1950                     "/ a global or namespace var selected
  1952                     "/ a global or namespace var selected
  1951                 ] ifFalse:[
  1953                 ] ifFalse:[
  1952                     |cls|
  1954                     |cls|
  1953 
  1955 
  1954                     ((cls := self editedClass) notNil
  1956                     (cls := self editedClass) notNil ifTrue:[
  1955                     and:[ (cls theNonMetaclass allClassVarNames includes:s)
  1957                         ((cls theNonMetaclass allClassVarNames includes:s)
  1956                           or:[ (cls theNonMetaclass privateClassNamed:s) notNil ]]) ifTrue:[
  1958                            or:[ (cls theNonMetaclass privateClassNamed:s) notNil ]) ifTrue:[
  1957                         "/ a classvar or private class
  1959                             "/ a classvar or private class
  1958                     ] ifFalse:[
  1960                         ] ifFalse:[
  1959                         |pool|
  1961                             |pool|
  1960                         "/ is it a pool variable?
  1962                             "/ is it a pool variable?
  1961                         pool := cls theNonMetaclass sharedPools 
  1963                             pool := cls theNonMetaclass sharedPools 
  1962                                 detect:[:pool | pool classVarNames includes:s]
  1964                                     detect:[:pool | pool classVarNames includes:s]
  1963                                 ifNone:nil.
  1965                                     ifNone:nil.
  1964                         pool isNil ifTrue:[
  1966                             pool isNil ifTrue:[
  1965                             "/ todo: an instvar selected?
  1967                                 "/ todo: an instvar selected?
  1966                             sub disable:#browseReferencesToIt.
  1968                                 sub disable:#browseReferencesToIt.
       
  1969                             ].
  1967                         ].
  1970                         ].
  1968                     ].
  1971                     ].
  1969                 ].
  1972                 ].
  1970             ].
  1973             ].
  1971             (s notNil 
  1974             (s notNil 
  2266 ! !
  2269 ! !
  2267 
  2270 
  2268 !Workspace class methodsFor:'documentation'!
  2271 !Workspace class methodsFor:'documentation'!
  2269 
  2272 
  2270 version
  2273 version
  2271     ^ '$Header: /cvs/stx/stx/libwidg/Workspace.st,v 1.323 2014-04-15 17:28:27 cg Exp $'
  2274     ^ '$Header: /cvs/stx/stx/libwidg/Workspace.st,v 1.324 2014-04-16 12:29:54 cg Exp $'
  2272 !
  2275 !
  2273 
  2276 
  2274 version_CVS
  2277 version_CVS
  2275     ^ '$Header: /cvs/stx/stx/libwidg/Workspace.st,v 1.323 2014-04-15 17:28:27 cg Exp $'
  2278     ^ '$Header: /cvs/stx/stx/libwidg/Workspace.st,v 1.324 2014-04-16 12:29:54 cg Exp $'
  2276 ! !
  2279 ! !
  2277 
  2280