RFR: 8329099: Undocumented exception thrown by Instruction factory methods accepting Opcode [v2]

ExE Boss duke at openjdk.org
Wed Apr 3 11:44:59 UTC 2024


On Wed, 3 Apr 2024 10:06:31 GMT, Adam Sotona <asotona at openjdk.org> wrote:

>> `IllegalArgumentException` thrown by some static factory methods of the following `java.lang.classfile.instruction` interfaces are not documented:
>> 
>> - `ArrayLoadInstruction`
>> - `ArrayStoreInstruction`
>> - `BranchInstruction`
>> - `ConvertInstruction`
>> - `DiscontinuedInstruction`
>> - `FieldInstruction`
>> - `InvokeInstruction`
>> - `LoadInstruction`
>> - `MonitorInstruction`
>> - `NewPrimitiveArrayInstruction`
>> - `OperatorInstruction`
>> - `ReturnInstruction`
>> - `StackInstruction`
>> - `StoreInstruction`
>> - `TypeCheckInstruction`
>> 
>> `NewPrimitiveArrayInstruction::of` factory method also does not perform the check for invalid argument.
>> 
>> This patch adds all the missing `@throws` Javadoc tags and fixes `NewPrimitiveArrayInstruction::of` factory method to perform the argument check.
>> 
>> Please review.
>> 
>> Thank you,
>> Adam
>
> Adam Sotona has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Apply suggestions from code review
>   
>   Co-authored-by: ExE Boss <3889017+ExE-Boss at users.noreply.github.com>

The following factory methods are also missing `@throws IllegalArgumentException`:
- `ConstantInstruction::ofIntrinsic`
- `ConstantInstruction::ofArgument`
- `ConstantInstruction::ofLoad`

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

PR Comment: https://git.openjdk.org/jdk/pull/18578#issuecomment-2034350493


More information about the core-libs-dev mailing list