aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorManu Sridharan <msridhar@gmail.com>2024-03-04 07:49:38 -0800
committerGitHub <noreply@github.com>2024-03-04 07:49:38 -0800
commitd7c757f5be547ca298f17625234a8c913adeb099 (patch)
treee3f450a608950290b319db69dcb9198843cbfad0
parenta42b3a8b97a216ed75c324e10ab48a63052cc9d6 (diff)
downloadnullaway-d7c757f5be547ca298f17625234a8c913adeb099.tar.gz
Fix another JSpecify raw type issue (#925)
-rw-r--r--nullaway/src/main/java/com/uber/nullaway/generics/GenericsChecks.java4
-rw-r--r--nullaway/src/test/java/com/uber/nullaway/NullAwayJSpecifyGenericsTests.java18
2 files changed, 19 insertions, 3 deletions
diff --git a/nullaway/src/main/java/com/uber/nullaway/generics/GenericsChecks.java b/nullaway/src/main/java/com/uber/nullaway/generics/GenericsChecks.java
index aad9247..c863781 100644
--- a/nullaway/src/main/java/com/uber/nullaway/generics/GenericsChecks.java
+++ b/nullaway/src/main/java/com/uber/nullaway/generics/GenericsChecks.java
@@ -1,7 +1,6 @@
package com.uber.nullaway.generics;
import static com.google.common.base.Verify.verify;
-import static com.uber.nullaway.NullabilityUtil.castToNonNull;
import com.google.errorprone.VisitorState;
import com.google.errorprone.suppliers.Supplier;
@@ -687,8 +686,7 @@ public final class GenericsChecks {
return Nullness.NONNULL;
}
Type enclosingType =
- castToNonNull(
- getTreeType(((MemberSelectTree) tree.getMethodSelect()).getExpression(), state));
+ getTreeType(((MemberSelectTree) tree.getMethodSelect()).getExpression(), state);
return getGenericMethodParameterNullness(
paramIndex, invokedMethodSymbol, enclosingType, state, config);
}
diff --git a/nullaway/src/test/java/com/uber/nullaway/NullAwayJSpecifyGenericsTests.java b/nullaway/src/test/java/com/uber/nullaway/NullAwayJSpecifyGenericsTests.java
index cfedaa3..91063e4 100644
--- a/nullaway/src/test/java/com/uber/nullaway/NullAwayJSpecifyGenericsTests.java
+++ b/nullaway/src/test/java/com/uber/nullaway/NullAwayJSpecifyGenericsTests.java
@@ -1718,6 +1718,24 @@ public class NullAwayJSpecifyGenericsTests extends NullAwayTestsBase {
}
@Test
+ public void testRawTypeReceiverCast() {
+ makeHelper()
+ .addSourceLines(
+ "Test.java",
+ "package com.uber;",
+ "class Test {",
+ " static class A<T> {",
+ " void foo(T n) {}",
+ " }",
+ " static class B {",
+ " static <T> void bar(A<T> a) {",
+ " ((A) a).foo(new Object());",
+ " }",
+ " }",
+ "}")
+ .doTest();
+ }
+
public void boxInteger() {
makeHelper()
.addSourceLines(