Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Runtime free deserializers #272

Merged
merged 12 commits into from
May 16, 2018

Conversation

dahlia
Copy link
Member

@dahlia dahlia commented May 14, 2018

This PR closes #160.

  • Became to generate deserializer code instead of using deserialize_meta() function provided by nirum-python runtime library.
  • In order to verify the correctness of generated deserializers, this PR adds several serialization test cases as well.
  • Several common functions among serializers/deserializers/validators/etc were moved to Nirum.Targets.Python.CodeGen submodule.
  • InstallRequires type and functions related to it are merged into CodeGenContext.

Please read added logs on CHANGES.md as well.

@dahlia dahlia added typ:bug Type: Bug/defect typ:enhance Type: Enhancement/new feature typ:refactor Type: Refactoring (i.e., the same feature to end users but its internal change) cmp:compiler Component: Compiler backend (e.g., annotation processors, code generators) target:python labels May 14, 2018
@dahlia dahlia added this to the Version 0.4.0 milestone May 14, 2018
@dahlia dahlia self-assigned this May 14, 2018
@dahlia dahlia requested a review from kanghyojun May 14, 2018 21:26
@codecov
Copy link

codecov bot commented May 15, 2018

Codecov Report

Merging #272 into master will increase coverage by 1.26%.
The diff coverage is 91.38%.

Impacted file tree graph

@@            Coverage Diff             @@
##           master     #272      +/-   ##
==========================================
+ Coverage   76.08%   77.34%   +1.26%     
==========================================
  Files          33       34       +1     
  Lines        2467     2671     +204     
  Branches      132      142      +10     
==========================================
+ Hits         1877     2066     +189     
- Misses        458      463       +5     
- Partials      132      142      +10
Impacted Files Coverage Δ
src/Nirum/Targets/Python/Validators.hs 82.05% <ø> (-1.09%) ⬇️
src/Nirum/Targets/Python/Serializers.hs 79.48% <100%> (ø) ⬆️
src/Nirum/Targets/Python/CodeGen.hs 87.74% <89.28%> (+0.87%) ⬆️
src/Nirum/Targets/Python/Deserializers.hs 90.38% <90.38%> (ø)
src/Nirum/Targets/Python.hs 90.42% <96.29%> (+1.42%) ⬆️

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update 5633ee0...113e506. Read the comment docs.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
cmp:compiler Component: Compiler backend (e.g., annotation processors, code generators) target:python typ:bug Type: Bug/defect typ:enhance Type: Enhancement/new feature typ:refactor Type: Refactoring (i.e., the same feature to end users but its internal change)
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants