[
https://issues.apache.org/jira/browse/GROOVY-11286?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Eric Milles reassigned GROOVY-11286:
------------------------------------
Assignee: Eric Milles
> Extraneous bytecode generated after calls to void methods
> ---------------------------------------------------------
>
> Key: GROOVY-11286
> URL: https://issues.apache.org/jira/browse/GROOVY-11286
> Project: Groovy
> Issue Type: Bug
> Components: class generator, Compiler
> Affects Versions: 2.5.23, 3.0.20, 5.0.0-alpha-4, 4.0.17
> Reporter: Oscar N
> Assignee: Eric Milles
> Priority: Minor
>
> I have the following code:
> {code:groovy}
> package org.example
> import groovy.transform.CompileStatic
> @CompileStatic
> final class Main {
> static void main(String[] args) {
> exampleMethod()
> }
> static void exampleMethod() {}
> }
> {code}
> When looking at the compiled output, null is pushed to the stack then
> immediately popped:
> {code:java}
> // access flags 0x89
> public static varargs main([Ljava/lang/String;)V
> L0
> LINENUMBER 8 L0
> INVOKESTATIC org/example/Main.exampleMethod ()V
> ACONST_NULL
> POP
> L1
> LINENUMBER 9 L1
> RETURN
> LOCALVARIABLE args [Ljava/lang/String; L0 L1 0
> MAXSTACK = 1
> MAXLOCALS = 1
> {code}
--
This message was sent by Atlassian Jira
(v8.20.10#820010)