diff options
author | Jason Zaugg <jzaugg@gmail.com> | 2013-06-13 14:32:49 -0400 |
---|---|---|
committer | Jason Zaugg <jzaugg@gmail.com> | 2013-06-23 23:09:22 +0200 |
commit | 58abe39c9d8d75bc2c5ca27e1b8c0c33de9e6824 (patch) | |
tree | bb763cf6126f2c1ee5997e87ba55e4a6353aef3a /test/files/pos/cycle.flags | |
parent | f790662a3eab1e8efce5d4096d0efbae96cf45b4 (diff) | |
download | scala-58abe39c9d8d75bc2c5ca27e1b8c0c33de9e6824.tar.gz scala-58abe39c9d8d75bc2c5ca27e1b8c0c33de9e6824.tar.bz2 scala-58abe39c9d8d75bc2c5ca27e1b8c0c33de9e6824.zip |
SI-7433 Fix spurious warning about catching control throwable
In the same vein as SI-6994, we have to be careful not to warn
about synthetic code. In that case, the spurious warnings came
because we warned in the typechecker, which was also called in
erasure. In this case, we are issuing the warning in Uncurry,
so we must be mindful of the pattern matchers translations of
non-trivial catch patterns, which look like:
case (ex8 @ _) => {
<synthetic> val x5: Throwable = ex8;
case11(){
if ({
case14(){
if (x5.$isInstanceOf[NullPointerException]())
matchEnd13(true)
else
case15()
};
case15(){
if (x5.$isInstanceOf[RuntimeException]())
matchEnd13(true)
else
case16()
};
case16(){
matchEnd13(false)
};
matchEnd13(x: Boolean){
x
}
})
This commit detects that `ex8` is synthetic and disables the warning.
Diffstat (limited to 'test/files/pos/cycle.flags')
0 files changed, 0 insertions, 0 deletions