@@ -75,7 +75,7 @@ var ts;
7575 // If changing the text in this section, be sure to test `configureNightly` too.
7676 ts.versionMajorMinor = "3.1";
7777 /** The version of the TypeScript compiler release */
78- ts.version = ts.versionMajorMinor + ".2 ";
78+ ts.version = ts.versionMajorMinor + ".3 ";
7979})(ts || (ts = {}));
8080(function (ts) {
8181 /* @internal */
@@ -94984,7 +94984,7 @@ var ts;
9498494984 if (resolvedModuleSymbol !== moduleSymbol &&
9498594985 // Don't add another completion for `export =` of a symbol that's already global.
9498694986 // So in `declare namespace foo {} declare module "foo" { export = foo; }`, there will just be the global completion for `foo`.
94987- resolvedModuleSymbol.declarations. some(function (d) { return !!d.getSourceFile().externalModuleIndicator; })) {
94987+ ts. some(resolvedModuleSymbol.declarations, function (d) { return !!d.getSourceFile().externalModuleIndicator; })) {
9498894988 symbols.push(resolvedModuleSymbol);
9498994989 symbolToOriginInfoMap[ts.getSymbolId(resolvedModuleSymbol)] = { kind: 3 /* Export */, moduleSymbol: moduleSymbol, isDefaultExport: false };
9499094990 }
@@ -101398,7 +101398,6 @@ var ts;
101398101398 fileToRename: name,
101399101399 kind: kind,
101400101400 displayName: name,
101401- localizedErrorMessage: undefined,
101402101401 fullDisplayName: name,
101403101402 kindModifiers: "" /* none */,
101404101403 triggerSpan: triggerSpan,
@@ -101410,23 +101409,13 @@ var ts;
101410101409 fileToRename: undefined,
101411101410 kind: kind,
101412101411 displayName: displayName,
101413- localizedErrorMessage: undefined,
101414101412 fullDisplayName: fullDisplayName,
101415101413 kindModifiers: kindModifiers,
101416101414 triggerSpan: createTriggerSpanForNode(node, sourceFile)
101417101415 };
101418101416 }
101419101417 function getRenameInfoError(diagnostic) {
101420- // TODO: GH#18217
101421- return {
101422- canRename: false,
101423- localizedErrorMessage: ts.getLocaleSpecificMessage(diagnostic),
101424- displayName: undefined,
101425- fullDisplayName: undefined,
101426- kind: undefined,
101427- kindModifiers: undefined,
101428- triggerSpan: undefined
101429- };
101418+ return { canRename: false, localizedErrorMessage: ts.getLocaleSpecificMessage(diagnostic) };
101430101419 }
101431101420 function createTriggerSpanForNode(node, sourceFile) {
101432101421 var start = node.getStart(sourceFile);
@@ -105838,6 +105827,14 @@ var ts;
105838105827 var pos = before.getStart(sourceFile);
105839105828 this.replaceRange(sourceFile, { pos: pos, end: pos }, ts.createToken(modifier), { suffix: " " });
105840105829 };
105830+ ChangeTracker.prototype.insertLastModifierBefore = function (sourceFile, modifier, before) {
105831+ if (!before.modifiers) {
105832+ this.insertModifierBefore(sourceFile, modifier, before);
105833+ return;
105834+ }
105835+ var pos = before.modifiers.end;
105836+ this.replaceRange(sourceFile, { pos: pos, end: pos }, ts.createToken(modifier), { prefix: " " });
105837+ };
105841105838 ChangeTracker.prototype.insertCommentBeforeLine = function (sourceFile, lineNumber, position, commentText) {
105842105839 var lineStartPosition = ts.getStartPositionOfLine(lineNumber, sourceFile);
105843105840 var startPosition = ts.getFirstNonSpaceCharacterPosition(sourceFile.text, lineStartPosition);
@@ -107170,7 +107167,7 @@ var ts;
107170107167 return;
107171107168 }
107172107169 // add the async keyword
107173- changes.insertModifierBefore (sourceFile, 120 /* AsyncKeyword */, functionToConvert);
107170+ changes.insertLastModifierBefore (sourceFile, 120 /* AsyncKeyword */, functionToConvert);
107174107171 function startTransformation(node, nodeToReplace) {
107175107172 var newNodes = transformExpression(node, transformer, node);
107176107173 changes.replaceNodeWithNodes(sourceFile, nodeToReplace, newNodes);
@@ -107330,7 +107327,7 @@ var ts;
107330107327 }
107331107328 }
107332107329 function getNewNameIfConflict(name, originalNames) {
107333- var numVarsSameName = (originalNames.get(name.text) || [] ).length;
107330+ var numVarsSameName = (originalNames.get(name.text) || ts.emptyArray ).length;
107334107331 var numberOfAssignmentsOriginal = 0;
107335107332 var identifier = numVarsSameName === 0 ? name : ts.createIdentifier(name.text + "_" + numVarsSameName);
107336107333 return { identifier: identifier, types: [], numberOfAssignmentsOriginal: numberOfAssignmentsOriginal };
@@ -107339,7 +107336,7 @@ var ts;
107339107336 // should be kept up to date with isFixablePromiseHandler in suggestionDiagnostics.ts
107340107337 function transformExpression(node, transformer, outermostParent, prevArgName) {
107341107338 if (!node) {
107342- return [] ;
107339+ return ts.emptyArray ;
107343107340 }
107344107341 var originalType = ts.isIdentifier(node) && transformer.originalTypeMap.get(ts.getNodeId(node).toString());
107345107342 var nodeType = originalType || transformer.checker.getTypeAtLocation(node);
@@ -107356,7 +107353,7 @@ var ts;
107356107353 return transformPromiseCall(node, transformer, prevArgName);
107357107354 }
107358107355 codeActionSucceeded = false;
107359- return [] ;
107356+ return ts.emptyArray ;
107360107357 }
107361107358 function transformCatch(node, transformer, prevArgName) {
107362107359 var func = node.arguments[0];
@@ -107439,13 +107436,13 @@ var ts;
107439107436 function createTransformedStatement(prevArgName, rightHandSide, transformer) {
107440107437 if (!prevArgName || prevArgName.identifier.text.length === 0) {
107441107438 // if there's no argName to assign to, there still might be side effects
107442- return ts.createNodeArray( [ts.createStatement(rightHandSide)]) ;
107439+ return [ts.createStatement(rightHandSide)];
107443107440 }
107444107441 if (prevArgName.types.length < prevArgName.numberOfAssignmentsOriginal) {
107445107442 // if the variable has already been declared, we don't need "let" or "const"
107446- return ts.createNodeArray( [ts.createStatement(ts.createAssignment(ts.getSynthesizedDeepClone(prevArgName.identifier), rightHandSide))]) ;
107443+ return [ts.createStatement(ts.createAssignment(ts.getSynthesizedDeepClone(prevArgName.identifier), rightHandSide))];
107447107444 }
107448- return ts.createNodeArray( [ts.createVariableStatement(/*modifiers*/ undefined, (ts.createVariableDeclarationList([ts.createVariableDeclaration(ts.getSynthesizedDeepClone(prevArgName.identifier), /*type*/ undefined, rightHandSide)], getFlagOfIdentifier(prevArgName.identifier, transformer.constIdentifiers))))]) ;
107445+ return [ts.createVariableStatement(/*modifiers*/ undefined, (ts.createVariableDeclarationList([ts.createVariableDeclaration(ts.getSynthesizedDeepClone(prevArgName.identifier), /*type*/ undefined, rightHandSide)], getFlagOfIdentifier(prevArgName.identifier, transformer.constIdentifiers))))];
107449107446 }
107450107447 // should be kept up to date with isFixablePromiseArgument in suggestionDiagnostics.ts
107451107448 function getTransformationBody(func, prevArgName, argName, parent, transformer) {
@@ -107459,9 +107456,9 @@ var ts;
107459107456 // undefined was argument passed to promise handler
107460107457 break;
107461107458 }
107462- var synthCall = ts.createCall(ts.getSynthesizedDeepClone(func), /*typeArguments*/ undefined, argName ? [argName.identifier] : [] );
107459+ var synthCall = ts.createCall(ts.getSynthesizedDeepClone(func), /*typeArguments*/ undefined, argName ? [argName.identifier] : ts.emptyArray );
107463107460 if (shouldReturn) {
107464- return ts.createNodeArray( [ts.createReturn(synthCall)]) ;
107461+ return [ts.createReturn(synthCall)];
107465107462 }
107466107463 var type = transformer.originalTypeMap.get(ts.getNodeId(func).toString()) || transformer.checker.getTypeAtLocation(func);
107467107464 var callSignatures = transformer.checker.getSignaturesOfType(type, 0 /* Call */);
@@ -107495,14 +107492,14 @@ var ts;
107495107492 refactoredStmts.push(statement);
107496107493 }
107497107494 }
107498- return shouldReturn ? ts.getSynthesizedDeepClones( ts.createNodeArray(refactoredStmts) ) :
107499- removeReturns(ts.createNodeArray( refactoredStmts), prevArgName.identifier, transformer, seenReturnStatement);
107495+ return shouldReturn ? refactoredStmts.map(function (s) { return ts.getSynthesizedDeepClone(s); } ) :
107496+ removeReturns(refactoredStmts, prevArgName === undefined ? undefined : prevArgName.identifier, transformer, seenReturnStatement);
107500107497 }
107501107498 else {
107502107499 var innerRetStmts = ts.getReturnStatementsWithPromiseHandlers(ts.createReturn(funcBody));
107503107500 var innerCbBody = getInnerTransformationBody(transformer, innerRetStmts, prevArgName);
107504107501 if (innerCbBody.length > 0) {
107505- return ts.createNodeArray( innerCbBody) ;
107502+ return innerCbBody;
107506107503 }
107507107504 if (!shouldReturn) {
107508107505 var type_6 = transformer.checker.getTypeAtLocation(func);
@@ -107516,7 +107513,7 @@ var ts;
107516107513 return transformedStatement;
107517107514 }
107518107515 else {
107519- return ts.createNodeArray( [ts.createReturn(ts.getSynthesizedDeepClone(funcBody))]) ;
107516+ return [ts.createReturn(ts.getSynthesizedDeepClone(funcBody))];
107520107517 }
107521107518 }
107522107519 }
@@ -107525,7 +107522,7 @@ var ts;
107525107522 codeActionSucceeded = false;
107526107523 break;
107527107524 }
107528- return ts.createNodeArray([]) ;
107525+ return ts.emptyArray ;
107529107526 }
107530107527 function getLastCallSignature(type, checker) {
107531107528 var callSignatures = checker.getSignaturesOfType(type, 0 /* Call */);
@@ -107538,18 +107535,23 @@ var ts;
107538107535 if (ts.isReturnStatement(stmt)) {
107539107536 if (stmt.expression) {
107540107537 var possiblyAwaitedExpression = isPromiseReturningExpression(stmt.expression, transformer.checker) ? ts.createAwait(stmt.expression) : stmt.expression;
107541- ret.push(ts.createVariableStatement(/*modifiers*/ undefined, (ts.createVariableDeclarationList([ts.createVariableDeclaration(prevArgName, /*type*/ undefined, possiblyAwaitedExpression)], getFlagOfIdentifier(prevArgName, transformer.constIdentifiers)))));
107538+ if (prevArgName === undefined) {
107539+ ret.push(ts.createExpressionStatement(possiblyAwaitedExpression));
107540+ }
107541+ else {
107542+ ret.push(ts.createVariableStatement(/*modifiers*/ undefined, (ts.createVariableDeclarationList([ts.createVariableDeclaration(prevArgName, /*type*/ undefined, possiblyAwaitedExpression)], getFlagOfIdentifier(prevArgName, transformer.constIdentifiers)))));
107543+ }
107542107544 }
107543107545 }
107544107546 else {
107545107547 ret.push(ts.getSynthesizedDeepClone(stmt));
107546107548 }
107547107549 }
107548107550 // if block has no return statement, need to define prevArgName as undefined to prevent undeclared variables
107549- if (!seenReturnStatement) {
107551+ if (!seenReturnStatement && prevArgName !== undefined ) {
107550107552 ret.push(ts.createVariableStatement(/*modifiers*/ undefined, (ts.createVariableDeclarationList([ts.createVariableDeclaration(prevArgName, /*type*/ undefined, ts.createIdentifier("undefined"))], getFlagOfIdentifier(prevArgName, transformer.constIdentifiers)))));
107551107553 }
107552- return ts.createNodeArray( ret) ;
107554+ return ret;
107553107555 }
107554107556 function getInnerTransformationBody(transformer, innerRetStmts, prevArgName) {
107555107557 var innerCbBody = [];
@@ -108290,19 +108292,19 @@ var ts;
108290108292 }
108291108293 var defaultInfo = getDefaultLikeExportInfo(moduleSymbol, checker, compilerOptions);
108292108294 if (defaultInfo && defaultInfo.name === symbolName && ts.skipAlias(defaultInfo.symbol, checker) === exportedSymbol) {
108293- result.push({ moduleSymbol: moduleSymbol, importKind: defaultInfo.kind, exportedSymbolIsTypeOnly: isTypeOnlySymbol(defaultInfo.symbol) });
108295+ result.push({ moduleSymbol: moduleSymbol, importKind: defaultInfo.kind, exportedSymbolIsTypeOnly: isTypeOnlySymbol(defaultInfo.symbol, checker ) });
108294108296 }
108295108297 for (var _i = 0, _a = checker.getExportsOfModule(moduleSymbol); _i < _a.length; _i++) {
108296108298 var exported = _a[_i];
108297108299 if (exported.name === symbolName && ts.skipAlias(exported, checker) === exportedSymbol) {
108298- result.push({ moduleSymbol: moduleSymbol, importKind: 0 /* Named */, exportedSymbolIsTypeOnly: isTypeOnlySymbol(exported) });
108300+ result.push({ moduleSymbol: moduleSymbol, importKind: 0 /* Named */, exportedSymbolIsTypeOnly: isTypeOnlySymbol(exported, checker ) });
108299108301 }
108300108302 }
108301108303 });
108302108304 return result;
108303108305 }
108304- function isTypeOnlySymbol(s) {
108305- return !(s .flags & 67220415 /* Value */);
108306+ function isTypeOnlySymbol(s, checker ) {
108307+ return !(ts.skipAlias(s, checker) .flags & 67220415 /* Value */);
108306108308 }
108307108309 function getFixForImport(exportInfos, symbolName, position, program, sourceFile, host, preferences) {
108308108310 var checker = program.getTypeChecker();
@@ -108470,7 +108472,7 @@ var ts;
108470108472 // Maps symbol id to info for modules providing that symbol (original export + re-exports).
108471108473 var originalSymbolToExportInfos = ts.createMultiMap();
108472108474 function addSymbol(moduleSymbol, exportedSymbol, importKind) {
108473- originalSymbolToExportInfos.add(ts.getUniqueSymbolId(exportedSymbol, checker).toString(), { moduleSymbol: moduleSymbol, importKind: importKind, exportedSymbolIsTypeOnly: isTypeOnlySymbol(exportedSymbol) });
108475+ originalSymbolToExportInfos.add(ts.getUniqueSymbolId(exportedSymbol, checker).toString(), { moduleSymbol: moduleSymbol, importKind: importKind, exportedSymbolIsTypeOnly: isTypeOnlySymbol(exportedSymbol, checker ) });
108474108476 }
108475108477 forEachExternalModuleToImportFrom(checker, sourceFile, program.getSourceFiles(), function (moduleSymbol) {
108476108478 cancellationToken.throwIfCancellationRequested();
@@ -108492,7 +108494,7 @@ var ts;
108492108494 return undefined;
108493108495 var symbol = exported.symbol, kind = exported.kind;
108494108496 var info = getDefaultExportInfoWorker(symbol, moduleSymbol, checker, compilerOptions);
108495- return info && { symbol: symbol, symbolForMeaning: info.symbolForMeaning, name: info.name, kind: kind };
108497+ return info && __assign( { symbol: symbol, kind: kind }, info) ;
108496108498 }
108497108499 function getDefaultLikeExportWorker(moduleSymbol, checker) {
108498108500 var defaultExport = checker.tryGetMemberInModuleExports("default" /* Default */, moduleSymbol);
0 commit comments