This is probably a remain of the L/Q model, where a value class could be
referenced either as a L-type or a Q-type. L-Foo.x and Q-Foo.x pointed
to the same place in the layout, so there wasn’t a justification to make
a L/Q distinction here.

With LW3, L-Foo and Q-Foo are two different types, so FieldRef/MethodRef
should definitively accept types there (with an explicit Q-envelope or
an implicit L-envelope).

Fred


> On Jun 2, 2020, at 18:13, Dan Smith <daniel.sm...@oracle.com> wrote:
> 
> Fieldref/Methodref are an anomaly, where the current Valhalla design tries to 
> maintain that it's a class/interface reference, not a type (e.g., we prohibit 
> inline types here), even though array types can also be used. We might be 
> happier embracing that the class_index of a Fieldref/Methodref is the type of 
> the first argument and a type to search for members. (I'm on the fence about 
> this.)

Reply via email to