# HG changeset patch # User Claus Gittinger # Date 1049879821 -7200 # Node ID 439bed9def3ac4469074268d4c1288c18438a419 # Parent a25bdf89086d4bc8d2a33aae71fa22d0d3d5e091 code cleanup diff -r a25bdf89086d -r 439bed9def3a SystemBrowser.st --- a/SystemBrowser.st Tue Apr 08 18:37:42 2003 +0200 +++ b/SystemBrowser.st Wed Apr 09 11:17:01 2003 +0200 @@ -4807,7 +4807,7 @@ classWithNameSimilarTo:className "helper for class-name entry; finds a class by name tolerant w.r.t. case" - |nm lcName class allClasses| + |nm lcName class allClasses triedMatchers| (className startsWith:'Smalltalk::') ifTrue:[ nm := className copyFrom:('Smalltalk::' size + 1). @@ -4816,44 +4816,25 @@ ]. class := Smalltalk at:nm asSymbol. - class isBehavior ifTrue:[^ class]. + class isBehavior ifTrue:[^ class]. "/ a direct hit lcName := className asLowercase. allClasses := Smalltalk allClasses. - class := allClasses - detect:[:cls | cls name asLowercase = lcName] - ifNone:nil. - class notNil ifTrue:[^ class]. - - class := allClasses - detect:[:cls | cls name asLowercase startsWith:lcName] - ifNone:nil. - class notNil ifTrue:[^ class]. - - class := allClasses - detect:[:cls | cls nameWithoutNameSpacePrefix asLowercase = lcName] - ifNone:nil. - class notNil ifTrue:[^ class]. - - class := allClasses - detect:[:cls | cls nameWithoutNameSpacePrefix asLowercase startsWith:lcName] - ifNone:nil. - class notNil ifTrue:[^ class]. - - class := allClasses - detect:[:cls | cls nameWithoutPrefix asLowercase = lcName] - ifNone:nil. - class notNil ifTrue:[^ class]. - - class := allClasses - detect:[:cls | cls nameWithoutPrefix asLowercase startsWith:lcName] - ifNone:nil. - class notNil ifTrue:[^ class]. - - class := allClasses - detect:[:cls | ('*' , lcName , '*') match:cls nameWithoutPrefix asLowercase] - ifNone:nil. - ^ class + + triedMatchers := OrderedCollection new. + triedMatchers add:[:cls | cls name asLowercase = lcName]. + triedMatchers add:[:cls | cls name asLowercase startsWith:lcName]. + triedMatchers add:[:cls | cls nameWithoutNameSpacePrefix asLowercase = lcName]. + triedMatchers add:[:cls | cls nameWithoutNameSpacePrefix asLowercase startsWith:lcName]. + triedMatchers add:[:cls | cls nameWithoutPrefix asLowercase = lcName]. + triedMatchers add:[:cls | cls nameWithoutPrefix asLowercase startsWith:lcName]. + triedMatchers add:[:cls | cls nameWithoutPrefix asLowercase includesString:lcName]. + + triedMatchers do:[:eachTry | + class := allClasses detect:eachTry ifNone:nil. + class notNil ifTrue:[^ class]. + ]. + ^ nil ! extractClassAndSelectorFrom:aString into:aBlock @@ -5005,7 +4986,7 @@ !SystemBrowser class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libtool/SystemBrowser.st,v 1.185 2003-02-04 08:42:37 ca Exp $' + ^ '$Header: /cvs/stx/stx/libtool/SystemBrowser.st,v 1.186 2003-04-09 09:17:01 cg Exp $' ! ! SystemBrowser initialize!