Function

abstract type Function >: Null <: Universe.FunctionApi with Universe.TermTree with Universe.SymTree

Anonymous function, eliminated by compiler phase lambdalift

Linear Supertypes
Universe.<refinement>, Universe.<refinement>, Universe.<refinement>, Universe.FunctionApi, Universe.SymTreeApi, Universe.TermTreeApi, Universe.TreeApi, Product, Equals, AnyRef, Any
Ordering
1. Alphabetic
2. By inheritance
Inherited
1. Function
2. <refinement>
3. <refinement>
4. <refinement>
5. FunctionApi
6. SymTreeApi
7. TermTreeApi
8. TreeApi
9. Product
10. Equals
11. AnyRef
12. Any
1. Hide All
2. Show all
Visibility
1. Public
2. All

Abstract Value Members

1. abstract def body: Universe.Tree

The body of the function.

The body of the function.

Definition Classes
FunctionApi
2. abstract def canEqual(that: Any): Boolean

Definition Classes
Equals
3. abstract def canHaveAttrs: Boolean

Can this tree carry attributes (i.

Can this tree carry attributes (i.e. symbols, types or positions)? Typically the answer is yes, except for the `EmptyTree` null object and two special singletons: `noSelfType` and `pendingSuperCall`.

Definition Classes
TreeApi
4. abstract def children: List[Universe.Tree]

The direct child trees of this tree.

The direct child trees of this tree. EmptyTrees are always omitted. Lists are flattened.

Definition Classes
TreeApi
5. abstract def collect[T](pf: PartialFunction[Universe.Tree, T]): List[T]

Apply ```pf' to each subtree on which the function is defined and collect the results. ```

Apply ```pf' to each subtree on which the function is defined and collect the results. ```

Definition Classes
TreeApi
6. abstract def duplicate: TreeApi.this.type

Make a copy of this tree, keeping all attributes, except that all positions are focused (so nothing in this tree will be found when searching by position).

Make a copy of this tree, keeping all attributes, except that all positions are focused (so nothing in this tree will be found when searching by position).

Definition Classes
TreeApi
7. abstract def equalsStructure(that: Universe.Tree): Boolean

Tests whether two trees are structurall equal.

Tests whether two trees are structurall equal. Note that `==` on trees is reference equality.

Definition Classes
TreeApi
8. abstract def exists(p: (Universe.Tree) ⇒ Boolean): Boolean

Is there exists a part of this tree which satisfies predicate `p`?

Is there exists a part of this tree which satisfies predicate `p`?

Definition Classes
TreeApi
9. abstract def filter(f: (Universe.Tree) ⇒ Boolean): List[Universe.Tree]

Find all subtrees matching predicate `p`.

Find all subtrees matching predicate `p`. Same as `withFilter`

Definition Classes
TreeApi
10. abstract def find(p: (Universe.Tree) ⇒ Boolean): Option[Universe.Tree]

Returns optionally first tree (in a preorder traversal) which satisfies predicate `p`, or None if none exists.

Returns optionally first tree (in a preorder traversal) which satisfies predicate `p`, or None if none exists.

Definition Classes
TreeApi
11. abstract def forAll(p: (Universe.Tree) ⇒ Boolean): Boolean

Do all parts of this tree satisfy predicate `p`?

Do all parts of this tree satisfy predicate `p`?

Definition Classes
TreeApi
12. abstract def foreach(f: (Universe.Tree) ⇒ Unit): Unit

Apply `f` to each subtree

Apply `f` to each subtree

Definition Classes
TreeApi
13. abstract def isDef: Boolean

Does this tree represent a definition? (of a method, of a class, etc)

Does this tree represent a definition? (of a method, of a class, etc)

Definition Classes
TreeApi
14. abstract def isEmpty: Boolean

Is this tree one of the empty trees?

Is this tree one of the empty trees?

Empty trees are: the `EmptyTree` null object and `TypeTree` instances that don't carry a type.

Definition Classes
TreeApi

`canHaveAttrs`

15. abstract def isTerm: Boolean

The canonical way to test if a Tree represents a term.

The canonical way to test if a Tree represents a term.

Definition Classes
TreeApi
16. abstract def isType: Boolean

The canonical way to test if a Tree represents a type.

The canonical way to test if a Tree represents a type.

Definition Classes
TreeApi
17. abstract def nonEmpty: Boolean

Is this tree not an empty tree?

Is this tree not an empty tree?

Definition Classes
TreeApi

`isEmpty`

18. abstract def orElse(alt: ⇒ Universe.Tree): Universe.Tree

Provides an alternate if tree is empty

Provides an alternate if tree is empty

alt

The alternate tree

returns

If this tree is non empty, this tree, otherwise `alt`.

Definition Classes
TreeApi
19. abstract def pos: Universe.Position

Position of the tree.

Position of the tree.

Definition Classes
TreeApi
20. abstract def productArity: Int

Definition Classes
Product
21. abstract def productElement(n: Int): Any

Definition Classes
Product
22. abstract def symbol: Universe.Symbol

Symbol of the tree.

Symbol of the tree.

For most trees symbol is `null`. In `SymTree`s, it is overridden and implemented with a var, initialized to `NoSymbol`.

Trees which are not `SymTree`s but which carry symbols do so by overriding `def symbol` to forward it elsewhere. Examples:

• `Super(qual, _)` has `qual`'s symbol,
• `Apply(fun, args)` has `fun`'s symbol,
• `TypeApply(fun, args)` has `fun`'s symbol,
• `AppliedTypeTree(tpt, args)` has `tpt`'s symbol,
• `TypeTree(tpe)` has `tpe`'s `typeSymbol`, if `tpe != null`.
Definition Classes
SymTreeApiTreeApi
23. abstract def tpe: Universe.Type

Type of the tree.

Type of the tree.

Upon creation most trees have their `tpe` set to `null`. Types are typically assigned to trees during typechecking. Some node factory methods set `tpe` immediately after creation.

When the typechecker encounters a tree with a non-null tpe, it will assume it to be correct and not check it again. This means one has to be careful not to erase the `tpe` field of subtrees.

Definition Classes
TreeApi
24. abstract def vparams: List[Universe.ValDef]

The list of parameters of the function.

The list of parameters of the function.

Definition Classes
FunctionApi
25. abstract def withFilter(f: (Universe.Tree) ⇒ Boolean): List[Universe.Tree]

Find all subtrees matching predicate `p`.

Find all subtrees matching predicate `p`. Same as `filter`

Definition Classes
TreeApi

Concrete Value Members

1. final def !=(arg0: Any): Boolean

Definition Classes
AnyRef → Any
2. final def ##(): Int

Definition Classes
AnyRef → Any
3. final def ==(arg0: Any): Boolean

Definition Classes
AnyRef → Any
4. final def asInstanceOf[T0]: T0

Definition Classes
Any
5. def clone(): AnyRef

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws( ... )
6. final def eq(arg0: AnyRef): Boolean

Definition Classes
AnyRef
7. def equals(arg0: Any): Boolean

Definition Classes
AnyRef → Any
8. def finalize(): Unit

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws( classOf[java.lang.Throwable] )
9. final def getClass(): Class[_]

Definition Classes
AnyRef → Any
10. def hashCode(): Int

Definition Classes
AnyRef → Any
11. final def isInstanceOf[T0]: Boolean

Definition Classes
Any
12. final def ne(arg0: AnyRef): Boolean

Definition Classes
AnyRef
13. final def notify(): Unit

Definition Classes
AnyRef
14. final def notifyAll(): Unit

Definition Classes
AnyRef
15. def productIterator: Iterator[Any]

Definition Classes
Product
16. def productPrefix: String

Definition Classes
Product
17. final def synchronized[T0](arg0: ⇒ T0): T0

Definition Classes
AnyRef
18. def toString(): String

Obtains string representation of a tree

Obtains string representation of a tree

Definition Classes
TreeApi → AnyRef → Any
19. final def wait(): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )
20. final def wait(arg0: Long, arg1: Int): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )
21. final def wait(arg0: Long): Unit

Definition Classes
AnyRef
Annotations
@throws( ... )