@xpack/doxygen2docusaurus 2.0.0 → 2.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/README.md +2 -1
- package/bin/doxygen2docusaurus.js +1 -1
- package/dist/cli/main.d.ts +0 -14
- package/dist/cli/main.d.ts.map +1 -1
- package/dist/cli/main.js +0 -34
- package/dist/cli/main.js.map +1 -1
- package/dist/docusaurus/cli-options.d.ts +3 -292
- package/dist/docusaurus/cli-options.d.ts.map +1 -1
- package/dist/docusaurus/cli-options.js +6 -290
- package/dist/docusaurus/cli-options.js.map +1 -1
- package/dist/docusaurus/generator.d.ts +0 -172
- package/dist/docusaurus/generator.d.ts.map +1 -1
- package/dist/docusaurus/generator.js +20 -280
- package/dist/docusaurus/generator.js.map +1 -1
- package/dist/docusaurus/renderers/descriptiontype.d.ts +0 -417
- package/dist/docusaurus/renderers/descriptiontype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/descriptiontype.js +11 -555
- package/dist/docusaurus/renderers/descriptiontype.js.map +1 -1
- package/dist/docusaurus/renderers/docinternalstype.d.ts +0 -132
- package/dist/docusaurus/renderers/docinternalstype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/docinternalstype.js +0 -156
- package/dist/docusaurus/renderers/docinternalstype.js.map +1 -1
- package/dist/docusaurus/renderers/doclisttype.d.ts +0 -22
- package/dist/docusaurus/renderers/doclisttype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/doclisttype.js +0 -42
- package/dist/docusaurus/renderers/doclisttype.js.map +1 -1
- package/dist/docusaurus/renderers/doctabletype.d.ts +0 -88
- package/dist/docusaurus/renderers/doctabletype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/doctabletype.js +1 -113
- package/dist/docusaurus/renderers/doctabletype.js.map +1 -1
- package/dist/docusaurus/renderers/doctitletype.d.ts +0 -22
- package/dist/docusaurus/renderers/doctitletype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/doctitletype.js +0 -42
- package/dist/docusaurus/renderers/doctitletype.js.map +1 -1
- package/dist/docusaurus/renderers/docvariablelisttype.d.ts +0 -44
- package/dist/docusaurus/renderers/docvariablelisttype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/docvariablelisttype.js +1 -69
- package/dist/docusaurus/renderers/docvariablelisttype.js.map +1 -1
- package/dist/docusaurus/renderers/docxrefsecttype.d.ts +0 -22
- package/dist/docusaurus/renderers/docxrefsecttype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/docxrefsecttype.js +0 -38
- package/dist/docusaurus/renderers/docxrefsecttype.js.map +1 -1
- package/dist/docusaurus/renderers/element-renderer-base.d.ts +0 -74
- package/dist/docusaurus/renderers/element-renderer-base.d.ts.map +1 -1
- package/dist/docusaurus/renderers/element-renderer-base.js +0 -64
- package/dist/docusaurus/renderers/element-renderer-base.js.map +1 -1
- package/dist/docusaurus/renderers/inctype.d.ts +0 -23
- package/dist/docusaurus/renderers/inctype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/inctype.js +0 -41
- package/dist/docusaurus/renderers/inctype.js.map +1 -1
- package/dist/docusaurus/renderers/linkedtexttype.d.ts +0 -22
- package/dist/docusaurus/renderers/linkedtexttype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/linkedtexttype.js +0 -45
- package/dist/docusaurus/renderers/linkedtexttype.js.map +1 -1
- package/dist/docusaurus/renderers/listingtype.d.ts +0 -52
- package/dist/docusaurus/renderers/listingtype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/listingtype.js +1 -88
- package/dist/docusaurus/renderers/listingtype.js.map +1 -1
- package/dist/docusaurus/renderers/paramtype.d.ts +0 -22
- package/dist/docusaurus/renderers/paramtype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/paramtype.js +2 -51
- package/dist/docusaurus/renderers/paramtype.js.map +1 -1
- package/dist/docusaurus/renderers/referencetype.d.ts +0 -23
- package/dist/docusaurus/renderers/referencetype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/referencetype.js +0 -38
- package/dist/docusaurus/renderers/referencetype.js.map +1 -1
- package/dist/docusaurus/renderers/reftexttype.d.ts +0 -22
- package/dist/docusaurus/renderers/reftexttype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/reftexttype.js +0 -38
- package/dist/docusaurus/renderers/reftexttype.js.map +1 -1
- package/dist/docusaurus/renderers/reftype.d.ts +0 -22
- package/dist/docusaurus/renderers/reftype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/reftype.js +0 -38
- package/dist/docusaurus/renderers/reftype.js.map +1 -1
- package/dist/docusaurus/renderers/renderers.d.ts +0 -151
- package/dist/docusaurus/renderers/renderers.d.ts.map +1 -1
- package/dist/docusaurus/renderers/renderers.js +4 -184
- package/dist/docusaurus/renderers/renderers.js.map +1 -1
- package/dist/docusaurus/renderers/substringtype.d.ts +0 -22
- package/dist/docusaurus/renderers/substringtype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/substringtype.js +0 -39
- package/dist/docusaurus/renderers/substringtype.js.map +1 -1
- package/dist/docusaurus/renderers/tableofcontentstype.d.ts +0 -22
- package/dist/docusaurus/renderers/tableofcontentstype.d.ts.map +1 -1
- package/dist/docusaurus/renderers/tableofcontentstype.js +0 -39
- package/dist/docusaurus/renderers/tableofcontentstype.js.map +1 -1
- package/dist/docusaurus/types.d.ts +0 -110
- package/dist/docusaurus/types.d.ts.map +1 -1
- package/dist/docusaurus/types.js +0 -11
- package/dist/docusaurus/types.js.map +1 -1
- package/dist/docusaurus/utils.d.ts +0 -214
- package/dist/docusaurus/utils.d.ts.map +1 -1
- package/dist/docusaurus/utils.js +0 -296
- package/dist/docusaurus/utils.js.map +1 -1
- package/dist/docusaurus/view-model/classes-vm.d.ts +0 -137
- package/dist/docusaurus/view-model/classes-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/classes-vm.js +9 -225
- package/dist/docusaurus/view-model/classes-vm.js.map +1 -1
- package/dist/docusaurus/view-model/collection-base.d.ts +0 -120
- package/dist/docusaurus/view-model/collection-base.d.ts.map +1 -1
- package/dist/docusaurus/view-model/collection-base.js +11 -101
- package/dist/docusaurus/view-model/collection-base.js.map +1 -1
- package/dist/docusaurus/view-model/compound-base-vm.d.ts +2 -147
- package/dist/docusaurus/view-model/compound-base-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/compound-base-vm.js +47 -225
- package/dist/docusaurus/view-model/compound-base-vm.js.map +1 -1
- package/dist/docusaurus/view-model/concepts-vm.d.ts +26 -0
- package/dist/docusaurus/view-model/concepts-vm.d.ts.map +1 -0
- package/dist/docusaurus/view-model/concepts-vm.js +329 -0
- package/dist/docusaurus/view-model/concepts-vm.js.map +1 -0
- package/dist/docusaurus/view-model/description-anchors.d.ts +0 -58
- package/dist/docusaurus/view-model/description-anchors.d.ts.map +1 -1
- package/dist/docusaurus/view-model/description-anchors.js +0 -71
- package/dist/docusaurus/view-model/description-anchors.js.map +1 -1
- package/dist/docusaurus/view-model/files-and-folders-vm.d.ts +0 -247
- package/dist/docusaurus/view-model/files-and-folders-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/files-and-folders-vm.js +61 -353
- package/dist/docusaurus/view-model/files-and-folders-vm.js.map +1 -1
- package/dist/docusaurus/view-model/groups-vm.d.ts +0 -148
- package/dist/docusaurus/view-model/groups-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/groups-vm.js +2 -223
- package/dist/docusaurus/view-model/groups-vm.js.map +1 -1
- package/dist/docusaurus/view-model/members-vm.d.ts +0 -552
- package/dist/docusaurus/view-model/members-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/members-vm.js +17 -702
- package/dist/docusaurus/view-model/members-vm.js.map +1 -1
- package/dist/docusaurus/view-model/namespaces-vm.d.ts +4 -199
- package/dist/docusaurus/view-model/namespaces-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/namespaces-vm.js +79 -284
- package/dist/docusaurus/view-model/namespaces-vm.js.map +1 -1
- package/dist/docusaurus/view-model/options.d.ts +0 -43
- package/dist/docusaurus/view-model/options.d.ts.map +1 -1
- package/dist/docusaurus/view-model/options.js +0 -57
- package/dist/docusaurus/view-model/options.js.map +1 -1
- package/dist/docusaurus/view-model/pages-vm.d.ts +0 -115
- package/dist/docusaurus/view-model/pages-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/pages-vm.js +0 -162
- package/dist/docusaurus/view-model/pages-vm.js.map +1 -1
- package/dist/docusaurus/view-model/tree-entries-vm.d.ts +8 -142
- package/dist/docusaurus/view-model/tree-entries-vm.d.ts.map +1 -1
- package/dist/docusaurus/view-model/tree-entries-vm.js +54 -174
- package/dist/docusaurus/view-model/tree-entries-vm.js.map +1 -1
- package/dist/docusaurus/view-model/view-model.d.ts +0 -125
- package/dist/docusaurus/view-model/view-model.d.ts.map +1 -1
- package/dist/docusaurus/view-model/view-model.js +20 -182
- package/dist/docusaurus/view-model/view-model.js.map +1 -1
- package/dist/docusaurus/workspace.d.ts +1 -126
- package/dist/docusaurus/workspace.d.ts.map +1 -1
- package/dist/docusaurus/workspace.js +8 -221
- package/dist/docusaurus/workspace.js.map +1 -1
- package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts +5 -492
- package/dist/doxygen/data-model/compounds/compounddef-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/compounddef-dm.js +23 -672
- package/dist/doxygen/data-model/compounds/compounddef-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts +0 -129
- package/dist/doxygen/data-model/compounds/compoundreftype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/compoundreftype-dm.js +1 -145
- package/dist/doxygen/data-model/compounds/compoundreftype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts +104 -2848
- package/dist/doxygen/data-model/compounds/descriptiontype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/descriptiontype-dm.js +73 -3975
- package/dist/doxygen/data-model/compounds/descriptiontype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts +0 -165
- package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js +0 -229
- package/dist/doxygen/data-model/compounds/docvarlistentrytype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts +0 -70
- package/dist/doxygen/data-model/compounds/doxygentype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/doxygentype-dm.js +0 -105
- package/dist/doxygen/data-model/compounds/doxygentype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts +0 -84
- package/dist/doxygen/data-model/compounds/enumvaluetype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js +1 -122
- package/dist/doxygen/data-model/compounds/enumvaluetype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/inctype-dm.d.ts +0 -116
- package/dist/doxygen/data-model/compounds/inctype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/inctype-dm.js +3 -155
- package/dist/doxygen/data-model/compounds/inctype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts +3 -138
- package/dist/doxygen/data-model/compounds/linkedtexttype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js +5 -180
- package/dist/doxygen/data-model/compounds/linkedtexttype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts +0 -76
- package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js +0 -107
- package/dist/doxygen/data-model/compounds/listofallmemberstype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts +0 -162
- package/dist/doxygen/data-model/compounds/locationtype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/locationtype-dm.js +4 -203
- package/dist/doxygen/data-model/compounds/locationtype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts +2 -443
- package/dist/doxygen/data-model/compounds/memberdeftype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/memberdeftype-dm.js +19 -475
- package/dist/doxygen/data-model/compounds/memberdeftype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts +0 -141
- package/dist/doxygen/data-model/compounds/memberreftype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/memberreftype-dm.js +0 -176
- package/dist/doxygen/data-model/compounds/memberreftype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/membertype-dm.d.ts +0 -101
- package/dist/doxygen/data-model/compounds/membertype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/membertype-dm.js +0 -115
- package/dist/doxygen/data-model/compounds/membertype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts +0 -164
- package/dist/doxygen/data-model/compounds/paramtype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/paramtype-dm.js +0 -208
- package/dist/doxygen/data-model/compounds/paramtype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts +0 -139
- package/dist/doxygen/data-model/compounds/referencetype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/referencetype-dm.js +2 -175
- package/dist/doxygen/data-model/compounds/referencetype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts +0 -120
- package/dist/doxygen/data-model/compounds/reftexttype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/reftexttype-dm.js +2 -141
- package/dist/doxygen/data-model/compounds/reftexttype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/reftype-dm.d.ts +0 -268
- package/dist/doxygen/data-model/compounds/reftype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/reftype-dm.js +4 -326
- package/dist/doxygen/data-model/compounds/reftype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts +0 -105
- package/dist/doxygen/data-model/compounds/reimplementtype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/reimplementtype-dm.js +1 -139
- package/dist/doxygen/data-model/compounds/reimplementtype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts +0 -168
- package/dist/doxygen/data-model/compounds/sectiondeftype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js +0 -209
- package/dist/doxygen/data-model/compounds/sectiondeftype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts +0 -267
- package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js +0 -354
- package/dist/doxygen/data-model/compounds/tableofcontentstype-dm.js.map +1 -1
- package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts +0 -66
- package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js +0 -97
- package/dist/doxygen/data-model/compounds/templateparamlisttype-dm.js.map +1 -1
- package/dist/doxygen/data-model/data-model.d.ts +0 -149
- package/dist/doxygen/data-model/data-model.d.ts.map +1 -1
- package/dist/doxygen/data-model/data-model.js +4 -197
- package/dist/doxygen/data-model/data-model.js.map +1 -1
- package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts +0 -115
- package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js +4 -129
- package/dist/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.js.map +1 -1
- package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts +0 -87
- package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js +0 -118
- package/dist/doxygen/data-model/doxyfile/doxyfiletype-dm.js.map +1 -1
- package/dist/doxygen/data-model/doxygen-xml-parser.d.ts +0 -253
- package/dist/doxygen/data-model/doxygen-xml-parser.d.ts.map +1 -1
- package/dist/doxygen/data-model/doxygen-xml-parser.js +0 -291
- package/dist/doxygen/data-model/doxygen-xml-parser.js.map +1 -1
- package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts +0 -98
- package/dist/doxygen/data-model/index/indexcompoundtype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/index/indexcompoundtype-dm.js +2 -122
- package/dist/doxygen/data-model/index/indexcompoundtype-dm.js.map +1 -1
- package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts +0 -82
- package/dist/doxygen/data-model/index/indexdoxygentype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/index/indexdoxygentype-dm.js +0 -114
- package/dist/doxygen/data-model/index/indexdoxygentype-dm.js.map +1 -1
- package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts +0 -85
- package/dist/doxygen/data-model/index/indexmembertype-dm.d.ts.map +1 -1
- package/dist/doxygen/data-model/index/indexmembertype-dm.js +1 -107
- package/dist/doxygen/data-model/index/indexmembertype-dm.js.map +1 -1
- package/dist/doxygen/data-model/types.d.ts +0 -104
- package/dist/doxygen/data-model/types.d.ts.map +1 -1
- package/dist/doxygen/data-model/types.js +0 -52
- package/dist/doxygen/data-model/types.js.map +1 -1
- package/dist/index.d.ts +4 -16
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +4 -42
- package/dist/index.js.map +1 -1
- package/package.json +45 -51
- package/src/cli/main.ts +122 -0
- package/src/docusaurus/cli-options.ts +560 -0
- package/src/docusaurus/generator.ts +788 -0
- package/src/docusaurus/renderers/descriptiontype.ts +1299 -0
- package/src/docusaurus/renderers/docinternalstype.ts +354 -0
- package/src/docusaurus/renderers/doclisttype.ts +134 -0
- package/src/docusaurus/renderers/doctabletype.ts +220 -0
- package/src/docusaurus/renderers/doctitletype.ts +77 -0
- package/src/docusaurus/renderers/docvariablelisttype.ts +123 -0
- package/src/docusaurus/renderers/docxrefsecttype.ts +84 -0
- package/src/docusaurus/renderers/element-renderer-base.ts +112 -0
- package/src/docusaurus/renderers/inctype.ts +75 -0
- package/src/docusaurus/renderers/linkedtexttype.ts +64 -0
- package/src/docusaurus/renderers/listingtype.ts +235 -0
- package/src/docusaurus/renderers/paramtype.ts +116 -0
- package/src/docusaurus/renderers/referencetype.ts +83 -0
- package/src/docusaurus/renderers/reftexttype.ts +81 -0
- package/src/docusaurus/renderers/reftype.ts +77 -0
- package/src/docusaurus/renderers/renderers.ts +756 -0
- package/src/docusaurus/renderers/substringtype.ts +53 -0
- package/src/docusaurus/renderers/tableofcontentstype.ts +74 -0
- package/src/docusaurus/types.ts +187 -0
- package/src/docusaurus/utils.ts +409 -0
- package/src/docusaurus/view-model/README.md +12 -0
- package/src/docusaurus/view-model/classes-vm.ts +1088 -0
- package/src/docusaurus/view-model/collection-base.ts +352 -0
- package/src/docusaurus/view-model/compound-base-vm.ts +1340 -0
- package/src/docusaurus/view-model/concepts-vm.ts +719 -0
- package/src/docusaurus/view-model/description-anchors.ts +107 -0
- package/src/docusaurus/view-model/files-and-folders-vm.ts +1293 -0
- package/src/docusaurus/view-model/groups-vm.ts +548 -0
- package/src/docusaurus/view-model/members-vm.ts +1943 -0
- package/src/docusaurus/view-model/namespaces-vm.ts +1018 -0
- package/src/docusaurus/view-model/options.ts +95 -0
- package/src/docusaurus/view-model/pages-vm.ts +342 -0
- package/src/docusaurus/view-model/tree-entries-vm.ts +376 -0
- package/src/docusaurus/view-model/view-model.ts +513 -0
- package/src/docusaurus/workspace.ts +588 -0
- package/src/doxygen/data-model/README.md +13 -0
- package/src/doxygen/data-model/compounds/compounddef-dm.ts +1156 -0
- package/src/doxygen/data-model/compounds/compoundreftype-dm.ts +266 -0
- package/src/doxygen/data-model/compounds/descriptiontype-dm.ts +10107 -0
- package/src/doxygen/data-model/compounds/docvarlistentrytype-dm.ts +354 -0
- package/src/doxygen/data-model/compounds/doxygentype-dm.ts +187 -0
- package/src/doxygen/data-model/compounds/enumvaluetype-dm.ts +218 -0
- package/src/doxygen/data-model/compounds/inctype-dm.ts +217 -0
- package/src/doxygen/data-model/compounds/linkedtexttype-dm.ts +288 -0
- package/src/doxygen/data-model/compounds/listofallmemberstype-dm.ts +160 -0
- package/src/doxygen/data-model/compounds/locationtype-dm.ts +284 -0
- package/src/doxygen/data-model/compounds/memberdeftype-dm.ts +874 -0
- package/src/doxygen/data-model/compounds/memberreftype-dm.ts +270 -0
- package/src/doxygen/data-model/compounds/membertype-dm.ts +239 -0
- package/src/doxygen/data-model/compounds/paramtype-dm.ts +302 -0
- package/src/doxygen/data-model/compounds/referencetype-dm.ts +248 -0
- package/src/doxygen/data-model/compounds/reftexttype-dm.ts +234 -0
- package/src/doxygen/data-model/compounds/reftype-dm.ts +430 -0
- package/src/doxygen/data-model/compounds/reimplementtype-dm.ts +201 -0
- package/src/doxygen/data-model/compounds/sectiondeftype-dm.ts +330 -0
- package/src/doxygen/data-model/compounds/tableofcontentstype-dm.ts +563 -0
- package/src/doxygen/data-model/compounds/templateparamlisttype-dm.ts +150 -0
- package/src/doxygen/data-model/data-model.ts +377 -0
- package/src/doxygen/data-model/doxyfile/doxyfileoptiontype-dm.ts +271 -0
- package/src/doxygen/data-model/doxyfile/doxyfiletype-dm.ts +200 -0
- package/src/doxygen/data-model/doxygen-xml-parser.ts +522 -0
- package/src/doxygen/data-model/index/indexcompoundtype-dm.ts +256 -0
- package/src/doxygen/data-model/index/indexdoxygentype-dm.ts +196 -0
- package/src/doxygen/data-model/index/indexmembertype-dm.ts +230 -0
- package/src/doxygen/data-model/types.ts +175 -0
- package/src/doxygen/data-model/xsds/README.md +6 -0
- package/src/doxygen/data-model/xsds/compound.xsd +1699 -0
- package/src/doxygen/data-model/xsds/doxyfile.xsd +355 -0
- package/src/doxygen/data-model/xsds/index.xsd +72 -0
- package/src/doxygen/data-model/xsds/xml.xsd +23 -0
- package/src/index.ts +261 -0
- package/src/tsconfig.json +10 -0
- package/dist/doxygen2docusaurus.d.ts +0 -4774
- package/dist/tsconfig.tsbuildinfo +0 -1
- package/dist/tsdoc-metadata.json +0 -11
|
@@ -0,0 +1,874 @@
|
|
|
1
|
+
/*
|
|
2
|
+
* This file is part of the xPack project (http://xpack.github.io).
|
|
3
|
+
* Copyright (c) 2025-2026 Liviu Ionescu. All rights reserved.
|
|
4
|
+
*
|
|
5
|
+
* Permission to use, copy, modify, and/or distribute this software
|
|
6
|
+
* for any purpose is hereby granted, under the terms of the MIT license.
|
|
7
|
+
*
|
|
8
|
+
* If a copy of the license was not distributed with this file, it can
|
|
9
|
+
* be obtained from https://opensource.org/licenses/MIT.
|
|
10
|
+
*/
|
|
11
|
+
|
|
12
|
+
// ----------------------------------------------------------------------------
|
|
13
|
+
|
|
14
|
+
import assert from 'node:assert'
|
|
15
|
+
import * as util from 'node:util'
|
|
16
|
+
|
|
17
|
+
import { DoxygenXmlParser } from '../doxygen-xml-parser.js'
|
|
18
|
+
import {
|
|
19
|
+
BriefDescriptionDataModel,
|
|
20
|
+
DetailedDescriptionDataModel,
|
|
21
|
+
InbodyDescriptionDataModel,
|
|
22
|
+
} from './descriptiontype-dm.js'
|
|
23
|
+
import {
|
|
24
|
+
InitializerDataModel,
|
|
25
|
+
RequiresClauseDataModel,
|
|
26
|
+
TypeDataModel,
|
|
27
|
+
} from './linkedtexttype-dm.js'
|
|
28
|
+
import { LocationDataModel } from './locationtype-dm.js'
|
|
29
|
+
import { ParamDataModel } from './paramtype-dm.js'
|
|
30
|
+
import { AbstractDataModelBase } from '../types.js'
|
|
31
|
+
import { TemplateParamListDataModel } from './templateparamlisttype-dm.js'
|
|
32
|
+
import { EnumValueDataModel } from './enumvaluetype-dm.js'
|
|
33
|
+
import {
|
|
34
|
+
ReimplementDataModel,
|
|
35
|
+
ReimplementedByDataModel,
|
|
36
|
+
} from './reimplementtype-dm.js'
|
|
37
|
+
import {
|
|
38
|
+
ReferenceDataModel,
|
|
39
|
+
ReferencedByDataModel,
|
|
40
|
+
} from './referencetype-dm.js'
|
|
41
|
+
|
|
42
|
+
// ----------------------------------------------------------------------------
|
|
43
|
+
|
|
44
|
+
// <xsd:complexType name="memberdefType">
|
|
45
|
+
// <xsd:sequence>
|
|
46
|
+
// <xsd:element name="templateparamlist" type="templateparamlistType" minOccurs="0" />
|
|
47
|
+
// <xsd:element name="type" type="linkedTextType" minOccurs="0" />
|
|
48
|
+
// <xsd:element name="definition" type="xsd:string" minOccurs="0" />
|
|
49
|
+
// <xsd:element name="argsstring" type="xsd:string" minOccurs="0" />
|
|
50
|
+
// <xsd:element name="name" type="xsd:string" />
|
|
51
|
+
// <xsd:element name="qualifiedname" type="xsd:string" minOccurs="0"/>
|
|
52
|
+
// <xsd:element name="read" type="xsd:string" minOccurs="0" />
|
|
53
|
+
// <xsd:element name="write" type="xsd:string" minOccurs="0" />
|
|
54
|
+
// <xsd:element name="bitfield" type="xsd:string" minOccurs="0" />
|
|
55
|
+
// <xsd:element name="reimplements" type="reimplementType" minOccurs="0" maxOccurs="unbounded" />
|
|
56
|
+
// <xsd:element name="reimplementedby" type="reimplementType" minOccurs="0" maxOccurs="unbounded" />
|
|
57
|
+
// <xsd:element name="qualifier" type="xsd:string" minOccurs="0" maxOccurs="unbounded" />
|
|
58
|
+
// <xsd:element name="param" type="paramType" minOccurs="0" maxOccurs="unbounded" />
|
|
59
|
+
// <xsd:element name="enumvalue" type="enumvalueType" minOccurs="0" maxOccurs="unbounded" />
|
|
60
|
+
// <xsd:element name="requiresclause" type="linkedTextType" minOccurs="0" />
|
|
61
|
+
// <xsd:element name="initializer" type="linkedTextType" minOccurs="0" />
|
|
62
|
+
// <xsd:element name="exceptions" type="linkedTextType" minOccurs="0" />
|
|
63
|
+
// <xsd:element name="briefdescription" type="descriptionType" minOccurs="0" />
|
|
64
|
+
// <xsd:element name="detaileddescription" type="descriptionType" minOccurs="0" />
|
|
65
|
+
// <xsd:element name="inbodydescription" type="descriptionType" minOccurs="0" />
|
|
66
|
+
// <xsd:element name="location" type="locationType" />
|
|
67
|
+
// <xsd:element name="references" type="referenceType" minOccurs="0" maxOccurs="unbounded" />
|
|
68
|
+
// <xsd:element name="referencedby" type="referenceType" minOccurs="0" maxOccurs="unbounded" />
|
|
69
|
+
// </xsd:sequence>
|
|
70
|
+
|
|
71
|
+
// <xsd:attribute name="kind" type="DoxMemberKind" />
|
|
72
|
+
// <xsd:attribute name="id" type="xsd:string" />
|
|
73
|
+
// <xsd:attribute name="prot" type="DoxProtectionKind" />
|
|
74
|
+
// <xsd:attribute name="static" type="DoxBool" />
|
|
75
|
+
|
|
76
|
+
// <xsd:attribute name="extern" type="DoxBool" use="optional" />
|
|
77
|
+
// <xsd:attribute name="strong" type="DoxBool" use="optional"/>
|
|
78
|
+
// <xsd:attribute name="const" type="DoxBool" use="optional"/>
|
|
79
|
+
// <xsd:attribute name="explicit" type="DoxBool" use="optional"/>
|
|
80
|
+
// <xsd:attribute name="inline" type="DoxBool" use="optional"/>
|
|
81
|
+
// <xsd:attribute name="refqual" type="DoxRefQualifierKind" use="optional"/>
|
|
82
|
+
// <xsd:attribute name="virt" type="DoxVirtualKind" use="optional"/>
|
|
83
|
+
// <xsd:attribute name="volatile" type="DoxBool" use="optional"/>
|
|
84
|
+
// <xsd:attribute name="mutable" type="DoxBool" use="optional"/>
|
|
85
|
+
// <xsd:attribute name="noexcept" type="DoxBool" use="optional"/>
|
|
86
|
+
// <xsd:attribute name="noexceptexpression" type="xsd:string" use="optional"/>
|
|
87
|
+
// <xsd:attribute name="nodiscard" type="DoxBool" use="optional"/>
|
|
88
|
+
// <xsd:attribute name="constexpr" type="DoxBool" use="optional"/>
|
|
89
|
+
// <xsd:attribute name="consteval" type="DoxBool" use="optional"/>
|
|
90
|
+
// <xsd:attribute name="constinit" type="DoxBool" use="optional"/>
|
|
91
|
+
// <!-- Qt property -->
|
|
92
|
+
// <xsd:attribute name="readable" type="DoxBool" use="optional"/>
|
|
93
|
+
// <xsd:attribute name="writable" type="DoxBool" use="optional"/>
|
|
94
|
+
// <!-- C++/CLI variable -->
|
|
95
|
+
// <xsd:attribute name="initonly" type="DoxBool" use="optional"/>
|
|
96
|
+
// <!-- C++/CLI and C# property -->
|
|
97
|
+
// <xsd:attribute name="settable" type="DoxBool" use="optional"/>
|
|
98
|
+
// <xsd:attribute name="privatesettable" type="DoxBool" use="optional"/>
|
|
99
|
+
// <xsd:attribute name="protectedsettable" type="DoxBool" use="optional"/>
|
|
100
|
+
// <xsd:attribute name="gettable" type="DoxBool" use="optional"/>
|
|
101
|
+
// <xsd:attribute name="privategettable" type="DoxBool" use="optional"/>
|
|
102
|
+
// <xsd:attribute name="protectedgettable" type="DoxBool" use="optional"/>
|
|
103
|
+
// <!-- C++/CLI function -->
|
|
104
|
+
// <xsd:attribute name="final" type="DoxBool" use="optional"/>
|
|
105
|
+
// <xsd:attribute name="sealed" type="DoxBool" use="optional"/>
|
|
106
|
+
// <xsd:attribute name="new" type="DoxBool" use="optional"/>
|
|
107
|
+
// <!-- C++/CLI event -->
|
|
108
|
+
// <xsd:attribute name="add" type="DoxBool" use="optional"/>
|
|
109
|
+
// <xsd:attribute name="remove" type="DoxBool" use="optional"/>
|
|
110
|
+
// <xsd:attribute name="raise" type="DoxBool" use="optional"/>
|
|
111
|
+
// <!-- Objective-C 2.0 protocol method -->
|
|
112
|
+
// <xsd:attribute name="optional" type="DoxBool" use="optional"/>
|
|
113
|
+
// <xsd:attribute name="required" type="DoxBool" use="optional"/>
|
|
114
|
+
// <!-- Objective-C 2.0 property accessor -->
|
|
115
|
+
// <xsd:attribute name="accessor" type="DoxAccessor" use="optional"/>
|
|
116
|
+
// <!-- UNO IDL -->
|
|
117
|
+
// <xsd:attribute name="attribute" type="DoxBool" use="optional"/>
|
|
118
|
+
// <xsd:attribute name="property" type="DoxBool" use="optional"/>
|
|
119
|
+
// <xsd:attribute name="readonly" type="DoxBool" use="optional"/>
|
|
120
|
+
// <xsd:attribute name="bound" type="DoxBool" use="optional"/>
|
|
121
|
+
// <xsd:attribute name="removable" type="DoxBool" use="optional"/>
|
|
122
|
+
// <xsd:attribute name="constrained" type="DoxBool" use="optional"/>
|
|
123
|
+
// <xsd:attribute name="transient" type="DoxBool" use="optional"/>
|
|
124
|
+
// <xsd:attribute name="maybevoid" type="DoxBool" use="optional"/>
|
|
125
|
+
// <xsd:attribute name="maybedefault" type="DoxBool" use="optional"/>
|
|
126
|
+
// <xsd:attribute name="maybeambiguous" type="DoxBool" use="optional"/>
|
|
127
|
+
// </xsd:complexType>
|
|
128
|
+
|
|
129
|
+
// <xsd:simpleType name="DoxMemberKind">
|
|
130
|
+
// <xsd:restriction base="xsd:string">
|
|
131
|
+
// <xsd:enumeration value="define" />
|
|
132
|
+
// <xsd:enumeration value="property" />
|
|
133
|
+
// <xsd:enumeration value="event" />
|
|
134
|
+
// <xsd:enumeration value="variable" />
|
|
135
|
+
// <xsd:enumeration value="typedef" />
|
|
136
|
+
// <xsd:enumeration value="enum" />
|
|
137
|
+
// <xsd:enumeration value="function" />
|
|
138
|
+
// <xsd:enumeration value="signal" />
|
|
139
|
+
// <xsd:enumeration value="prototype" />
|
|
140
|
+
// <xsd:enumeration value="friend" />
|
|
141
|
+
// <xsd:enumeration value="dcop" />
|
|
142
|
+
// <xsd:enumeration value="slot" />
|
|
143
|
+
// <xsd:enumeration value="interface" />
|
|
144
|
+
// <xsd:enumeration value="service" />
|
|
145
|
+
// </xsd:restriction>
|
|
146
|
+
// </xsd:simpleType>
|
|
147
|
+
|
|
148
|
+
/**
|
|
149
|
+
* Union type representing all possible member kinds within Doxygen
|
|
150
|
+
* documentation.
|
|
151
|
+
*
|
|
152
|
+
* @remarks
|
|
153
|
+
* Defines the complete set of member types that can be documented by Doxygen,
|
|
154
|
+
* encompassing various programming language constructs including C/C++
|
|
155
|
+
* elements, Qt-specific constructs, and language-specific features from
|
|
156
|
+
* multiple programming paradigms.
|
|
157
|
+
*
|
|
158
|
+
* The enumeration covers traditional programming constructs (functions,
|
|
159
|
+
* variables, typedefs), modern C++ features, Qt framework elements (signals,
|
|
160
|
+
* slots), and specialised constructs from various development environments.
|
|
161
|
+
*
|
|
162
|
+
* @public
|
|
163
|
+
*/
|
|
164
|
+
export type DoxMemberKind =
|
|
165
|
+
| 'define'
|
|
166
|
+
| 'property'
|
|
167
|
+
| 'event'
|
|
168
|
+
| 'variable'
|
|
169
|
+
| 'typedef'
|
|
170
|
+
| 'enum'
|
|
171
|
+
| 'function'
|
|
172
|
+
| 'signal'
|
|
173
|
+
| 'prototype'
|
|
174
|
+
| 'friend'
|
|
175
|
+
| 'dcop'
|
|
176
|
+
| 'slot'
|
|
177
|
+
| 'interface'
|
|
178
|
+
| 'service'
|
|
179
|
+
|
|
180
|
+
/**
|
|
181
|
+
* Abstract base class for member-related data models within documentation.
|
|
182
|
+
*
|
|
183
|
+
* @remarks
|
|
184
|
+
* Provides foundational functionality for all member-related elements within
|
|
185
|
+
* the Doxygen documentation system. This class establishes the basic
|
|
186
|
+
* structure for member identification and classification, serving as the
|
|
187
|
+
* foundation for more specific member definition processing.
|
|
188
|
+
*
|
|
189
|
+
* The class maintains essential member information including name and kind
|
|
190
|
+
* identification, which are fundamental properties required by all member
|
|
191
|
+
* types within the documentation hierarchy.
|
|
192
|
+
*
|
|
193
|
+
* @public
|
|
194
|
+
*/
|
|
195
|
+
export abstract class AbstractMemberBaseType extends AbstractDataModelBase {
|
|
196
|
+
/**
|
|
197
|
+
* The name of the member element.
|
|
198
|
+
*
|
|
199
|
+
* @remarks
|
|
200
|
+
* Contains the identifier name for the member as extracted from the
|
|
201
|
+
* documentation source. This represents the primary identification
|
|
202
|
+
* mechanism for the member within its containing scope.
|
|
203
|
+
*
|
|
204
|
+
* @public
|
|
205
|
+
*/
|
|
206
|
+
name = ''
|
|
207
|
+
|
|
208
|
+
/**
|
|
209
|
+
* The kind classification of the member element.
|
|
210
|
+
*
|
|
211
|
+
* @remarks
|
|
212
|
+
* Specifies the type category of the member, corresponding to the
|
|
213
|
+
* DoxMemberKind enumeration values. This classification determines
|
|
214
|
+
* how the member is processed and presented within the documentation
|
|
215
|
+
* generation workflow.
|
|
216
|
+
*
|
|
217
|
+
* @public
|
|
218
|
+
*/
|
|
219
|
+
kind = ''
|
|
220
|
+
}
|
|
221
|
+
|
|
222
|
+
/**
|
|
223
|
+
* Abstract base class for comprehensive member definition data models.
|
|
224
|
+
*
|
|
225
|
+
* @remarks
|
|
226
|
+
* Extends the basic member functionality to provide complete member
|
|
227
|
+
* definition processing capabilities. This class handles the complex XML
|
|
228
|
+
* Schema definition for memberdefType elements, which represent detailed
|
|
229
|
+
* member information including location data, type information, parameters,
|
|
230
|
+
* descriptions, and various language-specific attributes.
|
|
231
|
+
*
|
|
232
|
+
* The implementation processes extensive member metadata including template
|
|
233
|
+
* parameters, function signatures, initialization values, documentation
|
|
234
|
+
* descriptions, and cross-reference information. It also manages a
|
|
235
|
+
* comprehensive set of language-specific attributes covering C++, Qt,
|
|
236
|
+
* C++/CLI, C#, Objective-C, and UNO IDL constructs.
|
|
237
|
+
*
|
|
238
|
+
* @public
|
|
239
|
+
*/
|
|
240
|
+
export abstract class AbstractMemberDefType extends AbstractMemberBaseType {
|
|
241
|
+
/**
|
|
242
|
+
* The location information for the member definition.
|
|
243
|
+
*
|
|
244
|
+
* @remarks
|
|
245
|
+
* Contains comprehensive source code location data including file paths,
|
|
246
|
+
* line numbers, and column positions for both declarations and
|
|
247
|
+
* implementations. This enables precise navigation between documentation
|
|
248
|
+
* and source code.
|
|
249
|
+
*
|
|
250
|
+
* @public
|
|
251
|
+
*/
|
|
252
|
+
location: LocationDataModel | undefined
|
|
253
|
+
|
|
254
|
+
/**
|
|
255
|
+
* The unique identifier for the member element.
|
|
256
|
+
*
|
|
257
|
+
* @remarks
|
|
258
|
+
* Provides a unique identification string for the member within the
|
|
259
|
+
* documentation system. This identifier is used for cross-referencing
|
|
260
|
+
* and linking between different parts of the documentation.
|
|
261
|
+
*
|
|
262
|
+
* @public
|
|
263
|
+
*/
|
|
264
|
+
id = ''
|
|
265
|
+
|
|
266
|
+
/**
|
|
267
|
+
* The protection level of the member element.
|
|
268
|
+
*
|
|
269
|
+
* @remarks
|
|
270
|
+
* Specifies the access protection level (public, protected, private)
|
|
271
|
+
* for the member, determining its visibility and accessibility within
|
|
272
|
+
* the containing class or namespace scope.
|
|
273
|
+
*
|
|
274
|
+
* @public
|
|
275
|
+
*/
|
|
276
|
+
prot = ''
|
|
277
|
+
|
|
278
|
+
/**
|
|
279
|
+
* Indicates whether the member is declared as static.
|
|
280
|
+
*
|
|
281
|
+
* @remarks
|
|
282
|
+
* Boolean flag indicating static member declaration, affecting the
|
|
283
|
+
* member's association with class instances versus the class itself.
|
|
284
|
+
* This information is crucial for understanding member accessibility
|
|
285
|
+
* and usage patterns.
|
|
286
|
+
*
|
|
287
|
+
* @public
|
|
288
|
+
*/
|
|
289
|
+
staticc: boolean | undefined
|
|
290
|
+
|
|
291
|
+
/**
|
|
292
|
+
* Template parameter list information for templated members.
|
|
293
|
+
*
|
|
294
|
+
* @remarks
|
|
295
|
+
* Contains detailed information about template parameters when the member
|
|
296
|
+
* is part of a template declaration. This includes parameter names, types,
|
|
297
|
+
* and default values essential for template documentation.
|
|
298
|
+
*
|
|
299
|
+
* @public
|
|
300
|
+
*/
|
|
301
|
+
templateparamlist?: TemplateParamListDataModel | undefined
|
|
302
|
+
|
|
303
|
+
/**
|
|
304
|
+
* Type information for the member element.
|
|
305
|
+
*
|
|
306
|
+
* @remarks
|
|
307
|
+
* Provides comprehensive type data including linked text with embedded
|
|
308
|
+
* cross-references. This information describes the member's data type,
|
|
309
|
+
* return type for functions, or variable type for data members.
|
|
310
|
+
*
|
|
311
|
+
* @public
|
|
312
|
+
*/
|
|
313
|
+
type?: TypeDataModel | undefined
|
|
314
|
+
|
|
315
|
+
/**
|
|
316
|
+
* The complete definition string for the member.
|
|
317
|
+
*
|
|
318
|
+
* @remarks
|
|
319
|
+
* Contains the full member definition as it appears in the source code,
|
|
320
|
+
* including type information, qualifiers, and parameter lists. This
|
|
321
|
+
* provides the complete syntactic representation of the member.
|
|
322
|
+
*
|
|
323
|
+
* @public
|
|
324
|
+
*/
|
|
325
|
+
definition?: string | undefined
|
|
326
|
+
|
|
327
|
+
/**
|
|
328
|
+
* The argument string for function members.
|
|
329
|
+
*
|
|
330
|
+
* @remarks
|
|
331
|
+
* Contains the parameter list specification for function-like members,
|
|
332
|
+
* including parameter types, names, and default values. This information
|
|
333
|
+
* is essential for understanding function signatures and usage.
|
|
334
|
+
*
|
|
335
|
+
* @public
|
|
336
|
+
*/
|
|
337
|
+
argsstring?: string | undefined
|
|
338
|
+
|
|
339
|
+
/**
|
|
340
|
+
* The fully qualified name of the member element.
|
|
341
|
+
*
|
|
342
|
+
* @remarks
|
|
343
|
+
* Provides the complete qualified name including namespace and class
|
|
344
|
+
* prefixes, enabling unambiguous identification of the member within
|
|
345
|
+
* the entire codebase context.
|
|
346
|
+
*
|
|
347
|
+
* @public
|
|
348
|
+
*/
|
|
349
|
+
qualifiedName?: string | undefined
|
|
350
|
+
// read?: string | undefined
|
|
351
|
+
// write?: string | undefined
|
|
352
|
+
|
|
353
|
+
/**
|
|
354
|
+
* Bitfield specification for member variables.
|
|
355
|
+
*
|
|
356
|
+
* @remarks
|
|
357
|
+
* Contains the bitfield width specification for member variables that
|
|
358
|
+
* are declared as bitfields in C/C++ structures or classes. This string
|
|
359
|
+
* represents the number of bits allocated to the member within the
|
|
360
|
+
* containing structure's memory layout.
|
|
361
|
+
*/
|
|
362
|
+
bitfield?: string | undefined
|
|
363
|
+
|
|
364
|
+
/**
|
|
365
|
+
* List of reimplemented member references.
|
|
366
|
+
*
|
|
367
|
+
* @remarks
|
|
368
|
+
* Contains references to members that this member reimplements or
|
|
369
|
+
* overrides from base classes. This property captures inheritance
|
|
370
|
+
* relationships where the current member provides a new implementation
|
|
371
|
+
* of a virtual method from a parent class.
|
|
372
|
+
*/
|
|
373
|
+
reimplements?: ReimplementDataModel[] | undefined
|
|
374
|
+
|
|
375
|
+
/**
|
|
376
|
+
* List of members that reimplement this member.
|
|
377
|
+
*
|
|
378
|
+
* @remarks
|
|
379
|
+
* Contains references to derived class members that reimplement or
|
|
380
|
+
* override this member. This property provides reverse inheritance
|
|
381
|
+
* relationship information, showing which child classes provide
|
|
382
|
+
* alternative implementations of this member.
|
|
383
|
+
*/
|
|
384
|
+
reimplementedBys?: ReimplementDataModel[] | undefined
|
|
385
|
+
// qualifier?: string[] | undefined
|
|
386
|
+
|
|
387
|
+
/**
|
|
388
|
+
* Parameter list for function or method members.
|
|
389
|
+
*
|
|
390
|
+
* @remarks
|
|
391
|
+
* Contains detailed parameter information for function-like members,
|
|
392
|
+
* including parameter names, types, descriptions, and default values.
|
|
393
|
+
* This comprehensive parameter data enables complete function signature
|
|
394
|
+
* documentation and API reference generation.
|
|
395
|
+
*/
|
|
396
|
+
params?: ParamDataModel[] | undefined
|
|
397
|
+
|
|
398
|
+
/**
|
|
399
|
+
* Enumeration values for enum members.
|
|
400
|
+
*
|
|
401
|
+
* @remarks
|
|
402
|
+
* Contains the list of enumeration constants when the member is an enum
|
|
403
|
+
* type. Each enumeration value includes its name, numeric value, and
|
|
404
|
+
* associated documentation, providing complete enum documentation
|
|
405
|
+
* for API references.
|
|
406
|
+
*/
|
|
407
|
+
enumvalues?: EnumValueDataModel[] | undefined
|
|
408
|
+
|
|
409
|
+
/**
|
|
410
|
+
* The C++20 requires clause constraining the member.
|
|
411
|
+
*
|
|
412
|
+
* @remarks
|
|
413
|
+
* Contains the requires clause expression that constrains the member
|
|
414
|
+
* when it is a template function or method. The linked text may include
|
|
415
|
+
* cross-references to concept definitions used within the constraint
|
|
416
|
+
* expression.
|
|
417
|
+
*/
|
|
418
|
+
requiresClause?: RequiresClauseDataModel | undefined
|
|
419
|
+
|
|
420
|
+
/**
|
|
421
|
+
* Initializer expression for the member.
|
|
422
|
+
*
|
|
423
|
+
* @remarks
|
|
424
|
+
* Contains the initialization expression or default value assigned to
|
|
425
|
+
* the member in its declaration. This linked text may include
|
|
426
|
+
* cross-references to other documented entities and provides insight
|
|
427
|
+
* into the member's default behaviour or initial state.
|
|
428
|
+
*/
|
|
429
|
+
initializer?: InitializerDataModel | undefined
|
|
430
|
+
// exceptions?: LinkedTextType | undefined
|
|
431
|
+
|
|
432
|
+
/**
|
|
433
|
+
* Brief description of the member.
|
|
434
|
+
*
|
|
435
|
+
* @remarks
|
|
436
|
+
* Contains a concise summary description of the member extracted from
|
|
437
|
+
* documentation comments. This brief description is typically used in
|
|
438
|
+
* member listings and summary views to provide quick understanding
|
|
439
|
+
* of the member's purpose.
|
|
440
|
+
*/
|
|
441
|
+
briefDescription?: BriefDescriptionDataModel | undefined
|
|
442
|
+
|
|
443
|
+
/**
|
|
444
|
+
* Detailed description of the member.
|
|
445
|
+
*
|
|
446
|
+
* @remarks
|
|
447
|
+
* Contains comprehensive documentation for the member including detailed
|
|
448
|
+
* explanations, usage examples, parameter descriptions, and return value
|
|
449
|
+
* information. This forms the primary documentation content for the
|
|
450
|
+
* member in generated API documentation.
|
|
451
|
+
*/
|
|
452
|
+
detailedDescription?: DetailedDescriptionDataModel | undefined
|
|
453
|
+
|
|
454
|
+
/**
|
|
455
|
+
* In-body description of the member.
|
|
456
|
+
*
|
|
457
|
+
* @remarks
|
|
458
|
+
* Contains documentation that appears within the member's implementation
|
|
459
|
+
* body, typically used for additional implementation notes or internal
|
|
460
|
+
* documentation that supplements the main member description.
|
|
461
|
+
*/
|
|
462
|
+
inbodyDescription?: InbodyDescriptionDataModel | undefined
|
|
463
|
+
|
|
464
|
+
/**
|
|
465
|
+
* References made by this member to other entities.
|
|
466
|
+
*
|
|
467
|
+
* @remarks
|
|
468
|
+
* Contains a list of references to other documented entities that this
|
|
469
|
+
* member uses or calls. This information enables dependency analysis
|
|
470
|
+
* and cross-reference navigation in the generated documentation.
|
|
471
|
+
*/
|
|
472
|
+
references?: ReferenceDataModel[] | undefined
|
|
473
|
+
|
|
474
|
+
/**
|
|
475
|
+
* References to this member from other entities.
|
|
476
|
+
*
|
|
477
|
+
* @remarks
|
|
478
|
+
* Contains a list of other documented entities that reference or use
|
|
479
|
+
* this member. This reverse reference information helps understand
|
|
480
|
+
* the member's usage throughout the codebase and enables comprehensive
|
|
481
|
+
* cross-reference navigation.
|
|
482
|
+
*/
|
|
483
|
+
referencedBy?: ReferencedByDataModel[] | undefined
|
|
484
|
+
|
|
485
|
+
// Optional attributes.
|
|
486
|
+
|
|
487
|
+
/**
|
|
488
|
+
* Indicates whether the member has external linkage.
|
|
489
|
+
*
|
|
490
|
+
* @remarks
|
|
491
|
+
* Boolean flag indicating that the member is declared with external
|
|
492
|
+
* linkage, typically using the 'extern' keyword in C/C++. This affects
|
|
493
|
+
* the member's visibility and linkage across translation units.
|
|
494
|
+
*/
|
|
495
|
+
extern?: boolean | undefined
|
|
496
|
+
|
|
497
|
+
/**
|
|
498
|
+
* Indicates whether the member has strong typing.
|
|
499
|
+
*
|
|
500
|
+
* @remarks
|
|
501
|
+
* Boolean flag indicating strong type enforcement for the member,
|
|
502
|
+
* typically used in languages or contexts where type strength can
|
|
503
|
+
* be explicitly specified to prevent implicit conversions.
|
|
504
|
+
*/
|
|
505
|
+
strong?: boolean | undefined
|
|
506
|
+
|
|
507
|
+
/**
|
|
508
|
+
* Indicates whether the member is declared as const.
|
|
509
|
+
*
|
|
510
|
+
* @remarks
|
|
511
|
+
* Boolean flag indicating that the member is declared with the const
|
|
512
|
+
* qualifier, making it immutable after initialization. This affects
|
|
513
|
+
* the member's usage patterns and compiler optimizations.
|
|
514
|
+
*/
|
|
515
|
+
constt?: boolean | undefined
|
|
516
|
+
|
|
517
|
+
/**
|
|
518
|
+
* Indicates whether the member is declared as explicit.
|
|
519
|
+
*
|
|
520
|
+
* @remarks
|
|
521
|
+
* Boolean flag indicating that constructors or conversion operators
|
|
522
|
+
* are marked as explicit, preventing implicit conversions. This is
|
|
523
|
+
* particularly important for type safety in C++ class design.
|
|
524
|
+
*/
|
|
525
|
+
explicit?: boolean | undefined
|
|
526
|
+
|
|
527
|
+
/**
|
|
528
|
+
* Indicates whether the member is declared as inline.
|
|
529
|
+
*
|
|
530
|
+
* @remarks
|
|
531
|
+
* Boolean flag indicating that the member is defined inline, suggesting
|
|
532
|
+
* to the compiler that calls should be expanded in place rather than
|
|
533
|
+
* using function call mechanisms. This affects performance and linking.
|
|
534
|
+
*/
|
|
535
|
+
inline?: boolean | undefined
|
|
536
|
+
|
|
537
|
+
/**
|
|
538
|
+
* Indicates the reference qualifier for the member.
|
|
539
|
+
*
|
|
540
|
+
* @remarks
|
|
541
|
+
* Boolean flag related to C++11 reference qualifiers (&, &&) that
|
|
542
|
+
* specify whether member functions can be called on lvalue or rvalue
|
|
543
|
+
* objects. This affects method overload resolution and move semantics.
|
|
544
|
+
*/
|
|
545
|
+
refqual?: boolean | undefined
|
|
546
|
+
|
|
547
|
+
/**
|
|
548
|
+
* Virtual specification for the member.
|
|
549
|
+
*
|
|
550
|
+
* @remarks
|
|
551
|
+
* String indicating the virtual nature of the member using DoxVirtualKind
|
|
552
|
+
* values ('non-virtual', 'virtual', 'pure-virtual'). This determines
|
|
553
|
+
* the member's behaviour in inheritance hierarchies and polymorphism.
|
|
554
|
+
*/
|
|
555
|
+
virt?: string | undefined
|
|
556
|
+
|
|
557
|
+
/**
|
|
558
|
+
* Indicates whether the member is declared as volatile.
|
|
559
|
+
*
|
|
560
|
+
* @remarks
|
|
561
|
+
* Boolean flag indicating that the member is declared with the volatile
|
|
562
|
+
* qualifier, preventing compiler optimizations that assume the value
|
|
563
|
+
* doesn't change unexpectedly. This is important for hardware registers
|
|
564
|
+
* and multi-threaded contexts.
|
|
565
|
+
*/
|
|
566
|
+
volatile?: boolean | undefined
|
|
567
|
+
|
|
568
|
+
/**
|
|
569
|
+
* Indicates whether the member is declared as mutable.
|
|
570
|
+
*
|
|
571
|
+
* @remarks
|
|
572
|
+
* Boolean flag indicating that the member can be modified even in const
|
|
573
|
+
* objects. This is typically used for caching, lazy evaluation, or
|
|
574
|
+
* other implementation details that don't affect the logical state.
|
|
575
|
+
*/
|
|
576
|
+
mutable?: boolean | undefined
|
|
577
|
+
|
|
578
|
+
/**
|
|
579
|
+
* Indicates whether the member is declared as noexcept.
|
|
580
|
+
*
|
|
581
|
+
* @remarks
|
|
582
|
+
* Boolean flag indicating that the member promises not to throw
|
|
583
|
+
* exceptions. This C++11 feature enables compiler optimizations and
|
|
584
|
+
* affects exception safety guarantees in the API design.
|
|
585
|
+
*/
|
|
586
|
+
noexcept?: boolean | undefined
|
|
587
|
+
|
|
588
|
+
/**
|
|
589
|
+
* Indicates whether the member has a noexcept expression.
|
|
590
|
+
*
|
|
591
|
+
* @remarks
|
|
592
|
+
* Boolean flag indicating that the member's noexcept specification
|
|
593
|
+
* includes a conditional expression that determines exception safety
|
|
594
|
+
* at compile time based on template parameters or other conditions.
|
|
595
|
+
*/
|
|
596
|
+
noexceptexpression?: boolean | undefined
|
|
597
|
+
|
|
598
|
+
/**
|
|
599
|
+
* Indicates whether the member is declared as nodiscard.
|
|
600
|
+
*
|
|
601
|
+
* @remarks
|
|
602
|
+
* Boolean flag indicating that the member's return value should not
|
|
603
|
+
* be ignored by callers. This C++17 attribute helps prevent common
|
|
604
|
+
* programming errors where important return values are discarded.
|
|
605
|
+
*/
|
|
606
|
+
nodiscard?: boolean | undefined
|
|
607
|
+
|
|
608
|
+
/**
|
|
609
|
+
* Indicates whether the member is declared as constexpr.
|
|
610
|
+
*
|
|
611
|
+
* @remarks
|
|
612
|
+
* Boolean flag indicating that the member can be evaluated at compile
|
|
613
|
+
* time when given constant expressions as arguments. This C++11 feature
|
|
614
|
+
* enables compile-time computation and optimization.
|
|
615
|
+
*/
|
|
616
|
+
constexpr?: boolean | undefined
|
|
617
|
+
|
|
618
|
+
/**
|
|
619
|
+
* Indicates whether the member is declared as consteval.
|
|
620
|
+
*
|
|
621
|
+
* @remarks
|
|
622
|
+
* Boolean flag indicating that the member must be evaluated at compile
|
|
623
|
+
* time. This C++20 feature is stronger than constexpr, requiring
|
|
624
|
+
* immediate evaluation during compilation.
|
|
625
|
+
*/
|
|
626
|
+
consteval?: boolean | undefined
|
|
627
|
+
|
|
628
|
+
/**
|
|
629
|
+
* Indicates whether the member is declared as constinit.
|
|
630
|
+
*
|
|
631
|
+
* @remarks
|
|
632
|
+
* Boolean flag indicating that the member must be initialized with
|
|
633
|
+
* a constant expression during static initialization. This C++20
|
|
634
|
+
* feature helps prevent initialization order issues.
|
|
635
|
+
*/
|
|
636
|
+
constinit?: boolean | undefined
|
|
637
|
+
|
|
638
|
+
/**
|
|
639
|
+
* Indicates whether the member is declared as final.
|
|
640
|
+
*
|
|
641
|
+
* @remarks
|
|
642
|
+
* Boolean flag indicating that virtual members cannot be overridden
|
|
643
|
+
* in derived classes. This provides explicit control over inheritance
|
|
644
|
+
* hierarchies and enables compiler optimizations.
|
|
645
|
+
*/
|
|
646
|
+
final?: boolean | undefined
|
|
647
|
+
// TODO: add more...
|
|
648
|
+
|
|
649
|
+
/**
|
|
650
|
+
* Constructs a new member definition data model from XML element data.
|
|
651
|
+
*
|
|
652
|
+
* @param xml - The XML parser instance for processing element data
|
|
653
|
+
* @param element - The XML element containing member definition information
|
|
654
|
+
* @param elementName - The name of the XML element being processed
|
|
655
|
+
*
|
|
656
|
+
* @remarks
|
|
657
|
+
* Processes the comprehensive XML element representing member definition
|
|
658
|
+
* information and extracts all available metadata including location data,
|
|
659
|
+
* type information, parameters, descriptions, and language-specific
|
|
660
|
+
* attributes. The constructor handles the complex memberdefType schema
|
|
661
|
+
* with its extensive set of optional elements and attributes.
|
|
662
|
+
*
|
|
663
|
+
* The implementation validates mandatory elements (name, location, kind,
|
|
664
|
+
* id, protection) whilst gracefully handling optional elements and
|
|
665
|
+
* attributes. It processes various member types including functions,
|
|
666
|
+
* variables, typedefs, enums, and specialised constructs from multiple
|
|
667
|
+
* programming languages and frameworks.
|
|
668
|
+
*
|
|
669
|
+
* @public
|
|
670
|
+
*/
|
|
671
|
+
constructor(xml: DoxygenXmlParser, element: object, elementName: string) {
|
|
672
|
+
super(elementName)
|
|
673
|
+
|
|
674
|
+
// console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
|
|
675
|
+
|
|
676
|
+
// ------------------------------------------------------------------------
|
|
677
|
+
// Process elements.
|
|
678
|
+
|
|
679
|
+
const innerElements = xml.getInnerElements(element, elementName)
|
|
680
|
+
assert(innerElements.length > 0)
|
|
681
|
+
|
|
682
|
+
for (const innerElement of innerElements) {
|
|
683
|
+
if (xml.hasInnerText(innerElement)) {
|
|
684
|
+
// Ignore texts.
|
|
685
|
+
} else if (xml.isInnerElementText(innerElement, 'name')) {
|
|
686
|
+
this.name = xml.getInnerElementText(innerElement, 'name')
|
|
687
|
+
} else if (xml.hasInnerElement(innerElement, 'location')) {
|
|
688
|
+
this.location = new LocationDataModel(xml, innerElement)
|
|
689
|
+
} else if (xml.hasInnerElement(innerElement, 'templateparamlist')) {
|
|
690
|
+
this.templateparamlist = new TemplateParamListDataModel(
|
|
691
|
+
xml,
|
|
692
|
+
innerElement
|
|
693
|
+
)
|
|
694
|
+
} else if (xml.hasInnerElement(innerElement, 'type')) {
|
|
695
|
+
this.type = new TypeDataModel(xml, innerElement)
|
|
696
|
+
} else if (xml.isInnerElementText(innerElement, 'definition')) {
|
|
697
|
+
this.definition = xml.getInnerElementText(innerElement, 'definition')
|
|
698
|
+
} else if (xml.isInnerElementText(innerElement, 'argsstring')) {
|
|
699
|
+
this.argsstring = xml.getInnerElementText(innerElement, 'argsstring')
|
|
700
|
+
} else if (xml.isInnerElementText(innerElement, 'bitfield')) {
|
|
701
|
+
this.bitfield = xml.getInnerElementText(innerElement, 'bitfield')
|
|
702
|
+
} else if (xml.isInnerElementText(innerElement, 'qualifiedname')) {
|
|
703
|
+
this.qualifiedName = xml.getInnerElementText(
|
|
704
|
+
innerElement,
|
|
705
|
+
'qualifiedname'
|
|
706
|
+
)
|
|
707
|
+
} else if (xml.hasInnerElement(innerElement, 'reimplements')) {
|
|
708
|
+
this.reimplements ??= []
|
|
709
|
+
this.reimplements.push(new ReimplementDataModel(xml, innerElement))
|
|
710
|
+
} else if (xml.hasInnerElement(innerElement, 'reimplementedby')) {
|
|
711
|
+
this.reimplementedBys ??= []
|
|
712
|
+
this.reimplementedBys.push(
|
|
713
|
+
new ReimplementedByDataModel(xml, innerElement)
|
|
714
|
+
)
|
|
715
|
+
} else if (xml.hasInnerElement(innerElement, 'param')) {
|
|
716
|
+
this.params ??= []
|
|
717
|
+
this.params.push(new ParamDataModel(xml, innerElement))
|
|
718
|
+
} else if (xml.hasInnerElement(innerElement, 'enumvalue')) {
|
|
719
|
+
this.enumvalues ??= []
|
|
720
|
+
this.enumvalues.push(new EnumValueDataModel(xml, innerElement))
|
|
721
|
+
} else if (xml.hasInnerElement(innerElement, 'requiresclause')) {
|
|
722
|
+
this.requiresClause = new RequiresClauseDataModel(xml, innerElement)
|
|
723
|
+
} else if (xml.hasInnerElement(innerElement, 'initializer')) {
|
|
724
|
+
this.initializer = new InitializerDataModel(xml, innerElement)
|
|
725
|
+
} else if (xml.hasInnerElement(innerElement, 'briefdescription')) {
|
|
726
|
+
this.briefDescription = new BriefDescriptionDataModel(xml, innerElement)
|
|
727
|
+
} else if (xml.hasInnerElement(innerElement, 'detaileddescription')) {
|
|
728
|
+
this.detailedDescription = new DetailedDescriptionDataModel(
|
|
729
|
+
xml,
|
|
730
|
+
innerElement
|
|
731
|
+
)
|
|
732
|
+
} else if (xml.hasInnerElement(innerElement, 'inbodydescription')) {
|
|
733
|
+
this.inbodyDescription = new InbodyDescriptionDataModel(
|
|
734
|
+
xml,
|
|
735
|
+
innerElement
|
|
736
|
+
)
|
|
737
|
+
} else if (xml.hasInnerElement(innerElement, 'references')) {
|
|
738
|
+
this.references ??= []
|
|
739
|
+
this.references.push(new ReferenceDataModel(xml, innerElement))
|
|
740
|
+
} else if (xml.hasInnerElement(innerElement, 'referencedby')) {
|
|
741
|
+
this.referencedBy ??= []
|
|
742
|
+
this.referencedBy.push(new ReferencedByDataModel(xml, innerElement))
|
|
743
|
+
} else {
|
|
744
|
+
console.error(util.inspect(innerElement))
|
|
745
|
+
console.error(
|
|
746
|
+
`${elementName} element:`,
|
|
747
|
+
Object.keys(innerElement),
|
|
748
|
+
'not implemented yet in',
|
|
749
|
+
this.constructor.name
|
|
750
|
+
)
|
|
751
|
+
}
|
|
752
|
+
}
|
|
753
|
+
|
|
754
|
+
// WARNING it may be empty.
|
|
755
|
+
// assert(this.name.length > 0)
|
|
756
|
+
assert(this.location !== undefined)
|
|
757
|
+
|
|
758
|
+
// ------------------------------------------------------------------------
|
|
759
|
+
// Process attributes.
|
|
760
|
+
|
|
761
|
+
assert(xml.hasAttributes(element))
|
|
762
|
+
|
|
763
|
+
const attributesNames = xml.getAttributesNames(element)
|
|
764
|
+
// console.log(attributesNames)
|
|
765
|
+
for (const attributeName of attributesNames) {
|
|
766
|
+
// console.log(attributeName)
|
|
767
|
+
if (attributeName === '@_kind') {
|
|
768
|
+
this.kind = xml.getAttributeStringValue(element, '@_kind')
|
|
769
|
+
} else if (attributeName === '@_id') {
|
|
770
|
+
this.id = xml.getAttributeStringValue(element, '@_id')
|
|
771
|
+
} else if (attributeName === '@_prot') {
|
|
772
|
+
this.prot = xml.getAttributeStringValue(element, '@_prot')
|
|
773
|
+
} else if (attributeName === '@_static') {
|
|
774
|
+
this.staticc = xml.getAttributeBooleanValue(element, '@_static')
|
|
775
|
+
} else if (attributeName === '@_extern') {
|
|
776
|
+
this.extern = xml.getAttributeBooleanValue(element, '@_extern')
|
|
777
|
+
} else if (attributeName === '@_strong') {
|
|
778
|
+
this.strong = xml.getAttributeBooleanValue(element, '@_strong')
|
|
779
|
+
} else if (attributeName === '@_const') {
|
|
780
|
+
this.constt = xml.getAttributeBooleanValue(element, '@_const')
|
|
781
|
+
} else if (attributeName === '@_explicit') {
|
|
782
|
+
this.explicit = xml.getAttributeBooleanValue(element, '@_explicit')
|
|
783
|
+
} else if (attributeName === '@_inline') {
|
|
784
|
+
this.inline = xml.getAttributeBooleanValue(element, '@_inline')
|
|
785
|
+
} else if (attributeName === '@_refqual') {
|
|
786
|
+
this.refqual = xml.getAttributeBooleanValue(element, '@_refqual')
|
|
787
|
+
} else if (attributeName === '@_virt') {
|
|
788
|
+
this.virt = xml.getAttributeStringValue(element, '@_virt')
|
|
789
|
+
} else if (attributeName === '@_volatile') {
|
|
790
|
+
this.volatile = xml.getAttributeBooleanValue(element, '@_volatile')
|
|
791
|
+
} else if (attributeName === '@_mutable') {
|
|
792
|
+
this.mutable = xml.getAttributeBooleanValue(element, '@_mutable')
|
|
793
|
+
} else if (attributeName === '@_noexcept') {
|
|
794
|
+
this.noexcept = xml.getAttributeBooleanValue(element, '@_noexcept')
|
|
795
|
+
} else if (attributeName === '@_noexceptexpression') {
|
|
796
|
+
this.noexceptexpression = xml.getAttributeBooleanValue(
|
|
797
|
+
element,
|
|
798
|
+
'@_noexceptexpression'
|
|
799
|
+
)
|
|
800
|
+
} else if (attributeName === '@_nodiscard') {
|
|
801
|
+
this.nodiscard = xml.getAttributeBooleanValue(element, '@_nodiscard')
|
|
802
|
+
} else if (attributeName === '@_constexpr') {
|
|
803
|
+
this.constexpr = xml.getAttributeBooleanValue(element, '@_constexpr')
|
|
804
|
+
} else if (attributeName === '@_consteval') {
|
|
805
|
+
this.consteval = xml.getAttributeBooleanValue(element, '@_consteval')
|
|
806
|
+
} else if (attributeName === '@_constinit') {
|
|
807
|
+
this.constinit = xml.getAttributeBooleanValue(element, '@_constinit')
|
|
808
|
+
} else if (attributeName === '@_final') {
|
|
809
|
+
this.final = xml.getAttributeBooleanValue(element, '@_final')
|
|
810
|
+
} else {
|
|
811
|
+
console.error(util.inspect(element, { compact: false, depth: 999 }))
|
|
812
|
+
console.error(
|
|
813
|
+
`${elementName} attribute:`,
|
|
814
|
+
attributeName,
|
|
815
|
+
'not implemented yet in',
|
|
816
|
+
this.constructor.name
|
|
817
|
+
)
|
|
818
|
+
}
|
|
819
|
+
}
|
|
820
|
+
|
|
821
|
+
assert(this.kind)
|
|
822
|
+
assert(this.id)
|
|
823
|
+
assert(this.prot)
|
|
824
|
+
|
|
825
|
+
// ------------------------------------------------------------------------
|
|
826
|
+
|
|
827
|
+
// console.log(util.inspect(this, { compact: false, depth: 999 }))
|
|
828
|
+
}
|
|
829
|
+
}
|
|
830
|
+
|
|
831
|
+
// ----------------------------------------------------------------------------
|
|
832
|
+
|
|
833
|
+
// <xsd:element name="memberdef" type="memberdefType" minOccurs="0" maxOccurs="unbounded" />
|
|
834
|
+
|
|
835
|
+
/**
|
|
836
|
+
* Concrete implementation for memberdef elements within compound documentation.
|
|
837
|
+
*
|
|
838
|
+
* @remarks
|
|
839
|
+
* Provides specific handling for memberdef XML elements that contain
|
|
840
|
+
* comprehensive member definition information within classes, structures,
|
|
841
|
+
* namespaces, and other compound types. This implementation extends the
|
|
842
|
+
* abstract base class functionality to process the complete range of
|
|
843
|
+
* member definitions including functions, variables, typedefs, enums,
|
|
844
|
+
* and specialised language constructs.
|
|
845
|
+
*
|
|
846
|
+
* The class ensures proper instantiation of member definition data models
|
|
847
|
+
* whilst maintaining all the detailed metadata required for accurate
|
|
848
|
+
* documentation generation including cross-references, location information,
|
|
849
|
+
* and language-specific attributes.
|
|
850
|
+
*
|
|
851
|
+
* @public
|
|
852
|
+
*/
|
|
853
|
+
export class MemberDefDataModel extends AbstractMemberDefType {
|
|
854
|
+
/**
|
|
855
|
+
* Constructs a new memberdef data model instance.
|
|
856
|
+
*
|
|
857
|
+
* @param xml - The XML parser instance for processing elements
|
|
858
|
+
* @param element - The source XML element containing memberdef data
|
|
859
|
+
*
|
|
860
|
+
* @remarks
|
|
861
|
+
* Initialises the data model with the specific element name 'memberdef'
|
|
862
|
+
* and delegates processing to the abstract base class implementation.
|
|
863
|
+
* This ensures consistent handling of member definition information
|
|
864
|
+
* whilst maintaining proper element identification.
|
|
865
|
+
*
|
|
866
|
+
* @public
|
|
867
|
+
*/
|
|
868
|
+
constructor(xml: DoxygenXmlParser, element: object) {
|
|
869
|
+
// console.log(elementName, util.inspect(element, { compact: false, depth: 999 }))
|
|
870
|
+
super(xml, element, 'memberdef')
|
|
871
|
+
}
|
|
872
|
+
}
|
|
873
|
+
|
|
874
|
+
// ----------------------------------------------------------------------------
|