Skip to content

base class function in code block no longer linked if the code block contains a derived class definition calling the base class function in Doxygen 1.9.5 or later #10915

@scott-zhong

Description

@scott-zhong

Describe the bug
base class function in code block no longer linked if the code block contains a derived class definition calling the base class function in Doxygen 1.9.5 or later

/**
 * \code
 * class Derived : public Base {
 *   void test() {
 *     fun();
 *   }
 * };
 * \endcode
 */
class Base {
public:
  /**
   * virtual function
   */
  virtual void fun();
};

Screenshots
Doxygen 1.9.4:
image
fun() is a link.

Doxygen 1.9.5 - trunk (3192bd6):
image
fun() is not a link

To Reproduce
testcase.zip

Expected behavior
fun() is a link.

Additional context
Using git bisect shows the following commit as the cause

b290399fab92df45376103d7c094f053f24495fa is the first bad commit
commit b290399fab92df45376103d7c094f053f24495fa
Author: Dimitri van Heesch <doxygen@gmail.com>
Date:   Tue May 24 08:12:07 2022 +0200

    Refactoring: reimplement getDefs using symbol resolver

 src/classdef.cpp       |  44 ++--
 src/classdef.h         |   6 +-
 src/code.l             |   2 +-
 src/definition.cpp     |   1 +
 src/doxygen.cpp        |  40 ++--
 src/doxygen.h          |   9 +-
 src/symbolresolver.cpp | 568 +++++++++++++++++++++++++++++++++++++++++++------
 src/symbolresolver.h   |  11 +
 src/util.cpp           | 173 +++++++++++++--
 src/vhdldocgen.cpp     |  12 +-
 10 files changed, 741 insertions(+), 125 deletions(-)

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions