Packages

t

org.opalj.br.reader

CodeAttributeBinding

trait CodeAttributeBinding extends Code_attributeReader with ConstantPoolBinding with CodeBinding with AttributeBinding

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CodeAttributeBinding
  2. AttributeBinding
  3. CodeBinding
  4. ConstantPoolBinding
  5. Constant_PoolReader
  6. Code_attributeReader
  7. AttributeReader
  8. AttributesAbstractions
  9. Constant_PoolAbstractions
  10. AnyRef
  11. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. type Attribute = br.Attribute

    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
    AttributeBindingAttributesAbstractions
  2. type Attributes = ArraySeq[Attribute]
    Definition Classes
    AttributesAbstractions
  3. type CONSTANT_Class_info = cp.CONSTANT_Class_info
  4. type CONSTANT_Double_info = cp.CONSTANT_Double_info
  5. type CONSTANT_Dynamic_info = cp.CONSTANT_Dynamic_info
  6. type CONSTANT_Fieldref_info = cp.CONSTANT_Fieldref_info
  7. type CONSTANT_Float_info = cp.CONSTANT_Float_info
  8. type CONSTANT_Integer_info = cp.CONSTANT_Integer_info
  9. type CONSTANT_InterfaceMethodref_info = cp.CONSTANT_InterfaceMethodref_info
  10. type CONSTANT_InvokeDynamic_info = cp.CONSTANT_InvokeDynamic_info
  11. type CONSTANT_Long_info = cp.CONSTANT_Long_info
  12. type CONSTANT_MethodHandle_info = cp.CONSTANT_MethodHandle_info
  13. type CONSTANT_MethodType_info = cp.CONSTANT_MethodType_info
  14. type CONSTANT_Methodref_info = cp.CONSTANT_Methodref_info
  15. type CONSTANT_Module_info = cp.CONSTANT_Module_info
  16. type CONSTANT_NameAndType_info = cp.CONSTANT_NameAndType_info
  17. type CONSTANT_Package_info = cp.CONSTANT_Package_info
  18. type CONSTANT_String_info = cp.CONSTANT_String_info
  19. type CONSTANT_Utf8_info = cp.CONSTANT_Utf8_info
  20. abstract type ClassFile <: br.ClassFile
  21. type Code_attribute = Code
  22. final type Constant_Pool = Array[Constant_Pool_Entry]
    Definition Classes
    Constant_PoolAbstractions
  23. type Constant_Pool_Entry = cp.Constant_Pool_Entry
  24. final type Constant_Pool_Index = Int
    Definition Classes
    Constant_PoolAbstractions
  25. 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
  26. type ExceptionHandlers = ArraySeq[ExceptionTableEntry]
    Definition Classes
    Code_attributeReader
  27. type ExceptionTableEntry = ExceptionHandler
  28. type Instructions = Array[Instruction]
    Definition Classes
    CodeBinding

Abstract Value Members

  1. abstract def Instructions(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, in: DataInputStream): Instructions
    Definition Classes
    Code_attributeReader
  2. 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
  3. 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

  1. def CONSTANT_Class_info(i: Int): CONSTANT_Class_info
  2. def CONSTANT_Double_info(d: Double): CONSTANT_Double_info
  3. def CONSTANT_Dynamic_info(bootstrap_method_attr_index: Constant_Pool_Index, name_and_type_index: Constant_Pool_Index): CONSTANT_Dynamic_info
  4. def CONSTANT_Fieldref_info(class_index: Constant_Pool_Index, name_and_type_index: Constant_Pool_Index): CONSTANT_Fieldref_info
  5. def CONSTANT_Float_info(f: Float): CONSTANT_Float_info
  6. def CONSTANT_Integer_info(i: Int): CONSTANT_Integer_info
  7. def CONSTANT_InterfaceMethodref_info(class_index: Constant_Pool_Index, name_and_type_index: Constant_Pool_Index): CONSTANT_InterfaceMethodref_info
  8. def CONSTANT_InvokeDynamic_info(bootstrap_method_attr_index: Constant_Pool_Index, name_and_type_index: Constant_Pool_Index): CONSTANT_InvokeDynamic_info
  9. def CONSTANT_Long_info(l: Long): CONSTANT_Long_info
  10. def CONSTANT_MethodHandle_info(reference_kind: Int, reference_index: Int): CONSTANT_MethodHandle_info
  11. def CONSTANT_MethodType_info(descriptor_index: Constant_Pool_Index): CONSTANT_MethodType_info
  12. def CONSTANT_Methodref_info(class_index: Constant_Pool_Index, name_and_type_index: Constant_Pool_Index): CONSTANT_Methodref_info
  13. def CONSTANT_Module_info(name_index: Constant_Pool_Index): CONSTANT_Module_info
  14. def CONSTANT_NameAndType_info(name_index: Constant_Pool_Index, descriptor_index: Constant_Pool_Index): CONSTANT_NameAndType_info
  15. def CONSTANT_Package_info(name_index: Constant_Pool_Index): CONSTANT_Package_info
  16. def CONSTANT_String_info(i: Int): CONSTANT_String_info
  17. def CONSTANT_Utf8_info(r: Array[Byte], s: String): CONSTANT_Utf8_info
  18. def Code_attribute(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attribute_name_index: Constant_Pool_Index, max_stack: Int, max_locals: Int, instructions: Instructions, exception_handlers: ExceptionHandlers, attributes: Attributes): Code_attribute
  19. def Constant_Pool(in: DataInputStream): Constant_Pool
    Definition Classes
    Constant_PoolReader
  20. def ExceptionTableEntry(cp: Constant_Pool, start_pc: Int, end_pc: Int, handler_pc: Int, catch_type_index: Constant_Pool_Index): ExceptionTableEntry
  21. 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_PoolReaderConstant_PoolAbstractions
  22. implicit val attributeType: ClassTag[Attribute]
  23. implicit val constantPoolEntryType: ClassTag[cp.Constant_Pool_Entry]
  24. implicit def cpIndexTocpEntry(index: Constant_Pool_Index)(implicit cp: Constant_Pool): Constant_Pool_Entry
    Definition Classes
    ConstantPoolBinding
  25. implicit val exceptionTableEntryType: ClassTag[ExceptionTableEntry]
  26. def registerDeferredAction(cp: Constant_Pool)(deferredAction: (ClassFile) => ClassFile): Unit
    Definition Classes
    Constant_PoolReader
  27. 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