Compiles the cases that can not be handled by primitive catch cases as a common pattern match.
The following code:
try { <code> }
catch {
<tryCases> // Cases that can be handled by catch
<patternMatchCases> // Cases starting with first one that can't be handled by catch
}
will become:
try { <code> }
catch {
<tryCases>
case e => e match {
<patternMatchCases>
}
}
Cases that are not supported include:
- Applies and unapplies
- Idents
- Alternatives
- case _: T =>
where T
is not Throwable
Constructors
Members
Check what the phase achieves, to be called at any point after it is finished.
Check what the phase achieves, to be called at any point after it is finished.
Is this pattern node a catch-all or type-test pattern?
Is this pattern node a catch-all or type-test pattern?
A name given to the Phase
that can be used to debug the compiler. For
instance, it is possible to print trees after a given phase using:
A name given to the Phase
that can be used to debug the compiler. For
instance, it is possible to print trees after a given phase using:
$ ./bin/dotc -Xprint:<phaseNameHere> sourceFile.scala
List of names of phases that should precede this phase
List of names of phases that should precede this phase