
org.opalj.br.reader.StackMapTable_attributeBinding.scala Maven / Gradle / Ivy
The newest version!
/* BSD 2-Clause License - see OPAL/LICENSE for details. */
package org.opalj
package br
package reader
import org.opalj.bi.reader.StackMapTable_attributeReader
import org.opalj.bi.reader.StackMapFrameReader
import org.opalj.bi.reader.VerificationTypeInfoReader
import scala.reflect.ClassTag
/**
* Provides the factory methods to create a stack map table attribute and
* its entries.
*
* @author Michael Eichberg
*/
trait StackMapTable_attributeBinding
extends StackMapTable_attributeReader
with StackMapFrameReader
with VerificationTypeInfoReader
with ConstantPoolBinding
with AttributeBinding {
type VerificationTypeInfo = br.VerificationTypeInfo
override implicit val verificationTypeInfoType: ClassTag[VerificationTypeInfo] = ClassTag(classOf[br.VerificationTypeInfo])
type StackMapTable_attribute = br.StackMapTable
type StackMapFrame = br.StackMapFrame
override implicit val stackMapFrameType: ClassTag[StackMapFrame] = ClassTag(classOf[br.StackMapFrame])
type FullFrame = br.FullFrame
type SameFrame = br.SameFrame
type AppendFrame = br.AppendFrame
type SameFrameExtended = br.SameFrameExtended
type ChopFrame = br.ChopFrame
type SameLocals1StackItemFrame = br.SameLocals1StackItemFrame
type SameLocals1StackItemFrameExtended = br.SameLocals1StackItemFrameExtended
type ObjectVariableInfo = br.ObjectVariableInfo
type UninitializedVariableInfo = br.UninitializedVariableInfo
type TopVariableInfo = br.VerificationTypeInfo
type IntegerVariableInfo = br.VerificationTypeInfo
type FloatVariableInfo = br.VerificationTypeInfo
type LongVariableInfo = br.VerificationTypeInfo
type DoubleVariableInfo = br.VerificationTypeInfo
type NullVariableInfo = br.VerificationTypeInfo
type UninitializedThisVariableInfo = br.VerificationTypeInfo
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 = StackMapTable(stack_map_frames)
def SameFrame(frame_type: Int): StackMapFrame = br.SameFrame(frame_type)
def SameLocals1StackItemFrame(
frame_type: Int,
verification_type_info_stack: VerificationTypeInfo
): StackMapFrame = br.SameLocals1StackItemFrame(frame_type, verification_type_info_stack)
def SameLocals1StackItemFrameExtended(
frame_type: Int,
offset_delta: Int,
verification_type_info_stack: VerificationTypeInfo
): StackMapFrame =
br.SameLocals1StackItemFrameExtended(offset_delta, verification_type_info_stack)
def ChopFrame(
frame_type: Int,
offset_delta: Int
): ChopFrame = br.ChopFrame(frame_type, offset_delta)
def SameFrameExtended(
frame_type: Int,
offset_delta: Int
): StackMapFrame = br.SameFrameExtended(offset_delta)
def AppendFrame(
frame_type: Int,
offset_delta: Int,
verification_type_info_locals: VerificationTypeInfoLocals
): StackMapFrame = br.AppendFrame(frame_type, offset_delta, verification_type_info_locals)
def FullFrame(
frame_type: Int,
offset_delta: Int,
verification_type_info_locals: VerificationTypeInfoLocals,
verification_type_info_stack: VerificationTypeInfoStack
): StackMapFrame = {
br.FullFrame(offset_delta, verification_type_info_locals, verification_type_info_stack)
}
def TopVariableInfo(): br.TopVariableInfo.type = br.TopVariableInfo
def IntegerVariableInfo(): br.IntegerVariableInfo.type = br.IntegerVariableInfo
def FloatVariableInfo(): br.FloatVariableInfo.type = br.FloatVariableInfo
def LongVariableInfo(): br.LongVariableInfo.type = br.LongVariableInfo
def DoubleVariableInfo(): br.DoubleVariableInfo.type = br.DoubleVariableInfo
def NullVariableInfo(): br.NullVariableInfo.type = br.NullVariableInfo
def UninitializedThisVariableInfo(): br.UninitializedThisVariableInfo.type = {
br.UninitializedThisVariableInfo
}
def UninitializedVariableInfo(offset: Int) = new UninitializedVariableInfo(offset)
def ObjectVariableInfo(
cp: Constant_Pool,
type_index: Constant_Pool_Index
): ObjectVariableInfo = {
new ObjectVariableInfo(cp(type_index).asReferenceType(cp))
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy