On Tue, 10 Feb 2026 19:38:12 GMT, Vicente Romero <[email protected]> wrote:

>> emit a lint warning for cases like:
>> 
>> class Test {
>>     String! m(String s) { return ""; }
>> }
>> class Sub extends Test {
>>     @Override
>>     String m(String s) { return null; }
>> }
>> 
>> or:
>> 
>> class Test {
>>     String m(String! s) { return ""; }
>> }
>> class Sub extends Test {
>>     @Override
>>     String m(String s) { return null; }
>> }
>
> Vicente Romero 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 30 additional 
> commits since the last revision:
> 
>  - addressing review comments
>  - addressing review comment
>  - simplifying tests
>  - Merge branch 'bworld' into lint.warning.for.overrides
>  - minor change
>  - adding support for method references
>  - doc changes
>  - adding support for records
>  - Merge branch 'bworld' into lint.warning.for.overrides
>  - minor change
>  - ... and 20 more: 
> https://git.openjdk.org/valhalla/compare/4b32b22f...ed545591

src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java line 4013:

> 4011:                 for (ArgsNullabilityResult incompatibleParam :
> 4012:                         chk.checkArgsNullability(lambdaTypes, argTypes, 
> tree.params)) {
> 4013:                             
> chk.warnNullableTypes(incompatibleParam.position().vartype,

It seems like `position()` can sometimes be `null` ?

e.g.


new ArgsNullabilityResult(
                                overridingArgs.head,
                                overriddenArgs.head,
                                overridingParams != null ? 
overridingParams.head : null)


Surely this would cause an NPE?

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

PR Review Comment: 
https://git.openjdk.org/valhalla/pull/2058#discussion_r2789625047

Reply via email to