Skip to content

Commit 3d2ca84

Browse files
committed
Model Map.remove as nullable
Signed-off-by: Vinod Kumar <codingkiddo@gmail.com>
1 parent a232de9 commit 3d2ca84

2 files changed

Lines changed: 19 additions & 0 deletions

File tree

nullaway/src/main/java/com/uber/nullaway/handlers/LibraryModelsHandler.java

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -971,6 +971,7 @@ private static class DefaultLibraryModels implements LibraryModels {
971971
.add(methodRef("java.lang.ref.WeakReference", "get()"))
972972
.add(methodRef("java.nio.file.Path", "getParent()"))
973973
.add(methodRef("java.util.Map", "get(java.lang.Object)"))
974+
.add(methodRef("java.util.Map", "remove(java.lang.Object)"))
974975
.add(methodRef("javax.lang.model.element.Element", "getEnclosingElement()"))
975976
.add(methodRef("javax.lang.model.element.ExecutableElement", "getDefaultValue()"))
976977
.add(methodRef("javax.lang.model.element.PackageElement", "getEnclosingElement()"))

nullaway/src/test/java/com/uber/nullaway/FrameworkTests.java

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -831,6 +831,24 @@ void foo() {
831831
.doTest();
832832
}
833833

834+
@Test
835+
public void defaultLibraryModelsMapRemove() {
836+
defaultCompilationHelper
837+
.addSourceLines(
838+
"Test.java",
839+
"""
840+
package com.uber;
841+
import java.util.Map;
842+
class Test {
843+
void testMapRemove(Map<String, Object> map) {
844+
// BUG: Diagnostic contains: dereferenced expression 'map.remove("key")' is @Nullable
845+
map.remove("key").toString();
846+
}
847+
}
848+
""")
849+
.doTest();
850+
}
851+
834852
@Test
835853
public void mapGetOrDefault() {
836854
String[] sourceLines =

0 commit comments

Comments
 (0)