Dotty Documentation

0.5.0-bin-SNAPSHOT

class Definitions
extends Object

A class defining symbols and types of standard definitions

Note: There's a much nicer design possible once we have implicit functions. The idea is explored to some degree in branch wip-definitions (#929): Instead of a type and a separate symbol definition, we produce in one line an implicit function from Context to Symbol, and possibly also the corresponding type. This cuts down on all the duplication encountered here.

wip-definitions tries to do the same with an implicit conversion from a SymbolPerRun type to a symbol type. The problem with that is universal equality. Comparisons will not trigger the conversion and will therefore likely return false results.

So the branch is put on hold, until we have implicit functions, which will always automatically be dereferenced.

[-] Constructors

Definitions ( )

[-] Members

[+] object ArrayOf
[+] object FunctionOf
[+] object MultiArrayOf

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)

[+] object PartialFunctionOf
[+] class PerRun

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 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 Any_typeTest : TermSymbol
[+] lazy val ArithmeticExceptionClass : ClassSymbol
[+] lazy val ArithmeticExceptionClass_stringConstructor : 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
[+] val BooleanEnc : Int
[+] lazy val BooleanType : TypeRef
[+] lazy val Boolean_andR : TermRef
[+] lazy val Boolean_eqeqR : SingleDenotation
[+] lazy val Boolean_neqeqR : SingleDenotation
[+] 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
[+] val ByteEnc : Int
[+] lazy val ByteType : TypeRef
[+] val CharEnc : Int
[+] 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
[+] val DoubleEnc : Int
[+] 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 ErasedPhantomType : TypeRef
[+] lazy val FieldMetaAnnotType : TypeRef
[+] val FloatEnc : Int
[+] lazy val FloatType : TypeRef
[+] private lazy val Function0SpecializedReturns : Set [ Type ]
[+] lazy val Function0_applyR : TermRef
[+] private lazy val Function1SpecializedParams : Set [ Type ]
[+] private lazy val Function1SpecializedReturns : Set [ Type ]
[+] private lazy val Function2SpecializedParams : Set [ Type ]
[+] private lazy val Function2SpecializedReturns : Set [ Type ]
[+] lazy val FunctionXXLType : TypeRef
[+] lazy val GetterMetaAnnotType : TypeRef
[+] private lazy val ImplementedFunctionType : Array [ TypeRef ]
[+] lazy val ImplicitNotFoundAnnotType : TypeRef
[+] lazy val IndexOutOfBoundsException : ClassSymbol
[+] lazy val InlineAnnotType : TypeRef
[+] lazy val InlineParamAnnotType : TypeRef
[+] val IntEnc : Int
[+] 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
[+] val LongEnc : Int
[+] lazy val LongType : TypeRef
[+] lazy val Long_LSR_Int : Symbol
[+] lazy val Long_XOR_Long : Symbol
[+] lazy val Long_divR : TermRef
[+] lazy val Long_mulR : TermRef
[+] lazy val Long_plusR : TermRef
[+] lazy val MatchErrorType : TypeRef
[+] lazy val MigrationAnnotType : TypeRef
[+] lazy val NativeAnnotType : TypeRef
[+] lazy val NilModuleRef : TermRef
[+] lazy val NoInitClasses : Set [ Symbol ]

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 NoneModuleRef : TermRef
[+] lazy val NotRuntimeClasses : Set [ Symbol ]
[+] lazy val NotType : 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

[+] lazy val OptionType : TypeRef
[+] lazy val PartialFunctionType : TypeRef
[+] lazy val PhantomClass : ClassSymbol
[+] lazy val Phantom_AnyClass : ClassSymbol
[+] lazy val Phantom_NothingClass : ClassSymbol
[+] lazy val Phantom_assume : Symbol
[+] val PredefImportFns : List [ () => TermRef ]
[+] lazy val Predef_ConformsR : TypeRef
[+] lazy val Predef_ImplicitConverterR : TypeRef
[+] lazy val Predef_classOfR : TermRef
[+] lazy val Predef_conformsR : TermRef
[+] lazy val Predef_undefinedR : TermRef
[+] lazy val ProductType : TypeRef
[+] lazy val Product_canEqualR : TermRef
[+] lazy val Product_productArityR : TermRef
[+] lazy val Product_productElementR : 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
[+] lazy val RuntimeNothingModuleRef : TermRef
[+] lazy val RuntimeNullModuleRef : TermRef
[+] 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 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_dropR : TermRef
[+] lazy val Seq_headR : TermRef
[+] lazy val Seq_lengthCompareR : TermRef
[+] lazy val SerialVersionUIDAnnotType : TypeRef
[+] lazy val SerializableType : TypeRef
[+] lazy val SetterMetaAnnotType : TypeRef
[+] lazy val ShadowableImportNames : Set [ TermName ]
[+] val ShortEnc : Int
[+] lazy val ShortType : TypeRef
[+] lazy val ShowAsInfixAnotType : TypeRef
[+] lazy val SingletonClass : ClassSymbol
[+] lazy val SomeType : TypeRef
[+] 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 SystemClass : ClassSymbol
[+] lazy val SystemModule : Symbol
[+] 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
[+] val UnitEnc : Int
[+] lazy val UnitType : TypeRef
[+] lazy val UnqualifiedOwnerTypes : Set [ NamedType ]

Modules whose members are in the default namespace and their module classes

[+] lazy val VolatileAnnotType : TypeRef
[+] lazy val XMLTopScopeModuleRef : TermRef
[+] private var _isInitialized : Boolean
[+] private val boxedTypes : Map [ TypeName, TypeRef ]
[+] lazy val cbnArg : TermSymbol

Marker method to indicate an argument to a call-by-name parameter. Created by byNameClosures and elimByName, eliminated by Erasure,

[+] private implicit var ctx : Context
[+] private var myDottyPredefModuleRef : TermRef
[+] val predefClassNames : Set [ Name ]
[+] lazy val reservedScalaClassNames : Set [ Name ]
[+] lazy val syntheticCoreClasses : List [ 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

[+] lazy val syntheticScalaClasses : List [ TypeSymbol ]

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

[+] private val typeTags : Map [ TypeName, Name ]
[+] 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 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

[+] def EnumValuesClass ( implicit ctx: Context ) : ClassSymbol
[+] def EqClass ( implicit ctx: Context ) : ClassSymbol
[+] def EqModule ( implicit ctx: Context ) : Symbol
[+] def Eq_eqAny ( implicit ctx: Context ) : TermSymbol
[+] def ErasedPhantomClass ( implicit ctx: Context ) : ClassSymbol
[+] def ErasedPhantom_UNIT ( implicit ctx: Context ) : TermSymbol
[+] def FieldMetaAnnot ( 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 FunctionClassPerRun : PerRun [ Array [ Symbol ] ]
[+] def FunctionType ( n: Int , isImplicit: Boolean ) ( implicit ctx: Context ) : TypeRef
[+] def FunctionXXLClass ( implicit ctx: Context ) : ClassSymbol
[+] def GetterMetaAnnot ( 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 Int_* : Symbol
[+] def Int_+ : Symbol
[+] def Int_- : Symbol
[+] def Int_/ : Symbol
[+] def Int_<= : Symbol
[+] def Int_== : Symbol
[+] def Int_>= : Symbol
[+] def InvariantBetweenAnnot ( implicit ctx: Context ) : ClassSymbol
[+] def LanguageModuleClass ( implicit ctx: Context ) : ClassSymbol
[+] def LongClass ( implicit ctx: Context ) : ClassSymbol
[+] def Long_* : Symbol
[+] def Long_+ : Symbol
[+] def Long_/ : Symbol
[+] 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 NoneClass ( implicit ctx: Context ) : ClassSymbol
[+] def NotClass ( implicit ctx: Context ) : ClassSymbol
[+] def NotModule ( implicit ctx: Context ) : Symbol
[+] def Not_value ( implicit ctx: Context ) : TermSymbol
[+] 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_Conforms ( implicit ctx: Context ) : Symbol
[+] def Predef_ImplicitConverter ( implicit ctx: Context ) : Symbol
[+] def Predef_classOf ( implicit ctx: Context ) : Symbol
[+] def Predef_conforms ( implicit ctx: Context ) : Symbol
[+] def Predef_undefined ( implicit ctx: Context ) : Symbol
[+] def ProductClass ( implicit ctx: Context ) : ClassSymbol
[+] def Product_canEqual ( implicit ctx: Context ) : Symbol
[+] def Product_productArity ( implicit ctx: Context ) : Symbol
[+] def Product_productElement ( 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_drop ( implicit ctx: Context ) : Symbol
[+] def Seq_head ( implicit ctx: Context ) : Symbol
[+] def Seq_lengthCompare ( implicit ctx: Context ) : Symbol
[+] def SerialVersionUIDAnnot ( implicit ctx: Context ) : ClassSymbol
[+] def SerializableClass ( implicit ctx: Context ) : ClassSymbol
[+] def SetterMetaAnnot ( implicit ctx: Context ) : ClassSymbol
[+] def ShortClass ( implicit ctx: Context ) : ClassSymbol
[+] def ShowAsInfixAnnot ( implicit ctx: Context ) : ClassSymbol
[+] def SomeClass ( implicit ctx: Context ) : ClassSymbol
[+] 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 VolatileAnnot ( implicit ctx: Context ) : ClassSymbol
[+] def asImplicitFunctionType ( tp: Type ) ( implicit ctx: Context ) : Type

Return underlying immplicit function type (i.e. instance of an ImplicitFunctionN class) or NoType if none exists. The following types are considered as underlying types: - the alias of an alias type - the instance or origin of a TypeVar (i.e. the result of a stripTypeVar) - the upper bound of a TypeParamRef in the current constraint

[+] def boxedType ( tp: Type ) ( implicit ctx: Context ) : TypeRef

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
[+] private def enterCompleteClassSymbol ( owner: Symbol , name: TypeName , flags: FlagSet , parents: List [ TypeRef ] , decls: Scope ) : ClassSymbol
[+] private def enterMethod ( cls: ClassSymbol , name: TermName , info: Type , flags: FlagSet ) : TermSymbol
[+] private def enterPolyMethod ( cls: ClassSymbol , name: TermName , typeParamCount: Int , resultTypeFn: PolyType => Type , flags: FlagSet ) : TermSymbol
[+] private def enterSpecialPolyClass ( name: TypeName , paramFlags: FlagSet , parentConstrs: => Seq [ Type ]