Skip to content

Commit 9294e66

Browse files
committed
use blocks and block-scoping in switch statement
1 parent 82ea50b commit 9294e66

File tree

1 file changed

+23
-16
lines changed
  • packages/svelte/src/compiler/phases

1 file changed

+23
-16
lines changed

packages/svelte/src/compiler/phases/scope.js

+23-16
Original file line numberDiff line numberDiff line change
@@ -150,12 +150,13 @@ class Evaluation {
150150
*/
151151
constructor(scope, expression) {
152152
switch (expression.type) {
153-
case 'Literal':
153+
case 'Literal': {
154154
this.values.add(expression.value);
155155
break;
156+
}
156157

157-
case 'Identifier':
158-
var binding = scope.get(expression.name);
158+
case 'Identifier': {
159+
const binding = scope.get(expression.name);
159160

160161
if (binding) {
161162
if (
@@ -187,10 +188,11 @@ class Evaluation {
187188

188189
this.values.add(UNKNOWN);
189190
break;
191+
}
190192

191-
case 'BinaryExpression':
192-
var a = scope.evaluate(/** @type {Expression} */ (expression.left)); // `left` cannot be `PrivateIdentifier` unless operator is `in`
193-
var b = scope.evaluate(expression.right);
193+
case 'BinaryExpression': {
194+
const a = scope.evaluate(/** @type {Expression} */ (expression.left)); // `left` cannot be `PrivateIdentifier` unless operator is `in`
195+
const b = scope.evaluate(expression.right);
194196

195197
if (a.is_known && b.is_known) {
196198
this.values.add(binary[expression.operator](a.value, b.value));
@@ -241,11 +243,12 @@ class Evaluation {
241243
this.values.add(UNKNOWN);
242244
}
243245
break;
246+
}
244247

245-
case 'ConditionalExpression':
246-
var test = scope.evaluate(expression.test);
247-
var consequent = scope.evaluate(expression.consequent);
248-
var alternate = scope.evaluate(expression.alternate);
248+
case 'ConditionalExpression': {
249+
const test = scope.evaluate(expression.test);
250+
const consequent = scope.evaluate(expression.consequent);
251+
const alternate = scope.evaluate(expression.alternate);
249252

250253
if (test.is_known) {
251254
for (const value of (test.value ? consequent : alternate).values) {
@@ -261,10 +264,11 @@ class Evaluation {
261264
}
262265
}
263266
break;
267+
}
264268

265-
case 'LogicalExpression':
266-
a = scope.evaluate(expression.left);
267-
b = scope.evaluate(expression.right);
269+
case 'LogicalExpression': {
270+
const a = scope.evaluate(expression.left);
271+
const b = scope.evaluate(expression.right);
268272

269273
if (a.is_known) {
270274
if (b.is_known) {
@@ -295,9 +299,10 @@ class Evaluation {
295299
this.values.add(value);
296300
}
297301
break;
302+
}
298303

299-
case 'UnaryExpression':
300-
var argument = scope.evaluate(expression.argument);
304+
case 'UnaryExpression': {
305+
const argument = scope.evaluate(expression.argument);
301306

302307
if (argument.is_known) {
303308
this.values.add(unary[expression.operator](argument.value));
@@ -329,9 +334,11 @@ class Evaluation {
329334
this.values.add(UNKNOWN);
330335
}
331336
break;
337+
}
332338

333-
default:
339+
default: {
334340
this.values.add(UNKNOWN);
341+
}
335342
}
336343

337344
for (const value of this.values) {

0 commit comments

Comments
 (0)