OpenJDK / amber / amber
changeset 55724:4f8fdcff9d1e amber-demo-II
Automatic merge with records-and-sealed
author | mcimadamore |
---|---|
date | Fri, 12 Apr 2019 20:50:57 +0200 |
parents | 790e66f7d86b dc731cc17bc8 |
children | 5afdb08e78b8 |
files | src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java |
diffstat | 2 files changed, 4 insertions(+), 5 deletions(-) [+] |
line wrap: on
line diff
--- a/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java Mon Apr 08 13:45:43 2019 +0200 +++ b/src/jdk.compiler/share/classes/com/sun/tools/javac/parser/JavacParser.java Fri Apr 12 20:50:57 2019 +0200 @@ -3718,7 +3718,7 @@ if (mods.flags != 0) { log.error(mods.pos, Errors.RecordCantDeclareFieldModifiers); } - mods.flags |= Flags.RECORD | Flags.FINAL; + mods.flags |= Flags.RECORD | Flags.FINAL | Flags.PRIVATE; mods.flags |= (recordClassMods.flags & Flags.ABSTRACT) != 0 ? Flags.PROTECTED : 0; JCExpression type = parseType(); int pos = token.pos;
--- a/test/langtools/tools/javac/datum/CheckDatumMembersAccess.java Mon Apr 08 13:45:43 2019 +0200 +++ b/test/langtools/tools/javac/datum/CheckDatumMembersAccess.java Fri Apr 12 20:50:57 2019 +0200 @@ -41,7 +41,7 @@ public class CheckDatumMembersAccess { - record Datum(int AbstractFieldToSearchFor, int newField, int nonFinalField) {} + record Datum(int field) {} public static void main(String args[]) throws Throwable { new CheckDatumMembersAccess().run(); @@ -57,9 +57,8 @@ CheckDatumMembersAccess.class.getName() + "$Datum.class"); ClassFile classFile = ClassFile.read(file); for (Field f : classFile.fields) { - if (f.getName(classFile.constant_pool).equals("AbstractFieldToSearchFor") || - f.getName(classFile.constant_pool).equals("newField")) { - Assert.check((f.access_flags.flags & AccessFlags.ACC_FINAL) != 0, "fields of datum should be final"); + if (f.getName(classFile.constant_pool).equals("field")) { + Assert.check((f.access_flags.flags & (AccessFlags.ACC_FINAL | AccessFlags.ACC_PRIVATE)) != 0, "record fields should be final and private"); } } }