-
Notifications
You must be signed in to change notification settings - Fork 437
AsSuperVisitor: type is not an erased subtype of supertype #4523
Copy link
Copy link
Closed
Labels
Description
import org.checkerframework.checker.nullness.qual.Nullable;
interface A<T extends A<T>> extends B<T> {}
interface B<T extends B<T>> {
@Nullable
T g();
}
class T {
void f(A<?> x) {
A<?> y = x.g() != null ? x.g() : x;
}
}$ ./checker-framework-3.12.0/checker/bin/javac -processor Nullness T.java |& head -n 30
error: Error in AnnotatedTypeMirror.fromExpression(KeyForAnnotatedTypeFactory, x.g() != null ? x.g() : x): AsSuperVisitor: type is not an erased subtype of supertype.
type: B<T extends B<T extends B<T>>>
superType: A
; The Checker Framework crashed. Please report the crash.
Compilation unit: T.java
Last visited tree at line 10 column 1:
class T {
Exception: org.checkerframework.javacutil.BugInCF: AsSuperVisitor: type is not an erased subtype of supertype.
type: B<T extends B<T extends B<T>>>
superType: A; org.checkerframework.javacutil.BugInCF: AsSuperVisitor: type is not an erased subtype of supertype.
type: B<T extends B<T extends B<T>>>
superType: A
at org.checkerframework.framework.type.AsSuperVisitor.errorTypeNotErasedSubtypeOfSuperType(AsSuperVisitor.java:145)
at org.checkerframework.framework.type.AsSuperVisitor.visitDeclared_Declared(AsSuperVisitor.java:333)
at org.checkerframework.framework.type.AsSuperVisitor.visitDeclared_Declared(AsSuperVisitor.java:29)
at org.checkerframework.framework.util.AtmCombo.accept(AtmCombo.java:311)
at org.checkerframework.framework.type.visitor.AbstractAtmComboVisitor.visit(AbstractAtmComboVisitor.java:65)
at org.checkerframework.framework.type.AsSuperVisitor.visit(AsSuperVisitor.java:98)
at org.checkerframework.framework.type.AsSuperVisitor.visitWildcard_NotTypvarNorWildcard(AsSuperVisitor.java:723)
at org.checkerframework.framework.type.AsSuperVisitor.visitWildcard_Declared(AsSuperVisitor.java:739)
at org.checkerframework.framework.type.AsSuperVisitor.visitWildcard_Declared(AsSuperVisitor.java:29)
at org.checkerframework.framework.util.AtmCombo.accept(AtmCombo.java:627)
Reactions are currently unavailable