mirror of https://github.com/tc39/test262.git
Switch: lexical declarations inner scope. Fixes gh-422
This commit is contained in:
parent
58559ddddd
commit
6e6516a558
|
@ -0,0 +1,22 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
/*---
|
||||
esid: sec-switch-statement-runtime-semantics-evaluation
|
||||
description: Creation of new lexical environment (into `default` clause)
|
||||
info: |
|
||||
1. Let exprRef be the result of evaluating Expression.
|
||||
2. Let switchValue be ? GetValue(exprRef).
|
||||
3. Let oldEnv be the running execution context's LexicalEnvironment.
|
||||
4. Let blockEnv be NewDeclarativeEnvironment(oldEnv).
|
||||
5. Perform BlockDeclarationInstantiation(CaseBlock, blockEnv).
|
||||
6. Set the running execution context's LexicalEnvironment to blockEnv.
|
||||
7. Let R be the result of performing CaseBlockEvaluation of CaseBlock with
|
||||
argument switchValue.
|
||||
[...]
|
||||
negative:
|
||||
phase: runtime
|
||||
type: ReferenceError
|
||||
---*/
|
||||
|
||||
switch (0) { default: async function x() {} }
|
||||
x;
|
|
@ -0,0 +1,22 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
/*---
|
||||
esid: sec-switch-statement-runtime-semantics-evaluation
|
||||
description: Creation of new lexical environment (into `default` clause)
|
||||
info: |
|
||||
1. Let exprRef be the result of evaluating Expression.
|
||||
2. Let switchValue be ? GetValue(exprRef).
|
||||
3. Let oldEnv be the running execution context's LexicalEnvironment.
|
||||
4. Let blockEnv be NewDeclarativeEnvironment(oldEnv).
|
||||
5. Perform BlockDeclarationInstantiation(CaseBlock, blockEnv).
|
||||
6. Set the running execution context's LexicalEnvironment to blockEnv.
|
||||
7. Let R be the result of performing CaseBlockEvaluation of CaseBlock with
|
||||
argument switchValue.
|
||||
[...]
|
||||
negative:
|
||||
phase: runtime
|
||||
type: ReferenceError
|
||||
---*/
|
||||
|
||||
switch (0) { default: async function * x() {} }
|
||||
x;
|
|
@ -0,0 +1,22 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
/*---
|
||||
esid: sec-switch-statement-runtime-semantics-evaluation
|
||||
description: Creation of new lexical environment (into `default` clause)
|
||||
info: |
|
||||
1. Let exprRef be the result of evaluating Expression.
|
||||
2. Let switchValue be ? GetValue(exprRef).
|
||||
3. Let oldEnv be the running execution context's LexicalEnvironment.
|
||||
4. Let blockEnv be NewDeclarativeEnvironment(oldEnv).
|
||||
5. Perform BlockDeclarationInstantiation(CaseBlock, blockEnv).
|
||||
6. Set the running execution context's LexicalEnvironment to blockEnv.
|
||||
7. Let R be the result of performing CaseBlockEvaluation of CaseBlock with
|
||||
argument switchValue.
|
||||
[...]
|
||||
negative:
|
||||
phase: runtime
|
||||
type: ReferenceError
|
||||
---*/
|
||||
|
||||
switch (0) { default: class x {} }
|
||||
x;
|
|
@ -0,0 +1,22 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
/*---
|
||||
esid: sec-switch-statement-runtime-semantics-evaluation
|
||||
description: Creation of new lexical environment (into `default` clause)
|
||||
info: |
|
||||
1. Let exprRef be the result of evaluating Expression.
|
||||
2. Let switchValue be ? GetValue(exprRef).
|
||||
3. Let oldEnv be the running execution context's LexicalEnvironment.
|
||||
4. Let blockEnv be NewDeclarativeEnvironment(oldEnv).
|
||||
5. Perform BlockDeclarationInstantiation(CaseBlock, blockEnv).
|
||||
6. Set the running execution context's LexicalEnvironment to blockEnv.
|
||||
7. Let R be the result of performing CaseBlockEvaluation of CaseBlock with
|
||||
argument switchValue.
|
||||
[...]
|
||||
negative:
|
||||
phase: runtime
|
||||
type: ReferenceError
|
||||
---*/
|
||||
|
||||
switch (0) { default: const x = 1; }
|
||||
x;
|
|
@ -0,0 +1,22 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
/*---
|
||||
esid: sec-switch-statement-runtime-semantics-evaluation
|
||||
description: Creation of new lexical environment (into `default` clause)
|
||||
info: |
|
||||
1. Let exprRef be the result of evaluating Expression.
|
||||
2. Let switchValue be ? GetValue(exprRef).
|
||||
3. Let oldEnv be the running execution context's LexicalEnvironment.
|
||||
4. Let blockEnv be NewDeclarativeEnvironment(oldEnv).
|
||||
5. Perform BlockDeclarationInstantiation(CaseBlock, blockEnv).
|
||||
6. Set the running execution context's LexicalEnvironment to blockEnv.
|
||||
7. Let R be the result of performing CaseBlockEvaluation of CaseBlock with
|
||||
argument switchValue.
|
||||
[...]
|
||||
negative:
|
||||
phase: runtime
|
||||
type: ReferenceError
|
||||
---*/
|
||||
|
||||
switch (0) { default: function * x() {} }
|
||||
x;
|
|
@ -0,0 +1,22 @@
|
|||
// Copyright (C) 2020 Rick Waldron. All rights reserved.
|
||||
// This code is governed by the BSD license found in the LICENSE file.
|
||||
/*---
|
||||
esid: sec-switch-statement-runtime-semantics-evaluation
|
||||
description: Creation of new lexical environment (into `default` clause)
|
||||
info: |
|
||||
1. Let exprRef be the result of evaluating Expression.
|
||||
2. Let switchValue be ? GetValue(exprRef).
|
||||
3. Let oldEnv be the running execution context's LexicalEnvironment.
|
||||
4. Let blockEnv be NewDeclarativeEnvironment(oldEnv).
|
||||
5. Perform BlockDeclarationInstantiation(CaseBlock, blockEnv).
|
||||
6. Set the running execution context's LexicalEnvironment to blockEnv.
|
||||
7. Let R be the result of performing CaseBlockEvaluation of CaseBlock with
|
||||
argument switchValue.
|
||||
[...]
|
||||
negative:
|
||||
phase: runtime
|
||||
type: ReferenceError
|
||||
---*/
|
||||
|
||||
switch (0) { default: /*{ body }*/ }
|
||||
f;
|
Loading…
Reference in New Issue