An extractor for multi-dimensional arrays.
Note that this will also extract the high bound if an
element type is a wildcard. E.g.
Array[_ <: Array_ <: Nu...
An extractor for multi-dimensional arrays.
Note that this will also extract the high bound if an
element type is a wildcard. E.g.
Array[_ <: Array[_ <: Number]]
would match
MultiArrayOf(, 2)
This class would also be obviated by the implicit function type design
This class would also be obviated by the implicit function type design
[+]
type
PrimitiveClassEnc
=
Int
[+]
val
AbstractFunctionClassPerRun
: PerRun
[
Array
[
Symbol
]
]
[+]
lazy
val
AbstractFunctionType
: Array
[
TypeRef
]
[+]
lazy
val
AbstractPartialFunctionType
: TypeRef
[+]
lazy
val
AliasAnnotType
: TypeRef
[+]
lazy
val
AnnotationDefaultAnnotType
: TypeRef
[+]
lazy
val
AnnotationType
: TypeRef
[+]
lazy
val
AnyClass
: ClassSymbol
Note: We cannot have same named methods defined in Object and Any (and AnyVal, for that matter)
because after erasure the Any and AnyVal references get...
[T]
[T]
Note: We cannot have same named methods defined in Object and Any (and AnyVal, for that matter)
because after erasure the Any and AnyVal references get remapped to the Object methods
which would result in a double binding assertion failure.
Instead we do the following:
- Have some methods exist only in Any, and remap them with the Erasure denotation
transformer to be owned by Object.
- Have other methods exist only in Object.
To achieve this, we synthesize all Any and Object methods; Object methods no longer get
loaded from a classfile.
There's a remaining question about getClass
. In Scala2.x getClass
was handled by compiler magic.
This is deemed too cumersome for Dotty and therefore right now getClass
gets no special treatment;
it's just a method on Any
which returns the raw type java.lang.Class
. An alternative
way to get better getClass
typing would be to treat getClass
as a method of a generic
decorator which gets remapped in a later phase to Object#getClass. Then we could give it
the right type without changing the typechecker:
implicit class AnyGetClass[T](val x: T) extends AnyVal {
def getClass: java.lang.Class[T] = ???
}
[+]
lazy
val
AnyRefAlias
: TypeSymbol
[+]
lazy
val
AnyValClass
: ClassSymbol
[+]
lazy
val
Any_!=
: TermSymbol
[+]
lazy
val
Any_##
: TermSymbol
[+]
lazy
val
Any_==
: TermSymbol
[+]
lazy
val
Any_asInstanceOf
: TermSymbol
[+]
lazy
val
Any_equals
: TermSymbol
[+]
lazy
val
Any_getClass
: TermSymbol
[+]
lazy
val
Any_hashCode
: TermSymbol
[+]
lazy
val
Any_isInstanceOf
: TermSymbol
[+]
lazy
val
Any_toString
: TermSymbol
[+]
lazy
val
ArrayConstructorR
: TermRef
[+]
lazy
val
ArrayModuleType
: TermRef
[+]
lazy
val
ArrayType
: TypeRef
[+]
lazy
val
Array_applyR
: TermRef
[+]
lazy
val
Array_cloneR
: TermRef
[+]
lazy
val
Array_lengthR
: TermRef
[+]
lazy
val
Array_updateR
: TermRef
[+]
lazy
val
BodyAnnotType
: TypeRef
[+]
lazy
val
BooleanType
: TypeRef
[+]
lazy
val
Boolean_andR
: TermRef
[+]
lazy
val
Boolean_notR
: TermRef
[+]
lazy
val
Boolean_orR
: TermRef
[+]
lazy
val
BoxedBooleanModule
: TermSymbol
[+]
lazy
val
BoxedBooleanType
: TypeRef
[+]
lazy
val
BoxedByteModule
: TermSymbol
[+]
lazy
val
BoxedByteType
: TypeRef
[+]
lazy
val
BoxedCharModule
: TermSymbol
[+]
lazy
val
BoxedCharType
: TypeRef
[+]
lazy
val
BoxedDoubleModule
: TermSymbol
[+]
lazy
val
BoxedDoubleType
: TypeRef
[+]
lazy
val
BoxedFloatModule
: TermSymbol
[+]
lazy
val
BoxedFloatType
: TypeRef
[+]
lazy
val
BoxedIntModule
: TermSymbol
[+]
lazy
val
BoxedIntType
: TypeRef
[+]
lazy
val
BoxedLongModule
: TermSymbol
[+]
lazy
val
BoxedLongType
: TypeRef
[+]
lazy
val
BoxedNumberClass
: ClassSymbol
[+]
lazy
val
BoxedShortModule
: TermSymbol
[+]
lazy
val
BoxedShortType
: TypeRef
[+]
lazy
val
BoxedUnitModule
: TermSymbol
[+]
lazy
val
BoxedUnitType
: TypeRef
[+]
lazy
val
BoxesRunTimeModuleRef
: TermRef
[+]
lazy
val
ByNameParamClass2x
: ClassSymbol
[+]
lazy
val
ByteType
: TypeRef
[+]
lazy
val
CharType
: TypeRef
[+]
lazy
val
ChildAnnotType
: TypeRef
[+]
lazy
val
ClassCastExceptionClass
: ClassSymbol
[+]
lazy
val
ClassClass
: ClassSymbol
[+]
lazy
val
ClassTagType
: TypeRef
[+]
lazy
val
ClassfileAnnotationType
: TypeRef
[+]
lazy
val
ComparableClass
: ClassSymbol
[+]
lazy
val
ContravariantBetweenAnnotType
: TypeRef
[+]
lazy
val
CovariantBetweenAnnotType
: TypeRef
[+]
lazy
val
DeprecatedAnnotType
: TypeRef
[+]
lazy
val
DottyArraysModuleRef
: TermRef
[+]
lazy
val
DoubleType
: TypeRef
[+]
lazy
val
DynamicType
: TypeRef
[+]
lazy
val
EmptyPackageClass
: ClassSymbol
[+]
lazy
val
EmptyPackageVal
: TermSymbol
[+]
lazy
val
EnumType
: TypeRef
[+]
lazy
val
EnumValuesType
: TypeRef
[+]
lazy
val
EqType
: TypeRef
[+]
lazy
val
EqualsPatternClass
: ClassSymbol
[+]
lazy
val
FloatType
: TypeRef
[+]
lazy
val
Function0_applyR
: TermRef
[+]
lazy
val
FunctionXXLType
: TypeRef
[+]
private lazy
val
ImplementedFunctionType
: Array
[
TypeRef
]
[+]
lazy
val
ImplicitNotFoundAnnotType
: TypeRef
[+]
lazy
val
IndexOutOfBoundsException
: ClassSymbol
[+]
lazy
val
InlineAnnotType
: TypeRef
[+]
lazy
val
InlineParamAnnotType
: TypeRef
[+]
lazy
val
IntType
: TypeRef
[+]
lazy
val
Int_divR
: TermRef
[+]
lazy
val
Int_eqR
: TermRef
[+]
lazy
val
Int_geR
: TermRef
[+]
lazy
val
Int_leR
: TermRef
[+]
lazy
val
Int_minusR
: TermRef
[+]
lazy
val
Int_mulR
: TermRef
[+]
lazy
val
Int_plusR
: TermRef
[+]
lazy
val
InvariantBetweenAnnotType
: TypeRef
[+]
lazy
val
JavaCloneableClass
: ClassSymbol
[+]
lazy
val
JavaLangPackageVal
: TermSymbol
[+]
lazy
val
JavaPackageVal
: TermSymbol
[+]
lazy
val
JavaSerializableClass
: ClassSymbol
[+]
lazy
val
LanguageModuleRef
: TermSymbol
[+]
lazy
val
LongType
: TypeRef
[+]
lazy
val
Long_LSR_Int
: Symbol
[+]
lazy
val
Long_XOR_Long
: Symbol
[+]
lazy
val
MatchErrorType
: TypeRef
[+]
lazy
val
MigrationAnnotType
: TypeRef
[+]
lazy
val
NativeAnnotType
: TypeRef
[+]
lazy
val
NilModuleRef
: TermRef
[+]
lazy
val
NoInitClasses
: This
Classes that are known not to have an initializer irrespective of
whether NoInits is set. Note: FunctionXXLClass is in this set
because if it is compile...
Classes that are known not to have an initializer irrespective of
whether NoInits is set. Note: FunctionXXLClass is in this set
because if it is compiled by Scala2, it does not get a NoInit flag.
But since it is introduced only at erasure, there's no chance
for augmentScala2Traits to do anything on a class that inherits it. So
it also misses an implementation class, which means that the usual scheme
of calling a superclass init in the implementation class of a Scala2
trait gets screwed up. Therefore, it is mandatory that FunctionXXL
is treated as a NoInit trait.
[+]
lazy
val
NonLocalReturnControlType
: TypeRef
[+]
lazy
val
NothingClass
: ClassSymbol
[+]
lazy
val
NullClass
: ClassSymbol
[+]
lazy
val
NullPointerExceptionClass
: ClassSymbol
[+]
lazy
val
ObjectClass
: ClassSymbol
[+]
lazy
val
Object_clone
: TermSymbol
[+]
lazy
val
Object_eq
: TermSymbol
[+]
lazy
val
Object_finalize
: TermSymbol
[+]
lazy
val
Object_ne
: TermSymbol
[+]
lazy
val
Object_notify
: TermSymbol
[+]
lazy
val
Object_notifyAll
: TermSymbol
[+]
lazy
val
Object_synchronized
: TermSymbol
[+]
lazy
val
Object_wait
: TermSymbol
[+]
lazy
val
Object_waitL
: TermSymbol
[+]
lazy
val
Object_waitLI
: TermSymbol
[+]
lazy
val
OpsPackageClass
: ClassSymbol
[+]
lazy
val
OpsPackageVal
: TermSymbol
A package in which we can place all methods that are interpreted specially by the compiler
A package in which we can place all methods that are interpreted specially by the compiler
[+]
lazy
val
OptionType
: TypeRef
[+]
lazy
val
PartialFunctionType
: TypeRef
[+]
lazy
val
PhantomClasses
: Set
[
Symbol
]
[+]
val
PredefImportFns
: List
[
() => TermRef
]
[+]
lazy
val
Predef_ImplicitConverterR
: TypeRef
[+]
lazy
val
Predef_classOfR
: TermRef
[+]
lazy
val
ProductNType
: Array
[
TypeRef
]
[+]
lazy
val
ProductType
: TypeRef
[+]
private lazy
val
ProductTypes
: Set
[
TypeRef
]
[+]
lazy
val
Product_canEqualR
: TermRef
[+]
lazy
val
Product_productArityR
: TermRef
[+]
lazy
val
Product_productPrefixR
: TermRef
[+]
lazy
val
RemoteAnnotType
: TypeRef
[+]
lazy
val
RepeatedAnnotType
: TypeRef
[+]
lazy
val
RepeatedParamClass
: ClassSymbol
[+]
lazy
val
RootClass
: ClassSymbol
[+]
lazy
val
RootImportFns
: List
[
() => TermRef
]
[+]
lazy
val
RootImportTypes
: List
[
TermRef
]
[+]
lazy
val
RootPackage
: TermSymbol
[+]
val
ScalaBoxedClasses
: PerRun
[
Set
[
Symbol
]
]
[+]
private lazy
val
ScalaBoxedTypes
: Set
[
TypeRef
]
[+]
lazy
val
ScalaLongSignatureAnnotType
: TypeRef
[+]
lazy
val
ScalaMathPackageVal
: TermSymbol
[+]
val
ScalaNumericValueClasses
: PerRun
[
Set
[
Symbol
]
]
[+]
lazy
val
ScalaNumericValueTypeList
: List
[
TypeRef
]
[+]
private lazy
val
ScalaNumericValueTypes
: Set
[
TypeRef
]
[+]
lazy
val
ScalaPackageClass
: ClassSymbol
[+]
lazy
val
ScalaPackageVal
: TermSymbol
[+]
lazy
val
ScalaPredefModuleRef
: TermRef
[+]
lazy
val
ScalaRuntimeModuleRef
: TermRef
[+]
lazy
val
ScalaShadowingPackageClass
: ClassSymbol
[+]
lazy
val
ScalaShadowingPackageVal
: TermSymbol
The scalaShadowing
package is used to safely modify classes and
objects in scala so that they can be used from dotty. They will
be visible as members of...
The scalaShadowing
package is used to safely modify classes and
objects in scala so that they can be used from dotty. They will
be visible as members of the scala
package, replacing any objects
or classes with the same name. But their binary artifacts are
in scalaShadowing
so they don't clash with the same-named scala
members at runtime.
[+]
lazy
val
ScalaSignatureAnnotType
: TypeRef
[+]
lazy
val
ScalaStaticAnnotType
: TypeRef
[+]
lazy
val
ScalaStaticsModuleRef
: TermRef
[+]
lazy
val
ScalaStrictFPAnnotType
: TypeRef
[+]
val
ScalaValueClasses
: PerRun
[
Set
[
Symbol
]
]
[+]
private lazy
val
ScalaValueTypes
: Set
[
TypeRef
]
[+]
lazy
val
SelectableType
: TypeRef
[+]
lazy
val
SeqType
: TypeRef
[+]
lazy
val
Seq_applyR
: TermRef
[+]
lazy
val
Seq_headR
: TermRef
[+]
lazy
val
SerialVersionUIDAnnotType
: TypeRef
[+]
lazy
val
SerializableType
: TypeRef
[+]
lazy
val
ShadowableImportNames
: Set
[
TermName
]
[+]
lazy
val
ShortType
: TypeRef
[+]
lazy
val
SingletonClass
: ClassSymbol
[+]
lazy
val
SourceFileAnnotType
: TypeRef
[+]
lazy
val
StaticAnnotationType
: TypeRef
[+]
val
StaticRootImportFns
: List
[
() => TermRef
]
[+]
lazy
val
StringAddType
: TypeRef
[+]
lazy
val
StringAdd_plusR
: TermRef
[+]
lazy
val
StringBuilderType
: TypeRef
[+]
lazy
val
StringClass
: ClassSymbol
[+]
lazy
val
StringModule
: Symbol
[+]
lazy
val
String_+
: TermSymbol
[+]
lazy
val
String_valueOf_Object
: Symbol
[+]
lazy
val
SwitchAnnotType
: TypeRef
[+]
lazy
val
SymbolType
: TypeRef
[+]
lazy
val
SysPackage
: TermSymbol
[+]
lazy
val
Sys_errorR
: TermRef
[+]
lazy
val
TASTYLongSignatureAnnotType
: TypeRef
[+]
lazy
val
TASTYSignatureAnnotType
: TypeRef
[+]
lazy
val
TailrecAnnotType
: TypeRef
[+]
lazy
val
ThrowableClass
: ClassSymbol
[+]
lazy
val
ThrowsAnnotType
: TypeRef
[+]
lazy
val
TransientAnnotType
: TypeRef
[+]
lazy
val
TupleType
: Array
[
TypeRef
]
[+]
private lazy
val
TupleTypes
: Set
[
TypeRef
]
[+]
lazy
val
UncheckedAnnotType
: TypeRef
[+]
lazy
val
UncheckedStableAnnotType
: TypeRef
[+]
lazy
val
UncheckedVarianceAnnotType
: TypeRef
[+]
lazy
val
UnitType
: TypeRef
[+]
lazy
val
UnqualifiedOwnerTypes
: Set
[
NamedType
]
Modules whose members are in the default namespace and their module classes
Modules whose members are in the default namespace and their module classes
[+]
lazy
val
UnsafeNonvariantAnnotType
: TypeRef
[+]
lazy
val
VolatileAnnotType
: TypeRef
[+]
lazy
val
XMLTopScopeModuleRef
: TermRef
[+]
private
var
_isInitialized
: Boolean
[+]
private
val
boxedTypes
: Map
[
TypeName, TypeRef
]
[+]
private implicit
var
ctx
: Context
[+]
lazy
val
dummyApply
: TermSymbol
Dummy method needed by elimByName
Dummy method needed by elimByName
[+]
private
var
myDottyPredefModuleRef
: TermRef
[+]
val
predefClassNames
: Set
[
Name
]
[+]
lazy
val
reservedScalaClassNames
: Set
[
Name
]
[+]
lazy
val
syntheticCoreClasses
: List
[
Symbol | Symbol
]
[+]
lazy
val
syntheticCoreMethods
: List
[
Symbol
]
Lists core methods that don't have underlying bytecode, but are synthesized on-the-fly in every reflection universe
Lists core methods that don't have underlying bytecode, but are synthesized on-the-fly in every reflection universe
[+]
lazy
val
syntheticScalaClasses
: List
[
TypeSymbol
]
Lists core classes that don't have underlying bytecode, but are synthesized on-the-fly in every reflection universe
Lists core classes that don't have underlying bytecode, but are synthesized on-the-fly in every reflection universe
[+]
lazy
val
throwMethod
: TermSymbol
Method representing a throw
Method representing a throw
[+]
private
val
valueTypeEnc
: Map
[
TypeName, PrimitiveClassEnc
]
[+]
def
AbstractFunctionClass
(
n:
Int
)
(
implicit
ctx:
Context
)
: Symbol
[+]
def
AbstractPartialFunctionClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
AliasAnnot
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
AnnotationClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
AnnotationDefaultAnnot
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
AnyMethods
: List
[
TermSymbol
]
[+]
def
AnyRefType
: TypeRef
[+]
def
AnyType
: TypeRef
[+]
def
AnyValType
: TypeRef
[+]
def
ArrayClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
ArrayConstructor
(
implicit
ctx:
Context
)
: Symbol
[+]
def
ArrayModule
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
Array_apply
(
implicit
ctx:
Context
)
: Symbol
[+]
def
Array_clone
(
implicit
ctx:
Context
)
: Symbol
[+]
def
Array_length
(
implicit
ctx:
Context
)
: Symbol
[+]
def
Array_update
(
implicit
ctx:
Context
)
: Symbol
[+]
def
BodyAnnot
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
BooleanClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
Boolean_!
: Symbol
[+]
def
Boolean_&&
: Symbol
[+]
def
Boolean_||
: Symbol
[+]
def
BoxedBooleanClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
BoxedByteClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
BoxedCharClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
BoxedDoubleClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
BoxedFloatClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
BoxedIntClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
BoxedLongClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
BoxedShortClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
BoxedUnitClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
BoxedUnit_UNIT
(
implicit
ctx:
Context
)
: TermSymbol
[+]
def
BoxesRunTimeClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
BoxesRunTimeModule
(
implicit
ctx:
Context
)
: Symbol
[+]
def
ByteClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
CharClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
ChildAnnot
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
ClassTagClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
ClassTagModule
(
implicit
ctx:
Context
)
: Symbol
[+]
def
ClassType
(
arg:
Type
)
(
implicit
ctx:
Context
)
: Type
[+]
def
ClassfileAnnotationClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
ContravariantBetweenAnnot
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
CovariantBetweenAnnot
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
DeprecatedAnnot
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
DottyArraysModule
(
implicit
ctx:
Context
)
: Symbol
[+]
def
DottyPredefModule
(
implicit
ctx:
Context
)
: Symbol
[+]
def
DottyPredefModuleRef
: TermRef
[+]
def
DoubleClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
DynamicClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
EnumClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
EnumType
(
sym:
Symbol
)
(
implicit
ctx:
Context
)
: TypeRef
The enumeration type, goven a value of the enumeration
The enumeration type, goven a value of the enumeration
[+]
def
EnumValuesClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
EqClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
FloatClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
Function0_apply
(
implicit
ctx:
Context
)
: Symbol
[+]
def
FunctionClass
(
n:
Int
,
isImplicit:
Boolean
)
(
implicit
ctx:
Context
)
: Symbol
[+]
def
FunctionClass$default$2
: Boolean
[+]
def
FunctionClassPerRun
: PerRun
[
Array
[
Symbol
]
]
[+]
def
FunctionType
(
n:
Int
,
isImplicit:
Boolean
)
(
implicit
ctx:
Context
)
: TypeRef
[+]
def
FunctionType$default$2
: Boolean
[+]
def
FunctionXXLClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
ImplicitNotFoundAnnot
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
InlineAnnot
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
InlineParamAnnot
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
IntClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
InvariantBetweenAnnot
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
LanguageModuleClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
LongClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
MatchErrorClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
MigrationAnnot
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
NativeAnnot
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
NilModule
(
implicit
ctx:
Context
)
: Symbol
[+]
def
NothingType
: TypeRef
[+]
def
NullType
: TypeRef
[+]
def
ObjectMethods
: List
[
TermSymbol
]
[+]
def
ObjectType
: TypeRef
[+]
def
OptionClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
PartialFunctionClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
Predef_ImplicitConverter
(
implicit
ctx:
Context
)
: Symbol
[+]
def
Predef_classOf
(
implicit
ctx:
Context
)
: Symbol
[+]
def
Predef_eqAny
(
implicit
ctx:
Context
)
: TermSymbol
[+]
def
ProductClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
Product_canEqual
(
implicit
ctx:
Context
)
: Symbol
[+]
def
Product_productArity
(
implicit
ctx:
Context
)
: Symbol
[+]
def
Product_productPrefix
(
implicit
ctx:
Context
)
: Symbol
[+]
def
RemoteAnnot
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
RepeatedAnnot
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
RepeatedParamType
: TypeRef
[+]
def
ScalaLongSignatureAnnot
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
ScalaPredefModule
(
implicit
ctx:
Context
)
: Symbol
[+]
def
ScalaRuntimeClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
ScalaRuntimeModule
(
implicit
ctx:
Context
)
: Symbol
[+]
def
ScalaRuntime_drop
(
implicit
ctx:
Context
)
: Symbol
[+]
def
ScalaRuntime_dropR
(
implicit
ctx:
Context
)
: TermRef
[+]
def
ScalaSignatureAnnot
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
ScalaStaticAnnot
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
ScalaStaticsClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
ScalaStaticsModule
(
implicit
ctx:
Context
)
: Symbol
[+]
def
ScalaStrictFPAnnot
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
SeqClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
Seq_apply
(
implicit
ctx:
Context
)
: Symbol
[+]
def
Seq_head
(
implicit
ctx:
Context
)
: Symbol
[+]
def
SerialVersionUIDAnnot
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
SerializableClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
ShortClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
SingletonType
: TypeRef
[+]
def
SourceFileAnnot
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
StaticAnnotationClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
StringAddClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
StringAdd_+
(
implicit
ctx:
Context
)
: Symbol
[+]
def
StringBuilderClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
StringType
: Type
[+]
def
SwitchAnnot
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
SymbolClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
Sys_error
(
implicit
ctx:
Context
)
: Symbol
[+]
def
TASTYLongSignatureAnnot
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
TASTYSignatureAnnot
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
TailrecAnnot
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
ThrowableType
: TypeRef
[+]
def
ThrowsAnnot
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
TransientAnnot
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
UncheckedAnnot
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
UncheckedStableAnnot
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
UncheckedVarianceAnnot
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
UnitClass
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
UnsafeNonvariantAnnot
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
VolatileAnnot
(
implicit
ctx:
Context
)
: ClassSymbol
[+]
def
boxedType
(
tp:
Type
)
(
implicit
ctx:
Context
)
: TypeRef
The type of the boxed class corresponding to primitive value type tp
.
The type of the boxed class corresponding to primitive value type tp
.
[+]
private
def
completeClass
(
cls:
ClassSymbol
)
: ClassSymbol
[+]
private implicit
def
ctx_=
(
x$1:
Context
)
: Unit
[+]
private
def
enterAliasType
(
name:
TypeName
,
tpe:
Type
,
flags:
FlagSet
)
: TypeSymbol
[+]
def
enterAliasType$default$3
: R
[+]
private
def
enterCompleteClassSymbol
(
owner:
Symbol
,
name:
TypeName
,
flags:
FlagSet
,
parents:
List
[
TypeRef
]
,
decls:
Scope
)
: ClassSymbol
[+]
def
enterCompleteClassSymbol$default$5
: MutableScope
[+]
private
def
enterMethod
(
cls:
ClassSymbol
,
name:
TermName
,
info:
Type
,
flags:
FlagSet
)
: TermSymbol
[+]
def
enterMethod$default$4
: R
[+]
private
def
enterPolyMethod
(
cls:
ClassSymbol
,
name:
TermName
,
typeParamCount:
Int
,
resultTypeFn:
PolyType => Type
,
flags:
FlagSet
)
: TermSymbol
[+]
def
enterPolyMethod$default$5
: R
[+]
private
def
enterSpecialPolyClass
(
name:
TypeName
,
paramFlags:
FlagSet
,
parentConstrs: =>
Seq
[
Type
]
)
: ClassSymbol
[+]
private
def
enterSyntheticTypeParam
(
cls:
ClassSymbol
,
paramFlags:
FlagSet
,
scope:
MutableScope
,
suffix:
String
)
: Symbol
[+]
def
enterSyntheticTypeParam$default$4
: String
[+]
private
def
enterT1EmptyParamsMethod
(
cls:
ClassSymbol
,
name:
TermName
,
resultTypeFn:
PolyType => Type
,
flags:
FlagSet
)
: TermSymbol
[+]
private
def
enterT1ParameterlessMethod
(
cls:
ClassSymbol
,
name:
TermName
,
resultTypeFn:
PolyType => Type
,
flags:
FlagSet
)
: TermSymbol
[+]
private
def
enterTypeField
(
cls:
ClassSymbol
,
name:
TypeName
,
flags:
FlagSet
,
scope:
MutableScope
)
: Symbol
[+]
private
def
enterTypeParam
(
cls:
ClassSymbol
,
name:
TypeName
,
flags:
FlagSet
,
scope:
MutableScope
)
: Symbol
[+]
def
erasedFunctionClass
(
cls:
Symbol
)
: Symbol
Returns the erased class of the function class cls
- FunctionN for N > 22 becomes FunctionXXL
- FunctionN for 22 > N >= 0 remains as FunctionN
- Implicit...
Returns the erased class of the function class cls
- FunctionN for N > 22 becomes FunctionXXL
- FunctionN for 22 > N >= 0 remains as FunctionN
- ImplicitFunctionN for N > 22 becomes FunctionXXL
- ImplicitFunctionN for 22 > N >= 0 becomes FunctionN
- anything else becomes a NoSymbol
[+]
def
erasedFunctionType
(
cls:
Symbol
)
: Type
Returns the erased type of the function class cls
- FunctionN for N > 22 becomes FunctionXXL
- FunctionN for 22 > N >= 0 remains as FunctionN
- ImplicitF...
Returns the erased type of the function class cls
- FunctionN for N > 22 becomes FunctionXXL
- FunctionN for 22 > N >= 0 remains as FunctionN
- ImplicitFunctionN for N > 22 becomes FunctionXXL
- ImplicitFunctionN for 22 > N >= 0 becomes FunctionN
- anything else becomes a NoType
[+]
def
functionArity
(
tp:
Type
)
(
implicit
ctx:
Context
)
: Int
[+]
def
init
(
)
(
implicit
ctx:
Context
)
: Unit
[+]
def
isAbstractFunctionClass
(
cls:
Symbol
)
: Boolean
[+]
def
isBottomClass
(
cls:
Symbol
)
: Boolean
[+]
def
isBottomType
(
tp:
Type
)
: Boolean
[+]
def
isFunctionClass
(
cls:
Symbol
)
: Boolean
Is a function class.
- FunctionN for N >= 0
- ImplicitFunctionN for N >= 0
Is a function class.
- FunctionN for N >= 0
- ImplicitFunctionN for N >= 0
[+]
def
isFunctionType
(
tp:
Type
)
(
implicit
ctx:
Context
)
: Boolean
Is tp
(an alias) of either a scala.FunctionN or a scala.ImplicitFunctionN?
Is tp
(an alias) of either a scala.FunctionN or a scala.ImplicitFunctionN?
[+]
def
isImplicitFunctionClass
(
cls:
Symbol
)
: Boolean
Is an implicit function class.
- ImplicitFunctionN for N >= 0
Is an implicit function class.
- ImplicitFunctionN for N >= 0
[+]
def
isImplicitFunctionType
(
tp:
Type
)
(
implicit
ctx:
Context
)
: Boolean
[+]
private
def
isInitialized
: Boolean
[+]
def
isPolymorphicAfterErasure
(
sym:
Symbol
)
: Boolean
[+]
def
isPredefClass
(
cls:
Symbol
)
: Boolean
Is cls
the predef module class, or a class inherited by Predef?
Is cls
the predef module class, or a class inherited by Predef?
[+]
def
isProductClass
(
cls:
Symbol
)
: Boolean
[+]
def
isSyntheticFunctionClass
(
cls:
Symbol
)
: Boolean
Is a synthetic function class
- FunctionN for N > 22
- ImplicitFunctionN for N >= 0
Is a synthetic function class
- FunctionN for N > 22
- ImplicitFunctionN for N >= 0
[+]
def
isTupleClass
(
cls:
Symbol
)
: Boolean
[+]
def
isTupleType
(
tp:
Type
)
(
implicit
ctx:
Context
)
: Boolean
[+]
def
isValueSubClass
(
sym1:
Symbol
,
sym2:
Symbol
)
: Boolean
[+]
def
isValueSubType
(
tref1:
TypeRef
,
tref2:
TypeRef
)
(
implicit
ctx:
Context
)
: Boolean
[+]
private
def
isVarArityClass
(
cls:
Symbol
,
prefix:
String
)
: Boolean
[+]
def
isXXLFunctionClass
(
cls:
Symbol
)
: Boolean
Is a class that will be erased to FunctionXXL
- FunctionN for N >= 22
- ImplicitFunctionN for N >= 22
Is a class that will be erased to FunctionXXL
- FunctionN for N >= 22
- ImplicitFunctionN for N >= 22
[+]
def
methOfAny
(
tp:
Type
)
: LT
[+]
def
methOfAnyRef
(
tp:
Type
)
: LT
[+]
def
methOfAnyVal
(
tp:
Type
)
: LT
[+]
private
def
mkArityArray
(
name:
String
,
arity:
Int
,
countFrom:
Int
)
: Array
[
TypeRef
]
[+]
def
newArrayMethod
(
implicit
ctx:
Context
)
: TermSymbol
[+]
private
def
newClassSymbol
(
owner:
Symbol
,
name:
TypeName
,
flags:
FlagSet
,
infoFn:
ClassSymbol => Type
)
: ClassSymbol
[+]
def
newFunctionNTrait
(
name:
TypeName
)
: ClassSymbol
The trait FunctionN or ImplicitFunctionN, for some N
The trait FunctionN or ImplicitFunctionN, for some N
[+]
def
newGenericArrayMethod
(
implicit
ctx:
Context
)
: TermSymbol
[+]
private
def
newMethod
(
cls:
ClassSymbol
,
name:
TermName
,
info:
Type
,
flags:
FlagSet
)
: TermSymbol
[+]
def
newMethod$default$4
: R
[+]
private
def
newSymbol
(
owner:
Symbol
,
name:
N
,
flags:
FlagSet
,
info:
Type
)
: Symbol
[+]
def
runtimeMethodRef
(
name:
PreName
)
: TermRef
[+]
def
scalaClassName
(
cls:
Symbol
)
(
implicit
ctx:
Context
)
: TypeName
If cls
is a class in the scala package, its name, otherwise EmptyTypeName
If cls
is a class in the scala package, its name, otherwise EmptyTypeName
[+]
def
scalaClassName
(
ref:
Type
)
(
implicit
ctx:
Context
)
: TypeName
If type ref
refers to a class in the scala package, its name, otherwise EmptyTypeName
If type ref
refers to a class in the scala package, its name, otherwise EmptyTypeName
[+]
def
staticsMethod
(
name:
PreName
)
: TermSymbol
[+]
def
staticsMethodRef
(
name:
PreName
)
: TermRef
[+]
def
tupleType
(
elems:
List
[
Type
]
)
: Type
[+]
private
def
valueTypeRef
(
name:
String
,
boxed:
TypeRef
,
jtype:
Class
[
Nothing <: Any
]
,
enc:
Int
)
: TypeRef