/* 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 */ trait TypeAnnotationPath { def attribute_length: Int def toXHTML(implicit cp: Constant_Pool): Node } case object TypeAnnotationDirectlyOnType extends TypeAnnotationPath { override final def attribute_length: Int = 1 def toXHTML(implicit cp: Constant_Pool): Node = {
Path DirectlyOnType
} } trait TypeAnnotationPathElement { def type_path_kind: Int def type_argument_index: Int def toXHTML(implicit cp: Constant_Pool): Node } case class TypeAnnotationPathElements( path: TypeAnnotationPathElementsTable ) extends TypeAnnotationPath { override final def attribute_length: Int = 1 + path.length * 2 def toXHTML(implicit cp: Constant_Pool): Node = { val path =
    {this.path.map(pe =>
  1. {pe.toXHTML}
  2. )}
// return node (this comment is a necessary technical artifact...)
Path{path}
} } /** * The `type_path_kind` was `0` (and the type_argument_index was also `0`). */ case object TypeAnnotationDeeperInArrayType extends TypeAnnotationPathElement { override final def type_path_kind: Int = 0 override final def type_argument_index: Int = 0 def toXHTML(implicit cp: Constant_Pool): Node = {
DeeperInArrayType
} } case object TypeAnnotationDeeperInNestedType extends TypeAnnotationPathElement { override final def type_path_kind: Int = 1 override final def type_argument_index: Int = 0 def toXHTML(implicit cp: Constant_Pool): Node = {
DeeperInNestedType
} } case object TypeAnnotationOnBoundOfWildcardType extends TypeAnnotationPathElement { override final def type_path_kind: Int = 2 override final def type_argument_index: Int = 0 def toXHTML(implicit cp: Constant_Pool): Node = {
OnBoundOfWildcardType
} } case class TypeAnnotationOnTypeArgument(type_argument_index: Int) extends TypeAnnotationPathElement { override final def type_path_kind: Int = 3 def toXHTML(implicit cp: Constant_Pool): Node = {
OnTypeArgument: {type_argument_index}
} }