Fix handling of complex nested definitions #51
Merged
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.
This PR aims to resolve the issues raised in #50.
Verify use of
store
annotationMust only be present on a root object. Code generator raises an exception if, for example, this annotation is found on an array.
Fix type information namespace
This is incorrectly generated for nested object definitions.
Nested objects missing default constructors
Required for exception conditions, such as accessing an invalid object type on a Union.
Code generator confuses
is_store
andis_root
is_root
andis_store
both return True for children of database.This messes up global definitions.
Use a member variable for
is_store
and fixis_root
implementation.Complex nested objects require
(object, prop, offset)
constructorThis is required so a Union can return the embedded object type.