2380 methods := OrderedCollection new. |
2380 methods := OrderedCollection new. |
2381 Smalltalk allClassesDo:[:eachClass | |
2381 Smalltalk allClassesDo:[:eachClass | |
2382 |classPackage| |
2382 |classPackage| |
2383 |
2383 |
2384 classPackage := eachClass package. |
2384 classPackage := eachClass package. |
2385 eachClass instAndClassMethodsDo:[:mthd | |
2385 classPackage ~= aProjectID ifTrue:[ |
2386 mthd package ~= classPackage ifTrue:[ |
2386 eachClass instAndClassMethodsDo:[:mthd | |
2387 mthd package = aProjectID ifTrue:[ |
2387 |methodsPackage| |
2388 methods add:mthd |
2388 |
2389 ] |
2389 methodsPackage := mthd package. |
|
2390 methodsPackage ~= classPackage ifTrue:[ |
|
2391 methodsPackage = aProjectID ifTrue:[ |
|
2392 methods add:mthd |
|
2393 ] |
|
2394 ]. |
2390 ]. |
2395 ]. |
2391 ]. |
2396 ]. |
2392 ]. |
2397 ]. |
2393 methods sort:[:m1 :m2 | m1 mclass name < m2 mclass name]. |
2398 "/ methods |
2394 methods sort:[:m1 :m2 | m2 mclass theNonMetaclass isSubclassOf:m1 mclass theNonMetaclass]. |
2399 "/ sort:[:m1 :m2 | |
|
2400 "/ |c1 c2| |
|
2401 "/ |
|
2402 "/ c1 := m1 mclass theNonMetaclass. |
|
2403 "/ c2 := m2 mclass theNonMetaclass. |
|
2404 "/ c1 name < c2 name |
|
2405 "/ ]. |
|
2406 methods |
|
2407 sort:[:m1 :m2 | |
|
2408 |c1 c2| |
|
2409 |
|
2410 c1 := m1 mclass. |
|
2411 c2 := m2 mclass. |
|
2412 c1 == c2 ifTrue:[ |
|
2413 m1 selector < m2 selector |
|
2414 ] ifFalse:[ |
|
2415 (c2 isMeta and:[c1 isMeta not]) ifTrue:[ |
|
2416 true |
|
2417 ] ifFalse:[ |
|
2418 (c1 isMeta and:[c2 isMeta not]) ifTrue:[ |
|
2419 false |
|
2420 ] ifFalse:[ |
|
2421 c1 name < c2 name |
|
2422 "/ (c2 isSubclassOf:c1) ifTrue:[ |
|
2423 "/ true |
|
2424 "/ ] ifFalse:[ |
|
2425 "/ (c1 isSubclassOf:c2) ifTrue:[ |
|
2426 "/ false |
|
2427 "/ ] ifFalse:[ |
|
2428 "/ "/ leave as is |
|
2429 "/ true |
|
2430 "/ ]. |
|
2431 "/ ]. |
|
2432 ]. |
|
2433 ]. |
|
2434 ]. |
|
2435 ]. |
2395 ^ methods |
2436 ^ methods |
2396 |
2437 |
2397 " |
2438 " |
2398 self searchForExtensionsWithProject:#'bosch:dapasx' |
2439 self searchForExtensionsWithProject:#'bosch:dapasx' |
2399 self searchForExtensionsWithProject:#'cg:oyster' |
2440 self searchForExtensionsWithProject:#'cg:oyster' |