On Thu, 9 Feb 2023 12:45:27 GMT, Maurizio Cimadamore <mcimadam...@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

Reply via email to