What Daniel said is correct. Also if there was an accessible getSize() method, you could use just ".size".
Cheers, Paul. On Sat, Aug 1, 2020 at 11:19 AM Daniel Sun <sun...@apache.org> wrote: > > The parentheses of methods without parameters could not be ommitted. > > `[1, 2, 3].size` is accessing the private field `size` of `ArrayList`, so > illegal reflective access warning will be thrown. > > Cheers, > Daniel Sun > On 2020/08/01 00:49:54, paul <pl.grue...@gmail.com> wrote: > > Hi all, > > > > (on latest groovy 3.0.5 and OpenJDK 14) omitting the empty parentheses > to the .size() call works, but throws an illegal reflective access warning: > > > > ``` > > groovy:000> [1,2,3].size > > WARNING: An illegal reflective access operation has occurred > > WARNING: Illegal reflective access by > org.codehaus.groovy.reflection.ReflectionUtils > (file:/home/paul/.sdkman/candidates/groovy/3.0.5/lib/groovy-3.0.5.jar) to > field java.util.ArrayList.size > > WARNING: Please consider reporting this to the maintainers of > org.codehaus.groovy.reflection.ReflectionUtils > > WARNING: Use --illegal-access=warn to enable warnings of further illegal > reflective access operations > > WARNING: All illegal access operations will be denied in a future release > > ===> 3 > > ``` > > > > Curiously, the size() method seems to be the only parameter-less method > where I can > > omit the empty parentheses – all others throw a MissingPropertyException > (as expected). > > > > What is the desired behaviour, and why is it even working (albeit with > warnings) with .size ? > > > > > > best > > paul > > -- > > typed with Neo 2 -- an ergonomically optimized keyboard layout > > for German, English, programming, and science > > ❤ http://neo-layout.org > > ❤ https://useplaintext.email > > ❤ YY-MM-DD dates (ISO 8601/RFC 3339) > > � UTF-8 encoding > > >