Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8197405

Improve messages of AbstractMethodErrors and IncompatibleClassChangeErrors.

XMLWordPrintable

    • Icon: Enhancement Enhancement
    • Resolution: Fixed
    • Icon: P4 P4
    • 11
    • 11
    • hotspot
    • None
    • b07

      This change improves messages of AbstractMethodErrors and IncompatibleClassChangeErrors.
      It adds tests that check some of the improved messages.

      The tests check the following improvements:

      AbstractMethodErrors:

      test_ame1, test case 1:
      before: no message / null
      after: "Missing implementation of resolved method abstract anAbstractMethod()Ljava/lang/String; of abstract class AME1_B."

      test_ame1, test case 2:
      before: no message / null
      after: "Receiver class AME1_E does not define or inherit an implementation of the resolved method abstract aFunctionOfMyInterface()Ljava/lang/String; of interface AME1_C."

      test_ame2, interpreted:
      before: no message / null
      after: "Missing implementation of resolved method abstract aFunctionOfMyInterface()V of interface AME2_A."

      test_ame2, compiled:
      before: "AME2_A.aFunctionOfMyInterface()V"
      after: "Receiver class AME2_C does not define or inherit an implementation of the resolved method abstract aFunctionOfMyInterface()V of interface AME2_A."

      test_ame3:
      before: no message / null
      after: "Receiver class AME3_C does not define or inherit an implementation of the resolved method ma()V of class AME3_A. Selected method is abstract AME3_B.ma()V."

      IncompatibleClassChangeErrors:

      test_icc_compiled_itable_stub
      before: "vtable stub"
      after: "Class ICC_B does not implement the requested interface ICC_iB"

            goetz Goetz Lindenmaier
            goetz Goetz Lindenmaier
            Votes:
            0 Vote for this issue
            Watchers:
            2 Start watching this issue

              Created:
              Updated:
              Resolved: