Fold f
over all tree nodes, in depth-first, prefix order
Fold f
over all tree nodes, in depth-first, prefix order
A type tree that gets its type from some other tree's symbol.
A type tree that gets its type from some other tree's symbol. Enters the
type tree in the References attachment of the from
tree as a side effect.
A block arising from a right-associative infix operation, where, e.g.
A block arising from a right-associative infix operation, where, e.g.
a +: b
is expanded to
{ val x = a; b.+:(x) }
An interpolated string
An interpolated string
a list of two element tickets consisting of string literal and argument tree, possibly with a simple string literal as last element of the list
Mod is intended to record syntactic information about modifiers, it's NOT a replacement of FlagSet.
Mod is intended to record syntactic information about modifiers, it's NOT a replacement of FlagSet.
For any query about semantic information, check flags
instead.
Modifiers and annotations for definitions
Modifiers and annotations for definitions
The set flags
If a private or protected has is followed by a qualifier [q], the name q, "" as a typename otherwise.
The annotations preceding the modifiers
mods object name impl
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.
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
.
A class for copying trees.
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.
A typed subtree of an untyped tree needs to be wrapped in a TypedSlice
A typed subtree of an untyped tree needs to be wrapped in a TypedSlice
The current owner at the time the tree was defined
Fold f
over all tree nodes, in depth-first, prefix order
A function created from a wildcard expression
new pre.C[Ts](args1)...(args_n)
new pre.C[Ts](args1)...(args_n)
Property key for TypeTrees marked with TypeRefOfSym or InfoOfSym which contains the symbol of the original tree from which this TypeTree is derived.
Property key containing TypeTrees whose type is computed from the symbol in this type.
Property key containing TypeTrees whose type is computed from the symbol in this type. These type trees have marker trees TypeRefOfSym or InfoOfSym as their originals.
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?
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?
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 (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 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 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> : _* ?
True iff definition is a val or def with no right-hand-side, or it is an abstract typoe declaration
True iff definition is a val or def with no right-hand-side, or it is an abstract typoe declaration
can this type be a type pattern?
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 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
A reference to given definition.
A reference to given definition. If definition is a repeated parameter, the reference will be a repeated argument.
A repeated argument such as arg: _*
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.
The underlying pattern ignoring any bindings
The underlying pattern ignoring any bindings
Throws an UnsupportedOperationException
with the given method name.
Throws an UnsupportedOperationException
with the given method name.