SystemBrowser.st
changeset 2208 e077aa992f7a
parent 1937 fc541342f2db
child 2295 4e05198e7dd8
equal deleted inserted replaced
2207:84d23e553268 2208:e077aa992f7a
   373     ((aSelectorString ~= '*') 
   373     ((aSelectorString ~= '*') 
   374      and:[aSelectorString includesMatchCharacters]) ifTrue:[
   374      and:[aSelectorString includesMatchCharacters]) ifTrue:[
   375         "/ a matchString - need string matching procedure
   375         "/ a matchString - need string matching procedure
   376 
   376 
   377         searchBlock := [:class :method :s |
   377         searchBlock := [:class :method :s |
       
   378                             |src|
       
   379 
   378                             method isLazyMethod ifTrue:[
   380                             method isLazyMethod ifTrue:[
   379                                 (method source includesMatchString:aSelectorString) ifTrue:[
   381                                 src := method source.
       
   382                                 (src notNil and:[src includesMatchString:aSelectorString]) ifTrue:[
   380                                     method makeRealMethod.
   383                                     method makeRealMethod.
   381                                     (method literalsDetect:[:aLiteral|
   384                                     (method literalsDetect:[:aLiteral|
   382                                         (aLiteral isMemberOf:Symbol) 
   385                                         (aLiteral isMemberOf:Symbol) 
   383                                           and:[aSelectorString match:aLiteral]
   386                                           and:[aSelectorString match:aLiteral]
   384                                     ] ifNone:nil) notNil
   387                                     ] ifNone:nil) notNil
   400 
   403 
   401             sel := aSelectorString asSymbolIfInterned.
   404             sel := aSelectorString asSymbolIfInterned.
   402             sel isNil ifTrue:[
   405             sel isNil ifTrue:[
   403                 ^ nil     "/ none
   406                 ^ nil     "/ none
   404             ].
   407             ].
   405             searchBlock := [:class :method :s | 
   408             searchBlock := [:class :method :s |
       
   409                                 |src|
       
   410 
   406                                 method isLazyMethod ifTrue:[
   411                                 method isLazyMethod ifTrue:[
   407                                     (method source includesString:sel) ifTrue:[
   412                                     src := method source.
       
   413                                     (src notNil and:[src includesString:sel]) ifTrue:[
   408                                         method makeRealMethod.
   414                                         method makeRealMethod.
   409                                         method sends:sel.
   415                                         method sends:sel.
   410                                     ] ifFalse:[
   416                                     ] ifFalse:[
   411                                         false
   417                                         false
   412                                     ]
   418                                     ]
   832         "a matchString"
   838         "a matchString"
   833         searchBlock := [:c :m :sel | 
   839         searchBlock := [:c :m :sel | 
   834                             |src|       
   840                             |src|       
   835                             src := m source.
   841                             src := m source.
   836                             src isNil ifTrue:[
   842                             src isNil ifTrue:[
   837                                 'no source' printNL. 
   843                                 ('Browser [info]: no source for ' , m printString) infoPrintCR.
   838                                 false
   844                                 false
   839                             ] ifFalse:[
   845                             ] ifFalse:[
   840                                 s match:src ignoreCase:ignoreCase
   846                                 s match:src ignoreCase:ignoreCase
   841                             ]
   847                             ]
   842                        ]
   848                        ]
   844         searchBlock := [:c :m :sel | 
   850         searchBlock := [:c :m :sel | 
   845                             |src|
   851                             |src|
   846 
   852 
   847                             src := m source.
   853                             src := m source.
   848                             src isNil ifTrue:[
   854                             src isNil ifTrue:[
   849                                 'no source' printNL.
   855                                 ('Browser [info]: no source for ' , m printString) infoPrintCR.
   850                                 false
   856                                 false
   851                             ] ifFalse:[
   857                             ] ifFalse:[
   852                                 (src findString:aString) ~~ 0
   858                                 (src findString:aString) ~~ 0
   853                             ]
   859                             ]
   854                        ]
   860                        ]
  1342 
  1348 
  1343     searchBlock := [:class :method :s | 
  1349     searchBlock := [:class :method :s | 
  1344         |src parser|
  1350         |src parser|
  1345 
  1351 
  1346         src := method source.
  1352         src := method source.
  1347         (src findString:'super') ~~ 0 ifTrue:[
  1353         (src notNil and:[src findString:'super']) ~~ 0 ifTrue:[
  1348             parser := Parser 
  1354             parser := Parser 
  1349                         parseMethod:method source 
  1355                         parseMethod:src 
  1350                         in:class 
  1356                         in:class 
  1351                         ignoreErrors:true 
  1357                         ignoreErrors:true 
  1352                         ignoreWarnings:true.
  1358                         ignoreWarnings:true.
  1353 
  1359 
  1354             parser notNil and:[parser usesSuper]
  1360             parser notNil and:[parser usesSuper]
  2028 ! !
  2034 ! !
  2029 
  2035 
  2030 !SystemBrowser class methodsFor:'documentation'!
  2036 !SystemBrowser class methodsFor:'documentation'!
  2031 
  2037 
  2032 version
  2038 version
  2033     ^ '$Header: /cvs/stx/stx/libtool/SystemBrowser.st,v 1.90 1998-10-17 12:43:28 cg Exp $'
  2039     ^ '$Header: /cvs/stx/stx/libtool/SystemBrowser.st,v 1.91 1999-06-26 15:23:26 cg Exp $'
  2034 ! !
  2040 ! !
  2035 SystemBrowser initialize!
  2041 SystemBrowser initialize!