Skip to content

Change doxygen template decoding to use a dictionary#56087

Open
j-piasecki wants to merge 16 commits intofacebook:mainfrom
j-piasecki:export-D96455803
Open

Change doxygen template decoding to use a dictionary#56087
j-piasecki wants to merge 16 commits intofacebook:mainfrom
j-piasecki:export-D96455803

Conversation

@j-piasecki
Copy link
Contributor

Summary:
Changelog: [Internal]

Replaces the chain of replace calls with a dict containing relevant mappings.

Differential Revision: D96455803

Jakub Piasecki and others added 16 commits March 13, 2026 00:07
Summary:
Changelog: [Internal]

Adds support for templates in variable declaration to the c++ API snapshot generator

Differential Revision: D96279463
Summary:
Changelog: [Internal]

Fixes handling of member function pointers in the C++ Api snapshot.

Differential Revision: D96279461
Summary:
Changelog: [Internal]

Fixes qualification of unscoped enum values used as template specialization arguments.

Differential Revision: D96279462
Summary:
Changelog: [Internal]

Adds `--view` argument to the snapshot generator, which allows to generate a single snapshot view instead of all of them.

Differential Revision: D96280524
Summary:
Changelog: [Internal]

Splits `member.py` into multiple smaller files, each containing single member definition.

Differential Revision: D96282653
Summary:
Changelog: [Internal]

Splits `scope.py` into multiple smaller files, each containing a separate defitnition.

Differential Revision: D96284004
Summary:
Changelog: [Internal]

Extracts the duplicated handling of inheritance and base classes to a separate, reusable class.

Differential Revision: D96287394
Summary:
Changelog: [Internal]

Updates the parser to extract the template specializations from name string in order to avoid repeated operations on the name string.

Differential Revision: D96303732
Summary:
Changelog: [Internal]

Updates the C++ API snapshot generator to extract specializations from name when a member is created, instead of relying on the one stored in the name string.

It also makes out-of-class definitions of members to be skipped in the snapshot as those were essentially duplicated between their declaration inside the class, and the initialization outside of it.

Differential Revision: D96303740
Summary:
Changelog: [Internal]

Removes direct calls to `rm` in the snapshot generator

Differential Revision: D96455685
Summary:
Changelog: [Internal]

Refactors the `__main__.py` file of the snapshot generator:
- moves doxygen related logic to a separate file
- unifies snapshot generation branches
- reduces duplication

Differential Revision: D96455701
Summary:
Changelog: [Internal]

Replaces a wall of if-else statements with a map (compound_type -> parser method).

Differential Revision: D96455723
Summary:
Changelog: [Internal]

Moves the logic responsible for generating a string view of the scope's body to the base class to reduce duplication.

Similarly, moves the logic responsible for qualifying template arguments to the `Extensible` class.

Differential Revision: D96455746
Summary:
Changelog: [Internal]

Adds `ParsedSectionKind` which encapsulates logic related to parsing the section kind string.

Differential Revision: D96455765
Summary:
Changelog: [Internal]

Deduplicates specialization_args, qualified names and function pointer check in the member classes.

Differential Revision: D96455789
Summary:
Changelog: [Internal]

Replaces the chain of `replace` calls with a dict containing relevant mappings.

Differential Revision: D96455803
@meta-cla meta-cla bot added the CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. label Mar 13, 2026
@facebook-github-tools facebook-github-tools bot added p: Software Mansion Partner: Software Mansion Partner p: Facebook Partner: Facebook labels Mar 13, 2026
@meta-codesync
Copy link

meta-codesync bot commented Mar 13, 2026

@j-piasecki has exported this pull request. If you are a Meta employee, you can view the originating Diff in D96455803.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

CLA Signed This label is managed by the Facebook bot. Authors need to sign the CLA before a PR can be reviewed. fb-exported meta-exported p: Facebook Partner: Facebook p: Software Mansion Partner: Software Mansion Partner

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant