Annotation scala.reflect.api.Trees.New
abstract type New >: Null <: Universe.NewApi with Universe.TermTree
Abstract Value Members
abstract def canEqual(that: Any): Boolean
- Definition Classes
- Equals
abstract def canHaveAttrs: Boolean
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
abstract def children: List[Universe.Tree]
The direct child trees of this tree. EmptyTrees are always omitted. Lists are flattened.
- Definition Classes
- TreeApi
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.
- Definition Classes
- TreeApi
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).
- Definition Classes
- TreeApi
abstract def equalsStructure(that: Universe.Tree): Boolean
Tests whether two trees are structurally equal. Note that ==
on trees is reference equality.
- Definition Classes
- TreeApi
abstract def exists(p: (Universe.Tree) ⇒ Boolean): Boolean
Is there exists a part of this tree which satisfies predicate p
?
- Definition Classes
- TreeApi
abstract def filter(f: (Universe.Tree) ⇒ Boolean): List[Universe.Tree]
Find all subtrees matching predicate p
. Same as withFilter
- Definition Classes
- TreeApi
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.
- Definition Classes
- TreeApi
abstract def forAll(p: (Universe.Tree) ⇒ Boolean): Boolean
Do all parts of this tree satisfy predicate p
?
- Definition Classes
- TreeApi
abstract def foreach(f: (Universe.Tree) ⇒ Unit): Unit
Apply f
to each subtree
- Definition Classes
- TreeApi
abstract def isDef: Boolean
Does this tree represent a definition? (of a method, of a class, etc)
- Definition Classes
- TreeApi
abstract def isEmpty: Boolean
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
- See also
canHaveAttrs
abstract def isTerm: Boolean
The canonical way to test if a Tree represents a term.
- Definition Classes
- TreeApi
abstract def isType: Boolean
The canonical way to test if a Tree represents a type.
- Definition Classes
- TreeApi
abstract def nonEmpty: Boolean
Is this tree not an empty tree?
- Definition Classes
- TreeApi
- See also
isEmpty
abstract def orElse(alt: ⇒ Universe.Tree): Universe.Tree
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
abstract def pos: Universe.Position
Position of the tree.
- Definition Classes
- TreeApi
abstract def productArity: Int
- Definition Classes
- Product
abstract def productElement(n: Int): Any
- Definition Classes
- Product
abstract def symbol: Universe.Symbol
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
- TreeApi
abstract def tpe: Universe.Type
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
abstract def tpt: Universe.Tree
The tree that represents the type being instantiated. See the example for scala.reflect.api.Trees#NewExtractor.
- Definition Classes
- NewApi
abstract def withFilter(f: (Universe.Tree) ⇒ Boolean): List[Universe.Tree]
Find all subtrees matching predicate p
. Same as filter
- Definition Classes
- TreeApi
Concrete Value Members
final def !=(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
final def ##(): Int
- Definition Classes
- AnyRef → Any
final def ==(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
final def asInstanceOf[T0]: T0
- Definition Classes
- Any
def clone(): AnyRef
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
final def eq(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
def equals(arg0: Any): Boolean
- Definition Classes
- AnyRef → Any
def finalize(): Unit
- Attributes
- protected[lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
final def getClass(): Class[_]
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
def hashCode(): Int
- Definition Classes
- AnyRef → Any
- Annotations
- @native()
final def isInstanceOf[T0]: Boolean
- Definition Classes
- Any
final def ne(arg0: AnyRef): Boolean
- Definition Classes
- AnyRef
final def notify(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
final def notifyAll(): Unit
- Definition Classes
- AnyRef
- Annotations
- @native()
def productIterator: Iterator[Any]
- Definition Classes
- Product
def productPrefix: String
- Definition Classes
- Product
final def synchronized[T0](arg0: ⇒ T0): T0
- Definition Classes
- AnyRef
def toString(): String
Obtains string representation of a tree
- Definition Classes
- TreeApi → AnyRef → Any
final def wait(): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
final def wait(arg0: Long, arg1: Int): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
final def wait(arg0: Long): Unit
- Definition Classes
- AnyRef
- Annotations
- @throws( ... ) @native()
© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.12.9/scala-reflect/scala/reflect/api/Trees$New.html
Object instantiation