Skip to content

com.uber.nullaway.generics.CheckIdenticalNullabilityVisitor.visitClassType Did not find supertype of #1008

@agentgt

Description

@agentgt

NullAway 0.11.0 with JSpecifyMode turned on crashes for the following class:

https://github.com/jstachio/rainbowgum/blob/31c71243eef1661513516938005a064663930bf2/core/src/test/java/io/jstach/rainbowgum/EnumCombinations.java#L26

/Users/agent/projects/rainbowgum/core/src/test/java/io/jstach/rainbowgum/EnumCombinations.java:[26,43] error: An unhandled exception was thrown by the Error Prone static analysis plugin.
     Please report this at https://github.com/google/error-prone/issues/new and include the following:

     error-prone version: 2.28.0
     BugPattern: NullAway
     Stack Trace:
     java.lang.RuntimeException: Did not find supertype of java.lang.Class<? extends java.lang.Enum<?>>[] matching java.lang.Class<? extends java.lang.Enum<?>>
  	at com.uber.nullaway.generics.CheckIdenticalNullabilityVisitor.visitClassType(CheckIdenticalNullabilityVisitor.java:33)
  	at com.uber.nullaway.generics.CheckIdenticalNullabilityVisitor.visitClassType(CheckIdenticalNullabilityVisitor.java:14)
  	at jdk.compiler/com.sun.tools.javac.code.Type$ClassType.accept(Type.java:1050)
  	at com.uber.nullaway.generics.GenericsChecks.identicalTypeParameterNullability(GenericsChecks.java:386)
  	at com.uber.nullaway.generics.GenericsChecks.subtypeParameterNullability(GenericsChecks.java:415)
  	at com.uber.nullaway.generics.GenericsChecks.compareGenericTypeParameterNullabilityForCall(GenericsChecks.java:535)
  	at com.uber.nullaway.NullAway.handleInvocation(NullAway.java:1774)
  	at com.uber.nullaway.NullAway.matchMethodInvocation(NullAway.java:408)
  	at com.google.errorprone.scanner.ErrorProneScanner.processMatchers(ErrorProneScanner.java:449)
  	at com.google.errorprone.scanner.ErrorProneScanner.visitMethodInvocation(ErrorProneScanner.java:746)
  	at com.google.errorprone.scanner.ErrorProneScanner.visitMethodInvocation(ErrorProneScanner.java:150)
  	at jdk.compiler/com.sun.tools.javac.tree.JCTree$JCMethodInvocation.accept(JCTree.java:1832)
  	at jdk.compiler/com.sun.source.util.TreePathScanner.scan(TreePathScanner.java:92)

Happy to provide more information.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions