class Java17FrameworkWithDynamicRewritingAndCaching extends Java16FrameworkWithDynamicRewritingAndCaching with Java17LibraryFramework
This configuration can be used to read in Java 17 (version 61) class files with full
support for rewriting invokedynamic
instructions created by the JDK compiler for
lambda and method reference expressions as well as opportunistic support for rewriting dynamic
constants. All standard information (as defined in the Java Virtual Machine Specification) is
represented. Instructions will be cached.
- Alphabetic
- By Inheritance
- Java17FrameworkWithDynamicRewritingAndCaching
- Java17LibraryFramework
- PermittedSubclasses_attributeBinding
- PermittedSubclasses_attributeReader
- Java16FrameworkWithDynamicRewritingAndCaching
- Java16LibraryFramework
- Record_attributeBinding
- Record_attributeReader
- Java11FrameworkWithDynamicRewritingAndCaching
- DynamicConstantRewriting
- Java11LibraryFramework
- NestMembers_attributeBinding
- NestMembers_attributeReader
- NestHost_attributeBinding
- NestHost_attributeReader
- Java9FrameworkWithInvokedynamicSupportAndCaching
- 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
- ClassFileReaderConfiguration
- MethodsBinding
- MethodsReader
- FieldsBinding
- FieldsReader
- ConstantPoolBinding
- Constant_PoolReader
- Constant_PoolAbstractions
- AnyRef
- Any
- Hide All
- Show All
- Public
- Protected
Instance Constructors
- new Java17FrameworkWithDynamicRewritingAndCaching(cache: BytecodeInstructionsCache)
Type Members
- type Annotation = br.Annotation
- Definition Classes
- AnnotationsBinding → AnnotationsAbstractions
- type AnnotationDefault_attribute = br.ElementValue
- Definition Classes
- AnnotationAttributesBinding → AnnotationDefault_attributeReader
- type AnnotationValue = br.AnnotationValue
- Definition Classes
- AnnotationsBinding
- type Annotations = ArraySeq[Annotation]
- Definition Classes
- AnnotationsReader
- type AppendFrame = br.AppendFrame
- Definition Classes
- StackMapTable_attributeBinding
- type ArrayValue = br.ArrayValue
- Definition Classes
- AnnotationsBinding
- 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
- AttributeBinding → AttributesAbstractions
- type Attributes = ArraySeq[Attribute]
- Definition Classes
- AttributesAbstractions
- type BooleanValue = br.BooleanValue
- Definition Classes
- AnnotationsBinding
- type BootstrapArgument = br.BootstrapArgument
- Definition Classes
- BootstrapMethods_attributeBinding → BootstrapMethods_attributeReader
- type BootstrapArguments = ArraySeq[BootstrapArgument]
- Definition Classes
- BootstrapMethods_attributeReader
- type BootstrapMethod = br.BootstrapMethod
- Definition Classes
- BootstrapMethods_attributeBinding → BootstrapMethods_attributeReader
- type BootstrapMethods = ArraySeq[BootstrapMethod]
- Definition Classes
- BootstrapMethods_attributeReader
- type BootstrapMethods_attribute = BootstrapMethodTable
- Definition Classes
- BootstrapMethods_attributeBinding → BootstrapMethods_attributeReader
- type ByteValue = br.ByteValue
- Definition Classes
- AnnotationsBinding
- type CONSTANT_Class_info = cp.CONSTANT_Class_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- type CONSTANT_Double_info = cp.CONSTANT_Double_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- type CONSTANT_Dynamic_info = cp.CONSTANT_Dynamic_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- type CONSTANT_Fieldref_info = cp.CONSTANT_Fieldref_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- type CONSTANT_Float_info = cp.CONSTANT_Float_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- type CONSTANT_Integer_info = cp.CONSTANT_Integer_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- type CONSTANT_InterfaceMethodref_info = cp.CONSTANT_InterfaceMethodref_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- type CONSTANT_InvokeDynamic_info = cp.CONSTANT_InvokeDynamic_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- type CONSTANT_Long_info = cp.CONSTANT_Long_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- type CONSTANT_MethodHandle_info = cp.CONSTANT_MethodHandle_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- type CONSTANT_MethodType_info = cp.CONSTANT_MethodType_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- type CONSTANT_Methodref_info = cp.CONSTANT_Methodref_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- type CONSTANT_Module_info = cp.CONSTANT_Module_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- type CONSTANT_NameAndType_info = cp.CONSTANT_NameAndType_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- type CONSTANT_Package_info = cp.CONSTANT_Package_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- type CONSTANT_String_info = cp.CONSTANT_String_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- type CONSTANT_Utf8_info = cp.CONSTANT_Utf8_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader → Constant_PoolAbstractions
- type CharValue = br.CharValue
- Definition Classes
- AnnotationsBinding
- type ChopFrame = br.ChopFrame
- Definition Classes
- StackMapTable_attributeBinding
- 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
- ClassFileBinding → ClassFileReader → Constant_PoolAbstractions
- type ClassValue = br.ClassValue
- Definition Classes
- AnnotationsBinding
- type ClassesArray = Array[Constant_Pool_Index]
- Definition Classes
- NestMembers_attributeReader
- type Code_attribute = Code
- Definition Classes
- CodeAttributeBinding → Code_attributeReader
- type ConstantValue_attribute = ConstantFieldValue[_]
- Definition Classes
- ConstantValue_attributeBinding → ConstantValue_attributeReader
- final type Constant_Pool = Array[Constant_Pool_Entry]
- Definition Classes
- Constant_PoolAbstractions
- type Constant_Pool_Entry = cp.Constant_Pool_Entry
- Definition Classes
- ConstantPoolBinding → Constant_PoolAbstractions
- final type Constant_Pool_Index = Int
- Definition Classes
- Constant_PoolAbstractions
- type DeferredActionsStore = Buffer[(ClassFile) => ClassFile] with Constant_Pool_Entry
A DeferredActionsStore stores all functions that need to perform post load actions.
A DeferredActionsStore stores all functions that need to perform post load actions.
One example is the resolution of references to attributes. (The constant pool is the only structure that is passed around and hence it is the only place where to store information/functions related to a specific class file).
- Definition Classes
- Constant_PoolAbstractions
- type Deprecated_attribute = br.Attribute
- Definition Classes
- Deprecated_attributeBinding → Deprecated_attributeReader
- type DoubleValue = br.DoubleValue
- Definition Classes
- AnnotationsBinding
- type DoubleVariableInfo = br.VerificationTypeInfo
- Definition Classes
- StackMapTable_attributeBinding
- type ElementValue = br.ElementValue
- Definition Classes
- AnnotationsBinding → ElementValuePairsReader
- type ElementValuePair = br.ElementValuePair
- Definition Classes
- AnnotationsBinding → ElementValuePairsReader
- type ElementValuePairs = ArraySeq[ElementValuePair]
- Definition Classes
- ElementValuePairsReader → AnnotationsAbstractions
- type ElementValues = ArraySeq[ElementValue]
- Definition Classes
- ElementValuePairsReader
- type EnclosingMethod_attribute = EnclosingMethod
- Definition Classes
- EnclosingMethod_attributeBinding → EnclosingMethod_attributeReader
- type EnumValue = br.EnumValue
- Definition Classes
- AnnotationsBinding
- type ExceptionHandlers = ArraySeq[ExceptionTableEntry]
- Definition Classes
- Code_attributeReader
- type ExceptionIndexTable = Array[Constant_Pool_Index]
- Definition Classes
- Exceptions_attributeReader
- type ExceptionTableEntry = ExceptionHandler
- Definition Classes
- CodeAttributeBinding → Code_attributeReader
- type Exceptions_attribute = ExceptionTable
- Definition Classes
- Exceptions_attributeBinding → Exceptions_attributeReader
- type Exports = ArraySeq[ExportsEntry]
- Definition Classes
- Module_attributeReader
- type ExportsEntry = br.Exports
- Definition Classes
- Module_attributeBinding → Module_attributeReader
- type ExportsToIndexEntry = String
- Definition Classes
- Module_attributeBinding
- type ExportsToIndexTable = Array[Constant_Pool_Index]
- Definition Classes
- Module_attributeReader
- type Field_Info = Field
- Definition Classes
- FieldsBinding → FieldsReader
- type Fields = ArraySeq[Field_Info]
- Definition Classes
- FieldsReader
- type FloatValue = br.FloatValue
- Definition Classes
- AnnotationsBinding
- type FloatVariableInfo = br.VerificationTypeInfo
- Definition Classes
- StackMapTable_attributeBinding
- type FullFrame = br.FullFrame
- Definition Classes
- StackMapTable_attributeBinding
- type InnerClasses = ArraySeq[InnerClassesEntry]
- Definition Classes
- InnerClasses_attributeReader
- type InnerClassesEntry = InnerClass
- Definition Classes
- InnerClasses_attributeBinding → InnerClasses_attributeReader
- type InnerClasses_attribute = InnerClassTable
- Definition Classes
- InnerClasses_attributeBinding → InnerClasses_attributeReader
- type Instructions = Array[Instruction]
- Definition Classes
- CodeBinding
- type IntValue = br.IntValue
- Definition Classes
- AnnotationsBinding
- type IntegerVariableInfo = br.VerificationTypeInfo
- Definition Classes
- StackMapTable_attributeBinding
- final type Interfaces = Array[Constant_Pool_Index]
The inherited interfaces.
The inherited interfaces.
- Definition Classes
- ClassFileReader
- type LineNumberTable_attribute = CompactLineNumberTable
- Definition Classes
- CompactLineNumberTable_attributeBinding → CompactLineNumberTable_attributeReader
- type LocalVariableTableEntry = LocalVariable
- Definition Classes
- LocalVariableTable_attributeBinding → LocalVariableTable_attributeReader
- type LocalVariableTable_attribute = LocalVariableTable
- Definition Classes
- LocalVariableTable_attributeBinding → LocalVariableTable_attributeReader
- type LocalVariableTypeTableEntry = LocalVariableType
- Definition Classes
- LocalVariableTypeTable_attributeBinding → LocalVariableTypeTable_attributeReader
- type LocalVariableTypeTable_attribute = LocalVariableTypeTable
- Definition Classes
- LocalVariableTypeTable_attributeBinding → LocalVariableTypeTable_attributeReader
- type LocalVariableTypes = ArraySeq[LocalVariableTypeTableEntry]
- Definition Classes
- LocalVariableTypeTable_attributeReader
- type LocalVariables = ArraySeq[LocalVariableTableEntry]
- Definition Classes
- LocalVariableTable_attributeReader
- type LocalvarTable = ArraySeq[LocalvarTableEntry]
- Definition Classes
- TypeAnnotationTargetReader
- type LocalvarTableEntry = br.LocalvarTableEntry
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationTargetReader
- type LongValue = br.LongValue
- Definition Classes
- AnnotationsBinding
- type LongVariableInfo = br.VerificationTypeInfo
- Definition Classes
- StackMapTable_attributeBinding
- type MethodParameter = br.MethodParameter
- Definition Classes
- MethodParameters_attributeBinding → MethodParameters_attributeReader
- type MethodParameters = ArraySeq[MethodParameter]
- Definition Classes
- MethodParameters_attributeReader
- type MethodParameters_attribute = MethodParameterTable
- Definition Classes
- MethodParameters_attributeBinding → MethodParameters_attributeReader
- type Method_Info = Method
- Definition Classes
- MethodsBinding → MethodsReader
- type Methods = ArraySeq[Method_Info]
- Definition Classes
- MethodsReader
- type ModuleMainClass_attribute = ModuleMainClass
- Definition Classes
- ModuleMainClass_attributeBinding → ModuleMainClass_attributeReader
- type ModulePackages_attribute = ModulePackages
- Definition Classes
- ModulePackages_attributeBinding → ModulePackages_attributeReader
- type Module_attribute = Module
- Definition Classes
- Module_attributeBinding → Module_attributeReader
- type NestHost_attribute = NestHost
- Definition Classes
- NestHost_attributeBinding → NestHost_attributeReader
- type NestMembers_attribute = NestMembers
- Definition Classes
- NestMembers_attributeBinding → NestMembers_attributeReader
- type NullVariableInfo = br.VerificationTypeInfo
- Definition Classes
- StackMapTable_attributeBinding
- type ObjectVariableInfo = br.ObjectVariableInfo
- Definition Classes
- StackMapTable_attributeBinding
- type Opens = ArraySeq[OpensEntry]
- Definition Classes
- Module_attributeReader
- type OpensEntry = br.Opens
- Definition Classes
- Module_attributeBinding → Module_attributeReader
- type OpensToIndexEntry = String
- Definition Classes
- Module_attributeBinding
- type OpensToIndexTable = Array[Constant_Pool_Index]
- Definition Classes
- Module_attributeReader
- type PackageIndexTable = Array[Constant_Pool_Index]
- Definition Classes
- ModulePackages_attributeReader
- type ParameterAnnotations = ArraySeq[Annotation]
- Definition Classes
- ParametersAnnotationsReader
- type ParametersAnnotations = ArraySeq[ParameterAnnotations]
- Definition Classes
- ParametersAnnotationsReader
- type PermittedSubclassesArray = Array[Constant_Pool_Index]
- Definition Classes
- PermittedSubclasses_attributeReader
- type PermittedSubclasses_attribute = PermittedSubclasses
- Definition Classes
- PermittedSubclasses_attributeBinding → PermittedSubclasses_attributeReader
- type Provides = ArraySeq[ProvidesEntry]
- Definition Classes
- Module_attributeReader
- type ProvidesEntry = br.Provides
- Definition Classes
- Module_attributeBinding → Module_attributeReader
- type ProvidesWithIndexEntry = ObjectType
- Definition Classes
- Module_attributeBinding
- type ProvidesWithIndexTable = Array[Constant_Pool_Index]
- Definition Classes
- Module_attributeReader
- type RecordComponent = br.RecordComponent
- Definition Classes
- Record_attributeBinding → Record_attributeReader
- type RecordComponents = ArraySeq[RecordComponent]
- Definition Classes
- Record_attributeReader
- type Record_attribute = Record
- Definition Classes
- Record_attributeBinding → Record_attributeReader
- type Requires = ArraySeq[RequiresEntry]
- Definition Classes
- Module_attributeReader
- type RequiresEntry = br.Requires
- Definition Classes
- Module_attributeBinding → Module_attributeReader
- type RuntimeInvisibleAnnotations_attribute = RuntimeInvisibleAnnotationTable
- Definition Classes
- AnnotationAttributesBinding → RuntimeInvisibleAnnotations_attributeReader
- type RuntimeInvisibleParameterAnnotations_attribute = RuntimeInvisibleParameterAnnotationTable
- Definition Classes
- AnnotationAttributesBinding → RuntimeInvisibleParameterAnnotations_attributeReader
- type RuntimeInvisibleTypeAnnotations_attribute = RuntimeInvisibleTypeAnnotationTable
- Definition Classes
- TypeAnnotationAttributesBinding → RuntimeInvisibleTypeAnnotations_attributeReader
- type RuntimeVisibleAnnotations_attribute = RuntimeVisibleAnnotationTable
- Definition Classes
- AnnotationAttributesBinding → RuntimeVisibleAnnotations_attributeReader
- type RuntimeVisibleParameterAnnotations_attribute = RuntimeVisibleParameterAnnotationTable
- Definition Classes
- AnnotationAttributesBinding → RuntimeVisibleParameterAnnotations_attributeReader
- type RuntimeVisibleTypeAnnotations_attribute = RuntimeVisibleTypeAnnotationTable
- Definition Classes
- TypeAnnotationAttributesBinding → RuntimeVisibleTypeAnnotations_attributeReader
- type SameFrame = br.SameFrame
- Definition Classes
- StackMapTable_attributeBinding
- type SameFrameExtended = br.SameFrameExtended
- Definition Classes
- StackMapTable_attributeBinding
- type SameLocals1StackItemFrame = br.SameLocals1StackItemFrame
- Definition Classes
- StackMapTable_attributeBinding
- type SameLocals1StackItemFrameExtended = br.SameLocals1StackItemFrameExtended
- Definition Classes
- StackMapTable_attributeBinding
- type ShortValue = br.ShortValue
- Definition Classes
- AnnotationsBinding
- type Signature_attribute = Signature
- Definition Classes
- Signature_attributeBinding → Signature_attributeReader
- type SourceDebugExtension_attribute = SourceDebugExtension
- Definition Classes
- SourceDebugExtension_attributeBinding → SourceDebugExtension_attributeReader
- type SourceFile_attribute = SourceFile
- Definition Classes
- SourceFile_attributeBinding → SourceFile_attributeReader
- type StackMapFrame = br.StackMapFrame
- Definition Classes
- StackMapTable_attributeBinding → StackMapFrameReader → StackMapTable_attributeReader
- type StackMapFrames = ArraySeq[StackMapFrame]
- Definition Classes
- StackMapTable_attributeReader
- type StackMapTable_attribute = StackMapTable
- Definition Classes
- StackMapTable_attributeBinding → StackMapTable_attributeReader
- type Synthetic_attribute = br.Attribute
- Definition Classes
- Synthetic_attributeBinding → Synthetic_attributeReader
- type TopVariableInfo = br.VerificationTypeInfo
- Definition Classes
- StackMapTable_attributeBinding
- type TypeAnnotation = br.TypeAnnotation
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationsReader
- type TypeAnnotationPath = br.TypeAnnotationPath
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationPathReader → TypeAnnotationsReader
- type TypeAnnotationPathElement = br.TypeAnnotationPathElement
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationPathReader
- type TypeAnnotationPathElementsTable = ArraySeq[TypeAnnotationPathElement]
- Definition Classes
- TypeAnnotationPathReader
- type TypeAnnotationTarget = br.TypeAnnotationTarget
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationTargetReader → TypeAnnotationsReader
- type TypeAnnotations = ArraySeq[TypeAnnotation]
- Definition Classes
- TypeAnnotationsReader
- type UninitializedThisVariableInfo = br.VerificationTypeInfo
- Definition Classes
- StackMapTable_attributeBinding
- type UninitializedVariableInfo = br.UninitializedVariableInfo
- Definition Classes
- StackMapTable_attributeBinding
- type Unknown_attribute = Null
- Definition Classes
- SkipUnknown_attributeReader → Unknown_attributeAbstractions
- type Uses = Array[Constant_Pool_Index]
- Definition Classes
- Module_attributeReader
- type UsesEntry = ObjectType
- Definition Classes
- Module_attributeBinding
- type VerificationTypeInfo = br.VerificationTypeInfo
- Definition Classes
- StackMapTable_attributeBinding → VerificationTypeInfoReader → StackMapFrameReader
- type VerificationTypeInfoLocals = ArraySeq[VerificationTypeInfo]
- Definition Classes
- StackMapFrameReader
- type VerificationTypeInfoStack = ArraySeq[VerificationTypeInfo]
- Definition Classes
- StackMapFrameReader
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 AllClassFiles(files: Iterable[File], exceptionHandler: bi.reader.ClassFileReader.ExceptionHandler = defaultExceptionHandler): Iterable[(ClassFile, URL)]
- Definition Classes
- ClassFileReader
- def Annotation(cp: Constant_Pool, type_index: Constant_Pool_Index, element_value_pairs: ElementValuePairs): Annotation
- Definition Classes
- AnnotationsBinding → AnnotationsAbstractions
- def Annotation(cp: Constant_Pool, in: DataInputStream): Annotation
- Definition Classes
- AnnotationsAbstractions
- 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
- Definition Classes
- AnnotationAttributesBinding → AnnotationDefault_attributeReader
- def AnnotationValue(cp: Constant_Pool, annotation: Annotation): ElementValue
- Definition Classes
- AnnotationsBinding → ElementValuePairsReader
- 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
- def AppendFrame(frame_type: Int, offset_delta: Int, verification_type_info_locals: VerificationTypeInfoLocals): StackMapFrame
- Definition Classes
- StackMapTable_attributeBinding → StackMapFrameReader
- def ArrayValue(cp: Constant_Pool, values: ElementValues): ElementValue
- Definition Classes
- AnnotationsBinding → ElementValuePairsReader
- 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
- 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
- def BooleanValue(cp: Constant_Pool, const_value_index: Constant_Pool_Index): ElementValue
- Definition Classes
- AnnotationsBinding → ElementValuePairsReader
- def BootstrapArgument(cp: Constant_Pool, constantPoolIndex: Int): BootstrapArgument
- Definition Classes
- BootstrapMethods_attributeBinding → BootstrapMethods_attributeReader
- def BootstrapArgument(cp: Constant_Pool, in: DataInputStream): BootstrapArgument
- Definition Classes
- BootstrapMethods_attributeReader
- def BootstrapMethod(cp: Constant_Pool, bootstrapMethodRef: Int, bootstrapArguments: BootstrapArguments): BootstrapMethod
- Definition Classes
- BootstrapMethods_attributeBinding → BootstrapMethods_attributeReader
- def BootstrapMethod(cp: Constant_Pool, in: DataInputStream): BootstrapMethod
- Definition Classes
- BootstrapMethods_attributeReader
- def BootstrapMethods_attribute(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attributeNameIndex: Int, bootstrapMethods: BootstrapMethods): BootstrapMethods_attribute
- Definition Classes
- BootstrapMethods_attributeBinding → BootstrapMethods_attributeReader
- def ByteValue(cp: Constant_Pool, const_value_index: Constant_Pool_Index): ElementValue
- Definition Classes
- AnnotationsBinding → ElementValuePairsReader
- def CONSTANT_Class_info(i: Int): CONSTANT_Class_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- def CONSTANT_Double_info(d: Double): CONSTANT_Double_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- def CONSTANT_Dynamic_info(bootstrap_method_attr_index: Constant_Pool_Index, name_and_type_index: Constant_Pool_Index): CONSTANT_Dynamic_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- def CONSTANT_Fieldref_info(class_index: Constant_Pool_Index, name_and_type_index: Constant_Pool_Index): CONSTANT_Fieldref_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- def CONSTANT_Float_info(f: Float): CONSTANT_Float_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- def CONSTANT_Integer_info(i: Int): CONSTANT_Integer_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- def CONSTANT_InterfaceMethodref_info(class_index: Constant_Pool_Index, name_and_type_index: Constant_Pool_Index): CONSTANT_InterfaceMethodref_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- def CONSTANT_InvokeDynamic_info(bootstrap_method_attr_index: Constant_Pool_Index, name_and_type_index: Constant_Pool_Index): CONSTANT_InvokeDynamic_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- def CONSTANT_Long_info(l: Long): CONSTANT_Long_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- def CONSTANT_MethodHandle_info(reference_kind: Int, reference_index: Int): CONSTANT_MethodHandle_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- def CONSTANT_MethodType_info(descriptor_index: Constant_Pool_Index): CONSTANT_MethodType_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- def CONSTANT_Methodref_info(class_index: Constant_Pool_Index, name_and_type_index: Constant_Pool_Index): CONSTANT_Methodref_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- def CONSTANT_Module_info(name_index: Constant_Pool_Index): CONSTANT_Module_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- def CONSTANT_NameAndType_info(name_index: Constant_Pool_Index, descriptor_index: Constant_Pool_Index): CONSTANT_NameAndType_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- def CONSTANT_Package_info(name_index: Constant_Pool_Index): CONSTANT_Package_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- def CONSTANT_String_info(i: Int): CONSTANT_String_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- def CONSTANT_Utf8_info(r: Array[Byte], s: String): CONSTANT_Utf8_info
- Definition Classes
- ConstantPoolBinding → Constant_PoolReader
- def CastExpression(offset: Int, type_argument_index: Int): TAOfCastExpression
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationTargetReader
- def Catch(exception_table_index: Int): TAOfCatch
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationTargetReader
- def CharValue(cp: Constant_Pool, const_value_index: Constant_Pool_Index): ElementValue
- Definition Classes
- AnnotationsBinding → ElementValuePairsReader
- def ChopFrame(frame_type: Int, offset_delta: Int): ChopFrame
- Definition Classes
- StackMapTable_attributeBinding → StackMapFrameReader
- 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 anyClassFile
s 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 anyClassFile
s 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 manyClassFile
s the result contains, theClassFile
created from this method's parameters will always be the result's first element.- Definition Classes
- ClassFileBinding → ClassFileReader
- 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")
- 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")
- def ClassFile(jarFile: ZipFile, jarEntry: ZipEntry): List[ClassFile]
- Attributes
- protected[this]
- Definition Classes
- ClassFileReader
- 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 returnnull
. 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 callingcreate
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
- 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
- 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
- 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
- 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
- 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
- def ClassValue(cp: Constant_Pool, const_value_index: Constant_Pool_Index): ElementValue
- Definition Classes
- AnnotationsBinding → ElementValuePairsReader
- 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
- Definition Classes
- CodeAttributeBinding → Code_attributeReader
- 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
- Definition Classes
- ConstantValue_attributeBinding → ConstantValue_attributeReader
- def Constant_Pool(in: DataInputStream): Constant_Pool
- Definition Classes
- Constant_PoolReader
- def ConstructorInMethodReferenceExpression(offset: Int, type_argument_index: Int): TAOfConstructorInMethodReferenceExpression
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationTargetReader
- def ConstructorInvocation(offset: Int, type_argument_index: Int): TAOfConstructorInvocation
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationTargetReader
- 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
- Definition Classes
- Deprecated_attributeBinding → Deprecated_attributeReader
- def DoubleValue(cp: Constant_Pool, const_value_index: Constant_Pool_Index): ElementValue
- Definition Classes
- AnnotationsBinding → ElementValuePairsReader
- def DoubleVariableInfo(): br.DoubleVariableInfo.type
- Definition Classes
- StackMapTable_attributeBinding → VerificationTypeInfoReader
- 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
- def ElementValuePair(cp: Constant_Pool, element_name_index: Constant_Pool_Index, element_value: ElementValue): ElementValuePair
- Definition Classes
- AnnotationsBinding → ElementValuePairsReader
- def ElementValuePair(cp: Constant_Pool, in: DataInputStream): ElementValuePair
- Definition Classes
- ElementValuePairsReader
- def ElementValuePairs(cp: Constant_Pool, in: DataInputStream): ElementValuePairs
- Definition Classes
- ElementValuePairsReader → AnnotationsAbstractions
- 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
- Definition Classes
- EnclosingMethod_attributeBinding → EnclosingMethod_attributeReader
- def EnumValue(cp: Constant_Pool, type_name_index: Constant_Pool_Index, const_name_index: Constant_Pool_Index): ElementValue
- Definition Classes
- AnnotationsBinding → ElementValuePairsReader
- def ExceptionTableEntry(cp: Constant_Pool, start_pc: Int, end_pc: Int, handler_pc: Int, catch_type_index: Constant_Pool_Index): ExceptionTableEntry
- Definition Classes
- CodeAttributeBinding → Code_attributeReader
- 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
- Definition Classes
- Exceptions_attributeBinding → Exceptions_attributeReader
- def ExportsEntry(cp: Constant_Pool, exports_index: Constant_Pool_Index, exports_flags: Int, exports_to_index_table: ExportsToIndexTable): ExportsEntry
- Definition Classes
- Module_attributeBinding → Module_attributeReader
- def FieldDeclaration: TAOfFieldDeclaration.type
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationTargetReader
- 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
- FieldsBinding → FieldsReader
- def Fields(cp: Constant_Pool, in: DataInputStream): Fields
- Definition Classes
- FieldsReader
- def FloatValue(cp: Constant_Pool, const_value_index: Constant_Pool_Index): ElementValue
- Definition Classes
- AnnotationsBinding → ElementValuePairsReader
- def FloatVariableInfo(): br.FloatVariableInfo.type
- Definition Classes
- StackMapTable_attributeBinding → VerificationTypeInfoReader
- def FormalParameter(formal_parameter_index: Int): TAOfFormalParameter
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationTargetReader
- def FullFrame(frame_type: Int, offset_delta: Int, verification_type_info_locals: VerificationTypeInfoLocals, verification_type_info_stack: VerificationTypeInfoStack): StackMapFrame
- Definition Classes
- StackMapTable_attributeBinding → StackMapFrameReader
- 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
- Definition Classes
- InnerClasses_attributeBinding → InnerClasses_attributeReader
- 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
- Definition Classes
- InnerClasses_attributeBinding → InnerClasses_attributeReader
- def InstanceOf(offset: Int): TAOfInstanceOf
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationTargetReader
- def Instructions(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, in: DataInputStream): Instructions
- Definition Classes
- CodeReader
- 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
- CachedBytecodeReaderAndBinding → InstructionsDeserializer
- def IntValue(cp: Constant_Pool, const_value_index: Constant_Pool_Index): ElementValue
- Definition Classes
- AnnotationsBinding → ElementValuePairsReader
- def IntegerVariableInfo(): br.IntegerVariableInfo.type
- Definition Classes
- StackMapTable_attributeBinding → VerificationTypeInfoReader
- 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
- 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
- Definition Classes
- CompactLineNumberTable_attributeBinding → CompactLineNumberTable_attributeReader
- def LocalVariableTableEntry(cp: Constant_Pool, start_pc: Int, length: Int, name_index: Constant_Pool_Index, descriptor_index: Constant_Pool_Index, index: Int): LocalVariable
- Definition Classes
- LocalVariableTable_attributeBinding → LocalVariableTable_attributeReader
- 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
- Definition Classes
- LocalVariableTable_attributeBinding → LocalVariableTable_attributeReader
- def LocalVariableTypeTableEntry(cp: Constant_Pool, start_pc: Int, length: Int, name_index: Constant_Pool_Index, signature_index: Constant_Pool_Index, index: Int): LocalVariableType
- Definition Classes
- LocalVariableTypeTable_attributeBinding → LocalVariableTypeTable_attributeReader
- 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
- Definition Classes
- LocalVariableTypeTable_attributeBinding → LocalVariableTypeTable_attributeReader
- def LocalvarDecl(localVarTable: LocalvarTable): TAOfLocalvarDecl
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationTargetReader
- def LocalvarTable(in: DataInputStream): LocalvarTable
- Definition Classes
- TypeAnnotationTargetReader
- 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
- TypeAnnotationsBinding → TypeAnnotationTargetReader
- final val LogControlFlowSimplifications: Boolean
- Definition Classes
- BytecodeOptimizer
- def LongValue(cp: Constant_Pool, const_value_index: Constant_Pool_Index): ElementValue
- Definition Classes
- AnnotationsBinding → ElementValuePairsReader
- def LongVariableInfo(): br.LongVariableInfo.type
- Definition Classes
- StackMapTable_attributeBinding → VerificationTypeInfoReader
- def MethodInMethodReferenceExpression(offset: Int, type_argument_index: Int): TAOfMethodInMethodReferenceExpression
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationTargetReader
- def MethodInvocation(offset: Int, type_argument_index: Int): TAOfMethodInvocation
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationTargetReader
- def MethodParameter(cp: Constant_Pool, name_index: Constant_Pool_Index, access_flags: Int): MethodParameter
- Definition Classes
- MethodParameters_attributeBinding → MethodParameters_attributeReader
- 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
- Definition Classes
- MethodParameters_attributeBinding → MethodParameters_attributeReader
- def MethodReferenceExpressionIdentifier(offset: Int): TAOfMethodReferenceExpressionIdentifier
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationTargetReader
- def MethodReferenceExpressionNew(offset: Int): TAOfMethodReferenceExpressionNew
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationTargetReader
- def Method_Info(cp: Constant_Pool, accessFlags: Int, name_index: Int, descriptor_index: Int, attributes: Attributes): Method_Info
- Definition Classes
- BytecodeOptimizer → MethodsBinding → MethodsReader
- def Methods(cp: Constant_Pool, in: DataInputStream): Methods
- Definition Classes
- MethodsReader
- 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_attributeBinding → ModuleMainClass_attributeReader
- 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
- Definition Classes
- ModulePackages_attributeBinding → ModulePackages_attributeReader
- 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_attributeBinding → Module_attributeReader
- def NestHost_attribute(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attribute_name_index: Constant_Pool_Index, host_class_index: Constant_Pool_Index): NestHost_attribute
- host_class_index
Reference to a CONSTANT_Class_info.
- Definition Classes
- NestHost_attributeBinding → NestHost_attributeReader
- def NestMembers_attribute(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attribute_name_index: Constant_Pool_Index, classes_array: ClassesArray): NestMembers_attribute
- Definition Classes
- NestMembers_attributeBinding → NestMembers_attributeReader
- def New(offset: Int): TAOfNew
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationTargetReader
- def NullVariableInfo(): br.NullVariableInfo.type
- Definition Classes
- StackMapTable_attributeBinding → VerificationTypeInfoReader
- 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_attributeBinding → VerificationTypeInfoReader
- def OpensEntry(cp: Constant_Pool, opens_index: Constant_Pool_Index, opens_flags: Int, opens_to_index_table: OpensToIndexTable): OpensEntry
- Definition Classes
- Module_attributeBinding → Module_attributeReader
- def ParameterDeclarationOfClassOrInterface(type_parameter_index: Int): TAOfParameterDeclarationOfClassOrInterface
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationTargetReader
- def ParameterDeclarationOfMethodOrConstructor(type_parameter_index: Int): TAOfParameterDeclarationOfMethodOrConstructor
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationTargetReader
- def ParametersAnnotations(cp: Constant_Pool, in: DataInputStream): ParametersAnnotations
- Definition Classes
- ParametersAnnotationsReader
- final val PerformControlFlowSimplifications: Boolean
- Definition Classes
- BytecodeOptimizer
- def PermittedSubclasses_attribute(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attribute_name_index: Constant_Pool_Index, classes: PermittedSubclassesArray): PermittedSubclasses_attribute
- Definition Classes
- PermittedSubclasses_attributeBinding → PermittedSubclasses_attributeReader
- def ProvidesEntry(cp: Constant_Pool, provides_index: Constant_Pool_Index, provides_with_index_table: ProvidesWithIndexTable): ProvidesEntry
- Definition Classes
- Module_attributeBinding → Module_attributeReader
- def ReceiverType: TAOfReceiverType.type
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationTargetReader
- def RecordComponent(cp: Constant_Pool, name_index: Constant_Pool_Index, descriptor_index: Constant_Pool_Index, attributes: Attributes): RecordComponent
- Definition Classes
- Record_attributeBinding → Record_attributeReader
- def Record_attribute(cp: Constant_Pool, ap_name_index: Constant_Pool_Index, ap_descriptor_index: Constant_Pool_Index, attribute_name_index: Constant_Pool_Index, components: RecordComponents): Record_attribute
- Definition Classes
- Record_attributeBinding → Record_attributeReader
- def RequiresEntry(cp: Constant_Pool, requires_index: Constant_Pool_Index, requires_flags: Int, require_version_index: Constant_Pool_Index): RequiresEntry
- Definition Classes
- Module_attributeBinding → Module_attributeReader
- def ResourcevarDecl(localVarTable: LocalvarTable): TAOfResourcevarDecl
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationTargetReader
- def ReturnType: TAOfReturnType.type
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationTargetReader
- 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
- Definition Classes
- AnnotationAttributesBinding → RuntimeInvisibleAnnotations_attributeReader
- 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
- AnnotationAttributesBinding → RuntimeInvisibleParameterAnnotations_attributeReader
- 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
- Attributes
- protected
- Definition Classes
- TypeAnnotationAttributesBinding → RuntimeInvisibleTypeAnnotations_attributeReader
- 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
- Definition Classes
- AnnotationAttributesBinding → RuntimeVisibleAnnotations_attributeReader
- 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
- Definition Classes
- AnnotationAttributesBinding → RuntimeVisibleParameterAnnotations_attributeReader
- 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
- Definition Classes
- TypeAnnotationAttributesBinding → RuntimeVisibleTypeAnnotations_attributeReader
- def SameFrame(frame_type: Int): StackMapFrame
- Definition Classes
- StackMapTable_attributeBinding → StackMapFrameReader
- def SameFrameExtended(frame_type: Int, offset_delta: Int): StackMapFrame
- Definition Classes
- StackMapTable_attributeBinding → StackMapFrameReader
- def SameLocals1StackItemFrame(frame_type: Int, verification_type_info_stack: VerificationTypeInfo): StackMapFrame
- Definition Classes
- StackMapTable_attributeBinding → StackMapFrameReader
- def SameLocals1StackItemFrameExtended(frame_type: Int, offset_delta: Int, verification_type_info_stack: VerificationTypeInfo): StackMapFrame
- Definition Classes
- StackMapTable_attributeBinding → StackMapFrameReader
- val ScalaRuntimeObject: ObjectType
- Definition Classes
- InvokedynamicRewriting
- def ShortValue(cp: Constant_Pool, const_value_index: Constant_Pool_Index): ElementValue
- Definition Classes
- AnnotationsBinding → ElementValuePairsReader
- 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_attributeBinding → Signature_attributeReader
- 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
- Definition Classes
- SourceDebugExtension_attributeBinding → SourceDebugExtension_attributeReader
- 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
- Definition Classes
- SourceFile_attributeBinding → SourceFile_attributeReader
- def StackMapFrame(cp: Constant_Pool, in: DataInputStream): StackMapFrame
- Definition Classes
- StackMapFrameReader
- 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
- Definition Classes
- StackMapTable_attributeBinding → StackMapTable_attributeReader
- def StringValue(cp: Constant_Pool, const_value_index: Constant_Pool_Index): ElementValue
- Definition Classes
- AnnotationsBinding → ElementValuePairsReader
- def SupertypeTarget(supertype_index: Int): TAOfSupertype
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationTargetReader
- 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
- Definition Classes
- Synthetic_attributeBinding → Synthetic_attributeReader
- def Throws(throws_type_index: Int): TAOfThrows
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationTargetReader
- def TopVariableInfo(): br.TopVariableInfo.type
- Definition Classes
- StackMapTable_attributeBinding → VerificationTypeInfoReader
- def TypeAnnotation(cp: Constant_Pool, target: TypeAnnotationTarget, path: TypeAnnotationPath, type_index: Constant_Pool_Index, element_value_pairs: ElementValuePairs): TypeAnnotation
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationsReader
- def TypeAnnotation(cp: Constant_Pool, in: DataInputStream): TypeAnnotation
- Definition Classes
- TypeAnnotationsReader
- def TypeAnnotationDeeperInArrayType: TADeeperInArrayType.type
The
type_path_kind
was0
(and the type_argument_index was also0
).The
type_path_kind
was0
(and the type_argument_index was also0
).- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationPathReader
- def TypeAnnotationDeeperInNestedType: TADeeperInNestedType.type
The
type_path_kind
was1
(and the type_argument_index was (as defined by the specification) also0
).The
type_path_kind
was1
(and the type_argument_index was (as defined by the specification) also0
).- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationPathReader
- def TypeAnnotationDirectlyOnType: TADirectlyOnType.type
The path's length was
0
.The path's length was
0
.- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationPathReader
- def TypeAnnotationOnBoundOfWildcardType: TAOnBoundOfWildcardType.type
The
type_path_kind
was2
(and the type_argument_index was (as defined by the specification) also0
).The
type_path_kind
was2
(and the type_argument_index was (as defined by the specification) also0
).- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationPathReader
- def TypeAnnotationOnTypeArgument(type_argument_index: Int): TAOnTypeArgument
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationPathReader
- def TypeAnnotationPath(path: ArraySeq[TypeAnnotationPathElement]): TAOnNestedType
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationPathReader
- def TypeAnnotationPath(in: DataInputStream): TypeAnnotationPath
- Definition Classes
- TypeAnnotationPathReader
- 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
- 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
- def TypeBoundOfParameterDeclarationOfClassOrInterface(type_parameter_index: Int, bound_index: Int): TAOfTypeBoundOfParameterDeclarationOfClassOrInterface
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationTargetReader
- def TypeBoundOfParameterDeclarationOfMethodOrConstructor(type_parameter_index: Int, bound_index: Int): TAOfTypeBoundOfParameterDeclarationOfMethodOrConstructor
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationTargetReader
- def UninitializedThisVariableInfo(): br.UninitializedThisVariableInfo.type
- Definition Classes
- StackMapTable_attributeBinding → VerificationTypeInfoReader
- 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_attributeBinding → VerificationTypeInfoReader
- 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
- Definition Classes
- SkipUnknown_attributeReader → Unknown_attributeAbstractions
- def VerificationTypeInfo(cp: Constant_Pool, in: DataInputStream): VerificationTypeInfo
- Definition Classes
- VerificationTypeInfoReader
- implicit val annotationType: ClassTag[Annotation]
- Definition Classes
- AnnotationsBinding → AnnotationsAbstractions
- 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_PoolReader → Constant_PoolAbstractions
- final def asInstanceOf[T0]: T0
- Definition Classes
- Any
- implicit val attributeType: ClassTag[Attribute]
- Definition Classes
- AttributeBinding → AttributesAbstractions
- implicit val bootstrapArgumentType: ClassTag[BootstrapArgument]
- Definition Classes
- BootstrapMethods_attributeBinding → BootstrapMethods_attributeReader
- implicit val bootstrapMethodType: ClassTag[BootstrapMethod]
- Definition Classes
- BootstrapMethods_attributeBinding → BootstrapMethods_attributeReader
- val cache: BytecodeInstructionsCache
- Definition Classes
- Java8FrameworkWithCaching → CachedBytecodeReaderAndBinding
- def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
- 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
- implicit val constantPoolEntryType: ClassTag[cp.Constant_Pool_Entry]
- Definition Classes
- ConstantPoolBinding → Constant_PoolAbstractions
- implicit def cpIndexTocpEntry(index: Constant_Pool_Index)(implicit cp: Constant_Pool): Constant_Pool_Entry
- Definition Classes
- ConstantPoolBinding
- 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
- ConstantPoolBinding → Constant_PoolReader
- 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
- def defaultConfig: Config
- Definition Classes
- ClassFileReaderConfiguration
- final val defaultExceptionHandler: bi.reader.ClassFileReader.ExceptionHandler
- Definition Classes
- ClassFileReader
- def defaultLogContext: LogContext
- Definition Classes
- ClassFileReaderConfiguration
- def deferredDynamicConstantResolution(classFile: ClassFile, cp: Constant_Pool, methodNameIndex: Constant_Pool_Index, methodDescriptorIndex: 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.
- Definition Classes
- DynamicConstantRewriting → 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.
- 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
- InvokedynamicRewriting → DeferredInvokedynamicResolution
- 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.
- 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
.
- implicit val elementValuePairType: ClassTag[ElementValuePair]
- Definition Classes
- AnnotationsBinding → ElementValuePairsReader
- implicit val elementValueType: ClassTag[ElementValue]
- Definition Classes
- AnnotationsBinding → ElementValuePairsReader
- final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- def equals(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef → Any
- implicit val exceptionTableEntryType: ClassTag[ExceptionTableEntry]
- Definition Classes
- CodeAttributeBinding → Code_attributeReader
- implicit val exportsEntryType: ClassTag[ExportsEntry]
- Definition Classes
- Module_attributeBinding → Module_attributeReader
- 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...-
- 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
- implicit val fieldInfoType: ClassTag[Field_Info]
- Definition Classes
- FieldsBinding → FieldsReader
- 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
- final def getClass(): Class[_ <: AnyRef]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
- implicit val innerClassesEntryType: ClassTag[InnerClassesEntry]
- Definition Classes
- InnerClasses_attributeBinding → InnerClasses_attributeReader
- def isClassFileRepository(filename: String, containerName: Option[String]): Boolean
- Definition Classes
- ClassFileReader
- final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
- 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
- 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
- final def loadsInterfacesOnly: Boolean
If
true
method bodies are never loaded.If
true
method bodies are never loaded.- Definition Classes
- Java8FrameworkWithCaching → ClassFileReaderConfiguration
- implicit val localVariableTableEntryType: ClassTag[LocalVariableTableEntry]
- Definition Classes
- LocalVariableTable_attributeBinding → LocalVariableTable_attributeReader
- implicit val localVariableTypeTableEntryType: ClassTag[LocalVariableTypeTableEntry]
- Definition Classes
- LocalVariableTypeTable_attributeBinding → LocalVariableTypeTable_attributeReader
- implicit val localvarTableEntryType: ClassTag[LocalvarTableEntry]
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationTargetReader
- 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.
- val logLambdaExpressionsRewrites: Boolean
- Definition Classes
- InvokedynamicRewriting
- val logObjectMethodsRewrites: Boolean
- Definition Classes
- InvokedynamicRewriting
- val logRewrites: Boolean
- Definition Classes
- DynamicConstantRewriting
- val logStringConcatRewrites: Boolean
- Definition Classes
- InvokedynamicRewriting
- val logUnknownDynamicConstants: Boolean
- Definition Classes
- DynamicConstantRewriting
- val logUnknownInvokeDynamics: Boolean
- Definition Classes
- InvokedynamicRewriting
- val logUnresolvedDynamicConstants: Boolean
- Definition Classes
- DynamicConstantRewriting
- implicit val methodInfoType: ClassTag[Method_Info]
- Definition Classes
- MethodsBinding → MethodsReader
- implicit val methodParameterType: ClassTag[MethodParameter]
- Definition Classes
- MethodParameters_attributeBinding → MethodParameters_attributeReader
- final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
- 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
- final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
- implicit val opensEntryType: ClassTag[OpensEntry]
- Definition Classes
- Module_attributeBinding → Module_attributeReader
- def optimizeInstructions(exceptionsHandlers: br.ExceptionHandlers, instructions: Array[Instruction]): Boolean
- Definition Classes
- BytecodeOptimizer
- val performInvokedynamicRewriting: Boolean
- Definition Classes
- InvokedynamicRewriting
- val performRewriting: Boolean
- Definition Classes
- DynamicConstantRewriting
- 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
- implicit val providesEntryType: ClassTag[ProvidesEntry]
- Definition Classes
- Module_attributeBinding → Module_attributeReader
- implicit val recordComponentType: ClassTag[RecordComponent]
- Definition Classes
- Record_attributeBinding → Record_attributeReader
- 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
- 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.- Definition Classes
- AttributesReader
- 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.
- def registerDeferredAction(cp: Constant_Pool)(deferredAction: (ClassFile) => ClassFile): Unit
- Definition Classes
- Constant_PoolReader
- 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
- 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
- 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
- implicit val requiresEntryType: ClassTag[RequiresEntry]
- Definition Classes
- Module_attributeBinding → Module_attributeReader
- implicit val stackMapFrameType: ClassTag[StackMapFrame]
- Definition Classes
- StackMapTable_attributeBinding → StackMapFrameReader → StackMapTable_attributeReader
- def storeProxy(classFile: ClassFile, proxy: ClassFile, reason: Option[AnyRef]): ClassFile
- Definition Classes
- InvokedynamicRewriting
- final def synchronized[T0](arg0: => T0): T0
- Definition Classes
- AnyRef
- 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!
- def toString(): String
- Definition Classes
- AnyRef → Any
- implicit val typeAnnotationPathElementType: ClassTag[TypeAnnotationPathElement]
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationPathReader
- implicit val typeAnnotationType: ClassTag[TypeAnnotation]
- Definition Classes
- TypeAnnotationsBinding → TypeAnnotationsReader
- implicit val verificationTypeInfoType: ClassTag[VerificationTypeInfo]
- Definition Classes
- StackMapTable_attributeBinding → StackMapFrameReader
- 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