Skip to content

Commit 9d77d8f

Browse files
committed
.
1 parent 7455e80 commit 9d77d8f

File tree

1 file changed

+8
-11
lines changed

1 file changed

+8
-11
lines changed

src/Asynkron.JsEngine/Parser/TypedAstParser.cs

Lines changed: 8 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -376,23 +376,20 @@ private StatementNode ParseVariableDeclaration(VariableKind kind, bool requireSe
376376
{
377377
var target = ParseBindingTarget("Expected variable name.");
378378
ExpressionNode? initializer = null;
379-
var requiresInitializer = target is not IdentifierBinding ||
380-
kind is VariableKind.Using or VariableKind.AwaitUsing;
379+
var isUsingDeclaration = kind is VariableKind.Using or VariableKind.AwaitUsing;
380+
var requiresInitializer = target is not IdentifierBinding;
381381

382382
if (Match(TokenType.Equal))
383383
{
384384
initializer = ParseExpression(false);
385385
}
386-
else if (kind is VariableKind.Using or VariableKind.AwaitUsing)
386+
else if (!allowInitializerless && (isUsingDeclaration || kind == VariableKind.Const || requiresInitializer))
387387
{
388-
var message = "Using declarations require an initializer.";
389-
throw new ParseException(message, Peek(), _source);
390-
}
391-
else if (!allowInitializerless && (kind == VariableKind.Const || requiresInitializer))
392-
{
393-
var message = requiresInitializer
394-
? "Destructuring declarations require an initializer."
395-
: "Const declarations require an initializer.";
388+
var message = isUsingDeclaration
389+
? "Using declarations require an initializer."
390+
: requiresInitializer
391+
? "Destructuring declarations require an initializer."
392+
: "Const declarations require an initializer.";
396393
throw new ParseException(message, Peek(), _source);
397394
}
398395

0 commit comments

Comments
 (0)