[ https://issues.apache.org/jira/browse/GROOVY-11287?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17949793#comment-17949793 ]
Eric Milles edited comment on GROOVY-11287 at 5/6/25 4:57 PM: -------------------------------------------------------------- Let me see if I can come up with a limited scope that can be widened little-by-little. My experiment was for all assignment expressions. I might start with just variables, then plus \(+\), then minus \(-\) and so on. was (Author: emilles): Let me see if I can come up with a limited scope that can be widened little-by-little. My experiment was for all assignment expressions. I might start with just variables, then plus (+), then minus (-) and so on. > 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 > Reporter: Oscar N > Assignee: Eric Milles > Priority: Major > > 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)