The Context class keeps information relative to the current state in code generation
Tree transformer that duplicates code and at the same time creates fresh symbols for existing labels.
Is current phase cancelled on this unit?
Is current phase cancelled on this unit?
Generate coercion denoted by "code"
Generate the "==" code for object references.
Generate the "==" code for object references. It is equivalent of if (l eq null) r eq null else l.equals(r);
left-hand side of the '=='
right-hand side of the '=='
current context
target context if the comparison yields true
target context if the comparison yields false
Generate the scala ## method.
Generate string concatenation.
Generate string concatenation.
...
...
...
Some useful equality helpers.
Is the given symbol a primitive operation?
Returns a list of trees that each should be concatenated, from left to right.
Returns a list of trees that each should be concatenated, from left to right. It turns a chained call like "a".+("b").+("c") into a list of arguments.
Does this tree have a try-catch block?
New flags visible once this phase has started
New flags visible after this phase has completed
If the block consists of a single unconditional jump, prune it by replacing the instructions in the predecessor to jump directly to the JUMP target of the block.
If the block consists of a single unconditional jump, prune it by replacing the instructions in the predecessor to jump directly to the JUMP target of the block.
...