This repository was archived by the owner on Nov 1, 2021. It is now read-only.
File tree 6 files changed +56
-4
lines changed
6 files changed +56
-4
lines changed Original file line number Diff line number Diff line change 82
82
<zeroOrMore >
83
83
<ref name =" Availability" />
84
84
</zeroOrMore >
85
+ <zeroOrMore >
86
+ <ref name =" Deprecated" />
87
+ </zeroOrMore >
88
+ <zeroOrMore >
89
+ <ref name =" Unavailable" />
90
+ </zeroOrMore >
85
91
<optional >
86
92
<ref name =" ResultDiscussion" />
87
93
</optional >
313
319
</element >
314
320
</optional >
315
321
<optional >
316
- <element name =" Unavailable" >
317
- <data type =" boolean" />
318
- </element >
322
+ <ref name =" Unavailable" />
319
323
</optional >
320
324
</element >
321
325
</define >
322
326
327
+ <define name =" Deprecated" >
328
+ <element name =" Deprecated" >
329
+ <data type =" boolean" />
330
+ </element >
331
+ </define >
332
+
333
+ <define name =" Unavailable" >
334
+ <element name =" Unavailable" >
335
+ <data type =" boolean" />
336
+ </element >
337
+ </define >
338
+
323
339
<define name =" Abstract" >
324
340
<element name =" Abstract" >
325
341
<zeroOrMore >
Original file line number Diff line number Diff line change
1
+ <?xml version =" 1.0" encoding =" utf-8" ?>
2
+ <Function >
3
+ <Name >aaa</Name >
4
+ <Abstract ><Para >Aaa.</Para ></Abstract >
5
+ <Deprecated >true</Deprecated >
6
+ </Function >
Original file line number Diff line number Diff line change
1
+ <?xml version =" 1.0" encoding =" utf-8" ?>
2
+ <Function >
3
+ <Name >aaa</Name >
4
+ <Abstract ><Para >Aaa.</Para ></Abstract >
5
+ <Unavailable >true</Unavailable >
6
+ </Function >
Original file line number Diff line number Diff line change @@ -10,3 +10,20 @@ void cfunction_availability(int arg1, double d) __attribute__((availability(maco
10
10
11
11
12
12
// CHECK: annotate-comments-availability-attrs.cpp:8:6: FunctionDecl=cfunction_availability:{{.*}} FullCommentAsXML=[<Function file="{{.*}}annotate-comments-availability-attrs.cpp" line="8" column="6"><Name>cfunction_availability</Name><USR>c:@F@cfunction_availability#I#d#</USR><Parameters><Parameter><Name>arg1</Name><Index>0</Index><Direction isExplicit="1">in</Direction><Discussion><Para> ZZZ </Para></Discussion></Parameter><Parameter><Name>d</Name><Index>1</Index><Direction isExplicit="1">out</Direction><Discussion><Para> xxx</Para></Discussion></Parameter></Parameters><Availability distribution="iOS"> <DeprecationSummary>not for iOS</DeprecationSummary><Unavailable>true</Unavailable></Availability><Availability distribution="OS X"><IntroducedInVersion>8.0</IntroducedInVersion><DeprecatedInVersion>9.0</DeprecatedInVersion><RemovedAfterVersion>10.0</RemovedAfterVersion> <DeprecationSummary>use availability_test</DeprecationSummary></Availability></Function>]
13
+
14
+
15
+ /* *
16
+ * \param[in] arg1 ZZZ
17
+ * \param[out] d xxx
18
+ */
19
+ void dep (int arg1, double d) __attribute__((deprecated));
20
+
21
+ // CHECK: annotate-comments-availability-attrs.cpp:19:6: FunctionDecl=dep:{{.*}} FullCommentAsXML=[<Function file="{{.*}}annotate-comments-availability-attrs.cpp" line="19" column="6"><Name>dep</Name><USR>c:@F@dep#I#d#</USR><Parameters><Parameter><Name>arg1</Name><Index>0</Index><Direction isExplicit="1">in</Direction><Discussion><Para> ZZZ </Para></Discussion></Parameter><Parameter><Name>d</Name><Index>1</Index><Direction isExplicit="1">out</Direction><Discussion><Para> xxx </Para></Discussion></Parameter></Parameters><Deprecated>true</Deprecated></Function>
22
+
23
+
24
+ /* *
25
+ * \param[in] arg1 ZZZ
26
+ */
27
+ void unv (int arg1) __attribute__((unavailable));
28
+
29
+ // CHECK: annotate-comments-availability-attrs.cpp:27:6: FunctionDecl=unv:{{.*}} FullCommentAsXML=[<Function file="{{.*}}annotate-comments-availability-attrs.cpp" line="27" column="6"><Name>unv</Name><USR>c:@F@unv#I#</USR><Parameters><Parameter><Name>arg1</Name><Index>0</Index><Direction isExplicit="1">in</Direction><Discussion><Para> ZZZ </Para></Discussion></Parameter></Parameters><Unavailable>true</Unavailable></Function>
Original file line number Diff line number Diff line change 13
13
// RUN: xmllint --noout --relaxng %S/../../bindings/xml/comment-xml-schema.rng %S/Inputs/CommentXML/valid-function-09.xml
14
14
//
15
15
// RUN: xmllint --noout --relaxng %S/../../bindings/xml/comment-xml-schema.rng %S/Inputs/CommentXML/valid-availability-attr-01.xml
16
+ // RUN: xmllint --noout --relaxng %S/../../bindings/xml/comment-xml-schema.rng %S/Inputs/CommentXML/valid-deprecated-attr.xml
17
+ // RUN: xmllint --noout --relaxng %S/../../bindings/xml/comment-xml-schema.rng %S/Inputs/CommentXML/valid-unavailable-attr.xml
16
18
//
17
19
// RUN: xmllint --noout --relaxng %S/../../bindings/xml/comment-xml-schema.rng %S/Inputs/CommentXML/valid-class-01.xml
18
20
// RUN: xmllint --noout --relaxng %S/../../bindings/xml/comment-xml-schema.rng %S/Inputs/CommentXML/valid-class-02.xml
Original file line number Diff line number Diff line change @@ -1175,8 +1175,13 @@ void CommentASTToXMLConverter::visitFullComment(const FullComment *C) {
1175
1175
const AttrVec &Attrs = DI->ThisDecl ->getAttrs ();
1176
1176
for (unsigned i = 0 , e = Attrs.size (); i != e; i++) {
1177
1177
const AvailabilityAttr *AA = dyn_cast<AvailabilityAttr>(Attrs[i]);
1178
- if (!AA)
1178
+ if (!AA) {
1179
+ if (isa<DeprecatedAttr>(Attrs[i]))
1180
+ Result << " <Deprecated>true</Deprecated>" ;
1181
+ else if (isa<UnavailableAttr>(Attrs[i]))
1182
+ Result << " <Unavailable>true</Unavailable>" ;
1179
1183
continue ;
1184
+ }
1180
1185
1181
1186
// 'availability' attribute.
1182
1187
Result << " <Availability" ;
You can’t perform that action at this time.
0 commit comments