Packages

c

org.opalj.br

ConstantFieldValue

sealed abstract class ConstantFieldValue[T] extends Attribute with ConstantValue[T] with KnownTypedValue

A representation of the constant value of a field.

Source
ConstantFieldValue.scala
Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. ConstantFieldValue
  2. KnownTypedValue
  3. KnownValue
  4. ValueInformation
  5. ConstantValue
  6. BootstrapArgument
  7. Attribute
  8. AnyRef
  9. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Abstract Value Members

  1. abstract def computationalType: ComputationalType

    The computational type of the value if this object represents a legal value.

    The computational type of the value if this object represents a legal value.

    The precise computational type is, e.g., needed to calculate the effect of generic stack manipulation instructions (e.g., DUP_... and SWAP) on the stack as well as to calculate the jump targets of RET instructions and to determine which values are actually copied by, e.g., the dup_XX instructions.

    Definition Classes
    ValueInformation
    Exceptions thrown

    IllegalStateException if this value is illegal or void.

    Note

    The computational type has to be precise/correct.

  2. abstract def hasCategory2ComputationalType: Boolean

    Returns true if and only if the value has the computational type 2; false in all other cases (including the case where this value is illegal!).

    Returns true if and only if the value has the computational type 2; false in all other cases (including the case where this value is illegal!).

    Definition Classes
    ValueInformation
  3. abstract def isArrayValue: Answer

    Returns Yes if the value is _not null_ and the least upper type bound is an ArrayType; the value is Unknown if the least upper type bound is ArrayType but the value may be null; in all other cases No is returned; in particular if the value is known to be null.

    Returns Yes if the value is _not null_ and the least upper type bound is an ArrayType; the value is Unknown if the least upper type bound is ArrayType but the value may be null; in all other cases No is returned; in particular if the value is known to be null. No is also returned if the value's type is Object or Seriablizable or Cloneable.

    Definition Classes
    ValueInformation
  4. abstract def isPrimitiveValue: Boolean

    Returns true in case of a value with primitive type.

    Returns true in case of a value with primitive type.

    Definition Classes
    ValueInformation
    Exceptions thrown

    IllegalStateException if this value is illegal.

  5. abstract def isReferenceValue: Boolean

    Returns true if the value has a reference type.

    Returns true if the value has a reference type.

    Definition Classes
    ValueInformation
    Exceptions thrown

    IllegalStateException if this value is illegal.

  6. abstract def kindId: Int

    Returns the unique ID that identifies this kind of attribute (Signature, LineNumberTable, ...)

    Returns the unique ID that identifies this kind of attribute (Signature, LineNumberTable, ...)

    This id can then be used in a switch statement to efficiently identify the attribute.

    (attribute.id : @scala.annotation.switch) match {
         case Signature.Id => ...
    }

    Associating Unique Id

    The unique ids are manually associated with the attributes. The attributes use the following IDs:

    • (-1 Unknown Attribute)
    • 1-5 The ConstantValue Attribute
    • 6 The Code Attribute
    • 7 The StackMapTable Attribute
    • 8 The Exceptions Attribute
    • 9 The InnerClasses Attribute
    • 10 The EnclosingMethod Attribute
    • 11 The Synthetic Attribute
    • 12-16 The Signature Attribute
    • 17 The SourceFile Attribute
    • 18 The SourceDebugExtension Attribute
    • 19 The LineNumberTable Attribute
    • 20 The LocalVariableTable Attribute
    • 21 The LocalVariableTypeTable Attribute
    • 22 The Deprecated Attribute
    • 23 The RuntimeVisibleAnnotations Attribute
    • 24 The RuntimeInvisibleAnnotations Attribute
    • 25 The RuntimeVisibleParameterAnnotations Attribute
    • 26 The RuntimeInvisibleParameterAnnotations Attribute
    • 27 The RuntimeVisibleTypeAnnotations Attribute
    • 28 The RuntimeInvisibleTypeAnnotations Attribute
    • 29-41 The AnnotationDefault Attribute
    • 42 The BootstrapMethods Attribute
    • 43 The MethodParameters Attribute
    • 44 The Module Attribute (Java 9)
    • 45 The ModuleMainClass Attribute (Java 9)
    • 46 The ModulePackages Attribute (Java 9)
    • 47 The NestHost Attribute (Java 11)
    • 48 The NestMembers Attribute (Java 11)
    • 49 The Record Attribute (Java 16)
    • 1001 OPAL's VirtualTypeFlag Attribute
    • 1002 OPAL's SynthesizedClassFiles Attribute
    • 1003 OPAL's TACode Attribute (the 3-Address Code)
    Definition Classes
    Attribute
  7. abstract def runtimeValueType: Type

    The (runtime) type of the concrete value.

    The (runtime) type of the concrete value.

    Definition Classes
    ConstantValue
  8. abstract def toCanonicalForm: ValueInformation

    Returns a ValueInformation object that just captures the basic information as defined by this value framework.

    Returns a ValueInformation object that just captures the basic information as defined by this value framework. The returned value information object will be independent of the underlying representation from which it was derived.

    Definition Classes
    ValueInformation
  9. abstract def toJava: String
    Definition Classes
    BootstrapArgument
  10. abstract def value: T

    The concrete value.

    The concrete value.

    Definition Classes
    ConstantValue
  11. abstract def valueToString: String

    A string representation of the concrete value; used for debugging purposes.

    A string representation of the concrete value; used for debugging purposes.

    Definition Classes
    ConstantValue
  12. abstract def verificationTypeInfo: VerificationTypeInfo

    The type of this value as used by the org.opalj.br.StackMapTable attribute.

    The type of this value as used by the org.opalj.br.StackMapTable attribute.

    Definition Classes
    ValueInformation
    Exceptions thrown

    IllegalStateException if this value represents void or a return address value.

Concrete Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  4. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  5. def asPrimitiveValue: IsPrimitiveValue[_ <: BaseType]
    Definition Classes
    ValueInformation
  6. def asReferenceValue: IsReferenceValue
    Definition Classes
    ValueInformation
  7. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  8. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  9. def equals(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef → Any
  10. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  11. def hashCode(): Int
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  12. final def isIllegalValue: Boolean

    Returns true iff this value is not a legal value according to the JVM specification.

    Returns true iff this value is not a legal value according to the JVM specification. Such values cannot be used to perform any computations and will generally not occur in static analyses unless the analysis or the bytecode is buggy.

    Definition Classes
    KnownValueValueInformation
    Note

    An IsIllegalValue can always be distinguished from a void value.

  13. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  14. final def isVoid: Boolean

    Returns true if this value represents void.

    Returns true if this value represents void.

    Definition Classes
    KnownTypedValueValueInformation
  15. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  16. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  17. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  18. def similar(other: Attribute, config: SimilarityTestConfiguration): Boolean

    Returns true if this attribute and the given one are guaranteed to be indistinguishable at runtime.

    Returns true if this attribute and the given one are guaranteed to be indistinguishable at runtime.

    Definition Classes
    ConstantFieldValueAttribute
    Note

    If this class is implemented as a proper case class, this method can often be implemented by forwarding to the default equals method.

  19. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  20. def toBoolean: Boolean
    Definition Classes
    ConstantValue
  21. def toByte: Byte
    Definition Classes
    ConstantValue
  22. def toChar: Char
    Definition Classes
    ConstantValue
  23. def toDouble: Double
    Definition Classes
    ConstantValue
  24. def toFloat: Float
    Definition Classes
    ConstantValue
  25. def toInt: Int
    Definition Classes
    ConstantValue
  26. def toLong: Long
    Definition Classes
    ConstantValue
  27. def toReferenceType: ReferenceType
    Definition Classes
    ConstantValue
  28. def toShort: Short
    Definition Classes
    ConstantValue
  29. def toString(): String
    Definition Classes
    AnyRef → Any
  30. def toUTF8: String
    Definition Classes
    ConstantValue
  31. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  32. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  33. final def wait(): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])

Deprecated Value Members

  1. def finalize(): Unit
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.Throwable]) @Deprecated
    Deprecated

Inherited from KnownTypedValue

Inherited from KnownValue

Inherited from ValueInformation

Inherited from ConstantValue[T]

Inherited from BootstrapArgument

Inherited from Attribute

Inherited from AnyRef

Inherited from Any

Ungrouped