343 * A flag to indicate a match binding variable whose scope extends after the current statement.
344 */
345 public static final long MATCH_BINDING_TO_OUTER = 1L<<60;
346
347 /**
348 * Flag to indicate that a class is a record. The flag is also used to mark fields that are
349 * part of the state vector of a record and to mark the canonical constructor
350 */
351 public static final long RECORD = 1L<<61; // ClassSymbols, MethodSymbols and VarSymbols
352
353 /**
354 * Flag to mark a record constructor as a compact one
355 */
356 public static final long COMPACT_RECORD_CONSTRUCTOR = 1L<<51; // MethodSymbols only
357
358 /**
359 * Flag to mark a record field that was not initialized in the compact constructor
360 */
361 public static final long UNINITIALIZED_FIELD= 1L<<51; // VarSymbols only
362
363 /** Flag is set for compiler-generated record members, it could be appplied to
364 * accessors and fields
365 */
366 public static final int GENERATED_MEMBER = 1<<24; // MethodSymbols and VarSymbols
367
368 /** Modifier masks.
369 */
370 public static final int
371 AccessFlags = PUBLIC | PROTECTED | PRIVATE,
372 LocalClassFlags = FINAL | ABSTRACT | STRICTFP | ENUM | SYNTHETIC,
373 LocalRecordFlags = LocalClassFlags | STATIC,
374 MemberClassFlags = LocalClassFlags | INTERFACE | AccessFlags,
375 MemberRecordFlags = MemberClassFlags | STATIC,
376 ClassFlags = LocalClassFlags | INTERFACE | PUBLIC | ANNOTATION,
377 InterfaceVarFlags = FINAL | STATIC | PUBLIC,
378 VarFlags = AccessFlags | FINAL | STATIC |
379 VOLATILE | TRANSIENT | ENUM,
380 ConstructorFlags = AccessFlags,
381 InterfaceMethodFlags = ABSTRACT | PUBLIC,
382 MethodFlags = AccessFlags | ABSTRACT | STATIC | NATIVE |
383 SYNCHRONIZED | FINAL | STRICTFP,
|
343 * A flag to indicate a match binding variable whose scope extends after the current statement.
344 */
345 public static final long MATCH_BINDING_TO_OUTER = 1L<<60;
346
347 /**
348 * Flag to indicate that a class is a record. The flag is also used to mark fields that are
349 * part of the state vector of a record and to mark the canonical constructor
350 */
351 public static final long RECORD = 1L<<61; // ClassSymbols, MethodSymbols and VarSymbols
352
353 /**
354 * Flag to mark a record constructor as a compact one
355 */
356 public static final long COMPACT_RECORD_CONSTRUCTOR = 1L<<51; // MethodSymbols only
357
358 /**
359 * Flag to mark a record field that was not initialized in the compact constructor
360 */
361 public static final long UNINITIALIZED_FIELD= 1L<<51; // VarSymbols only
362
363 /** Flag is set for compiler-generated record members, it could be applied to
364 * accessors and fields
365 */
366 public static final int GENERATED_MEMBER = 1<<24; // MethodSymbols and VarSymbols
367
368 /** Modifier masks.
369 */
370 public static final int
371 AccessFlags = PUBLIC | PROTECTED | PRIVATE,
372 LocalClassFlags = FINAL | ABSTRACT | STRICTFP | ENUM | SYNTHETIC,
373 LocalRecordFlags = LocalClassFlags | STATIC,
374 MemberClassFlags = LocalClassFlags | INTERFACE | AccessFlags,
375 MemberRecordFlags = MemberClassFlags | STATIC,
376 ClassFlags = LocalClassFlags | INTERFACE | PUBLIC | ANNOTATION,
377 InterfaceVarFlags = FINAL | STATIC | PUBLIC,
378 VarFlags = AccessFlags | FINAL | STATIC |
379 VOLATILE | TRANSIENT | ENUM,
380 ConstructorFlags = AccessFlags,
381 InterfaceMethodFlags = ABSTRACT | PUBLIC,
382 MethodFlags = AccessFlags | ABSTRACT | STATIC | NATIVE |
383 SYNCHRONIZED | FINAL | STRICTFP,
|