CFV: New jdk9 Reviewer: Andreas Lundblad

Christian Thalinger christian.thalinger at oracle.com
Tue Jan 5 21:58:14 UTC 2016


> On Jan 5, 2016, at 5:26 AM, Maurizio Cimadamore <maurizio.cimadamore at oracle.com> wrote:
> 
> I think I'm stuck on accessors - I really don't know how to handle this stuff properly:
> 
> class SpecializedAccessors5 {
> 
>    static <any Z> void m_static(Z z) {
>        g_static(z);
>    }
> 
>    private static <any Z> void g_static(Z z) { }
> 
>    public static void main(String[] args) {
>        m_static(1L);
>    }
> }
> 
> 
> this is basically a normal generic method calling a private generic method.
> 
> If I don't do anything it won't work, as javac will generate a generic public accessor, and we need an inner class for that too.
> 
> But, even if I add the inner class for the accessor, we end up with issues, because the underlying private method is not really accessible from such synthethic inner class. In other words, for accessors to work, the accessor method must belong to the same class as the accessed symbol. This translation scheme breaks that invariant.
> 
> What do we do?

Vote yes! ;-)

> 
> Maurizio
> 
> On 05/01/16 10:43, Maurizio Cimadamore wrote:
>> Vote: yes!
>> 
>> Maurizio
>> 
>> On 04/01/16 21:31, Jonathan Gibbons wrote:
>>> I hereby nominate Andreas Lundblad to jdk9 Reviewer.
>>> 
>>> Andreas has been an active participant in JDK 8/9 since joining the
>>> LangTools team over two years ago. He has mainly contributed to the
>>> sjavac tool but also to javac and annotations code. His 52 commits
>>> to the langtools and jdk repos are listed below.
>>> 
>>> Votes are due by the end of Jan 18, 2016.
>>> 
>>> Only current jdk9 Reviewers[1] are eligible to vote on this
>>> nomination. Votes must be cast in the open by replying to this
>>> mailing list.
>>> 
>>> For Three-Vote Consensus voting instructions, see [2].
>>> 
>>> -- Jonathan Gibbons
>>> 
>>> [1] http://openjdk.java.net/census#jdk9
>>> [2] http://openjdk.java.net/projects/#reviewer-vote
>>> 
>>> 
>>> 
>>> cb73b474703e: Annotate.Worker should be replaced with lambdas
>>> 7b99e5d09409: test/tools/javac/processing/TestMultipleErrors.java should ha...
>>> 130ae42e6da7: ToolBox should have a cleanDirectory method
>>> 17d15aa9140d: Various sjavac tests result in error on Windows (JPRT)
>>> a32f899caa49: PackagePathMismatch.java does not use --state-dir option
>>> 155f6671cab4: Sjavac tests are leaking file managers
>>> 820841f0e8bd: Test tools/sjavac/IncCompInheritance.java is failing
>>> c8206f440046: Enable thin server mode in Sjavac
>>> 5ba1a29a0eb0: Sjavac should stream back compiler output to the client as so...
>>> a4d9179cf598: A recent update to copyright headers caused two tests to fail
>>> a3dd196e5341: langtools tests have bad license
>>> adba44f6b471: Refactor sjavac as a thin client
>>> 83512da73f99: com/sun/tools/sjavac/pubapi/PubApiTypeParam.java has no copyr...
>>> 5021d414632a: Due to a javac type inference issue, sjavac doesn't compile w...
>>> 27da0c3ac83a: SJavac should track changes in the public apis of classpath c...
>>> f36eace6170f: Open up Dependencies for use from other packages
>>> fc00bb06172c: The field Gen.stringBufferType is no longer needed (and not a...
>>> 732890c00534: Incorrect applying of repeatable annotations with incompatibl...
>>> 524255b0bec0: Infinite loop when compiling annotations with -XDcompletionDeps
>>> 80e4c11aa0f7: Add test for -Xdoclint + -XDcompletionDeps
>>> 39f02f1acda4: Initialization of DocLint triggers out of order initializatio...
>>> 04ec0526fa3d: ArrayType prints element type post order
>>> 4348bf94591c: Confusing (incorrect) error message on repeatable annotations
>>> 7f25537496ff: Confusing / incorrect error message regarding annotations on ...
>>> cfe27a999212: Bootcycle images build fails on Windows32/64
>>> ce519d6f344b: Give TaskListener methods empty default implementations
>>> b5eeeb11b9d4: Sjavac creates unnecessarily many SjavacClient/PooledSjavac/S...
>>> c5c8a1f32b83: Since changeset 2686:56f8be952a5c test/tools/sjavac/Dependenc...
>>> 10100ecb0c97: Sjavac spawns external processes in a unnecessarily complex a...
>>> bbd0164f668d: There is a small race condition in IdleResetSjavac
>>> 69d7812dabcc: Public API scanning should be implemented in the form of a Ta...
>>> a0125e2a10e8: Analysis of public API does not take super classes into account
>>> 9e29021d0d13: Incremental build fails on Windows
>>> 452dd2988607: Refactor sjavac Main class into ClientMain and ServerMain
>>> 9e8cbfac9b6b: Sjavac does not print compilation errors to the console
>>> a5b455614604: Use com.sun.tools.javac.util.Assert instead of 'assert'
>>> 98a99928a76b: Sjavac should not use portfiles, sockets, etc if background=f...
>>> 5bd36f40e4c5: The sjavac client/server protocol should be hidden behind an ...
>>> c2d589333410: A recently added Xprefer test fails on Windows
>>> baf35a88504b: Javac allows timestamps inside rt.jar to affect compilation w...
>>> b510ad035fe4: Option handling in sjavac needs to be rewritten
>>> 37cf13ea5cf9: The steps attribute, flow and desugar are unnecessary for imp...
>>> f7bae95f34e7: sun.tools.javac.util.Bits contains a main-method with test code
>>> f5f0872a1b84: NullPointerException compiling annotation values that have bo...
>>> a970979c412a: remove workaround tests when jtreg updated
>>> 1e7ad879f15e: clean up JavacAnnotatedConstruct
>>> ea000904db62: Bug in javac Pretty: Wrong precedence in JCConditional trees
>>> 5f915a0c9615: Please rename com.sun.tools.javac.util.ListBuffer.lb()
>>> 1fe358ea75ff: javac, LVT test harness should generate tests .class files in...
>>> ac6ec071c2b2: javac, Code_attribute.exception_table_langth should be Code_a...
>>> 7703578cf570: The sjavac exclude option should accept valid directory ident...
>>> 78a0dcde6b67: TEST_BUG: java/lang/reflect/Method/DefaultMethodModeling.java...
>>> b8927cbfb893: Annotations declared on super-super-class should be overridde...
>>> b07856d0de34: Repeating annotations - getAnnotationsByType(Class<T>) is not...
>>> 
>> 
> 



More information about the jdk9-dev mailing list