Trait scala.reflect.api.Trees.NewApi

trait NewApi extends Universe.TermTreeApi

The API that all news support

Self Type
Universe.New
Source
Trees.scala
Linear Supertypes
Universe.TermTreeApi, Universe.TreeApi, Product, Equals, AnyRef, Any
Known Subclasses
New

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: NewApi.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 SymTrees, it is overridden and implemented with a var, initialized to NoSymbol.

Trees which are not SymTrees 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.

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

def +(other: String): String

Implicit
This member is added by an implicit conversion from Universe.NewApi toany2stringadd[Universe.NewApi] performed by method any2stringadd in scala.Predef.
Definition Classes
any2stringadd

def ->[B](y: B): (Universe.NewApi, B)

Implicit
This member is added by an implicit conversion from Universe.NewApi toArrowAssoc[Universe.NewApi] performed by method ArrowAssoc in scala.Predef.
Definition Classes
ArrowAssoc
Annotations
@inline()

final def ==(arg0: Any): Boolean

Definition Classes
AnyRef → Any

final def asInstanceOf[T0]: T0

Definition Classes
Any

def clone(): AnyRef

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.CloneNotSupportedException]) @native()

def ensuring(cond: (Universe.NewApi) => Boolean, msg: => Any): Universe.NewApi

Implicit
This member is added by an implicit conversion from Universe.NewApi toEnsuring[Universe.NewApi] performed by method Ensuring in scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: (Universe.NewApi) => Boolean): Universe.NewApi

Implicit
This member is added by an implicit conversion from Universe.NewApi toEnsuring[Universe.NewApi] performed by method Ensuring in scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: Boolean, msg: => Any): Universe.NewApi

Implicit
This member is added by an implicit conversion from Universe.NewApi toEnsuring[Universe.NewApi] performed by method Ensuring in scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: Boolean): Universe.NewApi

Implicit
This member is added by an implicit conversion from Universe.NewApi toEnsuring[Universe.NewApi] performed by method Ensuring in scala.Predef.
Definition Classes
Ensuring

final def eq(arg0: AnyRef): Boolean

Definition Classes
AnyRef

def equals(arg0: AnyRef): Boolean

Definition Classes
AnyRef → Any

def finalize(): Unit

Attributes
protected[java.lang]
Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.Throwable])

def formatted(fmtstr: String): String

Implicit
This member is added by an implicit conversion from Universe.NewApi toStringFormat[Universe.NewApi] performed by method StringFormat in scala.Predef.
Definition Classes
StringFormat
Annotations
@inline()

final def getClass(): Class[_ <: AnyRef]

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 productElementName(n: Int): String

Definition Classes
Product

def productElementNames: Iterator[String]

Definition Classes
Product

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(classOf[java.lang.InterruptedException])

final def wait(arg0: Long, arg1: Int): Unit

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException])

final def wait(arg0: Long): Unit

Definition Classes
AnyRef
Annotations
@throws(classOf[java.lang.InterruptedException]) @native()

© 2002-2019 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://www.scala-lang.org/api/2.13.0/scala-reflect/scala/reflect/api/Trees$NewApi.html