Oscar N created GROOVY-11286:
--------------------------------
Summary: 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: Compiler
Affects Versions: 4.0.17, 5.0.0-alpha-4, 3.0.20, 2.5.23
Reporter: Oscar N
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)