Factory methods to create representations of the attributes related to Java annotations.
Factory methods to create representations of Java annotations.
Defines the common bindings for all "resolved" attributes.
Final bindings and factory methods for the BoostrapMethods attribute.
Defines a method to parse an array of bytes (containing Java bytecode instructions) and to return an array of org.opalj.br.instructions.Instruction's.
Defines a method to parse an array of bytes (containing Java bytecode instructions) and to return an array of org.opalj.br.instructions.Instruction's.
The target array has the same size as the source array to make sure that branch offsets etc. point to the correct instruction.
Defines a method to parse an array of bytes (containing Java bytecode instructions) and
to return an array of org.opalj.br.instructions.Instructions.
Defines a method to parse an array of bytes (containing Java bytecode instructions) and
to return an array of org.opalj.br.instructions.Instructions.
The target array has the same size as the source array to make sure that branch offsets etc. point to the correct instruction.
This reader caches the instructions – primarily – to save memory once all class files are loaded.
Binding for the code attribute.
Implements the factory methods to create line number tables.
A representation of the constant pool.
A representation of the constant pool.
The constant pool is considered to be static; i.e., references between constant pool entries are always resolved at most once and the results are cached. Hence, after reading the constant pool the constant pool is treated as immutable; the referenced constant pool entry must not change.
Mixin this trait to resolve links between org.opalj.br.instructions.INVOKEDYNAMIC instructions and the BootstrapMethodTable.
The factory method to create a method's exception attribute.
The factory methods to create inner classes attributes and entries.
This "framework" can be used to read in Java 7 (version 51) class files.
This "framework" can be used to read in Java 7 (version 51) class files. All standard information (as defined in the Java Virtual Machine Specification) is represented.
This "framework" can be used to read in Java 7 (version 51) class files if only the public interface of a class is needed.
This "framework" can be used to read Java 8 (version 52) class files.
This "framework" can be used to read Java 8 (version 52) class files. All standard information (as defined in the Java Virtual Machine Specification) is represented.
This configuration can be used to read in Java 8 (version 52) class files.
This configuration can be used to read in Java 8 (version 52) class files. All standard information (as defined in the Java Virtual Machine Specification) is represented. Instructions will be cached.
This configuration can be used to read in Java 8 (version 52) class files with full
support for rewriting invokedynamic instructions created by the JDK(8) compiler for
lambda and method reference expressions.
This configuration can be used to read in Java 8 (version 52) class files with full
support for rewriting invokedynamic instructions created by the JDK(8) compiler for
lambda and method reference expressions. All standard information (as defined in the
Java Virtual Machine Specification) is represented. Instructions will be cached.
Provides support for rewriting Java 8 lambda or method reference expressions that werwe compiled to org.opalj.br.instructions.INVOKEDYNAMIC instructions.
Provides support for rewriting Java 8 lambda or method reference expressions that
werwe compiled to org.opalj.br.instructions.INVOKEDYNAMIC instructions.
This trait should be mixed in alongside a BytecodeReaderAndBinding, which extracts
basic invokedynamic information from the BootstrapMethodTable.
Specifically, whenever an invokedynamic instruction is encountered that is the result
of a lambda/method reference expression compiled by Oracle's JDK8, it creates a proxy
class file that represents the synthetic object that the JVM generates after executing
the invokedynamic call site. This proxy is then stored in the temporary ClassFile
attribute SynthesizedClassFiles. All such ClassFiles will
be picked up later for inclusion in the project.
This "framework" can be used to read in Java 8 (version 52) class files.
This "framework" can be used to read in Java 8 (version 52) class files. All standard information (as defined in the Java Virtual Machine Specification) is represented except of method implementations.
This "framework" can be used to read Java 9 (version 53) class files.
This "framework" can be used to read Java 9 (version 53) class files. All standard information (as defined in the Java Virtual Machine Specification) is represented.
This configuration can be used to read in Java 9 (version 53) class files.
This configuration can be used to read in Java 9 (version 53) class files. All standard information (as defined in the Java Virtual Machine Specification) is represented. Instructions will be cached.
This "framework" can be used to read in Java 9 (version 53) class files.
This "framework" can be used to read in Java 9 (version 53) class files. All standard information (as defined in the Java Virtual Machine Specification) is represented except of method implementations.
Default class file binding where all private fields and methods are not represented.
The factory methods to create local variable tables and their entries.
The factory methods to create local variable type tables and their entries.
Implements the factory methods to create method parameter tables and their entries.
The factory method to create the class level Module attribute (Java 9).
Implements the factory method defined and used by the generic signature attribute reader.
Provides the factory method to create a source debug extension attribute.
The factory method to create the source file attribute.
Provides the factory methods to create a stack map table attribute and its entries.
Represents Java's Synthetic attribute.
Factory methods to create representations of the attributes related to Java type annotations.
Factory methods to create representations of Java type annotations.
"Factory" to create unknown attributes which are used to represent class file attributes that are not understood by this framework.
Implements the factory methods to create line number tables and their entries.
Parses Java class file signature strings.
Parses Java class file signature strings.
Using this object is thread-safe.
Reads in all class files found in the jar files or jar and class files in the
folders specified by args.
Reads in all class files found in the jar files or jar and class files in the
folders specified by args. The class files are read in using the specified
class file reader. This enables, e.g., to use this method to only read in
the public interface of a class file or to read in complete class files.
An Iterable of file and folder names that refer to jar files
or folders in which jar and class files are found.
A function that – given a file (jar, folder, class file) –
loads the respective class files and returns an Iterable. The second
parameter of the function is a function that should be called back by the
reader whenever the processing of given file fails with an exception.
This design was chosen to enable a reader of jar file to continue processing
class files even if the processing of a class file failed.
Loads class files from JRE .jars found in the boot classpath.
Loads class files from JRE .jars found in the boot classpath.
List of class files ready to be passed to a IndexBasedProject.
Defines convenience methods related to reading in class files.