The (last) list of arguments of an application
Does this CaseDef catch everything of a certain Type?
Does this CaseDef catch Throwable?
The first constructor definition in
The arguments to the first constructor in
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?
Is this pattern node a catch-all (wildcard or variable) pattern?
Is this case guarded?
Is name a left-associative operator?
Is tpt a vararg type of the form T* or => T*?
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 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 the argument a wildcard argument of the form
x @ _?
Is this argument node of the form
Does this argument list end with an argument of the form
can this type be a type pattern?
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.
The number of arguments in an application
If this is an application, its function part, stripping all Apply nodes (but leaving TypeApply nodes in). Otherwise the tree itself.
The underlying pattern ignoring any bindings