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

jsii: do not allow interfaces to redefine members (dotnet does not support it) #340

Closed
eladb opened this issue Dec 27, 2018 · 0 comments
Closed

Comments

@eladb
Copy link
Contributor

eladb commented Dec 27, 2018

Repro:

intetface A {
  foo: number;
}

interface B extends A {
  foo: number;
}

This is legal in typescript but .NET will fail due to hides inherited member. Use the new keyword if hiding was intended

rix0rrr pushed a commit that referenced this issue Feb 13, 2019
In C# it's prohibited to declare an interface member
that also exists in an inherited interface. Have jsii
detect this illegal pattern.

Strictly speaking, this only true if we don't overload,
but since we don't support overloading anyway we just
check on the member names, not the types.

Fixes #340.
rix0rrr added a commit that referenced this issue Feb 14, 2019
In C# it's prohibited to declare an interface member
that also exists in an inherited interface. Have jsii
detect this illegal pattern.

Strictly speaking, this only true if we don't overload,
but since we don't support overloading anyway we just
check on the member names, not the types.

Fixes #340.
RomainMuller added a commit that referenced this issue Feb 27, 2019
### Bug Fixes

* **jsii-pacmack:** default to target directory mode ([#363](#363)) ([967d917](967d917))
* **java-runtime:** Bump version of Jackson because of CVEs ([#362](#362)) ([140aa4d](140aa4d))
* **jsii:** detect double interface member declarations ([#360](#360)) ([b2b2c89](b2b2c89)), closes [#340](#340)
RomainMuller added a commit that referenced this issue Feb 27, 2019
### Bug Fixes

* **jsii-pacmack:** default to target directory mode ([#363](#363)) ([967d917](967d917))
* **java-runtime:** Bump version of Jackson because of CVEs ([#362](#362)) ([140aa4d](140aa4d))
* **jsii:** detect double interface member declarations ([#360](#360)) ([b2b2c89](b2b2c89)), closes [#340](#340)
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

No branches or pull requests

1 participant