trait Module_attributeReader extends AttributeReader
Generic parser for the Module attribute (Java 9).
- Alphabetic
- By Inheritance
- Module_attributeReader
- AttributeReader
- AttributesAbstractions
- Constant_PoolAbstractions
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Type Members
- abstract type Attribute >: Null <: AnyRef
Specifying a lower bound is necessary to implement a generic
skipAttribute
method.Specifying a lower bound is necessary to implement a generic
skipAttribute
method.- Definition Classes
- AttributesAbstractions
- type Attributes = ArraySeq[Attribute]
- Definition Classes
- AttributesAbstractions
- abstract type CONSTANT_Utf8_info <: Constant_Pool_Entry
- Definition Classes
- Constant_PoolAbstractions
- abstract type ClassFile
- Definition Classes
- Constant_PoolAbstractions
- final type Constant_Pool = Array[Constant_Pool_Entry]
- Definition Classes
- Constant_PoolAbstractions
- abstract type Constant_Pool_Entry <: ConstantPoolEntry
- Definition Classes
- Constant_PoolAbstractions
- final type Constant_Pool_Index = Int
- Definition Classes
- Constant_PoolAbstractions
- type DeferredActionsStore = Buffer[(ClassFile) => ClassFile] with Constant_Pool_Entry
A DeferredActionsStore stores all functions that need to perform post load actions.
A DeferredActionsStore stores all functions that need to perform post load actions.
One example is the resolution of references to attributes. (The constant pool is the only structure that is passed around and hence it is the only place where to store information/functions related to a specific class file).
- Definition Classes
- Constant_PoolAbstractions
- type Exports = ArraySeq[ExportsEntry]
- abstract type ExportsEntry <: AnyRef
- type ExportsToIndexTable = Array[Constant_Pool_Index]
- abstract type Module_attribute <: Attribute
- type Opens = ArraySeq[OpensEntry]
- abstract type OpensEntry <: AnyRef
- type OpensToIndexTable = Array[Constant_Pool_Index]
- type Provides = ArraySeq[ProvidesEntry]
- abstract type ProvidesEntry <: AnyRef
- type ProvidesWithIndexTable = Array[Constant_Pool_Index]
- type Requires = ArraySeq[RequiresEntry]
- abstract type RequiresEntry <: AnyRef
- type Uses = Array[Constant_Pool_Index]
Abstract Value Members
- abstract def ExportsEntry(cp: Constant_Pool, module_index: Constant_Pool_Index, exports_flags: Int, exports_to_index_table: ExportsToIndexTable): ExportsEntry
- abstract def Module_attribute(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attribute_name_index: Constant_Pool_Index, module_name_index: Constant_Pool_Index, module_flags: Int, module_version_index: Constant_Pool_Index, requires: Requires, exports: Exports, opens: Opens, uses: Uses, provides: Provides): Module_attribute
- module_name_index
Reference to the constant pool entry with the name of the module - which is NOT in internal form. (I.e., "." are used!)
- module_version_index
0 or index into the constant pool (i.e., optional).
- abstract def OpensEntry(cp: Constant_Pool, opens_index: Constant_Pool_Index, opens_flags: Int, opens_to_index_table: OpensToIndexTable): OpensEntry
- abstract def ProvidesEntry(cp: Constant_Pool, provides_index: Constant_Pool_Index, provides_with_index_table: ProvidesWithIndexTable): ProvidesEntry
- abstract def RequiresEntry(cp: Constant_Pool, module_index: Constant_Pool_Index, requires_flags: Int, require_version_index: Constant_Pool_Index): RequiresEntry
- abstract def applyDeferredActions(cp: Constant_Pool, classFile: ClassFile): ClassFile
This method is called/needs to be called after the class file was completely loaded to perform class file specific transformations.
This method is called/needs to be called after the class file was completely loaded to perform class file specific transformations.
- Definition Classes
- Constant_PoolAbstractions
- implicit abstract val attributeType: ClassTag[Attribute]
- Definition Classes
- AttributesAbstractions
- implicit abstract val constantPoolEntryType: ClassTag[Constant_Pool_Entry]
- Definition Classes
- Constant_PoolAbstractions
- implicit abstract val exportsEntryType: ClassTag[ExportsEntry]
- implicit abstract val opensEntryType: ClassTag[OpensEntry]
- implicit abstract val providesEntryType: ClassTag[ProvidesEntry]
- abstract def registerAttributeReader(reader: (String, (Constant_Pool, AttributeParent, Constant_Pool_Index, Constant_Pool_Index, Constant_Pool_Index, DataInputStream) => Attribute)): Unit
Called (typically by subclasses) to register a reader for a concrete attribute.
Called (typically by subclasses) to register a reader for a concrete attribute. This function is intended to be provided/implemented by an
AttributesReader
that manages the attributes of a class, method_info, field_info or code_attribute structure.- reader
A map where the key is the name of an attribute and the value is a function that given a data input stream that is positioned directly at the beginning of the attribute, the constant pool, the index of the attribute's name and the parent of the attribute reads in the attribute and returns it.
- Definition Classes
- AttributeReader
- abstract def registerAttributesPostProcessor(p: (Attributes) => Attributes): Unit
Registers a new processor for the list of all attributes of a given class file structure (class, field_info, method_info, code_attribute).
Registers a new processor for the list of all attributes of a given class file structure (class, field_info, method_info, code_attribute). This can be used to post-process attributes. E.g., to merge multiple line number tables if they exist or to remove attributes if they are completely resolved.
- Definition Classes
- AttributeReader
- See also
The implementation of org.opalj.br.reader.UnpackedLineNumberTable_attributeBinding for a concrete example.
- implicit abstract val requiresEntryType: ClassTag[RequiresEntry]
Concrete Value Members
- final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def ##: Int
- Definition Classes
- AnyRef → Any
- final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- def reifyEmptyAttributes: Boolean
Controls whether empty attributes (e.g., a LocalVariableTypeTable with no entries) should be reified or should be dropped.
Controls whether empty attributes (e.g., a LocalVariableTypeTable with no entries) should be reified or should be dropped.
- Definition Classes
- AttributeReader
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- def toString(): String
- Definition Classes
- AnyRef → Any
- final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
- final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.InterruptedException])
Deprecated Value Members
- def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.Throwable]) @Deprecated
- Deprecated