RFR: 8345911: Enhance error message when IncompatibleClassChangeError is thrown for sealed class loading failures [v4]
David Holmes
dholmes at openjdk.org
Tue Dec 17 04:01:40 UTC 2024
On Mon, 16 Dec 2024 22:34:43 GMT, Coleen Phillimore <coleenp at openjdk.org> wrote:
>> David Holmes has updated the pull request incrementally with one additional commit since the last revision:
>>
>> Update messages per feedback from Alan
>
> src/hotspot/share/classfile/moduleEntry.hpp line 191:
>
>> 189: const char* name_as_C_string() {
>> 190: return is_named() ? name()->as_C_string() : UNNAMED_MODULE;
>> 191: }
>
> Maybe PackageEntry::name_as_C_string() should get the same helper function.
Can't do that. The un-named package means you have no PackageEntry and package() returns null.
> src/hotspot/share/oops/instanceKlass.cpp line 234:
>
>> 232: "and sealed class %s is in module '%s' with loader %s",
>> 233: k->external_name(), k->module()->name_as_C_string(), k->module()->loader_data()->loader_name_and_id(),
>> 234: this->external_name(), this->module()->name_as_C_string(), this->module()->loader_data()->loader_name_and_id());
>
> I was going to suggest less verbosity by creating local variables above like this_loader_data and k_loader_data but maybe it's not that useful. At any rate, could you put each of these long parameters on each line?
Done
> src/hotspot/share/oops/instanceKlass.cpp line 246:
>
>> 244: this->external_name(), this->package() != nullptr ? this->package()->name()->as_C_string() : "unnamed",
>> 245: this->module()->loader_data()->loader_name_and_id());
>> 246: log_trace(class, sealed)(" - %s", ss.as_string());
>
> Same here - put each parameter on its own line.
Done
-------------
PR Review Comment: https://git.openjdk.org/jdk/pull/22703#discussion_r1887861438
PR Review Comment: https://git.openjdk.org/jdk/pull/22703#discussion_r1887861118
PR Review Comment: https://git.openjdk.org/jdk/pull/22703#discussion_r1887861633
More information about the hotspot-dev
mailing list