[lworld] RFR: 8244235: java.lang.NoSuchFieldError: this when initializing an inner class inside an inline type

Srikanth Adayapalam sadayapalam at openjdk.java.net
Tue May 12 05:19:34 UTC 2020


Jim, Thanks for reviewing this small fix.

Basically, javac mistakenly treats references to 'this' as an instance field.
Fix is to handle this particular case specially and return the value factory
product which is the proxy for 'this' in the inline factory.

I renamed a method suitably for better clarity. Of the three call sites only
one needed change. It is implausible in the other two sites that the symbol
involved is 'this' (since 'this' cannot be assigned to and qualified this would
have been lowered already)

-------------

Commit messages:
 - 8244235: java.lang.NoSuchFieldError: this when initializing an inner class inside an inline type

Changes: https://git.openjdk.java.net/valhalla/pull/42/files
 Webrev: https://webrevs.openjdk.java.net/valhalla/42/webrev.00
  Issue: https://bugs.openjdk.java.net/browse/JDK-8244235
  Stats: 59 lines in 2 files changed: 54 ins; 0 del; 5 mod
  Patch: https://git.openjdk.java.net/valhalla/pull/42.diff
  Fetch: git fetch https://git.openjdk.java.net/valhalla pull/42/head:pull/42

PR: https://git.openjdk.java.net/valhalla/pull/42


More information about the valhalla-dev mailing list