[
https://issues.apache.org/jira/browse/GROOVY-12453?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=18127624#comment-18127624
]
ASF GitHub Bot commented on GROOVY-12453:
-----------------------------------------
codecov-commenter commented on PR #2981:
URL: https://github.com/apache/groovy/pull/2981#issuecomment-6201922315
##
[Codecov](https://app.codecov.io/gh/apache/groovy/pull/2981?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
Report
:white_check_mark: All modified and coverable lines are covered by tests.
:white_check_mark: Project coverage is 72.2640%. Comparing base
([`237fdb5`](https://app.codecov.io/gh/apache/groovy/commit/237fdb54b39c4f9d27064aeca0870eadb0888da3?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache))
to head
([`868f099`](https://app.codecov.io/gh/apache/groovy/commit/868f0992820b59cb1d7ef62107040caa35fd10c5?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)).
:warning: Report is 1 commits behind head on master.
<details><summary>Additional details and impacted files</summary>
[](https://app.codecov.io/gh/apache/groovy/pull/2981?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
```diff
@@ Coverage Diff @@
## master #2981 +/- ##
==================================================
+ Coverage 72.2567% 72.2640% +0.0073%
- Complexity 40508 40532 +24
==================================================
Files 1643 1643
Lines 142564 142605 +41
Branches 26769 26785 +16
==================================================
+ Hits 103012 103052 +40
- Misses 30091 30093 +2
+ Partials 9461 9460 -1
```
| [Files with missing
lines](https://app.codecov.io/gh/apache/groovy/pull/2981?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
| Coverage Δ | |
|---|---|---|
|
[...rg/codehaus/groovy/classgen/AsmClassGenerator.java](https://app.codecov.io/gh/apache/groovy/pull/2981?src=pr&el=tree&filepath=src%2Fmain%2Fjava%2Forg%2Fcodehaus%2Fgroovy%2Fclassgen%2FAsmClassGenerator.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3JjL21haW4vamF2YS9vcmcvY29kZWhhdXMvZ3Jvb3Z5L2NsYXNzZ2VuL0FzbUNsYXNzR2VuZXJhdG9yLmphdmE=)
| `84.9224% <100.0000%> (+0.0111%)` | :arrow_up: |
... and [12 files with indirect coverage
changes](https://app.codecov.io/gh/apache/groovy/pull/2981/indirect-changes?src=pr&el=tree-more&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache)
</details>
<details><summary> :rocket: New features to boost your workflow: </summary>
- :snowflake: [Test
Analytics](https://docs.codecov.com/docs/test-analytics): Detect flaky tests,
report on failures, and find test suite problems.
- :package: [JS Bundle
Analysis](https://docs.codecov.com/docs/javascript-bundle-analysis): Save
yourself from yourself by tracking and limiting bundle sizes in JS merges.
</details>
> ArrayIndexOutOfBoundsException during compilation with an assert and
> map-constructor-call
> -----------------------------------------------------------------------------------------
>
> Key: GROOVY-12453
> URL: https://issues.apache.org/jira/browse/GROOVY-12453
> Project: Groovy
> Issue Type: Bug
> Affects Versions: 6.0.0
> Reporter: Björn Kautler
> Priority: Major
>
> Given the snippet
> {code:groovy}
> class Person2 {
> def name
> def age
> }
> @groovy.transform.CompileStatic
> def foo() {
> def fred = "fred"
> def fredsAge = 25
> assert new Person2([name: fred, age: fredsAge])
> }
> foo() {code}
> If you compile it in Groovy Web Console with Groovy up to 5.1, everything is
> fine.
> If you switch to Groovy 6, you get this exception:
> {code}
> Unable to produce AST for this phase due to earlier compilation error:
> startup failed:
> General error during instruction selection: size==0
> java.lang.ArrayIndexOutOfBoundsException: size==0
> at
> org.codehaus.groovy.classgen.asm.OperandStack.ensureStackNotEmpty(OperandStack.java:310)
> at
> org.codehaus.groovy.classgen.asm.OperandStack.getTopOperand(OperandStack.java:700)
> at
> org.codehaus.groovy.classgen.asm.OperandStack.dup(OperandStack.java:213)
> at
> org.codehaus.groovy.classgen.asm.AssertionWriter.record(AssertionWriter.java:291)
> at
> org.codehaus.groovy.classgen.asm.AssertionWriter.record(AssertionWriter.java:284)
> at
> org.codehaus.groovy.classgen.AsmClassGenerator.visitMethodCallExpression(AsmClassGenerator.java:1245)
> at
> org.codehaus.groovy.ast.expr.MethodCallExpression.visit(MethodCallExpression.java:103)
> at
> org.codehaus.groovy.classgen.asm.sc.StaticTypesBinaryExpressionMultiTypeDispatcher.makeSetProperty(StaticTypesBinaryExpressionMultiTypeDispatcher.java:338)
> at
> org.codehaus.groovy.classgen.asm.sc.StaticTypesBinaryExpressionMultiTypeDispatcher.evaluateEqual(StaticTypesBinaryExpressionMultiTypeDispatcher.java:227)
> at
> org.codehaus.groovy.classgen.asm.BinaryExpressionHelper.eval(BinaryExpressionHelper.java:224)
> at
> org.codehaus.groovy.classgen.AsmClassGenerator.visitBinaryExpression(AsmClassGenerator.java:1019)
> at
> org.codehaus.groovy.ast.expr.BinaryExpression.visit(BinaryExpression.java:80)
> at
> org.codehaus.groovy.transform.sc.transformers.ConstructorCallTransformer$MapStyleConstructorCall.visit(ConstructorCallTransformer.java:183)
> at
> org.codehaus.groovy.classgen.AsmClassGenerator.visitBytecodeExpression(AsmClassGenerator.java:2255)
> at
> org.codehaus.groovy.classgen.BytecodeExpression.visit(BytecodeExpression.java:80)
> at
> org.codehaus.groovy.transform.sc.transformers.ConstructorCallTransformer$MapStyleConstructorCall.visit(ConstructorCallTransformer.java:141)
> at
> org.codehaus.groovy.transform.sc.transformers.BooleanExpressionTransformer$OptimizingBooleanExpression.visit(BooleanExpressionTransformer.java:129)
> at
> org.codehaus.groovy.classgen.asm.AssertionWriter.writeAssertStatement(AssertionWriter.java:123)
> at
> org.codehaus.groovy.classgen.asm.StatementWriter.writeAssert(StatementWriter.java:878)
> at
> org.codehaus.groovy.classgen.AsmClassGenerator.visitAssertStatement(AsmClassGenerator.java:891)
> at
> org.codehaus.groovy.ast.stmt.AssertStatement.visit(AssertStatement.java:67)
> at
> org.codehaus.groovy.classgen.asm.StatementWriter.writeBlockStatement(StatementWriter.java:151)
> at
> org.codehaus.groovy.classgen.asm.sc.StaticTypesStatementWriter.writeBlockStatement(StaticTypesStatementWriter.java:91)
> at
> org.codehaus.groovy.classgen.AsmClassGenerator.visitBlockStatement(AsmClassGenerator.java:851)
> at
> org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:84)
> at
> org.codehaus.groovy.classgen.asm.StatementWriter.writeBlockStatement(StatementWriter.java:151)
> at
> org.codehaus.groovy.classgen.asm.sc.StaticTypesStatementWriter.writeBlockStatement(StaticTypesStatementWriter.java:91)
> at
> org.codehaus.groovy.classgen.AsmClassGenerator.visitBlockStatement(AsmClassGenerator.java:851)
> at
> org.codehaus.groovy.ast.stmt.BlockStatement.visit(BlockStatement.java:84)
> at
> org.codehaus.groovy.classgen.AsmClassGenerator.visitStdMethod(AsmClassGenerator.java:693)
> at
> org.codehaus.groovy.classgen.AsmClassGenerator.visitConstructorOrMethod(AsmClassGenerator.java:626)
> at
> org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitMethod(ClassCodeVisitorSupport.java:181)
> at
> org.codehaus.groovy.classgen.AsmClassGenerator.visitMethod(AsmClassGenerator.java:782)
> at org.codehaus.groovy.ast.ClassNode.visitMethods(ClassNode.java:1851)
> at org.codehaus.groovy.ast.ClassNode.visitContents(ClassNode.java:1837)
> at
> org.codehaus.groovy.ast.ClassCodeVisitorSupport.visitClass(ClassCodeVisitorSupport.java:89)
> at
> org.codehaus.groovy.classgen.AsmClassGenerator.visitClass(AsmClassGenerator.java:431)
> at
> org.codehaus.groovy.control.CompilationUnit$3.call(CompilationUnit.java:876)
> at
> org.codehaus.groovy.control.CompilationUnit$IPrimaryClassNodeOperation.doPhaseOperation(CompilationUnit.java:1097)
> at
> org.codehaus.groovy.control.CompilationUnit.processPhaseOperations(CompilationUnit.java:764)
> at
> org.codehaus.groovy.control.CompilationUnit.compile(CompilationUnit.java:738)
> at
> spock.util.SourceToAstNodeAndSourceTranspiler.compileScript(SourceToAstNodeAndSourceTranspiler.groovy:93)
> at
> spock.util.EmbeddedSpecCompiler.doTranspile(EmbeddedSpecCompiler.groovy:162)
> at
> spock.util.EmbeddedSpecCompiler.doTranspile(EmbeddedSpecCompiler.groovy)
> at
> spock.util.EmbeddedSpecCompiler.transpile(EmbeddedSpecCompiler.groovy:157)
> at gwc.spock.AstRenderer.render(AstRenderer.java:14)
> at gwc.spock.SpockSpecSupport.renderAst(SpockSpecSupport.java:22)
> at gwc.GFunctionExecutor.handleRealInvocation(GFunctionExecutor.java:97)
> at gwc.GFunctionExecutor.service(GFunctionExecutor.java:66)
> at
> com.google.cloud.functions.invoker.HttpFunctionExecutor.handle(HttpFunctionExecutor.java:78)
> at org.eclipse.jetty.server.Handler$Wrapper.handle(Handler.java:794)
> at
> com.google.cloud.functions.invoker.http.TimeoutHandler.handle(TimeoutHandler.java:52)
> at
> org.eclipse.jetty.server.handler.EagerContentHandler.onConditionsMet(EagerContentHandler.java:155)
> at
> org.eclipse.jetty.server.handler.ConditionalHandler.handle(ConditionalHandler.java:378)
> at org.eclipse.jetty.server.Handler$Wrapper.handle(Handler.java:794)
> at
> com.google.cloud.functions.invoker.runner.Invoker$NotFoundHandler.handle(Invoker.java:498)
> at org.eclipse.jetty.server.Server.handle(Server.java:197)
> at
> org.eclipse.jetty.server.internal.HttpChannelState$HandlerInvoker.run(HttpChannelState.java:788)
> at
> org.eclipse.jetty.server.internal.HttpConnection.onFillable(HttpConnection.java:420)
> at
> org.eclipse.jetty.server.internal.HttpConnection$FillableCallback.succeeded(HttpConnection.java:1809)
> at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
> at
> org.eclipse.jetty.io.SelectableChannelEndPoint$1.run(SelectableChannelEndPoint.java:54)
> at
> org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.runTask(AdaptiveExecutionStrategy.java:492)
> at
> org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.epcRunTask(AdaptiveExecutionStrategy.java:428)
> at
> org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.consumeTask(AdaptiveExecutionStrategy.java:401)
> at
> org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.tryProduce(AdaptiveExecutionStrategy.java:255)
> at
> org.eclipse.jetty.util.thread.strategy.AdaptiveExecutionStrategy.run(AdaptiveExecutionStrategy.java:204)
> at
> org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:317)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:1009)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.doRunJob(QueuedThreadPool.java:1240)
> at
> org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1194)
> at java.base/java.lang.Thread.run(Thread.java:1583)
> 1 error{code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)