test/tools/javac/DefiniteAssignment/T8039026.java

Wed, 14 Nov 2018 10:18:25 -0800

author
diazhou
date
Wed, 14 Nov 2018 10:18:25 -0800
changeset 3762
7909abb85562
parent 0
959103a6100f
permissions
-rw-r--r--

Added tag jdk8u201-b04 for changeset a7f48b9dfb82

aoqi@0 1 /*
aoqi@0 2 * @test /nodynamiccopyright/
aoqi@0 3 * @bug 8039026
aoqi@0 4 * @summary Definitely unassigned field can be accessed
aoqi@0 5 * @compile/fail/ref=T8039026.out -XDrawDiagnostics T8039026.java
aoqi@0 6 */
aoqi@0 7
aoqi@0 8 public class T8039026 {
aoqi@0 9 final int x,y,z;
aoqi@0 10 final int a = this.y; // <- error
aoqi@0 11 {
aoqi@0 12 int b = true ? this.x : 0; // <- error
aoqi@0 13 System.out.println(this.x); // <- error
aoqi@0 14 this.y = 1;
aoqi@0 15 }
aoqi@0 16 T8039026() {
aoqi@0 17 this.x = 1; // <- no error!
aoqi@0 18 this.y = 1; // <- error
aoqi@0 19 this.z = this.x; // <- no error
aoqi@0 20 }
aoqi@0 21 }

mercurial