RFR: 8321248: ClassFile API ClassModel::verify is inconsistent with the rest of the API [v2]

Adam Sotona asotona at openjdk.org
Wed Dec 6 15:34:46 UTC 2023


On Wed, 6 Dec 2023 10:40:51 GMT, Adam Sotona <asotona at openjdk.org> wrote:

>> ClassFile API `ClassModel::verify` accepts `ClassHierarchyResolver` as an optional argument and does not respect `ClassFile.ClassHierarchyResolverOption` of the actual context.
>> Parsing, building and transforming take options from the actual `ClassFile` context and verification should follow the same API pattern.
>> 
>> This patch removes `ClassModel::verify` methods and introduces new top level methods:
>> 
>> List<VerifyError> ClassFile::verify(ClassModel model);
>> List<VerifyError> ClassFile::verify(byte[] bytes);
>> List<VerifyError> ClassFile::verify(Path path);
>> 
>> 
>> Impact of the API change is minimal as the API has not been released yet.
>> 
>> Please review.
>> 
>> Thanks,
>> Adam
>
> Adam Sotona has updated the pull request incrementally with one additional commit since the last revision:
> 
>   reverted modified test

Thank you for the reviews.

Yes, next step is to improve verifier range and also cover it with negative tests (see https://github.com/openjdk/jdk/pull/16809/files#diff-a23859572e86e946a9ce66361e64e4b7e4473f134bb49a248fccd70d2ac96ea2)

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

PR Comment: https://git.openjdk.org/jdk/pull/16947#issuecomment-1843120837


More information about the core-libs-dev mailing list