RFR: 8294982: Implementation of Classfile API [v12]
Adam Sotona
asotona at openjdk.org
Fri Feb 10 11:02:01 UTC 2023
On Thu, 9 Feb 2023 12:45:27 GMT, Maurizio Cimadamore <mcimadamore at openjdk.org> wrote:
>> During the fix I found the definition that `ThrowableSig` (as a super-set of `ClassTypeSig` and `TypeVarSig`) IS `Signature` - that fact is critical for processing.
>> For example when `MethodSignature` is serialized `ThrowableSig::signatureString` is critical.
>> Or `ClassRemapper` depends on the inheritence:
>>
>> signature.throwableSignatures().stream().map(this::mapSignature).toList()
>>
>> however `mapSignature` could not be applied on `ThrowableSig` when it does not inherit from `Signature`.
>
> I think I also see where the current hierarchy comes from - e.g. while `ThrowableSig` is a part of a method signature, it is indeed used by the production to specify a set of signatures that belong to that set. Thanks for the patience.
No problem, I had to remind myself all the reasons why does it look like Rubik's cube :)
-------------
PR: https://git.openjdk.org/jdk/pull/10982
More information about the build-dev
mailing list