Skip to content

Commit ba9e9b7

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

2 files changed

Lines changed: 17 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: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -831,6 +831,22 @@ void foo() {
831831
.doTest();
832832
}
833833

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

0 commit comments

Comments
 (0)