A class, field or method declaration's access flags.
A class, field or method declaration's access flags. An access flag (e.g., public
or static
) is basically just a specific bit that can be combined with other
access flags to create an integer based bit vector that represents all
flags defined for a class, method or field declaration. Access flags are
generally context dependent and the same value means different things
depending on the context.
Enables iterating over a class( file member)'s access flags.
Enables iterating over a class( file member)'s access flags. I.e., given the access flags of a class file, a field or a method, it is then possible to iterate over the flags (synthetic, public, deprecated, etc.) that are set.
Matches a given access flags bit array and enables the construction of complex matchers.
Common super class of the reference_kind
s used by the constant pool's
CONSTANT_MethodHandle_info structure.
Common supertype of all explicit visibility modifiers/access flags.
Only used in combination with Java 9 modules.
,From the JVM 9 specification: "Indicates that the package is concealed in the static phase, i.e., at compile time, but is exported in the dynamic phase, i.e., at run time."
Identifies a class as defining a Java 9 module.
Identifies a class as defining a Java 9 module.
Only used in combination with Java 9 modules.
,super_class, interfaces_count, fields_count, methods_count: zero. I.e., a module does not have a super class.
,From the specification: "If ACC_MODULE is set in ClassFile.access_flags, then
no other flag in ClassFile.access_flags
may be set."
The name of the class has to be "/module-info".
Only used in combination with Java 9 modules.
,From the JVM 9 specification: "Indicates that this [inter-module] dependence is mandatory in the static phase, i.e., at compile time, but is optional in the dynamic phase, i.e., at run time."
Indicates that any module which depends on the current module, implicitly declares a dependence on the module indicated by this entry.
Convenience methods related to access flags.
Enumeration of the different contexts in which the JVM Spec.
Enumeration of the different contexts in which the JVM Spec. uses
access_flags
fields and also an enumeration which access_flags
are found
in which context.
Factory for creating AccessFlagsIterator
objects.
Predefines several access flags matchers.
Predefines several access flags matchers.
The predefined matchers are used in the following way:
method match { case Method(PUBLIC_STATIC(),...) => ... } field match { case Field(PUBLIC_STATIC_FINAL(),...) => ... }
Common properties of AnnotationDefault
attributes.
Enumeration of all class file structures that can have attributes.
Every Java class file starts with "0xCAFEBABE".
A constant pool tag identifies the type of a specific entry in the constant pool.
Extractor for the bitmask used by a PrimitiveAccessFlagsMatcher.
Factory for ReferenceKind
objects.
Common properties of RuntimeInvisibleAnnotations
.
Common properties of the RuntimeInvisibleParameterAnnotations
attribute.
Common properties of RuntimeInvisibleTypeAnnotations
attributes.
Common properties of RuntimeVisibleAnnotations
attributes.
Common properties of RuntimeVisibleParameterAnnotations
attributes.
Common properties of RuntimeVisibleTypeAnnotations
attributes.
Defines extractor methods related to visibility modifiers.
Returns true
if the current JRE is at least Java 8 or a newer version.
Returns true
if the current JRE is at least Java 8 or a newer version.
This method makes some assumptions how the version numbers will evolve.
Returns a textual representation of the Java version used to create the respective class file.
Implementation of a library for parsing Java bytecode and creating arbitrary representations.
OPAL's primary representation of Java byte code is the org.opalj.br representation which is defined in the respective package. A second representation that represents bytecode one-by-one is found in the org.opalj.da package.
This Package
Common constants and type definitions used across OPAL.