Closed JakeHillion closed 7 months ago
Attention: 5 lines
in your changes are missing coverage. Please review.
Comparison is base (
4c047b5
) 62.44% compared to head (03c81cb
) 62.52%.
Files | Patch % | Lines |
---|---|---|
oi/CodeGen.cpp | 66.66% | 0 Missing and 3 partials :warning: |
oi/type_graph/TopoSorter.cpp | 75.00% | 1 Missing and 1 partial :warning: |
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
tbv2: fix pointer codegen
A previous change enabled running OIL tests with specific features enabled. This highlighted that pointer code generation under TreeBuilder-v2 was very broken. This change updates pointer code generation to work and enables the skipped tests. All enabled tests need
expected_json_v2
added to them due to formatting differences.Reformatted and rewrote the basic type handler that handles primitives and pointers. Removed the reliance on
features
to decide whether to generate for TreeBuilder-v2 as the intermediate features have been removed. Pointers are treated as containers with a capacity of 1 and a length of 0 if null/a cycle and 1 if followed. This holds for void pointers where, although they aren't followed, the length is still set.There were a couple of other changes needed to enable these tests on TBv2 that aren't worth their own issues and PRs, I sneaked them in here.
Extra changes:
Pointer
andReference
to TopoSorter so they generateNameProvider
instances. It might be worth visiting the graph differently forNameProvider
as it requires so many instances that others generators do not. Will consider that in the future.Closes #458.
Test plan: