Skip to content

Commit

Permalink
Add library model for Files.isDirectory (#913)
Browse files Browse the repository at this point in the history
The first parameter cannot be `null`.

Fixes #912
  • Loading branch information
msridhar committed Feb 16, 2024
1 parent 0b73281 commit d1d1fbc
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -681,6 +681,11 @@ private static class DefaultLibraryModels implements LibraryModels {
.put(methodRef("java.util.ArrayDeque", "offer(E)"), 0)
.put(methodRef("java.util.ArrayDeque", "push(E)"), 0)
.put(methodRef("java.util.ArrayDeque", "<T>toArray(T[])"), 0)
.put(
methodRef(
"java.nio.file.Files",
"isDirectory(java.nio.file.Path,java.nio.file.LinkOption...)"),
0)
.build();

private static final ImmutableSetMultimap<MethodRef, Integer> NULL_IMPLIES_TRUE_PARAMETERS =
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -899,4 +899,22 @@ public void apacheValidateStringValidIndex() {
"}")
.doTest();
}

@Test
public void filesIsDirectory() {
defaultCompilationHelper
.addSourceLines(
"Foo.java",
"package com.uber;",
"import java.nio.file.Files;",
"import java.nio.file.Path;",
"import org.jetbrains.annotations.Nullable;",
"public class Foo {",
" public boolean bar(@Nullable Path p) {",
" // BUG: Diagnostic contains: passing @Nullable parameter 'p' where @NonNull is required",
" return Files.isDirectory(p);",
" }",
"}")
.doTest();
}
}

0 comments on commit d1d1fbc

Please sign in to comment.