[
https://issues.apache.org/jira/browse/GROOVY-9081?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16834925#comment-16834925
]
Daniel Sun edited comment on GROOVY-9081 at 5/7/19 4:32 PM:
------------------------------------------------------------
As a side note, here is a statistics on build time(the build time does not
change too much):
*TRAVIS-CI: BEFORE CHANGES OF GROOVY-8339 + GROOVY-9081*
[https://travis-ci.org/apache/groovy/builds/526268684]
JAVA11: 30m5s JAVA8: 26m19s diff: 226s
[https://travis-ci.org/apache/groovy/builds/524404531]
JAVA11: 25m50s JAVA8: 24m21s diff: 89s
[https://travis-ci.org/apache/groovy/builds/523317135]
JAVA11: 25m55s JAVA8: 23m52s diff: 123s
*TRAVIS-CI: AFTER CHANGES OF GROOVY-8339 + GROOVY-9081*
[https://travis-ci.org/apache/groovy/builds/529046834]
JAVA11: 25m45s JAVA8: 23m8s diff: 157s
[https://travis-ci.org/apache/groovy/builds/528870240]
JAVA11: 26m4s JAVA8: 25m26s diff: 38s
[https://travis-ci.org/apache/groovy/builds/528859690]
JAVA11: 26m52s JAVA8: 24m4s diff: 168s
*TEAMCITY:*
JAVA9 costs about 21m before and after the changes of GROOVY-8339 + GROOVY-9081
http://ci.groovy-lang.org/viewType.html?buildTypeId=Groovy_Jdk9Build&guest=1
was (Author: daniel_sun):
As a side note, here is a statistics on build time(the build time does not
change too much):
*BEFORE CHANGES OF GROOVY-8339 + GROOVY-9081*
https://travis-ci.org/apache/groovy/builds/526268684
JAVA11: 30m5s JAVA8: 26m19s diff: 226s
https://travis-ci.org/apache/groovy/builds/524404531
JAVA11: 25m50s JAVA8: 24m21s diff: 89s
https://travis-ci.org/apache/groovy/builds/523317135
JAVA11: 25m55s JAVA8: 23m52s diff: 123s
*AFTER CHANGES OF GROOVY-8339 + GROOVY-9081*
https://travis-ci.org/apache/groovy/builds/529046834
JAVA11: 25m45s JAVA8: 23m8s diff: 157s
https://travis-ci.org/apache/groovy/builds/528870240
JAVA11: 26m4s JAVA8: 25m26s diff: 38s
https://travis-ci.org/apache/groovy/builds/528859690
JAVA11: 26m52s JAVA8: 24m4s diff: 168s
> CLONE - Fix warning "An illegal reflective access operation has occurred"
> -------------------------------------------------------------------------
>
> Key: GROOVY-9081
> URL: https://issues.apache.org/jira/browse/GROOVY-9081
> Project: Groovy
> Issue Type: Improvement
> Components: groovy-jdk
> Affects Versions: 2.4.11, 2.4.15
> Environment: >gradle --version
> Gradle 4.2
> Build time: 2017-09-20 14:48:23 UTC
> Revision: 5ba503cc17748671c83ce35d7da1cffd6e24dfbd
> Groovy: 2.4.11
> Ant: Apache Ant(TM) version 1.9.6 compiled on June 29 2015
> JVM: 9 (Oracle Corporation 9+181)
> OS: Windows 10 10.0 amd64
> Reporter: Benjamin Roedell
> Assignee: Daniel Sun
> Priority: Major
> Fix For: 3.0.0-beta-1
>
> Time Spent: 2h 10m
> Remaining Estimate: 0h
>
> This cloned issue is to cover the rest part of GROOVY-8339.
> h4. -1) Sub-class derives the public members from {{package-private}} class,
> but invoke the members on the sub class instances, e.g.-
> *-1.0) Non-category-*
>
> [https://github.com/apache/groovy/blob/master/subprojects/groovy-groovysh/src/main/groovy/org/codehaus/groovy/tools/shell/Groovysh.groovy#L532]
> *-1.1) Category-*
>
> [https://github.com/apache/groovy/blob/master/src/spec/test/TraitsSpecificationTest.groovy#L835]
> h4. -3) Access {{public}} members of {{private}} class, e.g.-
> [https://github.com/apache/groovy/blob/master/subprojects/groovy-console/src/main/groovy/groovy/inspect/swingui/ScriptToTreeNodeAdapter.groovy#L235]
> {{java.util.Collections.UnmodifiableMap::toString}}
> We should try to find the overrided member of its base class and
> access(virtual invocation will happen eventually)
> h4. -4) Access {{public}} members of {{package-private}} class, e.g.-
> [https://github.com/apache/groovy/blob/master/src/spec/test/gdk/WorkingWithIOSpecTest.groovy#L355]
> {{java.lang.ProcessImpl::waitFor}}
> We should try to find the overrided member of its base class and
> access(virtual invocation will happen eventually)
> h4. -5) Favor the method with more accurate parameter type even if it is not
> visible, e.g. {{EnumMap::equals(EnumMap<?,?>)}}-
> [https://github.com/apache/groovy/blob/master/subprojects/parser-antlr4/src/test/groovy/org/apache/groovy/parser/antlr4/util/ASTComparatorCategory.groovy#L271]
> When comparing two {{ClassNode}} instances, {{ClassNode.transformInstances}}
> will be compared, their type is {{EnumMap}}
> h4. -7) Access non-visible constructor when {{as}} type, e.g.-
> [https://github.com/apache/groovy/blob/master/src/test/groovy/lang/MapOfClosureTest.groovy#L57]
> The constructor of {{TimerTask}} is {{protected}}
> h4.
--
This message was sent by Atlassian JIRA
(v7.6.3#76005)