Skip to content
This repository was archived by the owner on Jul 12, 2024. It is now read-only.

Fix #83: Support clone() for array classes. #88

Merged
merged 1 commit into from
Apr 11, 2024

Conversation

sjrd
Copy link
Collaborator

@sjrd sjrd commented Apr 10, 2024

Also closes #72.

@sjrd sjrd requested a review from tanishiking April 10, 2024 10:11
@sjrd sjrd linked an issue Apr 10, 2024 that may be closed by this pull request
Copy link
Owner

@tanishiking tanishiking left a comment

Choose a reason for hiding this comment

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

I left one minor question, but otherwise LGTM!


for {
interfaceName <- List(IRNames.SerializableClass, IRNames.CloneableClass)
interfaceInfo <- getClassInfoOption(interfaceName)
Copy link
Owner

Choose a reason for hiding this comment

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

Can't we use getClassInfo instead of getClassInfoOption? Is there a case that one of them doesn't exist in a program?

Copy link
Collaborator Author

Choose a reason for hiding this comment

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

In small programs that do not mention them, it's possible for the reachability analysis to entirely get rid of those interfaces. In that case we really need the Option variant. For example some of the tests/test fail of we use getClassInfo here.

@sjrd sjrd merged commit a822347 into tanishiking:main Apr 11, 2024
1 check passed
@sjrd sjrd deleted the array-clone branch April 11, 2024 07:44
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

CloneNotSupportedException in a bunch of tests RuntimeError: dereferencing a null pointer in Base64Test
2 participants