cl: redeclarable struct/class; type: reference type (T&); emitClass = newType + initClassType; nextAnonName (merge enum/struct/class/union) - #869
Conversation
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #869 +/- ##
==========================================
- Coverage 85.80% 85.48% -0.33%
==========================================
Files 22 22
Lines 1691 1715 +24
==========================================
+ Hits 1451 1466 +15
- Misses 240 249 +9
Flags with carried forward coverage won't be shown. Click here to find out more. ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
There was a problem hiding this comment.
Review: template/forward-declaration handling
Overall this is a focused, well-structured change. Skipping templated classes, deferring declaration-only classes via uninited, adding LValueReference -> pointer, and propagating featIgnored in loadTypedef all look correct for the common path, and the added comments on the existing noop/TODO branches are accurate.
The main thing worth a closer look before merge is the uninited map lifecycle (see inline): it is keyed by Go type name and emitClass is not guarded against being invoked more than once for the same name within a translation unit, so repeated forward declarations could leave a stale entry uninitialized or re-register an already-defined type. The remaining notes are minor documentation/maintainability items.
No description provided.