Adds support for macro-aware transcoding from text. #1010
Merged
+322
−146
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.
Description of changes:
Builds on #1000 and #1005.
Supports macro-aware transcoding from text, preserving symbol tables, encoding directives, and e-expression invocations. This will be useful for:
This change required moving a few symbol table-related methods from the user reader to the system reader, as we had to do in binary. That's because Ion 1.1 e-expressions need to be interpreted at the system level (because they may expand to system values), and may therefore affect the encoding context (including the symbol table).
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.