/* 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 } { framesAsXHTML }
PCKindFrame TypeOffset DeltaDetails
} }