@@ -244,8 +244,8 @@ writeEnum(
244
244
}
245
245
246
246
writeSourceInfo (I);
247
-
248
247
writeJavadoc (I.javadoc );
248
+ writeAttributes (I.Attributes );
249
249
250
250
corpus_.traverse (I, *this );
251
251
@@ -269,8 +269,8 @@ writeEnumConstant(
269
269
});
270
270
271
271
writeSourceInfo (I);
272
-
273
272
writeJavadoc (I.javadoc );
273
+ writeAttributes (I.Attributes );
274
274
275
275
tags_.close (enumConstantTagName);
276
276
}
@@ -286,8 +286,8 @@ writeFriend(
286
286
});
287
287
288
288
writeSourceInfo (I);
289
-
290
289
writeJavadoc (I.javadoc );
290
+ writeAttributes (I.Attributes );
291
291
292
292
Attributes attrs = {};
293
293
if (I.FriendSymbol )
@@ -325,6 +325,8 @@ writeFunction(
325
325
});
326
326
327
327
writeSourceInfo (I);
328
+ writeJavadoc (I.javadoc );
329
+ writeAttributes (I.Attributes );
328
330
329
331
writeAttr (I.IsVariadic , " is-variadic" , tags_);
330
332
writeAttr (I.IsVirtualAsWritten , " is-virtual-as-written" , tags_);
@@ -348,7 +350,6 @@ writeFunction(
348
350
for (auto const & J : I.Params )
349
351
writeParam (J, tags_);
350
352
351
- writeJavadoc (I.javadoc );
352
353
353
354
tags_.close (functionTagName);
354
355
@@ -381,6 +382,8 @@ writeGuide(
381
382
});
382
383
383
384
writeSourceInfo (I);
385
+ writeJavadoc (I.javadoc );
386
+ writeAttributes (I.Attributes );
384
387
385
388
tags_.open (deducedTagName);
386
389
writeType (I.Deduced , tags_);
@@ -389,8 +392,6 @@ writeGuide(
389
392
for (auto const & J : I.Params )
390
393
writeParam (J, tags_);
391
394
392
- writeJavadoc (I.javadoc );
393
-
394
395
tags_.close (guideTagName);
395
396
396
397
closeTemplate (I.Template );
@@ -411,8 +412,8 @@ writeConcept(
411
412
});
412
413
413
414
writeSourceInfo (I);
414
-
415
415
writeJavadoc (I.javadoc );
416
+ writeAttributes (I.Attributes );
416
417
417
418
tags_.close (conceptTagName);
418
419
@@ -431,8 +432,8 @@ writeNamespaceAlias(
431
432
});
432
433
433
434
writeSourceInfo (I);
434
-
435
435
writeJavadoc (I.javadoc );
436
+ writeAttributes (I.Attributes );
436
437
437
438
tags_.write (" aliased" , {}, {
438
439
{" name" , toString (*I.AliasedSymbol )},
@@ -475,8 +476,8 @@ XMLWriter::
475
476
});
476
477
477
478
writeSourceInfo (I);
478
-
479
479
writeJavadoc (I.javadoc );
480
+ writeAttributes (I.Attributes );
480
481
481
482
for (auto const & id : I.UsingSymbols )
482
483
tags_.write (" named" , {}, { id });
@@ -500,6 +501,8 @@ writeRecord(
500
501
});
501
502
502
503
writeSourceInfo (I);
504
+ writeJavadoc (I.javadoc );
505
+ writeAttributes (I.Attributes );
503
506
504
507
writeAttr (I.IsFinal , " is-final" , tags_);
505
508
writeAttr (I.IsFinalDestructor , " is-final-dtor" , tags_);
@@ -514,7 +517,6 @@ writeRecord(
514
517
tags_.close (baseTagName);
515
518
}
516
519
517
- writeJavadoc (I.javadoc );
518
520
519
521
corpus_.traverse (I, *this );
520
522
@@ -542,11 +544,11 @@ writeTypedef(
542
544
});
543
545
544
546
writeSourceInfo (I);
547
+ writeJavadoc (I.javadoc );
548
+ writeAttributes (I.Attributes );
545
549
546
550
writeType (I.Type , tags_);
547
551
548
- writeJavadoc (I.javadoc );
549
-
550
552
tags_.close (tag);
551
553
552
554
closeTemplate (I.Template );
@@ -576,6 +578,8 @@ writeField(
576
578
});
577
579
578
580
writeSourceInfo (I);
581
+ writeJavadoc (I.javadoc );
582
+ writeAttributes (I.Attributes );
579
583
580
584
if (I.IsMutable )
581
585
tags_.write (attributeTagName, {}, {
@@ -586,7 +590,6 @@ writeField(
586
590
587
591
writeType (I.Type , tags_);
588
592
589
- writeJavadoc (I.javadoc );
590
593
591
594
tags_.close (tag_name);
592
595
}
@@ -605,6 +608,8 @@ writeVariable(
605
608
});
606
609
607
610
writeSourceInfo (I);
611
+ writeJavadoc (I.javadoc );
612
+ writeAttributes (I.Attributes );
608
613
609
614
writeAttr (I.StorageClass , " storage-class" , tags_);
610
615
writeAttr (I.IsInline , " is-inline" , tags_);
@@ -614,7 +619,6 @@ writeVariable(
614
619
615
620
writeType (I.Type , tags_);
616
621
617
- writeJavadoc (I.javadoc );
618
622
619
623
tags_.close (varTagName);
620
624
@@ -623,6 +627,15 @@ writeVariable(
623
627
624
628
// ------------------------------------------------
625
629
630
+ void
631
+ XMLWriter::
632
+ writeAttributes (
633
+ std::span<const AttributeKind> attributes)
634
+ {
635
+ for (auto attr : attributes)
636
+ tags.write (attributeTagName, {}, { { " id" , toString (attr) } });
637
+ }
638
+
626
639
void
627
640
XMLWriter::
628
641
writeSourceInfo (
0 commit comments