--- a/Tools__NewSystemBrowser.st Mon Oct 15 22:17:19 2012 +0200
+++ b/Tools__NewSystemBrowser.st Mon Oct 15 22:33:27 2012 +0200
@@ -11098,6 +11098,12 @@
translateLabel: true
)
(MenuItem
+ enabled: methodIsTestAndNotImplementedInSuperclass
+ label: 'False-returning Test in SuperClass'
+ itemValue: selectorMenuGenerateFalseReturnInSuperclass
+ translateLabel: true
+ )
+ (MenuItem
label: 'Templates in Subclasses'
itemValue: selectorMenuGenerateTemplateInSubclasses
translateLabel: true
@@ -22020,6 +22026,13 @@
^ false.
!
+methodIsTestAndNotImplementedInSuperclass
+ self selectedMethodsDo:[:eachMethod |
+ (eachMethod selector startsWith:'is') ifFalse:[^ false].
+ ].
+ ^ self methodNotImplementedInSuperclass
+!
+
methodNotImplementedInClass
|selector|
@@ -43200,6 +43213,44 @@
]
!
+selectorMenuGenerateFalseReturnInSuperclass
+ "generate a ^false method in the method's superclass"
+
+ self
+ generateUndoableChangeOverSelectedMethods:'Generate False-return in superclass for %(singleMethodNameOrNumberOfMethods)'
+ via:[:generator :eachMethod |
+
+ |selector category mclass implClass defineIt answer|
+
+ selector := eachMethod selector.
+ category := eachMethod category.
+ mclass := eachMethod mclass.
+
+ mclass superclass notNil ifTrue:[
+ (mclass superclass includesSelector:selector) ifFalse:[
+ defineIt := true.
+
+ implClass := mclass superclass whichClassIncludesSelector:selector.
+ implClass notNil ifTrue:[
+ answer := Dialog
+ confirmWithCancel:(resources
+ string:'%1 is inherited from %2.\\Define as false-return in %3 anyway ?'
+ with:selector allBold
+ with:implClass name allBold
+ with:mclass superclass name allBold
+ ) withCRs.
+ answer isNil ifTrue:[^ self].
+ defineIt := answer.
+ ].
+ defineIt ifTrue:[
+ generator
+ createFalseReturnMethodFor:selector category:category in:mclass superclass.
+ ]
+ ].
+ ].
+ ]
+!
+
selectorMenuGenerateForwardingMethodForInstances
"generate a forwarding method on the instance side"
@@ -57421,11 +57472,11 @@
!NewSystemBrowser class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1786 2012-10-08 12:42:00 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1787 2012-10-15 20:33:27 cg Exp $'
!
version_CVS
- ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1786 2012-10-08 12:42:00 stefan Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/Tools__NewSystemBrowser.st,v 1.1787 2012-10-15 20:33:27 cg Exp $'
!
version_SVN