[ https://issues.apache.org/jira/browse/GROOVY-11630?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17946168#comment-17946168 ]
ASF GitHub Bot commented on GROOVY-11630: ----------------------------------------- codecov-commenter commented on PR #2203: URL: https://github.com/apache/groovy/pull/2203#issuecomment-2818899592 ## [Codecov](https://app.codecov.io/gh/apache/groovy/pull/2203?dropdown=coverage&src=pr&el=h1&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) Report Attention: Patch coverage is `80.00000%` with `2 lines` in your changes missing coverage. Please review. > Project coverage is 68.9419%. Comparing base [(`840e57a`)](https://app.codecov.io/gh/apache/groovy/commit/840e57ab2a20e5c1ecc8fe3c9b4f6102357ba3c2?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) to head [(`31eb3d9`)](https://app.codecov.io/gh/apache/groovy/commit/31eb3d942cde7d5425b9ef86fd3afe1f849ca5bb?dropdown=coverage&el=desc&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache). | [Files with missing lines](https://app.codecov.io/gh/apache/groovy/pull/2203?dropdown=coverage&src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | Patch % | Lines | |---|---|---| | [...codehaus/groovy/classgen/asm/InvocationWriter.java](https://app.codecov.io/gh/apache/groovy/pull/2203?src=pr&el=tree&filepath=src%2Fmain%2Fjava%2Forg%2Fcodehaus%2Fgroovy%2Fclassgen%2Fasm%2FInvocationWriter.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3JjL21haW4vamF2YS9vcmcvY29kZWhhdXMvZ3Jvb3Z5L2NsYXNzZ2VuL2FzbS9JbnZvY2F0aW9uV3JpdGVyLmphdmE=) | 0.0000% | [0 Missing and 1 partial :warning: ](https://app.codecov.io/gh/apache/groovy/pull/2203?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | | [...groovy/classgen/asm/sc/StaticInvocationWriter.java](https://app.codecov.io/gh/apache/groovy/pull/2203?src=pr&el=tree&filepath=src%2Fmain%2Fjava%2Forg%2Fcodehaus%2Fgroovy%2Fclassgen%2Fasm%2Fsc%2FStaticInvocationWriter.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3JjL21haW4vamF2YS9vcmcvY29kZWhhdXMvZ3Jvb3Z5L2NsYXNzZ2VuL2FzbS9zYy9TdGF0aWNJbnZvY2F0aW9uV3JpdGVyLmphdmE=) | 66.6667% | [0 Missing and 1 partial :warning: ](https://app.codecov.io/gh/apache/groovy/pull/2203?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) | <details><summary>Additional details and impacted files</summary> [](https://app.codecov.io/gh/apache/groovy/pull/2203?src=pr&el=tree&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache) ```diff @@ Coverage Diff @@ ## master #2203 +/- ## ================================================== - Coverage 68.9489% 68.9419% -0.0070% + Complexity 29562 29560 -2 ================================================== Files 1423 1423 Lines 113909 113909 Branches 19754 19754 ================================================== - Hits 78539 78531 -8 - Misses 28773 28778 +5 - Partials 6597 6600 +3 ``` | [Files with missing lines](https://app.codecov.io/gh/apache/groovy/pull/2203?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/2203?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=) | `85.1608% <ø> (ø)` | | | [...us/groovy/classgen/asm/BinaryExpressionHelper.java](https://app.codecov.io/gh/apache/groovy/pull/2203?src=pr&el=tree&filepath=src%2Fmain%2Fjava%2Forg%2Fcodehaus%2Fgroovy%2Fclassgen%2Fasm%2FBinaryExpressionHelper.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3JjL21haW4vamF2YS9vcmcvY29kZWhhdXMvZ3Jvb3Z5L2NsYXNzZ2VuL2FzbS9CaW5hcnlFeHByZXNzaW9uSGVscGVyLmphdmE=) | `89.1589% <100.0000%> (ø)` | | | [...ssgen/asm/BinaryExpressionMultiTypeDispatcher.java](https://app.codecov.io/gh/apache/groovy/pull/2203?src=pr&el=tree&filepath=src%2Fmain%2Fjava%2Forg%2Fcodehaus%2Fgroovy%2Fclassgen%2Fasm%2FBinaryExpressionMultiTypeDispatcher.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3JjL21haW4vamF2YS9vcmcvY29kZWhhdXMvZ3Jvb3Z5L2NsYXNzZ2VuL2FzbS9CaW5hcnlFeHByZXNzaW9uTXVsdGlUeXBlRGlzcGF0Y2hlci5qYXZh) | `88.8325% <100.0000%> (ø)` | | | [.../codehaus/groovy/classgen/asm/StatementWriter.java](https://app.codecov.io/gh/apache/groovy/pull/2203?src=pr&el=tree&filepath=src%2Fmain%2Fjava%2Forg%2Fcodehaus%2Fgroovy%2Fclassgen%2Fasm%2FStatementWriter.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3JjL21haW4vamF2YS9vcmcvY29kZWhhdXMvZ3Jvb3Z5L2NsYXNzZ2VuL2FzbS9TdGF0ZW1lbnRXcml0ZXIuamF2YQ==) | `96.9613% <100.0000%> (-0.0167%)` | :arrow_down: | | [...taticTypesBinaryExpressionMultiTypeDispatcher.java](https://app.codecov.io/gh/apache/groovy/pull/2203?src=pr&el=tree&filepath=src%2Fmain%2Fjava%2Forg%2Fcodehaus%2Fgroovy%2Fclassgen%2Fasm%2Fsc%2FStaticTypesBinaryExpressionMultiTypeDispatcher.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3JjL21haW4vamF2YS9vcmcvY29kZWhhdXMvZ3Jvb3Z5L2NsYXNzZ2VuL2FzbS9zYy9TdGF0aWNUeXBlc0JpbmFyeUV4cHJlc3Npb25NdWx0aVR5cGVEaXNwYXRjaGVyLmphdmE=) | `78.9809% <100.0000%> (ø)` | | | [...codehaus/groovy/classgen/asm/InvocationWriter.java](https://app.codecov.io/gh/apache/groovy/pull/2203?src=pr&el=tree&filepath=src%2Fmain%2Fjava%2Forg%2Fcodehaus%2Fgroovy%2Fclassgen%2Fasm%2FInvocationWriter.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3JjL21haW4vamF2YS9vcmcvY29kZWhhdXMvZ3Jvb3Z5L2NsYXNzZ2VuL2FzbS9JbnZvY2F0aW9uV3JpdGVyLmphdmE=) | `86.5702% <0.0000%> (ø)` | | | [...groovy/classgen/asm/sc/StaticInvocationWriter.java](https://app.codecov.io/gh/apache/groovy/pull/2203?src=pr&el=tree&filepath=src%2Fmain%2Fjava%2Forg%2Fcodehaus%2Fgroovy%2Fclassgen%2Fasm%2Fsc%2FStaticInvocationWriter.java&utm_medium=referral&utm_source=github&utm_content=comment&utm_campaign=pr+comments&utm_term=apache#diff-c3JjL21haW4vamF2YS9vcmcvY29kZWhhdXMvZ3Jvb3Z5L2NsYXNzZ2VuL2FzbS9zYy9TdGF0aWNJbnZvY2F0aW9uV3JpdGVyLmphdmE=) | `74.8731% <66.6667%> (-0.1269%)` | :arrow_down: | ... and [3 files with indirect coverage changes](https://app.codecov.io/gh/apache/groovy/pull/2203/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> > Extraneous bytecode generated after calls to void DGM methods > ------------------------------------------------------------- > > Key: GROOVY-11630 > URL: https://issues.apache.org/jira/browse/GROOVY-11630 > Project: Groovy > Issue Type: Bug > Components: class generator, Compiler, Static compilation > Affects Versions: 5.0.0-alpha-12 > Reporter: Oscar N > Assignee: Eric Milles > Priority: Minor > > I have the following code: > {code:groovy} > import groovy.transform.CompileStatic > @CompileStatic > final class DGMUsage { > static void main(String[] args) { > println "Groovy version: ${GroovySystem.version}" > var list = (1..100).toList() > list.shuffle() > } > } > {code} > When looking at the compiled output, null is pushed to the stack then > immediately popped for DGMs that have a void return type: > {code:java} > // access flags 0x89 > public static varargs main([Ljava/lang/String;)V > L0 > LINENUMBER 6 L0 > LDC LDGMUsage;.class > NEW org/codehaus/groovy/runtime/GStringImpl > DUP > ICONST_1 > ANEWARRAY java/lang/Object > DUP > ICONST_0 > INVOKESTATIC groovy/lang/GroovySystem.getVersion ()Ljava/lang/String; > AASTORE > ICONST_2 > ANEWARRAY java/lang/String > DUP > ICONST_0 > LDC "Groovy version: " > AASTORE > DUP > ICONST_1 > LDC "" > AASTORE > INVOKESPECIAL org/codehaus/groovy/runtime/GStringImpl.<init> > ([Ljava/lang/Object;[Ljava/lang/String;)V > INVOKESTATIC org/codehaus/groovy/runtime/DefaultGroovyMethods.println > (Ljava/lang/Object;Ljava/lang/Object;)V > ACONST_NULL > POP > L1 > LINENUMBER 8 L1 > NEW groovy/lang/IntRange > DUP > ICONST_1 > ICONST_1 > ICONST_1 > BIPUSH 100 > INVOKESPECIAL groovy/lang/IntRange.<init> (ZZII)V > INVOKESTATIC org/codehaus/groovy/runtime/DefaultGroovyMethods.toList > (Ljava/lang/Iterable;)Ljava/util/List; > ASTORE 1 > L2 > LINENUMBER 9 L2 > ALOAD 1 > INVOKESTATIC org/codehaus/groovy/runtime/DefaultGroovyMethods.shuffle > (Ljava/util/List;)V > ACONST_NULL > POP > L3 > LINENUMBER 10 L3 > RETURN > LOCALVARIABLE args [Ljava/lang/String; L0 L3 0 > LOCALVARIABLE list Ljava/util/List; L2 L3 1 > MAXSTACK = 8 > MAXLOCALS = 2 > {code} -- This message was sent by Atlassian Jira (v8.20.10#820010)