sealed abstract class ShortType extends IntLikeType
- Alphabetic
- By Inheritance
- ShortType
- IntLikeType
- CTIntType
- NumericType
- BaseType
- TypeSignature
- ReturnTypeSignature
- SignatureElement
- FieldType
- Type
- Ordered
- Comparable
- UIDValue
- UID
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
def
<(other: Type): Boolean
- Definition Classes
- Type → Ordered
-
def
<=(other: Type): Boolean
- Definition Classes
- Type → Ordered
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
>(other: Type): Boolean
- Definition Classes
- Type → Ordered
-
def
>=(other: Type): Boolean
- Definition Classes
- Type → Ordered
- final val WrapperType: ObjectType
-
final
def
accept[T](v: SignatureVisitor[T]): T
- Definition Classes
- ShortType → SignatureElement
-
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. -
def
asArrayType: ArrayType
- Definition Classes
- Type
- Annotations
- @throws( "if this type is not an array type" )
- final def asBaseType: ShortType.this.type
-
def
asBooleanType: BooleanType
- Definition Classes
- Type
- Annotations
- @throws( "if this is not a boolean type" )
- final def asFieldType: ShortType.this.type
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
asIntLikeType: ShortType.this.type
- Definition Classes
- IntLikeType → Type
-
def
asNumericType: ShortType.this.type
- Definition Classes
- NumericType → Type
-
def
asObjectType: ObjectType
- Definition Classes
- Type
- Annotations
- @throws( ... )
-
def
asReferenceType: ReferenceType
- Definition Classes
- Type
- Annotations
- @throws( ... )
-
final
val
atype: Int(9)
The atype value of the base type.
- def boxValue[T](implicit typeConversionFactory: TypeConversionFactory[T]): T
-
def
clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native() @IntrinsicCandidate()
-
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
-
def
compareTo(that: Type): Int
- Definition Classes
- Ordered → Comparable
-
final
def
computationalType: ComputationalType
The computational type of values of this type.
-
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
- ShortType → NumericType
- Note
The functionality implemented here, basically implements the logic for handling boxing and unboxing operations.
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
equals(that: UID): Boolean
- Definition Classes
- UIDValue
-
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
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native() @IntrinsicCandidate()
-
final
def
hashCode(): Int
The unique id.
The unique id.
- Definition Classes
- UIDValue → AnyRef → Any
-
final
val
id: Int
The unique id of this type.
-
def
isArrayType: Boolean
- Definition Classes
- Type
-
final
def
isBaseType: Boolean
Returns
true
if this type is a base type (also called primitive type). -
def
isBooleanType: Boolean
Returns
true
if this type is the primitive typeboolean
.Returns
true
if this type is the primitive typeboolean
.- Definition Classes
- Type
-
def
isByteType: Boolean
Returns
true
if this type is the primitive typebyte
.Returns
true
if this type is the primitive typebyte
.- Definition Classes
- Type
-
def
isCharType: Boolean
Returns
true
if this type is the primitive typechar
(Range: [0..65535]).Returns
true
if this type is the primitive typechar
(Range: [0..65535]).- Definition Classes
- Type
-
def
isDoubleType: Boolean
Returns
true
if this type is the primitive typedouble
.Returns
true
if this type is the primitive typedouble
.- Definition Classes
- Type
-
final
def
isFieldType: Boolean
Returns
true
if this type can be used by fields. -
def
isFloatType: Boolean
Returns
true
if this type is the primitive typefloat
.Returns
true
if this type is the primitive typefloat
.- Definition Classes
- Type
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
def
isIntLikeType: Boolean
- Definition Classes
- IntLikeType → Type
-
def
isIntegerType: Boolean
Returns
true
if this type is the primitive typeint
.Returns
true
if this type is the primitive typeint
.- Definition Classes
- Type
-
def
isLongType: Boolean
Returns
true
if this type is the primitive typelong
.Returns
true
if this type is the primitive typelong
.- Definition Classes
- Type
-
def
isNumericType: Boolean
- Definition Classes
- NumericType → Type
-
def
isObjectType: Boolean
- Definition Classes
- Type
-
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.
-
final
def
isShortType: Boolean
Returns
true
if this type is the primitive typeshort
. -
def
isVoidType: Boolean
Returns
true
if this type representsvoid
;false
otherwise.Returns
true
if this type representsvoid
;false
otherwise.- Definition Classes
- Type
-
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 typetargetType
.Determines if the range of values captured by
this
type is a strict superset of the range of values captured by values of typetargetType
. Here, strict superset means that – except of rounding issues – the value is conceptually representable bythis
type. For example, a conversion from along
value to adouble
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
- ShortType → NumericType
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)
Example: -
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native() @IntrinsicCandidate()
-
final
def
operandSize: Int
The number of operand stack slots/registers required to store a single value of this type.
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toBinaryJavaName: String
Returns the binary name of this type as used by the Java runtime.
-
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
- BaseType → SignatureElement
-
def
toJVMTypeName: String
Returns the representation of this type as used by the JVM in, for example, method descriptors or signatures.
-
def
toJava: String
A String representation of this type as it would be used in Java source code.
-
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 specificStringBuffer
it is possible to implement the API of StringBuffer as part of your analysis or (probably more efficient) to just create an instance of aStringBuffer
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. -
def
toString(): String
- Definition Classes
- ShortType → AnyRef → Any
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
Deprecated Value Members
-
def
finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] ) @Deprecated
- Deprecated