Fix in #initializeExtraTabs: - when searching for annotated methods, search superclasses too!
authorJan Vrany <jan.vrany@fit.cvut.cz>
Mon, 12 May 2014 16:38:20 +0200
changeset 14354 2e253818719a
parent 14353 b690f9da0bfd
child 14355 bb39d11673d7
Fix in #initializeExtraTabs: - when searching for annotated methods, search superclasses too!
Tools__Inspector2.st
--- a/Tools__Inspector2.st	Sun May 11 17:02:49 2014 +0200
+++ b/Tools__Inspector2.st	Mon May 12 16:38:20 2014 +0200
@@ -1264,11 +1264,11 @@
 !Inspector2::NavigationState class methodsFor:'documentation'!
 
 version
-    ^'$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.50 2014-04-15 09:29:38 stefan Exp $'
+    ^'$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.51 2014-05-12 14:38:20 vrany Exp $'
 !
 
 version_SVN
-    ^'$Id: Tools__Inspector2.st,v 1.50 2014-04-15 09:29:38 stefan Exp $'
+    ^'$Id: Tools__Inspector2.st,v 1.51 2014-05-12 14:38:20 vrany Exp $'
 ! !
 
 !Inspector2::NavigationState methodsFor:'accessing'!
@@ -1477,7 +1477,7 @@
 
 initializeExtraTabs
 
-    | selectors |
+    | selectors class |
 
     selectors := Set new.
 
@@ -1488,19 +1488,23 @@
     ].
 
     "/ New style - tab are defined by method with annotation
-    theObject class selectorsAndMethodsDo: [ :selector :method |
-        (selectors includes: selector) not ifTrue:[
-            (method hasAnnotation: #inspector2Tab) ifTrue:[ 
-                self initializeExtraTab: selector.  
+    class := theObject class.
+    [ class notNil ] whileTrue:[ 
+        class selectorsAndMethodsDo: [ :selector :method |
+            (selectors includes: selector) not ifTrue:[
+                (method hasAnnotation: #inspector2Tab) ifTrue:[ 
+                    self initializeExtraTab: selector.  
+                ].
             ].
         ].
-    ]
+        class := class superclass.
+    ].
 
     "Created: / 16-01-2008 / 17:25:24 / janfrog"
     "Modified: / 17-02-2008 / 10:30:43 / janfrog"
     "Modified: / 07-11-2008 / 08:40:35 / Jan Vrany <vranyj1@fel.cvut.cz>"
     "Modified (format): / 21-08-2011 / 08:01:34 / cg"
-    "Modified: / 13-04-2014 / 20:58:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 12-05-2014 / 15:36:15 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 initializeTabs
@@ -1524,19 +1528,19 @@
 !Inspector2 class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.50 2014-04-15 09:29:38 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.51 2014-05-12 14:38:20 vrany Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.50 2014-04-15 09:29:38 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.51 2014-05-12 14:38:20 vrany Exp $'
 !
 
 version_CVS_jvrany
-    ^ '$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.50 2014-04-15 09:29:38 stefan Exp $'
+    ^ '$Header: /cvs/stx/stx/libtool/Tools__Inspector2.st,v 1.51 2014-05-12 14:38:20 vrany Exp $'
 !
 
 version_SVN
-    ^ '$Id: Tools__Inspector2.st,v 1.50 2014-04-15 09:29:38 stefan Exp $'
+    ^ '$Id: Tools__Inspector2.st,v 1.51 2014-05-12 14:38:20 vrany Exp $'
 ! !