Fix: Use correct methods when writing toposorted structs #1320
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
If there are other structs in
toposorted_structs
beforestrct
, they were written with the methods ofstrct
instead of their own. This commit fixes that.This commit also fixes the check against
out.types.cxx
that should prevent duplicate definitions. I didn't encounter any such issues, but I still think that it makes sense to fix it.Both issues were introduced in commit 5439fa1.
Example
I encountered this issue with the following bridge module:
The code generated by
cxx
was:Note how both the
NavSatStatus
andNavSatFix
structs are assigned theNavSatFix
methods. This bug leads to a compile error in the generated.cc
file:After applying this PR, the generated code is correct: