Skip to content

Conversation

@mcculls
Copy link
Contributor

@mcculls mcculls commented Dec 15, 2020

…and accessor interfaces to a generic type.

If we don't do this then the result from getInterfaces and getGenericInterfaces won't be aligned which can cause issues when application/framework code inspects the class using reflection. Normally this sort of thing is managed by the Java compiler, but since we're modifying things at the bytecode level we have to manage this ourselves.

https://docs.oracle.com/javase/specs/jvms/se7/html/jvms-4.html#jvms-4.3.4

Oracle's Java Virtual Machine implementation does not check the well-formedness of the signatures described in this subsection during loading or linking. Instead, these checks are deferred until the signatures are used by reflective methods, as specified in the API of Class and members of java.lang.reflect. Future versions of a Java Virtual Machine implementation may be required to perform some or all of these checks during loading or linking

@mcculls mcculls requested a review from a team as a code owner December 15, 2020 11:14
@mcculls mcculls force-pushed the mcculls/genericSignatures branch from b5b8b6d to ec0eaac Compare December 15, 2020 11:42
@mcculls mcculls merged commit a8355de into master Dec 15, 2020
@mcculls mcculls deleted the mcculls/genericSignatures branch December 15, 2020 15:54
@github-actions github-actions bot added this to the 0.70.0 milestone Dec 15, 2020
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.

4 participants