You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@lucene.apache.org by rm...@apache.org on 2025/07/01 14:22:57 UTC

(lucene) branch main updated: tighten java-lang-import to avoid false-positive on subpackage wildcard (#14884)

This is an automated email from the ASF dual-hosted git repository.

rmuir pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/lucene.git


The following commit(s) were added to refs/heads/main by this push:
     new 33e7a2ddadf tighten java-lang-import to avoid false-positive on subpackage wildcard (#14884)
33e7a2ddadf is described below

commit 33e7a2ddadfa14395d455dd43812e274b1086529
Author: Robert Muir <rm...@apache.org>
AuthorDate: Tue Jul 1 10:22:52 2025 -0400

    tighten java-lang-import to avoid false-positive on subpackage wildcard (#14884)
    
    This is being a bit anal, but this rule shouldn't emit a false positive
    if you do a wildcard import from a subpackage of java.lang, e.g.
    
        import java.lang.classfile.*;
    
    The issue is, it can be a bit confusing as you get two errors instead of
    just the `WildcardImport` error. Anchor it.
    
    Found by testing rules on openjdk sources.
---
 gradle/validation/ast-grep/rules/java-patterns.yml | 2 +-
 gradle/validation/ast-grep/tests/java-patterns.yml | 2 ++
 2 files changed, 3 insertions(+), 1 deletion(-)

diff --git a/gradle/validation/ast-grep/rules/java-patterns.yml b/gradle/validation/ast-grep/rules/java-patterns.yml
index 72c2b68358f..469adea8e5f 100644
--- a/gradle/validation/ast-grep/rules/java-patterns.yml
+++ b/gradle/validation/ast-grep/rules/java-patterns.yml
@@ -5,7 +5,7 @@
 id: java-lang-import
 language: java
 rule:
-  pattern: import java.lang.$REF
+  pattern: import java.lang.$REF;
   kind: import_declaration
 fix: ""
 severity: error
diff --git a/gradle/validation/ast-grep/tests/java-patterns.yml b/gradle/validation/ast-grep/tests/java-patterns.yml
index 00315e1a479..bc6d8ed7deb 100644
--- a/gradle/validation/ast-grep/tests/java-patterns.yml
+++ b/gradle/validation/ast-grep/tests/java-patterns.yml
@@ -5,6 +5,8 @@ invalid:
 valid:
   - import java.lang.foo.bar;
   - import static java.lang.Foo.bar;
+  - import java.lang.foo.*;
+  - import static java.lang.Foo.*;
 ---
 id: confusing-type-inference
 invalid: