On Wed, 28 Aug 2024 08:11:08 GMT, Eirik Bjørsnøs <eir...@openjdk.org> wrote:

>> Please review this PR which suggests to deprecate the unused class 
>> `java.util.zip.ZipError` for removal.
>> 
>> The class has been unsed by OpenJDK since  the ZIP API was rewritten from 
>> native to Java in JDK 9.
>> 
>> I opted to not explain the reason for the deprecation in detail, but instead 
>> simply point to `ZipException` as an alternative. Should more explanation be 
>> desired, I could prepend that with a note saying that the class is unused 
>> since JDK 9.
>> 
>> A CSR for this API update has been drafted, I'll update the Specification 
>> section there once we reach a concensus on the deprecation note in this PR.
>> 
>> This deprecation was initially suggested here: 
>> https://mail.openjdk.org/pipermail/core-libs-dev/2024-June/125720.html
>
> Eirik Bjørsnøs has updated the pull request with a new target base due to a 
> merge or a rebase. The incremental webrev excludes the unrelated changes 
> brought in by the merge/rebase. The pull request contains five additional 
> commits since the last revision:
> 
>  - Merge branch 'master' into ziperror-deprecation
>  - Simplify the deprecation note by focusing on behavior in the current 
> release
>  - Extend the deprecation note to mention that the error became obsolete in 
> JDK 9 and to mention that code may be updated to catch the super class 
> InternalError
>  - Update copyright year
>  - Deprecate java.util.zip.ZipError for removal

The issue with removing `ZipError` (or any other exception class, such as 
`SecurityException`), is that existing classes which reference it in the 
`exception_table` of a `Code` attribute will fail verification.

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

This is different from referencing removed classes in method or field 
descriptors, those get treated as if they had the following declaration for the 
purposes of verification when determining whether `checkcast`s are necessary:

public abstract final class <name> extends Object {
}

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

PR Comment: https://git.openjdk.org/jdk/pull/20642#issuecomment-2386382509

Reply via email to