A synthetic term holding an arbitrary type.
Alternatives of patterns, eliminated by TransMatch, except for occurrences in encoded Switch stmt (=remaining Match(CaseDef(.
A tree that has an annotation attached to it.
Applied type <tpt> [ <args> ], eliminated by RefCheck
Value application
Dynamic value application.
Array of expressions, needs to be translated in backend,
Assignment
Bind of a variable to a rhs pattern, eliminated by TransMatch
Block of expressions (semicolon separated expressions)
Case clause in a pattern match, eliminated by TransMatch (except for occurrences in switch statements)
Class definition
Intersection type <parent1> with .
Method definition
Anonymous function, eliminated by analyzer
Identifier <name>
Conditional expression
Import clause
Import selector
Labelled expression - the symbols in the array (must be Idents!) are those the label takes as argument
Literal
Pattern matching expression (before TransMatch
)
Switch statements (after TransMatch)
no summary matey
Singleton object definition
Object instantiation One should always use factory method below to build a user level new.
Package clause
Return expression
Designator <qualifier> .
Array selection <qualifier> .
Type selection <qualifier> # <name>, eliminated by RefCheck
Singleton type, eliminated by RefCheck
Repetition of pattern, eliminated by TransMatch
Super reference
Instantiation template of a class or trait
Self reference
Throw expression
A tree for a type.
Type application
Abstract type, type parameter, or type alias
Type annotation, eliminated by explicit outer
Value definition
The empty tree