/* BSD 2-Clause License - see OPAL/LICENSE for details. */ package org.opalj package da import scala.xml.Node import scala.xml.NodeSeq import scala.xml.Text import org.opalj.bi.ConstantPoolTag /** * @author Dominik Helm */ case class CONSTANT_Dynamic_info( bootstrap_method_attr_index: Int, name_and_type_index: Constant_Pool_Index ) extends Constant_Pool_Entry { override final def size: Int = 1 + 2 + 2 override def Constant_Type_Value: ConstantPoolTag = bi.ConstantPoolTags.CONSTANT_Dynamic override def asCPNode(implicit cp: Constant_Pool): Node = {
{this.getClass.getSimpleName} (
bootstrap_method_attr_index={bootstrap_method_attr_index}
name_and_type_index={name_and_type_index} « {cp(name_and_type_index).asCPNode} »
)
} override def asInstructionParameter(implicit cp: Constant_Pool): NodeSeq = { val ntiNode = cp(name_and_type_index).asInstructionParameter val paramsNode = Seq( ntiNode, Text(s" //Bootstrap Method Attribute[$bootstrap_method_attr_index]") ) {paramsNode} } override def toString(implicit cp: Constant_Pool): String = { "CONSTANT_Dynamic_info(" + s"$bootstrap_method_attr_index," + s"${cp(name_and_type_index).toString}/*$name_and_type_index */ " + ")" } }