@@ -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