Oscar N created GROOVY-11287:
--------------------------------

             Summary: Perform constant folding for basic math calculations in CS
                 Key: GROOVY-11287
                 URL: https://issues.apache.org/jira/browse/GROOVY-11287
             Project: Groovy
          Issue Type: New Feature
          Components: performance, Static compilation
    Affects Versions: 4.0.17, 5.0.0-alpha-4
            Reporter: Oscar N


I have the following Groovy code and its Java equivalent:

{code:groovy}
@CompileStatic
final class Main {
    private static final int ONE = 1

    static void main(String[] args) {
        int two = ONE + 1
        println two
    }
}
{code}

{code:java}
public final class JavaMain {
    private static final int ONE = 1;

    public static void main(String[] args) {
        int two = ONE + 1;
        System.out.println(two);
    }
}
{code}

In Groovy, it currently compiles to:
{code}int two = ONE + 1{code}

In Java, the calculation is done at compile-time and inlined:
{code}int two = 2{code}

It would be great if Groovy also did this.



--
This message was sent by Atlassian Jira
(v8.20.10#820010)

Reply via email to