Closed Rantanen closed 5 years ago
This PR also split the model.rs into model/*.rs files. There are some rather massive changes to the model.rs here so I'm trying to avoid conflicts with #73.
The goal is to merge this quickly with just the model changes (and some generation changes) - actual type system implementation (ie. the chanes to tyhandlers) will follow afterwards.
Merging #77 into master will decrease coverage by
0.08%
. The diff coverage is86.19%
.
@@ Coverage Diff @@
## master #77 +/- ##
==========================================
- Coverage 73.95% 73.86% -0.09%
==========================================
Files 50 56 +6
Lines 3548 3781 +233
==========================================
+ Hits 2624 2793 +169
- Misses 924 988 +64
Impacted Files | Coverage Δ | |
---|---|---|
intercom-common/src/generators/manifest.rs | 69.49% <ø> (ø) |
:arrow_up: |
intercom/src/lib.rs | 25% <ø> (ø) |
:arrow_up: |
intercom-common/tests/parse_tests.rs | 93.54% <ø> (ø) |
:arrow_up: |
intercom-common/src/model/mod.rs | 0% <0%> (ø) |
|
intercom/src/error.rs | 13.79% <0%> (ø) |
:arrow_up: |
intercom-common/src/attributes/com_library.rs | 0% <0%> (ø) |
:arrow_up: |
intercom-common/src/idents.rs | 62.96% <0%> (-7.88%) |
:arrow_down: |
intercom-build/src/os/mod.rs | 0% <0%> (ø) |
:arrow_up: |
intercom-cli/src/main.rs | 0% <0%> (ø) |
:arrow_up: |
intercom/src/interfaces.rs | 0% <0%> (ø) |
:arrow_up: |
... and 31 more |
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 7df3cb8...d577082. Read the comment docs.
Merging #77 into master will decrease coverage by
0.08%
. The diff coverage is86.19%
.
@@ Coverage Diff @@
## master #77 +/- ##
==========================================
- Coverage 73.95% 73.86% -0.09%
==========================================
Files 50 56 +6
Lines 3548 3781 +233
==========================================
+ Hits 2624 2793 +169
- Misses 924 988 +64
Impacted Files | Coverage Δ | |
---|---|---|
intercom-common/src/generators/manifest.rs | 69.49% <ø> (ø) |
:arrow_up: |
intercom-common/tests/parse_tests.rs | 93.54% <ø> (ø) |
:arrow_up: |
intercom/src/lib.rs | 25% <ø> (ø) |
:arrow_up: |
intercom-cli/src/main.rs | 0% <0%> (ø) |
:arrow_up: |
intercom-common/src/idents.rs | 62.96% <0%> (-7.88%) |
:arrow_down: |
intercom/src/interfaces.rs | 0% <0%> (ø) |
:arrow_up: |
intercom-build/src/os/mod.rs | 0% <0%> (ø) |
:arrow_up: |
intercom-common/src/attributes/com_library.rs | 0% <0%> (ø) |
:arrow_up: |
intercom-common/src/model/mod.rs | 0% <0%> (ø) |
|
intercom-build/src/lib.rs | 0% <0%> (ø) |
:arrow_up: |
... and 31 more |
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 7df3cb8...ba193ac. Read the comment docs.
Merging #77 into master will decrease coverage by
0.12%
. The diff coverage is86.21%
.
@@ Coverage Diff @@
## master #77 +/- ##
==========================================
- Coverage 73.95% 73.83% -0.13%
==========================================
Files 50 56 +6
Lines 3548 3780 +232
==========================================
+ Hits 2624 2791 +167
- Misses 924 989 +65
Impacted Files | Coverage Δ | |
---|---|---|
intercom-common/src/guid.rs | 91.47% <ø> (ø) |
:arrow_up: |
intercom-common/src/generators/manifest.rs | 69.49% <ø> (ø) |
:arrow_up: |
intercom-common/tests/parse_tests.rs | 93.54% <ø> (ø) |
:arrow_up: |
intercom/src/guid.rs | 90.75% <ø> (ø) |
:arrow_up: |
intercom/src/lib.rs | 25% <ø> (ø) |
:arrow_up: |
intercom/src/comrc.rs | 0% <ø> (ø) |
:arrow_up: |
intercom/src/strings.rs | 67.19% <ø> (ø) |
:arrow_up: |
intercom-cli/src/main.rs | 0% <0%> (ø) |
:arrow_up: |
intercom-common/src/idents.rs | 62.96% <0%> (-7.88%) |
:arrow_down: |
intercom/src/interfaces.rs | 0% <0%> (ø) |
:arrow_up: |
... and 38 more |
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 7df3cb8...9c6d954. Read the comment docs.
Took care of most of the technical comments.
The refactoring comments were left unattended for now. There is a plan of some sort to refactor the code generation in general so those should be taken care of then. Not perfectly happy with the way the type systems work currently.
Also we're up to date with Rust 1.29 I believe. We might start looking into getting rid of the remaining unstable feature flags.
PR for implementing the multiple type systems for Automation/Raw interfaces.
intercom-common::model
--all
parameter; The output hasn't actually been tested yet.Convert tests to use explicit interfaces--all
parameter will suffix both interfaces:IStringTests_Automation
,IStringTests_Raw
. Tests need to be updated.Add tests using the raw interfaces.Figure out how to refactor the attribute implementations.UPDATE_TARGETS=1
environment variable for attribute tests reference target update. Trying to chase the output by hand is getting more and more tiresome as we keep implementing more code gen. Small changes in sources need various changes in targets. See the rustc tests for an example.I'll drop the "take into use" bits into a different PR so we can get the massive model.rs changes in as quickly as possible to avoid conflicts.
Parameter parsing.
I want things like
#[com_interface(..)]
attribute to support optional named parameters: