Skip to content

feat(java): utility to perform unsafe cast#3730

Merged
mergify[bot] merged 8 commits intomainfrom
rmuller/java-unsafe-cast
Aug 30, 2022
Merged

feat(java): utility to perform unsafe cast#3730
mergify[bot] merged 8 commits intomainfrom
rmuller/java-unsafe-cast

Conversation

@RomainMuller
Copy link
Copy Markdown
Contributor

Adds an UnsafeCast.unsafeCast method to the Jsii runtime for Java that
allows unsafely casting an instance to a managed interface of the user's
choice.

This can be useful when dealing with type unions composed of interfaces
or structs, as there is otherwise no way to convert the instance without
jumping through hoops.

Fixes #3726 (sort of)


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

Adds an `UnsafeCast.unsafeCast` method to the Jsii runtime for Java that
allows unsafely casting an instance to a managed interface of the user's
choice.

This can be useful when dealing with type unions composed of interfaces
or structs, as there is otherwise no way to convert the instance without
jumping through hoops.

Fixes #3726 (sort of)
@RomainMuller RomainMuller requested a review from a team August 29, 2022 15:34
@RomainMuller RomainMuller self-assigned this Aug 29, 2022
@mergify mergify bot added the contribution/core This is a PR that came from AWS. label Aug 29, 2022
Copy link
Copy Markdown
Contributor

@iliapolo iliapolo left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why no test?

}
}

private UnsafeCast(){
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Leftovers?

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why leftovers?

RomainMuller and others added 4 commits August 30, 2022 12:49
A missing condition in the code generator could have resulted
in attempting to read a property on undefined, resulting in
a crash.
A missing condition in the code generator could have resulted
in attempting to read a property on undefined, resulting in
a crash.
@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Aug 30, 2022

Thank you for contributing! ❤️ I will now look into making sure the PR is up-to-date, then proceed to try and merge it!

@mergify mergify bot added the pr/ready-to-merge This PR is ready to be merged. label Aug 30, 2022
@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Aug 30, 2022

Merging (with squash)...

@mergify mergify bot merged commit 4a52d4c into main Aug 30, 2022
@mergify mergify bot deleted the rmuller/java-unsafe-cast branch August 30, 2022 13:57
@mergify
Copy link
Copy Markdown
Contributor

mergify bot commented Aug 30, 2022

Merging (with squash)...

@mergify mergify bot removed the pr/ready-to-merge This PR is ready to be merged. label Aug 30, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

contribution/core This is a PR that came from AWS.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

(java) anyof union incorrect $jsii.interfaces in JsiiObjectRef

2 participants