Trees

tastyquery.Trees
object Trees

Attributes

Graph
Supertypes
class Object
trait Matchable
class Any
Self type
Trees.type

Members list

Type members

Classlikes

final case class Alternative(trees: List[PatternTree])(pos: SourcePosition) extends PatternTree

tree_1 | ... | tree_n

tree_1 | ... | tree_n

Attributes

Supertypes
trait Serializable
class PatternTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class AnnotatedTypeTree(tpt: TypeTree, annotation: TermTree)(pos: SourcePosition) extends TypeTree

arg @annot

arg @annot

Attributes

Supertypes
trait Serializable
class TypeTree
class TypeArgTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class AppliedTypeTree(tycon: TypeTree, args: List[TypeArgTree])(pos: SourcePosition) extends TypeTree

tpt[args] TypeBounds[Tree] for wildcard application: tpt[_], tpt[?]

tpt[args] TypeBounds[Tree] for wildcard application: tpt[_], tpt[?]

Attributes

Supertypes
trait Serializable
class TypeTree
class TypeArgTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class Apply(fun: TermTree, args: List[TermTree])(pos: SourcePosition) extends TermTree

fun(args)

fun(args)

Attributes

Companion
object
Supertypes
trait Serializable
class TermTree
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
object Apply

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
Apply.type
final case class Assign(lhs: TermTree, rhs: TermTree)(pos: SourcePosition) extends TermTree

name = arg, outside a parameter list

name = arg, outside a parameter list

Attributes

Supertypes
trait Serializable
class TermTree
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class Bind(name: UnsignedTermName, body: PatternTree, symbol: TermSymbol)(pos: SourcePosition) extends PatternTree, DefTree

pattern in [[Unapply]]

pattern in [[Unapply]]

Attributes

Supertypes
trait Serializable
trait DefTree
class PatternTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class Block(stats: List[StatementTree], expr: TermTree)(pos: SourcePosition) extends TermTree

{ stats; expr }

{ stats; expr }

Attributes

Supertypes
trait Serializable
class TermTree
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class ByNameTypeTree(result: TypeTree)(pos: SourcePosition) extends TypeTree

=> T

=> T

Attributes

Supertypes
trait Serializable
class TypeTree
class TypeArgTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class CaseDef(pattern: PatternTree, guard: Option[TermTree], body: TermTree)(pos: SourcePosition) extends Tree

case pattern if guard => body; only appears as child of a Match and Try

case pattern if guard => body; only appears as child of a Match and Try

Attributes

Supertypes
trait Serializable
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class ClassDef(name: TypeName, rhs: Template, symbol: ClassSymbol)(pos: SourcePosition) extends TypeDef

Attributes

Supertypes
trait Serializable
class TypeDef
trait DefTree
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class DefDef(name: UnsignedTermName, paramLists: List[ParamsClause], resultTpt: TypeTree, rhs: Option[TermTree], symbol: TermSymbol)(pos: SourcePosition) extends ValOrDefDef

mods def nametparams...(vparams_n): tpt = rhs

mods def nametparams...(vparams_n): tpt = rhs

Attributes

Supertypes
trait Serializable
class ValOrDefDef
trait DefTree
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
sealed trait DefTree extends Tree

Attributes

Supertypes
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes
class Bind
class TypeDef
class ClassDef
class TypeMember
class TypeParam
class TypeTreeBind
class ValOrDefDef
class DefDef
class ValDef
Show all
final case class ExplicitTypeBoundsTree(low: TypeTree, high: TypeTree)(pos: SourcePosition) extends TypeBoundsTree

Attributes

Supertypes
trait Serializable
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class Export(expr: TermTree, selectors: List[ImportSelector])(pos: SourcePosition) extends StatementTree

import expr.selectors

import expr.selectors

Attributes

Supertypes
trait Serializable
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class ExprPattern(expr: TermTree)(pos: SourcePosition) extends PatternTree

Attributes

Supertypes
trait Serializable
class PatternTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class Ident(name: UnsignedTermName)(tpe: TermReferenceType)(pos: SourcePosition) extends TermReferenceTree

name

name

Attributes

Supertypes
trait Serializable
class TermTree
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class If(cond: TermTree, thenPart: TermTree, elsePart: TermTree)(pos: SourcePosition) extends TermTree

if cond then thenp else elsep

if cond then thenp else elsep

Attributes

Supertypes
trait Serializable
class TermTree
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class Import(expr: TermTree, selectors: List[ImportSelector])(pos: SourcePosition) extends StatementTree

Attributes

Supertypes
trait Serializable
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class ImportIdent(name: UnsignedTermName)(pos: SourcePosition) extends Tree

An identifier appearing in an import clause; it has no type.

An identifier appearing in an import clause; it has no type.

Attributes

Supertypes
trait Serializable
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class ImportSelector(imported: ImportIdent, renamed: Option[ImportIdent], bound: Option[TypeTree])(pos: SourcePosition) extends Tree

Attributes

Supertypes
trait Serializable
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class InferredTypeBoundsTree(bounds: TypeBounds)(pos: SourcePosition) extends TypeBoundsTree

Attributes

Supertypes
trait Serializable
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class InlineIf(cond: TermTree, thenPart: TermTree, elsePart: TermTree)(pos: SourcePosition) extends TermTree

Attributes

Supertypes
trait Serializable
class TermTree
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class InlineMatch(selector: Option[TermTree], cases: List[CaseDef])(pos: SourcePosition) extends TermTree

Attributes

Supertypes
trait Serializable
class TermTree
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class Inlined(expr: TermTree, caller: Option[TypeIdent | SelectTypeTree], bindings: List[ValOrDefDef])(pos: SourcePosition) extends TermTree

A tree representing inlined code.

A tree representing inlined code.

Value parameters

bindings

Bindings for proxies to be used in the inlined code The full inlined code is equivalent to { bindings; expr }

caller

The toplevel class from which the call was inlined.

expr

The inlined tree, minus bindings.

Attributes

Supertypes
trait Serializable
class TermTree
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class InlinedTypeTree(caller: Option[TypeIdent | SelectTypeTree], expansion: TypeTree)(pos: SourcePosition) extends TypeTree

A tree representing an inlined type.

A tree representing an inlined type.

Value parameters

caller

The toplevel class from which the type was inlined.

expansion

The expanded type.

Attributes

Supertypes
trait Serializable
class TypeTree
class TypeArgTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class Lambda(meth: TermReferenceTree, tpt: Option[TypeTree])(pos: SourcePosition) extends TermTree

Value parameters

meth

A reference to the method.

tpt

Defined only if the lambda's type is a SAMtype rather than a function type.

Attributes

Supertypes
trait Serializable
class TermTree
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class Literal(constant: Constant)(pos: SourcePosition) extends TermTree

Attributes

Supertypes
trait Serializable
class TermTree
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class Match(selector: TermTree, cases: List[CaseDef])(pos: SourcePosition) extends TermTree

selector match { cases }

selector match { cases }

Attributes

Supertypes
trait Serializable
class TermTree
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class MatchTypeTree(bound: TypeTree, selector: TypeTree, cases: List[TypeCaseDef])(pos: SourcePosition) extends TypeTree

[bound] selector match { cases }

[bound] selector match { cases }

Attributes

Supertypes
trait Serializable
class TypeTree
class TypeArgTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class NamedArg(name: UnsignedTermName, arg: TermTree)(pos: SourcePosition) extends TermTree

name = arg, in a parameter list

name = arg, in a parameter list

Attributes

Supertypes
trait Serializable
class TermTree
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class NamedTypeBoundsTree(name: TypeName, bounds: TypeBounds)(pos: SourcePosition) extends TypeDefinitionTree

Attributes

Supertypes
trait Serializable
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class New(tpt: TypeTree)(pos: SourcePosition) extends TermTree

new tpt, but no constructor call

new tpt, but no constructor call

Attributes

Supertypes
trait Serializable
class TermTree
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
trait Serializable
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class PackageDef(pid: PackageSymbol, stats: List[TopLevelTree])(pos: SourcePosition) extends TopLevelTree

Attributes

Supertypes
trait Serializable
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
sealed abstract class PatternTree(pos: SourcePosition) extends Tree

Attributes

Supertypes
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes
class Alternative
class Bind
class ExprPattern
class TypeTest
class Unapply
Show all
final case class PolyTypeDefinitionTree(tparams: List[TypeParam], body: TypeDefinitionTree)(pos: SourcePosition) extends TypeDefinitionTree

Attributes

Supertypes
trait Serializable
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class RefinedTypeTree(underlying: TypeTree, refinements: List[RefinementMemberDef], refinedCls: ClassSymbol)(pos: SourcePosition) extends TypeTree

Attributes

Supertypes
trait Serializable
class TypeTree
class TypeArgTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class Return(expr: Option[TermTree], from: TermSymbol)(pos: SourcePosition) extends TermTree

Attributes

Supertypes
trait Serializable
class TermTree
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class Select(qualifier: TermTree, name: TermName)(selectOwner: Option[TypeRef])(pos: SourcePosition) extends TermReferenceTree

qualifier.termName

qualifier.termName

Attributes

Supertypes
trait Serializable
class TermTree
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class SelectOuter(qualifier: TermTree, levels: Int)(tpe: Type)(pos: SourcePosition) extends TermTree

Synthetic outer selection

Synthetic outer selection

Attributes

Supertypes
trait Serializable
class TermTree
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class SelectTypeTree(qualifier: TypeTree, name: TypeName)(pos: SourcePosition) extends TypeTree

qualifier#name

qualifier#name

Attributes

Supertypes
trait Serializable
class TypeTree
class TypeArgTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class SelfDef(name: UnsignedTermName, tpt: TypeTree)(pos: SourcePosition) extends Tree

Self type definition name: tpt =>.

Self type definition name: tpt =>.

Attributes

Supertypes
trait Serializable
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class SeqLiteral(elems: List[TermTree], elemtpt: TypeTree)(pos: SourcePosition) extends TermTree

Seq(elems)

Seq(elems)

Value parameters

tpt

The element type of the sequence.

Attributes

Supertypes
trait Serializable
class TermTree
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class SingletonTypeTree(ref: TermTree)(pos: SourcePosition) extends TypeTree

ref.type

ref.type

Attributes

Supertypes
trait Serializable
class TypeTree
class TypeArgTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
sealed abstract class StatementTree(pos: SourcePosition) extends TopLevelTree

Attributes

Supertypes
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes
class Export
class Import
class TermTree
class Apply
class Assign
class Block
class If
class InlineIf
class InlineMatch
class Inlined
class Lambda
class Literal
class Match
class NamedArg
class New
class Return
class SelectOuter
class SeqLiteral
class Super
class Ident
class Select
class This
class Throw
class Try
class TypeApply
class Typed
class While
class TypeDef
class ClassDef
class TypeMember
class TypeParam
class ValOrDefDef
class DefDef
class ValDef
Show all
final case class Super(qual: TermTree, mix: Option[TypeIdent])(pos: SourcePosition) extends TermTree

C.super[mix], where qual = C.this

C.super[mix], where qual = C.this

Attributes

Supertypes
trait Serializable
class TermTree
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class Template(constr: DefDef, parents: List[Apply | Block | TypeTree], self: Option[SelfDef], body: List[StatementTree])(pos: SourcePosition) extends Tree

constr extends parents { self => body }

constr extends parents { self => body }

holder for details of a Class definition

Value parameters

classParent

-- the parent whose constructor is called. If the template defines a class, this is its only class parent.

parents

trait parents of the template and the class parent if the template defines a trait.

Attributes

Supertypes
trait Serializable
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class TermRefTypeTree(qualifier: TermTree, name: TermName)(pos: SourcePosition) extends TypeTree

qualifier.name

qualifier.name

Attributes

Supertypes
trait Serializable
class TypeTree
class TypeArgTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
sealed abstract class TermReferenceTree(pos: SourcePosition) extends TermTree

An Ident or a Select.

An Ident or a Select.

Attributes

Supertypes
class TermTree
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes
class Ident
class Select
sealed abstract class TermTree(pos: SourcePosition) extends StatementTree

Attributes

Supertypes
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes
class Apply
class Assign
class Block
class If
class InlineIf
class InlineMatch
class Inlined
class Lambda
class Literal
class Match
class NamedArg
class New
class Return
class SelectOuter
class SeqLiteral
class Super
class Ident
class Select
class This
class Throw
class Try
class TypeApply
class Typed
class While
Show all
final case class This(qualifier: TypeIdent)(pos: SourcePosition) extends TermTree

qual.this

qual.this

Attributes

Supertypes
trait Serializable
class TermTree
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class Throw(expr: TermTree)(pos: SourcePosition) extends TermTree

throw expr

throw expr

Attributes

Supertypes
trait Serializable
class TermTree
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
sealed abstract class TopLevelTree(pos: SourcePosition) extends Tree

Attributes

Supertypes
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes
class PackageDef
class Export
class Import
class TermTree
class Apply
class Assign
class Block
class If
class InlineIf
class InlineMatch
class Inlined
class Lambda
class Literal
class Match
class NamedArg
class New
class Return
class SelectOuter
class SeqLiteral
class Super
class Ident
class Select
class This
class Throw
class Try
class TypeApply
class Typed
class While
class TypeDef
class ClassDef
class TypeMember
class TypeParam
class ValOrDefDef
class DefDef
class ValDef
Show all
sealed abstract class Tree(posInit: SourcePosition) extends Product

Attributes

Supertypes
trait Product
trait Equals
class Object
trait Matchable
class Any
Known subtypes
class CaseDef
trait DefTree
class Bind
class TypeDef
class ClassDef
class TypeMember
class TypeParam
class TypeTreeBind
class ValOrDefDef
class DefDef
class ValDef
class ImportIdent
class PatternTree
class Alternative
class ExprPattern
class TypeTest
class Unapply
class SelfDef
class Template
class TopLevelTree
class PackageDef
class Export
class Import
class TermTree
class Apply
class Assign
class Block
class If
class InlineIf
class InlineMatch
class Inlined
class Lambda
class Literal
class Match
class NamedArg
class New
class Return
class SelectOuter
class SeqLiteral
class Super
class Ident
class Select
class This
class Throw
class Try
class TypeApply
class Typed
class While
class TypeArgTree
class TypeTree
class TypeIdent
class TypeWrapper
class TypeCaseDef
Show all
final case class Try(expr: TermTree, cases: List[CaseDef], finalizer: Option[TermTree])(pos: SourcePosition) extends TermTree

try block catch cases finally finalizer

try block catch cases finally finalizer

Attributes

Supertypes
trait Serializable
class TermTree
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class TypeAliasDefinitionTree(alias: TypeTree)(pos: SourcePosition) extends TypeDefinitionTree

Attributes

Supertypes
trait Serializable
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class TypeApply(fun: TermTree, args: List[TypeTree])(pos: SourcePosition) extends TermTree

fun[args]

fun[args]

Attributes

Supertypes
trait Serializable
class TermTree
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
sealed abstract class TypeArgTree(pos: SourcePosition) extends Tree

Attributes

Supertypes
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes
final case class TypeBindingsTree(bindings: List[TypeMember], body: TypeTree)(pos: SourcePosition) extends TypeTree

Attributes

Supertypes
trait Serializable
class TypeTree
class TypeArgTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
sealed abstract class TypeBoundsTree(pos: SourcePosition) extends TypeDefinitionTree

Attributes

Supertypes
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes
final case class TypeCaseDef(pattern: TypeTree, body: TypeTree)(pos: SourcePosition) extends Tree

Attributes

Supertypes
trait Serializable
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
sealed abstract class TypeDef(name: TypeName)(pos: SourcePosition) extends StatementTree, DefTree

mods class name template or mods trait name template or mods type name = rhs or mods type name >: lo <: hi, if rhs = TypeBoundsTree(lo, hi) or mods type name >: lo <: hi = rhs if rhs = TypeBoundsTree(lo, hi, alias) and opaque in mods

mods class name template or mods trait name template or mods type name = rhs or mods type name >: lo <: hi, if rhs = TypeBoundsTree(lo, hi) or mods type name >: lo <: hi = rhs if rhs = TypeBoundsTree(lo, hi, alias) and opaque in mods

Attributes

Supertypes
trait DefTree
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes
class ClassDef
class TypeMember
class TypeParam
sealed abstract class TypeDefinitionTree(pos: SourcePosition) extends Tree

Attributes

Supertypes
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes
final case class TypeIdent(name: TypeName)(tpe: NonEmptyPrefix)(pos: SourcePosition) extends TypeTree

Attributes

Supertypes
trait Serializable
class TypeTree
class TypeArgTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class TypeLambdaTree(tparams: List[TypeParam], body: TypeTree)(pos: SourcePosition) extends TypeTree

Attributes

Supertypes
trait Serializable
class TypeTree
class TypeArgTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class TypeMember(name: TypeName, rhs: TypeDefinitionTree, symbol: TypeMemberSymbol)(pos: SourcePosition) extends TypeDef

A type member has a type tree rhs if the member is defined by the user, or typebounds if it's synthetic

A type member has a type tree rhs if the member is defined by the user, or typebounds if it's synthetic

Attributes

Supertypes
trait Serializable
class TypeDef
trait DefTree
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class TypeParam(name: TypeName, bounds: TypeDefinitionTree, symbol: TypeParamSymbol)(pos: SourcePosition) extends TypeDef

The bounds are a type tree if the method is defined by the user and bounds-only if it's synthetic

The bounds are a type tree if the method is defined by the user and bounds-only if it's synthetic

Attributes

Supertypes
trait Serializable
class TypeDef
trait DefTree
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class TypeTest(body: PatternTree, tpt: TypeTree)(pos: SourcePosition) extends PatternTree

Type-test pattern pat: T.

Type-test pattern pat: T.

Attributes

Supertypes
trait Serializable
class PatternTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
sealed abstract class TypeTree(pos: SourcePosition) extends TypeArgTree

Attributes

Supertypes
class TypeArgTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes
final case class TypeTreeBind(name: TypeName, body: TypeDefinitionTree, symbol: LocalTypeParamSymbol)(pos: SourcePosition) extends TypeTree, DefTree

Attributes

Supertypes
trait Serializable
trait DefTree
class TypeTree
class TypeArgTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class TypeWrapper(tp: NonEmptyPrefix)(pos: SourcePosition) extends TypeTree

Attributes

Supertypes
trait Serializable
class TypeTree
class TypeArgTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class Typed(expr: TermTree, tpt: TypeTree)(pos: SourcePosition) extends TermTree

expr : tpt

expr : tpt

Attributes

Supertypes
trait Serializable
class TermTree
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class Unapply(fun: TermTree, implicits: List[TermTree], patterns: List[PatternTree])(pos: SourcePosition) extends PatternTree

extractor(patterns) in a pattern:

extractor(patterns) in a pattern:

Value parameters

fun

is extractor.unapply (or, for backwards compatibility, extractor.unapplySeq) possibly with type parameters

implicits

Any implicit parameters passed to the unapply after the selector

patterns

The argument patterns in the pattern match. It is typed with same type as first fun argument Given a match selector sel a pattern UnApply(fun, implicits, patterns) is roughly translated as follows val result = fun(sel)(implicits) if (result.isDefined) "match patterns against result"

Attributes

Supertypes
trait Serializable
class PatternTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class ValDef(name: UnsignedTermName, tpt: TypeTree, rhs: Option[TermTree], symbol: TermSymbol)(pos: SourcePosition) extends ValOrDefDef

mods val name: tpt = rhs

mods val name: tpt = rhs

Attributes

Supertypes
trait Serializable
class ValOrDefDef
trait DefTree
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
sealed abstract class ValOrDefDef()(pos: SourcePosition) extends StatementTree, DefTree

Attributes

Supertypes
trait DefTree
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
Known subtypes
class DefDef
class ValDef
final case class While(cond: TermTree, body: TermTree)(pos: SourcePosition) extends TermTree

while (cond) { body }

while (cond) { body }

Attributes

Supertypes
trait Serializable
class TermTree
class TopLevelTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class WildcardPattern(tpe: Type)(pos: SourcePosition) extends PatternTree

Wildcard pattern _.

Wildcard pattern _.

Attributes

Supertypes
trait Serializable
class PatternTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
final case class WildcardTypeArgTree(bounds: TypeBoundsTree)(pos: SourcePosition) extends TypeArgTree

Attributes

Supertypes
trait Serializable
class TypeArgTree
class Tree
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all

Types

type ParamsClause = Either[List[ValDef], List[TypeParam]]