Skip to content

Commit 2bd99e0

Browse files
committed
Initial push
1 parent 5cf349c commit 2bd99e0

File tree

2 files changed

+41
-2
lines changed
  • src/jdk.compiler/share/classes/com/sun/tools/javac/comp
  • test/langtools/tools/javac/ObjectEarlyContext/java/lang

2 files changed

+41
-2
lines changed

src/jdk.compiler/share/classes/com/sun/tools/javac/comp/Attr.java

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1236,8 +1236,8 @@ public void visitMethodDef(JCMethodDecl tree) {
12361236
annotate.queueScanTreeAndTypeAnnotate(tree.body, localEnv, m, null);
12371237
annotate.flush();
12381238

1239-
// Start of constructor prologue
1240-
localEnv.info.ctorPrologue = isConstructor;
1239+
// Start of constructor prologue (if not in java.lang.Object constructor)
1240+
localEnv.info.ctorPrologue = isConstructor && owner.type != syms.objectType;
12411241

12421242
// Attribute method body.
12431243
attribStat(tree.body, localEnv);
Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,39 @@
1+
/*
2+
* Copyright (c) 2025, Oracle and/or its affiliates. All rights reserved.
3+
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
4+
*
5+
* This code is free software; you can redistribute it and/or modify it
6+
* under the terms of the GNU General Public License version 2 only, as
7+
* published by the Free Software Foundation.
8+
*
9+
* This code is distributed in the hope that it will be useful, but WITHOUT
10+
* ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
11+
* FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License
12+
* version 2 for more details (a copy is included in the LICENSE file that
13+
* accompanied this code).
14+
*
15+
* You should have received a copy of the GNU General Public License version
16+
* 2 along with this work; if not, write to the Free Software Foundation,
17+
* Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
18+
*
19+
* Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
20+
* or visit www.oracle.com if you need additional information or have any
21+
* questions.
22+
*/
23+
24+
/*
25+
* @test
26+
* @bug 8361481
27+
* @summary Flexible Constructor Bodies generates a compilation error when compiling a user supplied java.lang.Object class
28+
* @compile -source 8 Object.java
29+
*/
30+
31+
package java.lang;
32+
33+
public class Object {
34+
int x;
35+
36+
public Object() {
37+
x = 2;
38+
}
39+
}

0 commit comments

Comments
 (0)