trait AttributesReader extends AttributesAbstractions with Constant_PoolAbstractions with Unknown_attributeAbstractions
Trait that implements a template method to read in the attributes of a class, method_info, field_info or code_attribute structure.
- Source
- AttributesReader.scala
- Alphabetic
- By Inheritance
- AttributesReader
- Unknown_attributeAbstractions
- Constant_PoolAbstractions
- AttributesAbstractions
- 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
- abstract type Unknown_attribute <: Attribute
- Definition Classes
- Unknown_attributeAbstractions
Abstract Value Members
- abstract def Unknown_attribute(cp: Constant_Pool, ap: AttributeParent, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attribute_name_index: Int, in: DataInputStream): Unknown_attribute
This factory method is called if an attribute is encountered that is unknown.
This factory method is called if an attribute is encountered that is unknown. In general, such unknown attributes are represented by the
Unknown_attribute
class. However, if no representation of the unknown attribute is needed this method can returnnull
- after reading (skipping) all bytes belonging to this attribute. Ifnull
is returned all information regarding this attribute are thrown away.- Definition Classes
- AttributesReader → Unknown_attributeAbstractions
- 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
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
- def Attribute(cp: Constant_Pool, ap: AttributeParent, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, in: DataInputStream): Attribute
- def Attributes(cp: Constant_Pool, ap: AttributeParent, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, in: DataInputStream): Attributes
- 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 registerAttributeReader(reader: (String, (Constant_Pool, AttributeParent, Constant_Pool_Index, Constant_Pool_Index, Constant_Pool_Index, DataInputStream) => Attribute)): Unit
See
AttributeReader.registerAttributeReader
for details. - def registerAttributesPostProcessor(p: (Attributes) => Attributes): Unit
Registers a new processor for the list of all attributes of a given class file element (class, field, method, code).
Registers a new processor for the list of all attributes of a given class file element (class, field, method, code). This can be used to post-process attributes. E.g., to merge multiple line number tables if they exist or to link attributes that have strong dependencies. E.g., (in Java 8) the
localvar_target
structure of theRuntime(In)VisibleTypeAnnotations
attribute has a reference in the local variable table attribute. - 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