untpd

dotty.tools.dotc.ast.untpd

Attributes

Graph
Supertypes
trait TreeInfo[Untyped]
class Instance[Untyped]
class Object
trait Matchable
class Any
Show all
Self type
untpd.type

Members list

Type members

Classlikes

case class CapturesAndResult(refs: List[Tree], parent: Tree)(implicit src: SourceFile) extends TypTree

{x1, ..., xN} T (only relevant under captureChecking)

{x1, ..., xN} T (only relevant under captureChecking)

Attributes

Supertypes
trait Serializable
trait TypTree[Untyped]
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all
case class ContextBounds(bounds: TypeBoundsTree, cxBounds: List[Tree])(implicit src: SourceFile) extends TypTree

Attributes

Supertypes
trait Serializable
trait TypTree[Untyped]
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all
abstract class DerivedTypeTree(implicit src: SourceFile) extends TypeTree[Untyped]

A type tree that gets its type from some other tree's symbol. Enters the type tree in the References attachment of the from tree as a side effect.

A type tree that gets its type from some other tree's symbol. Enters the type tree in the References attachment of the from tree as a side effect.

Attributes

Supertypes
class TypeTree[Untyped]
trait Serializable
trait TypTree[Untyped]
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all
Known subtypes
class DerivingTemplate(constr: DefDef, parentsOrDerived: List[Tree], self: ValDef, preBody: LazyTreeList, derivedCount: Int)(implicit src: SourceFile) extends Template[Untyped]

An untyped template with a derives clause. Derived parents are added to the end of the parents list. derivedCount keeps track of how many there are. This representation was chosen because it balances two concerns:

An untyped template with a derives clause. Derived parents are added to the end of the parents list. derivedCount keeps track of how many there are. This representation was chosen because it balances two concerns:

  • maximize overlap between DerivingTemplate and Template for code streamlining
  • keep invariant that elements of untyped trees align with source positions

Attributes

Supertypes
class Template[Untyped]
trait Serializable
trait DefTree[Untyped]
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
class Ident[Untyped]
trait Serializable
class RefTree[Untyped]
class NameTree[Untyped]
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all
Self type
case class ExtMethods(paramss: List[ParamClause], methods: List[Tree])(implicit src: SourceFile) extends Tree[Untyped]

Attributes

Supertypes
trait Serializable
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all
case class ForDo(enums: List[Tree], body: Tree)(implicit src: SourceFile) extends TermTree

Attributes

Supertypes
trait Serializable
trait TermTree[Untyped]
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all
case class ForYield(enums: List[Tree], expr: Tree)(implicit src: SourceFile) extends TermTree

Attributes

Supertypes
trait Serializable
trait TermTree[Untyped]
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all
case class Function(args: List[Tree], body: Tree)(implicit src: SourceFile) extends Tree[Untyped]

A function type or closure

A function type or closure

Attributes

Supertypes
trait Serializable
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all
Known subtypes
class FunctionWithMods(args: List[Tree], body: Tree, val mods: Modifiers, val erasedParams: List[Boolean])(implicit src: SourceFile) extends Function

A function type or closure with implicit or given modifiers and information on which parameters are erased

A function type or closure with implicit or given modifiers and information on which parameters are erased

Attributes

Supertypes
class Function
trait Serializable
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all
case class GenAlias(pat: Tree, expr: Tree)(implicit src: SourceFile) extends Tree[Untyped]

Attributes

Supertypes
trait Serializable
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all

An enum to control checking or filtering of patterns in GenFrom trees

An enum to control checking or filtering of patterns in GenFrom trees

Attributes

Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class GenFrom(pat: Tree, expr: Tree, checkMode: GenCheckMode)(implicit src: SourceFile) extends Tree[Untyped]

Attributes

Supertypes
trait Serializable
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all
case class ImportSelector(imported: Ident, renamed: Tree, bound: Tree)(implicit src: SourceFile) extends Tree[Untyped]

Attributes

Supertypes
trait Serializable
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all
case class InLambdaTypeTree(isResult: Boolean, tpFun: (List[TypeSymbol], List[TermSymbol]) => Type)(implicit src: SourceFile) extends Tree[Untyped]

A type tree appearing somewhere in the untyped DefDef of a lambda, it will be typed using tpFun.

A type tree appearing somewhere in the untyped DefDef of a lambda, it will be typed using tpFun.

Value parameters

isResult

Is this the result type of the lambda? This is handled specially in Namer#valOrDefDefSig.

tpFun

Compute the type of the type tree given the parameters of the lambda. A lambda has at most one type parameter list followed by exactly one term parameter list. Note: This is only used briefly in Typer and does not need the copy/transform/fold infrastructure.

Attributes

Supertypes
trait Serializable
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all
case class InfixOp(left: Tree, op: Ident, right: Tree)(implicit src: SourceFile) extends OpTree

Attributes

Supertypes
trait Serializable
class OpTree
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all
case class InterpolatedString(id: TermName, segments: List[Tree])(implicit src: SourceFile) extends TermTree

An interpolated string

An interpolated string

Value parameters

segments

a list of two element tickets consisting of string literal and argument tree, possibly with a simple string literal as last element of the list

Attributes

Supertypes
trait Serializable
trait TermTree[Untyped]
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all
case class Into(tpt: Tree)(implicit src: SourceFile) extends Tree[Untyped]

Attributes

Supertypes
trait Serializable
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all
case class MacroTree(expr: Tree)(implicit src: SourceFile) extends Tree[Untyped]

Attributes

Supertypes
trait Serializable
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all
sealed abstract class Mod(val flags: FlagSet)(implicit src: SourceFile) extends Positioned

Mod is intended to record syntactic information about modifiers, it's NOT a replacement of FlagSet.

Mod is intended to record syntactic information about modifiers, it's NOT a replacement of FlagSet.

For any query about semantic information, check flags instead.

Attributes

Companion
object
Supertypes
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all
Known subtypes
class Abstract
class Erased
class Final
class Given
class Implicit
class Impure
class Infix
class Inline
class Lazy
class Opaque
class Open
class Override
class Private
class Protected
class Sealed
class Transparent
class Var
Show all
object Mod

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
Mod.type
case class Modifiers(flags: FlagSet, privateWithin: TypeName, annotations: List[Tree], mods: List[Mod])

Modifiers and annotations for definitions

Modifiers and annotations for definitions

Value parameters

annotations

The annotations preceding the modifiers

flags

The set flags

privateWithin

If a private or protected has is followed by a qualifier [q], the name q, "" as a typename otherwise.

Attributes

Supertypes
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
case class ModuleDef(name: TermName, impl: Template)(implicit src: SourceFile) extends MemberDef[Untyped]

mods object name impl

mods object name impl

Attributes

Supertypes
trait Serializable
trait DefTree[Untyped]
class NameTree[Untyped]
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all
case class Number(digits: String, kind: NumberKind)(implicit src: SourceFile) extends TermTree

Attributes

Supertypes
trait Serializable
trait TermTree[Untyped]
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all
enum NumberKind

Attributes

Supertypes
trait Enum
trait Serializable
trait Product
trait Equals
class Object
trait Matchable
class Any
Show all
abstract class OpTree(implicit src: SourceFile) extends Tree[Untyped]

Attributes

Supertypes
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all
Known subtypes
class InfixOp
class PostfixOp
class PrefixOp
case class Parens(t: Tree)(implicit src: SourceFile) extends ProxyTree[Untyped]

Attributes

Supertypes
trait Serializable
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all
case class ParsedTry(expr: Tree, handler: Tree, finalizer: Tree)(implicit src: SourceFile) extends TermTree

Attributes

Supertypes
trait Serializable
trait TermTree[Untyped]
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all
case class PatDef(mods: Modifiers, pats: List[Tree], tpt: Tree, rhs: Tree)(implicit src: SourceFile) extends DefTree

Attributes

Supertypes
trait Serializable
trait DefTree[Untyped]
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all
case class PolyFunction(targs: List[Tree], body: Tree)(implicit src: SourceFile) extends Tree[Untyped]

A polymorphic function type

A polymorphic function type

Attributes

Supertypes
trait Serializable
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all
case class PostfixOp(od: Tree, op: Ident)(implicit src: SourceFile) extends OpTree

Attributes

Supertypes
trait Serializable
class OpTree
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all
case class PrefixOp(op: Ident, od: Tree)(implicit src: SourceFile) extends OpTree

Attributes

Supertypes
trait Serializable
class OpTree
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all
case class SymbolLit(str: String)(implicit src: SourceFile) extends TermTree

Attributes

Supertypes
trait Serializable
trait TermTree[Untyped]
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all
case class Throw(expr: Tree)(implicit src: SourceFile) extends TermTree

Attributes

Supertypes
trait Serializable
trait TermTree[Untyped]
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all
case class Tuple(trees: List[Tree])(implicit src: SourceFile) extends Tree[Untyped]

Attributes

Supertypes
trait Serializable
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all
abstract case class TypedSplice(splice: Tree)(owner: Symbol, isExtensionReceiver: Boolean)(implicit src: SourceFile) extends ProxyTree[Untyped]

A typed subtree of an untyped tree needs to be wrapped in a TypedSplice

A typed subtree of an untyped tree needs to be wrapped in a TypedSplice

Value parameters

isExtensionReceiver

The splice was created from the receiver e in an extension method call e.f(...)

owner

The current owner at the time the tree was defined

Attributes

Companion
object
Supertypes
trait Serializable
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all
object TypedSplice

Attributes

Companion
class
Supertypes
class Object
trait Matchable
class Any
Self type
class UntypedDeepFolder[X](f: (X, Tree) => X) extends UntypedTreeAccumulator[X]

Fold f over all tree nodes, in depth-first, prefix order

Fold f over all tree nodes, in depth-first, prefix order

Attributes

Supertypes
class TreeAccumulator[X]
class Object
trait Matchable
class Any
abstract class UntypedTreeAccumulator[X] extends TreeAccumulator[X]

Attributes

Supertypes
class TreeAccumulator[X]
class Object
trait Matchable
class Any
Known subtypes
Self type

Attributes

Supertypes
class TreeCopier
class Object
trait Matchable
class Any
abstract class UntypedTreeMap(cpy: UntypedTreeCopier) extends TreeMap

Attributes

Supertypes
class TreeMap
class Object
trait Matchable
class Any

Attributes

Supertypes
class Object
trait Matchable
class Any
class WildcardFunction(placeholderParams: List[ValDef], body: Tree)(implicit src: SourceFile) extends Function

A function created from a wildcard expression

A function created from a wildcard expression

Value parameters

body

the function body where wildcards are replaced by references to synthetic parameters. This is equivalent to Function, except that forms a special case for the overlapping positions tests.

placeholderParams

a list of definitions of synthetic parameters.

Attributes

Supertypes
class Function
trait Serializable
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all

Attributes

Supertypes
class Object
trait Matchable
class Any
Self type
class XMLBlock(stats: List[Tree], expr: Tree)(implicit src: SourceFile) extends Block[Untyped]

A block generated by the XML parser, only treated specially by Positioned#checkPos

A block generated by the XML parser, only treated specially by Positioned#checkPos

Attributes

Supertypes
class Block[Untyped]
trait Serializable
class Tree[Untyped]
trait Showable
trait Container
trait LinkSource
class Positioned
trait Cloneable
trait Product
trait Equals
trait SrcPos
class Object
trait Matchable
class Any
Show all

Inherited classlikes

class DeepFolder[X](f: (X, Tree) => X) extends TreeAccumulator[X]

Fold f over all tree nodes, in depth-first, prefix order

Fold f over all tree nodes, in depth-first, prefix order

Attributes

Inherited from:
Instance
Supertypes
class TreeAccumulator[X]
class Object
trait Matchable
class Any
object IdPattern

An extractor for trees of the form id or id: T

An extractor for trees of the form id or id: T

Attributes

Inherited from:
UntypedTreeInfo
Supertypes
class Object
trait Matchable
class Any

Under pureFunctions: A builder and extractor for => T, which is an alias for ->{cap} T. Only trees of the form => T are matched; trees written directly as ->{cap} T are ignored by the extractor.

Under pureFunctions: A builder and extractor for => T, which is an alias for ->{cap} T. Only trees of the form => T are matched; trees written directly as ->{cap} T are ignored by the extractor.

Attributes

Inherited from:
UntypedTreeInfo
Supertypes
class Object
trait Matchable
class Any
class MatchingArgs(params: List[Symbol], args: List[Tree])(using x$3: Context)

Attributes

Inherited from:
TreeInfo
Supertypes
class Object
trait Matchable
class Any
class ShallowFolder[X](f: (X, Tree) => X) extends TreeAccumulator[X]

Fold f over all tree nodes, in depth-first, prefix order, but don't visit subtrees where f returns a different result for the root, i.e. f(x, root) ne x.

Fold f over all tree nodes, in depth-first, prefix order, but don't visit subtrees where f returns a different result for the root, i.e. f(x, root) ne x.

Attributes

Inherited from:
Instance
Supertypes
class TreeAccumulator[X]
class Object
trait Matchable
class Any
abstract class TreeAccumulator[X]

Attributes

Inherited from:
Instance
Supertypes
class Object
trait Matchable
class Any
Known subtypes
class DeepFolder[X]
class ShallowFolder[X]
class Setup
class Extractor
object hasSkolem
Show all
abstract class TreeCopier

A class for copying trees. The copy methods avoid creating a new tree If all arguments stay the same.

A class for copying trees. The copy methods avoid creating a new tree If all arguments stay the same.

Note: Some of the copy methods take a context. These are exactly those methods that are overridden in TypedTreeCopier so that they selectively retype themselves. Retyping needs a context.

Attributes

Inherited from:
Instance
Supertypes
class Object
trait Matchable
class Any
Known subtypes
abstract class TreeMap(val cpy: TreeCopier)

Attributes

Inherited from:
Instance
Supertypes
class Object
trait Matchable
class Any
Known subtypes
abstract class TreeTraverser extends TreeAccumulator[Unit]

Attributes

Inherited from:
Instance
Supertypes
class Object
trait Matchable
class Any
Known subtypes
object TypeDefs

Attributes

Inherited from:
Instance
Supertypes
class Object
trait Matchable
class Any
object ValDefs

Attributes

Inherited from:
Instance
Supertypes
class Object
trait Matchable
class Any

Inherited types

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance
type Apply = Apply[Untyped]

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance
type Bind = Bind[Untyped]

Attributes

Inherited from:
Instance
type Block = Block[Untyped]

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance
type Hole = Hole[Untyped]

Attributes

Inherited from:
Instance
type Ident = Ident[Untyped]

Attributes

Inherited from:
Instance
type If = If[Untyped]

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance
type Match = Match[Untyped]

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance
type New = New[Untyped]

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance
type Quote = Quote[Untyped]

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance
type Super = Super[Untyped]

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance
type This = This[Untyped]

Attributes

Inherited from:
Instance
type Tree = Tree[Untyped]

Attributes

Inherited from:
Instance
type Try = Try[Untyped]

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance
type Typed = Typed[Untyped]

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance
type VarInfo = (NameTree, Tree)

Info of a variable in a pattern: The named tree and its type

Info of a variable in a pattern: The named tree and its type

Attributes

Inherited from:
UntypedTreeInfo

Attributes

Inherited from:
Instance

Value members

Concrete methods

def Alternative(trees: List[Tree])(implicit src: SourceFile): Alternative
def Annotated(arg: Tree, annot: Tree)(implicit src: SourceFile): Annotated
def AppliedTypeTree(tpt: Tree, args: List[Tree])(implicit src: SourceFile): AppliedTypeTree
def AppliedTypeTree(tpt: Tree, arg: Tree)(implicit src: SourceFile): AppliedTypeTree
def Apply(fun: Tree, args: List[Tree])(implicit src: SourceFile): Apply
def Apply(fn: Tree, arg: Tree)(implicit src: SourceFile): Apply
def Assign(lhs: Tree, rhs: Tree)(implicit src: SourceFile): Assign
def Bind(name: Name, body: Tree)(implicit src: SourceFile): Bind
def Block(stats: List[Tree], expr: Tree)(implicit src: SourceFile): Block
def Block(stat: Tree, expr: Tree)(implicit src: SourceFile): Block
def ByNameTypeTree(result: Tree)(implicit src: SourceFile): ByNameTypeTree
def CaseDef(pat: Tree, guard: Tree, body: Tree)(implicit src: SourceFile): CaseDef
def Closure(env: List[Tree], meth: Tree, tpt: Tree)(implicit src: SourceFile): Closure
def DefDef(name: TermName, paramss: List[ParamClause], tpt: Tree, rhs: LazyTree)(implicit src: SourceFile): DefDef
def Export(expr: Tree, selectors: List[ImportSelector])(implicit src: SourceFile): Export
def Hole(isTerm: Boolean, idx: Int, args: List[Tree], content: Tree)(implicit src: SourceFile): Hole
def Ident(name: Name)(implicit src: SourceFile): Ident
def If(cond: Tree, thenp: Tree, elsep: Tree)(implicit src: SourceFile): If
def Import(expr: Tree, selectors: List[ImportSelector])(implicit src: SourceFile): Import
def InferredTypeTree()(implicit src: SourceFile): TypeTree
def InlineIf(cond: Tree, thenp: Tree, elsep: Tree)(implicit src: SourceFile): If
def InlineMatch(selector: Tree, cases: List[CaseDef])(implicit src: SourceFile): Match
def Inlined(call: Tree, bindings: List[MemberDef], expansion: Tree)(implicit src: SourceFile): Inlined
def JavaSeqLiteral(elems: List[Tree], elemtpt: Tree)(implicit src: SourceFile): JavaSeqLiteral
def Labeled(bind: Bind, expr: Tree)(implicit src: SourceFile): Labeled
def LambdaTypeTree(tparams: List[TypeDef], body: Tree)(implicit src: SourceFile): LambdaTypeTree
def Literal(const: Constant)(implicit src: SourceFile): Literal
def Match(selector: Tree, cases: List[CaseDef])(implicit src: SourceFile): Match
def MatchTypeTree(bound: Tree, selector: Tree, cases: List[CaseDef])(implicit src: SourceFile): MatchTypeTree
def NamedArg(name: Name, arg: Tree)(implicit src: SourceFile): NamedArg
def New(tpt: Tree)(implicit src: SourceFile): New
def New(tpt: Tree, argss: List[List[Tree]])(using Context): Tree

new T(args1)...(args_n) ==> new T. Ts...(args_n)

new T(args1)...(args_n) ==> new T. Ts...(args_n)

where Ts are the class type arguments of T or its class type alias. Note: we also keep any type arguments as parts of T. This is necessary to allow navigation into these arguments from the IDE, and to do the right thing in PrepareInlineable.

Attributes

def PackageDef(pid: RefTree, stats: List[Tree])(implicit src: SourceFile): PackageDef
def Quote(body: Tree, tags: List[Tree])(implicit src: SourceFile): Quote
def QuotePattern(bindings: List[Tree], body: Tree, quotes: Tree)(implicit src: SourceFile): QuotePattern
def RefinedTypeTree(tpt: Tree, refinements: List[Tree])(implicit src: SourceFile): RefinedTypeTree
def Return(expr: Tree, from: Tree)(implicit src: SourceFile): Return
def SearchFailureIdent(name: Name, explanation: => String)(implicit src: SourceFile): SearchFailureIdent
def Select(qualifier: Tree, name: Name)(implicit src: SourceFile): Select
def SelectWithSig(qualifier: Tree, name: Name, sig: Signature)(implicit src: SourceFile): Select
def SeqLiteral(elems: List[Tree], elemtpt: Tree)(implicit src: SourceFile): SeqLiteral
def Splice(expr: Tree)(implicit src: SourceFile): Splice
def SplicePattern(body: Tree, args: List[Tree])(implicit src: SourceFile): SplicePattern
def Super(qual: Tree, mix: Ident)(implicit src: SourceFile): Super
def Template(constr: DefDef, parents: List[Tree], derived: List[Tree], self: ValDef, body: LazyTreeList)(implicit src: SourceFile): Template
def Template(constr: DefDef, parents: LazyTreeList, self: ValDef, body: LazyTreeList)(implicit src: SourceFile): Template
def TermLambdaTypeTree(params: List[ValDef], body: Tree)(implicit src: SourceFile): TermLambdaTypeTree
def This(qual: Ident)(implicit src: SourceFile): This
def Try(expr: Tree, cases: List[CaseDef], finalizer: Tree)(implicit src: SourceFile): Try
def TypeApply(fun: Tree, args: List[Tree])(implicit src: SourceFile): TypeApply
def TypeBoundsTree(lo: Tree, hi: Tree, alias: Tree)(implicit src: SourceFile): TypeBoundsTree
def TypeDef(name: TypeName, rhs: Tree)(implicit src: SourceFile): TypeDef
def TypeTree()(implicit src: SourceFile): TypeTree
def TypeTree(tpe: Type)(using Context): TypedSplice
def Typed(expr: Tree, tpt: Tree)(implicit src: SourceFile): Typed
def UnApply(fun: Tree, implicits: List[Tree], patterns: List[Tree])(implicit src: SourceFile): UnApply
def ValDef(name: TermName, tpt: Tree, rhs: LazyTree)(implicit src: SourceFile): ValDef
def WhileDo(cond: Tree, body: Tree)(implicit src: SourceFile): WhileDo
def captureRoot(using Context): Select
def ensureApplied(tpt: Tree)(implicit src: SourceFile): Tree
def javaDotLangDot(name: Name)(implicit src: SourceFile): Select
def lambdaAbstract(params: List[ValDef] | List[TypeDef], tpt: Tree)(using Context): Tree
def lambdaAbstractAll(paramss: List[List[ValDef] | List[TypeDef]], tpt: Tree)(using Context): Tree
def localCtx(tree: Tree)(using Context): Context

The context to use when mapping or accumulating over a tree

The context to use when mapping or accumulating over a tree

Attributes

def makeAndType(left: Tree, right: Tree)(using Context): AppliedTypeTree
def makeConstructor(tparams: List[TypeDef], vparamss: List[List[ValDef]], rhs: Tree)(using Context): DefDef
def makeNew(tpt: Tree)(using Context): Tree

A new expression with constrictor and possibly type arguments. See New(tpt, argss) for details.

A new expression with constrictor and possibly type arguments. See New(tpt, argss) for details.

Attributes

def makeParameter(pname: TermName, tpe: Tree, mods: Modifiers, isBackquoted: Boolean)(using Context): ValDef
def makeRetaining(parent: Tree, refs: List[Tree], annotName: TypeName)(using Context): Annotated
def makeSelfDef(name: TermName, tpt: Tree)(using Context): ValDef
def makeSyntheticParameter(n: Int, tpt: Tree | Null, flags: FlagSet)(using Context): ValDef
def makeTuple(ts: List[Tree])(using Context): Tree
def makeTupleOrParens(ts: List[Tree])(using Context): Tree
def rawRef(tp: NamedType)(using Context): Tree
def ref(tp: NamedType)(using Context): Tree
def ref(sym: Symbol)(using Context): Tree
def refOfDef(tree: MemberDef)(using Context): Tree

A reference to given definition. If definition is a repeated parameter, the reference will be a repeated argument.

A reference to given definition. If definition is a repeated parameter, the reference will be a repeated argument.

Attributes

def repeated(arg: Tree)(using Context): Typed

A repeated argument such as arg: _*

A repeated argument such as arg: _*

Attributes

def rootDot(name: Name)(implicit src: SourceFile): Select
def scalaAny(implicit src: SourceFile): Select
def scalaDot(name: Name)(implicit src: SourceFile): Select
def scalaRuntimeDot(name: Name)(using SourceFile): Select
def scalaUnit(implicit src: SourceFile): Select
def unitLiteral(implicit src: SourceFile): Literal

Inherited methods

def Thicket(xs: List[Tree])(implicit src: SourceFile): Thicket[Untyped]

Attributes

Inherited from:
Instance
def Thicket(x1: Tree, x2: Tree, x3: Tree)(implicit src: SourceFile): Thicket

Attributes

Inherited from:
Instance
def Thicket(x1: Tree, x2: Tree)(implicit src: SourceFile): Thicket

Attributes

Inherited from:
Instance
def Thicket(): Thicket

Attributes

Inherited from:
Instance
def allArguments(tree: Tree): List[Tree]

All term arguments of an application in a single flattened list

All term arguments of an application in a single flattened list

Attributes

Inherited from:
TreeInfo
def allParamSyms(ddef: DefDef)(using Context): List[Symbol]

All type and value parameter symbols of this DefDef

All type and value parameter symbols of this DefDef

Attributes

Inherited from:
TreeInfo
def appliedCore(tree: Tree): Tree

The tree stripped of the possibly nested applications (term and type). The original tree if it's not an application.

The tree stripped of the possibly nested applications (term and type). The original tree if it's not an application.

Attributes

Inherited from:
TreeInfo
def applyOverloaded(receiver: Tree, method: TermName, args: List[Tree], targs: List[Type], expectedType: Type)(using parentCtx: Context): Tree

Construct the application $receiver.$method[$targs]($args) using overloading resolution to find a matching overload of $method if necessary. This is useful when overloading resolution needs to be performed in a phase after typer. Note that this will not perform any kind of implicit search.

Construct the application $receiver.$method[$targs]($args) using overloading resolution to find a matching overload of $method if necessary. This is useful when overloading resolution needs to be performed in a phase after typer. Note that this will not perform any kind of implicit search.

Value parameters

expectedType

An expected type of the application used to guide overloading resolution

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance
def bodyKind(body: List[Tree])(using Context): FlagSet

The largest subset of {NoInits, PureInterface} that a trait or class with this body can have as flags.

The largest subset of {NoInits, PureInterface} that a trait or class with this body can have as flags.

Attributes

Inherited from:
UntypedTreeInfo
def catchesAllOf(cdef: CaseDef, threshold: Type)(using Context): Boolean

Does this CaseDef catch everything of a certain Type?

Does this CaseDef catch everything of a certain Type?

Attributes

Inherited from:
TreeInfo

Does this CaseDef catch Throwable?

Does this CaseDef catch Throwable?

Attributes

Inherited from:
TreeInfo
def firstConstructor(stats: List[Tree]): Tree

The first constructor definition in stats

The first constructor definition in stats

Attributes

Inherited from:
TreeInfo
def flatTree(xs: List[Tree])(implicit src: SourceFile): Tree

Attributes

Inherited from:
Instance
def forallResults(tree: Tree, p: Tree => Boolean): Boolean

Checks whether predicate p is true for all result parts of this expression, where we zoom into Ifs, Matches, and Blocks.

Checks whether predicate p is true for all result parts of this expression, where we zoom into Ifs, Matches, and Blocks.

Attributes

Inherited from:
TreeInfo

Attributes

Inherited from:
UntypedTreeInfo

Is tree explicitly parameterized with type arguments?

Is tree explicitly parameterized with type arguments?

Attributes

Inherited from:
TreeInfo
def hasNamedArg(args: List[Any]): Boolean

Does this list contain a named argument tree?

Does this list contain a named argument tree?

Attributes

Inherited from:
TreeInfo
protected def inlineContext(tree: Inlined)(using Context): Context

For untyped trees, this is just the identity. For typed trees, a context derived form ctx that records call as the innermost enclosing call for which the inlined version is currently processed.

For untyped trees, this is just the identity. For typed trees, a context derived form ctx that records call as the innermost enclosing call for which the inlined version is currently processed.

Attributes

Inherited from:
Instance
def isBackquoted(tree: Tree): Boolean

Is tree a backquoted identifier or definition

Is tree a backquoted identifier or definition

Attributes

Inherited from:
TreeInfo
def isByNameType(tree: Tree)(using Context): Boolean

Is tree a type tree of the form => T or (under pureFunctions) {refs}-> T?

Is tree a type tree of the form => T or (under pureFunctions) {refs}-> T?

Attributes

Inherited from:
TreeInfo

Is tree an context function or closure, possibly nested in a block?

Is tree an context function or closure, possibly nested in a block?

Attributes

Inherited from:
UntypedTreeInfo

Attributes

Inherited from:
TreeInfo

Is this pattern node a catch-all (wildcard or variable) pattern?

Is this pattern node a catch-all (wildcard or variable) pattern?

Attributes

Inherited from:
TreeInfo
def isFunction(tree: Tree): Boolean

Attributes

Inherited from:
UntypedTreeInfo

Attributes

Inherited from:
UntypedTreeInfo

Is this case guarded?

Is this case guarded?

Attributes

Inherited from:
TreeInfo
def isOpAssign(tree: Tree): Boolean

Attributes

Inherited from:
TreeInfo
def isPath(tree: Tree): Boolean

Is tree a path?

Is tree a path?

Attributes

Inherited from:
TreeInfo

Is tpt a vararg type of the form T* or => T*?

Is tpt a vararg type of the form T* or => T*?

Attributes

Inherited from:
TreeInfo

Is tree a self constructor call this(...)? I.e. a call to a constructor of the same object?

Is tree a self constructor call this(...)? I.e. a call to a constructor of the same object?

Attributes

Inherited from:
TreeInfo

Attributes

Inherited from:
TreeInfo

Is tree a super constructor call?

Is tree a super constructor call?

Attributes

Inherited from:
TreeInfo

Attributes

Inherited from:
TreeInfo

Attributes

Inherited from:
Instance
def isThisTypeResult(tree: Tree)(using Context): Boolean

Is tree an application with result this.type? Accept b.addOne(x) and also xs(i) += x where the op is an assignment operator.

Is tree an application with result this.type? Accept b.addOne(x) and also xs(i) += x where the op is an assignment operator.

Attributes

Inherited from:
TreeInfo

Attributes

Inherited from:
TreeInfo
def isUsingClause(params: ParamClause)(using Context): Boolean

Is this parameter list a using clause?

Is this parameter list a using clause?

Attributes

Inherited from:
TreeInfo

Attributes

Inherited from:
TreeInfo

Is tree a variable pattern?

Is tree a variable pattern?

Attributes

Inherited from:
TreeInfo
def isWildcardArg(tree: Tree): Boolean

Is the argument a wildcard argument of the form _ or x @ _?

Is the argument a wildcard argument of the form _ or x @ _?

Attributes

Inherited from:
TreeInfo
def isWildcardStarArg(tree: Tree)(using Context): Boolean

Is this argument node of the form *, or is it a reference to such an argument ? The latter case can happen when an argument is lifted.

Is this argument node of the form *, or is it a reference to such an argument ? The latter case can happen when an argument is lifted.

Attributes

Inherited from:
TreeInfo

Does this argument list end with an argument of the form : _* ?

Does this argument list end with an argument of the form : _* ?

Attributes

Inherited from:
TreeInfo
def joinParams(tparams: List[TypeDef], paramss: List[ParamClause]): List[ParamClause]

If tparams is non-empty, add it to the left paramss, merging it with a leading type parameter list of paramss, if one exists.

If tparams is non-empty, add it to the left paramss, merging it with a leading type parameter list of paramss, if one exists.

Attributes

Inherited from:
Instance

If path looks like a language import, Some(name) where name is experimental if that sub-module is imported, and the empty term name otherwise.

If path looks like a language import, Some(name) where name is experimental if that sub-module is imported, and the empty term name otherwise.

Attributes

Inherited from:
TreeInfo
def methPart(tree: Tree): Tree

The method part of an application node, possibly enclosed in a block with only valdefs as statements. the reason for also considering blocks is that named arguments can transform a call into a block, e.g. (b = foo, a = bar) is transformed to { val x$1 = foo val x$2 = bar (x$2, x$1) }

The method part of an application node, possibly enclosed in a block with only valdefs as statements. the reason for also considering blocks is that named arguments can transform a call into a block, e.g. (b = foo, a = bar) is transformed to { val x$1 = foo val x$2 = bar (x$2, x$1) }

Attributes

Inherited from:
TreeInfo
def numArgs(tree: Tree): Int

The number of arguments in an application

The number of arguments in an application

Attributes

Inherited from:
TreeInfo
def parentsKind(parents: List[Tree])(using Context): FlagSet

The largest subset of {NoInits, PureInterface} that a trait or class with these parents can have as flags.

The largest subset of {NoInits, PureInterface} that a trait or class with these parents can have as flags.

Attributes

Inherited from:
TreeInfo
def rename(tree: NameTree, newName: Name)(using Context): tree.ThisTree[Untyped]

Attributes

Inherited from:
Instance
def resolveConstructor(atp: Type, args: List[Tree])(using Context): Tree

Attributes

Inherited from:
Instance
protected def skipTransform(tree: Tree)(using Context): Boolean

Hook to indicate that a transform of some subtree should be skipped

Hook to indicate that a transform of some subtree should be skipped

Attributes

Inherited from:
Instance
def stripAnnotated(tree: Tree): Tree

Attributes

Inherited from:
TreeInfo
def stripApply(tree: Tree): Tree

If this is an application, its function part, stripping all Apply nodes (but leaving TypeApply nodes in). Otherwise the tree itself.

If this is an application, its function part, stripping all Apply nodes (but leaving TypeApply nodes in). Otherwise the tree itself.

Attributes

Inherited from:
TreeInfo
def stripBlock(tree: Tree): Tree

If this is a block, its expression part

If this is a block, its expression part

Attributes

Inherited from:
TreeInfo
def stripByNameType(tree: Tree)(using Context): Tree

Strip => T to T and (under pureFunctions) {refs}-> T to T

Strip => T to T and (under pureFunctions) {refs}-> T to T

Attributes

Inherited from:
TreeInfo
def stripInlined(tree: Tree): Tree

Attributes

Inherited from:
TreeInfo
def stripTyped(tree: Tree): Tree

Attributes

Inherited from:
TreeInfo
def termArgss(tree: Tree): List[List[Tree]]

The term arguments of a possibly curried call

The term arguments of a possibly curried call

Attributes

Inherited from:
TreeInfo

Attributes

Inherited from:
Instance
def transformCtx(tree: Tree)(using Context): Context

The context to use when transforming a tree. It ensures that the source is correct, and that the local context is used if that's necessary for transforming the whole tree. TODO: ensure transform is always called with the correct context as argument

The context to use when transforming a tree. It ensures that the source is correct, and that the local context is used if that's necessary for transforming the whole tree. TODO: ensure transform is always called with the correct context as argument

Attributes

See also
Inherited from:
Instance
def typeArgss(tree: Tree): List[List[Tree]]

The type arguments of a possibly curried call

The type arguments of a possibly curried call

Attributes

Inherited from:
TreeInfo
def unbind(x: Tree): Tree

The underlying pattern ignoring any bindings

The underlying pattern ignoring any bindings

Attributes

Inherited from:
TreeInfo
override def unsplice(tree: Tree): Tree

The underlying tree when stripping any TypedSplice or Parens nodes

The underlying tree when stripping any TypedSplice or Parens nodes

Attributes

Definition Classes
Inherited from:
UntypedTreeInfo

Concrete fields

Property key for contextual Apply trees of the form fn given arg

Property key for contextual Apply trees of the form fn given arg

Attributes

Property key for TypeTrees marked with TypeRefOfSym or InfoOfSym which contains the symbol of the original tree from which this TypeTree is derived.

Property key for TypeTrees marked with TypeRefOfSym or InfoOfSym which contains the symbol of the original tree from which this TypeTree is derived.

Attributes

Property key containing TypeTrees whose type is computed from the symbol in this type. These type trees have marker trees TypeRefOfSym or InfoOfSym as their originals.

Property key containing TypeTrees whose type is computed from the symbol in this type. These type trees have marker trees TypeRefOfSym or InfoOfSym as their originals.

Attributes

override val cpy: UntypedTreeCopier

Inherited fields

Attributes

Inherited from:
Instance

Attributes

Inherited from:
Instance
val isNamedArg: Any => Boolean

Attributes

Inherited from:
TreeInfo

Extensions

Extensions

extension (tree: Tree)

Is there a subtree of this tree that satisfies predicate p?

Is there a subtree of this tree that satisfies predicate p?

Attributes