- when
.allLineLocations is called on the Lam class, it does reflect all of these line numbers.
- when a JDI
Event happens within the lambda class (e.g. from stepping), the .sourceName() of the location throws an AbsentInformationException
- it looks like
jdk.internal.org.objectweb.asm.* is doing a bunch of stuff related to copying the lambda
- I'm not sure if the map from source lines to bytecodes is kept in Java, or in the JDI
So my working hypothesis is that when the lambda's class is created at runtime, the JDI needs to do something to recognize that the new class's bytecode is coming from the old class's bytecode (which is in turn coming from from Lam.java). I don't know enough about the internal representation of java.lang.Class or com.sun.jdi.ClassType to know where to begin.