diff options
| author | _ov4 <ov4@ov4.org> | 2026-10-22 15:02:29 +0000 |
|---|---|---|
| committer | _ov4 <ov4@ov4.org> | 2026-10-22 15:21:11 +0000 |
| commit | 353c38e23108856daa2c5d0e86443ac5136dcaa7 (patch) | |
| tree | bd899dd541543d6fa875d534a7d571b2baa087b0 /include | |
| parent | 9ef1cc2424e5afa21d3980b56046f5fb71bff89f (diff) | |
fix(codegen): skip IR verification after reported errors
Verify the module only when no error was reported, and let defineRecord
skip bad fields and still set the record body, marking it Invalid so
later missing-field lookups stay silent.
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Diffstat (limited to 'include')
| -rw-r--r-- | include/cps/TypeSystem.h | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/include/cps/TypeSystem.h b/include/cps/TypeSystem.h index f8427f3..0c7c888 100644 --- a/include/cps/TypeSystem.h +++ b/include/cps/TypeSystem.h @@ -45,6 +45,7 @@ struct RecordFieldInfo { struct RecordPayload { std::vector<std::pair<std::string, RecordFieldInfo>> Fields; // declaration order + bool Invalid = false; // a field was rejected and skipped const RecordFieldInfo *findField(const std::string &Name) const; }; |
