test/tools/javac/T5003235/T5003235b.java

Thu, 21 Feb 2013 15:26:46 +0000

author
mcimadamore
date
Thu, 21 Feb 2013 15:26:46 +0000
changeset 1599
9f0ec00514b6
parent 611
4172cfff05f0
child 2525
2eb010b6cb22
permissions
-rw-r--r--

8007461: Regression: bad overload resolution when inner class and outer class have method with same name
Summary: Fix regression in varargs method resolution introduced by bad refactoring
Reviewed-by: jjg

     1 /*
     2  * @test  /nodynamiccopyright/
     3  * @bug     5003235
     4  * @summary Accessibility of private inner class
     5  * @author  Peter von der Ah\u00e9
     6  * @compile/fail/ref=T5003235b.out -XDdiags=%b:%l:%_%m T5003235b.java
     7  */
     9 class Outer {
    10     public Inner inner;
    12     public void create() {
    13         inner = new Inner();
    14     }
    16     private class Inner {
    17         int k = 100;
    18         protected int l = 100;
    19         public int m = 100;
    20         protected int n = 100;
    21     }
    22 }
    24 class Access {
    25     public static void main(String[] args) {
    26         Outer outer = new Outer();
    27         outer.create();
    28         System.out.println("Value of k: " + outer.inner.k);
    29         System.out.println("Value of l: " + outer.inner.l);
    30         System.out.println("Value of m: " + outer.inner.m);
    31         System.out.println("Value of n: " + outer.inner.n);
    32     }
    33 }

mercurial