All Downloads are FREE. Search and download functionalities are using the official Maven repository.

org.opalj.br.cp.CONSTANT_Class_info.scala Maven / Gradle / Ivy

The newest version!
/* BSD 2-Clause License - see OPAL/LICENSE for details. */
package org.opalj
package br
package cp

import org.opalj.bi.ConstantPoolTags

/**
 * Represents a class or an interface.
 *
 * @author Michael Eichberg
 * @author Andre Pacak
 */
case class CONSTANT_Class_info(name_index: Constant_Pool_Index) extends Constant_Pool_Entry {

    override def tag: Int = ConstantPoolTags.CONSTANT_Class_ID

    override def asObjectType(cp: Constant_Pool): ObjectType = ObjectType(cp(name_index).asString)

    override def asReferenceType(cp: Constant_Pool): ReferenceType = {
        ReferenceType(cp(name_index).asString)
    }

    override def asConstantValue(cp: Constant_Pool): ConstantClass = {
        ConstantClass(asReferenceType(cp))
    }

    override def asBootstrapArgument(cp: Constant_Pool): BootstrapArgument = asConstantValue(cp)

}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy