From 1c4ca3b8d08ea15dd34a8aba0ec5052a1c471ff1 Mon Sep 17 00:00:00 2001 From: Topi Reinio Date: Tue, 20 Oct 2020 15:06:43 +0200 Subject: qdoc: Fix parsing of private signals Parameters with a type QPrivateSignal were already removed when constructing a FunctionNode from header declaration. This was erraneously subtracted from the number of stored parameters when parsing an \fn command. Fixes: QTBUG-87731 Change-Id: I01409c0fcdab0dfbf8a0b9d22cded99618bdcc2d Reviewed-by: Paul Wicking --- .../properties-docbook/testqdoc-testderived.xml | 17 +++++++++++++++++ .../expected_output/properties/testcpp.index | 1 + .../properties/testqdoc-testderived-members.html | 1 + .../properties/testqdoc-testderived.html | 6 ++++++ .../qdoc/generatedoutput/testdata/testcpp/testcpp.cpp | 9 +++++++++ .../qdoc/generatedoutput/testdata/testcpp/testcpp.h | 1 + 6 files changed, 35 insertions(+) (limited to 'tests') diff --git a/tests/auto/qdoc/generatedoutput/expected_output/properties-docbook/testqdoc-testderived.xml b/tests/auto/qdoc/generatedoutput/expected_output/properties-docbook/testqdoc-testderived.xml index 7acf1c95a..fd9eeace9 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/properties-docbook/testqdoc-testderived.xml +++ b/tests/auto/qdoc/generatedoutput/expected_output/properties-docbook/testqdoc-testderived.xml @@ -165,6 +165,23 @@ Member Function Documentation + +[signal] TestDerived::void emitSomething() + + +emitSomething + +signal +void emitSomething() +public +active +unspecified +TestCPP + +Emitted when things happen. + +This is a private signal. It can be used in signal connections but cannot be emitted by the user. + [override virtual] TestDerived::void virtualFun() diff --git a/tests/auto/qdoc/generatedoutput/expected_output/properties/testcpp.index b/tests/auto/qdoc/generatedoutput/expected_output/properties/testcpp.index index 8d8d7837b..35606d35d 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/properties/testcpp.index +++ b/tests/auto/qdoc/generatedoutput/expected_output/properties/testcpp.index @@ -52,6 +52,7 @@ + diff --git a/tests/auto/qdoc/generatedoutput/expected_output/properties/testqdoc-testderived-members.html b/tests/auto/qdoc/generatedoutput/expected_output/properties/testqdoc-testderived-members.html index 452399c69..9fed1358e 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/properties/testqdoc-testderived-members.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/properties/testqdoc-testderived-members.html @@ -17,6 +17,7 @@
  • typedef SomeType
  • bindablePropChanged()
  • boolPropChanged()
  • +
  • emitSomething()
  • operator=(TestQDoc::Test &&) : TestQDoc::Test &
  • resetBoolProp()
  • setBindableProp(const QString &)
  • diff --git a/tests/auto/qdoc/generatedoutput/expected_output/properties/testqdoc-testderived.html b/tests/auto/qdoc/generatedoutput/expected_output/properties/testqdoc-testderived.html index 6546f5ba3..d2e10db59 100644 --- a/tests/auto/qdoc/generatedoutput/expected_output/properties/testqdoc-testderived.html +++ b/tests/auto/qdoc/generatedoutput/expected_output/properties/testqdoc-testderived.html @@ -71,6 +71,7 @@ target_link_libraries(mytarget PUBLIC Qt::QDocTest) +
    void bindablePropChanged()
    void boolPropChanged()
    void emitSomething()
    @@ -128,6 +129,11 @@ target_link_libraries(mytarget PUBLIC Qt::QDocTest)

    Member Function Documentation

    + +

    [signal] void TestDerived::emitSomething()

    +

    Emitted when things happen.

    +

    Note: This is a private signal. It can be used in signal connections but cannot be emitted by the user.

    +

    [override virtual] void TestDerived::virtualFun()

    Reimplements: Test::virtualFun().

    diff --git a/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp b/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp index f38e4a367..66c4adba3 100644 --- a/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp +++ b/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.cpp @@ -224,6 +224,15 @@ void TestDerived::virtualFun() I'm an alias, not a typedef. */ +/*! +\if defined(test_properties) + \fn void TestDerived::emitSomething() + Emitted when things happen. +\else + \nothing +\endif +*/ + /*! \if defined(test_template) \fn template void TestQDoc::Test::funcTemplate(T1 a, T2 b) diff --git a/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.h b/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.h index 4b6d23a17..1be6082c9 100644 --- a/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.h +++ b/tests/auto/qdoc/generatedoutput/testdata/testcpp/testcpp.h @@ -105,6 +105,7 @@ public: bool boolProp(); Q_SIGNALS: + void emitSomething(QPrivateSignal); void bindablePropChanged(); Q_REVISION(1) void boolPropChanged(); -- cgit v1.2.3