File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -4684,9 +4684,23 @@ namespace ts {
46844684 return finishNode ( node ) ;
46854685 }
46864686
4687+ let expression : MemberExpression = parsePrimaryExpression ( ) ;
4688+ let typeArguments ;
4689+ while ( true ) {
4690+ expression = parseMemberExpressionRest ( expression ) ;
4691+ typeArguments = tryParse ( parseTypeArgumentsInExpression ) ;
4692+ if ( isTemplateStartOfTaggedTemplate ( ) ) {
4693+ Debug . assert ( ! ! typeArguments ,
4694+ "Expected a type argument list; all plain tagged template starts should be consumed in 'parseMemberExpressionRest'" ) ;
4695+ expression = parseTaggedTemplateRest ( expression , typeArguments ) ;
4696+ typeArguments = undefined ;
4697+ }
4698+ break ;
4699+ }
4700+
46874701 const node = < NewExpression > createNode ( SyntaxKind . NewExpression , fullStart ) ;
4688- node . expression = parseMemberExpressionOrHigher ( ) ;
4689- node . typeArguments = tryParse ( parseTypeArgumentsInExpression ) ;
4702+ node . expression = expression ;
4703+ node . typeArguments = typeArguments ;
46904704 if ( node . typeArguments || token ( ) === SyntaxKind . OpenParenToken ) {
46914705 node . arguments = parseArgumentList ( ) ;
46924706 }
You can’t perform that action at this time.
0 commit comments