michael@0: var y = undefined; michael@0: michael@0: try {} catch (x) { michael@0: try {} catch (x) { michael@0: try {} catch (x) { michael@0: } michael@0: } michael@0: } michael@0: michael@0: try {} catch (x if y) { michael@0: try {} catch (x if y) { michael@0: try {} catch (x if y) { michael@0: } michael@0: } michael@0: } michael@0: michael@0: while (false) { michael@0: try {} catch ({x,y} if x) { michael@0: try {} catch ({a,b,c,d} if a) { michael@0: if (b) break; michael@0: if (c) continue; michael@0: } michael@0: } finally {} michael@0: } michael@0: michael@0: Label1: michael@0: for (let foo = 0; foo < 0; foo++) { michael@0: Label2: michael@0: for (let bar = 0; bar < 0; bar++) { michael@0: if (foo) { michael@0: if (bar) michael@0: break Label2; michael@0: continue Label2; michael@0: } else { michael@0: if (bar) michael@0: break Label1; michael@0: continue Label1; michael@0: } michael@0: } michael@0: } michael@0: michael@0: Label3: michael@0: for (let foo = 0; foo < 0; foo++) { michael@0: Label4: michael@0: for (let bar = 0; bar < 0; bar++) { michael@0: if (foo) { michael@0: if (bar) michael@0: continue Label4; michael@0: break Label4; michael@0: } else { michael@0: if (bar) michael@0: continue Label3; michael@0: break Label3; michael@0: } michael@0: } michael@0: } michael@0: michael@0: switch (42) { michael@0: default: michael@0: try {} catch (x) { michael@0: if (x + 1) { michael@0: if (x) michael@0: break; michael@0: break; michael@0: } michael@0: } michael@0: break; michael@0: } michael@0: michael@0: try { michael@0: null.x; michael@0: } catch (x) { michael@0: }