<html xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1252">
<meta name="Generator" content="Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0cm;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
.MsoChpDefault
{mso-style-type:export-only;
font-size:10.0pt;}
@page WordSection1
{size:612.0pt 792.0pt;
margin:72.0pt 72.0pt 72.0pt 72.0pt;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:1612394369;
mso-list-template-ids:1266820400;}
ol
{margin-bottom:0cm;}
ul
{margin-bottom:0cm;}
--></style>
</head>
<body lang="en-CZ" link="blue" vlink="purple" style="word-wrap:break-word">
<div class="WordSection1">
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">Hi,<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">Part of the Classfile Processing API is access flags modeling. We held our own copy of AccessFlag class while waiting for
</span><span style="mso-fareast-language:EN-US"><a href="https://bugs.openjdk.org/browse/JDK-8266670">JDK-8266670</a></span><span lang="EN-US" style="mso-fareast-language:EN-US"> “</span><span style="mso-fareast-language:EN-US">Better modeling of access flags
in core reflection</span><span lang="EN-US" style="mso-fareast-language:EN-US">”.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">Good news is that </span>java.lang.reflect.AccesFlag<span lang="EN-US"> class has been recently integrated into JDK.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">And the two commits below refactored Classfile API (including tests, benchmarks and JDK use cases) to use
</span>java.lang.reflect.AccesFlag <span lang="EN-US">instead.<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US">Both branches (<a href="https://github.com/openjdk/jdk-sandbox/tree/classfile-api-branch">classfile-api-branch</a> and
<a href="https://github.com/openjdk/jdk-sandbox/tree/classfile-api-dev-branch">classfile-api-dev-branch</a>) and
<a href="https://htmlpreview.github.io/?https://raw.githubusercontent.com/openjdk/jdk-sandbox/classfile-api-javadoc-branch/doc/classfile-api/javadoc/jdk/classfile/package-summary.html">
online API doc</a> have been updated. <o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US">Adam<o:p></o:p></span></p>
<p class="MsoNormal"><span lang="EN-US" style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<p class="MsoNormal"><span style="mso-fareast-language:EN-US"><o:p> </o:p></span></p>
<div style="border:none;border-top:solid #B5C4DF 1.0pt;padding:3.0pt 0cm 0cm 0cm">
<p class="MsoNormal" style="margin-bottom:12.0pt"><b><span style="font-size:12.0pt;color:black">From:
</span></b><span style="font-size:12.0pt;color:black">jdk-sandbox-changes <jdk-sandbox-changes-retn@openjdk.org> on behalf of Adam Sotona <asotona@openjdk.org><br>
<b>Date: </b>Monday, 27 June 2022 13:23<br>
<b>To: </b>jdk-sandbox-changes@openjdk.org <jdk-sandbox-changes@openjdk.org><br>
<b>Subject: </b>git: openjdk/jdk-sandbox: classfile-api-dev-branch: 2 new changesets<o:p></o:p></span></p>
</div>
<div>
<p class="MsoNormal" style="margin-bottom:12.0pt">Changeset: a1a316ea<br>
Author: Adam Sotona <asotona@openjdk.org><br>
Date: 2022-06-27 12:54:51 +0000<br>
URL: <a href="https://git.openjdk.org/jdk-sandbox/commit/a1a316ea4e4d1a2540852031f8bb5cb575bee8cf">
https://git.openjdk.org/jdk-sandbox/commit/a1a316ea4e4d1a2540852031f8bb5cb575bee8cf</a><br>
<br>
removal of jdk.classfile.jdktypes.AccessFlag and redirection to java.lang.reflect.AccesFlag in Classfile API and tests<br>
<br>
! src/java.base/share/classes/jdk/classfile/AccessFlags.java<br>
! src/java.base/share/classes/jdk/classfile/ClassBuilder.java<br>
! src/java.base/share/classes/jdk/classfile/Classfile.java<br>
! src/java.base/share/classes/jdk/classfile/FieldBuilder.java<br>
! src/java.base/share/classes/jdk/classfile/MethodBuilder.java<br>
! src/java.base/share/classes/jdk/classfile/attribute/InnerClassInfo.java<br>
! src/java.base/share/classes/jdk/classfile/attribute/MethodParameterInfo.java<br>
! src/java.base/share/classes/jdk/classfile/attribute/ModuleAttribute.java<br>
! src/java.base/share/classes/jdk/classfile/attribute/ModuleExportInfo.java<br>
! src/java.base/share/classes/jdk/classfile/attribute/ModuleOpenInfo.java<br>
! src/java.base/share/classes/jdk/classfile/attribute/ModuleRequireInfo.java<br>
! src/java.base/share/classes/jdk/classfile/impl/AccessFlagsImpl.java<br>
! src/java.base/share/classes/jdk/classfile/impl/ClassImpl.java<br>
! src/java.base/share/classes/jdk/classfile/impl/StackMapDecoder.java<br>
! src/java.base/share/classes/jdk/classfile/impl/Util.java<br>
! src/java.base/share/classes/jdk/classfile/impl/verifier/VerificationWrapper.java<br>
- src/java.base/share/classes/jdk/classfile/jdktypes/AccessFlag.java<br>
! src/java.base/share/classes/jdk/classfile/snippets/PackageSnippets.java<br>
! src/java.base/share/classes/jdk/classfile/transforms/CodeLocalsShifter.java<br>
! test/jdk/jdk/classfile/AccessFlagsTest.java<br>
! test/jdk/jdk/classfile/AdvancedTransformationsTest.java<br>
! test/jdk/jdk/classfile/BuilderBlockTest.java<br>
! test/jdk/jdk/classfile/LDCTest.java<br>
! test/jdk/jdk/classfile/LowAdaptTest.java<br>
! test/jdk/jdk/classfile/LvtTest.java<br>
! test/jdk/jdk/classfile/MassAdaptCopyPrimitiveMatchCodeTest.java<br>
! test/jdk/jdk/classfile/OneToOneTest.java<br>
! test/jdk/jdk/classfile/OpcodesValidationTest.java<br>
! test/jdk/jdk/classfile/StackMapsTest.java<br>
! test/jdk/jdk/classfile/TempConstantPoolBuilderTest.java<br>
! test/jdk/jdk/classfile/WriteTest.java<br>
! test/jdk/jdk/classfile/examples/ExampleGallery.java<br>
! test/micro/org/openjdk/bench/jdk/classfile/ReadMetadata.java<br>
! test/micro/org/openjdk/bench/jdk/classfile/Write.java<br>
<br>
Changeset: ee472295<br>
Author: Adam Sotona <asotona@openjdk.org><br>
Date: 2022-06-27 13:22:35 +0000<br>
URL: <a href="https://git.openjdk.org/jdk-sandbox/commit/ee472295ad4466ba07ddc6c22a23424b98bb9c89">
https://git.openjdk.org/jdk-sandbox/commit/ee472295ad4466ba07ddc6c22a23424b98bb9c89</a><br>
<br>
redirection of AccessFlag use cases to java.lang.reflect.AccesFlag in JDK integrations<br>
<br>
! src/java.base/share/classes/java/lang/Module.java<br>
! src/java.base/share/classes/java/lang/invoke/ClassSpecializer.java<br>
! src/java.base/share/classes/java/lang/invoke/GenerateJLIClassesHelper.java<br>
! src/java.base/share/classes/java/lang/invoke/MethodHandleImpl.java<br>
! src/jdk.jdeps/share/classes/com/sun/tools/javap/AttributeWriter.java<br>
! src/jdk.jdeps/share/classes/com/sun/tools/javap/ClassWriter.java</p>
</div>
</div>
</body>
</html>