On Tue, 14 Mar 2023 12:55:38 GMT, Adam Sotona <asot...@openjdk.org> wrote:

>> 8294962: java.base jdk.internal.module package uses ASM to modify and write 
>> module-info.class.
>> This patch converts it to use Classfile API.
>> 
>> Please review.
>> Thanks,
>> Adam
>
> Adam Sotona has updated the pull request incrementally with five additional 
> commits since the last revision:
> 
>  - fixed ModuleDescriptorTest::testReadsWithBadPackageFinder to use Classfile 
> API directly to generate modules descriptor without ModulePackagesAttribute
>  - ModuleInfoWriter converted to support invalid module names and emit 
> ModulePackagesAttribute if packages are provided
>  - fixed Classfile API tests
>  - added ModuleAttribute::of(ModuleEntry, Consumer<ModuleAttributeBuilder>)
>  - removed obsolete Classfile.buildModule method argument List<PackageDesc> 
> and obsolete method overrides

Marked as reviewed by alanb (Reviewer).

src/java.base/share/classes/jdk/internal/classfile/Classfile.java line 293:

> 291:     }
> 292: 
> 293:     public static final int MAGIC_NUMBER = 0xCAFEBABE;

Dropping the packages parameter and the buildModuleTo overloads looks good.

src/java.base/share/classes/jdk/internal/module/ModuleInfoExtender.java line 
199:

> 197:                 clb.accept(cle);
> 198:             }
> 199:         }));

Updated ModuleInfoExtender looks okay.

src/java.base/share/classes/jdk/internal/module/ModuleInfoWriter.java line 167:

> 165:                     
> clb.with(ModuleTargetAttribute.of(target.targetPlatform()));
> 166:                 }
> 167:             });

The update ModuleInfoWriter looks fine.

test/jdk/java/lang/module/ModuleDescriptorTest.java line 1375:

> 1373:                 ModuleAttribute.of(ModuleDesc.of("foo"), mb -> mb
> 1374:                         .requires(ModuleDesc.of("java.base"), 0, null)
> 1375:                         .exports(PackageDesc.of("p"), 0))));

If you split this up into two or third steps then it would be easier to 
read/debug.

-------------

PR: https://git.openjdk.org/jdk/pull/11368

Reply via email to