Skip to content

Private methods marked only as override are not documented when EXTRACT_PRIV_VIRTUAL = YES #9650

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
Luinar opened this issue Oct 27, 2022 · 3 comments
Labels

Comments

@Luinar
Copy link

Luinar commented Oct 27, 2022

Issue:

Doxygen does not document private methods marked only with override keyword when EXTRACT_PRIV_VIRTUAL = YES.
This poses a problem as our guidelines requires to use virtual only for abstract methods and only override or final for all overrides.

Expected behavior:

Doxygen documents all private virtual methods, included those marked only by final, override or override final.

Minimal example:

class Base {
  private:
    //! \brief Well documented method
    virtual void body() = 0;
};

class Derived1 : public Base {
  private:
    //! \brief Undocumented method
    void body() override;
};

class Derived2 : public Base {
  private:
    //! \brief Well documented method
    virtual void body() override;
};

System:

OS: Linux (tested on both Debian Bullseye and Ubuntu 22.04 LTS)
Doxygen version: 1.9.1

@albert-github albert-github added needinfo reported bug is incomplete, please add additional info C/C++ labels Oct 28, 2022
@albert-github
Copy link
Collaborator

It is not 100% clear what you would like to see and not see in the output, also the options used in the doxygen settings file different from the default settings are a bit unclear.

  • Please provide the content of the doxygen settings file that differ from the default settings (doxygen -x Doxyfile)
  • Please illustrate by means of one or more images (and accomanying text) what is what is wrong (probably from the pages file:///.../html/class_derived1.html and file:///.../html/class_derived2.html as file:///.../html/class_base.html is probably OK).

Note: the current doxygen version is 1.9.5, I don't think that this will result in a difference in your case but certainly worth an update.

doxygen added a commit that referenced this issue Nov 1, 2022
@doxygen doxygen added fixed but not released Bug is fixed in github, but still needs to make its way to an official release and removed needinfo reported bug is incomplete, please add additional info labels Nov 1, 2022
@doxygen
Copy link
Owner

doxygen commented Nov 1, 2022

@Luinar Please verify if the referenced commit fixes the problem. Do not close the issue, this will be done automatically when a new release is made.

@doxygen
Copy link
Owner

doxygen commented Dec 27, 2022

This issue was previously marked 'fixed but not released',
which means it should be fixed in doxygen version 1.9.6.
Please verify if this is indeed the case. Reopen the
issue if you think it is not fixed and please include any additional information
that you think can be relevant (preferably in the form of a self-contained example).

@doxygen doxygen removed the fixed but not released Bug is fixed in github, but still needs to make its way to an official release label Dec 27, 2022
@doxygen doxygen closed this as completed Dec 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

3 participants