Skip to content

Runtime free deserializers#272

Merged
kanghyojun merged 12 commits intonirum-lang:masterfrom
dahlia:runtime-free-deserializers
May 16, 2018
Merged

Runtime free deserializers#272
kanghyojun merged 12 commits intonirum-lang:masterfrom
dahlia:runtime-free-deserializers

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