Class CGFlags

java.lang.Object
net.binis.codegen.compiler.CGFlags

public class CGFlags extends Object
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

    Fields
    Modifier and Type
    Field
    Description
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
     
    static final int
    Flag for class symbols to indicate it has been checked and found acyclic.
    static final long
    Flag for annotation type symbols to indicate it has been checked and found acyclic.
    static final int
    Flag that marks attribute interfaces, added in classfile v49.0.
    static final int
    Flag for synthesized default constructors of anonymous classes.
    static final long
    Flag for synthesized default constructors of anonymous classes that have an enclosing expression.
    static final long
    Flag to indicate the given ModuleSymbol is an automatic module.
    static final long
    Flag 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 long
    Flag that indicates that an override error has been detected by Check.
    static final int
    Flag is set for compiler-generated anonymous method symbols that `own' an initializer block.
    static final long
    Flag that marks finalize block as body-only, should not be copied into catch clauses.
    static final long
    Flag that marks bridge methods.
    static final long
    Flag that marks non-override equivalent methods with the same signature, or a conflicting match binding (BindingSymbol).
    static final int
    Flag is set for class symbols if a class file was found for this class.
    static final long
    Flag to mark a record constructor as a compact one
    static final int
    Flag is set for compiler-generated compound classes representing multiple variable bounds
    static final long
    Flag that marks either a default method or an interface containing default methods.
    static final int
    Flag is set if symbol is deprecated.
    static final long
    Flag to indicate the given symbol has a @Deprecated annotation.
    static final long
    Flag to indicate the given symbol has been deprecated and marked for removal.
    static final long
    Flag that marks an 'effectively final' local variable.
    static final int
    An enumeration type or an enumeration constant, added in classfile v49.0.
    static final int
    Flag is set for package symbols if a package has a member or directory and therefore exists.
    static final int
     
    static final int
    Flag is set for compiler-generated record members, it could be applied to accessors and fields
    static final long
    Flag that marks a generated default constructor.
    static final long
    Flag to indicate the given PackageSymbol contains any non-.java and non-.class resources.
    static final int
    Flag is set for a variable symbol if the variable's definition has an initializer part.
    static final long
    Flag 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 int
     
    static final long
    Flag that marks a synthetic method body for a lambda expression
    static final int
    Flag for class symbols is set and later re-set as a lock in Enter to detect cycles in the superclass/superinterface relations.
    static final int
    Added in SE8, represents constructs implicitly declared in source.
    static final long
    Flag to indicate the given variable is a match binding variable.
    static final long
    A flag to indicate a match binding variable whose scope extends after the current statement.
    static final long
    Flag to indicate class symbol is for module-info
    static final long
    Flag to indicate the given ParamSymbol has a user-friendly name filled.
    static final int
     
    static final long
    Flag to indicate that the class/interface was declared with the non-sealed modifier.
    static final int
    Flag 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 long
    Flag that marks that a symbol is not available in the current profile
    static final long
    Flag that marks formal parameters.
    static final long
    Flag that marks potentially ambiguous overloads
    static final long
    Flag to indicate the API element in question is for a preview API.
    static final long
    Flag to indicate the API element in question is for a preview API.
    static final int
     
    static final long
    Flag that marks an internal proprietary class.
    static final int
     
    static final int
     
    static final long
    Flag to indicate that a class is a record.
    static final long
    Flags an erroneous TypeSymbol as viable for recovery.
    static final long
    Flag to indicate sealed class/interface declaration.
    static final long
    Flag that indicates a signature polymorphic method (292).
    static final int
    Flag is set for class symbols if a source file was found for this class.
    static final int
     
    static final int
     
    static final int
     
    static final int
    Flag to indicate the super classes of this ClassSymbol has been attributed.
    static final int
     
    static final int
     
    static final long
    Flag to indicate the given ModuleSymbol is a system module.
    static final long
    Flag that indicates that an inference variable is used in a 'throws' clause.
    static final int
     
    static final long
    Flag to control recursion in TransTypes
    static final int
    Flag 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 long
    Flag to mark a record field that was not initialized in the compact constructor
    static final long
    Flag that marks a multi-catch parameter.
    static final long
    Flag to indicate the given ClassSymbol is a value based.
    static final long
    Flag that marks varargs methods.
    static final int
     
  • Method Summary

    Methods inherited from class java.lang.Object

    clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
  • 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 ANNOTATION
      Flag that marks attribute interfaces, added in classfile v49.0.
      See Also:
    • ENUM

      public static final int ENUM
      An enumeration type or an enumeration constant, added in classfile v49.0.
      See Also:
    • MANDATED

      public static final int MANDATED
      Added 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 DEPRECATED
      Flag is set if symbol is deprecated. See also DEPRECATED_REMOVAL.
      See Also:
    • HASINIT

      public static final int HASINIT
      Flag is set for a variable symbol if the variable's definition has an initializer part.
      See Also:
    • BLOCK

      public static final int BLOCK
      Flag is set for compiler-generated anonymous method symbols that `own' an initializer block.
      See Also:
    • NOOUTERTHIS

      public static final int NOOUTERTHIS
      Flag 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 EXISTS
      Flag is set for package symbols if a package has a member or directory and therefore exists.
      See Also:
    • COMPOUND

      public static final int COMPOUND
      Flag is set for compiler-generated compound classes representing multiple variable bounds
      See Also:
    • CLASS_SEEN

      public static final int CLASS_SEEN
      Flag is set for class symbols if a class file was found for this class.
      See Also:
    • SOURCE_SEEN

      public static final int SOURCE_SEEN
      Flag is set for class symbols if a source file was found for this class.
      See Also:
    • LOCKED

      public static final int LOCKED
      Flag 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 UNATTRIBUTED
      Flag 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 ANONCONSTR
      Flag for synthesized default constructors of anonymous classes.
      See Also:
    • SUPER_OWNER_ATTRIBUTED

      public static final int SUPER_OWNER_ATTRIBUTED
      Flag to indicate the super classes of this ClassSymbol has been attributed.
      See Also:
    • ACYCLIC

      public static final int ACYCLIC
      Flag for class symbols to indicate it has been checked and found acyclic.
      See Also:
    • BRIDGE

      public static final long BRIDGE
      Flag that marks bridge methods.
      See Also:
    • PARAMETER

      public static final long PARAMETER
      Flag that marks formal parameters.
      See Also:
    • VARARGS

      public static final long VARARGS
      Flag that marks varargs methods.
      See Also:
    • ACYCLIC_ANN

      public static final long ACYCLIC_ANN
      Flag for annotation type symbols to indicate it has been checked and found acyclic.
      See Also:
    • GENERATEDCONSTR

      public static final long GENERATEDCONSTR
      Flag that marks a generated default constructor.
      See Also:
    • HYPOTHETICAL

      public static final long HYPOTHETICAL
      Flag 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 PROPRIETARY
      Flag that marks an internal proprietary class.
      See Also:
    • UNION

      public static final long UNION
      Flag that marks a multi-catch parameter.
      See Also:
    • RECOVERABLE

      public static final long RECOVERABLE
      Flags an erroneous TypeSymbol as viable for recovery. TypeSymbols only.
      See Also:
    • EFFECTIVELY_FINAL

      public static final long EFFECTIVELY_FINAL
      Flag that marks an 'effectively final' local variable.
      See Also:
    • CLASH

      public static final long CLASH
      Flag that marks non-override equivalent methods with the same signature, or a conflicting match binding (BindingSymbol).
      See Also:
    • DEFAULT

      public static final long DEFAULT
      Flag that marks either a default method or an interface containing default methods.
      See Also:
    • AUXILIARY

      public static final long AUXILIARY
      Flag 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_PROFILE
      Flag that marks that a symbol is not available in the current profile
      See Also:
    • BAD_OVERRIDE

      public static final long BAD_OVERRIDE
      Flag that indicates that an override error has been detected by Check.
      See Also:
    • SIGNATURE_POLYMORPHIC

      public static final long SIGNATURE_POLYMORPHIC
      Flag that indicates a signature polymorphic method (292).
      See Also:
    • THROWS

      public static final long THROWS
      Flag that indicates that an inference variable is used in a 'throws' clause.
      See Also:
    • POTENTIALLY_AMBIGUOUS

      public static final long POTENTIALLY_AMBIGUOUS
      Flag that marks potentially ambiguous overloads
      See Also:
    • LAMBDA_METHOD

      public static final long LAMBDA_METHOD
      Flag that marks a synthetic method body for a lambda expression
      See Also:
    • TYPE_TRANSLATED

      public static final long TYPE_TRANSLATED
      Flag to control recursion in TransTypes
      See Also:
    • MODULE

      public static final long MODULE
      Flag to indicate class symbol is for module-info
      See Also:
    • AUTOMATIC_MODULE

      public static final long AUTOMATIC_MODULE
      Flag to indicate the given ModuleSymbol is an automatic module.
      See Also:
    • HAS_RESOURCE

      public static final long HAS_RESOURCE
      Flag to indicate the given PackageSymbol contains any non-.java and non-.class resources.
      See Also:
    • NAME_FILLED

      public static final long NAME_FILLED
      Flag to indicate the given ParamSymbol has a user-friendly name filled.
      See Also:
    • SYSTEM_MODULE

      public static final long SYSTEM_MODULE
      Flag to indicate the given ModuleSymbol is a system module.
      See Also:
    • VALUE_BASED

      public static final long VALUE_BASED
      Flag to indicate the given ClassSymbol is a value based.
      See Also:
    • DEPRECATED_ANNOTATION

      public static final long DEPRECATED_ANNOTATION
      Flag to indicate the given symbol has a @Deprecated annotation.
      See Also:
    • DEPRECATED_REMOVAL

      public static final long DEPRECATED_REMOVAL
      Flag to indicate the given symbol has been deprecated and marked for removal.
      See Also:
    • PREVIEW_API

      public static final long PREVIEW_API
      Flag to indicate the API element in question is for a preview API.
      See Also:
    • ANONCONSTR_BASED

      public static final long ANONCONSTR_BASED
      Flag for synthesized default constructors of anonymous classes that have an enclosing expression.
      See Also:
    • BODY_ONLY_FINALIZE

      public static final long BODY_ONLY_FINALIZE
      Flag 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_REFLECTIVE
      Flag to indicate the API element in question is for a preview API.
      See Also:
    • MATCH_BINDING

      public static final long MATCH_BINDING
      Flag to indicate the given variable is a match binding variable.
      See Also:
    • MATCH_BINDING_TO_OUTER

      public static final long MATCH_BINDING_TO_OUTER
      A flag to indicate a match binding variable whose scope extends after the current statement.
      See Also:
    • RECORD

      public static final long RECORD
      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 and to mark the canonical constructor
      See Also:
    • COMPACT_RECORD_CONSTRUCTOR

      public static final long COMPACT_RECORD_CONSTRUCTOR
      Flag to mark a record constructor as a compact one
      See Also:
    • UNINITIALIZED_FIELD

      public static final long UNINITIALIZED_FIELD
      Flag to mark a record field that was not initialized in the compact constructor
      See Also:
    • GENERATED_MEMBER

      public static final int GENERATED_MEMBER
      Flag is set for compiler-generated record members, it could be applied to accessors and fields
      See Also:
    • SEALED

      public static final long SEALED
      Flag to indicate sealed class/interface declaration.
      See Also:
    • NON_SEALED

      public static final long NON_SEALED
      Flag to indicate that the class/interface was declared with the non-sealed modifier.
      See Also: