trait Signature_attributeReader extends AttributeReader with ClassFileReaderConfiguration
Implements the template method to read signature attributes.
The Signature attribute is an optional attribute in the attributes table of a ClassFile, field_info or method_info structure.
- Alphabetic
- By Inheritance
- Signature_attributeReader
- ClassFileReaderConfiguration
- AttributeReader
- AttributesAbstractions
- Constant_PoolAbstractions
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
abstract
type
Attribute >: Null <: AnyRef
Specifying a lower bound is necessary to implement a generic
skipAttributemethod.Specifying a lower bound is necessary to implement a generic
skipAttributemethod.- Definition Classes
- AttributesAbstractions
-
type
Attributes = RefArray[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 Signature_attribute >: Null <: Attribute
Abstract Value Members
-
abstract
def
Signature_attribute(constant_pool: Constant_Pool, ap: AttributeParent, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attribute_name_index: Constant_Pool_Index, signature_index: Constant_Pool_Index): Signature_attribute
Creates a
Signature_attribute.Creates a
Signature_attribute.From the Specification
The constant pool entry at signature_index must be a CONSTANT_Utf8_info structure representing either a class signature, if this signature attribute is an attribute of a ClassFile structure, a method type signature, if this signature is an attribute of a method_info structure, or a field type signature otherwise.
-
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
-
abstract
def
loadsInterfacesOnly: Boolean
If
truemethod bodies are never loaded.If
truemethod bodies are never loaded.- Definition Classes
- ClassFileReaderConfiguration
-
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
AttributesReaderthat 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.
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( ... ) @native() @IntrinsicCandidate()
-
implicit
val
config: Config
The
Configobject that will be used to read the configuration settings for reading in class files.The
Configobject that will be used to read the configuration settings for reading in class files.- Definition Classes
- ClassFileReaderConfiguration
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
getClass(): Class[_]
- 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
-
implicit
val
logContext: LogContext
The org.opalj.log.LogContext that should be used to log rewritings.
The org.opalj.log.LogContext that should be used to log rewritings.
- Definition Classes
- ClassFileReaderConfiguration
- Note
The org.opalj.log.LogContext is typically either the org.opalj.log.GlobalLogContext or a project specific log context.
-
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
throwIllegalArgumentException: Boolean
Returns
trueif an exception is to be raised if an invalid signature is found.Returns
trueif an exception is to be raised if an invalid signature is found. The default is to just log the invalid signature and to otherwise ignore it.This method is intended to be overridden.
- returns
false.
- Note
This method was primarily introduced because we found many class files with invalid signatures AND the JVM also handles this case gracefully!
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated