Skip to content

Commit feb7d5c

Browse files
committed
Merge branch 'master' of github.com:doxygen/doxygen
2 parents ab8d76e + f74a4c1 commit feb7d5c

5 files changed

Lines changed: 125 additions & 6 deletions

File tree

.github/workflows/docker_publish.yml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,20 +20,20 @@ jobs:
2020
uses: actions/checkout@v6
2121

2222
- name: Log in to the Container registry
23-
uses: docker/login-action@c94ce9fb468520275223c153574b00df6fe4bcc9
23+
uses: docker/login-action@b45d80f862d83dbcd57f89517bcf500b2ab88fb2
2424
with:
2525
registry: ${{ env.REGISTRY }}
2626
username: ${{ github.actor }}
2727
password: ${{ secrets.GITHUB_TOKEN }}
2828

2929
- name: Extract metadata (tags, labels) for Docker
3030
id: meta
31-
uses: docker/metadata-action@c299e40c65443455700f0fdfc63efafe5b349051
31+
uses: docker/metadata-action@030e881283bb7a6894de51c315a6bfe6a94e05cf
3232
with:
3333
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
3434

3535
- name: Build and push Docker image
36-
uses: docker/build-push-action@10e90e3645eae34f1e60eeb005ba3a3d33f178e8
36+
uses: docker/build-push-action@d08e5c354a6adb9ed34480a06d141179aa583294
3737
with:
3838
context: .
3939
push: true

src/config.xml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1269,7 +1269,7 @@ Go to the <a href="commands.html">next</a> section or return to the
12691269
The \c REQ_TRACEABILITY_INFO tag controls if traceability information
12701270
is shown on the requirements page (only relevant when using
12711271
\ref cmdrequirement "\\requirement" comment blocks).
1272-
The setting \c NO will disable the traceablility information altogether.
1272+
The setting \c NO will disable the traceability information altogether.
12731273
The setting \c UNSATISFIED_ONLY will show a list of requirements that are missing
12741274
a satisfies relation (through the command: \ref cmdsatisfies "\\satisfies").
12751275
Similarly the setting \c UNVERIFIED_ONLY will show a list of requirements that

src/scanner.l

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6840,7 +6840,7 @@ NONLopt [^\n]*
68406840
yyextra->current->args += ' ';
68416841
yyextra->current->args += name;
68426842
}
6843-
<ClassVar,Bases>\n/{BN}*[^{, \t\n] {
6843+
<ClassVar,Bases>\n/{BN}*[^{, \t\n:] {
68446844
if (!yyextra->insideObjC)
68456845
{
68466846
REJECT;
@@ -6987,7 +6987,14 @@ NONLopt [^\n]*
69876987
yyextra->insideProtocolList=FALSE;
69886988
if (yyleng==1)
69896989
{
6990-
unput('{'); // dummy start body
6990+
if (yyextra->insideObjC && !yyextra->current->spec.isProtocol())
6991+
{
6992+
BEGIN(ClassVar); // allow parsing of ':' for base class
6993+
}
6994+
else
6995+
{
6996+
unput('{'); // dummy start body
6997+
}
69916998
}
69926999
else
69937000
{

testing/117/interface_foo.xml

Lines changed: 96 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,96 @@
1+
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
2+
<doxygen xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="compound.xsd" version="" xml:lang="en-US">
3+
<compounddef id="interface_foo" kind="class" language="Objective-C" prot="public">
4+
<compoundname>Foo</compoundname>
5+
<basecompoundref prot="public" virt="non-virtual">&lt;T&gt;</basecompoundref>
6+
<basecompoundref prot="public" virt="non-virtual">NSObject</basecompoundref>
7+
<sectiondef kind="public-func">
8+
<memberdef kind="function" id="interface_foo_1a08106d196367689cb2708045694bc227" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
9+
<type>void</type>
10+
<definition>void Foo::addItem:</definition>
11+
<argsstring>(T item)</argsstring>
12+
<name>addItem:</name>
13+
<qualifiedname>-[Foo addItem:]</qualifiedname>
14+
<param>
15+
<type>T</type>
16+
<declname>item</declname>
17+
</param>
18+
<briefdescription>
19+
</briefdescription>
20+
<detaileddescription>
21+
<para>add an item </para>
22+
</detaileddescription>
23+
<inbodydescription>
24+
</inbodydescription>
25+
<location file="117_objc_multiline_interface.m" line="12" column="1"/>
26+
</memberdef>
27+
<memberdef kind="function" id="interface_foo_1a114084d9f2b22afab4b9376a44f3c036" prot="public" static="no" const="no" explicit="no" inline="no" virt="virtual">
28+
<type>void</type>
29+
<definition>void Foo::removeItem:</definition>
30+
<argsstring>(T item)</argsstring>
31+
<name>removeItem:</name>
32+
<qualifiedname>-[Foo removeItem:]</qualifiedname>
33+
<param>
34+
<type>T</type>
35+
<declname>item</declname>
36+
</param>
37+
<briefdescription>
38+
</briefdescription>
39+
<detaileddescription>
40+
<para>remove an item </para>
41+
</detaileddescription>
42+
<inbodydescription>
43+
</inbodydescription>
44+
<location file="117_objc_multiline_interface.m" line="14" column="1"/>
45+
</memberdef>
46+
</sectiondef>
47+
<briefdescription>
48+
</briefdescription>
49+
<detaileddescription>
50+
<para>A generic container. </para>
51+
</detaileddescription>
52+
<inheritancegraph>
53+
<node id="2">
54+
<label>&lt;T&gt;</label>
55+
</node>
56+
<node id="1">
57+
<label>Foo</label>
58+
<link refid="interface_foo"/>
59+
<childnode refid="2" relation="public-inheritance">
60+
</childnode>
61+
<childnode refid="3" relation="public-inheritance">
62+
</childnode>
63+
</node>
64+
<node id="3">
65+
<label>NSObject</label>
66+
</node>
67+
</inheritancegraph>
68+
<collaborationgraph>
69+
<node id="2">
70+
<label>&lt;T&gt;</label>
71+
</node>
72+
<node id="1">
73+
<label>Foo</label>
74+
<link refid="interface_foo"/>
75+
<childnode refid="2" relation="public-inheritance">
76+
</childnode>
77+
<childnode refid="3" relation="public-inheritance">
78+
</childnode>
79+
</node>
80+
<node id="3">
81+
<label>NSObject</label>
82+
</node>
83+
</collaborationgraph>
84+
<location file="117_objc_multiline_interface.m" line="8" column="12" bodyfile="117_objc_multiline_interface.m" bodystart="10" bodyend="-1"/>
85+
<listofallmembers>
86+
<member refid="interface_foo_1a08106d196367689cb2708045694bc227" prot="public" virt="virtual">
87+
<scope>Foo</scope>
88+
<name>addItem:</name>
89+
</member>
90+
<member refid="interface_foo_1a114084d9f2b22afab4b9376a44f3c036" prot="public" virt="virtual">
91+
<scope>Foo</scope>
92+
<name>removeItem:</name>
93+
</member>
94+
</listofallmembers>
95+
</compounddef>
96+
</doxygen>
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
// objective: test Objective-C interface with generics and base class on separate line
2+
// check: interface_foo.xml
3+
// config: EXTENSION_MAPPING = h=Objective-C
4+
5+
/**
6+
* A generic container.
7+
*/
8+
@interface Foo<T>
9+
: NSObject
10+
11+
/** add an item */
12+
- (void)addItem:(T)item;
13+
/** remove an item */
14+
- (void)removeItem:(T)item;
15+
16+
@end

0 commit comments

Comments
 (0)