Class Flags
java.lang.Object
com.strobel.assembler.metadata.Flags
-
Nested Class Summary
Nested Classes -
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intstatic final intModifier masks.static 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 longstatic final intFlag for synthesized default constructors of anonymous classes.static final longFlag that marks anonymous inner classes.static final intFlag is set for compiler-generated anonymous method symbols that `own' an initializer block.static final longFlag that marks bridge methods.static final longFlag that marks non-override equivalent methods with the same signaturestatic final intFlag is set for class symbols if a class file was found for this class.static final intModifier masks.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 intModifier masks.static final longFlag that marks either a default method or an interface containing default methods.static final longIndicates a class has been run through the deobfuscating preprocessor.static final intFlag is set if symbol is deprecated.static final longFlag that marks an 'effectively final' local variablestatic 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 intModifier masks.static final longstatic final longstatic final longstatic final longstatic final longstatic 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 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 intModifier masks.static final longstatic final intModifier masks.static final intFlag is set for compiler-generated abstract methods that implement an interface method (Miranda methods).static final longIndicates whether an unsuccessful attempt has been made to load a method's body.static final intModifier masks.static final longstatic 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 intModifier masks.static final intModifier masks.static final intModifier masks.static final longstatic final longFlag to indicate class symbol is for module-infostatic final intModifier masks.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 a special kind of bridge methods (the ones that come from restricted supertype bounds)static final longFlag that marks formal parameters.static final intstatic final longFlag that marks an internal proprietary class.static final intstatic final intstatic final longstatic final longFlag to indicate that a class is a record.static final intModifier masks.static final intModifier masks.static final longFlag to indicate sealed class/interface declaration.static final intFlag is set for class symbols if a source file was found for this class.static final intstatic final intstatic final intModifier masks.static final intstatic final longMirror of ACC_SUPER.static final intstatic final intstatic final intstatic 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 a multi-catch parameterstatic final longFlag that marks varargs methods.static final intModifier masks.static final int -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionstatic EnumSet<Flags.Flag> asFlagSet(long mask) static EnumSet<Flags.Flag> asFlagSet(long mask, Flags.Kind kind) asModifierSet(long flags) static longfromStandardFlags(long accessFlags, Flags.Kind kind) static booleanisEnum(TypeDefinition symbol) static booleantestAll(int value, int flags) static booleantestAll(long value, long flags) static booleantestAny(int value, int flags) static booleantestAny(long value, long flags) static inttoModifiers(long flags) static StringtoString(long flags) static StringtoString(long flags, Flags.Kind kind)
-
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_FINAL
public static final int ACC_FINAL- 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:
-
ACC_OPEN
public static final int ACC_OPEN- See Also:
-
ACC_SYNTHETIC
public static final int ACC_SYNTHETIC- See Also:
-
ACC_MANDATED
public static final int ACC_MANDATED- See Also:
-
ACC_TRANSITIVE
public static final int ACC_TRANSITIVE- See Also:
-
ACC_STATIC_PHASE
public static final int ACC_STATIC_PHASE- See Also:
-
DEPRECATED
public static final int DEPRECATEDFlag is set if symbol is deprecated.- 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:
-
IPROXY
public static final int IPROXYFlag is set for compiler-generated abstract methods that implement an interface method (Miranda methods).- 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 flag is currently set only for anonymous classes in superclass constructor calls and only for pre 1.4 targets. todo: use this flag 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:
-
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 a multi-catch parameter- See Also:
-
OVERRIDE_BRIDGE
public static final long OVERRIDE_BRIDGEFlag that marks a special kind of bridge methods (the ones that come from restricted supertype bounds)- 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- See Also:
-
DEFAULT
public static final long DEFAULTFlag that marks either a default method or an interface containing default methods.- See Also:
-
ANONYMOUS
public static final long ANONYMOUSFlag that marks anonymous inner classes.- See Also:
-
SUPER
public static final long SUPERMirror of ACC_SUPER.- See Also:
-
LOAD_BODY_FAILED
public static final long LOAD_BODY_FAILEDIndicates whether an unsuccessful attempt has been made to load a method's body.- See Also:
-
DEOBFUSCATED
public static final long DEOBFUSCATEDIndicates a class has been run through the deobfuscating preprocessor.- See Also:
-
MODULE
public static final long MODULEFlag to indicate class symbol is for module-info- 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:
-
ModuleFlags
public static final int ModuleFlagsModifier masks.- See Also:
-
RequiresFlags
public static final int RequiresFlagsModifier masks.- See Also:
-
ExportsOpensFlags
public static final int ExportsOpensFlagsModifier masks.- See Also:
-
AccessFlags
public static final int AccessFlagsModifier masks.- See Also:
-
LocalClassFlags
public static final int LocalClassFlagsModifier masks.- See Also:
-
StaticLocalFlags
public static final int StaticLocalFlagsModifier masks.- See Also:
-
MemberClassFlags
public static final int MemberClassFlagsModifier masks.- See Also:
-
MemberStaticClassFlags
public static final int MemberStaticClassFlagsModifier masks.- See Also:
-
ClassFlags
public static final int ClassFlagsModifier masks.- See Also:
-
InterfaceVarFlags
public static final int InterfaceVarFlagsModifier masks.- See Also:
-
VarFlags
public static final int VarFlagsModifier masks.- See Also:
-
ConstructorFlags
public static final int ConstructorFlagsModifier masks.- See Also:
-
InterfaceMethodFlags
public static final int InterfaceMethodFlagsModifier masks.- See Also:
-
MethodFlags
public static final int MethodFlagsModifier masks.- See Also:
-
RecordMethodFlags
public static final int RecordMethodFlagsModifier masks.- See Also:
-
ExtendedInterfaceFlags
public static final long ExtendedInterfaceFlags- See Also:
-
ExtendedStandardFlags
public static final long ExtendedStandardFlags- See Also:
-
ExtendedMemberClassFlags
public static final long ExtendedMemberClassFlags- See Also:
-
ExtendedMemberStaticClassFlags
public static final long ExtendedMemberStaticClassFlags- See Also:
-
ExtendedClassFlags
public static final long ExtendedClassFlags- See Also:
-
ModifierFlags
public static final long ModifierFlags- See Also:
-
InterfaceMethodMask
public static final long InterfaceMethodMask- See Also:
-
AnnotationTypeElementMask
public static final long AnnotationTypeElementMask- See Also:
-
LocalVarFlags
public static final long LocalVarFlags- See Also:
-
ReceiverParamFlags
public static final long ReceiverParamFlags- See Also:
-
modifierSets
-
-
Constructor Details
-
Flags
private Flags()
-
-
Method Details
-
toString
-
toString
-
asFlagSet
-
asFlagSet
-
asModifierSet
-
toModifiers
public static int toModifiers(long flags) -
testAny
public static boolean testAny(int value, int flags) -
testAll
public static boolean testAll(int value, int flags) -
testAny
public static boolean testAny(long value, long flags) -
testAll
public static boolean testAll(long value, long flags) -
isEnum
-
fromStandardFlags
-