RFR: 8255968: Confusing error message for inaccessible constructor [v3]
Guoxiong Li
github.com+13688759+lgxbslgx at openjdk.java.net
Wed Nov 25 17:34:57 UTC 2020
On Wed, 25 Nov 2020 13:44:31 GMT, Maurizio Cimadamore <mcimadamore at openjdk.org> wrote:
>> Guoxiong Li has updated the pull request incrementally with three additional commits since the last revision:
>>
>> - Change the `Test(String x)` from private to default. Add comments in test cases to improve readability.
>> - Add corresponding tests for the method reference cases.
>> - Add comments to state the situations
>
> I left some additional comments on tests. I plan to do some experiments to validate that we are not going to introduce bad regressions.
The old style which is shown below is not good.
class T8255968 {
Test c = new Test(0);
}
class Test {
private Test(int x) {}
}
> and that the auxiliary classes defined in these test are, instead, defined as nested classes
I change it to the following style according to the comment. But the compiler compiles it successfully because the outer class can visit private method of its inner class.
class T8255968_1 {
Test c = new Test(0);
class Test {
private Test(int x) {}
}
}
So I would like to use the following style(don't use nested classes).
class T8255968_1 {
T8255968Test1 c = new T8255968Test1(0);
}
class T8255968Test1 {
private T8255968Test1(int x) {}
}
@mcimadamore Do you agree with this style?
-------------
PR: https://git.openjdk.java.net/jdk/pull/1389
More information about the compiler-dev
mailing list