Signature.TypeArg to change to algebraic type
Brian Goetz
brian.goetz at oracle.com
Sat Nov 4 14:06:12 UTC 2023
Makes sense. Would be good to rough this out to see the impact on the
codebase?
On 11/3/2023 9:23 PM, - wrote:
> Hello,
> I am currently looking into reimplementing core reflection's signature
> parsing to be based off the new Class-file API.
>
> One thing I noticed when using Signature.TypeArg is that it is a
> perfect candidate for algebraic data type, like:
> TypeArg
> - Unbounded: a singleton ENUM
> - Bounded: has 2 fields: 3-way wildcard indicator (+-and none), a
> RefTypeSig
>
> Alternatively, Bounded can be split into 3 classes that each hold a
> RefTypeSig instead of using the 3-way indicator, for the ref type sig
> is not really interchangeable.
>
> This model's main advantage is that users can be assured that they can
> just obtain RefTypeSig if the TypeArg is bounded, without having to
> write dubious Optional.get()/orElseThrow() in user code.
>
> Best,
> Chen Liang
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://mail.openjdk.org/pipermail/classfile-api-dev/attachments/20231104/25b6c9b1/attachment.htm>
More information about the classfile-api-dev
mailing list