The (last) list of arguments of an application
The (last) list of arguments of an application
Does this CaseDef catch everything of a certain Type?
Does this CaseDef catch everything of a certain Type?
Does this CaseDef catch Throwable?
Does this CaseDef catch Throwable?
If tree is a closure, it's body, otherwise tree itself
If tree is a closure, it's body, otherwise tree itself
The largest subset of {NoInits, PureInterface} that a trait enclosing this statement can have as flags.
The largest subset of {NoInits, PureInterface} that a trait enclosing this statement can have as flags. Does tree contain an initialization part when seen as a member of a class or trait?
Going from child to parent, the path of tree nodes that starts
with a definition of symbol sym
and ends with root
, or Nil
if no such path exists.
Going from child to parent, the path of tree nodes that starts
with a definition of symbol sym
and ends with root
, or Nil
if no such path exists.
Pre: sym
must have a position.
If tree
is a DefTree, the symbol defined by it, otherwise NoSymbol
The statement sequence that contains a definition of sym
, or Nil
if none was found.
The statement sequence that contains a definition of sym
, or Nil
if none was found.
For a tree to be found, The symbol must have a position and its definition
tree must be reachable from come tree stored in an enclosing context.
The first constructor definition in stats
The first constructor definition in stats
The arguments to the first constructor in stats
.
The arguments to the first constructor in stats
.
Checks whether predicate p
is true for all result parts of this expression,
where we zoom into Ifs, Matches, and Blocks.
Checks whether predicate p
is true for all result parts of this expression,
where we zoom into Ifs, Matches, and Blocks.
Does this list contain a named argument tree?
Does this list contain a named argument tree?
Is this pattern node a catch-all or type-test pattern?
Is this pattern node a catch-all (wildcard or variable) pattern?
Is this pattern node a catch-all (wildcard or variable) pattern?
Is this case guarded?
Is this case guarded?
Is name a left-associative operator?
Is name a left-associative operator?
Is tpt a vararg type of the form T* or => T*?
Is tpt a vararg type of the form T* or => T*?
Is tree a this
node which belongs to enclClass
?
Is tree a self constructor call this(...)? I.e.
Is tree a self constructor call this(...)? I.e. a call to a constructor of the same object?
Is tree a super constructor call?
Is tree a super constructor call?
Is this pattern node a synthetic catch-all case, added during PartialFuction synthesis before we know whether the user provided cases are exhaustive.
Is this pattern node a synthetic catch-all case, added during PartialFuction synthesis before we know whether the user provided cases are exhaustive.
Is tree a variable pattern?
Is tree a variable pattern?
Is tree a reference to a mutable variable, or to a potential getter that has a setter in the same class?
Is the argument a wildcard argument of the form _
or x @ _
?
Is the argument a wildcard argument of the form _
or x @ _
?
Is this argument node of the form <expr> : _* ?
Is this argument node of the form <expr> : _* ?
Does this argument list end with an argument of the form <expr> : _* ?
Does this argument list end with an argument of the form <expr> : _* ?
The symbols defined locally in a statement list
can this type be a type pattern?
can this type be a type pattern?
Is symbol potentially a getter of a mutable variable?
The method part of an application node, possibly enclosed in a block with only valdefs as statements.
The method part of an application node, possibly enclosed in a block with only valdefs as statements. the reason for also considering blocks is that named arguments can transform a call into a block, e.g. <init>(b = foo, a = bar) is transformed to { val x$1 = foo val x$2 = bar <init>(x$2, x$1) }
The number of arguments in an application
The number of arguments in an application
The variables defined by a pattern, in reverse order of their appearance.
The tree containing only the top-level classes and objects matching either cls
or its companion object
If this is an application, its function part, stripping all Apply nodes (but leaving TypeApply nodes in).
If this is an application, its function part, stripping all Apply nodes (but leaving TypeApply nodes in). Otherwise the tree itself.
Strips layers of .asInstanceOf[T]
/ _.$asInstanceOf[T]()
from an expression
The top level classes in this tree, including only those module classes that are not a linked class of some other class in the result.
The underlying pattern ignoring any bindings
The underlying pattern ignoring any bindings