Skip to content

GROOVY-12116: Provide a small, read-only, fluent query API over the G…#2651

Merged
paulk-asert merged 1 commit into
apache:masterfrom
paulk-asert:astQuery
Jun 30, 2026
Merged

GROOVY-12116: Provide a small, read-only, fluent query API over the G…#2651
paulk-asert merged 1 commit into
apache:masterfrom
paulk-asert:astQuery

Conversation

@paulk-asert

Copy link
Copy Markdown
Contributor

…roovy AST (initial version)

@testlens-app

testlens-app Bot commented Jun 30, 2026

Copy link
Copy Markdown

🚨 TestLens detected 1 failed test 🚨

Here is what you can do:

  1. Inspect the test failures carefully.
  2. If you are convinced that some of the tests are flaky, you can mute them below.
  3. Finally, trigger a rerun by checking the rerun checkbox.

Test Summary

Build and test / lts (17, windows-latest, 1) > :test

Test Runs
DesignPatternsTest > testSingletonSpring()

🏷️ Commit: 1be0a92
▶️ Tests: 71774 executed
🟡 Checks: 18/29 completed

Test Failures

DesignPatternsTest > testSingletonSpring() (:test in Build and test / lts (17, windows-latest, 1))
java.lang.NoClassDefFoundError: org.springframework.core.AttributeAccessorSupport
	at org.codehaus.groovy.ast.decompiled.AsmReferenceResolver.resolveClass(AsmReferenceResolver.java:107)
	at org.codehaus.groovy.ast.decompiled.ClassSignatureParser.configureClass(ClassSignatureParser.java:85)
	at org.codehaus.groovy.ast.decompiled.DecompiledClassNode.lazyInitSupers(DecompiledClassNode.java:389)
	at org.codehaus.groovy.ast.decompiled.DecompiledClassNode.getUnresolvedSuperClass(DecompiledClassNode.java:348)
	at org.codehaus.groovy.ast.ClassNode.getUnresolvedSuperClass(ClassNode.java:405)
	at org.codehaus.groovy.ast.ClassNode.getSuperClass(ClassNode.java:536)
	at org.codehaus.groovy.control.ResolveVisitor.transformPropertyExpression(ResolveVisitor.java:1107)
	at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:963)
	at org.codehaus.groovy.ast.expr.Expression.transformExpressions(Expression.java:93)
	at org.codehaus.groovy.ast.expr.ArgumentListExpression.transformExpression(ArgumentListExpression.java:67)
	at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:978)
	at org.codehaus.groovy.control.ResolveVisitor.transformMethodCallExpression(ResolveVisitor.java:1350)
	at org.codehaus.groovy.control.ResolveVisitor.transform(ResolveVisitor.java:969)
	at org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitExpressionStatement(ClassCodeExpressionTransformer.java:137)
	at org.codehaus.groovy.ast.stmt.ExpressionStatement.visit(ExpressionStatement.java:54)
	at org.codehaus.groovy.ast.CodeVisitorSupport.visitBlockStatement(CodeVisitorSupport.java:113)
	at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitBlockStatement(ClassCodeVisitorSupport.java:290)
	at org.codehaus.groovy.control.ResolveVisitor.visitBlockStatement(ResolveVisitor.java:1646)
	at org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:84)
	at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClassCodeContainer(ClassCodeVisitorSupport.java:229)
	at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitConstructorOrMethod(ClassCodeVisitorSupport.java:192)
	at org.codehaus.groovy.ast.ClassCodeExpressionTransformer.visitConstructorOrMethod(ClassCodeExpressionTransformer.java:86)
	at org.codehaus.groovy.control.ResolveVisitor.visitConstructorOrMethod(ResolveVisitor.java:385)
	at org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitMethod(ClassCodeVisitorSupport.java:177)
	at org.codehaus.groovy.ast.ClassNode.visitMethods(ClassNode.java:1826)
	at org.codehaus.groovy.ast.ClassNode.visitContents(ClassNode.java:1819)
	at org.codehaus.groovy.control.ResolveVisitor.visitClass(ResolveVisitor.java:1557)
	at org.codehaus.groovy.control.ResolveVisitor.startResolving(ResolveVisitor.java:289)
	at org.codehaus.groovy.control.CompilationUnit.lambda$addPhaseOperations$5(CompilationUnit.java:219)
	at org.codehaus.groovy.control.CompilationUnit$ISourceUnitOperation.doPhaseOperation(CompilationUnit.java:976)
	at org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:749)
	at org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:723)
	at groovy.lang.GroovyClassLoader.doParseClass(GroovyClassLoader.java:423)
	at groovy.lang.GroovyClassLoader.lambda$parseClass$3(GroovyClassLoader.java:364)
	at org.codehaus.groovy.runtime.memoize.ConcurrentCommonCache.getAndPut(ConcurrentCommonCache.java:143)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:364)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:348)
	at groovy.lang.GroovyClassLoader.parseClass(GroovyClassLoader.java:308)
	at gls.CompilableTestSupport.shouldCompile(CompilableTestSupport.groovy:95)
	at jdk.internal.reflect.GeneratedMethodAccessor28.invoke(Unknown Source)
	at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.base/java.lang.reflect.Method.invoke(Method.java:569)
	at org.codehaus.groovy.reflection.CachedMethod.invoke(CachedMethod.java:502)
	at groovy.lang.MetaMethod.doMethodInvoke(MetaMethod.java:298)
	at groovy.lang.MetaClassImpl.invokeStaticMethod(MetaClassImpl.java:1684)
	at DesignPatternsTest.testSingletonSpring(DesignPatternsTest.groovy:1872)

Muted Tests

Note

Checks are currently running using the configuration below.

Select tests to mute in this pull request:

🔲 DesignPatternsTest > testSingletonSpring()

Reuse successful test results:

🔲 ♻️ Only rerun the tests that failed or were muted before

Click the checkbox to trigger a rerun:

🔲 Rerun jobs


Learn more about TestLens at testlens.app.

@paulk-asert paulk-asert merged commit 449dfeb into apache:master Jun 30, 2026
29 of 30 checks passed
@paulk-asert paulk-asert deleted the astQuery branch June 30, 2026 22:32
@codecov-commenter

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 83.26531% with 41 lines in your changes missing coverage. Please review.
✅ Project coverage is 68.5705%. Comparing base (a7d75a5) to head (1be0a92).
⚠️ Report is 21 commits behind head on master.

Files with missing lines Patch % Lines
...n/java/org/codehaus/groovy/ast/query/AstQuery.java 84.3023% 17 Missing and 10 partials ⚠️
...codehaus/groovy/tools/javac/JavaStubGenerator.java 50.0000% 5 Missing and 2 partials ⚠️
.../groovy/groovy/typecheckers/CombinerChecker.groovy 50.0000% 0 Missing and 3 partials ⚠️
...odehaus/groovy/transform/AsyncTransformHelper.java 83.3333% 0 Missing and 2 partials ⚠️
...odehaus/groovy/classgen/EnumCompletionVisitor.java 80.0000% 0 Missing and 1 partial ⚠️
...s/groovy-sql/src/main/java/groovy/sql/DataSet.java 87.5000% 0 Missing and 1 partial ⚠️
Additional details and impacted files

Impacted file tree graph

@@                Coverage Diff                 @@
##               master      #2651        +/-   ##
==================================================
+ Coverage     68.5420%   68.5705%   +0.0285%     
- Complexity      33730      33804        +74     
==================================================
  Files            1523       1524         +1     
  Lines          127923     128128       +205     
  Branches        23251      23289        +38     
==================================================
+ Hits            87681      87858       +177     
- Misses          32464      32472         +8     
- Partials         7778       7798        +20     
Files with missing lines Coverage Δ
...roovy/transform/tailrec/CollectRecursiveCalls.java 100.0000% <100.0000%> (+6.6667%) ⬆️
...us/groovy/transform/tailrec/HasRecursiveCalls.java 100.0000% <100.0000%> (+13.3333%) ⬆️
...oovy/ginq/provider/collection/GinqAstWalker.groovy 90.2378% <100.0000%> (-0.0486%) ⬇️
...rg/codehaus/groovy/macro/matcher/ASTMatcher.groovy 82.1561% <100.0000%> (+0.0332%) ⬆️
...ehaus/groovy/macro/methods/MacroGroovyMethods.java 50.0000% <100.0000%> (-4.9296%) ⬇️
...ql/src/main/java/groovy/sql/SqlOrderByVisitor.java 100.0000% <100.0000%> (ø)
...odehaus/groovy/classgen/EnumCompletionVisitor.java 94.0476% <80.0000%> (+1.1064%) ⬆️
...s/groovy-sql/src/main/java/groovy/sql/DataSet.java 86.9565% <87.5000%> (-0.3363%) ⬇️
...odehaus/groovy/transform/AsyncTransformHelper.java 75.6098% <83.3333%> (-3.1136%) ⬇️
.../groovy/groovy/typecheckers/CombinerChecker.groovy 67.2414% <50.0000%> (-1.0919%) ⬇️
... and 2 more

... and 22 files with indirect coverage changes

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants