[ping] RE: RFR(S): 8204268: Improve some InompatibleClassChangeError messages.

classic Classic list List threaded Threaded
7 messages Options
Reply | Threaded
Open this post in threaded view
|

[ping] RE: RFR(S): 8204268: Improve some InompatibleClassChangeError messages.

Lindenmaier, Goetz
Hi,

could I please get a second opinion on this?

Best regards,
  Goetz.

> -----Original Message-----
> From: Lindenmaier, Goetz
> Sent: Montag, 4. Juni 2018 11:38
> To: [hidden email]
> Subject: RFR(S): 8204268: Improve some InompatibleClassChangeError
> messages.
>
> Hi,
>
> This change improves some IncompatibleClassChangeError messages by
> printing the classes involved
> and adds tests for the messages. It also improves the existing test for
> IncompatibleClassChangeErrorMessages,
> e.g. by assuring packages are printed with '.'. I'm using
> class_loader_and_module_name() for printing the
> class names.
>
> http://cr.openjdk.java.net/~goetz/wr18/8204268-exMsg-
> IncompatibleClassChange/01/
>
> Changes to the messages:
>
> 1. If a class is loaded requiring an interface that's already loaded as class:
>
> Before:
>
> Implementing class
>
> After:
>
> Class test.ICC3_B implements test.ICC3_A, which is not an interface
>
> 2. If a class is loaded requiring a super class that's already loaded as interface.
> Implemented a test. Message unchanged:
>
> class test.ICC4_B has interface test.ICC4_iA as super class
>
> 3. 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:
>
> Can not call method because resolved class test.ICC5_B does not implement
> the interface test.ICC4_iA defining the method.
>
> No test implemented for this message
>
> Feel free to propose better message.

Reply | Threaded
Open this post in threaded view
|

Re: [ping] RE: RFR(S): 8204268: Improve some InompatibleClassChangeError messages.

Harold David Seigel
Hi Goetz,

This change looks good.  Just a few comments.

In classFileParser.cpp, line 958, could you change "implements %s, which
is not an interface" to "can not implement %s because it is not an
interface" ?

Note that the calls to class_loader_and_module_name() in this webrev may
get changed in the near future as part of JDK-8202605
<https://bugs.openjdk.java.net/browse/JDK-8202605> and JDK-8169559
<https://bugs.openjdk.java.net/browse/JDK-8169559>.

Thanks, Harold

On 6/11/2018 9:30 AM, Lindenmaier, Goetz wrote:

> Hi,
>
> could I please get a second opinion on this?
>
> Best regards,
>    Goetz.
>
>> -----Original Message-----
>> From: Lindenmaier, Goetz
>> Sent: Montag, 4. Juni 2018 11:38
>> To: [hidden email]
>> Subject: RFR(S): 8204268: Improve some InompatibleClassChangeError
>> messages.
>>
>> Hi,
>>
>> This change improves some IncompatibleClassChangeError messages by
>> printing the classes involved
>> and adds tests for the messages. It also improves the existing test for
>> IncompatibleClassChangeErrorMessages,
>> e.g. by assuring packages are printed with '.'. I'm using
>> class_loader_and_module_name() for printing the
>> class names.
>>
>> http://cr.openjdk.java.net/~goetz/wr18/8204268-exMsg-
>> IncompatibleClassChange/01/
>>
>> Changes to the messages:
>>
>> 1. If a class is loaded requiring an interface that's already loaded as class:
>>
>> Before:
>>
>> Implementing class
>>
>> After:
>>
>> Class test.ICC3_B implements test.ICC3_A, which is not an interface
>>
>> 2. If a class is loaded requiring a super class that's already loaded as interface.
>> Implemented a test. Message unchanged:
>>
>> class test.ICC4_B has interface test.ICC4_iA as super class
>>
>> 3. 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:
>>
>> Can not call method because resolved class test.ICC5_B does not implement
>> the interface test.ICC4_iA defining the method.
>>
>> No test implemented for this message
>>
>> Feel free to propose better message.

Reply | Threaded
Open this post in threaded view
|

RE: [ping] RE: RFR(S): 8204268: Improve some InompatibleClassChangeError messages.

Lindenmaier, Goetz
Hi Harold, Thomas,

I adapted the error messages slightly:
http://cr.openjdk.java.net/~goetz/wr18/8204268-exMsg-IncompatibleClassChange/02/

As requested by Harold:
- "Class %s implements %s, which is not an interface"
+ "Class %s can not implement %s, because it is not an interface"
I thought the original message was not that bad, as the classfile actually lists
the second type as "implements".

As proposed by Thomas:
"Can not call method because resolved class %s does not implement  the interface %s defining the method"
"Receiver class %s does not implement the interface %s defining the method to be called"
I shortened the message, but I think it is important tell that the problem
arose during method resolving.
I also changed resolved -> receiver, which was just wrong.

Best regards,
  Goetz.

> -----Original Message-----
> From: hotspot-runtime-dev [mailto:hotspot-runtime-dev-
> [hidden email]] On Behalf Of Harold David Seigel
> Sent: Donnerstag, 14. Juni 2018 18:00
> To: [hidden email]
> Subject: Re: [ping] RE: RFR(S): 8204268: Improve some
> InompatibleClassChangeError messages.
>
> Hi Goetz,
>
> This change looks good.  Just a few comments.
>
> In classFileParser.cpp, line 958, could you change "implements %s, which
> is not an interface" to "can not implement %s because it is not an
> interface" ?
>
> Note that the calls to class_loader_and_module_name() in this webrev may
> get changed in the near future as part of JDK-8202605
> <https://bugs.openjdk.java.net/browse/JDK-8202605> and JDK-8169559
> <https://bugs.openjdk.java.net/browse/JDK-8169559>.
>
> Thanks, Harold
>
> On 6/11/2018 9:30 AM, Lindenmaier, Goetz wrote:
> > Hi,
> >
> > could I please get a second opinion on this?
> >
> > Best regards,
> >    Goetz.
> >
> >> -----Original Message-----
> >> From: Lindenmaier, Goetz
> >> Sent: Montag, 4. Juni 2018 11:38
> >> To: [hidden email]
> >> Subject: RFR(S): 8204268: Improve some InompatibleClassChangeError
> >> messages.
> >>
> >> Hi,
> >>
> >> This change improves some IncompatibleClassChangeError messages by
> >> printing the classes involved
> >> and adds tests for the messages. It also improves the existing test for
> >> IncompatibleClassChangeErrorMessages,
> >> e.g. by assuring packages are printed with '.'. I'm using
> >> class_loader_and_module_name() for printing the
> >> class names.
> >>
> >> http://cr.openjdk.java.net/~goetz/wr18/8204268-exMsg-
> >> IncompatibleClassChange/01/
> >>
> >> Changes to the messages:
> >>
> >> 1. If a class is loaded requiring an interface that's already loaded as class:
> >>
> >> Before:
> >>
> >> Implementing class
> >>
> >> After:
> >>
> >> Class test.ICC3_B implements test.ICC3_A, which is not an interface
> >>
> >> 2. If a class is loaded requiring a super class that's already loaded as
> interface.
> >> Implemented a test. Message unchanged:
> >>
> >> class test.ICC4_B has interface test.ICC4_iA as super class
> >>
> >> 3. 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:
> >>
> >> Can not call method because resolved class test.ICC5_B does not
> implement
> >> the interface test.ICC4_iA defining the method.
> >>
> >> No test implemented for this message
> >>
> >> Feel free to propose better message.

Reply | Threaded
Open this post in threaded view
|

Re: [ping] RE: RFR(S): 8204268: Improve some InompatibleClassChangeError messages.

Harold David Seigel
Hi Goetz,

This looks good!

Thanks, Harold

On 6/15/2018 7:11 AM, Lindenmaier, Goetz wrote:

> Hi Harold, Thomas,
>
> I adapted the error messages slightly:
> http://cr.openjdk.java.net/~goetz/wr18/8204268-exMsg-IncompatibleClassChange/02/
>
> As requested by Harold:
> - "Class %s implements %s, which is not an interface"
> + "Class %s can not implement %s, because it is not an interface"
> I thought the original message was not that bad, as the classfile actually lists
> the second type as "implements".
>
> As proposed by Thomas:
> "Can not call method because resolved class %s does not implement  the interface %s defining the method"
> "Receiver class %s does not implement the interface %s defining the method to be called"
> I shortened the message, but I think it is important tell that the problem
> arose during method resolving.
> I also changed resolved -> receiver, which was just wrong.
>
> Best regards,
>    Goetz.
>
>> -----Original Message-----
>> From: hotspot-runtime-dev [mailto:hotspot-runtime-dev-
>> [hidden email]] On Behalf Of Harold David Seigel
>> Sent: Donnerstag, 14. Juni 2018 18:00
>> To: [hidden email]
>> Subject: Re: [ping] RE: RFR(S): 8204268: Improve some
>> InompatibleClassChangeError messages.
>>
>> Hi Goetz,
>>
>> This change looks good.  Just a few comments.
>>
>> In classFileParser.cpp, line 958, could you change "implements %s, which
>> is not an interface" to "can not implement %s because it is not an
>> interface" ?
>>
>> Note that the calls to class_loader_and_module_name() in this webrev may
>> get changed in the near future as part of JDK-8202605
>> <https://bugs.openjdk.java.net/browse/JDK-8202605> and JDK-8169559
>> <https://bugs.openjdk.java.net/browse/JDK-8169559>.
>>
>> Thanks, Harold
>>
>> On 6/11/2018 9:30 AM, Lindenmaier, Goetz wrote:
>>> Hi,
>>>
>>> could I please get a second opinion on this?
>>>
>>> Best regards,
>>>     Goetz.
>>>
>>>> -----Original Message-----
>>>> From: Lindenmaier, Goetz
>>>> Sent: Montag, 4. Juni 2018 11:38
>>>> To: [hidden email]
>>>> Subject: RFR(S): 8204268: Improve some InompatibleClassChangeError
>>>> messages.
>>>>
>>>> Hi,
>>>>
>>>> This change improves some IncompatibleClassChangeError messages by
>>>> printing the classes involved
>>>> and adds tests for the messages. It also improves the existing test for
>>>> IncompatibleClassChangeErrorMessages,
>>>> e.g. by assuring packages are printed with '.'. I'm using
>>>> class_loader_and_module_name() for printing the
>>>> class names.
>>>>
>>>> http://cr.openjdk.java.net/~goetz/wr18/8204268-exMsg-
>>>> IncompatibleClassChange/01/
>>>>
>>>> Changes to the messages:
>>>>
>>>> 1. If a class is loaded requiring an interface that's already loaded as class:
>>>>
>>>> Before:
>>>>
>>>> Implementing class
>>>>
>>>> After:
>>>>
>>>> Class test.ICC3_B implements test.ICC3_A, which is not an interface
>>>>
>>>> 2. If a class is loaded requiring a super class that's already loaded as
>> interface.
>>>> Implemented a test. Message unchanged:
>>>>
>>>> class test.ICC4_B has interface test.ICC4_iA as super class
>>>>
>>>> 3. 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:
>>>>
>>>> Can not call method because resolved class test.ICC5_B does not
>> implement
>>>> the interface test.ICC4_iA defining the method.
>>>>
>>>> No test implemented for this message
>>>>
>>>> Feel free to propose better message.

Reply | Threaded
Open this post in threaded view
|

RE: [ping] RE: RFR(S): 8204268: Improve some InompatibleClassChangeError messages.

Lindenmaier, Goetz
Thanks, Harold!

Thomas, are you fine with this?
It passed jdk/submit and all our internal tests tonight.

Best regards,
  Goetz.

> -----Original Message-----
> From: Harold David Seigel <[hidden email]>
> Sent: Friday, June 15, 2018 2:27 PM
> To: Lindenmaier, Goetz <[hidden email]>; hotspot-runtime-
> [hidden email]; Thomas Stüfe ([hidden email])
> <[hidden email]>
> Subject: Re: [ping] RE: RFR(S): 8204268: Improve some
> InompatibleClassChangeError messages.
>
> Hi Goetz,
>
> This looks good!
>
> Thanks, Harold
>
> On 6/15/2018 7:11 AM, Lindenmaier, Goetz wrote:
> > Hi Harold, Thomas,
> >
> > I adapted the error messages slightly:
> > http://cr.openjdk.java.net/~goetz/wr18/8204268-exMsg-
> IncompatibleClassChange/02/
> >
> > As requested by Harold:
> > - "Class %s implements %s, which is not an interface"
> > + "Class %s can not implement %s, because it is not an interface"
> > I thought the original message was not that bad, as the classfile actually lists
> > the second type as "implements".
> >
> > As proposed by Thomas:
> > "Can not call method because resolved class %s does not implement  the
> interface %s defining the method"
> > "Receiver class %s does not implement the interface %s defining the
> method to be called"
> > I shortened the message, but I think it is important tell that the problem
> > arose during method resolving.
> > I also changed resolved -> receiver, which was just wrong.
> >
> > Best regards,
> >    Goetz.
> >
> >> -----Original Message-----
> >> From: hotspot-runtime-dev [mailto:hotspot-runtime-dev-
> >> [hidden email]] On Behalf Of Harold David Seigel
> >> Sent: Donnerstag, 14. Juni 2018 18:00
> >> To: [hidden email]
> >> Subject: Re: [ping] RE: RFR(S): 8204268: Improve some
> >> InompatibleClassChangeError messages.
> >>
> >> Hi Goetz,
> >>
> >> This change looks good.  Just a few comments.
> >>
> >> In classFileParser.cpp, line 958, could you change "implements %s, which
> >> is not an interface" to "can not implement %s because it is not an
> >> interface" ?
> >>
> >> Note that the calls to class_loader_and_module_name() in this webrev
> may
> >> get changed in the near future as part of JDK-8202605
> >> <https://bugs.openjdk.java.net/browse/JDK-8202605> and JDK-8169559
> >> <https://bugs.openjdk.java.net/browse/JDK-8169559>.
> >>
> >> Thanks, Harold
> >>
> >> On 6/11/2018 9:30 AM, Lindenmaier, Goetz wrote:
> >>> Hi,
> >>>
> >>> could I please get a second opinion on this?
> >>>
> >>> Best regards,
> >>>     Goetz.
> >>>
> >>>> -----Original Message-----
> >>>> From: Lindenmaier, Goetz
> >>>> Sent: Montag, 4. Juni 2018 11:38
> >>>> To: [hidden email]
> >>>> Subject: RFR(S): 8204268: Improve some InompatibleClassChangeError
> >>>> messages.
> >>>>
> >>>> Hi,
> >>>>
> >>>> This change improves some IncompatibleClassChangeError messages
> by
> >>>> printing the classes involved
> >>>> and adds tests for the messages. It also improves the existing test for
> >>>> IncompatibleClassChangeErrorMessages,
> >>>> e.g. by assuring packages are printed with '.'. I'm using
> >>>> class_loader_and_module_name() for printing the
> >>>> class names.
> >>>>
> >>>> http://cr.openjdk.java.net/~goetz/wr18/8204268-exMsg-
> >>>> IncompatibleClassChange/01/
> >>>>
> >>>> Changes to the messages:
> >>>>
> >>>> 1. If a class is loaded requiring an interface that's already loaded as class:
> >>>>
> >>>> Before:
> >>>>
> >>>> Implementing class
> >>>>
> >>>> After:
> >>>>
> >>>> Class test.ICC3_B implements test.ICC3_A, which is not an interface
> >>>>
> >>>> 2. If a class is loaded requiring a super class that's already loaded as
> >> interface.
> >>>> Implemented a test. Message unchanged:
> >>>>
> >>>> class test.ICC4_B has interface test.ICC4_iA as super class
> >>>>
> >>>> 3. 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:
> >>>>
> >>>> Can not call method because resolved class test.ICC5_B does not
> >> implement
> >>>> the interface test.ICC4_iA defining the method.
> >>>>
> >>>> No test implemented for this message
> >>>>
> >>>> Feel free to propose better message.

Reply | Threaded
Open this post in threaded view
|

Re: [ping] RE: RFR(S): 8204268: Improve some InompatibleClassChangeError messages.

Thomas Stüfe-2
Hi Goetz, this looks good!
..Thomas

On Sat, Jun 16, 2018 at 9:07 AM, Lindenmaier, Goetz
<[hidden email]> wrote:

> Thanks, Harold!
>
> Thomas, are you fine with this?
> It passed jdk/submit and all our internal tests tonight.
>
> Best regards,
>   Goetz.
>
>> -----Original Message-----
>> From: Harold David Seigel <[hidden email]>
>> Sent: Friday, June 15, 2018 2:27 PM
>> To: Lindenmaier, Goetz <[hidden email]>; hotspot-runtime-
>> [hidden email]; Thomas Stüfe ([hidden email])
>> <[hidden email]>
>> Subject: Re: [ping] RE: RFR(S): 8204268: Improve some
>> InompatibleClassChangeError messages.
>>
>> Hi Goetz,
>>
>> This looks good!
>>
>> Thanks, Harold
>>
>> On 6/15/2018 7:11 AM, Lindenmaier, Goetz wrote:
>> > Hi Harold, Thomas,
>> >
>> > I adapted the error messages slightly:
>> > http://cr.openjdk.java.net/~goetz/wr18/8204268-exMsg-
>> IncompatibleClassChange/02/
>> >
>> > As requested by Harold:
>> > - "Class %s implements %s, which is not an interface"
>> > + "Class %s can not implement %s, because it is not an interface"
>> > I thought the original message was not that bad, as the classfile actually lists
>> > the second type as "implements".
>> >
>> > As proposed by Thomas:
>> > "Can not call method because resolved class %s does not implement  the
>> interface %s defining the method"
>> > "Receiver class %s does not implement the interface %s defining the
>> method to be called"
>> > I shortened the message, but I think it is important tell that the problem
>> > arose during method resolving.
>> > I also changed resolved -> receiver, which was just wrong.
>> >
>> > Best regards,
>> >    Goetz.
>> >
>> >> -----Original Message-----
>> >> From: hotspot-runtime-dev [mailto:hotspot-runtime-dev-
>> >> [hidden email]] On Behalf Of Harold David Seigel
>> >> Sent: Donnerstag, 14. Juni 2018 18:00
>> >> To: [hidden email]
>> >> Subject: Re: [ping] RE: RFR(S): 8204268: Improve some
>> >> InompatibleClassChangeError messages.
>> >>
>> >> Hi Goetz,
>> >>
>> >> This change looks good.  Just a few comments.
>> >>
>> >> In classFileParser.cpp, line 958, could you change "implements %s, which
>> >> is not an interface" to "can not implement %s because it is not an
>> >> interface" ?
>> >>
>> >> Note that the calls to class_loader_and_module_name() in this webrev
>> may
>> >> get changed in the near future as part of JDK-8202605
>> >> <https://bugs.openjdk.java.net/browse/JDK-8202605> and JDK-8169559
>> >> <https://bugs.openjdk.java.net/browse/JDK-8169559>.
>> >>
>> >> Thanks, Harold
>> >>
>> >> On 6/11/2018 9:30 AM, Lindenmaier, Goetz wrote:
>> >>> Hi,
>> >>>
>> >>> could I please get a second opinion on this?
>> >>>
>> >>> Best regards,
>> >>>     Goetz.
>> >>>
>> >>>> -----Original Message-----
>> >>>> From: Lindenmaier, Goetz
>> >>>> Sent: Montag, 4. Juni 2018 11:38
>> >>>> To: [hidden email]
>> >>>> Subject: RFR(S): 8204268: Improve some InompatibleClassChangeError
>> >>>> messages.
>> >>>>
>> >>>> Hi,
>> >>>>
>> >>>> This change improves some IncompatibleClassChangeError messages
>> by
>> >>>> printing the classes involved
>> >>>> and adds tests for the messages. It also improves the existing test for
>> >>>> IncompatibleClassChangeErrorMessages,
>> >>>> e.g. by assuring packages are printed with '.'. I'm using
>> >>>> class_loader_and_module_name() for printing the
>> >>>> class names.
>> >>>>
>> >>>> http://cr.openjdk.java.net/~goetz/wr18/8204268-exMsg-
>> >>>> IncompatibleClassChange/01/
>> >>>>
>> >>>> Changes to the messages:
>> >>>>
>> >>>> 1. If a class is loaded requiring an interface that's already loaded as class:
>> >>>>
>> >>>> Before:
>> >>>>
>> >>>> Implementing class
>> >>>>
>> >>>> After:
>> >>>>
>> >>>> Class test.ICC3_B implements test.ICC3_A, which is not an interface
>> >>>>
>> >>>> 2. If a class is loaded requiring a super class that's already loaded as
>> >> interface.
>> >>>> Implemented a test. Message unchanged:
>> >>>>
>> >>>> class test.ICC4_B has interface test.ICC4_iA as super class
>> >>>>
>> >>>> 3. 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:
>> >>>>
>> >>>> Can not call method because resolved class test.ICC5_B does not
>> >> implement
>> >>>> the interface test.ICC4_iA defining the method.
>> >>>>
>> >>>> No test implemented for this message
>> >>>>
>> >>>> Feel free to propose better message.
>
Reply | Threaded
Open this post in threaded view
|

RE: [ping] RE: RFR(S): 8204268: Improve some InompatibleClassChangeError messages.

Lindenmaier, Goetz
Thanks Thomas!

Best regards,
  Goetz.

> -----Original Message-----
> From: Thomas Stüfe [mailto:[hidden email]]
> Sent: Samstag, 16. Juni 2018 19:32
> To: Lindenmaier, Goetz <[hidden email]>
> Cc: Harold David Seigel <[hidden email]>; hotspot-runtime-
> [hidden email]
> Subject: Re: [ping] RE: RFR(S): 8204268: Improve some
> InompatibleClassChangeError messages.
>
> Hi Goetz, this looks good!
> ..Thomas
>
> On Sat, Jun 16, 2018 at 9:07 AM, Lindenmaier, Goetz
> <[hidden email]> wrote:
> > Thanks, Harold!
> >
> > Thomas, are you fine with this?
> > It passed jdk/submit and all our internal tests tonight.
> >
> > Best regards,
> >   Goetz.
> >
> >> -----Original Message-----
> >> From: Harold David Seigel <[hidden email]>
> >> Sent: Friday, June 15, 2018 2:27 PM
> >> To: Lindenmaier, Goetz <[hidden email]>; hotspot-runtime-
> >> [hidden email]; Thomas Stüfe ([hidden email])
> >> <[hidden email]>
> >> Subject: Re: [ping] RE: RFR(S): 8204268: Improve some
> >> InompatibleClassChangeError messages.
> >>
> >> Hi Goetz,
> >>
> >> This looks good!
> >>
> >> Thanks, Harold
> >>
> >> On 6/15/2018 7:11 AM, Lindenmaier, Goetz wrote:
> >> > Hi Harold, Thomas,
> >> >
> >> > I adapted the error messages slightly:
> >> > http://cr.openjdk.java.net/~goetz/wr18/8204268-exMsg-
> >> IncompatibleClassChange/02/
> >> >
> >> > As requested by Harold:
> >> > - "Class %s implements %s, which is not an interface"
> >> > + "Class %s can not implement %s, because it is not an interface"
> >> > I thought the original message was not that bad, as the classfile actually
> lists
> >> > the second type as "implements".
> >> >
> >> > As proposed by Thomas:
> >> > "Can not call method because resolved class %s does not implement
> the
> >> interface %s defining the method"
> >> > "Receiver class %s does not implement the interface %s defining the
> >> method to be called"
> >> > I shortened the message, but I think it is important tell that the problem
> >> > arose during method resolving.
> >> > I also changed resolved -> receiver, which was just wrong.
> >> >
> >> > Best regards,
> >> >    Goetz.
> >> >
> >> >> -----Original Message-----
> >> >> From: hotspot-runtime-dev [mailto:hotspot-runtime-dev-
> >> >> [hidden email]] On Behalf Of Harold David Seigel
> >> >> Sent: Donnerstag, 14. Juni 2018 18:00
> >> >> To: [hidden email]
> >> >> Subject: Re: [ping] RE: RFR(S): 8204268: Improve some
> >> >> InompatibleClassChangeError messages.
> >> >>
> >> >> Hi Goetz,
> >> >>
> >> >> This change looks good.  Just a few comments.
> >> >>
> >> >> In classFileParser.cpp, line 958, could you change "implements %s,
> which
> >> >> is not an interface" to "can not implement %s because it is not an
> >> >> interface" ?
> >> >>
> >> >> Note that the calls to class_loader_and_module_name() in this
> webrev
> >> may
> >> >> get changed in the near future as part of JDK-8202605
> >> >> <https://bugs.openjdk.java.net/browse/JDK-8202605> and JDK-
> 8169559
> >> >> <https://bugs.openjdk.java.net/browse/JDK-8169559>.
> >> >>
> >> >> Thanks, Harold
> >> >>
> >> >> On 6/11/2018 9:30 AM, Lindenmaier, Goetz wrote:
> >> >>> Hi,
> >> >>>
> >> >>> could I please get a second opinion on this?
> >> >>>
> >> >>> Best regards,
> >> >>>     Goetz.
> >> >>>
> >> >>>> -----Original Message-----
> >> >>>> From: Lindenmaier, Goetz
> >> >>>> Sent: Montag, 4. Juni 2018 11:38
> >> >>>> To: [hidden email]
> >> >>>> Subject: RFR(S): 8204268: Improve some
> InompatibleClassChangeError
> >> >>>> messages.
> >> >>>>
> >> >>>> Hi,
> >> >>>>
> >> >>>> This change improves some IncompatibleClassChangeError
> messages
> >> by
> >> >>>> printing the classes involved
> >> >>>> and adds tests for the messages. It also improves the existing test
> for
> >> >>>> IncompatibleClassChangeErrorMessages,
> >> >>>> e.g. by assuring packages are printed with '.'. I'm using
> >> >>>> class_loader_and_module_name() for printing the
> >> >>>> class names.
> >> >>>>
> >> >>>> http://cr.openjdk.java.net/~goetz/wr18/8204268-exMsg-
> >> >>>> IncompatibleClassChange/01/
> >> >>>>
> >> >>>> Changes to the messages:
> >> >>>>
> >> >>>> 1. If a class is loaded requiring an interface that's already loaded as
> class:
> >> >>>>
> >> >>>> Before:
> >> >>>>
> >> >>>> Implementing class
> >> >>>>
> >> >>>> After:
> >> >>>>
> >> >>>> Class test.ICC3_B implements test.ICC3_A, which is not an interface
> >> >>>>
> >> >>>> 2. If a class is loaded requiring a super class that's already loaded as
> >> >> interface.
> >> >>>> Implemented a test. Message unchanged:
> >> >>>>
> >> >>>> class test.ICC4_B has interface test.ICC4_iA as super class
> >> >>>>
> >> >>>> 3. 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:
> >> >>>>
> >> >>>> Can not call method because resolved class test.ICC5_B does not
> >> >> implement
> >> >>>> the interface test.ICC4_iA defining the method.
> >> >>>>
> >> >>>> No test implemented for this message
> >> >>>>
> >> >>>> Feel free to propose better message.
> >