The type constructor at the root of the tree
This item with a position that's the union of the given pos
and the
current position.
This item with a position that's the union of the given pos
and the
current position.
The list of all keys and values attached to this container.
The list of all keys and values attached to this container.
The attachment corresponding to key
.
The attachment corresponding to key
.
NoSuchElementException
if no attachment with key exists
The attachment corresponding to key
, or default
if no attachment with key
exists.
The attachment corresponding to key
, or default
if no attachment with key
exists.
The denotation referred tno by this tree.
The denotation referred tno by this tree.
Defined for DenotingTree
s and ProxyTree
s, NoDenotation for other
kinds of trees
The envelope containing the item in its entirety.
The envelope containing the item in its entirety. Envelope is different from
pos
for definitions (instances of MemberDef).
A fallback text representation, if the pattern matching in Printers does not have a case for this showable element
A fallback text representation, if the pattern matching in Printers does not have a case for this showable element
If this is a thicket, perform op
on each of its trees
otherwise, perform op
ion tree itself.
If this is a thicket, perform op
on each of its trees
otherwise, perform op
ion tree itself.
Optionally get attachment corresponding to key
Optionally get attachment corresponding to key
Does the tree have its type field set? Note: this operation is not referentially transparent, because it can observe the withType modifications.
Does the tree have its type field set? Note: this operation is not referentially transparent, because it can observe the withType modifications. Should be used only in special circumstances (we need it for printing trees with optional type info).
The initial, synthetic position.
The initial, synthetic position. This is usually the union of all positioned children's envelopes.
Does this tree define a new symbol that is not defined elsewhere?
Does this tree define a new symbol that is not defined elsewhere?
Is this tree either the empty tree or the empty ValDef?
Is this tree either the empty tree or the empty ValDef?
Is this a legal part of a pattern which is not at the same time a term?
Is this a legal part of a pattern which is not at the same time a term?
Does this tree represent a term?
Does this tree represent a type?
Does this tree represent a type?
if this tree is the empty tree, the alternative, else this tree
if this tree is the empty tree, the alternative, else this tree
The item's position.
The item's position.
Add attachment with given key
and value
.
Add attachment with given key
and value
.
Optionally, the old attachment with given key
if one existed before.
The new attachment is added at the position of the old one, or at the end
if no attachment with same key
existed.
Remove attachment with given key
, if it exists.
Remove attachment with given key
, if it exists.
Optionally, the removed attachment with given key
if one existed before.
Destructively update curPos
to given position.
Destructively update curPos
to given position. Also, set any missing
positions in children.
The string representation of this showable element.
The string representation of this showable element.
The summarized string representation of this showable element.
The summarized string representation of this showable element. Recursion depth is limited to some smallish value. Default is Config.summarizeDepth.
Shorthand for denot.symbol
.
Shorthand for denot.symbol
.
Convert tree to a list.
Convert tree to a list. Gives a singleton list, except for thickets which return their element trees.
The text representation of this showable element.
The type of the tree.
The type of the tree. In case of an untyped tree, an UnAssignedTypeException is thrown. (Overridden by empty trees)
The number of nodes in this tree
The number of nodes in this tree
A unique identifier for this tree.
A unique identifier for this tree. Used for debugging, and potentially tracking presentation compiler interactions
Throws an UnsupportedOperationException
with the given method name.
Throws an UnsupportedOperationException
with the given method name.
A positioned item like this one with the position set to pos
.
A positioned item like this one with the position set to pos
.
if the positioned item is source-derived, a clone is returned.
If the positioned item is synthetic, the position is updated
destructively and the item itself is returned.
Return a typed tree that's isomorphic to this tree, but has given type.
Return a typed tree that's isomorphic to this tree, but has given type. (Overridden by empty trees)