- Companion
- object
Type members
Inherited classlikes
Fold f
over all tree nodes, in depth-first, prefix order
Fold f
over all tree nodes, in depth-first, prefix order
- Inherited from
- Instance
Fold f
over all tree nodes, in depth-first, prefix order, but don't visit
subtrees where f
returns a different result for the root, i.e. f(x, root) ne x
.
Fold f
over all tree nodes, in depth-first, prefix order, but don't visit
subtrees where f
returns a different result for the root, i.e. f(x, root) ne x
.
- Inherited from
- Instance
A class for copying trees. The copy methods avoid creating a new tree If all arguments stay the same.
A class for copying trees. The copy methods avoid creating a new tree If all arguments stay the same.
Note: Some of the copy methods take a context. These are exactly those methods that are overridden in TypedTreeCopier so that they selectively retype themselves. Retyping needs a context.
- Inherited from
- Instance
Inherited types
Value members
Concrete methods
All type and value parameter symbols of this DefDef
All type and value parameter symbols of this DefDef
Does this CaseDef catch everything of a certain Type?
Does this CaseDef catch everything of a certain Type?
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.
Is this pattern node a catch-all (wildcard or variable) pattern?
Is this pattern node a catch-all (wildcard or variable) pattern?
Is tree a self constructor call this(...)? I.e. a call to a constructor of the same object?
Is tree a self constructor call this(...)? I.e. a call to a constructor of the same object?
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 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
Is this argument node of the form
Does this argument list end with an argument of the form
Does this argument list end with an argument of the form
If path
looks like a language import, Some(name)
where name
is experimental
if that sub-module is imported, and the empty
term name otherwise.
If path
looks like a language import, Some(name)
where name
is experimental
if that sub-module is imported, and the empty
term name otherwise.
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 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 largest subset of {NoInits, PureInterface} that a trait or class with these parents can have as flags.
The largest subset of {NoInits, PureInterface} that a trait or class with these parents can have as flags.
If this is an application, its function part, stripping all Apply nodes (but leaving TypeApply nodes in). Otherwise the tree itself.
If this is an application, its function part, stripping all Apply nodes (but leaving TypeApply nodes in). Otherwise the tree itself.
Inherited methods
Delegate to FunProto or FunProtoTyped depending on whether the prefix is untpd
or tpd
.
Delegate to FunProto or FunProtoTyped depending on whether the prefix is untpd
or tpd
.
- Inherited from
- Instance
Construct the application $receiver.$method[$targs]($args)
using overloading resolution
to find a matching overload of $method
if necessary.
This is useful when overloading resolution needs to be performed in a phase after typer.
Note that this will not perform any kind of implicit search.
Construct the application $receiver.$method[$targs]($args)
using overloading resolution
to find a matching overload of $method
if necessary.
This is useful when overloading resolution needs to be performed in a phase after typer.
Note that this will not perform any kind of implicit search.
- Value Params
- expectedType
An expected type of the application used to guide overloading resolution
- Inherited from
- Instance
For untyped trees, this is just the identity.
For typed trees, a context derived form ctx
that records call
as the
innermost enclosing call for which the inlined version is currently
processed.
For untyped trees, this is just the identity.
For typed trees, a context derived form ctx
that records call
as the
innermost enclosing call for which the inlined version is currently
processed.
- Inherited from
- Instance
If tparams
is non-empty, add it to the left paramss
, merging
it with a leading type parameter list of paramss
, if one exists.
If tparams
is non-empty, add it to the left paramss
, merging
it with a leading type parameter list of paramss
, if one exists.
- Inherited from
- Instance
The context to use when mapping or accumulating over a tree
The context to use when mapping or accumulating over a tree
- Inherited from
- Instance
Hook to indicate that a transform of some subtree should be skipped
Hook to indicate that a transform of some subtree should be skipped
- Inherited from
- Instance