12using namespace Qt::Literals::StringLiterals;
17
18
19
20
21
22
23
24
25
26
29
30
31
34
35
36
39
40
41
44
45
46
47
48
52 json[
"type"_L1] = type;
53 json[
"name"_L1] = name;
54 if (!defaultValue.isEmpty())
55 json[
"defaultValue"_L1] = defaultValue;
60
61
62
63
64
65
66
67
68
69
72
73
74
77
78
79
80
83
84
85
88
89
90
91
92
96 json[
"name"_L1] = name;
98 json[
"value"_L1] = value;
100 json[
"since"_L1] = since;
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
133
134
135
136
139
140
141
144
145
146
149
150
151
152
155
156
157
158
159
160
161
164
165
166
169
170
171
174
175
176
179
180
181
184
185
186
189
190
191
192
193
194
198 json[
"firstIndex"_L1] = firstIndex;
199 json[
"count"_L1] = count;
200 json[
"status"_L1] = statusToJson(status);
201 json[
"isPlural"_L1] = isPlural;
202 if (!anchorId.isEmpty())
203 json[
"anchorId"_L1] = anchorId;
204 if (!deprecatedSince.isEmpty())
205 json[
"deprecatedSince"_L1] = deprecatedSince;
206 if (!typeNoun.isEmpty())
207 json[
"typeNoun"_L1] = typeNoun;
208 if (!deprecatedSinceQualified.isEmpty())
209 json[
"deprecatedSinceQualified"_L1] = deprecatedSinceQualified;
211 QJsonArray bodyArray;
212 for (
const auto &block : body)
213 bodyArray.append(block.toJson());
214 json[
"body"_L1] = bodyArray;
216 QJsonArray alsoArray;
217 for (
const auto &block : alsoList)
218 alsoArray.append(block.toJson());
219 json[
"alsoList"_L1] = alsoArray;
225
226
227
228
229
230
231
232
233
234
235
236
237
240
241
242
245
246
247
250
251
252
253
254
255
258
259
260
263
264
265
266
269
270
271
272
275
276
277
280
281
282
283
286
287
288
289
290
293
294
295
296
297
298
301
302
303
304
305
306
309
310
311
314
315
316
319
320
321
322
325
326
327
330
331
332
333
334
335
338
339
340
343
344
345
348
349
350
351
354
355
356
359
360
361
364
365
366
367
368
369
370
373
374
375
376
377
378
379
380
385 json[
"name"_L1] = name;
386 json[
"fullName"_L1] = fullName;
387 json[
"signature"_L1] = signature;
388 json[
"href"_L1] = href;
389 if (!brief.isEmpty())
390 json[
"brief"_L1] = brief;
392 if (
const auto t = nodeTypeToJson(nodeType))
393 json[
"nodeType"_L1] = *t;
394 json[
"status"_L1] = statusToJson(status);
395 json[
"access"_L1] = accessToJson(access);
396 if (!deprecatedSince.isEmpty())
397 json[
"deprecatedSince"_L1] = deprecatedSince;
398 if (!typeNoun.isEmpty())
399 json[
"typeNoun"_L1] = typeNoun;
400 if (!deprecatedSinceQualified.isEmpty())
401 json[
"deprecatedSinceQualified"_L1] = deprecatedSinceQualified;
403 json[
"overloadNumber"_L1] = overloadNumber;
404 json[
"isPrimaryOverload"_L1] = isPrimaryOverload;
406 if (!parameters.isEmpty()) {
408 for (
const auto &p : parameters)
409 arr.append(p.toJson());
410 json[
"parameters"_L1] = arr;
413 if (!enumValues.isEmpty()) {
415 for (
const auto &ev : enumValues)
416 arr.append(ev.toJson());
417 json[
"enumValues"_L1] = arr;
420 json[
"isStatic"_L1] = isStatic;
421 json[
"isConst"_L1] = isConst;
422 json[
"isVirtual"_L1] = isVirtual;
423 json[
"isSignal"_L1] = isSignal;
424 json[
"isSlot"_L1] = isSlot;
427 json[
"isAttached"_L1] =
true;
429 json[
"isDefault"_L1] =
true;
431 json[
"isReadOnly"_L1] =
true;
433 json[
"isRequired"_L1] =
true;
434 if (!dataType.isEmpty())
435 json[
"dataType"_L1] = dataType;
437 json[
"anchorId"_L1] = anchorId;
438 json[
"synopsis"_L1] = synopsis;
439 if (!signatureSpans.isEmpty()) {
441 for (
const auto &span : signatureSpans)
442 arr.append(span.toJson());
443 json[
"signatureSpans"_L1] = arr;
445 if (!since.isEmpty())
446 json[
"since"_L1] = since;
447 if (!threadSafety.isEmpty())
448 json[
"threadSafety"_L1] = threadSafety;
449 if (!comparisonCategory.isEmpty())
450 json[
"comparisonCategory"_L1] = comparisonCategory;
452 json[
"isNoexcept"_L1] =
true;
453 if (!noexceptNote.isEmpty())
454 json[
"noexceptNote"_L1] = noexceptNote;
456 if (!body.isEmpty()) {
458 for (
const auto &block : body)
459 arr.append(block.toJson());
460 json[
"body"_L1] = arr;
463 if (!alsoList.isEmpty()) {
465 for (
const auto &block : alsoList)
466 arr.append(block.toJson());
467 json[
"alsoList"_L1] = arr;
470 if (sharedGroup >= 0)
471 json[
"sharedGroup"_L1] = sharedGroup;
477
478
479
480
481
482
483
484
487
488
489
492
493
494
497
498
499
502
503
504
505
506
507
511 json[
"className"_L1] = className;
512 json[
"count"_L1] = count;
513 json[
"href"_L1] = href;
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
536
537
538
539
542
543
544
547
548
549
552
553
554
557
558
559
562
563
564
567
568
569
572
573
574
575
576
577
580
581
582
583
584
585
591 json[
"title"_L1] = title;
592 json[
"singular"_L1] = singular;
593 json[
"plural"_L1] = plural;
595 QJsonArray membersArray;
596 for (
const auto &m : members)
597 membersArray.append(m.toJson());
598 json[
"members"_L1] = membersArray;
600 if (!reimplementedMembers.isEmpty()) {
602 for (
const auto &m : reimplementedMembers)
603 arr.append(m.toJson());
604 json[
"reimplementedMembers"_L1] = arr;
607 if (!inheritedMembers.isEmpty()) {
609 for (
const auto &im : inheritedMembers)
610 arr.append(im.toJson());
611 json[
"inheritedMembers"_L1] = arr;
614 if (!sharedGroups.isEmpty()) {
616 for (
const auto &group : sharedGroups)
617 arr.append(group.toJson());
618 json[
"sharedGroups"_L1] = arr;
625
626
627
628
629
630
631
632
635
636
637
638
639
640
644 json[
"signature"_L1] = signature;
645 if (!signatureSpans.isEmpty()) {
647 for (
const auto &span : signatureSpans)
648 arr.append(span.toJson());
649 json[
"signatureSpans"_L1] = arr;
651 json[
"href"_L1] = href;
653 if (!hints.isEmpty()) {
655 for (
const auto &hint : hints)
657 json[
"hints"_L1] = arr;
661 json[
"isPropertyGroup"_L1] =
true;
663 if (!children.isEmpty()) {
665 for (
const auto &child : children)
666 arr.append(child.toJson());
667 json[
"children"_L1] = arr;
674
675
676
677
678
679
680
683
684
685
686
687
691 json[
"typeName"_L1] = typeName;
692 json[
"typeHref"_L1] = typeHref;
695 for (
const auto &entry : members)
696 arr.append(entry.toJson());
697 json[
"members"_L1] = arr;
703
704
705
706
707
708
709
710
713
714
715
716
717
718
719
723 json[
"typeName"_L1] = typeName;
724 json[
"typeHref"_L1] = typeHref;
725 json[
"isQmlType"_L1] = isQmlType;
727 if (!members.isEmpty()) {
729 for (
const auto &entry : members)
730 arr.append(entry.toJson());
731 json[
"members"_L1] = arr;
734 if (!memberGroups.isEmpty()) {
736 for (
const auto &group : memberGroups)
737 arr.append(group.toJson());
738 json[
"memberGroups"_L1] = arr;
Combined button and popup list for selecting options.
A single entry in an all-members listing page.
QJsonObject toJson() const
Converts the entry to a QJsonObject for template rendering.
Intermediate representation of the all-members listing page.
QJsonObject toJson() const
Converts the all-members IR to a QJsonObject for template rendering.
Intermediate representation of a single enum value.
QJsonObject toJson() const
\variable IR::EnumValueIR::name Enumerator name.
Summary of members inherited from a single base class.
QJsonObject toJson() const
\variable IR::InheritedMembersIR::className Fully qualified name of the base class.
Members grouped by originating QML type in an all-members listing.
QJsonObject toJson() const
Converts the member group to a QJsonObject for template rendering.
Intermediate representation of a single documentable member.
QJsonObject toJson() const
\variable IR::MemberIR::name Unqualified member name.
Intermediate representation of a function parameter.
QJsonObject toJson() const
\variable IR::ParameterIR::type Parameter type (such as "const QString &").
Intermediate representation of a member summary section.
QJsonObject toJson() const
\variable IR::SectionIR::id Stable ASCII identifier for anchor links, generated from the title via Te...
One documentation body and see-also list shared by a group of members.
QJsonObject toJson() const
\variable IR::SharedDetailGroup::firstIndex Zero-based index of the group's first member in the secti...