<div dir="ltr"><div>Sorry for another post with three points.</div><div><br></div><div>In Opcode.java, the TypeKind of ISHR & LSHR does not match the opcode:<br><br>    ISHR(Classfile.ISHR, 1, CodeElement.Kind.OPERATOR, TypeKind.FloatType),<br>    LSHR(Classfile.LSHR, 1, CodeElement.Kind.OPERATOR, TypeKind.DoubleType),<br><br><br>Both CodeModel and CodeAttribute (from the published API) depend on<br>jdk.classfile.impl.LabelResolver (from the implementation package) for<br>the method labelToBci().  Maybe LabelResolver should be moved into the<br>published API as well?<br><br><br>Finally, may I ask for an overload `of(ClassDesc,int)` in<br>j.cf.i.NewMultiArrayInstruction similar to the one e.g. offered by<br>TypeCheckInstruction?  Being able to create simple instructions<br>outside of a CodeBuilder simplifies my intermediate representation<br>significantly.  I can handle all the simple instructions with a single<br>node class, and only have to define dedicated classes for more<br>complicated higher-level stuff.  Without the ClassDesc overload, I<br>would have to move NMAI from the generic into the dedicated category.<br></div><div><br></div><div>-- mva</div><div><br></div></div>