static-init-scope-lex-close.js (833B)
1 // Copyright (C) 2021 the V8 project authors. All rights reserved. 2 // This code is governed by the BSD license found in the LICENSE file. 3 /*--- 4 esid: sec-runtime-semantics-classstaticblockdefinitionevaluation 5 description: Destruction of environment record for variable-scoped bindings 6 info: | 7 ClassStaticBlock : static { ClassStaticBlockBody } 8 9 1. Let lex be the running execution context's LexicalEnvironment. 10 2. Let privateScope be the running execution context's PrivateEnvironment. 11 3. Let body be OrdinaryFunctionCreate(Method, « », ClassStaticBlockBody, lex, privateScope). 12 features: [class-static-block] 13 ---*/ 14 15 var test262 = 'outer scope'; 16 var probe; 17 18 class C { 19 static { 20 let test262 = 'first block'; 21 } 22 static { 23 probe = test262; 24 } 25 } 26 27 assert.sameValue(probe, 'outer scope'); 28 29 reportCompare(0, 0);