From 7daa52669d297b9fa6ea6d4a45a4480def09e49c Mon Sep 17 00:00:00 2001 From: Minghao Li Date: Sat, 16 Mar 2024 23:46:53 -0700 Subject: [PATCH] Issue #14084: fix Checker violation for nonnegative integer argument --- .../checker-index-suppressions.xml | 11 ----------- .../puppycrawl/tools/checkstyle/DetailAstImpl.java | 2 +- .../tools/checkstyle/DetailAstImplTest.java | 11 +++++++++-- 3 files changed, 10 insertions(+), 14 deletions(-) diff --git a/config/checker-framework-suppressions/checker-index-suppressions.xml b/config/checker-framework-suppressions/checker-index-suppressions.xml index 752717ffdde..197ad5a5713 100644 --- a/config/checker-framework-suppressions/checker-index-suppressions.xml +++ b/config/checker-framework-suppressions/checker-index-suppressions.xml @@ -11,17 +11,6 @@ - - src/main/java/com/puppycrawl/tools/checkstyle/DetailAstImpl.java - argument - incompatible argument for parameter bitIndex of BitSet.get. - return getBranchTokenTypes().get(tokenType); -
- found : int - required: @NonNegative int -
-
- src/main/java/com/puppycrawl/tools/checkstyle/DetailAstImpl.java argument diff --git a/src/main/java/com/puppycrawl/tools/checkstyle/DetailAstImpl.java b/src/main/java/com/puppycrawl/tools/checkstyle/DetailAstImpl.java index 474e7380ce8..df06e258c96 100644 --- a/src/main/java/com/puppycrawl/tools/checkstyle/DetailAstImpl.java +++ b/src/main/java/com/puppycrawl/tools/checkstyle/DetailAstImpl.java @@ -384,7 +384,7 @@ private BitSet getBranchTokenTypes() { @Override public boolean branchContains(int tokenType) { - return getBranchTokenTypes().get(tokenType); + return tokenType >= 1 && getBranchTokenTypes().get(tokenType); } @Override diff --git a/src/test/java/com/puppycrawl/tools/checkstyle/DetailAstImplTest.java b/src/test/java/com/puppycrawl/tools/checkstyle/DetailAstImplTest.java index de5d50728c7..9a66429f509 100644 --- a/src/test/java/com/puppycrawl/tools/checkstyle/DetailAstImplTest.java +++ b/src/test/java/com/puppycrawl/tools/checkstyle/DetailAstImplTest.java @@ -355,8 +355,9 @@ public void testInsertSiblingBetween() throws Exception { @Test public void testBranchContains() { - final DetailAstImpl root = createToken(null, TokenTypes.CLASS_DEF); - final DetailAstImpl modifiers = createToken(root, TokenTypes.MODIFIERS); + final DetailAstImpl root = createToken(null, TokenTypes.COMPILATION_UNIT); + final DetailAstImpl classDef = createToken(root, TokenTypes.CLASS_DEF); + final DetailAstImpl modifiers = createToken(classDef, TokenTypes.MODIFIERS); createToken(modifiers, TokenTypes.LITERAL_PUBLIC); assertWithMessage("invalid result") @@ -365,6 +366,12 @@ public void testBranchContains() { assertWithMessage("invalid result") .that(root.branchContains(TokenTypes.OBJBLOCK)) .isFalse(); + assertWithMessage("invalid result") + .that(root.branchContains(TokenTypes.COMPILATION_UNIT)) + .isTrue(); + assertWithMessage("negative tokenType") + .that(root.branchContains(-1)) + .isFalse(); } private static DetailAstImpl createToken(DetailAstImpl root, int type) {