
org.opalj.da.StackMapTable_attribute.scala Maven / Gradle / Ivy
The newest version!
/* BSD 2-Clause License - see OPAL/LICENSE for details. */
package org.opalj
package da
import scala.xml.Node
/**
* @author Michael Eichberg
* @author Wael Alkhatib
* @author Isbel Isbel
* @author Noorulla Sharief
* @author Andre Pacak
*/
case class StackMapTable_attribute(
attribute_name_index: Constant_Pool_Index,
stack_map_frames: StackMapFrames
) extends Attribute {
final override def attribute_length: Int = {
stack_map_frames.foldLeft(2 /*count*/ )((c, n) => c + n.attribute_length)
}
override def toXHTML(implicit cp: Constant_Pool): Node = {
StackMapTable [size: { stack_map_frames.length } item(s)]
{ stack_map_framestoXHTML(cp) }
}
def stack_map_framestoXHTML(implicit cp: Constant_Pool): Node = {
var offset: Int = -1
val framesAsXHTML =
for (stack_map_frame <- stack_map_frames) yield {
val (frameAsXHTML, newOffset) = stack_map_frame.toXHTML(cp, offset)
offset = newOffset
frameAsXHTML
}
PC Kind Frame Type Offset Delta Details
{ framesAsXHTML }
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy