<html><head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<br>
<blockquote type="cite" cite="mid:CANghgrR6WoNiPjZ8SoBxei=SNCh9uSs4n8H6rPL0BwOgyfn3iw@mail.gmail.com">
<div dir="ltr">
<div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px
0.8ex;border-left:1px solid
rgb(204,204,204);padding-left:1ex">
<div>
<blockquote type="cite">
<div dir="ltr">
<div style="font-family:arial,helvetica,sans-serif">Obviously
this is wandering dangerously close to the bikeshed
borderline, however one other real-world advantage
is that an enum constant in a more specific
`*Opcode` subtype type can store more useful
information about itself that a consumer could use;
for example, the opcode constant for `IFEQ` could
have a method `complement` which yields `IFNE`,
which can be useful for simplifying some code
generators (and I can think of specific cases both
within qbicc and within Quarkus where this would
have been useful).</div>
</div>
</blockquote>
<br>
This method exists in the library as an Opcode ->
Opcode method.<br>
</div>
</blockquote>
<div><br>
</div>
<div>
<div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Ah yes, I
found it in `BytecodeHelpers`, excellent. That's in the
`impl` subpackage though, so it doesn't feel very
"public". Perhaps that class could be moved into the
`jdk.classfile` package?</div>
<br>
</div>
</div>
</div>
</blockquote>
<br>
Yes, we've been conservative about what we expose, since its easier
to expose something hidden than vice versa. <br>
<br>
What other transforms on opcodes go along with this?<br>
</body>
</html>