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

fix(jsii-diff): catch exception if type disappeared from other assembly #504

Merged
merged 1 commit into from
May 21, 2019

Conversation

rix0rrr
Copy link
Contributor

@rix0rrr rix0rrr commented May 17, 2019

Make jsii-diff not crash in the following case:

  • Assembly A depends on Assembly B, and they both update simultaneously.
  • Assembly A' uses a return type T' freshly introduced in Assembly B'.

When doing the supertype check, the compatibility check of A -> A',
the lookup of T' inside B would lead to an exception, which would
crash the tool.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.

Make jsii-diff not crash in the following case:

- Assembly A depends on Assembly B, and they both update simultaneously.
- Assembly A' uses a return type T' freshly introduced in Assembly B'.

When doing the supertype check, the compatibility check of A -> A',
the lookup of T' inside B would lead to an exception, which would
crash the tool.
@rix0rrr rix0rrr requested a review from a team as a code owner May 17, 2019 09:55
@rix0rrr
Copy link
Contributor Author

rix0rrr commented May 17, 2019

Not tested because adding tests on this is hard

@RomainMuller RomainMuller merged commit 8d11900 into master May 21, 2019
@RomainMuller RomainMuller deleted the huijbers/catch-diff-exception branch May 21, 2019 09:51
RomainMuller added a commit that referenced this pull request May 21, 2019
### Bug Fixes

* **assembler:** handle unknown types without crashing ([#501](#501)) ([7ba1aab](7ba1aab))
* **jsii:** deduplicate interfaces ([#497](#497)) ([05f5189](05f5189)), closes [#496](#496)
* **jsii-diff:** catch exception if type disappeared from other assembly ([#504](#504)) ([8d11900](8d11900))
* **jsii-diff:** correctly handle assignability of type unions ([#500](#500)) ([04c061e](04c061e))
* **jsii-diff:** don't fail on new packages ([#502](#502)) ([d1d0633](d1d0633))

### Features

* **jsii:** protect against prohibited member names ([#506](#506)) ([2848f76](2848f76))

### BREAKING CHANGES

* **jsii:** The `equals` and `hashCode` method names may no longer be used on JSII classes and interfaces, due to their
  colliding with "special meaning" methods in other languages (Java, .NET, ...).
RomainMuller added a commit that referenced this pull request May 21, 2019
### Bug Fixes

* **assembler:** handle unknown types without crashing ([#501](#501)) ([7ba1aab](7ba1aab))
* **jsii:** deduplicate interfaces ([#497](#497)) ([05f5189](05f5189)), closes [#496](#496)
* **jsii-diff:** catch exception if type disappeared from other assembly ([#504](#504)) ([8d11900](8d11900))
* **jsii-diff:** correctly handle assignability of type unions ([#500](#500)) ([04c061e](04c061e))
* **jsii-diff:** don't fail on new packages ([#502](#502)) ([d1d0633](d1d0633))

### Features

* **jsii:** protect against prohibited member names ([#506](#506)) ([2848f76](2848f76))

### BREAKING CHANGES

* **jsii:** The `equals` and `hashCode` method names may no longer be used on JSII classes and interfaces, due to their
  colliding with "special meaning" methods in other languages (Java, .NET, ...).
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants