From 4df3eb5c31ac6e079bd188b411e847320c64b7c1 Mon Sep 17 00:00:00 2001 From: Suzanne Millstein Date: Fri, 30 Sep 2022 14:42:21 -0700 Subject: [PATCH] Convert typevars to "uses" before substitution; fixes #5245 --- checker/tests/nullness/Issue5245.java | 10 ++++------ .../framework/util/AnnotatedTypes.java | 2 +- 2 files changed, 5 insertions(+), 7 deletions(-) diff --git a/checker/tests/nullness/Issue5245.java b/checker/tests/nullness/Issue5245.java index 6fb67aea644..a0d02a81c83 100644 --- a/checker/tests/nullness/Issue5245.java +++ b/checker/tests/nullness/Issue5245.java @@ -1,11 +1,9 @@ // Test case for https://github.com/typetools/checker-framework/issues/5245 - -// @skip-test until the bug is fixed - +// @below-java9-jdk-skip-test import java.util.List; -class CFRepro { - final CFRepro> repro = new CFRepro<>(List.of()); +class Issue5245 { + final Issue5245> repro = new Issue5245<>(List.of()); - CFRepro(V unknownObj) {} + Issue5245(V unknownObj) {} } diff --git a/framework/src/main/java/org/checkerframework/framework/util/AnnotatedTypes.java b/framework/src/main/java/org/checkerframework/framework/util/AnnotatedTypes.java index b5aab6b2b71..01f59a09945 100644 --- a/framework/src/main/java/org/checkerframework/framework/util/AnnotatedTypes.java +++ b/framework/src/main/java/org/checkerframework/framework/util/AnnotatedTypes.java @@ -562,7 +562,7 @@ private static void addTypeVarMappings( } for (int i = 0; i < ownerParams.size(); ++i) { - mappings.put(ownerParams.get(i).getUnderlyingType(), baseParams.get(i)); + mappings.put(ownerParams.get(i).getUnderlyingType(), baseParams.get(i).asUse()); } }