summaryrefslogtreecommitdiffstats
path: root/js/src/tests/test262/language/statements/break/static-init-without-label.js
blob: 1ac535755cb39ac8f7fc2a4f3e541366a8709b96 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// |reftest| error:SyntaxError
// Copyright (C) 2021 the V8 project authors. All rights reserved.
// This code is governed by the BSD license found in the LICENSE file.
/*---
esid: sec-break-statement
description: IterationStatement search does not traverse static initialization block boundaries (no label specified)
info: |
  4.2.1 Static Semantics: Early Errors
  BreakStatement : break ;

  - It is a Syntax Error if this BreakStatement is not nested, directly or
    indirectly (but not crossing function or static initialization block
    boundaries), within an IterationStatement or a SwitchStatement.
negative:
  phase: parse
  type: SyntaxError
features: [class-static-block]
---*/

$DONOTEVALUATE();

label: while(false) {
  class C {
    static {
      break;
    }
  }
}