Does this type conform to given type argument that
?
Does this type conform to given type argument that
?
Is this type equivalent to given type argument that
?
Is this type equivalent to given type argument that
?
This type as seen from prefix pre
and class clazz
.
This type as seen from prefix pre
and class clazz
. This means:
Replace all ThisType
s of clazz
or one of its subclasses
by pre
and instantiate all parameters by arguments of pre
.
Proceed analogously for ThisType
s referring to outer classes.
Example:
scala> import scala.reflect.runtime.universe._ import scala.reflect.runtime.universe._ scala> class D[T] { def m: T = ??? } defined class D scala> class C extends D[Int] defined class C scala> val D = typeOf[D[_]].typeSymbol.asClass D: reflect.runtime.universe.ClassSymbol = class D scala> val C = typeOf[C].typeSymbol.asClass C: reflect.runtime.universe.ClassSymbol = class C scala> val T = D.typeParams(0).asType.toType T: reflect.runtime.universe.Type = T scala> T.asSeenFrom(ThisType(C), D) res0: reflect.runtime.universe.Type = scala.Int
The list of all base classes of this type (including its own typeSymbol) in linearization order, starting with the class itself and ending in class Any.
The list of all base classes of this type (including its own typeSymbol) in linearization order, starting with the class itself and ending in class Any.
The least type instance of given class which is a super-type of this type.
The least type instance of given class which is a super-type of this type. Example:
class D[T] class C extends p.D[Int] ThisType(C).baseType(D) = p.D[Int]
Does this type contain a reference to given symbol?
Does this type contain a reference to given symbol?
The defined or declared members with name name
in this type;
an OverloadedSymbol if several exist, NoSymbol if none exist.
The defined or declared members with name name
in this type;
an OverloadedSymbol if several exist, NoSymbol if none exist.
Alternatives of overloaded symbol appear in the order they are declared.
A Scope
containing directly declared members of this type.
A Scope
containing directly declared members of this type.
Unlike members
this method doesn't returns inherited members.
Members in the returned scope might appear in arbitrary order.
Use declarations.sorted
to get an ordered list of members.
The erased type corresponding to this type after all transformations from Scala to Java have been performed.
The erased type corresponding to this type after all transformations from Scala to Java have been performed.
Is there part of this type which satisfies predicate p
?
Is there part of this type which satisfies predicate p
?
Returns optionally first type (in a preorder traversal) which satisfies predicate p
,
or None if none exists.
Returns optionally first type (in a preorder traversal) which satisfies predicate p
,
or None if none exists.
Apply f
to each part of this type, for side effects only
Apply f
to each part of this type, for side effects only
Apply f
to each part of this type, returning
a new type.
Apply f
to each part of this type, returning
a new type. children get mapped before their parents
The member with given name, either directly declared or inherited, an OverloadedSymbol if several exist, NoSymbol if none exist.
The member with given name, either directly declared or inherited, an OverloadedSymbol if several exist, NoSymbol if none exist.
A Scope
containing all members of this type (directly declared or inherited).
A Scope
containing all members of this type (directly declared or inherited).
Unlike declarations
this method also returns inherited members.
Members in the returned scope might appear in arbitrary order.
Use declarations.sorted
to get an ordered list of members.
Expands type aliases and converts higher-kinded TypeRefs to PolyTypes.
Expands type aliases and converts higher-kinded TypeRefs to PolyTypes. Functions on types are also implemented as PolyTypes.
Example: (in the below, <List> is the type constructor of List) TypeRef(pre, <List>, List()) is replaced by PolyType(X, TypeRef(pre, <List>, List(X)))
The symbols corresponding to the forSome
clauses of the existential type.
Substitute symbols in to
for corresponding occurrences of references to
symbols from
in this type.
Substitute symbols in to
for corresponding occurrences of references to
symbols from
in this type.
Substitute types in to
for corresponding occurrences of references to
symbols from
in this type.
Substitute types in to
for corresponding occurrences of references to
symbols from
in this type.
Is this type a type constructor that is missing its type arguments?
Is this type a type constructor that is missing its type arguments?
The term symbol associated with the type, or NoSymbol
for types
that do not refer to a term symbol.
The term symbol associated with the type, or NoSymbol
for types
that do not refer to a term symbol.
Returns the corresponding type constructor (e.
Returns the corresponding type constructor (e.g. List for List[T] or List[String])
The type symbol associated with the type, or NoSymbol
for types
that do not refer to a type symbol.
The type symbol associated with the type, or NoSymbol
for types
that do not refer to a type symbol.
The underlying type of the existential type.
Does this type weakly conform to given type argument that
, i.
Does this type weakly conform to given type argument that
, i.e., either conforms in terms of <:<
or both are primitive number types
that conform according to Section "Weak Conformance" in the spec. For example, Int weak_<:< Long.
If this is a singleton type, widen it to its nearest underlying non-singleton
base type by applying one or more underlying
dereferences.
If this is a singleton type, widen it to its nearest underlying non-singleton
base type by applying one or more underlying
dereferences.
If this is not a singleton type, returns this type itself.
Example:
class Outer { class C ; val x: C } val o: Outer <o.x.type>.widen = o.C
Test two objects for inequality.
Test two objects for inequality.
true
if !(this == that), false otherwise.
Equivalent to x.hashCode
except for boxed numeric types and null
.
Equivalent to x.hashCode
except for boxed numeric types and null
.
For numerics, it returns a hash value which is consistent
with value equality: if two value type instances compare
as true, then ## will produce the same hash value for each
of them.
For null
returns a hashcode where null.hashCode
throws a
NullPointerException
.
a hash value consistent with ==
Test two objects for equality.
Test two objects for equality.
The expression x == that
is equivalent to if (x eq null) that eq null else x.equals(that)
.
true
if the receiver object is equivalent to the argument; false
otherwise.
Cast the receiver object to be of type T0
.
Cast the receiver object to be of type T0
.
Note that the success of a cast at runtime is modulo Scala's erasure semantics.
Therefore the expression 1.asInstanceOf[String]
will throw a ClassCastException
at
runtime, while the expression List(1).asInstanceOf[List[String]]
will not.
In the latter example, because the type argument is erased as part of compilation it is
not possible to check whether the contents of the list are of the requested type.
the receiver object.
if the receiver object is not an instance of the erasure of type T0
.
Create a copy of the receiver object.
Tests whether the argument (arg0
) is a reference to the receiver object (this
).
Tests whether the argument (arg0
) is a reference to the receiver object (this
).
The eq
method implements an equivalence relation on
non-null instances of AnyRef
, and has three additional properties:
x
and y
of type AnyRef
, multiple invocations of
x.eq(y)
consistently returns true
or consistently returns false
.x
of type AnyRef
, x.eq(null)
and null.eq(x)
returns false
.null.eq(null)
returns true
. When overriding the equals
or hashCode
methods, it is important to ensure that their behavior is
consistent with reference equality. Therefore, if two objects are references to each other (o1 eq o2
), they
should be equal to each other (o1 == o2
) and they should hash to the same value (o1.hashCode == o2.hashCode
).
true
if the argument is a reference to the receiver object; false
otherwise.
The equality method for reference types.
Called by the garbage collector on the receiver object when there are no more references to the object.
Called by the garbage collector on the receiver object when there are no more references to the object.
The details of when and if the finalize
method is invoked, as
well as the interaction between finalize
and non-local returns
and exceptions, are all platform dependent.
Returns string formatted according to given format
string.
Returns string formatted according to given format
string.
Format strings are as for String.format
(@see java.lang.String.format).
A representation that corresponds to the dynamic class of the receiver object.
A representation that corresponds to the dynamic class of the receiver object.
The nature of the representation is platform dependent.
a representation that corresponds to the dynamic class of the receiver object.
not specified by SLS as a member of AnyRef
The hashCode method for reference types.
Test whether the dynamic type of the receiver object is T0
.
Test whether the dynamic type of the receiver object is T0
.
Note that the result of the test is modulo Scala's erasure semantics.
Therefore the expression 1.isInstanceOf[String]
will return false
, while the
expression List(1).isInstanceOf[List[String]]
will return true
.
In the latter example, because the type argument is erased as part of compilation it is
not possible to check whether the contents of the list are of the specified type.
true
if the receiver object is an instance of erasure of type T0
; false
otherwise.
Equivalent to !(this eq that)
.
Equivalent to !(this eq that)
.
true
if the argument is not a reference to the receiver object; false
otherwise.
Wakes up a single thread that is waiting on the receiver object's monitor.
Wakes up a single thread that is waiting on the receiver object's monitor.
not specified by SLS as a member of AnyRef
Wakes up all threads that are waiting on the receiver object's monitor.
Wakes up all threads that are waiting on the receiver object's monitor.
not specified by SLS as a member of AnyRef
Creates a String representation of this object.
Creates a String representation of this object. The default representation is platform dependent. On the java platform it is the concatenation of the class name, "@", and the object's hashcode in hexadecimal.
a String representation of the object.
(existentialTypeApi: StringAdd).self
(existentialTypeApi: StringFormat).self
(existentialTypeApi: ArrowAssoc[Universe.ExistentialTypeApi]).x
(Since version 2.10.0) Use leftOfArrow
instead
(existentialTypeApi: Ensuring[Universe.ExistentialTypeApi]).x
(Since version 2.10.0) Use resultOfEnsuring
instead
The API that all existential types support. The main source of information about types is the scala.reflect.api.Types page.