trait CaseDefApi extends Universe.TreeApi
The API that all case defs support
- Self Type
- Universe.CaseDef
- Source
- Trees.scala
- Alphabetic
- By Inheritance
- CaseDefApi
- TreeApi
- Product
- Equals
- AnyRef
- Any
- by any2stringadd
- by StringFormat
- by Ensuring
- by ArrowAssoc
- Hide All
- Show All
- Public
- All
Abstract Value Members
-
abstract
def
body: Universe.Tree
The body of the pattern matching clause.
The body of the pattern matching clause. Is equal to
Literal(Constant(()))
if the body is not specified. -
abstract
def
canEqual(that: Any): Boolean
- Definition Classes
- Equals
-
abstract
def
canHaveAttrs: Boolean
Can this tree carry attributes (i.e.
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
andpendingSuperCall
.- Definition Classes
- TreeApi
-
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
-
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
-
abstract
def
duplicate: CaseDefApi.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
-
abstract
def
equalsStructure(that: Universe.Tree): Boolean
Tests whether two trees are structurally equal.
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
?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
.Find all subtrees matching predicate
p
. Same aswithFilter
- 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.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
?Do all parts of this tree satisfy predicate
p
?- Definition Classes
- TreeApi
-
abstract
def
foreach(f: (Universe.Tree) ⇒ Unit): Unit
Apply
f
to each subtreeApply
f
to each subtree- Definition Classes
- TreeApi
-
abstract
def
guard: Universe.Tree
The guard of the pattern matching clause.
The guard of the pattern matching clause. Is equal to
EmptyTree
if the guard is not specified. -
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
-
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 andTypeTree
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.
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.
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?
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
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
pat: Universe.Tree
The pattern of the pattern matching clause.
-
abstract
def
pos: Universe.Position
Position of the tree.
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.
Symbol of the tree.
For most trees symbol is
null
. InSymTree
s, it is overridden and implemented with a var, initialized toNoSymbol
.Trees which are not
SymTree
s but which carry symbols do so by overridingdef symbol
to forward it elsewhere. Examples:Super(qual, _)
hasqual
's symbol,Apply(fun, args)
hasfun
's symbol,TypeApply(fun, args)
hasfun
's symbol,AppliedTypeTree(tpt, args)
hastpt
's symbol,TypeTree(tpe)
hastpe
'stypeSymbol
, iftpe != null
.
- Definition Classes
- TreeApi
-
abstract
def
tpe: Universe.Type
Type of the tree.
Type of the tree.
Upon creation most trees have their
tpe
set tonull
. Types are typically assigned to trees during typechecking. Some node factory methods settpe
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
withFilter(f: (Universe.Tree) ⇒ Boolean): List[Universe.Tree]
Find all subtrees matching predicate
p
.Find all subtrees matching predicate
p
. Same asfilter
- Definition Classes
- TreeApi
Concrete Value Members
-
final
def
!=(arg0: Any): Boolean
Test two objects for inequality.
Test two objects for inequality.
- returns
true
if !(this == that), false otherwise.
- Definition Classes
- AnyRef → Any
-
final
def
##(): Int
Equivalent to
x.hashCode
except for boxed numeric types andnull
.Equivalent to
x.hashCode
except for boxed numeric types andnull
. For numerics, it returns a hash value which is consistent with value equality: if two value type instances compare as true, then ## will produce the same hash value for each of them. Fornull
returns a hashcode wherenull.hashCode
throws aNullPointerException
.- returns
a hash value consistent with ==
- Definition Classes
- AnyRef → Any
-
def
+(other: String): String
- Implicit
- This member is added by an implicit conversion from Universe.CaseDefApi to any2stringadd[Universe.CaseDefApi] performed by method any2stringadd in scala.Predef.
- Definition Classes
- any2stringadd
-
def
->[B](y: B): (Universe.CaseDefApi, B)
- Implicit
- This member is added by an implicit conversion from Universe.CaseDefApi to ArrowAssoc[Universe.CaseDefApi] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc
- Annotations
- @inline()
-
final
def
==(arg0: Any): Boolean
The expression
x == that
is equivalent toif (x eq null) that eq null else x.equals(that)
.The expression
x == that
is equivalent toif (x eq null) that eq null else x.equals(that)
.- returns
true
if the receiver object is equivalent to the argument;false
otherwise.
- Definition Classes
- AnyRef → Any
-
final
def
asInstanceOf[T0]: T0
Cast the receiver object to be of type
T0
.Cast the receiver object to be of type
T0
.Note that the success of a cast at runtime is modulo Scala's erasure semantics. Therefore the expression
1.asInstanceOf[String]
will throw aClassCastException
at runtime, while the expressionList(1).asInstanceOf[List[String]]
will not. In the latter example, because the type argument is erased as part of compilation it is not possible to check whether the contents of the list are of the requested type.- returns
the receiver object.
- Definition Classes
- Any
- Exceptions thrown
ClassCastException
if the receiver object is not an instance of the erasure of typeT0
.
-
def
clone(): AnyRef
Create a copy of the receiver object.
Create a copy of the receiver object.
The default implementation of the
clone
method is platform dependent.- returns
a copy of the receiver object.
- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( ... )
- Note
not specified by SLS as a member of AnyRef
-
def
ensuring(cond: (Universe.CaseDefApi) ⇒ Boolean, msg: ⇒ Any): Universe.CaseDefApi
- Implicit
- This member is added by an implicit conversion from Universe.CaseDefApi to Ensuring[Universe.CaseDefApi] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: (Universe.CaseDefApi) ⇒ Boolean): Universe.CaseDefApi
- Implicit
- This member is added by an implicit conversion from Universe.CaseDefApi to Ensuring[Universe.CaseDefApi] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean, msg: ⇒ Any): Universe.CaseDefApi
- Implicit
- This member is added by an implicit conversion from Universe.CaseDefApi to Ensuring[Universe.CaseDefApi] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
def
ensuring(cond: Boolean): Universe.CaseDefApi
- Implicit
- This member is added by an implicit conversion from Universe.CaseDefApi to Ensuring[Universe.CaseDefApi] performed by method Ensuring in scala.Predef.
- Definition Classes
- Ensuring
-
final
def
eq(arg0: AnyRef): Boolean
Tests whether the argument (
that
) is a reference to the receiver object (this
).Tests whether the argument (
that
) is a reference to the receiver object (this
).The
eq
method implements an equivalence relation on non-null instances ofAnyRef
, and has three additional properties:- It is consistent: for any non-null instances
x
andy
of typeAnyRef
, multiple invocations ofx.eq(y)
consistently returnstrue
or consistently returnsfalse
. - For any non-null instance
x
of typeAnyRef
,x.eq(null)
andnull.eq(x)
returnsfalse
. null.eq(null)
returnstrue
.
When overriding the
equals
orhashCode
methods, it is important to ensure that their behavior is consistent with reference equality. Therefore, if two objects are references to each other (o1 eq o2
), they should be equal to each other (o1 == o2
) and they should hash to the same value (o1.hashCode == o2.hashCode
).- returns
true
if the argument is a reference to the receiver object;false
otherwise.
- Definition Classes
- AnyRef
- It is consistent: for any non-null instances
-
def
equals(arg0: Any): Boolean
The equality method for reference types.
-
def
finalize(): Unit
Called by the garbage collector on the receiver object when there are no more references to the object.
Called by the garbage collector on the receiver object when there are no more references to the object.
The details of when and if the
finalize
method is invoked, as well as the interaction betweenfinalize
and non-local returns and exceptions, are all platform dependent.- Attributes
- protected[java.lang]
- Definition Classes
- AnyRef
- Annotations
- @throws( classOf[java.lang.Throwable] )
- Note
not specified by SLS as a member of AnyRef
-
def
formatted(fmtstr: String): String
- Implicit
- This member is added by an implicit conversion from Universe.CaseDefApi to StringFormat[Universe.CaseDefApi] performed by method StringFormat in scala.Predef.
- Definition Classes
- StringFormat
- Annotations
- @inline()
-
final
def
getClass(): Class[_]
Returns the runtime class representation of the object.
Returns the runtime class representation of the object.
- returns
a class object corresponding to the runtime type of the receiver.
- Definition Classes
- AnyRef → Any
-
def
hashCode(): Int
The hashCode method for reference types.
-
final
def
isInstanceOf[T0]: Boolean
Test whether the dynamic type of the receiver object is
T0
.Test whether the dynamic type of the receiver object is
T0
.Note that the result of the test is modulo Scala's erasure semantics. Therefore the expression
1.isInstanceOf[String]
will returnfalse
, while the expressionList(1).isInstanceOf[List[String]]
will returntrue
. In the latter example, because the type argument is erased as part of compilation it is not possible to check whether the contents of the list are of the specified type.- returns
true
if the receiver object is an instance of erasure of typeT0
;false
otherwise.
- Definition Classes
- Any
-
final
def
ne(arg0: AnyRef): Boolean
Equivalent to
!(this eq that)
.Equivalent to
!(this eq that)
.- returns
true
if the argument is not a reference to the receiver object;false
otherwise.
- Definition Classes
- AnyRef
-
final
def
notify(): Unit
Wakes up a single thread that is waiting on the receiver object's monitor.
Wakes up a single thread that is waiting on the receiver object's monitor.
- Definition Classes
- AnyRef
- Note
not specified by SLS as a member of AnyRef
-
final
def
notifyAll(): Unit
Wakes up all threads that are waiting on the receiver object's monitor.
Wakes up all threads that are waiting on the receiver object's monitor.
- Definition Classes
- AnyRef
- Note
not specified by SLS as a member of AnyRef
-
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
-
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( ... )
-
def
→[B](y: B): (Universe.CaseDefApi, B)
- Implicit
- This member is added by an implicit conversion from Universe.CaseDefApi to ArrowAssoc[Universe.CaseDefApi] performed by method ArrowAssoc in scala.Predef.
- Definition Classes
- ArrowAssoc