Issue | Fix Version | Assignee | Priority | Status | Resolution | Resolved In Build |
---|---|---|---|---|---|---|
JDK-8205898 | 11.0.1 | Goetz Lindenmaier | P4 | Resolved | Fixed | team |
This change improves some IncompatibleClassChangeError messages by printing the classes involved and adds tests for the messages.
---
If a class is loaded requiring an interface that's already loaded as class:
Before:
"Implementing class"
After:
"Class test.ICC3_B can not implement test.ICC3_A, because it is not an interface"
---
If a class is loaded requiring a super class that has already been loaded as interface:
Implemented a test. Message left unchanged:
"class test.ICC4_B has interface test.ICC4_iA as super class"
---
If an interface method is called but the class of the object at runtime does not implement the interface:
There was no message before.
After:
"Receiver class test.ICC5_B does not implement the interface test.ICC5_B defining the method to be called"
No tests implemented for this message
---
If a class is loaded requiring an interface that's already loaded as class:
Before:
"Implementing class"
After:
"Class test.ICC3_B can not implement test.ICC3_A, because it is not an interface"
---
If a class is loaded requiring a super class that has already been loaded as interface:
Implemented a test. Message left unchanged:
"class test.ICC4_B has interface test.ICC4_iA as super class"
---
If an interface method is called but the class of the object at runtime does not implement the interface:
There was no message before.
After:
"Receiver class test.ICC5_B does not implement the interface test.ICC5_B defining the method to be called"
No tests implemented for this message
- backported by
-
JDK-8205898 Improve some IncompatibleClassChangeError messages.
- Resolved