Represents the access flags of a class, method or field declaration.
Represents the access flags of a class, method or field declaration.
All standard access flags are predefined.
To create a class file's, a field's or a method's access modifier, you can chain them using post fix notation, e.g.:
PUBLIC FINAL
or you just append the using '.', e.g.:
PUBLIC.FINAL.SYNTHETIC.VARARGS
Wrapper for annotated org.opalj.br.instructions.InstructionLikes.
Pseudo instruction marking the handler of a org.opalj.br.ExceptionHandler.
Pseudo instruction marking the handler of a org.opalj.br.ExceptionHandler.
Builder for org.opalj.br.ClassFile objects.
Builder for the org.opalj.br.Code attribute with all its properties.
Builder for the org.opalj.br.Code attribute with all its properties. Instantiation is only
possible with the CODE factory. The max_stack
and
max_locals
values will be calculated if not explicitly defined.
Wrapper for elements that will generate the instructions and attributes of a org.opalj.br.Code and the annotations of the bytecode.
Wrapper for elements that will generate the instructions and attributes of a org.opalj.br.Code and the annotations of the bytecode.
The type of the annotations of instructions.
Builder for the org.opalj.br.ExceptionTable attribute.
Pseudo instructions which generate the org.opalj.br.ExceptionHandler of the org.opalj.br.Code attribute.
Pseudo instructions which generate the org.opalj.br.ExceptionHandler of the
org.opalj.br.Code attribute. An ExceptionHandler is composed of the three pseudo instructions
TRY, TRYEND and CATCH with the same identifier symbol. The exceptionHandler includes
all instructions between TRY and TRYEND. The handlerPC
is the pc of the instruction
following the CATCH. If the label contains numbers at the end, the ExceptionHandlers are
sorted ascending by that number in the ExceptionHandlerTable. Otherwise, the ExceptionHandlers
are lexically sorted by their label.
Incrementally builds the org.opalj.br.ExceptionHandlers from the added pseudo instructions (ExceptionHandlerElement) representing an org.opalj.br.ExceptionHandler.
Builder for a org.opalj.br.Field; a FIELD
object is intended to be stored in a
org.opalj.ba.FIELDS collection.
Builder for a sequence of org.opalj.br.Fields.
Wrapper for org.opalj.br.instructions.InstructionLikes.
Pseudo instruction that generates an entry in the org.opalj.br.LineNumberTable with the program counter of the following instruction.
Wrapper for Symbols
(labels) representing branch targets.
Used to incrementally build the org.opalj.br.UnpackedLineNumberTable.
Builder for a org.opalj.br.MethodTemplate.
Builder for a list of org.opalj.br.MethodTemplates.
Marker trait for labels (scala.Symbol
) and pseudo instructions generating Code
attributes.
Pseudo instruction marking the start of a org.opalj.br.ExceptionHandler.
Pseudo instruction marking the start of a org.opalj.br.ExceptionHandler.
Pseudo instruction marking the end of a org.opalj.br.ExceptionHandler.
Pseudo instruction marking the end of a org.opalj.br.ExceptionHandler.
Configures how specific kinds of attributes are handled during the serialization process.
Factory methods to create an CATCH pseudo instruction.
Factory method for creating a CodeAttributeBuilder.
Implicit conversions to CodeElement.
Converts the given org.opalj.br.Attribute to a org.opalj.da.Attribute using the given configuration.
Converts the given org.opalj.br.Attribute to a org.opalj.da.Attribute using the given configuration.
org.opalj.br.Attribute#kindId for the list of all supported attributes.
Converts a org.opalj.br.ClassFile to a org.opalj.da.ClassFile and all its attributes to the attributes in org.opalj.da.
Implementation of an eDSL for creating Java bytecode. The eDSL is designed to facilitate the creation of correct class files; i.e., whenever possible it tries to fill wholes. For example, when an interface is specified the library automatically ensures that the super class type is (initially) set to
java.lang.Object
as required by the JVM specification.This package in particular provides functionality to convert org.opalj.br classes to org.opalj.da classes.