Traverse pattern and collect all variable names with their types in buffer The variables keep their positions; whereas the pattern is converted to be synthetic for all nodes that contain a variable position.
Append implicit parameter section if contextBounds
nonempty
Create tree for a pattern alternative
Create tree representing (unencoded) binary operation expression or pattern.
Create block of statements stats
Create tree for case definition <case pat if guard => rhs>
Creates tree representing: { case x: Throwable => val catchFn = catchExpr if (catchFn isDefinedAt x) catchFn(x) else throw x }
Create tree representing a do-while loop
Create tree for for-do comprehension <for (enums) body>
Create tree for for-yield comprehension <for (enums) yield body>
Create a tree representing the function type (argtpes) => restpe
Create tree for for-comprehension generator <val pat0 <- rhs0>
Create tree for pattern definition <mods val pat0 = rhs>
Create tree for pattern definition <val pat0 = rhs>
Tree for od op
, start is start0 if od.
Tree for od op
, start is start0 if od.pos is borked.
Create visitor <x => x match cases>
Create visitor <x => x match cases>
Create tree representing a while loop
Convert all occurrences of (lower-case) variables in a pattern as follows: x becomes x @ _ x: T becomes x @ (_: T)
Methods for building trees, used in the parser. All the trees returned by this class must be untyped.