trait Types extends AnyRef
- Alphabetic
- By Inheritance
- Types
- AnyRef
- Any
- Hide All
- Show All
- Public
- All
Type Members
-
trait
AbsCompoundType
extends Universe.AbsType
This class declares methods that are visible in a
CompoundType
(i.e.This class declares methods that are visible in a
CompoundType
(i.e. a class/trait/object template or refined type of the formP_1 with ... with P_m { D_1; ...; D_n }
P_n
-
trait
AbsSingletonType
extends Universe.AbsType
This class declares methods that are visible in a
SingleType
. -
abstract
class
AbsType
extends AnyRef
This class declares operations that are visible in a Type.
- abstract type AnnotatedType <: Universe.Type
- abstract class AnnotatedTypeExtractor extends AnyRef
-
abstract
type
ClassInfoType <: Universe.CompoundType
The
ClassInfo
type signature is used to define parents and declarations of classes, traits, and objects.The
ClassInfo
type signature is used to define parents and declarations of classes, traits, and objects. If a class, trait, or object C is declared like thisC extends P_1 with ... with P_m { D_1; ...; D_n}
its
ClassInfo
type has the following form:ClassInfo(List(P_1, ..., P_m), Scope(D_1, ..., D_n), C)
-
abstract
class
ClassInfoTypeExtractor
extends AnyRef
An extractor class to create and pattern match with syntax
ClassInfo(parents, decls, clazz)
Here,parents
is the list of parent types of the class,decls
is the scope containing all declarations in the class, andclazz
is the symbol of the class itself. -
abstract
type
CompoundType <: Universe.Type
A subtype of Type representing refined types as well as
ClassInfo
signatures. -
abstract
type
ConstantType <: Universe.SingletonType
The
ConstantType
type is not directly written in user programs, but arises as the type of a constant.The
ConstantType
type is not directly written in user programs, but arises as the type of a constant. The REPL expresses constant types like Int(11). Here are some constants with their types.1 ConstantType(Constant(1)) "abc" ConstantType(Constant("abc"))
-
abstract
class
ConstantTypeExtractor
extends AnyRef
An extractor class to create and pattern match with syntax
ConstantType(constant)
Here,constant
is the constant value represented by the type. - abstract type ExistentialType <: Universe.Type
- abstract class ExistentialTypeExtractor extends AnyRef
-
abstract
type
MethodType <: Universe.Type
The
MethodType
type signature is used to indicate parameters and result type of a method -
abstract
class
MethodTypeExtractor
extends AnyRef
An extractor class to create and pattern match with syntax
MethodType(params, respte)
Here,params
is a potentially empty list of parameter symbols of the method, andrestpe
is the result type of the method.An extractor class to create and pattern match with syntax
MethodType(params, respte)
Here,params
is a potentially empty list of parameter symbols of the method, andrestpe
is the result type of the method. If the method is curried,restpe
would be anotherMethodType
. Note:MethodType(Nil, Int)
would be the type of a method defined with an empty parameter list.def f(): Int
If the method is completely parameterless, as in
def f: Int
its type is a
NullaryMethodType
. - abstract type NullaryMethodType <: Universe.Type
- abstract class NullaryMethodTypeExtractor extends AnyRef
- abstract type PolyType <: Universe.Type
- abstract class PolyTypeExtractor extends AnyRef
-
abstract
type
RefinedType <: Universe.CompoundType
The
RefinedType
type defines types of any of the forms on the left, with their RefinedType representations to the right.The
RefinedType
type defines types of any of the forms on the left, with their RefinedType representations to the right.P_1 with ... with P_m { D_1; ...; D_n} RefinedType(List(P_1, ..., P_m), Scope(D_1, ..., D_n)) P_1 with ... with P_m RefinedType(List(P_1, ..., P_m), Scope()) { D_1; ...; D_n} RefinedType(List(AnyRef), Scope(D_1, ..., D_n))
-
abstract
class
RefinedTypeExtractor
extends AnyRef
An extractor class to create and pattern match with syntax
RefinedType(parents, decls)
Here,parents
is the list of parent types of the class, anddecls
is the scope containing all declarations in the class. -
abstract
type
SingleType <: Universe.SingletonType
The
SingleType
type describes types of any of the forms on the left, with their TypeRef representations to the right.The
SingleType
type describes types of any of the forms on the left, with their TypeRef representations to the right.(T # x).type SingleType(T, x) p.x.type SingleType(p.type, x) x.type SingleType(NoPrefix, x)
-
abstract
class
SingleTypeExtractor
extends AnyRef
An extractor class to create and pattern match with syntax
SingleType(pre, sym)
Here,pre
is the prefix of the single-type, andsym
is the stable value symbol referred to by the single-type. -
abstract
type
SingletonType >: Null <: Universe.Type
The type of Scala singleton types, i.e.
The type of Scala singleton types, i.e. types that are inhabited by only one nun-null value. These include types of the forms
C.this.type C.super.type x.type
as well as constant types.
-
abstract
type
SuperType <: Universe.SingletonType
The
SuperType
type is not directly written, but arises whenC.super
is used as a prefix in aTypeRef
orSingleType
.The
SuperType
type is not directly written, but arises whenC.super
is used as a prefix in aTypeRef
orSingleType
. It's internal presentation isSuperType(thistpe, supertpe)
Here,
thistpe
is the type of the corresponding this-type. For instance, in the type arising from C.super, thethistpe
part would beThisType(C)
.supertpe
is the type of the super class referred to by thesuper
. -
abstract
class
SuperTypeExtractor
extends AnyRef
An extractor class to create and pattern match with syntax
SingleType(thistpe, supertpe)
-
abstract
type
ThisType <: Universe.SingletonType
The
ThisType
type describes types of the form on the left with the correspnding ThisType representations to the right.The
ThisType
type describes types of the form on the left with the correspnding ThisType representations to the right.C.this.type ThisType(C)
-
abstract
class
ThisTypeExtractor
extends AnyRef
An extractor class to create and pattern match with syntax
ThisType(sym)
wheresym
is the class prefix of the this type. -
abstract
type
Type >: Null <: Universe.AbsType
The type of Scala types, and also Scala type signatures.
The type of Scala types, and also Scala type signatures. (No difference is internally made between the two).
-
abstract
type
TypeBounds <: Universe.Type
The
TypeBounds
type signature is used to indicate lower and upper type bounds of type parameters and abstract types.The
TypeBounds
type signature is used to indicate lower and upper type bounds of type parameters and abstract types. It is not a first-class type. If an abstract type or type parameter is declared with any of the forms on the left, its type signature is the TypeBounds type on the right.T >: L <: U TypeBounds(L, U) T >: L TypeBounds(L, Any) T <: U TypeBounds(Nothing, U)
-
abstract
class
TypeBoundsExtractor
extends AnyRef
An extractor class to create and pattern match with syntax
TypeBound(lower, upper)
Here,lower
is the lower bound of theTypeBounds
pair, andupper
is the upper bound. -
abstract
type
TypeRef <: Universe.Type
The
TypeRef
type describes types of any of the forms on the left, with their TypeRef representations to the right.The
TypeRef
type describes types of any of the forms on the left, with their TypeRef representations to the right.T # C[T_1, ..., T_n] TypeRef(T, C, List(T_1, ..., T_n)) p.C[T_1, ..., T_n] TypeRef(p.type, C, List(T_1, ..., T_n)) C[T_1, ..., T_n] TypeRef(NoPrefix, C, List(T_1, ..., T_n)) T # C TypeRef(T, C, Nil) p.C TypeRef(p.type, C, Nil) C TypeRef(NoPrefix, C, Nil)
-
abstract
class
TypeRefExtractor
extends AnyRef
An extractor class to create and pattern match with syntax
TypeRef(pre, sym, args)
Here,pre
is the prefix of the type reference,sym
is the symbol referred to by the type reference, andargs
is a possible empty list of type argumenrts.
Abstract Value Members
- abstract val AnnotatedType: Universe.AnnotatedTypeExtractor
-
abstract
val
ClassInfoType: Universe.ClassInfoTypeExtractor
The constructor/deconstructor for
ClassInfoType
instances. -
abstract
val
ConstantType: Universe.ConstantTypeExtractor
The constructor/deconstructor for
ConstantType
instances. - abstract val ExistentialType: Universe.ExistentialTypeExtractor
-
abstract
val
MethodType: Universe.MethodTypeExtractor
The constructor/deconstructor for
MethodType
instances. -
abstract
val
NoPrefix: Universe.Type
This constant is used as a special value denoting the empty prefix in a path dependent type.
This constant is used as a special value denoting the empty prefix in a path dependent type. For instance
x.type
is represented asSingleType(NoPrefix, <x>)
, where<x>
stands for the symbol forx
. -
abstract
val
NoType: Universe.Type
This constant is used as a special value that indicates that no meaningful type exists.
- abstract val NullaryMethodType: Universe.NullaryMethodTypeExtractor
- abstract val PolyType: Universe.PolyTypeExtractor
-
abstract
val
RefinedType: Universe.RefinedTypeExtractor
The constructor/deconstructor for
RefinedType
instances. -
abstract
val
SingleType: Universe.SingleTypeExtractor
The constructor/deconstructor for
SingleType
instances. -
abstract
val
SuperType: Universe.SuperTypeExtractor
The constructor/deconstructor for
SuperType
instances. -
abstract
val
ThisType: Universe.ThisTypeExtractor
The constructor/deconstructor for
ThisType
instances. -
abstract
val
TypeBounds: Universe.TypeBoundsExtractor
The constructor/deconstructor for
TypeBounds
instances. -
abstract
val
TypeRef: Universe.TypeRefExtractor
The constructor/deconstructor for
TypeRef
instances.
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
- Definition Classes
- AnyRef → Any
-
final
def
==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
- Definition Classes
- Any
-
def
clone(): AnyRef
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
def
equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
-
def
finalize(): Unit
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
-
final
def
getClass(): Class[_]
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
- Definition Classes
- AnyRef → Any
-
final
def
isInstanceOf[T0]: Boolean
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
- Definition Classes
- AnyRef
-
final
def
notifyAll(): Unit
- Definition Classes
- AnyRef
-
final
def
synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
-
def
toString(): String
- Definition Classes
- AnyRef → Any
-
final
def
wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
-
final
def
wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )