Dotty Documentation

0.15.0-bin-SNAPSHOT

class KernelImpl
extends Object with Kernel

[-] Constructors

KernelImpl ( rootContext: Context , rootPosition: SourcePosition )

[-] Members

[+] type Alternatives = Alternative

Pattern representing X | Y | ... alternatives.

[+] type AndType = AndType

Intersection type T & U

[+] type Annotated = Annotated

Type tree representing an annotated type

[+] type AnnotatedType = AnnotatedType

A type with an anottation T @foo

[+] type Applied = AppliedTypeTree

Type tree representing a type application

[+] type AppliedType = AppliedType

A higher kinded type applied to some types T[U]

[+] type Apply = Apply

Tree an application of arguments. It represents a single list of arguments, multiple argument lists will have nested Applys

[+] type Assign = Assign

Tree representing an assignment x = y in the source code

[+] type Bind = Bind

Pattern representing a _ @ _ binding.

[+] type BindSymbol = TermSymbol

Symbol representing a bind definition.

[+] type Block = Block

Tree representing a block { ... } in the source code

[+] type ByName = ByNameTypeTree

Type tree representing a by name parameter

[+] type ByNameType = ExprType

Type of a by by name parameter

[+] type CaseDef = CaseDef

Branch of a pattern match or catch clause

[+] type ClassDef = TypeDef

Tree representing a class definition. This includes annonymus class definitions and the class of a module object

[+] type ClassDefSymbol = ClassSymbol

Symbol of a class definition. This includes anonymous class definitions and the class of a module object.

[+] type Comment = Comment

Comment

[+] type Constant = Constant

Constant value represented as the constant itself

[+] type ConstantType = ConstantType

A singleton type representing a known constant value

[+] type Context = Context

Compilation context

[+] type DefDef = DefDef

Tree representing a method definition in the source code

[+] type DefDefSymbol = TermSymbol

Symbol representing a method definition.

[+] type Definition = Tree

Tree representing a definition in the source code. It can be PackageDef, ClassDef, TypeDef, DefDef or ValDef

[+] type Flags = FlagSet

FlagSet of a Symbol

[+] type Id = Ident

Untyped identifier

[+] type Ident = Ident

Tree representing a reference to definition with a given name

[+] type If = If

Tree representing an if/then/else if (...) ... else ... in the source code

[+] type ImplicitMatch = Match

Tree representing a pattern match implicit match { ... } in the source code

[+] type Import = Import

Tree representing an import in the source code

[+] type ImportSelector = Tree

Import selectors: * SimpleSelector: .bar in import foo.bar * RenameSelector: .{bar => baz} in import foo.{bar => baz} * OmitSelector: .{bar => _} in import foo.{bar => _}

[+] type Inferred = TypeTree

Type tree representing an inferred type

[+] type Inlined = Inlined

Tree representing the scope of an inlined tree

[+] type Lambda = Closure

Tree representing a lambda (...) => ... in the source code

[+] type LambdaType = LambdaType

Common abstraction for lambda types (MethodType, PolyType and TypeLambda).

[+] type LambdaTypeTree = LambdaTypeTree

Type tree representing a lambda abstraction type

[+] type Literal = Literal

Tree representing a literal value in the source code

[+] type Match = Match

Tree representing a pattern match x match { ... } in the source code

[+] type MatchType = MatchType

Type match T match { case U => ... }

[+] type MatchTypeTree = MatchTypeTree

Type tree representing a type match

[+] type MethodType = MethodType

Type of the definition of a method taking a single list of parameters. It's return type may be a MethodType.

[+] type NamedArg = NamedArg

Tree representing an argument passed with an explicit name. Such as arg1 = x in foo(arg1 = x)

[+] type New = New

Tree representing new in the source code

[+] type NoPrefix = NoPrefix.type

NoPrefix for a type selection

[+] type NoSymbol = NoSymbol.type

No symbol available.

[+] type OmitSelector = Thicket
[+] type OrType = OrType

Union type T | U

[+] type PackageClause = PackageDef

Tree representing a pacakage clause in the source code

[+] type PackageDef = PackageDefinition

Tree representing a package definition. This includes definitions in all source files

[+] type PackageDefSymbol = Symbol

Symbol of a package definition

[+] type ParamRef = ParamRef

Type of a parameter reference

[+] type Pattern = Tree

Pattern tree of the pattern part of a CaseDef

[+] type PolyType = PolyType

Type of the definition of a method taking a list of type parameters. It's return type may be a MethodType.

[+] type Position = SourcePosition

Position in a source file

[+] type Projection = Select

Type tree representing a selection of definition with a given name on a given type prefix

[+] type RecursiveThis = RecThis

A type that is recursively defined this

[+] type RecursiveType = RecType

A type that is recursively defined

[+] type Ref = RefTree

Tree representing a reference to definition

[+] type Refined = RefinedTypeTree

Type tree representing a type refinement

[+] type Refinement = RefinedType

A type with a type refinement T { type U }

[+] type RenameSelector = Thicket
[+] type Repeated = SeqLiteral

Tree representing a variable argument list in the source code

[+] type Return = Return

Tree representing a return in the source code

[+] type Select = Select

Tree representing a selection of definition with a given name on a given prefix

[+] type SelectOuter = Select

Tree representing a selection of definition with a given name on a given prefix and number of nested scopes of inlined trees

[+] type Settings = ScalaSettings

Settings

[+] type Signature = Signature

JVM signature of a method

[+] type SimpleSelector = Ident
[+] type Singleton = SingletonTypeTree

Type tree representing a singleton type

[+] type SourceFile = SourceFile

Scala source file

[+] type Statement = Tree

Tree representing a statement in the source code

[+] type Super = Super

Tree representing super in the source code

[+] type SuperType = SuperType

Type of a super refernce

[+] type SymRef = NamedType

Type of a reference to a symbol

[+] type Symbol = Symbol

Symbol of a definition. Then can be compared with == to know if the definition is the same.

[+] type Term = Tree

Tree representing an expression in the source code

[+] type TermRef = NamedType

Type of a reference to a term

[+] type TermSymbol = TermSymbol
[+] type This = This

Tree representing this in the source code

[+] type ThisType = ThisType

Type of this

[+] type Tree = Tree

Tree representing code written in the source

[+] type Try = Try

Tree representing a tyr catch try x catch { ... } finally { ... } in the source code

[+] type Type = Type

A type

[+] type TypeApply = TypeApply

Tree an application of type arguments

[+] type TypeBind = Bind

Type tree representing a type binding

[+] type TypeBindSymbol = TypeSymbol

Symbol representing a bind definition.

[+] type TypeBlock = Block

Type tree within a block with aliases { type U1 = ... ; T[U1, U2] }

[+] type TypeBounds = TypeBounds

Type bounds

[+] type TypeBoundsTree = TypeBoundsTree

Type tree representing a type bound written in the source

[+] type TypeCaseDef = CaseDef

Branch of a type pattern match

[+] type TypeDef = TypeDef

Tree representing a type (paramter or member) definition in the source code

[+] type TypeDefSymbol = TypeSymbol

Symbol of a type (parameter or member) definition.

[+] type TypeIdent = Ident

Type tree representing a reference to definition with a given name

[+] type TypeLambda = TypeLambda

Type of the definition of a type lambda taking a list of type parameters. It's return type may be a TypeLambda.

[+] type TypeOrBounds = Type

Type or bounds

[+] type TypeRef = NamedType

Type of a reference to a type

[+] type TypeSelect = Select

Type tree representing a selection of definition with a given name on a given term prefix

[+] type TypeSymbol = TypeSymbol
[+] type TypeTest = Typed

Pattern representing a x: Y type test.

[+] type TypeTree = Tree

Type tree representing a type written in the source

[+] type Typed = Typed

Tree representing a type ascription x: T in the source code

[+] type Unapply = UnApply

Pattern representing a Xyz(...) unapply.

[+] type ValDef = ValDef

Tree representing a value definition in the source code This inclues val, lazy val, var, object and parameter definitions.

[+] type ValDefSymbol = TermSymbol

Symbol representing a value definition. This includes val, lazy val, var, object and parameter definitions.

[+] type Value = Tree

Pattern representing a value. This includes 1, x and _

[+] type While = WhileDo

Tree representing a while loop

[+] type WildcardPattern = Ident

Pattern representing a _ pattern

[+] type WildcardTypeTree = Ident

Type tree representing wildcard type bounds written in the source. The wildcard type _ (for example in in List[_]) will be a type tree that represents a type but has TypeBounda inside.

[+] val rootContext : Context

Context of the macro expansion

[+] val rootPosition : SourcePosition

Root position of this tasty context. For macros it corresponds to the expansion site.

[+] def AndType_left ( self: AndType ) ( implicit ctx: Context ) : Type
[+] def AndType_right ( self: AndType ) ( implicit ctx: Context ) : Type
[+] def AnnotatedType_annot ( self: AnnotatedType ) ( implicit ctx: Context ) : Term
[+] def AnnotatedType_underlying ( self: AnnotatedType ) ( implicit ctx: Context ) : Type
[+] def Annotated_annotation ( self: Annotated ) ( implicit ctx: Context ) : Term
[+] def Annotated_apply ( arg: TypeTree , annotation: Term ) ( implicit ctx: Context ) : Annotated
[+] def Annotated_arg ( self: Annotated ) ( implicit ctx: Context ) : TypeTree
[+] def Annotated_copy ( original: Annotated ) ( arg: TypeTree , annotation: Term ) ( implicit ctx: Context ) : Annotated
[+] def AppliedType_args ( self: AppliedType ) ( implicit ctx: Context ) : List [ TypeOrBounds ]
[+] def AppliedType_tycon ( self: AppliedType ) ( implicit ctx: Context ) : Type
[+] def Applied_apply ( tpt: TypeTree , args: List [ Tree ] ) ( implicit ctx: Context ) : Applied
[+] def Applied_args ( self: Applied ) ( implicit ctx: Context ) : List [ Tree ]
[+] def Applied_copy ( original: Applied ) ( tpt: TypeTree , args: List [ Tree ] ) ( implicit ctx: Context ) : Applied
[+] def Applied_tpt ( self: Applied ) ( implicit ctx: Context ) : TypeTree
[+] def Apply_apply ( fn: Term , args: List [ Term ] ) ( implicit ctx: Context ) : Apply
[+] def Apply_args ( self: Apply ) ( implicit ctx: Context ) : List [ Term ]
[+] def Apply_copy ( original: Tree ) ( fun: Term , args: List [ Term ] ) ( implicit ctx: Context ) : Apply
[+] def Apply_fun ( self: Apply ) ( implicit ctx: Context ) : Term
[+] def Assign_apply ( lhs: Term , rhs: Term ) ( implicit ctx: Context ) : Assign
[+] def Assign_copy ( original: Tree ) ( lhs: Term , rhs: Term ) ( implicit ctx: Context ) : Assign
[+] def Assign_lhs ( self: Assign ) ( implicit ctx: Context ) : Term
[+] def Assign_rhs ( self: Assign ) ( implicit ctx: Context ) : Term
[+] def BindSymbol_tree ( self: BindSymbol ) ( implicit ctx: Context ) : Bind

Bind pattern of this definition

[+] def Block_apply ( stats: List [ Statement ] , expr: Term ) ( implicit ctx: Context ) : Block
[+] def Block_copy ( original: Tree ) ( stats: List [ Statement ] , expr: Term ) ( implicit ctx: Context ) : Block
[+] def Block_expr ( self: Block ) ( implicit ctx: Context ) : Term
[+] def Block_statements ( self: Block ) ( implicit ctx: Context ) : List [ Statement ]
[+] def ByNameType_underlying ( self: ByNameType ) ( implicit ctx: Context ) : Type
[+] def ByName_apply ( result: TypeTree ) ( implicit ctx: Context ) : ByName
[+] def ByName_copy ( original: ByName ) ( result: TypeTree ) ( implicit ctx: Context ) : ByName
[+] def ByName_result ( self: ByName ) ( implicit ctx: Context ) : TypeTree
[+] def CaseDef_guard ( self: CaseDef ) ( implicit ctx: Context ) : Option [ Term ]
[+] def CaseDef_module_apply ( pattern: Pattern , guard: Option [ Term ] , body: Term ) ( implicit ctx: Context ) : CaseDef
[+] def CaseDef_module_copy ( original: CaseDef ) ( pattern: Pattern , guard: Option [ Term ] , body: Term ) ( implicit ctx: Context ) : CaseDef
[+] def CaseDef_pattern ( self: CaseDef ) ( implicit ctx: Context ) : Pattern
[+] def CaseDef_rhs ( self: CaseDef ) ( implicit ctx: Context ) : Term
[+] def ClassDefSymbol_caseFields ( self: Symbol ) ( implicit ctx: Context ) : List [ ValDefSymbol ]

Fields of a case class type -- only the ones declared in primary constructor

[+] def ClassDefSymbol_classMethod ( self: Symbol ) ( name: String ) ( implicit ctx: Context ) : List [ DefDefSymbol ]

Get non-private named methods defined directly inside the class

[+] def ClassDefSymbol_classMethods ( self: Symbol ) ( implicit ctx: Context ) : List [ DefDefSymbol ]

Get all non-private methods defined directly inside the class, excluding constructors

[+] def ClassDefSymbol_companionClass ( self: Symbol ) ( implicit ctx: Context ) : Option [ ClassDefSymbol ]

The class symbol of the companion module class

[+] def ClassDefSymbol_companionModule ( self: Symbol ) ( implicit ctx: Context ) : Option [ ValDefSymbol ]

The symbol of the companion module

[+] def ClassDefSymbol_field ( self: Symbol ) ( name: String ) ( implicit ctx: Context ) : Option [ Symbol ]

Field with the given name directly declared in the class

[+] def ClassDefSymbol_fields ( self: Symbol ) ( implicit ctx: Context ) : List [ Symbol ]

Fields directly declared in the class

[+] def ClassDefSymbol_method ( self: Symbol ) ( name: String ) ( implicit ctx: Context ) : List [ DefDefSymbol ]

Get named non-private methods declared or inherited

[+] def ClassDefSymbol_methods ( self: Symbol ) ( implicit ctx: Context ) : List [ DefDefSymbol ]

Get all non-private methods declared or inherited

[+] def ClassDefSymbol_moduleClass ( self: Symbol ) ( implicit ctx: Context ) : Option [ Symbol ]

The symbol of the class of the companion module

[+] def ClassDefSymbol_of ( fullName: String ) ( implicit ctx: Context ) : ClassDefSymbol
[+] def ClassDefSymbol_tree ( self: ClassDefSymbol ) ( implicit ctx: Context ) : ClassDef

ClassDef tree of this definition

[+] def ClassDef_body ( self: ClassDef ) ( implicit ctx: Context ) : List [ Statement ]
[+] def ClassDef_constructor ( self: ClassDef ) ( implicit ctx: Context ) : DefDef
[+] def ClassDef_copy ( original: ClassDef ) ( name: String , constr: DefDef , parents: List [ Tree ] , derived: List [ TypeTree ] , selfOpt: Option [ ValDef ] , body: List [ Statement ] ) ( implicit ctx: Context ) : ClassDef
[+] def ClassDef_derived ( self: ClassDef ) ( implicit ctx: Context ) : List [ TypeTree ]
[+] def ClassDef_parents ( self: ClassDef ) ( implicit ctx: Context ) : List [ Tree ]
[+] private def ClassDef_rhs ( self: ClassDef ) : Template
[+] def ClassDef_self ( self: ClassDef ) ( implicit ctx: Context ) : Option [ ValDef ]
[+] def ClassDef_symbol ( self: ClassDef ) ( implicit ctx: Context ) : ClassDefSymbol
[+] def Comment_expanded ( self: Comment ) : Option [ String ]
[+] def Comment_raw ( self: Comment ) : String
[+] def Comment_usecases ( self: Comment ) : List [ ( String, Option [ DefDef ] ) ]
[+] def ConstantType_constant ( self: ConstantType ) ( implicit ctx: Context ) : Constant
[+] def Constant_Boolean_apply ( x: Boolean ) : Constant
[+] def Constant_Byte_apply ( x: Byte ) : Constant
[+] def Constant_Char_apply ( x: Char ) : Constant
[+] def Constant_ClassTag_apply ( x: ClassTag [ Nothing <: Any ] ) : Constant
[+] def Constant_Double_apply ( x: Double ) : Constant
[+] def Constant_Float_apply ( x: Float ) : Constant
[+] def Constant_Int_apply ( x: Int ) : Constant
[+] def Constant_Long_apply ( x: Long ) : Constant
[+] def Constant_Null_apply ( ) : Constant
[+] def Constant_Short_apply ( x: Short ) : Constant
[+] def Constant_String_apply ( x: String ) : Constant
[+] def Constant_Symbol_apply ( x: Symbol ) : Constant
[+] def Constant_Unit_apply ( ) : Constant
[+] def Constant_value ( const: Constant ) : Any
[+] def Context_owner ( self: Context ) : Symbol

Returns the owner of the context

[+] def Context_printColors ( self: Context ) : Boolean

Returns true if the generated strings are allowed to use colors

[+] def Context_source ( self: Context ) : Path

Returns the source file being compiled. The path is relative to the current working directory.

[+] def Context_withColors ( self: Context ) : Context

Returns a new context where printColors is true

[+] def Context_withoutColors ( self: Context ) : Context

Returns a new context where printColors is false

[+] def DefDefSymbol_signature ( self: DefDefSymbol ) ( implicit ctx: Context ) : Signature

Signature of this definition

[+] def DefDefSymbol_tree ( self: DefDefSymbol ) ( implicit ctx: Context ) : DefDef

DefDef tree of this definition

[+] def DefDef_apply ( symbol: DefDefSymbol , rhsFn: List [ Type ] => List [ List [ Term ] ] => Option [ Term ] ) ( implicit ctx: Context ) : DefDef
[+] def DefDef_copy ( original: DefDef ) ( name: String , typeParams: List [ TypeDef ] , paramss: List [ List [ ValDef ] ] , tpt: TypeTree , rhs: Option [ Term ] ) ( implicit ctx: Context ) : DefDef
[+] def DefDef_paramss ( self: DefDef ) ( implicit ctx: Context ) : List [ List [ ValDef ] ]
[+] def DefDef_returnTpt ( self: DefDef ) ( implicit ctx: Context ) : TypeTree
[+] def DefDef_rhs ( self: DefDef ) ( implicit ctx: Context ) : Option [ Tree ]
[+] def DefDef_symbol ( self: DefDef ) ( implicit ctx: Context ) : DefDefSymbol
[+] def DefDef_typeParams ( self: DefDef ) ( implicit ctx: Context ) : List [ TypeDef ]
[+] def Definition_name ( self: Definition ) ( implicit ctx: Context ) : String
[+] def Definitions_AnyClass : Symbol
[+] def Definitions_AnyRefClass : Symbol
[+] def Definitions_AnyRefType : Type
[+] def Definitions_AnyType : Type
[+] def Definitions_AnyValClass : Symbol
[+] def Definitions_AnyValType : Type
[+] def Definitions_ArrayClass : Symbol
[+] def Definitions_ArrayModule : Symbol
[+] def Definitions_Array_apply : Symbol
[+] def Definitions_Array_clone : Symbol
[+] def Definitions_Array_length : Symbol
[+] def Definitions_Array_update : Symbol
[+] def Definitions_BooleanClass : Symbol
[+] def Definitions_BooleanType : Type
[+] def Definitions_ByteClass : Symbol
[+] def Definitions_ByteType : Type
[+] def Definitions_CharClass : Symbol
[+] def Definitions_CharType : Type
[+] def Definitions_ClassClass : Symbol
[+] def Definitions_DoubleClass : Symbol
[+] def Definitions_DoubleType : Type
[+] def Definitions_EmptyPackageClass : Symbol
[+] def Definitions_FloatClass : Symbol
[+] def Definitions_FloatType : Type
[+] def Definitions_FunctionClass ( arity: Int , isImplicit: Boolean , isErased: Boolean ) : Symbol
[+] def Definitions_IntClass : Symbol
[+] def Definitions_IntType : Type
[+] def Definitions_InternalQuoted_patternBindHoleAnnot : Symbol

Symbol of scala.internal.Quoted.patternBindHole

[+] def Definitions_InternalQuoted_patternHole : Symbol

Symbol of scala.internal.Quoted.patternHole

[+] def Definitions_JavaLangPackage : Symbol
[+] def Definitions_LongClass : Symbol
[+] def Definitions_LongType : Type
[+] def Definitions_NoneModule : Symbol
[+] def Definitions_NothingClass : Symbol
[+] def Definitions_NothingType : Type
[+] def Definitions_NullClass : Symbol
[+] def Definitions_NullType : Type
[+] def Definitions_ObjectClass : Symbol
[+] def Definitions_ObjectType : Type
[+] def Definitions_OptionClass : Symbol
[+] def Definitions_PredefModule : Symbol
[+] def Definitions_ProductClass : Symbol
[+] def Definitions_RepeatedParamClass : ClassDefSymbol
[+] def Definitions_RootClass : Symbol
[+] def Definitions_RootPackage : Symbol
[+] def Definitions_ScalaPackage : Symbol
[+] def Definitions_ScalaPackageClass : Symbol
[+] def Definitions_ShortClass : Symbol
[+] def Definitions_ShortType : Type
[+] def Definitions_SomeModule : Symbol
[+] def Definitions_StringClass : Symbol
[+] def Definitions_StringType : Type
[+] def Definitions_TupleClass ( arity: Int ) : Symbol
[+] def Definitions_UnitClass : Symbol
[+] def Definitions_UnitType : Type
[+] def Flags_Abstract : Flags
[+] def Flags_Artifact : Flags
[+] def Flags_Case : Flags
[+] def Flags_CaseAcessor : Flags
[+] def Flags_Contravariant : Flags
[+] def Flags_Covariant : Flags
[+] def Flags_DefaultParameterized : Flags
[+] def Flags_EmptyFlags : Flags
[+] def Flags_Enum : Flags
[+] def Flags_Erased : Flags
[+] def Flags_FieldAccessor : Flags
[+] def Flags_Final : Flags
[+] def Flags_Given : Flags
[+] def Flags_Implicit : Flags
[+] def Flags_Implied : Flags
[+] def Flags_Inline : Flags
[+] def Flags_JavaDefined : Flags
[+] def Flags_Lazy : Flags
[+] def Flags_Local : Flags
[+] def Flags_Macro : Flags
[+] def Flags_ModuleClass : Flags
[+]