schemagen: support objects with more than 32 properties
Replace the 32-bit `uint32_t seen` bitmask with a `std::vector<uint64_t>` bitset sized to the actual field count. `requiredMask` is now a vector of the same word count, and required-field checks use per-word masking so that optional fields do not cause false rejections. Adds big.schema.json + test_big.cpp regression tests covering the issue reproducer (40 required properties, missing/duplicate at index 32), plus run_tests.sh to exercise both test_gen.cpp and test_big.cpp. Fixes #3
This commit is contained in:
@@ -1,2 +1,6 @@
|
||||
build
|
||||
.cache
|
||||
contrib/schemagen/gen.h
|
||||
contrib/schemagen/big.h
|
||||
contrib/schemagen/test_gen
|
||||
contrib/schemagen/test_big
|
||||
|
||||
Reference in New Issue
Block a user