fix(dontet): excessive overrides generated #3355
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
A mis-understanding of the jsii specification early on was carried over
in the .NET code generators until now, which caused all methods and
properties that are overrides (of other JS implementations) to result in
jsii overrides being registered by the runtime.
This behavior caused unnecessary round-trips between the .NET CLR and
the node sidekick process, which affected the performance of .NET
bindings (unnecessary round-trips with JSON encoding aren't free), and
had a tendency to hit obscure edge case bugs in the jsii kernel's Ser/De
behavior.
This PR removes all
isOverride: true
declarations from generated .NETcode and neutralizes the behavior of specifying it to be true.
User-defined overrides (.NET code overriding JS code) continue to work
as they previously did (the
isOverride
attribute should simply nothave existed, ever).
By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.