@zzzen/pyright-internal 1.2.0-dev.20220904 → 1.2.0-dev.20220918

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.
Files changed (84) hide show
  1. package/dist/analyzer/binder.js +22 -21
  2. package/dist/analyzer/binder.js.map +1 -1
  3. package/dist/analyzer/checker.d.ts +1 -0
  4. package/dist/analyzer/checker.js +27 -4
  5. package/dist/analyzer/checker.js.map +1 -1
  6. package/dist/analyzer/importResolver.d.ts +6 -1
  7. package/dist/analyzer/importResolver.js +76 -28
  8. package/dist/analyzer/importResolver.js.map +1 -1
  9. package/dist/analyzer/parseTreeUtils.d.ts +1 -0
  10. package/dist/analyzer/parseTreeUtils.js +54 -13
  11. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  12. package/dist/analyzer/patternMatching.js +3 -2
  13. package/dist/analyzer/patternMatching.js.map +1 -1
  14. package/dist/analyzer/program.js +8 -1
  15. package/dist/analyzer/program.js.map +1 -1
  16. package/dist/analyzer/scope.js +5 -3
  17. package/dist/analyzer/scope.js.map +1 -1
  18. package/dist/analyzer/service.js +18 -6
  19. package/dist/analyzer/service.js.map +1 -1
  20. package/dist/analyzer/typeEvaluator.js +72 -42
  21. package/dist/analyzer/typeEvaluator.js.map +1 -1
  22. package/dist/analyzer/typeGuards.js +4 -1
  23. package/dist/analyzer/typeGuards.js.map +1 -1
  24. package/dist/analyzer/typePrinter.d.ts +3 -3
  25. package/dist/analyzer/typePrinter.js +24 -20
  26. package/dist/analyzer/typePrinter.js.map +1 -1
  27. package/dist/analyzer/typeUtils.js +1 -1
  28. package/dist/analyzer/typeUtils.js.map +1 -1
  29. package/dist/analyzer/types.d.ts +2 -0
  30. package/dist/analyzer/types.js +8 -0
  31. package/dist/analyzer/types.js.map +1 -1
  32. package/dist/common/commandLineOptions.d.ts +2 -0
  33. package/dist/common/commandLineOptions.js +7 -0
  34. package/dist/common/commandLineOptions.js.map +1 -1
  35. package/dist/common/debug.js +7 -1
  36. package/dist/common/debug.js.map +1 -1
  37. package/dist/common/envVarUtils.d.ts +1 -0
  38. package/dist/common/envVarUtils.js +34 -0
  39. package/dist/common/envVarUtils.js.map +1 -0
  40. package/dist/common/realFileSystem.js +1 -1
  41. package/dist/common/realFileSystem.js.map +1 -1
  42. package/dist/languageServerBase.d.ts +3 -1
  43. package/dist/languageServerBase.js +2 -24
  44. package/dist/languageServerBase.js.map +1 -1
  45. package/dist/languageService/analyzerServiceExecutor.js +4 -1
  46. package/dist/languageService/analyzerServiceExecutor.js.map +1 -1
  47. package/dist/languageService/indentationUtils.d.ts +5 -0
  48. package/dist/languageService/indentationUtils.js +68 -27
  49. package/dist/languageService/indentationUtils.js.map +1 -1
  50. package/dist/languageService/insertionPointUtils.d.ts +2 -2
  51. package/dist/languageService/insertionPointUtils.js +1 -1
  52. package/dist/languageService/insertionPointUtils.js.map +1 -1
  53. package/dist/languageService/signatureHelpProvider.js +2 -1
  54. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  55. package/dist/localization/localize.d.ts +4 -3
  56. package/dist/localization/localize.js +1 -1
  57. package/dist/localization/localize.js.map +1 -1
  58. package/dist/localization/package.nls.en-us.json +1 -1
  59. package/dist/parser/parser.js +43 -46
  60. package/dist/parser/parser.js.map +1 -1
  61. package/dist/parser/tokenizer.js +9 -7
  62. package/dist/parser/tokenizer.js.map +1 -1
  63. package/dist/server.js +6 -5
  64. package/dist/server.js.map +1 -1
  65. package/dist/tests/fourslash/signature.paramspec.fourslash.d.ts +1 -0
  66. package/dist/tests/fourslash/signature.paramspec.fourslash.js +30 -0
  67. package/dist/tests/fourslash/signature.paramspec.fourslash.js.map +1 -0
  68. package/dist/tests/ipythonMode.test.js +27 -0
  69. package/dist/tests/ipythonMode.test.js.map +1 -1
  70. package/dist/tests/parseTreeUtils.test.js +8 -2
  71. package/dist/tests/parseTreeUtils.test.js.map +1 -1
  72. package/dist/tests/parser.test.js +2 -2
  73. package/dist/tests/testUtils.d.ts +2 -0
  74. package/dist/tests/testUtils.js +8 -2
  75. package/dist/tests/testUtils.js.map +1 -1
  76. package/dist/tests/tokenizer.test.js +3 -0
  77. package/dist/tests/tokenizer.test.js.map +1 -1
  78. package/dist/tests/typeEvaluator1.test.js +5 -1
  79. package/dist/tests/typeEvaluator1.test.js.map +1 -1
  80. package/dist/tests/typeEvaluator3.test.js +5 -1
  81. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  82. package/dist/tests/typeEvaluator4.test.js +1 -1
  83. package/dist/tests/typeEvaluator5.test.js +2 -2
  84. package/package.json +7 -7
@@ -12,6 +12,7 @@
12
12
  */
13
13
  Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.Tokenizer = exports.defaultTabSize = void 0;
15
+ const parseTreeUtils_1 = require("../analyzer/parseTreeUtils");
15
16
  const sourceFile_1 = require("../analyzer/sourceFile");
16
17
  const textRangeCollection_1 = require("../common/textRangeCollection");
17
18
  const characters_1 = require("./characters");
@@ -175,7 +176,7 @@ class Tokenizer {
175
176
  this._tokens.push(tokenizerTypes_1.NewLineToken.create(this._cs.position, 0, 3 /* Implied */, this._getComments()));
176
177
  }
177
178
  // Insert any implied dedent tokens.
178
- this._setIndent(0, 0, /* isSpacePresent */ false, /* isTabPresent */ false);
179
+ this._setIndent(this._cs.position, 0, 0, /* isSpacePresent */ false, /* isTabPresent */ false);
179
180
  // Add a final end-of-stream token to make parsing easier.
180
181
  this._tokens.push(tokenizerTypes_1.Token.create(1 /* EndOfStream */, this._cs.position, 0, this._getComments()));
181
182
  // Add the final line range.
@@ -418,6 +419,7 @@ class Tokenizer {
418
419
  let tab8Spaces = 0;
419
420
  let isTabPresent = false;
420
421
  let isSpacePresent = false;
422
+ const startOffset = this._cs.position;
421
423
  while (!this._cs.isEndOfStream()) {
422
424
  switch (this._cs.currentChar) {
423
425
  case 32 /* Space */:
@@ -443,7 +445,7 @@ class Tokenizer {
443
445
  break;
444
446
  default:
445
447
  // Non-blank line. Set the current indent level.
446
- this._setIndent(tab1Spaces, tab8Spaces, isSpacePresent, isTabPresent);
448
+ this._setIndent(startOffset, tab1Spaces, tab8Spaces, isSpacePresent, isTabPresent);
447
449
  return;
448
450
  case 35 /* Hash */:
449
451
  case 10 /* LineFeed */:
@@ -456,7 +458,7 @@ class Tokenizer {
456
458
  // The caller must specify two space count values. The first assumes
457
459
  // that tabs are translated into one-space tab stops. The second assumes
458
460
  // that tabs are translated into eight-space tab stops.
459
- _setIndent(tab1Spaces, tab8Spaces, isSpacePresent, isTabPresent) {
461
+ _setIndent(startOffset, tab1Spaces, tab8Spaces, isSpacePresent, isTabPresent) {
460
462
  // Indentations are ignored within a parenthesized clause.
461
463
  if (this._parenDepth > 0) {
462
464
  return;
@@ -475,7 +477,7 @@ class Tokenizer {
475
477
  isSpacePresent,
476
478
  isTabPresent,
477
479
  });
478
- this._tokens.push(tokenizerTypes_1.IndentToken.create(this._cs.position, 0, tab8Spaces, false, this._getComments()));
480
+ this._tokens.push(tokenizerTypes_1.IndentToken.create(startOffset, tab1Spaces, tab8Spaces, false, this._getComments()));
479
481
  }
480
482
  }
481
483
  else {
@@ -498,7 +500,7 @@ class Tokenizer {
498
500
  isSpacePresent,
499
501
  isTabPresent,
500
502
  });
501
- this._tokens.push(tokenizerTypes_1.IndentToken.create(this._cs.position, 0, tab8Spaces, isIndentAmbiguous, this._getComments()));
503
+ this._tokens.push(tokenizerTypes_1.IndentToken.create(startOffset, tab1Spaces, tab8Spaces, isIndentAmbiguous, this._getComments()));
502
504
  }
503
505
  else if (prevTabInfo.tab8Spaces === tab8Spaces) {
504
506
  // The Python spec says that if there is ambiguity about how tabs should
@@ -506,7 +508,7 @@ class Tokenizer {
506
508
  // spaces, it should be an error. We'll record this condition in the token
507
509
  // so the parser can later report it.
508
510
  if ((prevTabInfo.isSpacePresent && isTabPresent) || (prevTabInfo.isTabPresent && isSpacePresent)) {
509
- this._tokens.push(tokenizerTypes_1.IndentToken.create(this._cs.position, 0, tab8Spaces, true, this._getComments()));
511
+ this._tokens.push(tokenizerTypes_1.IndentToken.create(startOffset, tab1Spaces, tab8Spaces, true, this._getComments()));
510
512
  }
511
513
  }
512
514
  else {
@@ -832,7 +834,7 @@ class Tokenizer {
832
834
  }
833
835
  _isIPythonMagics() {
834
836
  const prevToken = this._tokens.length > 0 ? this._tokens[this._tokens.length - 1] : undefined;
835
- return ((prevToken === undefined || prevToken.type === 2 /* NewLine */ || prevToken.type === 3 /* Indent */) &&
837
+ return ((prevToken === undefined || (0, parseTreeUtils_1.isWhitespace)(prevToken)) &&
836
838
  (this._cs.currentChar === 37 /* Percent */ || this._cs.currentChar === 33 /* ExclamationMark */));
837
839
  }
838
840
  _handleIPythonMagics(type) {
@@ -1 +1 @@
1
- {"version":3,"file":"tokenizer.js","sourceRoot":"","sources":["../../../src/parser/tokenizer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"tokenizer.js","sourceRoot":"","sources":["../../../src/parser/tokenizer.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -14,6 +14,7 @@ const commandController_1 = require("./commands/commandController");
14
14
  const cancellationUtils_1 = require("./common/cancellationUtils");
15
15
  const console_1 = require("./common/console");
16
16
  const core_1 = require("./common/core");
17
+ const envVarUtils_1 = require("./common/envVarUtils");
17
18
  const fileBasedCancellationUtils_1 = require("./common/fileBasedCancellationUtils");
18
19
  const fullAccessHost_1 = require("./common/fullAccessHost");
19
20
  const pathUtils_1 = require("./common/pathUtils");
@@ -66,11 +67,11 @@ class PyrightServer extends languageServerBase_1.LanguageServerBase {
66
67
  if (pythonSection) {
67
68
  const pythonPath = pythonSection.pythonPath;
68
69
  if (pythonPath && (0, core_1.isString)(pythonPath) && !(0, pythonPathUtils_1.isPythonBinary)(pythonPath)) {
69
- serverSettings.pythonPath = (0, pathUtils_1.resolvePaths)(workspace.rootPath, this.expandPathVariables(workspace.rootPath, pythonPath));
70
+ serverSettings.pythonPath = (0, pathUtils_1.resolvePaths)(workspace.rootPath, (0, envVarUtils_1.expandPathVariables)(workspace.rootPath, pythonPath));
70
71
  }
71
72
  const venvPath = pythonSection.venvPath;
72
73
  if (venvPath && (0, core_1.isString)(venvPath)) {
73
- serverSettings.venvPath = (0, pathUtils_1.resolvePaths)(workspace.rootPath, this.expandPathVariables(workspace.rootPath, venvPath));
74
+ serverSettings.venvPath = (0, pathUtils_1.resolvePaths)(workspace.rootPath, (0, envVarUtils_1.expandPathVariables)(workspace.rootPath, venvPath));
74
75
  }
75
76
  }
76
77
  const pythonAnalysisSection = await this.getConfiguration(workspace.uri, 'python.analysis');
@@ -79,12 +80,12 @@ class PyrightServer extends languageServerBase_1.LanguageServerBase {
79
80
  if (typeshedPaths && Array.isArray(typeshedPaths) && typeshedPaths.length > 0) {
80
81
  const typeshedPath = typeshedPaths[0];
81
82
  if (typeshedPath && (0, core_1.isString)(typeshedPath)) {
82
- serverSettings.typeshedPath = (0, pathUtils_1.resolvePaths)(workspace.rootPath, this.expandPathVariables(workspace.rootPath, typeshedPath));
83
+ serverSettings.typeshedPath = (0, pathUtils_1.resolvePaths)(workspace.rootPath, (0, envVarUtils_1.expandPathVariables)(workspace.rootPath, typeshedPath));
83
84
  }
84
85
  }
85
86
  const stubPath = pythonAnalysisSection.stubPath;
86
87
  if (stubPath && (0, core_1.isString)(stubPath)) {
87
- serverSettings.stubPath = (0, pathUtils_1.resolvePaths)(workspace.rootPath, this.expandPathVariables(workspace.rootPath, stubPath));
88
+ serverSettings.stubPath = (0, pathUtils_1.resolvePaths)(workspace.rootPath, (0, envVarUtils_1.expandPathVariables)(workspace.rootPath, stubPath));
88
89
  }
89
90
  const diagnosticSeverityOverrides = pythonAnalysisSection.diagnosticSeverityOverrides;
90
91
  if (diagnosticSeverityOverrides) {
@@ -111,7 +112,7 @@ class PyrightServer extends languageServerBase_1.LanguageServerBase {
111
112
  if (extraPaths && Array.isArray(extraPaths) && extraPaths.length > 0) {
112
113
  serverSettings.extraPaths = extraPaths
113
114
  .filter((p) => p && (0, core_1.isString)(p))
114
- .map((p) => (0, pathUtils_1.resolvePaths)(workspace.rootPath, this.expandPathVariables(workspace.rootPath, p)));
115
+ .map((p) => (0, pathUtils_1.resolvePaths)(workspace.rootPath, (0, envVarUtils_1.expandPathVariables)(workspace.rootPath, p)));
115
116
  }
116
117
  if (pythonAnalysisSection.typeCheckingMode !== undefined) {
117
118
  serverSettings.typeCheckingMode = pythonAnalysisSection.typeCheckingMode;
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/server.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1 @@
1
+ /// <reference path="fourslash.d.ts" />
@@ -0,0 +1,30 @@
1
+ "use strict";
2
+ /// <reference path="fourslash.ts" />
3
+ // @filename: sig_paramspec.py
4
+ //// from typing import Callable, Concatenate, ParamSpec
5
+ ////
6
+ ////
7
+ //// P = ParamSpec("P")
8
+ //// def tester(c: Callable[Concatenate[int, str, P], None]) -> Callable[Concatenate[int, P], None]:
9
+ //// pass
10
+ ////
11
+ //// @tester
12
+ //// def foo(a: int, b: str, c: str, d: str):
13
+ //// pass
14
+ ////
15
+ //// foo(1,[|/*s1*/|])
16
+ {
17
+ const simpleSignatures = [
18
+ {
19
+ label: '(int, c: str, d: str) -> None',
20
+ parameters: ['int', 'c: str', 'd: str'],
21
+ },
22
+ ];
23
+ helper.verifySignature('plaintext', {
24
+ s1: {
25
+ signatures: simpleSignatures,
26
+ activeParameters: [1],
27
+ },
28
+ });
29
+ }
30
+ //# sourceMappingURL=signature.paramspec.fourslash.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signature.paramspec.fourslash.js","sourceRoot":"","sources":["../../../../src/tests/fourslash/signature.paramspec.fourslash.ts"],"names":[],"mappings":";AAAA,qCAAqC;AAErC,8BAA8B;AAC9B,wDAAwD;AACxD,IAAI;AACJ,IAAI;AACJ,uBAAuB;AACvB,oGAAoG;AACpG,aAAa;AACb,IAAI;AACJ,YAAY;AACZ,6CAA6C;AAC7C,aAAa;AACb,IAAI;AACJ,sBAAsB;AAEtB;IACI,MAAM,gBAAgB,GAAG;QACrB;YACI,KAAK,EAAE,+BAA+B;YACtC,UAAU,EAAE,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,CAAC;SAC1C;KACJ,CAAC;IAEF,MAAM,CAAC,eAAe,CAAC,WAAW,EAAE;QAChC,EAAE,EAAE;YACA,UAAU,EAAE,gBAAgB;YAC5B,gBAAgB,EAAE,CAAC,CAAC,CAAC;SACxB;KACJ,CAAC,CAAC;CACN"}
@@ -359,6 +359,33 @@ test('implicitly load ipython display module', async () => {
359
359
  },
360
360
  });
361
361
  });
362
+ test('magics at the end', async () => {
363
+ const code = `
364
+ // @filename: test.py
365
+ // @ipythonMode: true
366
+ //// from random import random
367
+ //// def estimate_pi(n=1e7) -> "area":
368
+ //// """Estimate pi with monte carlo simulation.
369
+ ////
370
+ //// Arguments:
371
+ //// n: number of simulations
372
+ //// """
373
+ //// in_circle = 0
374
+ //// total = n
375
+ ////
376
+ //// while n != 0:
377
+ //// prec_x = random()
378
+ //// prec_y = random()
379
+ //// if pow(prec_x, 2) + pow(prec_y, 2) <= 1:
380
+ //// in_circle += 1 # inside the circle
381
+ //// n -= 1
382
+ ////
383
+ //// return 4 * in_circle / total
384
+ ////
385
+ //// [|/*marker*/%time estimate_pi()|]
386
+ `;
387
+ testIPython(code);
388
+ });
362
389
  function testIPython(code, expectMagic = true) {
363
390
  const state = (0, testState_1.parseAndGetTestState)(code).state;
364
391
  const range = state.getRangeByMarkerName('marker');
@@ -1 +1 @@
1
- {"version":3,"file":"ipythonMode.test.js","sourceRoot":"","sources":["../../../src/tests/ipythonMode.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ipythonMode.test.js","sourceRoot":"","sources":["../../../src/tests/ipythonMode.test.ts"],"names":[],"mappings":"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"}
@@ -208,14 +208,20 @@ test('getFullStatementRange', () => {
208
208
  const code = `
209
209
  //// [|/*marker1*/import a
210
210
  //// |][|/*marker2*/a = 1; |][|/*marker3*/b = 2
211
- //// |][|/*marker4*/if True:
211
+ //// |]
212
+ //// try:
213
+ //// [| /*marker4*/a = 1
214
+ //// |]except Exception:
215
+ //// pass
216
+ //// [|/*marker5*/if True:
212
217
  //// pass|]
213
218
  `;
214
219
  const state = (0, testState_1.parseAndGetTestState)(code).state;
215
220
  testRange(state, 'marker1', 20 /* Import */);
216
221
  testRange(state, 'marker2', 3 /* Assignment */);
217
222
  testRange(state, 'marker3', 3 /* Assignment */);
218
- testRange(state, 'marker4', 19 /* If */);
223
+ testRange(state, 'marker4', 3 /* Assignment */);
224
+ testRange(state, 'marker5', 19 /* If */);
219
225
  function testRange(state, markerName, type) {
220
226
  const range = state.getRangeByMarkerName(markerName);
221
227
  const sourceFile = state.program.getBoundSourceFile(range.marker.fileName);
@@ -1 +1 @@
1
- {"version":3,"file":"parseTreeUtils.test.js","sourceRoot":"","sources":["../../../src/tests/parseTreeUtils.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parseTreeUtils.test.js","sourceRoot":"","sources":["../../../src/tests/parseTreeUtils.test.ts"],"names":[],"mappings":"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"}
@@ -74,9 +74,9 @@ test('ExpressionWrappedInParens', () => {
74
74
  assert.equal(parseResults.parseTree.statements[0].nodeType, 47 /* StatementList */);
75
75
  const statementList = parseResults.parseTree.statements[0];
76
76
  assert.equal(statementList.statements.length, 1);
77
- // length of node should exclude parens
77
+ // length of node should include parens
78
78
  assert.equal(statementList.statements[0].nodeType, 38 /* Name */);
79
- assert.equal(statementList.statements[0].length, 3);
79
+ assert.equal(statementList.statements[0].length, 5);
80
80
  });
81
81
  test('MaxParseDepth1', () => {
82
82
  const diagSink = new diagnosticSink_1.DiagnosticSink();
@@ -1,4 +1,5 @@
1
1
  import { AnalyzerFileInfo } from '../analyzer/analyzerFileInfo';
2
+ import { Program } from '../analyzer/program';
2
3
  import { ConfigOptions, ExecutionEnvironment } from '../common/configOptions';
3
4
  import { Diagnostic } from '../common/diagnostic';
4
5
  import { DiagnosticSink } from '../common/diagnosticSink';
@@ -24,5 +25,6 @@ export declare function parseSampleFile(fileName: string, diagSink: DiagnosticSi
24
25
  export declare function buildAnalyzerFileInfo(filePath: string, fileContents: string, parseResults: ParseResults, configOptions: ConfigOptions): AnalyzerFileInfo;
25
26
  export declare function bindSampleFile(fileName: string, configOptions?: ConfigOptions): FileAnalysisResult;
26
27
  export declare function typeAnalyzeSampleFiles(fileNames: string[], configOptions?: ConfigOptions): FileAnalysisResult[];
28
+ export declare function getAnalysisResults(program: Program, filePaths: string[], configOptions?: ConfigOptions): FileAnalysisResult[];
27
29
  export declare function printDiagnostics(fileResults: FileAnalysisResult): void;
28
30
  export declare function validateResults(results: FileAnalysisResult[], errorCount: number, warningCount?: number, infoCount?: number, unusedCode?: number, unreachableCode?: number, deprecated?: number): void;
@@ -27,7 +27,7 @@ var __importStar = (this && this.__importStar) || function (mod) {
27
27
  return result;
28
28
  };
29
29
  Object.defineProperty(exports, "__esModule", { value: true });
30
- exports.validateResults = exports.printDiagnostics = exports.typeAnalyzeSampleFiles = exports.bindSampleFile = exports.buildAnalyzerFileInfo = exports.parseSampleFile = exports.parseText = exports.readSampleFile = exports.resolveSampleFilePath = void 0;
30
+ exports.validateResults = exports.printDiagnostics = exports.getAnalysisResults = exports.typeAnalyzeSampleFiles = exports.bindSampleFile = exports.buildAnalyzerFileInfo = exports.parseSampleFile = exports.parseText = exports.readSampleFile = exports.resolveSampleFilePath = void 0;
31
31
  const assert = __importStar(require("assert"));
32
32
  const fs = __importStar(require("fs"));
33
33
  const path = __importStar(require("path"));
@@ -144,6 +144,12 @@ function typeAnalyzeSampleFiles(fileNames, configOptions = new configOptions_1.C
144
144
  const nameTypeWalker = new testWalker_1.NameTypeWalker(evaluator);
145
145
  nameTypeWalker.walk(parseResults.parseTree);
146
146
  });
147
+ return getAnalysisResults(program, filePaths, configOptions);
148
+ }
149
+ exports.typeAnalyzeSampleFiles = typeAnalyzeSampleFiles;
150
+ function getAnalysisResults(program, filePaths, configOptions = new configOptions_1.ConfigOptions('.')) {
151
+ // Always enable "test mode".
152
+ configOptions.internalTestMode = true;
147
153
  while (program.analyze()) {
148
154
  // Continue to call analyze until it completes. Since we're not
149
155
  // specifying a timeout, it should complete the first time.
@@ -180,7 +186,7 @@ function typeAnalyzeSampleFiles(fileNames, configOptions = new configOptions_1.C
180
186
  }
181
187
  });
182
188
  }
183
- exports.typeAnalyzeSampleFiles = typeAnalyzeSampleFiles;
189
+ exports.getAnalysisResults = getAnalysisResults;
184
190
  function printDiagnostics(fileResults) {
185
191
  if (fileResults.errors.length > 0) {
186
192
  console.error(`Errors in ${fileResults.filePath}:`);