< prev index next >

test/langtools/tools/javac/DefiniteAssignment/DA_DUConstructors.java

Print this page
*** 1,8 ***
  /*
   * @test /nodynamiccopyright/
!  * @bug 8325805
   * @summary Permit non-superclass instance field assignments before this/super in constructors
   * @compile/fail/ref=DA_DUConstructors.out -XDrawDiagnostics DA_DUConstructors.java
   */
  
  public class DA_DUConstructors {
--- 1,8 ---
  /*
   * @test /nodynamiccopyright/
!  * @bug 8324873 8325805
   * @summary Permit non-superclass instance field assignments before this/super in constructors
   * @compile/fail/ref=DA_DUConstructors.out -XDrawDiagnostics DA_DUConstructors.java
   */
  
  public class DA_DUConstructors {

*** 14,16 ***
              x = 12;
              super();
          }
      }
  
!     class C2 {
          final int x;
          C2() {
!             this(x = 3); // error
-         }
-         C2(int i) {
              x = 4;
          }
      }
  
      class C3 {
--- 14,17 ---
              x = 12;
              super();
          }
      }
  
!     class C2_Base {
+         C2_Base(int i) {}
+     }
+     class C2 extends C2_Base {
          final int x;
          C2() {
!             super(x = 3); // error
              x = 4;
          }
      }
  
      class C3 {
< prev index next >