< prev index next >

src/jdk.compiler/share/classes/com/sun/tools/javac/code/Flags.java

Print this page

        

*** 317,340 **** * Flag that marks finalize block as body-only, should not be copied into catch clauses. * Used to implement try-with-resources. */ public static final long BODY_ONLY_FINALIZE = 1L<<17; //blocks only /** Modifier masks. */ public static final int ! AccessFlags = PUBLIC | PROTECTED | PRIVATE, ! LocalClassFlags = FINAL | ABSTRACT | STRICTFP | ENUM | SYNTHETIC, ! MemberClassFlags = LocalClassFlags | INTERFACE | AccessFlags, ! ClassFlags = LocalClassFlags | INTERFACE | PUBLIC | ANNOTATION, ! InterfaceVarFlags = FINAL | STATIC | PUBLIC, ! VarFlags = AccessFlags | FINAL | STATIC | ! VOLATILE | TRANSIENT | ENUM, ! ConstructorFlags = AccessFlags, ! InterfaceMethodFlags = ABSTRACT | PUBLIC, ! MethodFlags = AccessFlags | ABSTRACT | STATIC | NATIVE | ! SYNCHRONIZED | FINAL | STRICTFP; public static final long ExtendedStandardFlags = (long)StandardFlags | DEFAULT, ModifierFlags = ((long)StandardFlags & ~INTERFACE) | DEFAULT, InterfaceMethodMask = ABSTRACT | PRIVATE | STATIC | PUBLIC | STRICTFP | DEFAULT, AnnotationTypeElementMask = ABSTRACT | PUBLIC, --- 317,348 ---- * Flag that marks finalize block as body-only, should not be copied into catch clauses. * Used to implement try-with-resources. */ public static final long BODY_ONLY_FINALIZE = 1L<<17; //blocks only + /** + * Flag to indicate that a class is a record. The flag is also used to mark fields that are + * part of the state vector of a record. + */ + public static final long RECORD = 1L<<58; + /** Modifier masks. */ public static final int ! AccessFlags = PUBLIC | PROTECTED | PRIVATE, ! LocalClassFlags = FINAL | ABSTRACT | STRICTFP | ENUM | SYNTHETIC, ! LocalRecordFlags = LocalClassFlags | STATIC, ! MemberClassFlags = LocalClassFlags | INTERFACE | AccessFlags, ! MemberRecordClassFlags = MemberClassFlags | STATIC, ! ClassFlags = LocalClassFlags | INTERFACE | PUBLIC | ANNOTATION, ! InterfaceVarFlags = FINAL | STATIC | PUBLIC, ! VarFlags = AccessFlags | FINAL | STATIC | ! VOLATILE | TRANSIENT | ENUM, ! ConstructorFlags = AccessFlags, ! InterfaceMethodFlags = ABSTRACT | PUBLIC, ! MethodFlags = AccessFlags | ABSTRACT | STATIC | NATIVE | ! SYNCHRONIZED | FINAL | STRICTFP; public static final long ExtendedStandardFlags = (long)StandardFlags | DEFAULT, ModifierFlags = ((long)StandardFlags & ~INTERFACE) | DEFAULT, InterfaceMethodMask = ABSTRACT | PRIVATE | STATIC | PUBLIC | STRICTFP | DEFAULT, AnnotationTypeElementMask = ABSTRACT | PUBLIC,
*** 433,443 **** SYSTEM_MODULE(Flags.SYSTEM_MODULE), DEPRECATED_ANNOTATION(Flags.DEPRECATED_ANNOTATION), DEPRECATED_REMOVAL(Flags.DEPRECATED_REMOVAL), HAS_RESOURCE(Flags.HAS_RESOURCE), POTENTIALLY_AMBIGUOUS(Flags.POTENTIALLY_AMBIGUOUS), ! ANONCONSTR_BASED(Flags.ANONCONSTR_BASED); Flag(long flag) { this.value = flag; this.lowercaseName = StringUtils.toLowerCase(name()); } --- 441,452 ---- SYSTEM_MODULE(Flags.SYSTEM_MODULE), DEPRECATED_ANNOTATION(Flags.DEPRECATED_ANNOTATION), DEPRECATED_REMOVAL(Flags.DEPRECATED_REMOVAL), HAS_RESOURCE(Flags.HAS_RESOURCE), POTENTIALLY_AMBIGUOUS(Flags.POTENTIALLY_AMBIGUOUS), ! ANONCONSTR_BASED(Flags.ANONCONSTR_BASED), ! RECORD(Flags.RECORD); Flag(long flag) { this.value = flag; this.lowercaseName = StringUtils.toLowerCase(name()); }
< prev index next >