/
githubmirror
/
jdk11u-dev
Обзор
Документация
Войти
/
githubmirror
/
jdk11u-dev
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
test/langtools/tools/javac/implicitThis/NewBeforeOuterConstructed2.java
32 строки
1017 B
Erik Joelsson
8187443: Forest Consolidation: Move files to unified layout
12 сен 2017, 20:03
12 сен 2017, 20:03
3789983
Код
Авторство
О чём код?
/* * @test /nodynamiccopyright/ * @bug 4689058 * @summary unverifiable code for implicit outer in super constructor call * * @compile/fail/ref=NewBeforeOuterConstructed2.out -XDrawDiagnostics NewBeforeOuterConstructed2.java */ public class NewBeforeOuterConstructed2 { NewBeforeOuterConstructed2(Object o) {} class Middle extends NewBeforeOuterConstructed2 { Middle(int i) { super(null); } Middle() { // The 'new' below is illegal, as the outer // constructor has not been called when the // implicit reference to 'this' is evaluated // during the new instance expression. super(/*Middle.this.*/new Middle(1)); } class Inner {} void f() { System.out.println("ok"); } } public static void main(String[] args) { NewBeforeOuterConstructed2 c = new NewBeforeOuterConstructed2(new Object()); Middle m = c.new Middle(); m.f(); } }