Packages

case object CharType extends CharType with Product with Serializable

Ordering
  1. Alphabetic
  2. By Inheritance
Inherited
  1. CharType
  2. Serializable
  3. Product
  4. Equals
  5. CharType
  6. IntLikeType
  7. CTIntType
  8. NumericType
  9. BaseType
  10. TypeSignature
  11. ReturnTypeSignature
  12. SignatureElement
  13. FieldType
  14. Type
  15. Ordered
  16. Comparable
  17. UIDValue
  18. UID
  19. AnyRef
  20. Any
  1. Hide All
  2. Show All
Visibility
  1. Public
  2. Protected

Type Members

  1. final type JType = Char
    Definition Classes
    CharTypeBaseType

Value Members

  1. final def !=(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  2. final def ##: Int
    Definition Classes
    AnyRef → Any
  3. def <(other: Type): Boolean
    Definition Classes
    Type → Ordered
  4. def <=(other: Type): Boolean
    Definition Classes
    Type → Ordered
  5. final def ==(arg0: Any): Boolean
    Definition Classes
    AnyRef → Any
  6. def >(other: Type): Boolean
    Definition Classes
    Type → Ordered
  7. def >=(other: Type): Boolean
    Definition Classes
    Type → Ordered
  8. final val WrapperType: ObjectType
    Definition Classes
    CharTypeBaseType
  9. final def accept[T](v: SignatureVisitor[T]): T
    Definition Classes
    CharTypeSignatureElement
  10. final def adapt[T](targetType: Type)(implicit typeConversionFactory: TypeConversionFactory[T]): T

    Returns the sequence of instructions that adapts values of this type to values of the target type.

    Returns the sequence of instructions that adapts values of this type to values of the target type.

    This method supports the following kind of adaptations:

    • boxing
    • unboxing
    Definition Classes
    BaseTypeFieldType
  11. def asArrayType: ArrayType
    Definition Classes
    Type
    Annotations
    @throws("if this type is not an array type")
  12. final def asBaseType: CharType.this.type
    Definition Classes
    BaseTypeType
  13. def asBooleanType: BooleanType
    Definition Classes
    Type
    Annotations
    @throws("if this is not a boolean type")
  14. final def asFieldType: CharType.this.type
    Definition Classes
    FieldTypeType
  15. final def asInstanceOf[T0]: T0
    Definition Classes
    Any
  16. def asIntLikeType: CharType.this.type
    Definition Classes
    IntLikeTypeType
  17. def asNumericType: CharType.this.type
    Definition Classes
    NumericTypeType
  18. def asObjectType: ObjectType
    Definition Classes
    Type
    Annotations
    @throws("if this type is not an object type")
  19. def asReferenceType: ReferenceType
    Definition Classes
    Type
    Annotations
    @throws("if this type is not a reference type")
  20. final val atype: Int(5)

    The atype value of the base type.

    The atype value of the base type. The atype value uniquely identifies a base type and is used primarily by the [instruction.NEWARRAY] instruction.

    Definition Classes
    CharTypeBaseType
  21. def boxValue[T](implicit typeConversionFactory: TypeConversionFactory[T]): T
    Definition Classes
    CharTypeBaseType
  22. def clone(): AnyRef
    Attributes
    protected[lang]
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.CloneNotSupportedException]) @native() @IntrinsicCandidate()
  23. def compare(that: Type): Int

    Compares this type with the given type.

    Compares this type with the given type.

    Comparison of types is implemented by comparing the associated ids. I.e., the result of the comparison of two types is not stable across multiple runs of OPAL.

    Definition Classes
    Type → Ordered
  24. def compareTo(that: Type): Int
    Definition Classes
    Ordered → Comparable
  25. final def computationalType: ComputationalType

    The computational type of values of this type.

    The computational type of values of this type.

    Definition Classes
    CTIntTypeType
  26. def convertTo[T](targetType: NumericType)(implicit typeConversionFactory: TypeConversionFactory[T]): T

    Returns the instruction sequence that can convert a value of the current type to targetType.

    Returns the instruction sequence that can convert a value of the current type to targetType.

    For primitive values the appropriate instructions that perform the necessary widening/narrowing are returned. If this type is a primitive type and the target type is a wrapper type, then the object of the corresponding wrapper type is created and returned.

    Definition Classes
    CharTypeNumericType
    Note

    The functionality implemented here, basically implements the logic for handling boxing and unboxing operations.

  27. final def eq(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  28. final def equals(that: UID): Boolean
    Definition Classes
    UIDValue
  29. final def equals(other: Any): Boolean

    Two objects with a unique id are considered equal if they have the same unique id; all other properties will be ignored!

    Two objects with a unique id are considered equal if they have the same unique id; all other properties will be ignored!

    Definition Classes
    UIDValue → AnyRef → Any
  30. final def getClass(): Class[_ <: AnyRef]
    Definition Classes
    AnyRef → Any
    Annotations
    @native() @IntrinsicCandidate()
  31. final def hashCode(): Int

    The unique id.

    The unique id.

    Definition Classes
    UIDValue → AnyRef → Any
  32. final val id: Int(-2147483643)

    The unique id of this type.

    The unique id of this type. Types are associated with globally unique ids to make it easy to define a global order. The id Int.MinValue is used for Void; Int.MinValue + 1 is used for CTIntType.

    Definition Classes
    CharTypeTypeUID
  33. def isArrayType: Boolean
    Definition Classes
    Type
  34. final def isBaseType: Boolean

    Returns true if this type is a base type (also called primitive type).

    Returns true if this type is a base type (also called primitive type).

    Definition Classes
    BaseTypeType
  35. def isBooleanType: Boolean

    Returns true if this type is the primitive type boolean.

    Returns true if this type is the primitive type boolean.

    Definition Classes
    Type
  36. def isByteType: Boolean

    Returns true if this type is the primitive type byte.

    Returns true if this type is the primitive type byte.

    Definition Classes
    Type
  37. final def isCharType: Boolean

    Returns true if this type is the primitive type char (Range: [0..65535]).

    Returns true if this type is the primitive type char (Range: [0..65535]).

    Definition Classes
    CharTypeType
  38. def isDoubleType: Boolean

    Returns true if this type is the primitive type double.

    Returns true if this type is the primitive type double.

    Definition Classes
    Type
  39. final def isFieldType: Boolean

    Returns true if this type can be used by fields.

    Returns true if this type can be used by fields. Returns true unless this type represents void.

    Definition Classes
    FieldTypeType
  40. def isFloatType: Boolean

    Returns true if this type is the primitive type float.

    Returns true if this type is the primitive type float.

    Definition Classes
    Type
  41. final def isInstanceOf[T0]: Boolean
    Definition Classes
    Any
  42. def isIntLikeType: Boolean
    Definition Classes
    IntLikeTypeType
  43. def isIntegerType: Boolean

    Returns true if this type is the primitive type int.

    Returns true if this type is the primitive type int.

    Definition Classes
    Type
  44. def isLongType: Boolean

    Returns true if this type is the primitive type long.

    Returns true if this type is the primitive type long.

    Definition Classes
    Type
  45. def isNumericType: Boolean
    Definition Classes
    NumericTypeType
  46. def isObjectType: Boolean
    Definition Classes
    Type
  47. def isReferenceType: Boolean

    Returns true if this type is a reference type; that is, an array type or an object type (class/interface type).

    Returns true if this type is a reference type; that is, an array type or an object type (class/interface type).

    Definition Classes
    Type
    Note

    In general, we can distinguish the following three categories of types:

    • base types,
    • reference types,
    • the type void.
  48. def isShortType: Boolean

    Returns true if this type is the primitive type short.

    Returns true if this type is the primitive type short.

    Definition Classes
    Type
  49. def isVoidType: Boolean

    Returns true if this type represents void; false otherwise.

    Returns true if this type represents void; false otherwise.

    Definition Classes
    Type
  50. def isWiderThan(targetType: NumericType): Boolean

    Determines if the range of values captured by this type is a strict superset of the range of values captured by values of type targetType.

    Determines if the range of values captured by this type is a strict superset of the range of values captured by values of type targetType. Here, strict superset means that – except of rounding issues – the value is conceptually representable by this type. For example, a conversion from a long value to a double value may loose some precision related to the least significant bits, but the value is still representable.

    In general, the result of isWiderThan is comparable to the result of determing if a conversion of a value of this type to the given type is an explicit/implicit widening conversion.

    Definition Classes
    CharTypeNumericType
    Example:
    1. assert(IntegerType.isWiderThan(IntegerType) == false)
      assert(IntegerType.isWiderThan(LongType) == false)
      assert(IntegerType.isWiderThan(ByteType) == true)
      assert(LongType.isWiderThan(FloatType) == false)
      assert(ByteType.isWiderThan(CharType) == false)
      assert(LongType.isWiderThan(ShortType) == true)
  51. final def ne(arg0: AnyRef): Boolean
    Definition Classes
    AnyRef
  52. final def notify(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  53. final def notifyAll(): Unit
    Definition Classes
    AnyRef
    Annotations
    @native() @IntrinsicCandidate()
  54. final def operandSize: Int

    The number of operand stack slots/registers required to store a single value of this type.

    The number of operand stack slots/registers required to store a single value of this type. In case of VoidType 0 is returned.

    Definition Classes
    CTIntTypeType
  55. def productElementName(n: Int): String
    Definition Classes
    Product
  56. def productElementNames: Iterator[String]
    Definition Classes
    Product
  57. final def synchronized[T0](arg0: => T0): T0
    Definition Classes
    AnyRef
  58. def toBinaryJavaName: String

    Returns the binary name of this type as used by the Java runtime.

    Returns the binary name of this type as used by the Java runtime. Basically returns the same name as produced by Class.getName.

    Definition Classes
    CharTypeType
  59. final def toJVMSignature: String

    Converts this signature into its JVM representation.

    Converts this signature into its JVM representation. (See the JVM 5 or later specification for further details.)

    Definition Classes
    BaseTypeSignatureElement
  60. def toJVMTypeName: String

    Returns the representation of this type as used by the JVM in, for example, method descriptors or signatures.

    Returns the representation of this type as used by the JVM in, for example, method descriptors or signatures.

    Definition Classes
    CharTypeType
  61. def toJava: String

    A String representation of this type as it would be used in Java source code.

    A String representation of this type as it would be used in Java source code.

    Definition Classes
    CharTypeType
  62. def toJavaClass: Class[_]

    Returns the Java class object representing this type.

    Returns the Java class object representing this type.

    This is generally only useful in very special cases and – to be meaningful at all – it is necessary that the class path used for running the static analysis also contains the classes that are analyzed. This is (often) only the case for the JDK.

    However, one example where this is useful is the creation of a real object of a specific type and to use that object when a method is called on that object. This avoids the reimplementation of the respective logic as part of the analysis. For example, if you want to get the String that is created by a specific StringBuffer it is possible to implement the API of StringBuffer as part of your analysis or (probably more efficient) to just create an instance of a StringBuffer object and to redirect every call to the real object. In this case only some general logic is required to redirect calls and to convert the values between the representation used by the analysis and the representation required by the called method.

    Definition Classes
    CharTypeType
  63. def toString(): String
    Definition Classes
    CharType → AnyRef → Any
  64. final def wait(arg0: Long, arg1: Int): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  65. final def wait(arg0: Long): Unit
    Definition Classes
    AnyRef
    Annotations
    @throws(classOf[java.lang.InterruptedException])
  66. 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 Serializable

Inherited from Product

Inherited from Equals

Inherited from CharType

Inherited from IntLikeType

Inherited from CTIntType

Inherited from NumericType

Inherited from BaseType

Inherited from TypeSignature

Inherited from ReturnTypeSignature

Inherited from SignatureElement

Inherited from FieldType

Inherited from Type

Inherited from Ordered[Type]

Inherited from Comparable[Type]

Inherited from UIDValue

Inherited from UID

Inherited from AnyRef

Inherited from Any

Ungrouped