-
-
Notifications
You must be signed in to change notification settings - Fork 10
Open
Labels
Area-TranslationIssues concerning the translation from libclang into BiohazrdIssues concerning the translation from libclang into BiohazrdBlocks-ImPlotConcept-ApiClarityIssues for improving the clarity of the Biohazrd APIIssues for improving the clarity of the Biohazrd APIConcept-TemplateSupportIssues concerning how Biohazrd handles C++ templatesIssues concerning how Biohazrd handles C++ templates
Description
Right now reading template-related information is difficult to do since you end up having to deal with low-level Clang details. We should expose template-related concepts in a way that makes it possible for specialized generators to inspect them.
-
TranslatedTemplateSpecializationshould expose the parameters used for the template. -
TemplateSpecializationTypeshould be reduced to a type which allows you to inspect the template paramers- Need to decide if this should only happen when template support is disabled or if we want a specialization of
TranslatedTypeReferencefor templates. - We could also have a special type which has a
TranslatedTypeReferenceand the parameter-related metadata, but that makes walking the type tree more difficult for consumers because they have to handle this edge case.
- Need to decide if this should only happen when template support is disabled or if we want a specialization of
- Add an abstract
TranslatedTemplatedeclaration type which exposes the concept of an uninitialized template.- For now these would just be for inspection purposes. In the future we might expose the ability to explicitly specialize the template.
- Decide if types inheriting from this type should cause diagnostics. (On one hand it'd help discover why templates without any instantiations are not in the output, on the other hand it's noise in projects where it doesn't matter.)
- Add a
TranslatedRecordTemplateinheriting fromTranslatedTemplateto represent record templates.-
TranslatedTemplateSpecializationshould be updated to reference the template
-
- Add a
TranslatedFunctionTemplateinheriting fromTranslatedTemplateto represent function templates.
- Add
TranslatedFunctionTemplateSpecializationinheriting fromTranslatedFunctionwhich similar toTranslatedTemplateSpecializationrepresents a specific function specialization.- Consider renaming
TranslatedTemplateSpecializationtoTranslatedRecordTemplateSpecialization.
- Consider renaming
Metadata
Metadata
Assignees
Labels
Area-TranslationIssues concerning the translation from libclang into BiohazrdIssues concerning the translation from libclang into BiohazrdBlocks-ImPlotConcept-ApiClarityIssues for improving the clarity of the Biohazrd APIIssues for improving the clarity of the Biohazrd APIConcept-TemplateSupportIssues concerning how Biohazrd handles C++ templatesIssues concerning how Biohazrd handles C++ templates