From 8afbf3c176124efb171b96ca7a9e0bcbc4bd9552 Mon Sep 17 00:00:00 2001 From: Shitikanth Kashyap Date: Fri, 16 Jan 2026 00:03:07 +0530 Subject: [PATCH] Fixes a bug in RecursiveDescentTLDParser SkipParentheticalBlockState did not handle endMarker immediately following a single quote correctly. --- .../enforcerrules/impl/RecursiveDescentTLDParser.java | 2 +- .../enforcerrules/impl/RecursiveDescentTLDParserTest.java | 2 +- src/test/resources/examples/Examples.java | 4 ++++ 3 files changed, 6 insertions(+), 2 deletions(-) diff --git a/src/main/java/io/github/shitikanth/enforcerrules/impl/RecursiveDescentTLDParser.java b/src/main/java/io/github/shitikanth/enforcerrules/impl/RecursiveDescentTLDParser.java index 3cd2323..65d4d1e 100644 --- a/src/main/java/io/github/shitikanth/enforcerrules/impl/RecursiveDescentTLDParser.java +++ b/src/main/java/io/github/shitikanth/enforcerrules/impl/RecursiveDescentTLDParser.java @@ -344,7 +344,7 @@ else if (lookingAt("/*")) { if (c == startMarker) { depth++; } - if (c == endMarker && cur() != '\'') { + if (c == endMarker) { depth--; if (depth == 0) { next(); diff --git a/src/test/java/io/github/shitikanth/enforcerrules/impl/RecursiveDescentTLDParserTest.java b/src/test/java/io/github/shitikanth/enforcerrules/impl/RecursiveDescentTLDParserTest.java index f762085..faae40c 100644 --- a/src/test/java/io/github/shitikanth/enforcerrules/impl/RecursiveDescentTLDParserTest.java +++ b/src/test/java/io/github/shitikanth/enforcerrules/impl/RecursiveDescentTLDParserTest.java @@ -26,7 +26,7 @@ void testExamples() { @Test @Disabled void debugFile() { - String filename = "/Users/shitikanth/Documents/beeworks-in/bee_recon/recon-platform/parser/src/main/java/com/ascent/recon/parser/ej/CommonHelper.java"; + String filename = ""; Path path = Paths.get(filename); var types = new RecursiveDescentTLDParser(path).parse(); System.out.println(types); diff --git a/src/test/resources/examples/Examples.java b/src/test/resources/examples/Examples.java index 2c6adf0..9b18f6f 100644 --- a/src/test/resources/examples/Examples.java +++ b/src/test/resources/examples/Examples.java @@ -34,4 +34,8 @@ class SkipThis { class Example8 { char c1 = '"'; char c2 = '\''; +} + +class Example9 { + byte[] bytes = new byte[] {'0', '0'}; } \ No newline at end of file