typescript 5.3.0-dev.20230822 → 5.3.0-dev.20230824

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/lib/tsc.js CHANGED
@@ -18,7 +18,7 @@ and limitations under the License.
18
18
 
19
19
  // src/compiler/corePublic.ts
20
20
  var versionMajorMinor = "5.3";
21
- var version = `${versionMajorMinor}.0-dev.20230822`;
21
+ var version = `${versionMajorMinor}.0-dev.20230824`;
22
22
 
23
23
  // src/compiler/core.ts
24
24
  var emptyArray = [];
@@ -11771,8 +11771,8 @@ function getInternalEmitFlags(node) {
11771
11771
  const emitNode = node.emitNode;
11772
11772
  return emitNode && emitNode.internalFlags || 0;
11773
11773
  }
11774
- function getScriptTargetFeatures() {
11775
- return new Map(Object.entries({
11774
+ var getScriptTargetFeatures = /* @__PURE__ */ memoize(
11775
+ () => new Map(Object.entries({
11776
11776
  Array: new Map(Object.entries({
11777
11777
  es2015: [
11778
11778
  "find",
@@ -11839,7 +11839,7 @@ function getScriptTargetFeatures() {
11839
11839
  "defineProperty",
11840
11840
  "deleteProperty",
11841
11841
  "get",
11842
- " getOwnPropertyDescriptor",
11842
+ "getOwnPropertyDescriptor",
11843
11843
  "getPrototypeOf",
11844
11844
  "has",
11845
11845
  "isExtensible",
@@ -12165,8 +12165,8 @@ function getScriptTargetFeatures() {
12165
12165
  "cause"
12166
12166
  ]
12167
12167
  }))
12168
- }));
12169
- }
12168
+ }))
12169
+ );
12170
12170
  function getLiteralText(node, sourceFile, flags) {
12171
12171
  if (sourceFile && canUseOriginalText(node, flags)) {
12172
12172
  return getSourceTextOfNodeFromSourceFile(sourceFile, node);
@@ -48630,11 +48630,17 @@ function createTypeChecker(host) {
48630
48630
  const constraintNode = constraint && typeToTypeNodeHelper(constraint, context);
48631
48631
  return typeParameterToDeclarationWithConstraint(type, context, constraintNode);
48632
48632
  }
48633
- function symbolToParameterDeclaration(parameterSymbol, context, preserveModifierFlags, privateSymbolVisitor, bundledImports) {
48634
- let parameterDeclaration = getDeclarationOfKind(parameterSymbol, 169 /* Parameter */);
48635
- if (!parameterDeclaration && !isTransientSymbol(parameterSymbol)) {
48636
- parameterDeclaration = getDeclarationOfKind(parameterSymbol, 348 /* JSDocParameterTag */);
48633
+ function getEffectiveParameterDeclaration(parameterSymbol) {
48634
+ const parameterDeclaration = getDeclarationOfKind(parameterSymbol, 169 /* Parameter */);
48635
+ if (parameterDeclaration) {
48636
+ return parameterDeclaration;
48637
+ }
48638
+ if (!isTransientSymbol(parameterSymbol)) {
48639
+ return getDeclarationOfKind(parameterSymbol, 348 /* JSDocParameterTag */);
48637
48640
  }
48641
+ }
48642
+ function symbolToParameterDeclaration(parameterSymbol, context, preserveModifierFlags, privateSymbolVisitor, bundledImports) {
48643
+ const parameterDeclaration = getEffectiveParameterDeclaration(parameterSymbol);
48638
48644
  let parameterType = getTypeOfSymbol(parameterSymbol);
48639
48645
  if (parameterDeclaration && isRequiredInitializedParameter(parameterDeclaration)) {
48640
48646
  parameterType = getOptionalType(parameterType);
@@ -48643,7 +48649,7 @@ function createTypeChecker(host) {
48643
48649
  const modifiers = !(context.flags & 8192 /* OmitParameterModifiers */) && preserveModifierFlags && parameterDeclaration && canHaveModifiers(parameterDeclaration) ? map(getModifiers(parameterDeclaration), factory.cloneNode) : void 0;
48644
48650
  const isRest = parameterDeclaration && isRestParameter(parameterDeclaration) || getCheckFlags(parameterSymbol) & 32768 /* RestParameter */;
48645
48651
  const dotDotDotToken = isRest ? factory.createToken(26 /* DotDotDotToken */) : void 0;
48646
- const name = parameterDeclaration ? parameterDeclaration.name ? parameterDeclaration.name.kind === 80 /* Identifier */ ? setEmitFlags(factory.cloneNode(parameterDeclaration.name), 16777216 /* NoAsciiEscaping */) : parameterDeclaration.name.kind === 166 /* QualifiedName */ ? setEmitFlags(factory.cloneNode(parameterDeclaration.name.right), 16777216 /* NoAsciiEscaping */) : cloneBindingName(parameterDeclaration.name) : symbolName(parameterSymbol) : symbolName(parameterSymbol);
48652
+ const name = parameterToParameterDeclarationName(parameterSymbol, parameterDeclaration, context);
48647
48653
  const isOptional = parameterDeclaration && isOptionalParameter(parameterDeclaration) || getCheckFlags(parameterSymbol) & 16384 /* OptionalParameter */;
48648
48654
  const questionToken = isOptional ? factory.createToken(58 /* QuestionToken */) : void 0;
48649
48655
  const parameterNode = factory.createParameterDeclaration(
@@ -48657,6 +48663,9 @@ function createTypeChecker(host) {
48657
48663
  );
48658
48664
  context.approximateLength += symbolName(parameterSymbol).length + 3;
48659
48665
  return parameterNode;
48666
+ }
48667
+ function parameterToParameterDeclarationName(parameterSymbol, parameterDeclaration, context) {
48668
+ return parameterDeclaration ? parameterDeclaration.name ? parameterDeclaration.name.kind === 80 /* Identifier */ ? setEmitFlags(factory.cloneNode(parameterDeclaration.name), 16777216 /* NoAsciiEscaping */) : parameterDeclaration.name.kind === 166 /* QualifiedName */ ? setEmitFlags(factory.cloneNode(parameterDeclaration.name.right), 16777216 /* NoAsciiEscaping */) : cloneBindingName(parameterDeclaration.name) : symbolName(parameterSymbol) : symbolName(parameterSymbol);
48660
48669
  function cloneBindingName(node) {
48661
48670
  return elideInitializerAndSetEmitFlags(node);
48662
48671
  function elideInitializerAndSetEmitFlags(node2) {
@@ -50637,6 +50646,21 @@ function createTypeChecker(host) {
50637
50646
  if (p.flags & 98304 /* Accessor */ && useAccessors) {
50638
50647
  const result = [];
50639
50648
  if (p.flags & 65536 /* SetAccessor */) {
50649
+ const setter = p.declarations && forEach(p.declarations, (d) => {
50650
+ if (d.kind === 178 /* SetAccessor */) {
50651
+ return d;
50652
+ }
50653
+ if (isCallExpression(d) && isBindableObjectDefinePropertyCall(d)) {
50654
+ return forEach(d.arguments[2].properties, (propDecl) => {
50655
+ const id = getNameOfDeclaration(propDecl);
50656
+ if (!!id && isIdentifier(id) && idText(id) === "set") {
50657
+ return propDecl;
50658
+ }
50659
+ });
50660
+ }
50661
+ });
50662
+ Debug.assert(setter && isFunctionLikeDeclaration(setter));
50663
+ const paramSymbol = getSignatureFromDeclaration(setter).parameters[0];
50640
50664
  result.push(setTextRange(
50641
50665
  factory.createSetAccessorDeclaration(
50642
50666
  factory.createModifiersFromModifierFlags(flag),
@@ -50646,7 +50670,7 @@ function createTypeChecker(host) {
50646
50670
  void 0,
50647
50671
  /*dotDotDotToken*/
50648
50672
  void 0,
50649
- "arg",
50673
+ paramSymbol ? parameterToParameterDeclarationName(paramSymbol, getEffectiveParameterDeclaration(paramSymbol), context) : "value",
50650
50674
  /*questionToken*/
50651
50675
  void 0,
50652
50676
  isPrivate ? void 0 : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled)
@@ -63996,12 +64020,14 @@ function createTypeChecker(host) {
63996
64020
  }
63997
64021
  function inferFromSignatures(source, target, kind) {
63998
64022
  const sourceSignatures = getSignaturesOfType(source, kind);
63999
- const targetSignatures = getSignaturesOfType(target, kind);
64000
64023
  const sourceLen = sourceSignatures.length;
64001
- const targetLen = targetSignatures.length;
64002
- const len = sourceLen < targetLen ? sourceLen : targetLen;
64003
- for (let i = 0; i < len; i++) {
64004
- inferFromSignature(getBaseSignature(sourceSignatures[sourceLen - len + i]), getErasedSignature(targetSignatures[targetLen - len + i]));
64024
+ if (sourceLen > 0) {
64025
+ const targetSignatures = getSignaturesOfType(target, kind);
64026
+ const targetLen = targetSignatures.length;
64027
+ for (let i = 0; i < targetLen; i++) {
64028
+ const sourceIndex = Math.max(sourceLen - targetLen + i, 0);
64029
+ inferFromSignature(getBaseSignature(sourceSignatures[sourceIndex]), getErasedSignature(targetSignatures[i]));
64030
+ }
64005
64031
  }
64006
64032
  }
64007
64033
  function inferFromSignature(source, target) {
@@ -65537,7 +65563,7 @@ function createTypeChecker(host) {
65537
65563
  return void 0;
65538
65564
  }
65539
65565
  function getDiscriminantPropertyAccess(expr, computedType) {
65540
- const type = declaredType.flags & 1048576 /* Union */ ? declaredType : computedType;
65566
+ const type = !(computedType.flags & 1048576 /* Union */) && declaredType.flags & 1048576 /* Union */ ? declaredType : computedType;
65541
65567
  if (type.flags & 1048576 /* Union */) {
65542
65568
  const access = getCandidateDiscriminantPropertyAccess(expr);
65543
65569
  if (access) {
package/lib/tsserver.js CHANGED
@@ -2333,7 +2333,7 @@ module.exports = __toCommonJS(server_exports);
2333
2333
 
2334
2334
  // src/compiler/corePublic.ts
2335
2335
  var versionMajorMinor = "5.3";
2336
- var version = `${versionMajorMinor}.0-dev.20230822`;
2336
+ var version = `${versionMajorMinor}.0-dev.20230824`;
2337
2337
  var Comparison = /* @__PURE__ */ ((Comparison3) => {
2338
2338
  Comparison3[Comparison3["LessThan"] = -1] = "LessThan";
2339
2339
  Comparison3[Comparison3["EqualTo"] = 0] = "EqualTo";
@@ -15541,8 +15541,8 @@ function getInternalEmitFlags(node) {
15541
15541
  const emitNode = node.emitNode;
15542
15542
  return emitNode && emitNode.internalFlags || 0;
15543
15543
  }
15544
- function getScriptTargetFeatures() {
15545
- return new Map(Object.entries({
15544
+ var getScriptTargetFeatures = /* @__PURE__ */ memoize(
15545
+ () => new Map(Object.entries({
15546
15546
  Array: new Map(Object.entries({
15547
15547
  es2015: [
15548
15548
  "find",
@@ -15609,7 +15609,7 @@ function getScriptTargetFeatures() {
15609
15609
  "defineProperty",
15610
15610
  "deleteProperty",
15611
15611
  "get",
15612
- " getOwnPropertyDescriptor",
15612
+ "getOwnPropertyDescriptor",
15613
15613
  "getPrototypeOf",
15614
15614
  "has",
15615
15615
  "isExtensible",
@@ -15935,8 +15935,8 @@ function getScriptTargetFeatures() {
15935
15935
  "cause"
15936
15936
  ]
15937
15937
  }))
15938
- }));
15939
- }
15938
+ }))
15939
+ );
15940
15940
  var GetLiteralTextFlags = /* @__PURE__ */ ((GetLiteralTextFlags2) => {
15941
15941
  GetLiteralTextFlags2[GetLiteralTextFlags2["None"] = 0] = "None";
15942
15942
  GetLiteralTextFlags2[GetLiteralTextFlags2["NeverAsciiEscape"] = 1] = "NeverAsciiEscape";
@@ -53338,11 +53338,17 @@ function createTypeChecker(host) {
53338
53338
  const constraintNode = constraint && typeToTypeNodeHelper(constraint, context);
53339
53339
  return typeParameterToDeclarationWithConstraint(type, context, constraintNode);
53340
53340
  }
53341
- function symbolToParameterDeclaration(parameterSymbol, context, preserveModifierFlags, privateSymbolVisitor, bundledImports) {
53342
- let parameterDeclaration = getDeclarationOfKind(parameterSymbol, 169 /* Parameter */);
53343
- if (!parameterDeclaration && !isTransientSymbol(parameterSymbol)) {
53344
- parameterDeclaration = getDeclarationOfKind(parameterSymbol, 348 /* JSDocParameterTag */);
53341
+ function getEffectiveParameterDeclaration(parameterSymbol) {
53342
+ const parameterDeclaration = getDeclarationOfKind(parameterSymbol, 169 /* Parameter */);
53343
+ if (parameterDeclaration) {
53344
+ return parameterDeclaration;
53345
+ }
53346
+ if (!isTransientSymbol(parameterSymbol)) {
53347
+ return getDeclarationOfKind(parameterSymbol, 348 /* JSDocParameterTag */);
53345
53348
  }
53349
+ }
53350
+ function symbolToParameterDeclaration(parameterSymbol, context, preserveModifierFlags, privateSymbolVisitor, bundledImports) {
53351
+ const parameterDeclaration = getEffectiveParameterDeclaration(parameterSymbol);
53346
53352
  let parameterType = getTypeOfSymbol(parameterSymbol);
53347
53353
  if (parameterDeclaration && isRequiredInitializedParameter(parameterDeclaration)) {
53348
53354
  parameterType = getOptionalType(parameterType);
@@ -53351,7 +53357,7 @@ function createTypeChecker(host) {
53351
53357
  const modifiers = !(context.flags & 8192 /* OmitParameterModifiers */) && preserveModifierFlags && parameterDeclaration && canHaveModifiers(parameterDeclaration) ? map(getModifiers(parameterDeclaration), factory.cloneNode) : void 0;
53352
53358
  const isRest = parameterDeclaration && isRestParameter(parameterDeclaration) || getCheckFlags(parameterSymbol) & 32768 /* RestParameter */;
53353
53359
  const dotDotDotToken = isRest ? factory.createToken(26 /* DotDotDotToken */) : void 0;
53354
- const name = parameterDeclaration ? parameterDeclaration.name ? parameterDeclaration.name.kind === 80 /* Identifier */ ? setEmitFlags(factory.cloneNode(parameterDeclaration.name), 16777216 /* NoAsciiEscaping */) : parameterDeclaration.name.kind === 166 /* QualifiedName */ ? setEmitFlags(factory.cloneNode(parameterDeclaration.name.right), 16777216 /* NoAsciiEscaping */) : cloneBindingName(parameterDeclaration.name) : symbolName(parameterSymbol) : symbolName(parameterSymbol);
53360
+ const name = parameterToParameterDeclarationName(parameterSymbol, parameterDeclaration, context);
53355
53361
  const isOptional = parameterDeclaration && isOptionalParameter(parameterDeclaration) || getCheckFlags(parameterSymbol) & 16384 /* OptionalParameter */;
53356
53362
  const questionToken = isOptional ? factory.createToken(58 /* QuestionToken */) : void 0;
53357
53363
  const parameterNode = factory.createParameterDeclaration(
@@ -53365,6 +53371,9 @@ function createTypeChecker(host) {
53365
53371
  );
53366
53372
  context.approximateLength += symbolName(parameterSymbol).length + 3;
53367
53373
  return parameterNode;
53374
+ }
53375
+ function parameterToParameterDeclarationName(parameterSymbol, parameterDeclaration, context) {
53376
+ return parameterDeclaration ? parameterDeclaration.name ? parameterDeclaration.name.kind === 80 /* Identifier */ ? setEmitFlags(factory.cloneNode(parameterDeclaration.name), 16777216 /* NoAsciiEscaping */) : parameterDeclaration.name.kind === 166 /* QualifiedName */ ? setEmitFlags(factory.cloneNode(parameterDeclaration.name.right), 16777216 /* NoAsciiEscaping */) : cloneBindingName(parameterDeclaration.name) : symbolName(parameterSymbol) : symbolName(parameterSymbol);
53368
53377
  function cloneBindingName(node) {
53369
53378
  return elideInitializerAndSetEmitFlags(node);
53370
53379
  function elideInitializerAndSetEmitFlags(node2) {
@@ -55345,6 +55354,21 @@ function createTypeChecker(host) {
55345
55354
  if (p.flags & 98304 /* Accessor */ && useAccessors) {
55346
55355
  const result = [];
55347
55356
  if (p.flags & 65536 /* SetAccessor */) {
55357
+ const setter = p.declarations && forEach(p.declarations, (d) => {
55358
+ if (d.kind === 178 /* SetAccessor */) {
55359
+ return d;
55360
+ }
55361
+ if (isCallExpression(d) && isBindableObjectDefinePropertyCall(d)) {
55362
+ return forEach(d.arguments[2].properties, (propDecl) => {
55363
+ const id = getNameOfDeclaration(propDecl);
55364
+ if (!!id && isIdentifier(id) && idText(id) === "set") {
55365
+ return propDecl;
55366
+ }
55367
+ });
55368
+ }
55369
+ });
55370
+ Debug.assert(setter && isFunctionLikeDeclaration(setter));
55371
+ const paramSymbol = getSignatureFromDeclaration(setter).parameters[0];
55348
55372
  result.push(setTextRange(
55349
55373
  factory.createSetAccessorDeclaration(
55350
55374
  factory.createModifiersFromModifierFlags(flag),
@@ -55354,7 +55378,7 @@ function createTypeChecker(host) {
55354
55378
  void 0,
55355
55379
  /*dotDotDotToken*/
55356
55380
  void 0,
55357
- "arg",
55381
+ paramSymbol ? parameterToParameterDeclarationName(paramSymbol, getEffectiveParameterDeclaration(paramSymbol), context) : "value",
55358
55382
  /*questionToken*/
55359
55383
  void 0,
55360
55384
  isPrivate ? void 0 : serializeTypeForDeclaration(context, getTypeOfSymbol(p), p, enclosingDeclaration, includePrivateSymbol, bundled)
@@ -68704,12 +68728,14 @@ function createTypeChecker(host) {
68704
68728
  }
68705
68729
  function inferFromSignatures(source, target, kind) {
68706
68730
  const sourceSignatures = getSignaturesOfType(source, kind);
68707
- const targetSignatures = getSignaturesOfType(target, kind);
68708
68731
  const sourceLen = sourceSignatures.length;
68709
- const targetLen = targetSignatures.length;
68710
- const len = sourceLen < targetLen ? sourceLen : targetLen;
68711
- for (let i = 0; i < len; i++) {
68712
- inferFromSignature(getBaseSignature(sourceSignatures[sourceLen - len + i]), getErasedSignature(targetSignatures[targetLen - len + i]));
68732
+ if (sourceLen > 0) {
68733
+ const targetSignatures = getSignaturesOfType(target, kind);
68734
+ const targetLen = targetSignatures.length;
68735
+ for (let i = 0; i < targetLen; i++) {
68736
+ const sourceIndex = Math.max(sourceLen - targetLen + i, 0);
68737
+ inferFromSignature(getBaseSignature(sourceSignatures[sourceIndex]), getErasedSignature(targetSignatures[i]));
68738
+ }
68713
68739
  }
68714
68740
  }
68715
68741
  function inferFromSignature(source, target) {
@@ -70245,7 +70271,7 @@ function createTypeChecker(host) {
70245
70271
  return void 0;
70246
70272
  }
70247
70273
  function getDiscriminantPropertyAccess(expr, computedType) {
70248
- const type = declaredType.flags & 1048576 /* Union */ ? declaredType : computedType;
70274
+ const type = !(computedType.flags & 1048576 /* Union */) && declaredType.flags & 1048576 /* Union */ ? declaredType : computedType;
70249
70275
  if (type.flags & 1048576 /* Union */) {
70250
70276
  const access = getCandidateDiscriminantPropertyAccess(expr);
70251
70277
  if (access) {
@@ -164642,11 +164668,11 @@ function provideInlayHints(context) {
164642
164668
  function isSignatureSupportingReturnAnnotation(node) {
164643
164669
  return isArrowFunction(node) || isFunctionExpression(node) || isFunctionDeclaration(node) || isMethodDeclaration(node) || isGetAccessorDeclaration(node);
164644
164670
  }
164645
- function addParameterHints(text, parameter, position, isFirstVariadicArgument, sourceFile) {
164671
+ function addParameterHints(text, parameter, position, isFirstVariadicArgument) {
164646
164672
  let hintText = `${isFirstVariadicArgument ? "..." : ""}${text}`;
164647
164673
  let displayParts;
164648
164674
  if (shouldUseInteractiveInlayHints(preferences)) {
164649
- displayParts = [getNodeDisplayPart(hintText, parameter, sourceFile), { text: ":" }];
164675
+ displayParts = [getNodeDisplayPart(hintText, parameter), { text: ":" }];
164650
164676
  hintText = "";
164651
164677
  } else {
164652
164678
  hintText += ":";
@@ -164718,7 +164744,6 @@ function provideInlayHints(context) {
164718
164744
  if (!signature || !candidates.length) {
164719
164745
  return;
164720
164746
  }
164721
- const sourceFile = shouldUseInteractiveInlayHints(preferences) ? expr.getSourceFile() : void 0;
164722
164747
  let signatureParamPos = 0;
164723
164748
  for (const originalArg of args) {
164724
164749
  const arg = skipParentheses(originalArg);
@@ -164753,7 +164778,7 @@ function provideInlayHints(context) {
164753
164778
  if (leadingCommentsContainsParameterName(arg, name)) {
164754
164779
  continue;
164755
164780
  }
164756
- addParameterHints(name, parameter, originalArg.getStart(), isFirstVariadicArgument, sourceFile);
164781
+ addParameterHints(name, parameter, originalArg.getStart(), isFirstVariadicArgument);
164757
164782
  }
164758
164783
  }
164759
164784
  }
@@ -164889,7 +164914,8 @@ function provideInlayHints(context) {
164889
164914
  }
164890
164915
  return true;
164891
164916
  }
164892
- function getNodeDisplayPart(text, node, sourceFile) {
164917
+ function getNodeDisplayPart(text, node) {
164918
+ const sourceFile = node.getSourceFile();
164893
164919
  return {
164894
164920
  text,
164895
164921
  span: createTextSpanFromNode(node, sourceFile),
@@ -167688,11 +167714,12 @@ function getSymbolDisplayPartsDocumentationAndSymbolKindWorker(typeChecker, symb
167688
167714
  if (documentation.length === 0 && isIdentifier(location) && symbol.valueDeclaration && isBindingElement(symbol.valueDeclaration)) {
167689
167715
  const declaration = symbol.valueDeclaration;
167690
167716
  const parent2 = declaration.parent;
167691
- if (isIdentifier(declaration.name) && isObjectBindingPattern(parent2)) {
167692
- const name = getTextOfIdentifierOrLiteral(declaration.name);
167717
+ const name = declaration.propertyName || declaration.name;
167718
+ if (isIdentifier(name) && isObjectBindingPattern(parent2)) {
167719
+ const propertyName = getTextOfIdentifierOrLiteral(name);
167693
167720
  const objectType = typeChecker.getTypeAtLocation(parent2);
167694
167721
  documentation = firstDefined(objectType.isUnion() ? objectType.types : [objectType], (t) => {
167695
- const prop = t.getProperty(name);
167722
+ const prop = t.getProperty(propertyName);
167696
167723
  return prop ? prop.getDocumentationComment(typeChecker) : void 0;
167697
167724
  }) || emptyArray;
167698
167725
  }
@@ -183575,14 +183602,22 @@ Project '${project.projectName}' (${ProjectKind[project.projectKind]}) ${counter
183575
183602
  return {
183576
183603
  ...hint,
183577
183604
  position: scriptInfo.positionToLineOffset(position),
183578
- displayParts: displayParts == null ? void 0 : displayParts.map(({ text, span, file: file2 }) => ({
183579
- text,
183580
- span: span && {
183581
- start: scriptInfo.positionToLineOffset(span.start),
183582
- end: scriptInfo.positionToLineOffset(span.start + span.length),
183583
- file: file2
183605
+ displayParts: displayParts == null ? void 0 : displayParts.map(({ text, span, file: file2 }) => {
183606
+ if (span) {
183607
+ Debug.assertIsDefined(file2, "Target file should be defined together with its span.");
183608
+ const scriptInfo2 = this.projectService.getScriptInfo(file2);
183609
+ return {
183610
+ text,
183611
+ span: {
183612
+ start: scriptInfo2.positionToLineOffset(span.start),
183613
+ end: scriptInfo2.positionToLineOffset(span.start + span.length),
183614
+ file: file2
183615
+ }
183616
+ };
183617
+ } else {
183618
+ return { text };
183584
183619
  }
183585
- }))
183620
+ })
183586
183621
  };
183587
183622
  });
183588
183623
  }