[ https://issues.apache.org/jira/browse/GROOVY-11309?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17887215#comment-17887215 ]
Eric Milles edited comment on GROOVY-11309 at 10/7/24 4:18 PM: --------------------------------------------------------------- https://github.com/apache/groovy/commit/1bb575f2ef71ea822d621afb4630fba612878387 https://github.com/apache/groovy/commit/a14109dd56968ae9e50478f8763b8395fc1089d8 was (Author: emilles): https://github.com/apache/groovy/commit/1bb575f2ef71ea822d621afb4630fba612878387 > Optimise bytecode for empty list expressions > -------------------------------------------- > > Key: GROOVY-11309 > URL: https://issues.apache.org/jira/browse/GROOVY-11309 > Project: Groovy > Issue Type: Improvement > Components: class generator, Compiler > Affects Versions: 2.5.23 > Reporter: Oscar N > Assignee: Eric Milles > Priority: Minor > Fix For: 5.0.0-alpha-11 > > > I have the following code: > {code:groovy} > class Book { > String title > String blurb = '' > List<String> authors = [] > } > {code} > When checking the compiled output, the creation of the empty list goes > through ScriptBytecodeAdapter: > {code:java} > @Generated > public Book() { > String var1 = ""; > this.blurb = var1; > List var2 = ScriptBytecodeAdapter.createList(new Object[0]); > this.authors = var2; > MetaClass var3 = this.$getStaticMetaClass(); > this.metaClass = var3; > } > {code} > This case can be simplified to "List var2 = new ArrayList()", which would > avoid some overhead and slightly improve @POJO support. -- This message was sent by Atlassian Jira (v8.20.10#820010)