changed:
authorStefan Vogel <sv@exept.de>
Fri, 03 Aug 2012 21:21:17 +0200
changeset 11724 75877297ad00
parent 11723 390c1f83210d
child 11725 0b626c2b4b2d
changed: #canDropClasses: #doDropClasses: Can also add Method's classes
Tools__MethodRewriter.st
--- a/Tools__MethodRewriter.st	Fri Aug 03 12:22:32 2012 +0200
+++ b/Tools__MethodRewriter.st	Fri Aug 03 21:21:17 2012 +0200
@@ -915,7 +915,7 @@
 
 canDropClasses: dropContext
 
-    ^dropContext dropObjects allSatisfy: [:obj|obj isClassObject]
+    ^dropContext dropObjects allSatisfy: [:obj|obj isClassObject or:[obj isMethodObject]]
 
     "Created: / 20-07-2007 / 16:58:13 / janfrog"
 !
@@ -924,8 +924,13 @@
 
     | newClasses |
     newClasses := dropContext dropObjects 
-                    select:[:obj|obj isClassObject]
-                    thenCollect:[:obj|obj theObject].
+                    select:[:obj|obj isClassObject or:[obj isMethodObject]].
+    newClasses := newClasses    
+                    collect:[:obj| |clsOrMethod| 
+                        clsOrMethod := obj theObject.
+                        clsOrMethod isMethod ifTrue:[clsOrMethod containingClass] ifFalse:[clsOrMethod]
+                    ] as:IdentitySet.
+
     newClasses := newClasses reject:[:cls|self classes includes:cls].
     self classes 
         addAll: newClasses;
@@ -1073,7 +1078,7 @@
 !MethodRewriter class methodsFor:'documentation'!
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__MethodRewriter.st,v 1.15 2011-08-04 19:21:34 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__MethodRewriter.st,v 1.16 2012-08-03 19:21:17 stefan Exp $'
 !
 
 version_SVN