New issue
Advanced search Search tips
Note: Color blocks (like or ) mean that a user may not be available. Tooltip shows the reason.

Issue 843254 link

Starred by 2 users

Issue metadata

Status: Available
Owner: ----
Cc:
Components:
EstimatedDays: ----
NextAction: ----
OS: ----
Pri: 2
Type: Bug



Sign in to add a comment

code search no longer includes transitive closure of virtual method overrides

Project Member Reported by szager@chromium.org, May 15 2018

Issue description

When looking at a virtual method on a class, the 'references' section used to show all overrides of the method in all derived subclasses. Now, it appears that only the first descendant override is shown. For example:

https://cs.chromium.org/chromium/src/third_party/blink/renderer/core/layout/layout_object.h?type=cs&q=LayoutObject::NodeAtPoint&l=1184

That shows four overrides in four subclasses of LayoutObject.  If you click through to LayoutBox::NodeAtPoint, it shows a bunch more overrides:

https://cs.chromium.org/chromium/src/third_party/blink/renderer/core/layout/layout_box.h?type=cs&l=684

LayoutBox inherits from LayoutBoxModelObject, which inherits from LayoutObject. So code search is smart enough to find the override in a non-direct-descendant class (LayoutBoxModelObject does not override the method). But that's where it stops. Since LayoutBox::NodeAtPoint is not 'final', code search should continue traversing the hierarchy of classes derived from LayoutBox looking for overrides.
 

Comment 1 by szager@chromium.org, May 15 2018

Description: Show this description

Comment 2 by szager@chromium.org, May 15 2018

Description: Show this description

Comment 3 by flyboy@chromium.org, May 29 2018

Status: Available (was: Untriaged)

Sign in to add a comment