Signature.TypeArg to change to algebraic type
-
liangchenblue at gmail.com
Sat Nov 4 01:23:04 UTC 2023
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/d3dce0ea/attachment-0001.htm>
More information about the classfile-api-dev
mailing list