Package net.binis.codegen.compiler
Class CGFlags
java.lang.Object
net.binis.codegen.compiler.CGFlags
Copy of com.sun.tools.javac.code.Flags
Access flags and other modifiers for Java classes and members.
This is NOT part of any supported API. If you write code that depends on this, you do so at your own risk. This code and its internal interfaces are subject to change or deletion without notice.
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intFlag for class symbols to indicate it has been checked and found acyclic.static final longFlag for annotation type symbols to indicate it has been checked and found acyclic.static final intFlag that marks attribute interfaces, added in classfile v49.0.static final intFlag for synthesized default constructors of anonymous classes.static final longFlag for synthesized default constructors of anonymous classes that have an enclosing expression.static final longFlag to indicate the given ModuleSymbol is an automatic module.static final longFlag that marks class as auxiliary, ie a non-public class following the public class in a source file, that could block implicit compilation.static final longFlag that indicates that an override error has been detected by Check.static final intFlag is set for compiler-generated anonymous method symbols that `own' an initializer block.static final longFlag that marks finalize block as body-only, should not be copied into catch clauses.static final longFlag that marks bridge methods.static final longFlag that marks non-override equivalent methods with the same signature, or a conflicting match binding (BindingSymbol).static final intFlag is set for class symbols if a class file was found for this class.static final longFlag to mark a record constructor as a compact onestatic final intFlag is set for compiler-generated compound classes representing multiple variable boundsstatic final longFlag that marks either a default method or an interface containing default methods.static final intFlag is set if symbol is deprecated.static final longFlag to indicate the given symbol has a @Deprecated annotation.static final longFlag to indicate the given symbol has been deprecated and marked for removal.static final longFlag that marks an 'effectively final' local variable.static final intAn enumeration type or an enumeration constant, added in classfile v49.0.static final intFlag is set for package symbols if a package has a member or directory and therefore exists.static final intstatic final intFlag is set for compiler-generated record members, it could be applied to accessors and fieldsstatic final longFlag that marks a generated default constructor.static final longFlag to indicate the given PackageSymbol contains any non-.java and non-.class resources.static final intFlag is set for a variable symbol if the variable's definition has an initializer part.static final longFlag that marks a hypothetical method that need not really be generated in the binary, but is present in the symbol table to simplify checking for erasure clashes - also used for 292 poly sig methods.static final intstatic final longFlag that marks a synthetic method body for a lambda expressionstatic final intFlag for class symbols is set and later re-set as a lock in Enter to detect cycles in the superclass/superinterface relations.static final intAdded in SE8, represents constructs implicitly declared in source.static final longFlag to indicate the given variable is a match binding variable.static final longA flag to indicate a match binding variable whose scope extends after the current statement.static final longFlag to indicate class symbol is for module-infostatic final longFlag to indicate the given ParamSymbol has a user-friendly name filled.static final intstatic final longFlag to indicate that the class/interface was declared with the non-sealed modifier.static final intFlag is set for nested classes that do not access instance members or `this' of an outer class and therefore don't need to be passed a this$n reference.static final longFlag that marks that a symbol is not available in the current profilestatic final longFlag that marks formal parameters.static final longFlag that marks potentially ambiguous overloadsstatic final longFlag to indicate the API element in question is for a preview API.static final longFlag to indicate the API element in question is for a preview API.static final intstatic final longFlag that marks an internal proprietary class.static final intstatic final intstatic final longFlag to indicate that a class is a record.static final longFlags an erroneous TypeSymbol as viable for recovery.static final longFlag to indicate sealed class/interface declaration.static final longFlag that indicates a signature polymorphic method (292).static final intFlag is set for class symbols if a source file was found for this class.static final intstatic final intstatic final intstatic final intFlag to indicate the super classes of this ClassSymbol has been attributed.static final intstatic final intstatic final longFlag to indicate the given ModuleSymbol is a system module.static final longFlag that indicates that an inference variable is used in a 'throws' clause.static final intstatic final longFlag to control recursion in TransTypesstatic final intFlag for class symbols is set and later re-set to indicate that a class has been entered but has not yet been attributed.static final longFlag to mark a record field that was not initialized in the compact constructorstatic final longFlag that marks a multi-catch parameter.static final longFlag to indicate the given ClassSymbol is a value based.static final longFlag that marks varargs methods.static final int -
Method Summary
-
Field Details
-
PUBLIC
public static final int PUBLIC- See Also:
-
PRIVATE
public static final int PRIVATE- See Also:
-
PROTECTED
public static final int PROTECTED- See Also:
-
STATIC
public static final int STATIC- See Also:
-
FINAL
public static final int FINAL- See Also:
-
SYNCHRONIZED
public static final int SYNCHRONIZED- See Also:
-
VOLATILE
public static final int VOLATILE- See Also:
-
TRANSIENT
public static final int TRANSIENT- See Also:
-
NATIVE
public static final int NATIVE- See Also:
-
INTERFACE
public static final int INTERFACE- See Also:
-
ABSTRACT
public static final int ABSTRACT- See Also:
-
STRICTFP
public static final int STRICTFP- See Also:
-
SYNTHETIC
public static final int SYNTHETIC- See Also:
-
ANNOTATION
public static final int ANNOTATIONFlag that marks attribute interfaces, added in classfile v49.0.- See Also:
-
ENUM
public static final int ENUMAn enumeration type or an enumeration constant, added in classfile v49.0.- See Also:
-
MANDATED
public static final int MANDATEDAdded in SE8, represents constructs implicitly declared in source.- See Also:
-
StandardFlags
public static final int StandardFlags- See Also:
-
ACC_SUPER
public static final int ACC_SUPER- See Also:
-
ACC_BRIDGE
public static final int ACC_BRIDGE- See Also:
-
ACC_VARARGS
public static final int ACC_VARARGS- See Also:
-
ACC_MODULE
public static final int ACC_MODULE- See Also:
-
DEPRECATED
public static final int DEPRECATEDFlag is set if symbol is deprecated. See also DEPRECATED_REMOVAL.- See Also:
-
HASINIT
public static final int HASINITFlag is set for a variable symbol if the variable's definition has an initializer part.- See Also:
-
BLOCK
public static final int BLOCKFlag is set for compiler-generated anonymous method symbols that `own' an initializer block.- See Also:
-
NOOUTERTHIS
public static final int NOOUTERTHISFlag is set for nested classes that do not access instance members or `this' of an outer class and therefore don't need to be passed a this$n reference. This value is currently set only for anonymous classes in superclass constructor calls. todo: use this value for optimizing away this$n parameters in other cases.- See Also:
-
EXISTS
public static final int EXISTSFlag is set for package symbols if a package has a member or directory and therefore exists.- See Also:
-
COMPOUND
public static final int COMPOUNDFlag is set for compiler-generated compound classes representing multiple variable bounds- See Also:
-
CLASS_SEEN
public static final int CLASS_SEENFlag is set for class symbols if a class file was found for this class.- See Also:
-
SOURCE_SEEN
public static final int SOURCE_SEENFlag is set for class symbols if a source file was found for this class.- See Also:
-
LOCKED
public static final int LOCKEDFlag for class symbols is set and later re-set as a lock in Enter to detect cycles in the superclass/superinterface relations. Similarly for constructor call cycle detection in Attr.- See Also:
-
UNATTRIBUTED
public static final int UNATTRIBUTEDFlag for class symbols is set and later re-set to indicate that a class has been entered but has not yet been attributed.- See Also:
-
ANONCONSTR
public static final int ANONCONSTRFlag for synthesized default constructors of anonymous classes.- See Also:
-
SUPER_OWNER_ATTRIBUTED
public static final int SUPER_OWNER_ATTRIBUTEDFlag to indicate the super classes of this ClassSymbol has been attributed.- See Also:
-
ACYCLIC
public static final int ACYCLICFlag for class symbols to indicate it has been checked and found acyclic.- See Also:
-
BRIDGE
public static final long BRIDGEFlag that marks bridge methods.- See Also:
-
PARAMETER
public static final long PARAMETERFlag that marks formal parameters.- See Also:
-
VARARGS
public static final long VARARGSFlag that marks varargs methods.- See Also:
-
ACYCLIC_ANN
public static final long ACYCLIC_ANNFlag for annotation type symbols to indicate it has been checked and found acyclic.- See Also:
-
GENERATEDCONSTR
public static final long GENERATEDCONSTRFlag that marks a generated default constructor.- See Also:
-
HYPOTHETICAL
public static final long HYPOTHETICALFlag that marks a hypothetical method that need not really be generated in the binary, but is present in the symbol table to simplify checking for erasure clashes - also used for 292 poly sig methods.- See Also:
-
PROPRIETARY
public static final long PROPRIETARYFlag that marks an internal proprietary class.- See Also:
-
UNION
public static final long UNIONFlag that marks a multi-catch parameter.- See Also:
-
RECOVERABLE
public static final long RECOVERABLEFlags an erroneous TypeSymbol as viable for recovery. TypeSymbols only.- See Also:
-
EFFECTIVELY_FINAL
public static final long EFFECTIVELY_FINALFlag that marks an 'effectively final' local variable.- See Also:
-
CLASH
public static final long CLASHFlag that marks non-override equivalent methods with the same signature, or a conflicting match binding (BindingSymbol).- See Also:
-
DEFAULT
public static final long DEFAULTFlag that marks either a default method or an interface containing default methods.- See Also:
-
AUXILIARY
public static final long AUXILIARYFlag that marks class as auxiliary, ie a non-public class following the public class in a source file, that could block implicit compilation.- See Also:
-
NOT_IN_PROFILE
public static final long NOT_IN_PROFILEFlag that marks that a symbol is not available in the current profile- See Also:
-
BAD_OVERRIDE
public static final long BAD_OVERRIDEFlag that indicates that an override error has been detected by Check.- See Also:
-
SIGNATURE_POLYMORPHIC
public static final long SIGNATURE_POLYMORPHICFlag that indicates a signature polymorphic method (292).- See Also:
-
THROWS
public static final long THROWSFlag that indicates that an inference variable is used in a 'throws' clause.- See Also:
-
POTENTIALLY_AMBIGUOUS
public static final long POTENTIALLY_AMBIGUOUSFlag that marks potentially ambiguous overloads- See Also:
-
LAMBDA_METHOD
public static final long LAMBDA_METHODFlag that marks a synthetic method body for a lambda expression- See Also:
-
TYPE_TRANSLATED
public static final long TYPE_TRANSLATEDFlag to control recursion in TransTypes- See Also:
-
MODULE
public static final long MODULEFlag to indicate class symbol is for module-info- See Also:
-
AUTOMATIC_MODULE
public static final long AUTOMATIC_MODULEFlag to indicate the given ModuleSymbol is an automatic module.- See Also:
-
HAS_RESOURCE
public static final long HAS_RESOURCEFlag to indicate the given PackageSymbol contains any non-.java and non-.class resources.- See Also:
-
NAME_FILLED
public static final long NAME_FILLEDFlag to indicate the given ParamSymbol has a user-friendly name filled.- See Also:
-
SYSTEM_MODULE
public static final long SYSTEM_MODULEFlag to indicate the given ModuleSymbol is a system module.- See Also:
-
VALUE_BASED
public static final long VALUE_BASEDFlag to indicate the given ClassSymbol is a value based.- See Also:
-
DEPRECATED_ANNOTATION
public static final long DEPRECATED_ANNOTATIONFlag to indicate the given symbol has a @Deprecated annotation.- See Also:
-
DEPRECATED_REMOVAL
public static final long DEPRECATED_REMOVALFlag to indicate the given symbol has been deprecated and marked for removal.- See Also:
-
PREVIEW_API
public static final long PREVIEW_APIFlag to indicate the API element in question is for a preview API.- See Also:
-
ANONCONSTR_BASED
public static final long ANONCONSTR_BASEDFlag for synthesized default constructors of anonymous classes that have an enclosing expression.- See Also:
-
BODY_ONLY_FINALIZE
public static final long BODY_ONLY_FINALIZEFlag that marks finalize block as body-only, should not be copied into catch clauses. Used to implement try-with-resources.- See Also:
-
PREVIEW_REFLECTIVE
public static final long PREVIEW_REFLECTIVEFlag to indicate the API element in question is for a preview API.- See Also:
-
MATCH_BINDING
public static final long MATCH_BINDINGFlag to indicate the given variable is a match binding variable.- See Also:
-
MATCH_BINDING_TO_OUTER
public static final long MATCH_BINDING_TO_OUTERA flag to indicate a match binding variable whose scope extends after the current statement.- See Also:
-
RECORD
public static final long RECORDFlag 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 and to mark the canonical constructor- See Also:
-
COMPACT_RECORD_CONSTRUCTOR
public static final long COMPACT_RECORD_CONSTRUCTORFlag to mark a record constructor as a compact one- See Also:
-
UNINITIALIZED_FIELD
public static final long UNINITIALIZED_FIELDFlag to mark a record field that was not initialized in the compact constructor- See Also:
-
GENERATED_MEMBER
public static final int GENERATED_MEMBERFlag is set for compiler-generated record members, it could be applied to accessors and fields- See Also:
-
SEALED
public static final long SEALEDFlag to indicate sealed class/interface declaration.- See Also:
-
NON_SEALED
public static final long NON_SEALEDFlag to indicate that the class/interface was declared with the non-sealed modifier.- See Also:
-