Packages

c

org.opalj.br.reader

Java9FrameworkWithInvokedynamicSupportAndCaching

class Java9FrameworkWithInvokedynamicSupportAndCaching extends Java8FrameworkWithInvokedynamicSupportAndCaching with Java9LibraryFramework

This configuration can be used to read in Java 9 (version 53) class files with full support for rewriting invokedynamic instructions created by the JDK compiler for lambda and method reference expressions. All standard information (as defined in the Java Virtual Machine Specification) is represented. Instructions will be cached.

Source
Java9FrameworkWithInvokedynamicSupportAndCaching.scala
Linear Supertypes
Java9LibraryFramework, ModulePackages_attributeBinding, ModulePackages_attributeReader, ModuleMainClass_attributeBinding, ModuleMainClass_attributeReader, Java8FrameworkWithInvokedynamicSupportAndCaching, InvokedynamicRewriting, BootstrapArgumentLoading, Java8FrameworkWithCaching, CodeReader, BytecodeOptimizer, CachedBytecodeReaderAndBinding, InstructionsDeserializer, DeferredDynamicConstantResolution, DeferredInvokedynamicResolution, LocalVariableTypeTable_attributeBinding, LocalVariableTypeTable_attributeReader, LocalVariableTable_attributeBinding, LocalVariableTable_attributeReader, CompactLineNumberTable_attributeBinding, CompactLineNumberTable_attributeReader, StackMapTable_attributeBinding, VerificationTypeInfoReader, StackMapFrameReader, StackMapTable_attributeReader, BootstrapMethods_attributeBinding, BootstrapMethods_attributeReader, SourceDebugExtension_attributeBinding, SourceDebugExtension_attributeReader, CodeAttributeBinding, CodeBinding, Code_attributeReader, Java8LibraryFramework, TypeAnnotationAttributesBinding, RuntimeVisibleTypeAnnotations_attributeReader, RuntimeInvisibleTypeAnnotations_attributeReader, TypeAnnotationsBinding, TypeAnnotationPathReader, TypeAnnotationTargetReader, TypeAnnotationsReader, MethodParameters_attributeBinding, MethodParameters_attributeReader, Java7LibraryFramework, Module_attributeBinding, Module_attributeReader, Exceptions_attributeBinding, Exceptions_attributeReader, ConstantValue_attributeBinding, ConstantValue_attributeReader, Synthetic_attributeBinding, Synthetic_attributeReader, Signature_attributeBinding, Signature_attributeReader, Deprecated_attributeBinding, Deprecated_attributeReader, SourceFile_attributeBinding, SourceFile_attributeReader, EnclosingMethod_attributeBinding, EnclosingMethod_attributeReader, InnerClasses_attributeBinding, InnerClasses_attributeReader, AnnotationAttributesBinding, AttributeBinding, AnnotationDefault_attributeReader, RuntimeVisibleParameterAnnotations_attributeReader, RuntimeInvisibleParameterAnnotations_attributeReader, RuntimeVisibleAnnotations_attributeReader, RuntimeInvisibleAnnotations_attributeReader, AttributeReader, ParametersAnnotationsReader, AnnotationsReader, AnnotationsBinding, ElementValuePairsReader, AnnotationsAbstractions, SkipUnknown_attributeReader, AttributesReader, Unknown_attributeAbstractions, AttributesAbstractions, ClassFileBinding, ClassFileReader, bi.reader.ClassFileReaderConfiguration, MethodsBinding, MethodsReader, FieldsBinding, FieldsReader, ConstantPoolBinding, Constant_PoolReader, Constant_PoolAbstractions, AnyRef, Any
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. Java9FrameworkWithInvokedynamicSupportAndCaching
  2. Java9LibraryFramework
  3. ModulePackages_attributeBinding
  4. ModulePackages_attributeReader
  5. ModuleMainClass_attributeBinding
  6. ModuleMainClass_attributeReader
  7. Java8FrameworkWithInvokedynamicSupportAndCaching
  8. InvokedynamicRewriting
  9. BootstrapArgumentLoading
  10. Java8FrameworkWithCaching
  11. CodeReader
  12. BytecodeOptimizer
  13. CachedBytecodeReaderAndBinding
  14. InstructionsDeserializer
  15. DeferredDynamicConstantResolution
  16. DeferredInvokedynamicResolution
  17. LocalVariableTypeTable_attributeBinding
  18. LocalVariableTypeTable_attributeReader
  19. LocalVariableTable_attributeBinding
  20. LocalVariableTable_attributeReader
  21. CompactLineNumberTable_attributeBinding
  22. CompactLineNumberTable_attributeReader
  23. StackMapTable_attributeBinding
  24. VerificationTypeInfoReader
  25. StackMapFrameReader
  26. StackMapTable_attributeReader
  27. BootstrapMethods_attributeBinding
  28. BootstrapMethods_attributeReader
  29. SourceDebugExtension_attributeBinding
  30. SourceDebugExtension_attributeReader
  31. CodeAttributeBinding
  32. CodeBinding
  33. Code_attributeReader
  34. Java8LibraryFramework
  35. TypeAnnotationAttributesBinding
  36. RuntimeVisibleTypeAnnotations_attributeReader
  37. RuntimeInvisibleTypeAnnotations_attributeReader
  38. TypeAnnotationsBinding
  39. TypeAnnotationPathReader
  40. TypeAnnotationTargetReader
  41. TypeAnnotationsReader
  42. MethodParameters_attributeBinding
  43. MethodParameters_attributeReader
  44. Java7LibraryFramework
  45. Module_attributeBinding
  46. Module_attributeReader
  47. Exceptions_attributeBinding
  48. Exceptions_attributeReader
  49. ConstantValue_attributeBinding
  50. ConstantValue_attributeReader
  51. Synthetic_attributeBinding
  52. Synthetic_attributeReader
  53. Signature_attributeBinding
  54. Signature_attributeReader
  55. Deprecated_attributeBinding
  56. Deprecated_attributeReader
  57. SourceFile_attributeBinding
  58. SourceFile_attributeReader
  59. EnclosingMethod_attributeBinding
  60. EnclosingMethod_attributeReader
  61. InnerClasses_attributeBinding
  62. InnerClasses_attributeReader
  63. AnnotationAttributesBinding
  64. AttributeBinding
  65. AnnotationDefault_attributeReader
  66. RuntimeVisibleParameterAnnotations_attributeReader
  67. RuntimeInvisibleParameterAnnotations_attributeReader
  68. RuntimeVisibleAnnotations_attributeReader
  69. RuntimeInvisibleAnnotations_attributeReader
  70. AttributeReader
  71. ParametersAnnotationsReader
  72. AnnotationsReader
  73. AnnotationsBinding
  74. ElementValuePairsReader
  75. AnnotationsAbstractions
  76. SkipUnknown_attributeReader
  77. AttributesReader
  78. Unknown_attributeAbstractions
  79. AttributesAbstractions
  80. ClassFileBinding
  81. ClassFileReader
  82. ClassFileReaderConfiguration
  83. MethodsBinding
  84. MethodsReader
  85. FieldsBinding
  86. FieldsReader
  87. ConstantPoolBinding
  88. Constant_PoolReader
  89. Constant_PoolAbstractions
  90. AnyRef
  91. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Instance Constructors

  1. new Java9FrameworkWithInvokedynamicSupportAndCaching(cache: BytecodeInstructionsCache)

Type Members

  1. type Annotation = br.Annotation
  2. type AnnotationDefault_attribute = br.ElementValue
  3. type AnnotationValue = br.AnnotationValue
    Definition Classes
    AnnotationsBinding
  4. type Annotations = ArraySeq[Annotation]
    Definition Classes
    AnnotationsReader
  5. type AppendFrame = br.AppendFrame
  6. type ArrayValue = br.ArrayValue
    Definition Classes
    AnnotationsBinding
  7. 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
  8. type Attributes = ArraySeq[Attribute]
    Definition Classes
    AttributesAbstractions
  9. type BooleanValue = br.BooleanValue
    Definition Classes
    AnnotationsBinding
  10. type BootstrapArgument = br.BootstrapArgument
  11. type BootstrapArguments = ArraySeq[BootstrapArgument]
  12. type BootstrapMethod = br.BootstrapMethod
  13. type BootstrapMethods = ArraySeq[BootstrapMethod]
  14. type BootstrapMethods_attribute = BootstrapMethodTable
  15. type ByteValue = br.ByteValue
    Definition Classes
    AnnotationsBinding
  16. type CONSTANT_Class_info = cp.CONSTANT_Class_info
  17. type CONSTANT_Double_info = cp.CONSTANT_Double_info
  18. type CONSTANT_Dynamic_info = cp.CONSTANT_Dynamic_info
  19. type CONSTANT_Fieldref_info = cp.CONSTANT_Fieldref_info
  20. type CONSTANT_Float_info = cp.CONSTANT_Float_info
  21. type CONSTANT_Integer_info = cp.CONSTANT_Integer_info
  22. type CONSTANT_InterfaceMethodref_info = cp.CONSTANT_InterfaceMethodref_info
  23. type CONSTANT_InvokeDynamic_info = cp.CONSTANT_InvokeDynamic_info
  24. type CONSTANT_Long_info = cp.CONSTANT_Long_info
  25. type CONSTANT_MethodHandle_info = cp.CONSTANT_MethodHandle_info
  26. type CONSTANT_MethodType_info = cp.CONSTANT_MethodType_info
  27. type CONSTANT_Methodref_info = cp.CONSTANT_Methodref_info
  28. type CONSTANT_Module_info = cp.CONSTANT_Module_info
  29. type CONSTANT_NameAndType_info = cp.CONSTANT_NameAndType_info
  30. type CONSTANT_Package_info = cp.CONSTANT_Package_info
  31. type CONSTANT_String_info = cp.CONSTANT_String_info
  32. type CONSTANT_Utf8_info = cp.CONSTANT_Utf8_info
  33. type CharValue = br.CharValue
    Definition Classes
    AnnotationsBinding
  34. type ChopFrame = br.ChopFrame
  35. type ClassFile = br.ClassFile

    The type of the object that represents a Java class file.

    The type of the object that represents a Java class file.

    Definition Classes
    ClassFileBindingClassFileReaderConstant_PoolAbstractions
  36. type ClassValue = br.ClassValue
    Definition Classes
    AnnotationsBinding
  37. type Code_attribute = Code
  38. type ConstantValue_attribute = ConstantFieldValue[_]
  39. final type Constant_Pool = Array[Constant_Pool_Entry]
    Definition Classes
    Constant_PoolAbstractions
  40. type Constant_Pool_Entry = cp.Constant_Pool_Entry
  41. final type Constant_Pool_Index = Int
    Definition Classes
    Constant_PoolAbstractions
  42. 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
  43. type Deprecated_attribute = br.Attribute
  44. type DoubleValue = br.DoubleValue
    Definition Classes
    AnnotationsBinding
  45. type DoubleVariableInfo = br.VerificationTypeInfo
  46. type ElementValue = br.ElementValue
  47. type ElementValuePair = br.ElementValuePair
  48. type ElementValuePairs = ArraySeq[ElementValuePair]
  49. type ElementValues = ArraySeq[ElementValue]
    Definition Classes
    ElementValuePairsReader
  50. type EnclosingMethod_attribute = EnclosingMethod
  51. type EnumValue = br.EnumValue
    Definition Classes
    AnnotationsBinding
  52. type ExceptionHandlers = ArraySeq[ExceptionTableEntry]
    Definition Classes
    Code_attributeReader
  53. type ExceptionIndexTable = Array[Constant_Pool_Index]
    Definition Classes
    Exceptions_attributeReader
  54. type ExceptionTableEntry = ExceptionHandler
  55. type Exceptions_attribute = ExceptionTable
  56. type Exports = ArraySeq[ExportsEntry]
    Definition Classes
    Module_attributeReader
  57. type ExportsEntry = br.Exports
  58. type ExportsToIndexEntry = String
    Definition Classes
    Module_attributeBinding
  59. type ExportsToIndexTable = Array[Constant_Pool_Index]
    Definition Classes
    Module_attributeReader
  60. type Field_Info = Field
    Definition Classes
    FieldsBindingFieldsReader
  61. type Fields = ArraySeq[Field_Info]
    Definition Classes
    FieldsReader
  62. type FloatValue = br.FloatValue
    Definition Classes
    AnnotationsBinding
  63. type FloatVariableInfo = br.VerificationTypeInfo
  64. type FullFrame = br.FullFrame
  65. type InnerClasses = ArraySeq[InnerClassesEntry]
  66. type InnerClassesEntry = InnerClass
  67. type InnerClasses_attribute = InnerClassTable
  68. type Instructions = Array[Instruction]
    Definition Classes
    CodeBinding
  69. type IntValue = br.IntValue
    Definition Classes
    AnnotationsBinding
  70. type IntegerVariableInfo = br.VerificationTypeInfo
  71. final type Interfaces = Array[Constant_Pool_Index]

    The inherited interfaces.

    The inherited interfaces.

    Definition Classes
    ClassFileReader
  72. type LineNumberTable_attribute = CompactLineNumberTable
  73. type LocalVariableTableEntry = LocalVariable
  74. type LocalVariableTable_attribute = LocalVariableTable
  75. type LocalVariableTypeTableEntry = LocalVariableType
  76. type LocalVariableTypeTable_attribute = LocalVariableTypeTable
  77. type LocalVariableTypes = ArraySeq[LocalVariableTypeTableEntry]
  78. type LocalVariables = ArraySeq[LocalVariableTableEntry]
  79. type LocalvarTable = ArraySeq[LocalvarTableEntry]
    Definition Classes
    TypeAnnotationTargetReader
  80. type LocalvarTableEntry = br.LocalvarTableEntry
  81. type LongValue = br.LongValue
    Definition Classes
    AnnotationsBinding
  82. type LongVariableInfo = br.VerificationTypeInfo
  83. type MethodParameter = br.MethodParameter
  84. type MethodParameters = ArraySeq[MethodParameter]
  85. type MethodParameters_attribute = MethodParameterTable
  86. type Method_Info = Method
    Definition Classes
    MethodsBindingMethodsReader
  87. type Methods = ArraySeq[Method_Info]
    Definition Classes
    MethodsReader
  88. type ModuleMainClass_attribute = ModuleMainClass
  89. type ModulePackages_attribute = ModulePackages
  90. type Module_attribute = Module
  91. type NullVariableInfo = br.VerificationTypeInfo
  92. type ObjectVariableInfo = br.ObjectVariableInfo
  93. type Opens = ArraySeq[OpensEntry]
    Definition Classes
    Module_attributeReader
  94. type OpensEntry = br.Opens
  95. type OpensToIndexEntry = String
    Definition Classes
    Module_attributeBinding
  96. type OpensToIndexTable = Array[Constant_Pool_Index]
    Definition Classes
    Module_attributeReader
  97. type PackageIndexTable = Array[Constant_Pool_Index]
  98. type ParameterAnnotations = ArraySeq[Annotation]
    Definition Classes
    ParametersAnnotationsReader
  99. type ParametersAnnotations = ArraySeq[ParameterAnnotations]
    Definition Classes
    ParametersAnnotationsReader
  100. type Provides = ArraySeq[ProvidesEntry]
    Definition Classes
    Module_attributeReader
  101. type ProvidesEntry = br.Provides
  102. type ProvidesWithIndexEntry = ObjectType
    Definition Classes
    Module_attributeBinding
  103. type ProvidesWithIndexTable = Array[Constant_Pool_Index]
    Definition Classes
    Module_attributeReader
  104. type Requires = ArraySeq[RequiresEntry]
    Definition Classes
    Module_attributeReader
  105. type RequiresEntry = br.Requires
  106. type RuntimeInvisibleAnnotations_attribute = RuntimeInvisibleAnnotationTable
  107. type RuntimeInvisibleParameterAnnotations_attribute = RuntimeInvisibleParameterAnnotationTable
  108. type RuntimeInvisibleTypeAnnotations_attribute = RuntimeInvisibleTypeAnnotationTable
  109. type RuntimeVisibleAnnotations_attribute = RuntimeVisibleAnnotationTable
  110. type RuntimeVisibleParameterAnnotations_attribute = RuntimeVisibleParameterAnnotationTable
  111. type RuntimeVisibleTypeAnnotations_attribute = RuntimeVisibleTypeAnnotationTable
  112. type SameFrame = br.SameFrame
  113. type SameFrameExtended = br.SameFrameExtended
  114. type SameLocals1StackItemFrame = br.SameLocals1StackItemFrame
  115. type SameLocals1StackItemFrameExtended = br.SameLocals1StackItemFrameExtended
  116. type ShortValue = br.ShortValue
    Definition Classes
    AnnotationsBinding
  117. type Signature_attribute = Signature
  118. type SourceDebugExtension_attribute = SourceDebugExtension
  119. type SourceFile_attribute = SourceFile
  120. type StackMapFrame = br.StackMapFrame
  121. type StackMapFrames = ArraySeq[StackMapFrame]
  122. type StackMapTable_attribute = StackMapTable
  123. type Synthetic_attribute = br.Attribute
  124. type TopVariableInfo = br.VerificationTypeInfo
  125. type TypeAnnotation = br.TypeAnnotation
  126. type TypeAnnotationPath = br.TypeAnnotationPath
  127. type TypeAnnotationPathElement = br.TypeAnnotationPathElement
  128. type TypeAnnotationPathElementsTable = ArraySeq[TypeAnnotationPathElement]
    Definition Classes
    TypeAnnotationPathReader
  129. type TypeAnnotationTarget = br.TypeAnnotationTarget
  130. type TypeAnnotations = ArraySeq[TypeAnnotation]
    Definition Classes
    TypeAnnotationsReader
  131. type UninitializedThisVariableInfo = br.VerificationTypeInfo
  132. type UninitializedVariableInfo = br.UninitializedVariableInfo
  133. type Unknown_attribute = Null
  134. type Uses = Array[Constant_Pool_Index]
    Definition Classes
    Module_attributeReader
  135. type UsesEntry = ObjectType
    Definition Classes
    Module_attributeBinding
  136. type VerificationTypeInfo = br.VerificationTypeInfo
  137. type VerificationTypeInfoLocals = ArraySeq[VerificationTypeInfo]
    Definition Classes
    StackMapFrameReader
  138. type VerificationTypeInfoStack = ArraySeq[VerificationTypeInfo]
    Definition Classes
    StackMapFrameReader

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. def AllClassFiles(files: Iterable[File], exceptionHandler: bi.reader.ClassFileReader.ExceptionHandler = defaultExceptionHandler): Iterable[(ClassFile, URL)]
    Definition Classes
    ClassFileReader
  5. def Annotation(cp: Constant_Pool, type_index: Constant_Pool_Index, element_value_pairs: ElementValuePairs): Annotation
  6. def Annotation(cp: Constant_Pool, in: DataInputStream): Annotation
    Definition Classes
    AnnotationsAbstractions
  7. def AnnotationDefault_attribute(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attribute_name_index: Constant_Pool_Index, element_value: ElementValue): AnnotationDefault_attribute
  8. def AnnotationValue(cp: Constant_Pool, annotation: Annotation): ElementValue
  9. def Annotations(cp: Constant_Pool, in: DataInputStream): Annotations

    Reads the annotations of a annotations attributes.

    Reads the annotations of a annotations attributes.

    From the Specification

    annotation {
         u2 type_index;
         u2 num_element_value_pairs;
         {   u2 element_name_index;
             element_value value;
         }   element_value_pairs[num_element_value_pairs]
    }
    

    Definition Classes
    AnnotationsReader
  10. def AppendFrame(frame_type: Int, offset_delta: Int, verification_type_info_locals: VerificationTypeInfoLocals): StackMapFrame
  11. def ArrayValue(cp: Constant_Pool, values: ElementValues): ElementValue
  12. def Attribute(cp: Constant_Pool, ap: AttributeParent, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, in: DataInputStream): Attribute
    Definition Classes
    AttributesReader
  13. def Attributes(cp: Constant_Pool, ap: AttributeParent, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, in: DataInputStream): Attributes
    Definition Classes
    AttributesReader
  14. def BooleanValue(cp: Constant_Pool, const_value_index: Constant_Pool_Index): ElementValue
  15. def BootstrapArgument(cp: Constant_Pool, constantPoolIndex: Int): BootstrapArgument
  16. def BootstrapArgument(cp: Constant_Pool, in: DataInputStream): BootstrapArgument
  17. def BootstrapMethod(cp: Constant_Pool, bootstrapMethodRef: Int, bootstrapArguments: BootstrapArguments): BootstrapMethod
  18. def BootstrapMethod(cp: Constant_Pool, in: DataInputStream): BootstrapMethod
  19. def BootstrapMethods_attribute(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attributeNameIndex: Int, bootstrapMethods: BootstrapMethods): BootstrapMethods_attribute
  20. def ByteValue(cp: Constant_Pool, const_value_index: Constant_Pool_Index): ElementValue
  21. def CONSTANT_Class_info(i: Int): CONSTANT_Class_info
  22. def CONSTANT_Double_info(d: Double): CONSTANT_Double_info
  23. def CONSTANT_Dynamic_info(bootstrap_method_attr_index: Constant_Pool_Index, name_and_type_index: Constant_Pool_Index): CONSTANT_Dynamic_info
  24. def CONSTANT_Fieldref_info(class_index: Constant_Pool_Index, name_and_type_index: Constant_Pool_Index): CONSTANT_Fieldref_info
  25. def CONSTANT_Float_info(f: Float): CONSTANT_Float_info
  26. def CONSTANT_Integer_info(i: Int): CONSTANT_Integer_info
  27. def CONSTANT_InterfaceMethodref_info(class_index: Constant_Pool_Index, name_and_type_index: Constant_Pool_Index): CONSTANT_InterfaceMethodref_info
  28. def CONSTANT_InvokeDynamic_info(bootstrap_method_attr_index: Constant_Pool_Index, name_and_type_index: Constant_Pool_Index): CONSTANT_InvokeDynamic_info
  29. def CONSTANT_Long_info(l: Long): CONSTANT_Long_info
  30. def CONSTANT_MethodHandle_info(reference_kind: Int, reference_index: Int): CONSTANT_MethodHandle_info
  31. def CONSTANT_MethodType_info(descriptor_index: Constant_Pool_Index): CONSTANT_MethodType_info
  32. def CONSTANT_Methodref_info(class_index: Constant_Pool_Index, name_and_type_index: Constant_Pool_Index): CONSTANT_Methodref_info
  33. def CONSTANT_Module_info(name_index: Constant_Pool_Index): CONSTANT_Module_info
  34. def CONSTANT_NameAndType_info(name_index: Constant_Pool_Index, descriptor_index: Constant_Pool_Index): CONSTANT_NameAndType_info
  35. def CONSTANT_Package_info(name_index: Constant_Pool_Index): CONSTANT_Package_info
  36. def CONSTANT_String_info(i: Int): CONSTANT_String_info
  37. def CONSTANT_Utf8_info(r: Array[Byte], s: String): CONSTANT_Utf8_info
  38. def CastExpression(offset: Int, type_argument_index: Int): TAOfCastExpression
  39. def Catch(exception_table_index: Int): TAOfCatch
  40. def CharValue(cp: Constant_Pool, const_value_index: Constant_Pool_Index): ElementValue
  41. def ChopFrame(frame_type: Int, offset_delta: Int): ChopFrame
  42. def ClassFile(cp: Constant_Pool, minor_version: Int, major_version: Int, access_flags: Int, this_class_index: Constant_Pool_Index, super_class_index: Constant_Pool_Index, interfaces: Interfaces, fields: Fields, methods: Methods, attributes: Attributes): ClassFile

    Factory method to create the ClassFile object that represents the class file as a whole, plus any ClassFiles that have been synthesized in the process of parsing it.

    Factory method to create the ClassFile object that represents the class file as a whole, plus any ClassFiles that have been synthesized in the process of parsing it.

    The result will always contain at least one ClassFile object, namely the one that is created from this method's parameters. Regardless of how many ClassFiles the result contains, the ClassFile created from this method's parameters will always be the result's first element.

    Definition Classes
    ClassFileBindingClassFileReader
  43. def ClassFile(jarFileName: String, jarFileEntryName: String): List[ClassFile]

    Reads in a single class file from a Jar file.

    Reads in a single class file from a Jar file.

    jarFileName

    the name of an existing ZIP/JAR file that contains class files.

    jarFileEntryName

    the name of a class file stored in the specified ZIP/JAR file.

    Definition Classes
    ClassFileReader
    Annotations
    @throws("if the file is empty or the entry cannot be found")
  44. def ClassFile(jarFile: File, jarFileEntryName: String): List[ClassFile]

    Reads in a single class file from a Jar file.

    Reads in a single class file from a Jar file.

    jarFile

    An existing ZIP/JAR file that contains class files.

    jarFileEntryName

    The name of a class file stored in the specified ZIP/JAR file.

    Definition Classes
    ClassFileReader
    Annotations
    @throws("if the file is empty or the entry cannot be found")
  45. def ClassFile(jarFile: ZipFile, jarEntry: ZipEntry): List[ClassFile]
    Attributes
    protected[this]
    Definition Classes
    ClassFileReader
  46. def ClassFile(create: () => InputStream): List[ClassFile]

    Reads in a class file.

    Reads in a class file.

    create

    A function that creates a new InputStream and which must not return null. If you already do have an open input stream which should not be closed after reading the class file use ...ClassFileReader.ClassFile(java.io.DataInputStream) : ClassFile instead. The (newly created) InputStream returned by calling create is closed by this method. The created input stream will automatically be wrapped by OPAL to enable efficient reading of the class file.

    Definition Classes
    ClassFileReader
  47. def ClassFile(in: DataInputStream): List[ClassFile]

    Template method that reads a Java class file from the given input stream.

    Template method that reads a Java class file from the given input stream.

    All other methods to read a class file use this method to eventually parse a class file.

    Class File Structure

    Parses a class file according to the specification:

    ClassFile {
       u4 magic;
       u2 minor_version;
       u2 major_version;
       u2 constant_pool_count;
       cp_info constant_pool[constant_pool_count-1];
       u2 access_flags;
       u2 this_class;
       u2 super_class;
       u2 interfaces_count;
       u2 interfaces[interfaces_count];
       u2 fields_count;
       field_info fields[fields_count];
       u2 methods_count;
       method_info methods[methods_count];
       u2 attributes_count;
       attribute_info attributes[attributes_count];
    }
    

    in

    The DataInputStream from which the class file will be read. The stream is not closed by this method. It is highly recommended that the stream is buffered; otherwise the performance will be terrible!

    Definition Classes
    ClassFileReader
  48. def ClassFiles(file: File, exceptionHandler: bi.reader.ClassFileReader.ExceptionHandler = defaultExceptionHandler): List[(ClassFile, URL)]

    Loads class files from the given file location.

    Loads class files from the given file location.

    • If the file denotes a single ".class" file this class file is loaded.
    • If the file object denotes a ".jar|.war|.ear|.zip" file, all class files in the jar file will be loaded.
    • If the file object specifies a directory object, all ".class" files in the directory and in all subdirectories are loaded as well as all class files stored in ".jar" files in one of the directories. This class loads all class files in parallel. However, this does not effect analyses working on the resulting List.
    Definition Classes
    ClassFileReader
  49. def ClassFiles(zipFile: ZipFile, classFileHandler: (ClassFile, URL) => Unit, exceptionHandler: bi.reader.ClassFileReader.ExceptionHandler): Unit

    Reads in parallel all class files stored in the given jar file.

    Reads in parallel all class files stored in the given jar file. For each successfully read class file the function classFileHandler is called.

    zipFile

    A valid zip file that contains .class files and other .jar files; other files are ignored. Inner jar files are also unzipped.

    classFileHandler

    A function that is called for each class file in the given jar file. Given that the jarFile is read in parallel this function has to be thread safe.

    exceptionHandler

    The exception handler that is called when the reading of a class file fails. This function has to be thread safe.

    Definition Classes
    ClassFileReader
  50. def ClassFiles(in: => JarInputStream): List[(ClassFile, String)]

    Reads the class files from the given JarInputStream

    Reads the class files from the given JarInputStream

    Definition Classes
    ClassFileReader
  51. def ClassFiles(jarFile: ZipFile, exceptionHandler: bi.reader.ClassFileReader.ExceptionHandler): List[(ClassFile, URL)]

    Reads in parallel all class files stored in the given jar/zip file.

    Reads in parallel all class files stored in the given jar/zip file.

    jarFile

    Some valid (non-empty) jar File.

    returns

    The loaded class files.

    Definition Classes
    ClassFileReader
  52. def ClassValue(cp: Constant_Pool, const_value_index: Constant_Pool_Index): ElementValue
  53. 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
  54. def ConstantValue_attribute(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attributeNameIndex: Constant_Pool_Index, constantValueIndex: Constant_Pool_Index): ConstantValue_attribute
  55. def Constant_Pool(in: DataInputStream): Constant_Pool
    Definition Classes
    Constant_PoolReader
  56. def ConstructorInMethodReferenceExpression(offset: Int, type_argument_index: Int): TAOfConstructorInMethodReferenceExpression
  57. def ConstructorInvocation(offset: Int, type_argument_index: Int): TAOfConstructorInvocation
  58. def Deprecated_attribute(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attribute_name_index: Constant_Pool_Index): br.Attribute
  59. def DoubleValue(cp: Constant_Pool, const_value_index: Constant_Pool_Index): ElementValue
  60. def DoubleVariableInfo(): br.DoubleVariableInfo.type
  61. def ElementValue(cp: Constant_Pool, in: DataInputStream): ElementValue

    Parses an element value.

    Parses an element value.

    From the Specification

    element_value {
       u1 tag;
       union {
         u2   const_value_index;
    
         {
           u2 type_name_index;
           u2 const_name_index;
         } enum_const_value;
    
         u2 class_info_index;
    
         annotation annotation_value;
    
         {
           u2    num_values;
           element_value values[num_values];
         } array_value;
       } value;
    }
    

    Definition Classes
    ElementValuePairsReader
  62. def ElementValuePair(cp: Constant_Pool, element_name_index: Constant_Pool_Index, element_value: ElementValue): ElementValuePair
  63. def ElementValuePair(cp: Constant_Pool, in: DataInputStream): ElementValuePair
    Definition Classes
    ElementValuePairsReader
  64. def ElementValuePairs(cp: Constant_Pool, in: DataInputStream): ElementValuePairs
  65. def EnclosingMethod_attribute(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attribute_name_index: Constant_Pool_Index, class_index: Constant_Pool_Index, method_index: Constant_Pool_Index): EnclosingMethod_attribute
  66. def EnumValue(cp: Constant_Pool, type_name_index: Constant_Pool_Index, const_name_index: Constant_Pool_Index): ElementValue
  67. def ExceptionTableEntry(cp: Constant_Pool, start_pc: Int, end_pc: Int, handler_pc: Int, catch_type_index: Constant_Pool_Index): ExceptionTableEntry
  68. def Exceptions_attribute(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attribute_name_index: Constant_Pool_Index, exception_index_table: Array[Constant_Pool_Index]): Exceptions_attribute
  69. def ExportsEntry(cp: Constant_Pool, exports_index: Constant_Pool_Index, exports_flags: Int, exports_to_index_table: ExportsToIndexTable): ExportsEntry
  70. def FieldDeclaration: TAOfFieldDeclaration.type
  71. def Field_Info(cp: Constant_Pool, access_flags: Int, name_index: Constant_Pool_Index, descriptor_index: Constant_Pool_Index, attributes: Attributes): Field_Info
    Definition Classes
    FieldsBindingFieldsReader
  72. def Fields(cp: Constant_Pool, in: DataInputStream): Fields
    Definition Classes
    FieldsReader
  73. def FloatValue(cp: Constant_Pool, const_value_index: Constant_Pool_Index): ElementValue
  74. def FloatVariableInfo(): br.FloatVariableInfo.type
  75. def FormalParameter(formal_parameter_index: Int): TAOfFormalParameter
  76. def FullFrame(frame_type: Int, offset_delta: Int, verification_type_info_locals: VerificationTypeInfoLocals, verification_type_info_stack: VerificationTypeInfoStack): StackMapFrame
  77. def InnerClassesEntry(cp: Constant_Pool, inner_class_info_index: Constant_Pool_Index, outer_class_info_index: Constant_Pool_Index, inner_name_index: Constant_Pool_Index, inner_class_access_flags: Int): InnerClassesEntry
  78. def InnerClasses_attribute(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attribute_name_index: Constant_Pool_Index, inner_classes: InnerClasses): InnerClasses_attribute
  79. def InstanceOf(offset: Int): TAOfInstanceOf
  80. def Instructions(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, in: DataInputStream): Instructions
    Definition Classes
    CodeReader
  81. def Instructions(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, source: Array[Byte]): Instructions

    Transforms an array of bytes into an array of org.opalj.br.instructions.Instructions.

    Transforms an array of bytes into an array of org.opalj.br.instructions.Instructions.

    Definition Classes
    CachedBytecodeReaderAndBindingInstructionsDeserializer
  82. def IntValue(cp: Constant_Pool, const_value_index: Constant_Pool_Index): ElementValue
  83. def IntegerVariableInfo(): br.IntegerVariableInfo.type
  84. def JRTClassFiles: Iterable[(String, List[(ClassFile, URL)])]

    Returns the class files of the current Java Runtime Image grouped by module.

    Returns the class files of the current Java Runtime Image grouped by module.

    Definition Classes
    ClassFileReader
  85. def LineNumberTable_attribute(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attribute_name_index: Constant_Pool_Index, line_number_table: Array[Byte]): CompactLineNumberTable
  86. def LocalVariableTableEntry(cp: Constant_Pool, start_pc: Int, length: Int, name_index: Constant_Pool_Index, descriptor_index: Constant_Pool_Index, index: Int): LocalVariable
  87. def LocalVariableTable_attribute(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attribute_name_index: Constant_Pool_Index, local_variable_table: LocalVariables): LocalVariableTable
  88. def LocalVariableTypeTableEntry(cp: Constant_Pool, start_pc: Int, length: Int, name_index: Constant_Pool_Index, signature_index: Constant_Pool_Index, index: Int): LocalVariableType
  89. def LocalVariableTypeTable_attribute(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attribute_name_index: Constant_Pool_Index, local_variable_type_table: LocalVariableTypes): LocalVariableTypeTable
  90. def LocalvarDecl(localVarTable: LocalvarTable): TAOfLocalvarDecl
  91. def LocalvarTable(in: DataInputStream): LocalvarTable
    Definition Classes
    TypeAnnotationTargetReader
  92. def LocalvarTableEntry(start_pc: Int, length: Int, local_variable_table_index: Int): LocalvarTableEntry

    Factory method to create a LocalvarTableEntry.

    Factory method to create a LocalvarTableEntry. To completely resolve such entries; i.e., to resolve the local_variable_table_index it may be necessary to do some post-processing after all attributes belonging to a code block are loaded. This can be done using the method org.opalj.bi.reader.AttributeReader.registerAttributesPostProcessor.

    Definition Classes
    TypeAnnotationsBindingTypeAnnotationTargetReader
  93. final val LogControlFlowSimplifications: Boolean
    Definition Classes
    BytecodeOptimizer
  94. def LongValue(cp: Constant_Pool, const_value_index: Constant_Pool_Index): ElementValue
  95. def LongVariableInfo(): br.LongVariableInfo.type
  96. def MethodInMethodReferenceExpression(offset: Int, type_argument_index: Int): TAOfMethodInMethodReferenceExpression
  97. def MethodInvocation(offset: Int, type_argument_index: Int): TAOfMethodInvocation
  98. def MethodParameter(cp: Constant_Pool, name_index: Constant_Pool_Index, access_flags: Int): MethodParameter
  99. def MethodParameters_attribute(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attribute_name_index: Constant_Pool_Index, parameters: MethodParameters): MethodParameters_attribute
  100. def MethodReferenceExpressionIdentifier(offset: Int): TAOfMethodReferenceExpressionIdentifier
  101. def MethodReferenceExpressionNew(offset: Int): TAOfMethodReferenceExpressionNew
  102. def Method_Info(cp: Constant_Pool, accessFlags: Int, name_index: Int, descriptor_index: Int, attributes: Attributes): Method_Info
  103. def Methods(cp: Constant_Pool, in: DataInputStream): Methods
    Definition Classes
    MethodsReader
  104. def ModuleMainClass_attribute(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attribute_name_index: Constant_Pool_Index, main_class_index: Constant_Pool_Index): ModuleMainClass_attribute

    main_class_index

    Reference to a CONSTANT_Class_info.

    Definition Classes
    ModuleMainClass_attributeBindingModuleMainClass_attributeReader
  105. def ModulePackages_attribute(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attribute_name_index: Constant_Pool_Index, package_index_table: PackageIndexTable): ModulePackages_attribute
  106. 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).

    Definition Classes
    Module_attributeBindingModule_attributeReader
  107. def New(offset: Int): TAOfNew
  108. def NullVariableInfo(): br.NullVariableInfo.type
  109. def ObjectVariableInfo(cp: Constant_Pool, type_index: Constant_Pool_Index): ObjectVariableInfo

    The Object_variable_info type indicates that the location contains an instance of the class referenced by the constant pool entry.

    The Object_variable_info type indicates that the location contains an instance of the class referenced by the constant pool entry.

    Definition Classes
    StackMapTable_attributeBindingVerificationTypeInfoReader
  110. def OpensEntry(cp: Constant_Pool, opens_index: Constant_Pool_Index, opens_flags: Int, opens_to_index_table: OpensToIndexTable): OpensEntry
  111. def ParameterDeclarationOfClassOrInterface(type_parameter_index: Int): TAOfParameterDeclarationOfClassOrInterface
  112. def ParameterDeclarationOfMethodOrConstructor(type_parameter_index: Int): TAOfParameterDeclarationOfMethodOrConstructor
  113. def ParametersAnnotations(cp: Constant_Pool, in: DataInputStream): ParametersAnnotations
    Definition Classes
    ParametersAnnotationsReader
  114. final val PerformControlFlowSimplifications: Boolean
    Definition Classes
    BytecodeOptimizer
  115. def ProvidesEntry(cp: Constant_Pool, provides_index: Constant_Pool_Index, provides_with_index_table: ProvidesWithIndexTable): ProvidesEntry
  116. def ReceiverType: TAOfReceiverType.type
  117. def RequiresEntry(cp: Constant_Pool, requires_index: Constant_Pool_Index, requires_flags: Int, require_version_index: Constant_Pool_Index): RequiresEntry
  118. def ResourcevarDecl(localVarTable: LocalvarTable): TAOfResourcevarDecl
  119. def ReturnType: TAOfReturnType.type
  120. def RuntimeInvisibleAnnotations_attribute(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attribute_name_index: Constant_Pool_Index, annotations: Annotations): RuntimeInvisibleAnnotations_attribute
  121. def RuntimeInvisibleParameterAnnotations_attribute(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attribute_name_index: Constant_Pool_Index, parameters_annotations: ParametersAnnotations): RuntimeInvisibleParameterAnnotations_attribute

    Factory method to create a representation of a RuntimeInvisibleParameterAnnotations_attribute.

    Factory method to create a representation of a RuntimeInvisibleParameterAnnotations_attribute.

    Definition Classes
    AnnotationAttributesBindingRuntimeInvisibleParameterAnnotations_attributeReader
  122. def RuntimeInvisibleTypeAnnotations_attribute(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attribute_name_index: Constant_Pool_Index, annotations: TypeAnnotations): RuntimeInvisibleTypeAnnotations_attribute
  123. def RuntimeVisibleAnnotations_attribute(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attribute_name_index: Constant_Pool_Index, annotations: Annotations): RuntimeVisibleAnnotations_attribute
  124. def RuntimeVisibleParameterAnnotations_attribute(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attribute_name_index: Constant_Pool_Index, parameters_annotations: ParametersAnnotations): RuntimeVisibleParameterAnnotations_attribute
  125. def RuntimeVisibleTypeAnnotations_attribute(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attribute_name_index: Constant_Pool_Index, annotations: TypeAnnotations): RuntimeVisibleTypeAnnotations_attribute
  126. def SameFrame(frame_type: Int): StackMapFrame
  127. def SameFrameExtended(frame_type: Int, offset_delta: Int): StackMapFrame
  128. def SameLocals1StackItemFrame(frame_type: Int, verification_type_info_stack: VerificationTypeInfo): StackMapFrame
  129. def SameLocals1StackItemFrameExtended(frame_type: Int, offset_delta: Int, verification_type_info_stack: VerificationTypeInfo): StackMapFrame
  130. val ScalaRuntimeObject: ObjectType
    Definition Classes
    InvokedynamicRewriting
  131. def ShortValue(cp: Constant_Pool, const_value_index: Constant_Pool_Index): ElementValue
  132. def Signature_attribute(cp: 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.

    Definition Classes
    Signature_attributeBindingSignature_attributeReader
  133. def SourceDebugExtension_attribute(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attribute_name_index: Constant_Pool_Index, debug_extension: Array[Byte]): SourceDebugExtension_attribute
  134. def SourceFile_attribute(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attribute_name_index: Constant_Pool_Index, sourcefile_index: Constant_Pool_Index): SourceFile_attribute
  135. def StackMapFrame(cp: Constant_Pool, in: DataInputStream): StackMapFrame
    Definition Classes
    StackMapFrameReader
  136. def StackMapTable_attribute(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attribute_name_index: Constant_Pool_Index, stack_map_frames: StackMapFrames): StackMapTable_attribute
  137. def StringValue(cp: Constant_Pool, const_value_index: Constant_Pool_Index): ElementValue
  138. def SupertypeTarget(supertype_index: Int): TAOfSupertype
  139. def Synthetic_attribute(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attribute_name_index: Constant_Pool_Index): br.Attribute
  140. def Throws(throws_type_index: Int): TAOfThrows
  141. def TopVariableInfo(): br.TopVariableInfo.type
  142. def TypeAnnotation(cp: Constant_Pool, target: TypeAnnotationTarget, path: TypeAnnotationPath, type_index: Constant_Pool_Index, element_value_pairs: ElementValuePairs): TypeAnnotation
  143. def TypeAnnotation(cp: Constant_Pool, in: DataInputStream): TypeAnnotation
    Definition Classes
    TypeAnnotationsReader
  144. def TypeAnnotationDeeperInArrayType: TADeeperInArrayType.type

    The type_path_kind was 0 (and the type_argument_index was also 0).

    The type_path_kind was 0 (and the type_argument_index was also 0).

    Definition Classes
    TypeAnnotationsBindingTypeAnnotationPathReader
  145. def TypeAnnotationDeeperInNestedType: TADeeperInNestedType.type

    The type_path_kind was 1 (and the type_argument_index was (as defined by the specification) also 0).

    The type_path_kind was 1 (and the type_argument_index was (as defined by the specification) also 0).

    Definition Classes
    TypeAnnotationsBindingTypeAnnotationPathReader
  146. def TypeAnnotationDirectlyOnType: TADirectlyOnType.type

    The path's length was 0.

    The path's length was 0.

    Definition Classes
    TypeAnnotationsBindingTypeAnnotationPathReader
  147. def TypeAnnotationOnBoundOfWildcardType: TAOnBoundOfWildcardType.type

    The type_path_kind was 2 (and the type_argument_index was (as defined by the specification) also 0).

    The type_path_kind was 2 (and the type_argument_index was (as defined by the specification) also 0).

    Definition Classes
    TypeAnnotationsBindingTypeAnnotationPathReader
  148. def TypeAnnotationOnTypeArgument(type_argument_index: Int): TAOnTypeArgument
  149. def TypeAnnotationPath(path: ArraySeq[TypeAnnotationPathElement]): TAOnNestedType
  150. def TypeAnnotationPath(in: DataInputStream): TypeAnnotationPath
    Definition Classes
    TypeAnnotationPathReader
  151. def TypeAnnotationTarget(in: DataInputStream): TypeAnnotationTarget

    u1 target_type;
    union {
     type_parameter_target;
     supertype_target;
     type_parameter_bound_target;
     empty_target;
     method_formal_parameter_target;
     throws_target;
     localvar_target;
     catch_target;
     offset_target;
     type_argument_target;
     } target_info;
    

    u1 target_type;
    union {
     type_parameter_target;
     supertype_target;
     type_parameter_bound_target;
     empty_target;
     method_formal_parameter_target;
     throws_target;
     localvar_target;
     catch_target;
     offset_target;
     type_argument_target;
     } target_info;
    

    Definition Classes
    TypeAnnotationTargetReader
  152. def TypeAnnotations(cp: Constant_Pool, in: DataInputStream): TypeAnnotations

    Reads a Runtime(In)VisibleTypeAnnotations attribute.

    Reads a Runtime(In)VisibleTypeAnnotations attribute.

    type_annotation {
               u1 target_type;
               union {
                   type_parameter_target;
                   supertype_target;
                   type_parameter_bound_target;
                   empty_target;
                   method_formal_parameter_target;
                   throws_target;
                   localvar_target;
                   catch_target;
                   offset_target;
                   type_argument_target;
               } target_info;
               type_path target_path;
               u2        type_index;
               u2        num_element_value_pairs;
               { u2              element_name_index;
                 element_value   value;
               } element_value_pairs[num_element_value_pairs];
    }
    

    Definition Classes
    TypeAnnotationsReader
  153. def TypeBoundOfParameterDeclarationOfClassOrInterface(type_parameter_index: Int, bound_index: Int): TAOfTypeBoundOfParameterDeclarationOfClassOrInterface
  154. def TypeBoundOfParameterDeclarationOfMethodOrConstructor(type_parameter_index: Int, bound_index: Int): TAOfTypeBoundOfParameterDeclarationOfMethodOrConstructor
  155. def UninitializedThisVariableInfo(): br.UninitializedThisVariableInfo.type
  156. def UninitializedVariableInfo(offset: Int): br.UninitializedVariableInfo

    The Uninitialized_variable_info indicates that the location contains the verification type uninitialized(offset).

    The Uninitialized_variable_info indicates that the location contains the verification type uninitialized(offset). The offset item indicates the offset of the new instruction that created the object being stored in the location.

    Definition Classes
    StackMapTable_attributeBindingVerificationTypeInfoReader
  157. def Unknown_attribute(cp: Constant_Pool, ap: AttributeParent, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attribute_name_index: Constant_Pool_Index, in: DataInputStream): Null
  158. def VerificationTypeInfo(cp: Constant_Pool, in: DataInputStream): VerificationTypeInfo
    Definition Classes
    VerificationTypeInfoReader
  159. implicit val annotationType: ClassTag[Annotation]
  160. 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
  161. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  162. implicit val attributeType: ClassTag[Attribute]
  163. implicit val bootstrapArgumentType: ClassTag[BootstrapArgument]
  164. implicit val bootstrapMethodType: ClassTag[BootstrapMethod]
  165. val cache: BytecodeInstructionsCache
  166. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  167. implicit val config: Config

    The Config object that will be used to read the configuration settings for reading in class files.

    The Config object that will be used to read the configuration settings for reading in class files.

    Definition Classes
    ClassFileReaderConfiguration
  168. implicit val constantPoolEntryType: ClassTag[cp.Constant_Pool_Entry]
  169. implicit def cpIndexTocpEntry(index: Constant_Pool_Index)(implicit cp: Constant_Pool): Constant_Pool_Entry
    Definition Classes
    ConstantPoolBinding
  170. def createDeferredActionsStore(): DeferredActionsStore

    Creates a storage area for functions that will be called after the class file was completely loaded.

    Creates a storage area for functions that will be called after the class file was completely loaded. This makes it possible to register functions that are newly created for a special class file object to perform actions related to that specific class file object. For further information study the resolving process of invokedynamic instructions.

    Attributes
    protected[this]
    Definition Classes
    ConstantPoolBindingConstant_PoolReader
  171. def createObjectMethodsTarget(bootstrapArgs: br.BootstrapArguments, methodName: String, newMethodName: String, classFile: br.ClassFile): Option[(br.ClassFile, MethodDescriptor)]

    Creates the code required to perform the action of a method created by java.lang.runtime.ObjectMethods.bootstrap.

    Creates the code required to perform the action of a method created by java.lang.runtime.ObjectMethods.bootstrap.

    bootstrapArgs

    The arguments to the bootstrap method

    methodName

    Name of the represented method (either equals, toString or hashCode)

    newMethodName

    The name for the newly created method

    returns

    Either a tuple of the updated class file and the descriptor of the new method or None

    Attributes
    protected[this]
    Definition Classes
    BootstrapArgumentLoading
  172. def defaultConfig: Config
  173. final val defaultExceptionHandler: bi.reader.ClassFileReader.ExceptionHandler
    Definition Classes
    ClassFileReader
  174. def defaultLogContext: LogContext
  175. def deferredDynamicConstantResolution(classFile: ClassFile, cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, dynamicInfo: CONSTANT_Dynamic_info, instructions: Array[Instruction], pc: PC): ClassFile

    Resolves an org.opalj.br.instructions.INCOMPLETE_LDC instruction using the BootstrapMethodTable of the class.

    Resolves an org.opalj.br.instructions.INCOMPLETE_LDC instruction using the BootstrapMethodTable of the class.

    Deferred resolution is necessary since the BootstrapMethodTable – which is an attribute of the class file – is loaded after the methods.

    classFile

    The ClassFile with which the deferred action was registered.

    cp

    The class file's Constant_Pool.

    dynamicInfo

    The consttant pool entry describing the dynamic constant.

    instructions

    This method's array of instructions.Instructions. (The array returned by the #Instructions method.)

    pc

    The program counter of the invokedynamic instruction.

    Attributes
    protected
    Definition Classes
    DeferredDynamicConstantResolution
    Note

    This method is called (back) after the class file was completely loaded. Registration as a callback method happens whenever an ldc instruction is found in a method's byte code that refers to a dynamic constant.

    Overriding this Method

    To perform additional analyses on dynamic constant loading ldc instructions, e.g., to fully resolve the constant, a subclass may override this method to do so. When you override this method, you should call this method (super.deferredResolveDynamicConstantResolution) to ensure that the default resolution is carried out.

  176. def deferredInvokedynamicResolution(classFile: ClassFile, cp: Constant_Pool, methodNameIndex: Constant_Pool_Index, methodDescriptorIndex: Constant_Pool_Index, invokeDynamicInfo: CONSTANT_InvokeDynamic_info, instructions: Array[Instruction], pc: PC): ClassFile

    Resolves an org.opalj.br.instructions.INCOMPLETE_INVOKEDYNAMIC instruction using the BootstrapMethodTable of the class.

    Resolves an org.opalj.br.instructions.INCOMPLETE_INVOKEDYNAMIC instruction using the BootstrapMethodTable of the class.

    Deferred resolution is necessary since the BootstrapMethodTable – which is an attribute of the class file – is loaded after the methods.

    classFile

    The ClassFile with which the deferred action was registered.

    cp

    The class file's Constant_Pool.

    invokeDynamicInfo

    The org.opalj.br.instructions.INVOKEDYNAMIC instruction's constant pool entry.

    instructions

    This method's array of instructions.Instructions. (The array returned by the #Instructions method.)

    pc

    The program counter of the invokedynamic instruction.

    Definition Classes
    InvokedynamicRewritingDeferredInvokedynamicResolution
    Note

    This method is called (back) after the class file was completely loaded. Registration as a callback method happens whenever an invokedynamic instruction is found in a method's byte code.

    Overriding this Method

    To perform additional analyses on invokedynamic instructions, e.g., to fully resolve the call target, a subclass may override this method to do so. When you override this method, you should call this method (super.deferredResolveInvokedynamicResolution) to ensure that the default resolution is carried out.

  177. val deleteSynthesizedClassFilesAttributes: Boolean

    This property determines whether artificial SynthesizedClassFiles attributes are kept or removed.

    This property determines whether artificial SynthesizedClassFiles attributes are kept or removed.

    Definition Classes
    ClassFileBinding
    Note

    This setting can be set using the configuration key ClassFileBinding.DeleteSynthesizedClassFilesAttributesConfigKey.

  178. implicit val elementValuePairType: ClassTag[ElementValuePair]
  179. implicit val elementValueType: ClassTag[ElementValue]
  180. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  181. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  182. implicit val exceptionTableEntryType: ClassTag[ExceptionTableEntry]
  183. implicit val exportsEntryType: ClassTag[ExportsEntry]
  184. def extractAltMetafactoryArguments(altMetafactoryArgs: Seq[br.BootstrapArgument]): (IndexedSeq[ReferenceType], IndexedSeq[MethodDescriptor], Boolean)

    Extract the parameters of altMetafactory calls.

    Extract the parameters of altMetafactory calls.

    CallSite altMetafactory(MethodHandles.Lookup caller, String invokedName, MethodType invokedType, Object... args)

    Object... args evaluates to the following argument list: int flags, int markerInterfaceCount, // IF flags has MARKERS set Class... markerInterfaces, // IF flags has MARKERS set int bridgeCount, // IF flags has BRIDGES set MethodType... bridges // IF flags has BRIDGES set

    flags is a bitwise OR of the desired flags FLAG_MARKERS, FLAG_BRIDGES and FLAG_SERIALIZABLE.

    altMetafactoryArgs

    Object... args of altMetafactory parameters

    returns

    A tuple containing an IndexSeq of markerInterfaces, bridges and a boolean indicating if the class must be serializable.

    Definition Classes
    InvokedynamicRewriting
    See also

    https://docs.oracle.com/javase/8/docs/api/java/lang/invoke/LambdaMetafactory.html#altMetafactory-java.lang.invoke.MethodHandles.Lookup-java.lang.String-java.lang.invoke.MethodType-java.lang.Object...-

  185. val extractSynthesizedClassFiles: (List[ClassFile]) => List[ClassFile]

    Tests if the class file has a SynthesizedClassFiles attribute and – if so – extracts the class file and removes the attribute.

    Tests if the class file has a SynthesizedClassFiles attribute and – if so – extracts the class file and removes the attribute.

    Definition Classes
    ClassFileBinding
  186. implicit val fieldInfoType: ClassTag[Field_Info]
    Definition Classes
    FieldsBindingFieldsReader
  187. def findClassFile(files: Iterable[File], progressReporter: (File) => Unit, classFileFilter: (ClassFile) => Boolean, className: (ClassFile) => String, exceptionHandler: bi.reader.ClassFileReader.ExceptionHandler = defaultExceptionHandler): Either[(ClassFile, URL), Set[String]]

    Searches for the first class file that is accepted by the filter.

    Searches for the first class file that is accepted by the filter. If no class file can be found that is accepted by the filter the set of all class names is returned.

    files

    Some file. If the file names a .jar file the .jar file is opened and searched for a corresponding class file. If the file identifies a "directory" then, all files in that directory are processed.

    Definition Classes
    ClassFileReader
  188. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  189. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  190. implicit val innerClassesEntryType: ClassTag[InnerClassesEntry]
  191. def isClassFileRepository(filename: String, containerName: Option[String]): Boolean
    Definition Classes
    ClassFileReader
  192. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  193. def loadBootstrapArgument(argument: ConstantValue[_], instructions: InstructionsBuilder, classFile: br.ClassFile, boxed: Boolean = false): (Int, br.ClassFile)

    Generate instructions to load a constant argument for a bootstrap method.

    Generate instructions to load a constant argument for a bootstrap method.

    argument

    The argument to be loaded

    instructions

    The instruction builder the instructions are appended to

    classFile

    The class file the constant is in

    boxed

    If true, ensures the argument is of a reference type, boxing it if necessary

    returns

    The maximum stack height the generated instructions require and the (potentially new!) class file

    Definition Classes
    BootstrapArgumentLoading
  194. def loadDynamicConstant(bootstrapMethod: br.BootstrapMethod, name: String, descriptor: FieldType, instructions: InstructionsBuilder, classFile: br.ClassFile, boxed: Boolean = false): (Int, br.ClassFile)

    Generate instructions to load a dynamic constant.

    Generate instructions to load a dynamic constant.

    bootstrapMethod

    The constant's bootstrap method

    name

    The constant's name information, passed as the bootstrap method's 2. argument

    descriptor

    The constant's type, passed as the bootstrap method's 3. argument

    instructions

    The instruction builder the instructions are appended to

    classFile

    The class file the constant is in

    boxed

    If true, ensures the constant is of a reference type, boxing it if necessary

    returns

    The maximum stack height the generated instructions require and the (potentially new!) class file

    Definition Classes
    BootstrapArgumentLoading
  195. final def loadsInterfacesOnly: Boolean

    If true method bodies are never loaded.

    If true method bodies are never loaded.

    Definition Classes
    Java8FrameworkWithCachingClassFileReaderConfiguration
  196. implicit val localVariableTableEntryType: ClassTag[LocalVariableTableEntry]
  197. implicit val localVariableTypeTableEntryType: ClassTag[LocalVariableTypeTableEntry]
  198. implicit val localvarTableEntryType: ClassTag[LocalvarTableEntry]
  199. 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.

  200. val logLambdaExpressionsRewrites: Boolean
    Definition Classes
    InvokedynamicRewriting
  201. val logObjectMethodsRewrites: Boolean
    Definition Classes
    InvokedynamicRewriting
  202. val logStringConcatRewrites: Boolean
    Definition Classes
    InvokedynamicRewriting
  203. val logUnknownInvokeDynamics: Boolean
    Definition Classes
    InvokedynamicRewriting
  204. implicit val methodInfoType: ClassTag[Method_Info]
    Definition Classes
    MethodsBindingMethodsReader
  205. implicit val methodParameterType: ClassTag[MethodParameter]
  206. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  207. def newTargetMethodName(cp: cp.Constant_Pool, surroundingMethodNameIndex: Int, surroundingMethodDescriptorIndex: Int, pc: Int, targetMethodName: String): String

    Generates a new, internal name for a method to be inserted.

    Generates a new, internal name for a method to be inserted.

    It follows the pattern: $targetMethodName${surroundingMethodName}{surroundingMethodDescriptor}:pc, where surroundingMethodDescriptor is the JVM descriptor of the method sanitized to not contain characters illegal in method names (replacing /, [, ;, < and > by $, ], :, _ and _ respectively) and where pc is the pc of the invokedynamic that is rewritten.

    Attributes
    protected[this]
    Definition Classes
    BootstrapArgumentLoading
  208. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  209. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  210. implicit val opensEntryType: ClassTag[OpensEntry]
  211. def optimizeInstructions(exceptionsHandlers: br.ExceptionHandlers, instructions: Array[Instruction]): Boolean
    Definition Classes
    BytecodeOptimizer
  212. val performInvokedynamicRewriting: Boolean
    Definition Classes
    InvokedynamicRewriting
  213. def processClassFiles(files: Iterable[File], progressReporter: (File) => Unit, classFileProcessor: ((ClassFile, URL)) => Unit, exceptionHandler: bi.reader.ClassFileReader.ExceptionHandler = defaultExceptionHandler): Unit

    Goes over all files in parallel and calls back the given function which has to be thread-safe!

    Goes over all files in parallel and calls back the given function which has to be thread-safe!

    Definition Classes
    ClassFileReader
  214. implicit val providesEntryType: ClassTag[ProvidesEntry]
  215. def registerAttributeReader(reader: (String, (Constant_Pool, AttributeParent, Constant_Pool_Index, Constant_Pool_Index, Constant_Pool_Index, DataInputStream) => Attribute)): Unit

    See AttributeReader.registerAttributeReader for details.

    See AttributeReader.registerAttributeReader for details.

    Definition Classes
    AttributesReader
  216. 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 the Runtime(In)VisibleTypeAnnotations attribute has a reference in the local variable table attribute.

    Definition Classes
    AttributesReader
  217. def registerClassFilePostProcessor(p: (List[ClassFile]) => List[ClassFile]): Unit

    Register a class file post processor.

    Register a class file post processor. A class file post processor can transform the completely read and reified class file. Post processors can only be registered before the usage of a class file reader. Registering new ClassFilePostProcessors while processing class files is not supported and the behavior is undefined.

    Definition Classes
    ClassFileReader
    Note

    PostProcessors will be executed in last-in-first-out order.

  218. def registerDeferredAction(cp: Constant_Pool)(deferredAction: (ClassFile) => ClassFile): Unit
    Definition Classes
    Constant_PoolReader
  219. 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
  220. val removeBootstrapMethodAttribute: (List[ClassFile]) => List[ClassFile]

    Removes all BootstrapMethodTable attributes because the invokedynamic instructions are either completely resolved by creating code that resembles the code executed by the JVM or the instructions are at least enhanced and have explicit references to the bootstrap methods.

    Removes all BootstrapMethodTable attributes because the invokedynamic instructions are either completely resolved by creating code that resembles the code executed by the JVM or the instructions are at least enhanced and have explicit references to the bootstrap methods.

    Definition Classes
    ClassFileBinding
  221. def replaceChars(in: String, oldChars: String, newChars: String): String

    Replaces each of several characters in a String with a given corresponding character.

    Replaces each of several characters in a String with a given corresponding character.

    Attributes
    protected[this]
    Definition Classes
    BootstrapArgumentLoading
  222. implicit val requiresEntryType: ClassTag[RequiresEntry]
  223. implicit val stackMapFrameType: ClassTag[StackMapFrame]
  224. def storeProxy(classFile: ClassFile, proxy: ClassFile, reason: Option[AnyRef]): ClassFile
    Definition Classes
    InvokedynamicRewriting
  225. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  226. def throwIllegalArgumentException: Boolean

    Returns true if an exception is to be raised if an invalid signature is found.

    Returns true if 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.

    Definition Classes
    Signature_attributeReader
    Note

    This method was primarily introduced because we found many class files with invalid signatures AND the JVM also handles this case gracefully!

  227. def toString(): String
    Definition Classes
    AnyRef → Any
  228. implicit val typeAnnotationPathElementType: ClassTag[TypeAnnotationPathElement]
  229. implicit val typeAnnotationType: ClassTag[TypeAnnotation]
  230. implicit val verificationTypeInfoType: ClassTag[VerificationTypeInfo]
  231. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  232. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  233. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from Java9LibraryFramework

Inherited from InvokedynamicRewriting

Inherited from CodeReader

Inherited from BytecodeOptimizer

Inherited from StackMapFrameReader

Inherited from CodeAttributeBinding

Inherited from CodeBinding

Inherited from Code_attributeReader

Inherited from Java8LibraryFramework

Inherited from TypeAnnotationsBinding

Inherited from TypeAnnotationsReader

Inherited from Java7LibraryFramework

Inherited from Module_attributeReader

Inherited from AttributeBinding

Inherited from AttributeReader

Inherited from AnnotationsReader

Inherited from AnnotationsBinding

Inherited from AttributesReader

Inherited from AttributesAbstractions

Inherited from ClassFileBinding

Inherited from ClassFileReader

Inherited from MethodsBinding

Inherited from MethodsReader

Inherited from FieldsBinding

Inherited from FieldsReader

Inherited from ConstantPoolBinding

Inherited from Constant_PoolReader

Inherited from AnyRef

Inherited from Any

Ungrouped