hg: valhalla/valhalla/langtools: Add support for tracking 'any'-related opcodes
john.r.rose at oracle.com
Thu Jul 24 20:44:09 UTC 2014
On Jul 24, 2014, at 9:19 AM, Remi Forax <forax at univ-mlv.fr> wrote:
> new if different of anewarray, i don't think you can specialize new.
> anewarray is equivalent to getfield, the syntax use an internal name instead of a descriptor which is an historical glitch in my opinion
FTR, here's a standing proposal to patch over that historical glitch (break glass in case of emergency):
- If the string foo is a valid class name, then Lfoo; is a valid descriptor (existing rule)
- If the string bar is a valid descriptor, then .bar is a valid class name (new rule)
- But, L.foo; is never a valid descriptor (normality condition, excluding '.' from descriptors)
If (which is not necessarily true) the dot only ever needs to appear in the leading position of a CONSTANT_Class string, then we can also consider (equivalently) introducing a new type CONSTANT_Signature and allow it to occur in some places CONSTANT_Class is valid today. In that case, the "leading dot" notation could still be useful when rendering descriptors as class name strings.
More information about the valhalla-dev