A method that should be called from every well-designed equals method that is open to be overridden in a subclass.
A method that should be called from every well-designed equals method that is open to be overridden in a subclass. See Programming in Scala, Chapter 28 for discussion and design.
the value being probed for possible equality
true if this instance can possibly equal that
, otherwise false
The size of this product.
The nth element of this product, 0-based.
The nth element of this product, 0-based. In other words, for a
product A(x1, ..., xk)
, returns x(n+1) where
0 < n < k.
the index of the element to return
the element n
elements after the first element
The direct child trees of this tree.
The direct child trees of this tree. EmptyTrees are always omitted. Lists are flattened.
Like setType
, but if this is a previously empty TypeTree that
fact is remembered so that resetAllAttrs will snap back.
Like setType
, but if this is a previously empty TypeTree that
fact is remembered so that resetAllAttrs will snap back.
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).
The universal equality method defined in AnyRef
.
Is there part of this tree which satisfies predicate p
?
Is there part of this tree which satisfies predicate p
?
Find all subtrees matching predicate p
Find all subtrees matching predicate p
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.
Apply f
to each subtree
Apply f
to each subtree
The hashCode method for reference types.
The canonical way to test if a Tree represents a term.
The canonical way to test if a Tree represents a term.
The canonical way to test if a Tree represents a type.
The canonical way to test if a Tree represents a type.
An iterator over all the elements of this product.
An iterator over all the elements of this product.
in the default implementation, an Iterator[Any]
A string used in the toString
methods of derived classes.
A string used in the toString
methods of derived classes.
Implementations may override this method to prepend a string prefix
to the result of toString
methods.
in the default implementation, the empty string
Set tpe to give tp
and return this.
Set tpe to give tp
and return this.
Note that symbol is fixed as null at this level.
Note that symbol is fixed as null at this level. 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
Attempting to set the symbol of a Tree which does not support it will induce an exception.
Creates a String representation of this object.
Common base class for Apply and TypeApply. This could in principle be a SymTree, but whether or not a Tree is a SymTree isn't used to settle any interesting questions, and it would add a useless field to all the instances (useless, since GenericApply forwards to the underlying fun.)