On Sep 22, 2017, at 8:14 AM, Brian Goetz <brian.go...@oracle.com> wrote: > > First we tried a more formal separation between "Constable" and > "ConstantPoolEntry." Then we tried a CP-entry-centric approach. And what > that brought us back to was, that the central abstraction here is the > symbolic reference
In hindsight here's how I see this choice: In the JVMS, symbolic references sit between the low-level constant pool structures of JVMS 4.4 and the resolved "live" values of JVMS 5.4.3. They are decoupled from the concrete, static structures of 4.4 but are not yet resolved. As such, they are exactly the right level for this API, since it models the unresolved references, but without imitating their bitwise layouts in the class file.