22618 ^ false. |
22618 ^ false. |
22619 ! |
22619 ! |
22620 |
22620 |
22621 methodIsTestAndNotImplementedInSuperclass |
22621 methodIsTestAndNotImplementedInSuperclass |
22622 self selectedMethodsDo:[:eachMethod | |
22622 self selectedMethodsDo:[:eachMethod | |
22623 (eachMethod selector startsWith:'is') ifFalse:[^ false]. |
22623 (eachMethod mclass notNil and:[eachMethod selector startsWith:'is']) ifFalse:[^ false]. |
22624 ]. |
22624 ]. |
22625 ^ self methodNotImplementedInSuperclass |
22625 ^ self methodNotImplementedInSuperclass |
|
22626 |
|
22627 "Modified: / 16-10-2013 / 00:10:14 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
22626 ! |
22628 ! |
22627 |
22629 |
22628 methodNotImplementedInClass |
22630 methodNotImplementedInClass |
22629 |selector| |
22631 |selector| |
22630 |
22632 |
55835 selectedMethods isEmptyOrNil ifTrue:[^ nil]. |
55837 selectedMethods isEmptyOrNil ifTrue:[^ nil]. |
55836 |
55838 |
55837 firstMethod := selectedMethods first. |
55839 firstMethod := selectedMethods first. |
55838 |
55840 |
55839 selectedMethods size == 1 ifTrue:[ |
55841 selectedMethods size == 1 ifTrue:[ |
55840 ^ self getMethodInfoForMethod:firstMethod. |
55842 ^ self getMethodInfoForMethod:firstMethod. |
55841 ]. |
55843 ]. |
55842 |
55844 |
55843 differentSourceButSameSemantic := false. |
55845 differentSourceButSameSemantic := false. |
55844 |
55846 |
55845 source1 := firstMethod source. |
55847 source1 := firstMethod source. |
55846 selectedMethods from:2 do:[:eachOtherMethod | |
55848 selectedMethods asArray from:2 do:[:eachOtherMethod | |
55847 eachOtherMethod source ~= source1 ifTrue:[ |
55849 eachOtherMethod source ~= source1 ifTrue:[ |
55848 Error |
55850 Error |
55849 handle:[:ex | ^ nil] |
55851 handle:[:ex | ^ nil] |
55850 do:[ |
55852 do:[ |
55851 firstMethod parseTree ~= eachOtherMethod parseTree ifTrue:[ |
55853 firstMethod parseTree ~= eachOtherMethod parseTree ifTrue:[ |
55852 ^ nil. |
55854 ^ nil. |
55853 ]. |
55855 ]. |
55854 ]. |
55856 ]. |
55855 differentSourceButSameSemantic := true. |
55857 differentSourceButSameSemantic := true. |
55856 ]. |
55858 ]. |
55857 ]. |
55859 ]. |
55858 |
55860 |
55859 prefix := differentSourceButSameSemantic ifTrue:['Same effect'] ifFalse:['Same source']. |
55861 prefix := differentSourceButSameSemantic ifTrue:['Same effect'] ifFalse:['Same source']. |
55860 |
55862 |
55861 "/ all are the same. |
55863 "/ all are the same. |
55862 msg := self getMethodInfoForMethod:firstMethod. |
55864 msg := self getMethodInfoForMethod:firstMethod. |
55863 msg isEmptyOrNil ifTrue:[ |
55865 msg isEmptyOrNil ifTrue:[ |
55864 ^ prefix. |
55866 ^ prefix. |
55865 ]. |
55867 ]. |
55866 ^ prefix,' - ' , msg. |
55868 ^ prefix,' - ' , msg. |
55867 |
55869 |
55868 "Modified: / 28-02-2012 / 16:16:33 / cg" |
55870 "Modified: / 28-02-2012 / 16:16:33 / cg" |
|
55871 "Modified: / 16-10-2013 / 00:06:16 / Jan Vrany <jan.vrany@fit.cvut.cz>" |
55869 ! |
55872 ! |
55870 |
55873 |
55871 getMethodInfoForMethod:aMethod |
55874 getMethodInfoForMethod:aMethod |
55872 |msg msg2 method| |
55875 |msg msg2 method| |
55873 |
55876 |