@zzzen/pyright-internal 1.2.0-dev.20231217 → 1.2.0-dev.20231231
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/dist/analyzer/binder.js +11 -10
- package/dist/analyzer/binder.js.map +1 -1
- package/dist/analyzer/checker.d.ts +1 -0
- package/dist/analyzer/checker.js +34 -14
- package/dist/analyzer/checker.js.map +1 -1
- package/dist/analyzer/codeFlowEngine.js +10 -2
- package/dist/analyzer/codeFlowEngine.js.map +1 -1
- package/dist/analyzer/constraintSolver.js +16 -16
- package/dist/analyzer/constraintSolver.js.map +1 -1
- package/dist/analyzer/dataClasses.js +2 -9
- package/dist/analyzer/dataClasses.js.map +1 -1
- package/dist/analyzer/enums.js +1 -1
- package/dist/analyzer/enums.js.map +1 -1
- package/dist/analyzer/namedTuples.js +1 -1
- package/dist/analyzer/namedTuples.js.map +1 -1
- package/dist/analyzer/operations.d.ts +1 -1
- package/dist/analyzer/operations.js +16 -1
- package/dist/analyzer/operations.js.map +1 -1
- package/dist/analyzer/packageTypeVerifier.d.ts +5 -1
- package/dist/analyzer/packageTypeVerifier.js +58 -40
- package/dist/analyzer/packageTypeVerifier.js.map +1 -1
- package/dist/analyzer/parameterUtils.js +1 -1
- package/dist/analyzer/parameterUtils.js.map +1 -1
- package/dist/analyzer/protocols.js +21 -9
- package/dist/analyzer/protocols.js.map +1 -1
- package/dist/analyzer/typeEvaluator.js +222 -196
- package/dist/analyzer/typeEvaluator.js.map +1 -1
- package/dist/analyzer/typeEvaluatorTypes.d.ts +5 -5
- package/dist/analyzer/typeGuards.js +9 -8
- package/dist/analyzer/typeGuards.js.map +1 -1
- package/dist/analyzer/typeUtils.d.ts +11 -10
- package/dist/analyzer/typeUtils.js +25 -17
- package/dist/analyzer/typeUtils.js.map +1 -1
- package/dist/analyzer/typeVarContext.d.ts +0 -1
- package/dist/analyzer/typeVarContext.js +4 -5
- package/dist/analyzer/typeVarContext.js.map +1 -1
- package/dist/analyzer/typedDicts.js +24 -36
- package/dist/analyzer/typedDicts.js.map +1 -1
- package/dist/analyzer/types.d.ts +9 -3
- package/dist/analyzer/types.js +62 -11
- package/dist/analyzer/types.js.map +1 -1
- package/dist/common/diagnostic.d.ts +1 -0
- package/dist/common/diagnostic.js +18 -1
- package/dist/common/diagnostic.js.map +1 -1
- package/dist/common/uri/webUri.js +1 -25
- package/dist/common/uri/webUri.js.map +1 -1
- package/dist/languageService/documentSymbolCollector.js +1 -1
- package/dist/languageService/documentSymbolCollector.js.map +1 -1
- package/dist/localization/localize.d.ts +21 -0
- package/dist/localization/localize.js +13 -0
- package/dist/localization/localize.js.map +1 -1
- package/dist/localization/package.nls.en-us.json +14 -1
- package/dist/parser/parser.js +1 -1
- package/dist/parser/parser.js.map +1 -1
- package/dist/pyright.js +13 -7
- package/dist/pyright.js.map +1 -1
- package/dist/tests/fourslash/fourslash.d.ts +1 -0
- package/dist/tests/fourslash/fourslash.js +2 -2
- package/dist/tests/fourslash/rename.parens.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/rename.parens.fourslash.js +20 -0
- package/dist/tests/fourslash/rename.parens.fourslash.js.map +1 -0
- package/dist/tests/fourslash/typeVerifier.fourslash.d.ts +1 -0
- package/dist/tests/fourslash/typeVerifier.fourslash.js +47 -0
- package/dist/tests/fourslash/typeVerifier.fourslash.js.map +1 -0
- package/dist/tests/harness/fourslash/testState.d.ts +2 -0
- package/dist/tests/harness/fourslash/testState.js +16 -0
- package/dist/tests/harness/fourslash/testState.js.map +1 -1
- package/dist/tests/typeEvaluator1.test.js +2 -2
- package/dist/tests/typeEvaluator2.test.js +11 -7
- package/dist/tests/typeEvaluator2.test.js.map +1 -1
- package/dist/tests/typeEvaluator3.test.js +4 -0
- package/dist/tests/typeEvaluator3.test.js.map +1 -1
- package/dist/tests/typeEvaluator4.test.js +6 -2
- package/dist/tests/typeEvaluator4.test.js.map +1 -1
- package/dist/tests/typeEvaluator5.test.js +1 -1
- package/dist/tests/typePrinter.test.js +2 -10
- package/dist/tests/typePrinter.test.js.map +1 -1
- package/dist/tests/uri.test.js +4 -0
- package/dist/tests/uri.test.js.map +1 -1
- package/package.json +1 -1
package/dist/pyright.js
CHANGED
@@ -49,6 +49,7 @@ const commandLineOptions_1 = require("./common/commandLineOptions");
|
|
49
49
|
const console_1 = require("./common/console");
|
50
50
|
const debug_1 = require("./common/debug");
|
51
51
|
const deferred_1 = require("./common/deferred");
|
52
|
+
const diagnostic_1 = require("./common/diagnostic");
|
52
53
|
const fullAccessHost_1 = require("./common/fullAccessHost");
|
53
54
|
const pathUtils_1 = require("./common/pathUtils");
|
54
55
|
const pythonVersion_1 = require("./common/pythonVersion");
|
@@ -375,7 +376,8 @@ async function processArgs() {
|
|
375
376
|
}
|
376
377
|
function verifyPackageTypes(serviceProvider, packageName, options, outputJson, minSeverityLevel, ignoreUnknownTypesFromImports) {
|
377
378
|
try {
|
378
|
-
const
|
379
|
+
const host = new fullAccessHost_1.FullAccessHost(serviceProvider);
|
380
|
+
const verifier = new packageTypeVerifier_1.PackageTypeVerifier(serviceProvider, host, options, packageName, ignoreUnknownTypesFromImports);
|
379
381
|
const report = verifier.verify();
|
380
382
|
const jsonReport = buildTypeCompletenessReport(packageName, report, minSeverityLevel);
|
381
383
|
if (outputJson) {
|
@@ -586,9 +588,6 @@ function printTypeCompletenessReportText(results, verboseOutput) {
|
|
586
588
|
if (completenessReport.ignoreUnknownTypesFromImports) {
|
587
589
|
console.info(` (Ignoring unknown types imported from other packages)`);
|
588
590
|
}
|
589
|
-
console.info(` Functions without docstring: ${completenessReport.missingFunctionDocStringCount}`);
|
590
|
-
console.info(` Functions without default param: ${completenessReport.missingDefaultParamCount}`);
|
591
|
-
console.info(` Classes without docstring: ${completenessReport.missingClassDocStringCount}`);
|
592
591
|
console.info('');
|
593
592
|
console.info(`Other symbols referenced but not exported by "${completenessReport.packageName}": ${completenessReport.otherSymbolCounts.withKnownType +
|
594
593
|
completenessReport.otherSymbolCounts.withAmbiguousType +
|
@@ -597,6 +596,11 @@ function printTypeCompletenessReportText(results, verboseOutput) {
|
|
597
596
|
console.info(` With ambiguous type: ${completenessReport.otherSymbolCounts.withAmbiguousType}`);
|
598
597
|
console.info(` With unknown type: ${completenessReport.otherSymbolCounts.withUnknownType}`);
|
599
598
|
console.info('');
|
599
|
+
console.info(`Symbols without documentation:`);
|
600
|
+
console.info(` Functions without docstring: ${completenessReport.missingFunctionDocStringCount}`);
|
601
|
+
console.info(` Functions without default param: ${completenessReport.missingDefaultParamCount}`);
|
602
|
+
console.info(` Classes without docstring: ${completenessReport.missingClassDocStringCount}`);
|
603
|
+
console.info('');
|
600
604
|
console.info(`Type completeness score: ${Math.round(completenessReport.completenessScore * 1000) / 10}%`);
|
601
605
|
console.info('');
|
602
606
|
console.info(`Completed in ${results.summary.timeInSec}sec`);
|
@@ -650,7 +654,7 @@ function reportDiagnosticsAsJson(fileDiagnostics, minSeverityLevel, filesInProgr
|
|
650
654
|
},
|
651
655
|
};
|
652
656
|
fileDiagnostics.forEach((fileDiag) => {
|
653
|
-
fileDiag.diagnostics.forEach((diag) => {
|
657
|
+
fileDiag.diagnostics.sort(diagnostic_1.compareDiagnostics).forEach((diag) => {
|
654
658
|
if (diag.category === 0 /* DiagnosticCategory.Error */ ||
|
655
659
|
diag.category === 1 /* DiagnosticCategory.Warning */ ||
|
656
660
|
diag.category === 2 /* DiagnosticCategory.Information */) {
|
@@ -709,10 +713,12 @@ function reportDiagnosticsAsText(fileDiagnostics, minSeverityLevel) {
|
|
709
713
|
let informationCount = 0;
|
710
714
|
fileDiagnostics.forEach((fileDiagnostics) => {
|
711
715
|
// Don't report unused code or deprecated diagnostics.
|
712
|
-
const fileErrorsAndWarnings = fileDiagnostics.diagnostics
|
716
|
+
const fileErrorsAndWarnings = fileDiagnostics.diagnostics
|
717
|
+
.filter((diag) => diag.category !== 3 /* DiagnosticCategory.UnusedCode */ &&
|
713
718
|
diag.category !== 4 /* DiagnosticCategory.UnreachableCode */ &&
|
714
719
|
diag.category !== 5 /* DiagnosticCategory.Deprecated */ &&
|
715
|
-
isDiagnosticIncluded(convertDiagnosticCategoryToSeverity(diag.category), minSeverityLevel))
|
720
|
+
isDiagnosticIncluded(convertDiagnosticCategoryToSeverity(diag.category), minSeverityLevel))
|
721
|
+
.sort(diagnostic_1.compareDiagnostics);
|
716
722
|
if (fileErrorsAndWarnings.length > 0) {
|
717
723
|
console.info(`${fileDiagnostics.fileUri.toUserVisibleString()}`);
|
718
724
|
fileErrorsAndWarnings.forEach((diag) => {
|
package/dist/pyright.js.map
CHANGED
@@ -1 +1 @@
|
|
1
|
-
{"version":3,"file":"pyright.js","sourceRoot":"","sources":["../../src/pyright.ts"],"names":[],"mappings":"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"}
|
1
|
+
{"version":3,"file":"pyright.js","sourceRoot":"","sources":["../../src/pyright.ts"],"names":[],"mappings":";AAAA;;;;;;;GAOG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,mFAAmF;AAEnF,oBAAoB;AACpB,4CAA8C;AAC9C,mBAAmB;AAEnB,kDAA0B;AAC1B,0EAA0F;AAC1F,uCAAyB;AAGzB,wEAAqE;AACrE,gDAAqD;AACrD,sFAAmF;AACnF,oEAA8F;AAC9F,8CAA8F;AAC9F,0CAAsC;AACtC,gDAAmD;AACnD,oDAAyF;AAEzF,4DAAyD;AACzD,kDAAiE;AACjE,0DAA2D;AAC3D,4DAAiF;AAEjF,kFAA2E;AAC3E,kDAAyD;AACzD,0CAAuC;AACvC,oDAA6D;AAC7D,2DAAwD;AAExD,MAAM,QAAQ,GAAG,SAAS,CAAC;AAI3B,IAAK,UAMJ;AAND,WAAK,UAAU;IACX,mDAAY,CAAA;IACZ,+DAAkB,CAAA;IAClB,uDAAc,CAAA;IACd,2EAAwB,CAAA;IACxB,+DAAkB,CAAA;AACtB,CAAC,EANI,UAAU,KAAV,UAAU,QAMd;AAuED,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC;IACnC,uBAAuB,EAAE,KAAK;IAC9B,uBAAuB,EAAE;QACrB,OAAO;YACH,OAAO;gBACH,WAAW;YACf,CAAC;SACJ,CAAC;IACN,CAAC;CACJ,CAAC,CAAC;AAEH,KAAK,UAAU,WAAW;IACtB,MAAM,iBAAiB,GAAuB;QAC1C,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;QACpC,EAAE,IAAI,EAAE,cAAc,EAAE,IAAI,EAAE,OAAO,EAAE;QACvC,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE;QACpE,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE;QAC3C,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,OAAO,EAAE;QACzC,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE;QAC9B,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE;QAC/B,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,OAAO,EAAE;QACrC,EAAE,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE;QAC7C,EAAE,IAAI,EAAE,YAAY,EAAE,IAAI,EAAE,MAAM,EAAE;QACpC,EAAE,IAAI,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,EAAE;QACxC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE;QACvC,EAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,OAAO,EAAE;QAC1C,EAAE,IAAI,EAAE,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE;QAChC,EAAE,IAAI,EAAE,eAAe,EAAE,IAAI,EAAE,MAAM,EAAE;QACvC,EAAE,IAAI,EAAE,cAAc,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE;QAClD,EAAE,IAAI,EAAE,WAAW,EAAE,IAAI,EAAE,MAAM,EAAE;QACnC,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,MAAM,EAAE;QAC9C,EAAE,IAAI,EAAE,aAAa,EAAE,IAAI,EAAE,MAAM,EAAE;QACrC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;QAClC,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,OAAO,EAAE;QAClC,EAAE,IAAI,EAAE,UAAU,EAAE,IAAI,EAAE,OAAO,EAAE;QACnC,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,EAAE;KAC/C,CAAC;IAEF,IAAI,IAAwB,CAAC;IAE7B,IAAI;QACA,IAAI,GAAG,IAAA,2BAAe,EAAC,iBAAiB,CAAC,CAAC;KAC7C;IAAC,OAAO,CAAM,EAAE;QACb,MAAM,MAAM,GAAyC,CAAC,CAAC;QACvD,IAAI,MAAM,IAAI,MAAM,CAAC,UAAU,EAAE;YAC7B,OAAO,CAAC,KAAK,CAAC,qBAAqB,MAAM,CAAC,UAAU,MAAM,QAAQ,mBAAmB,CAAC,CAAC;YACvF,OAAO,UAAU,CAAC,cAAc,CAAC;SACpC;QAED,OAAO,CAAC,KAAK,CAAC,qBAAqB,QAAQ,mBAAmB,CAAC,CAAC;QAChE,OAAO,UAAU,CAAC,cAAc,CAAC;KACpC;IAED,IAAI,IAAI,CAAC,IAAI,KAAK,SAAS,EAAE;QACzB,UAAU,EAAE,CAAC;QACb,OAAO,UAAU,CAAC,QAAQ,CAAC;KAC9B;IAED,IAAI,IAAI,CAAC,OAAO,KAAK,SAAS,EAAE;QAC5B,YAAY,CAAC,OAAO,CAAC,CAAC;QACtB,OAAO,UAAU,CAAC,QAAQ,CAAC;KAC9B;IAED,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;QAC7C,IAAI,KAAK,KAAK,IAAI,EAAE;YAChB,OAAO,CAAC,KAAK,CAAC,IAAI,GAAG,2BAA2B,CAAC,CAAC;YAClD,OAAO,UAAU,CAAC,cAAc,CAAC;SACpC;KACJ;IAED,IAAI,IAAI,CAAC,UAAU,EAAE;QACjB,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,SAAS,EAAE,YAAY,EAAE,cAAc,CAAC,CAAC;QAC5E,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE;YAChC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;gBACzB,OAAO,CAAC,KAAK,CAAC,4CAA4C,GAAG,UAAU,CAAC,CAAC;gBACzE,OAAO,UAAU,CAAC,cAAc,CAAC;aACpC;SACJ;KACJ;IAED,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE;QAChC,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,YAAY,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC;QAC7F,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE;YAChC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;gBACzB,OAAO,CAAC,KAAK,CAAC,6CAA6C,GAAG,UAAU,CAAC,CAAC;gBAC1E,OAAO,UAAU,CAAC,cAAc,CAAC;aACpC;SACJ;KACJ;IAED,IAAI,IAAI,CAAC,UAAU,EAAE;QACjB,MAAM,gBAAgB,GAAG,CAAC,OAAO,EAAE,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,iBAAiB,CAAC,CAAC;QAC9F,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE;YAChC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;gBACzB,OAAO,CAAC,KAAK,CAAC,4CAA4C,GAAG,UAAU,CAAC,CAAC;gBACzE,OAAO,UAAU,CAAC,cAAc,CAAC;aACpC;SACJ;KACJ;IAED,MAAM,OAAO,GAAG,IAAI,uCAAyB,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,KAAK,CAAC,CAAC;IAEpE,mEAAmE;IACnE,IAAI,IAAI,CAAC,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QACzC,IAAI,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC;QAE9B,yEAAyE;QACzE,IAAI,IAAI,CAAC,KAAK,CAAC,MAAM,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,KAAK,GAAG,EAAE;YAClD,IAAI;gBACA,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,EAAE,EAAE,OAAO,CAAC,CAAC;gBAC3D,YAAY,GAAG,OAAO;qBACjB,OAAO,CAAC,SAAS,EAAE,GAAG,CAAC;qBACvB,IAAI,EAAE;qBACN,KAAK,CAAC,GAAG,CAAC;qBACV,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC;qBACpB,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;aAC3B;YAAC,OAAO,CAAC,EAAE;gBACR,OAAO,CAAC,KAAK,CAAC,6CAA6C,CAAC,CAAC;gBAC7D,OAAO,UAAU,CAAC,cAAc,CAAC;aACpC;SACJ;QAED,OAAO,CAAC,wBAAwB,GAAG,YAAY,CAAC;QAChD,OAAO,CAAC,wBAAwB,GAAG,OAAO,CAAC,wBAAwB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,wBAAY,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC;QAE/G,2EAA2E;QAC3E,MAAM,cAAc,GAAG,IAAI,qCAAiB,CAAC,IAAA,yCAAwB,GAAE,CAAC,CAAC;QAEzE,KAAK,MAAM,QAAQ,IAAI,OAAO,CAAC,wBAAwB,EAAE;YACrD,MAAM,WAAW,GAAG,IAAA,sBAAW,EAAC,SAAG,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,cAAc,CAAC,eAAe,CAAC,EAAE,QAAQ,CAAC,CAAC;YACnG,IAAI;gBACA,MAAM,IAAI,GAAG,IAAA,kBAAO,EAAC,cAAc,EAAE,WAAW,CAAC,YAAY,CAAC,CAAC;gBAC/D,IAAI,CAAC,IAAI,EAAE;oBACP,OAAO,CAAC,KAAK,CAAC,sBAAsB,WAAW,CAAC,YAAY,mBAAmB,CAAC,CAAC;oBACjF,OAAO,UAAU,CAAC,cAAc,CAAC;iBACpC;aACJ;YAAC,MAAM;gBACJ,iCAAiC;aACpC;SACJ;KACJ;IAED,IAAI,IAAI,CAAC,OAAO,EAAE;QACd,OAAO,CAAC,cAAc,GAAG,IAAA,wBAAY,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAA,yBAAa,EAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;KACrF;IAED,IAAI,IAAI,CAAC,cAAc,EAAE;QACrB,IAAI,IAAI,CAAC,cAAc,KAAK,QAAQ,IAAI,IAAI,CAAC,cAAc,KAAK,OAAO,IAAI,IAAI,CAAC,cAAc,KAAK,SAAS,EAAE;YAC1G,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC,cAAc,CAAC;SAChD;aAAM;YACH,OAAO,CAAC,KAAK,CACT,IAAI,IAAI,CAAC,cAAc,yEAAyE,CACnG,CAAC;YACF,OAAO,UAAU,CAAC,cAAc,CAAC;SACpC;KACJ;IAED,IAAI,IAAI,CAAC,aAAa,EAAE;QACpB,MAAM,OAAO,GAAG,IAAA,iCAAiB,EAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACtD,IAAI,OAAO,EAAE;YACT,OAAO,CAAC,aAAa,GAAG,OAAO,CAAC;SACnC;aAAM;YACH,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,aAAa,6DAA6D,CAAC,CAAC;YACnG,OAAO,UAAU,CAAC,cAAc,CAAC;SACpC;KACJ;IAED,IAAI,IAAI,CAAC,UAAU,KAAK,SAAS,EAAE;QAC/B,MAAM,gBAAgB,GAAG,CAAC,WAAW,EAAE,UAAU,CAAC,CAAC;QACnD,KAAK,MAAM,GAAG,IAAI,gBAAgB,EAAE;YAChC,IAAI,IAAI,CAAC,GAAG,CAAC,KAAK,SAAS,EAAE;gBACzB,OAAO,CAAC,KAAK,CAAC,4CAA4C,GAAG,UAAU,CAAC,CAAC;gBACzE,OAAO,UAAU,CAAC,cAAc,CAAC;aACpC;SACJ;QAED,OAAO,CAAC,UAAU,GAAG,IAAA,wBAAY,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAA,yBAAa,EAAC,IAAI,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;KACvF;IAED,IAAI,IAAI,CAAC,WAAW,CAAC,EAAE;QACnB,OAAO,CAAC,IAAI,CAAC,0DAA0D,CAAC,CAAC;QACzE,OAAO,CAAC,QAAQ,GAAG,IAAA,wBAAY,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAA,yBAAa,EAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC;KACpF;IAED,IAAI,IAAI,CAAC,UAAU,CAAC,EAAE;QAClB,OAAO,CAAC,QAAQ,GAAG,IAAA,wBAAY,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAA,yBAAa,EAAC,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;KACnF;IAED,IAAI,IAAI,CAAC,eAAe,CAAC,EAAE;QACvB,OAAO,CAAC,IAAI,CAAC,kEAAkE,CAAC,CAAC;QACjF,OAAO,CAAC,YAAY,GAAG,IAAA,wBAAY,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAA,yBAAa,EAAC,IAAI,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC;KAC5F;IAED,IAAI,IAAI,CAAC,cAAc,CAAC,EAAE;QACtB,OAAO,CAAC,YAAY,GAAG,IAAA,wBAAY,EAAC,OAAO,CAAC,GAAG,EAAE,EAAE,IAAA,yBAAa,EAAC,IAAI,CAAC,cAAc,CAAC,CAAC,CAAC,CAAC;KAC3F;IAED,IAAI,IAAI,CAAC,UAAU,EAAE;QACjB,OAAO,CAAC,wBAAwB,GAAG,IAAI,CAAC,UAAU,CAAC;KACtD;IAED,IAAI,IAAI,CAAC,eAAe,EAAE;QACtB,OAAO,CAAC,2BAA2B,GAAG,KAAK,CAAC;KAC/C;IAED,IAAI,IAAI,CAAC,OAAO,EAAE;QACd,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC;KAChC;IAED,6DAA6D;IAC7D,OAAO,CAAC,eAAe,GAAG,IAAI,CAAC;IAE/B,IAAI,IAAI,CAAC,GAAG,EAAE;QACV,OAAO,CAAC,IAAI,CAAC,4FAA4F,CAAC,CAAC;KAC9G;IAED,IAAI,gBAAgB,GAAkB,aAAa,CAAC;IACpD,IAAI,IAAI,CAAC,KAAK,IAAI,OAAO,IAAI,CAAC,KAAK,KAAK,QAAQ,EAAE;QAC9C,MAAM,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC;QAC5C,IAAI,UAAU,KAAK,OAAO,IAAI,UAAU,KAAK,SAAS,EAAE;YACpD,gBAAgB,GAAG,UAAU,CAAC;SACjC;aAAM;YACH,OAAO,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,+DAA+D,CAAC,CAAC;YAC7F,OAAO,UAAU,CAAC,cAAc,CAAC;SACpC;KACJ;IAED,OAAO,CAAC,kBAAkB,GAAG,KAAK,CAAC;IAEnC,IAAI,CAAC,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,IAAI,CAAC,OAAO,EAAE;QAChC,OAAO,CAAC,qBAAqB,GAAG,IAAI,CAAC;KACxC;IAED,MAAM,qBAAqB,GAAG,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC;IAC9C,IAAI,QAAQ,GAAG,kBAAQ,CAAC,KAAK,CAAC;IAC9B,IAAI,IAAI,CAAC,KAAK,IAAI,IAAI,CAAC,OAAO,EAAE;QAC5B,QAAQ,GAAG,kBAAQ,CAAC,IAAI,CAAC;KAC5B;IAED,gFAAgF;IAChF,4CAA4C;IAC5C,MAAM,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,uBAAa,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,yBAAe,CAAC,QAAQ,CAAC,CAAC;IAC7F,MAAM,UAAU,GAAG,IAAI,qCAAiB,CAAC,IAAA,yCAAwB,EAAC,MAAM,EAAE,IAAI,yDAA2B,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC;IACpH,MAAM,QAAQ,GAAG,IAAI,6BAAY,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;IAC9D,MAAM,eAAe,GAAG,IAAA,iDAAqB,EAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAE5E,uDAAuD;IACvD,IAAI,IAAI,CAAC,aAAa,CAAC,KAAK,SAAS,EAAE;QACnC,OAAO,kBAAkB,CACrB,eAAe,EACf,IAAI,CAAC,aAAa,CAAC,IAAI,EAAE,EACzB,OAAO,EACP,CAAC,CAAC,IAAI,CAAC,UAAU,EACjB,gBAAgB,EAChB,IAAI,CAAC,gBAAgB,CAAC,CACzB,CAAC;KACL;SAAM,IAAI,IAAI,CAAC,gBAAgB,CAAC,KAAK,SAAS,EAAE;QAC7C,OAAO,CAAC,KAAK,CAAC,iEAAiE,CAAC,CAAC;QACjF,OAAO,UAAU,CAAC,cAAc,CAAC;KACpC;IAED,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,KAAK,SAAS,CAAC;IACvC,OAAO,CAAC,qBAAqB,GAAG,KAAK,CAAC;IACtC,OAAO,CAAC,qBAAqB,GAAG,KAAK,CAAC;IAEtC,kFAAkF;IAClF,MAAM,OAAO,GAAG,IAAI,yBAAe,CAAC,WAAW,EAAE,eAAe,EAAE;QAC9D,OAAO,EAAE,MAAM;QACf,WAAW,EAAE,GAAG,EAAE,CAAC,IAAI,+BAAc,CAAC,eAAe,CAAC;QACtD,6BAA6B,EAAE,GAAG,EAAE,CAAC,CAAC,GAAG,IAAI;KAChD,CAAC,CAAC;IACH,MAAM,UAAU,GAAG,IAAA,yBAAc,GAAc,CAAC;IAEhD,OAAO,CAAC,qBAAqB,CAAC,CAAC,OAAO,EAAE,EAAE;QACtC,IAAI,OAAO,CAAC,kBAAkB,EAAE;YAC5B,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAC1C,OAAO;SACV;QAED,IAAI,OAAO,CAAC,wBAAwB,EAAE;YAClC,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAC;YACpD,OAAO;SACV;QAED,IAAI,UAAU,GAAG,CAAC,CAAC;QACnB,IAAI,CAAC,IAAI,CAAC,UAAU,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE;YACvC,IAAI,IAAI,CAAC,UAAU,EAAE;gBACjB,MAAM,MAAM,GAAG,uBAAuB,CAClC,OAAO,CAAC,WAAW,EACnB,gBAAgB,EAChB,OAAO,CAAC,cAAc,EACtB,OAAO,CAAC,WAAW,CACtB,CAAC;gBACF,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC;gBAChC,IAAI,qBAAqB,EAAE;oBACvB,UAAU,IAAI,MAAM,CAAC,YAAY,CAAC;iBACrC;aACJ;iBAAM;gBACH,YAAY,CAAC,MAAM,CAAC,CAAC;gBACrB,MAAM,MAAM,GAAG,uBAAuB,CAAC,OAAO,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC;gBAC9E,UAAU,IAAI,MAAM,CAAC,UAAU,CAAC;gBAChC,IAAI,qBAAqB,EAAE;oBACvB,UAAU,IAAI,MAAM,CAAC,YAAY,CAAC;iBACrC;aACJ;SACJ;QAED,IAAI,IAAI,CAAC,UAAU,IAAI,OAAO,CAAC,sBAAsB,KAAK,CAAC,EAAE;YACzD,IAAI;gBACA,OAAO,CAAC,aAAa,CAAC,gBAAgB,CAAC,CAAC;gBACxC,OAAO,CAAC,OAAO,EAAE,CAAC;gBAClB,OAAO,CAAC,IAAI,CAAC,8BAA8B,IAAI,CAAC,UAAU,GAAG,CAAC,CAAC;aAClE;YAAC,OAAO,GAAG,EAAE;gBACV,IAAI,UAAU,GAAG,EAAE,CAAC;gBACpB,IAAI,GAAG,YAAY,KAAK,EAAE;oBACtB,UAAU,GAAG,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC;iBACnC;gBAED,OAAO,CAAC,KAAK,CAAC,0CAA0C,GAAG,UAAU,CAAC,CAAC;gBACvE,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBAC1C,OAAO;aACV;YACD,UAAU,CAAC,OAAO,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACxC,OAAO;SACV;QAED,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YAClB,IAAI,CAAC,KAAK,EAAE;gBACR,wBAAwB;gBACxB,oBAAW,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;aACpC;YAED,IAAI,IAAI,CAAC,KAAK,EAAE;gBACZ,2BAA2B;gBAC3B,OAAO,CAAC,UAAU,EAAE,CAAC;gBACrB,oBAAW,CAAC,YAAY,CAAC,OAAO,CAAC,CAAC;gBAElC,IAAI,IAAI,CAAC,OAAO,EAAE;oBACd,OAAO,CAAC,0BAA0B,EAAE,CAAC;iBACxC;aACJ;YAED,IAAI,IAAI,CAAC,YAAY,EAAE;gBACnB,OAAO,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;aAC7C;SACJ;QAED,IAAI,CAAC,KAAK,EAAE;YACR,UAAU,CAAC,OAAO,CAAC,UAAU,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACrF,OAAO;SACV;aAAM,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE;YACzB,OAAO,CAAC,IAAI,CAAC,8BAA8B,CAAC,CAAC;SAChD;IACL,CAAC,CAAC,CAAC;IAEH,kCAAkC;IAClC,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAE5B,OAAO,MAAM,UAAU,CAAC,OAAO,CAAC;AACpC,CAAC;AAED,SAAS,kBAAkB,CACvB,eAAgC,EAChC,WAAmB,EACnB,OAAkC,EAClC,UAAmB,EACnB,gBAA+B,EAC/B,6BAAsC;IAEtC,IAAI;QACA,MAAM,IAAI,GAAG,IAAI,+BAAc,CAAC,eAAe,CAAC,CAAC;QACjD,MAAM,QAAQ,GAAG,IAAI,yCAAmB,CACpC,eAAe,EACf,IAAI,EACJ,OAAO,EACP,WAAW,EACX,6BAA6B,CAChC,CAAC;QACF,MAAM,MAAM,GAAG,QAAQ,CAAC,MAAM,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,2BAA2B,CAAC,WAAW,EAAE,MAAM,EAAE,gBAAgB,CAAC,CAAC;QAEtF,IAAI,UAAU,EAAE;YACZ,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,UAAU,EAAE,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;SACzE;aAAM;YACH,+BAA+B,CAAC,UAAU,EAAE,CAAC,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;SACxE;QAED,OAAO,UAAU,CAAC,gBAAiB,CAAC,iBAAiB,GAAG,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC,CAAC,UAAU,CAAC,QAAQ,CAAC;KAC/G;IAAC,OAAO,GAAG,EAAE;QACV,IAAI,UAAU,GAAG,EAAE,CAAC;QACpB,IAAI,GAAG,YAAY,KAAK,EAAE;YACtB,UAAU,GAAG,IAAI,GAAG,GAAG,CAAC,OAAO,CAAC;SACnC;QAED,OAAO,CAAC,KAAK,CAAC,uCAAuC,GAAG,UAAU,CAAC,CAAC;QACpE,OAAO,UAAU,CAAC,UAAU,CAAC;KAChC;AACL,CAAC;AAED,SAAS,+BAA+B,CAAC,IAA2B,EAAE,MAA0B;IAC5F,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE;QAC3B,MAAM,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;KAC/B;SAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE;QACpC,MAAM,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;KACjC;SAAM,IAAI,IAAI,CAAC,QAAQ,KAAK,aAAa,EAAE;QACxC,MAAM,CAAC,OAAO,CAAC,gBAAgB,EAAE,CAAC;KACrC;AACL,CAAC;AAED,SAAS,2BAA2B,CAChC,WAAmB,EACnB,kBAAqC,EACrC,gBAA+B;IAE/B,MAAM,MAAM,GAAuB;QAC/B,OAAO,EAAE,gBAAgB,EAAE;QAC3B,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QAC3B,kBAAkB,EAAE,EAAE;QACtB,OAAO,EAAE;YACL,aAAa,EAAE,kBAAkB,CAAC,OAAO,CAAC,IAAI;YAC9C,UAAU,EAAE,CAAC;YACb,YAAY,EAAE,CAAC;YACf,gBAAgB,EAAE,CAAC;YACnB,SAAS,EAAE,oBAAW,CAAC,gBAAgB,EAAE;SAC5C;KACJ,CAAC;IAEF,+BAA+B;IAC/B,kBAAkB,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACnD,MAAM,QAAQ,GAAG,uBAAuB,CAAC,SAAG,CAAC,KAAK,EAAE,EAAE,IAAI,CAAC,CAAC;QAC5D,IAAI,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE;YAC3D,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;SAC5C;QACD,+BAA+B,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,MAAM,CAAC,gBAAgB,GAAG;QACtB,WAAW;QACX,oBAAoB,EAAE,kBAAkB,CAAC,uBAAuB;QAChE,UAAU,EAAE,kBAAkB,CAAC,UAAU;QACzC,mBAAmB,EAAE,kBAAkB,CAAC,sBAAsB;QAC9D,6BAA6B,EAAE,kBAAkB,CAAC,cAAc;QAChE,WAAW,EAAE,kBAAkB,CAAC,cAAc;QAC9C,oBAAoB,EAAE;YAClB,aAAa,EAAE,CAAC;YAChB,iBAAiB,EAAE,CAAC;YACpB,eAAe,EAAE,CAAC;SACrB;QACD,iBAAiB,EAAE;YACf,aAAa,EAAE,CAAC;YAChB,iBAAiB,EAAE,CAAC;YACpB,eAAe,EAAE,CAAC;SACrB;QACD,6BAA6B,EAAE,kBAAkB,CAAC,6BAA6B;QAC/E,0BAA0B,EAAE,kBAAkB,CAAC,0BAA0B;QACzE,wBAAwB,EAAE,kBAAkB,CAAC,wBAAwB;QACrE,iBAAiB,EAAE,CAAC;QACpB,OAAO,EAAE,EAAE;QACX,OAAO,EAAE,EAAE;KACd,CAAC;IAEF,mBAAmB;IACnB,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC1C,MAAM,UAAU,GAA8B;YAC1C,IAAI,EAAE,MAAM,CAAC,IAAI;SACpB,CAAC;QAEF,MAAM,CAAC,gBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;IACtD,CAAC,CAAC,CAAC;IAEH,mBAAmB;IACnB,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QAC1C,MAAM,WAAW,GAA4B,EAAE,CAAC;QAEhD,sCAAsC;QACtC,MAAM,CAAC,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAChC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,CAAC,UAAU,CAAC,CAAC;YACpE,IAAI,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE;gBAC3D,WAAW,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;aAC9B;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,UAAU,GAA8B;YAC1C,QAAQ,EAAE,yCAAmB,CAAC,uBAAuB,CAAC,MAAM,CAAC,QAAQ,CAAC;YACtE,IAAI,EAAE,MAAM,CAAC,QAAQ;YACrB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,UAAU,EAAE,MAAM,CAAC,UAAU;YAC7B,WAAW,EAAE,MAAM,CAAC,eAAe,kCAA0B;YAC7D,eAAe,EAAE,MAAM,CAAC,eAAe,sCAA8B;YACrE,WAAW;SACd,CAAC;QAEF,MAAM,cAAc,GAAG,kBAAkB,CAAC,oBAAoB,CAAC,GAAG,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;QACpF,IAAI,cAAc,EAAE;YAChB,UAAU,CAAC,cAAc,GAAG,cAAc,CAAC;SAC9C;QAED,MAAM,CAAC,gBAAiB,CAAC,OAAO,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;QAElD,gCAAgC;QAChC,IAAI,MAAM,CAAC,eAAe,kCAA0B,EAAE;YAClD,IAAI,MAAM,CAAC,UAAU,EAAE;gBACnB,MAAM,CAAC,gBAAiB,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC;aACjE;iBAAM;gBACH,MAAM,CAAC,gBAAiB,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC;aAC9D;SACJ;aAAM,IAAI,MAAM,CAAC,eAAe,sCAA8B,EAAE;YAC7D,IAAI,MAAM,CAAC,UAAU,EAAE;gBACnB,MAAM,CAAC,gBAAiB,CAAC,oBAAoB,CAAC,iBAAiB,EAAE,CAAC;aACrE;iBAAM;gBACH,MAAM,CAAC,gBAAiB,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAC;aAClE;SACJ;aAAM;YACH,IAAI,MAAM,CAAC,UAAU,EAAE;gBACnB,MAAM,CAAC,gBAAiB,CAAC,oBAAoB,CAAC,eAAe,EAAE,CAAC;aACnE;iBAAM;gBACH,MAAM,CAAC,gBAAiB,CAAC,iBAAiB,CAAC,eAAe,EAAE,CAAC;aAChE;SACJ;IACL,CAAC,CAAC,CAAC;IAEH,MAAM,kBAAkB,GAAG,MAAM,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,eAAe,CAAC;IACxF,MAAM,oBAAoB,GAAG,MAAM,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IAC5F,MAAM,gBAAgB,GAAG,MAAM,CAAC,gBAAgB,CAAC,oBAAoB,CAAC,aAAa,CAAC;IACpF,MAAM,gBAAgB,GAAG,kBAAkB,GAAG,oBAAoB,GAAG,gBAAgB,CAAC;IAEtF,IAAI,gBAAgB,GAAG,CAAC,EAAE;QACtB,MAAM,CAAC,gBAAiB,CAAC,iBAAiB,GAAG,gBAAgB,GAAG,gBAAgB,CAAC;KACpF;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,+BAA+B,CAAC,OAA2B,EAAE,aAAsB;IACxF,MAAM,kBAAkB,GAAG,OAAO,CAAC,gBAAiB,CAAC;IAErD,OAAO,CAAC,IAAI,CAAC,iBAAiB,kBAAkB,CAAC,UAAU,GAAG,CAAC,CAAC;IAChE,IAAI,kBAAkB,CAAC,oBAAoB,KAAK,SAAS,EAAE;QACvD,OAAO,CAAC,IAAI,CAAC,uBAAuB,kBAAkB,CAAC,oBAAoB,GAAG,CAAC,CAAC;KACnF;IACD,IAAI,kBAAkB,CAAC,mBAAmB,KAAK,SAAS,EAAE;QACtD,OAAO,CAAC,IAAI,CAAC,sBAAsB,kBAAkB,CAAC,mBAAmB,GAAG,CAAC,CAAC;KACjF;IAED,IAAI,kBAAkB,CAAC,WAAW,KAAK,SAAS,EAAE;QAC9C,OAAO,CAAC,IAAI,CAAC,2BAA2B,kBAAkB,CAAC,WAAW,GAAG,CAAC,CAAC;KAC9E;IAED,gCAAgC;IAChC,IAAI,kBAAkB,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,EAAE;QACvC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,mBAAmB,kBAAkB,CAAC,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;QACrE,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1C,OAAO,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;QACtC,CAAC,CAAC,CAAC;KACN;IAED,6BAA6B;IAC7B,IAAI,kBAAkB,CAAC,OAAO,CAAC,MAAM,GAAG,CAAC,IAAI,aAAa,EAAE;QACxD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,qBAAqB,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QACvG,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1C,IAAI,MAAM,CAAC,UAAU,EAAE;gBACnB,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,cAAc,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3F,OAAO,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,IAAI,GAAG,QAAQ,EAAE,CAAC,CAAC;aAChD;QACL,CAAC,CAAC,CAAC;QAEH,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QACjB,OAAO,CAAC,IAAI,CAAC,6BAA6B,kBAAkB,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;QAChH,kBAAkB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;YAC1C,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE;gBACpB,MAAM,QAAQ,GAAG,MAAM,CAAC,cAAc,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,MAAM,CAAC,cAAc,cAAc,CAAC,CAAC,CAAC,EAAE,CAAC;gBAC3F,OAAO,CAAC,IAAI,CAAC,MAAM,MAAM,CAAC,IAAI,GAAG,QAAQ,EAAE,CAAC,CAAC;aAChD;QACL,CAAC,CAAC,CAAC;KACN;IAED,qCAAqC;IACrC,OAAO,CAAC,kBAAkB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;QACxC,sBAAsB,CAAC,IAAI,CAAC,CAAC;IACjC,CAAC,CAAC,CAAC;IAEH,6CAA6C;IAC7C,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,OAAO,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IAClD,OAAO,CAAC,gBAAiB,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC,MAAM,EAAE,EAAE;QACjD,IAAI,WAAW,GAAG,MAAM,CAAC,WAAW,CAAC;QACrC,IAAI,CAAC,aAAa,EAAE;YAChB,WAAW,GAAG,WAAW,CAAC,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,CAAC,CAAC;SACzE;QACD,IAAI,WAAW,CAAC,MAAM,GAAG,CAAC,EAAE;YACxB,OAAO,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,IAAI,EAAE,CAAC,CAAC;YAC/B,WAAW,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACzB,sBAAsB,CAAC,IAAI,CAAC,CAAC;YACjC,CAAC,CAAC,CAAC;SACN;IACL,CAAC,CAAC,CAAC;IAEH,qBAAqB;IACrB,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,OAAO,CAAC,IAAI,CACR,wBAAwB,kBAAkB,CAAC,WAAW,MAClD,kBAAkB,CAAC,oBAAoB,CAAC,aAAa;QACrD,kBAAkB,CAAC,oBAAoB,CAAC,iBAAiB;QACzD,kBAAkB,CAAC,oBAAoB,CAAC,eAC5C,EAAE,CACL,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,sBAAsB,kBAAkB,CAAC,oBAAoB,CAAC,aAAa,EAAE,CAAC,CAAC;IAC5F,OAAO,CAAC,IAAI,CAAC,0BAA0B,kBAAkB,CAAC,oBAAoB,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACpG,OAAO,CAAC,IAAI,CAAC,wBAAwB,kBAAkB,CAAC,oBAAoB,CAAC,eAAe,EAAE,CAAC,CAAC;IAChG,IAAI,kBAAkB,CAAC,6BAA6B,EAAE;QAClD,OAAO,CAAC,IAAI,CAAC,2DAA2D,CAAC,CAAC;KAC7E;IACD,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,OAAO,CAAC,IAAI,CACR,iDAAiD,kBAAkB,CAAC,WAAW,MAC3E,kBAAkB,CAAC,iBAAiB,CAAC,aAAa;QAClD,kBAAkB,CAAC,iBAAiB,CAAC,iBAAiB;QACtD,kBAAkB,CAAC,iBAAiB,CAAC,eACzC,EAAE,CACL,CAAC;IACF,OAAO,CAAC,IAAI,CAAC,sBAAsB,kBAAkB,CAAC,iBAAiB,CAAC,aAAa,EAAE,CAAC,CAAC;IACzF,OAAO,CAAC,IAAI,CAAC,0BAA0B,kBAAkB,CAAC,iBAAiB,CAAC,iBAAiB,EAAE,CAAC,CAAC;IACjG,OAAO,CAAC,IAAI,CAAC,wBAAwB,kBAAkB,CAAC,iBAAiB,CAAC,eAAe,EAAE,CAAC,CAAC;IAC7F,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,OAAO,CAAC,IAAI,CAAC,gCAAgC,CAAC,CAAC;IAC/C,OAAO,CAAC,IAAI,CAAC,kCAAkC,kBAAkB,CAAC,6BAA6B,EAAE,CAAC,CAAC;IACnG,OAAO,CAAC,IAAI,CAAC,sCAAsC,kBAAkB,CAAC,wBAAwB,EAAE,CAAC,CAAC;IAClG,OAAO,CAAC,IAAI,CAAC,gCAAgC,kBAAkB,CAAC,0BAA0B,EAAE,CAAC,CAAC;IAC9F,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,OAAO,CAAC,IAAI,CAAC,4BAA4B,IAAI,CAAC,KAAK,CAAC,kBAAkB,CAAC,iBAAiB,GAAG,IAAI,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1G,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;IACjB,OAAO,CAAC,IAAI,CAAC,gBAAgB,OAAO,CAAC,OAAO,CAAC,SAAS,KAAK,CAAC,CAAC;IAC7D,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;AACrB,CAAC;AAED,SAAS,UAAU;IACf,OAAO,CAAC,IAAI,CACR,SAAS;QACL,QAAQ;QACR,uBAAuB;QACvB,cAAc;QACd,4EAA4E;QAC5E,2EAA2E;QAC3E,+DAA+D;QAC/D,kFAAkF;QAClF,oFAAoF;QACpF,sEAAsE;QACtE,oFAAoF;QACpF,iGAAiG;QACjG,uEAAuE;QACvE,wFAAwF;QACxF,4FAA4F;QAC5F,yEAAyE;QACzE,iFAAiF;QACjF,qFAAqF;QACrF,iEAAiE;QACjE,uFAAuF;QACvF,uEAAuE;QACvE,oFAAoF;QACpF,8EAA8E;QAC9E,8DAA8D,CACrE,CAAC;AACN,CAAC;AAED,SAAS,gBAAgB;IACrB,8DAA8D;IAC9D,MAAM,OAAO,GAAG,OAAO,CAAC,iBAAiB,CAAC,CAAC,OAAO,CAAC;IACnD,OAAO,OAAO,CAAC,QAAQ,EAAE,CAAC;AAC9B,CAAC;AAED,SAAS,YAAY,CAAC,OAAyB;IAC3C,OAAO,CAAC,IAAI,CAAC,GAAG,QAAQ,IAAI,gBAAgB,EAAE,EAAE,CAAC,CAAC;AACtD,CAAC;AAED,SAAS,uBAAuB,CAC5B,eAAkC,EAClC,gBAA+B,EAC/B,cAAsB,EACtB,SAAiB;IAEjB,MAAM,MAAM,GAAuB;QAC/B,OAAO,EAAE,gBAAgB,EAAE;QAC3B,IAAI,EAAE,IAAI,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;QAC3B,kBAAkB,EAAE,EAAE;QACtB,OAAO,EAAE;YACL,aAAa,EAAE,cAAc;YAC7B,UAAU,EAAE,CAAC;YACb,YAAY,EAAE,CAAC;YACf,gBAAgB,EAAE,CAAC;YACnB,SAAS;SACZ;KACJ,CAAC;IAEF,eAAe,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;QACjC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,+BAAkB,CAAC,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;YAC3D,IACI,IAAI,CAAC,QAAQ,qCAA6B;gBAC1C,IAAI,CAAC,QAAQ,uCAA+B;gBAC5C,IAAI,CAAC,QAAQ,2CAAmC,EAClD;gBACE,MAAM,QAAQ,GAAG,uBAAuB,CAAC,QAAQ,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBACjE,IAAI,oBAAoB,CAAC,QAAQ,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE;oBAC3D,MAAM,CAAC,kBAAkB,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;iBAC5C;gBAED,+BAA+B,CAAC,QAAQ,EAAE,MAAM,CAAC,CAAC;aACrD;QACL,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,cAAc,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,CAAC;IAElE,OAAO;QACH,UAAU,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU;QACrC,YAAY,EAAE,MAAM,CAAC,OAAO,CAAC,YAAY;QACzC,gBAAgB,EAAE,MAAM,CAAC,OAAO,CAAC,gBAAgB;QACjD,eAAe,EAAE,MAAM,CAAC,OAAO,CAAC,UAAU,GAAG,MAAM,CAAC,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC,OAAO,CAAC,gBAAgB;KAC7G,CAAC;AACN,CAAC;AAED,SAAS,oBAAoB,CAAC,YAA2B,EAAE,gBAA+B;IACtF,8BAA8B;IAC9B,IAAI,YAAY,KAAK,OAAO,EAAE;QAC1B,OAAO,IAAI,CAAC;KACf;IAED,uEAAuE;IACvE,IAAI,YAAY,KAAK,SAAS,EAAE;QAC5B,OAAO,gBAAgB,KAAK,OAAO,CAAC;KACvC;IAED,6EAA6E;IAC7E,OAAO,gBAAgB,KAAK,aAAa,CAAC;AAC9C,CAAC;AAED,SAAS,mCAAmC,CAAC,QAA4B;IACrE,QAAQ,QAAQ,EAAE;QACd;YACI,OAAO,OAAO,CAAC;QAEnB;YACI,OAAO,SAAS,CAAC;QAErB;YACI,OAAO,aAAa,CAAC;QAEzB;YACI,IAAA,YAAI,EAAC,gCAAgC,CAAC,CAAC;KAC9C;AACL,CAAC;AAED,SAAS,uBAAuB,CAAC,GAAQ,EAAE,IAAgB;IACvD,OAAO;QACH,IAAI,EAAE,GAAG,CAAC,WAAW,EAAE;QACvB,QAAQ,EAAE,mCAAmC,CAAC,IAAI,CAAC,QAAQ,CAAC;QAC5D,OAAO,EAAE,IAAI,CAAC,OAAO;QACrB,KAAK,EAAE,IAAA,wBAAY,EAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK;QACxD,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE;KACvB,CAAC;AACN,CAAC;AAED,SAAS,uBAAuB,CAC5B,eAAkC,EAClC,gBAA+B;IAE/B,IAAI,UAAU,GAAG,CAAC,CAAC;IACnB,IAAI,YAAY,GAAG,CAAC,CAAC;IACrB,IAAI,gBAAgB,GAAG,CAAC,CAAC;IAEzB,eAAe,CAAC,OAAO,CAAC,CAAC,eAAe,EAAE,EAAE;QACxC,sDAAsD;QACtD,MAAM,qBAAqB,GAAG,eAAe,CAAC,WAAW;aACpD,MAAM,CACH,CAAC,IAAI,EAAE,EAAE,CACL,IAAI,CAAC,QAAQ,0CAAkC;YAC/C,IAAI,CAAC,QAAQ,+CAAuC;YACpD,IAAI,CAAC,QAAQ,0CAAkC;YAC/C,oBAAoB,CAAC,mCAAmC,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,gBAAgB,CAAC,CACjG;aACA,IAAI,CAAC,+BAAkB,CAAC,CAAC;QAE9B,IAAI,qBAAqB,CAAC,MAAM,GAAG,CAAC,EAAE;YAClC,OAAO,CAAC,IAAI,CAAC,GAAG,eAAe,CAAC,OAAO,CAAC,mBAAmB,EAAE,EAAE,CAAC,CAAC;YACjE,qBAAqB,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,EAAE;gBACnC,MAAM,QAAQ,GAAG,uBAAuB,CAAC,eAAe,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;gBACxE,sBAAsB,CAAC,QAAQ,CAAC,CAAC;gBAEjC,IAAI,IAAI,CAAC,QAAQ,qCAA6B,EAAE;oBAC5C,UAAU,EAAE,CAAC;iBAChB;qBAAM,IAAI,IAAI,CAAC,QAAQ,uCAA+B,EAAE;oBACrD,YAAY,EAAE,CAAC;iBAClB;qBAAM,IAAI,IAAI,CAAC,QAAQ,2CAAmC,EAAE;oBACzD,gBAAgB,EAAE,CAAC;iBACtB;YACL,CAAC,CAAC,CAAC;SACN;IACL,CAAC,CAAC,CAAC;IAEH,OAAO,CAAC,IAAI,CACR,GAAG,UAAU,CAAC,QAAQ,EAAE,IAAI,UAAU,KAAK,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,QAAQ,IAAI;QACjE,GAAG,YAAY,CAAC,QAAQ,EAAE,IAAI,YAAY,KAAK,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,UAAU,IAAI;QAC7E,GAAG,gBAAgB,CAAC,QAAQ,EAAE,IAAI,gBAAgB,KAAK,CAAC,CAAC,CAAC,CAAC,aAAa,CAAC,CAAC,CAAC,cAAc,GAAG,CACnG,CAAC;IAEF,OAAO;QACH,UAAU;QACV,YAAY;QACZ,gBAAgB;QAChB,eAAe,EAAE,UAAU,GAAG,YAAY,GAAG,gBAAgB;KAChE,CAAC;AACN,CAAC;AAED,SAAS,sBAAsB,CAAC,IAA2B,EAAE,MAAM,GAAG,IAAI;IACtE,IAAI,OAAO,GAAG,MAAM,CAAC;IACrB,IAAI,IAAI,CAAC,IAAI,EAAE;QACX,OAAO,IAAI,GAAG,IAAI,CAAC,IAAI,GAAG,CAAC;KAC9B;IACD,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAA,wBAAY,EAAC,IAAI,CAAC,KAAK,CAAC,EAAE;QACzC,OAAO;YACH,eAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;gBAC5C,GAAG;gBACH,eAAK,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,SAAS,GAAG,CAAC,EAAE,CAAC;gBACjD,KAAK,CAAC;KACb;SAAM;QACH,OAAO,IAAI,GAAG,CAAC;KAClB;IAED,MAAM,CAAC,SAAS,EAAE,GAAG,cAAc,CAAC,GAAG,IAAI,CAAC,OAAO,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;IAEhE,OAAO;QACH,IAAI,CAAC,QAAQ,KAAK,OAAO;YACrB,CAAC,CAAC,eAAK,CAAC,GAAG,CAAC,OAAO,CAAC;YACpB,CAAC,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS;gBAC7B,CAAC,CAAC,eAAK,CAAC,IAAI,CAAC,SAAS,CAAC;gBACvB,CAAC,CAAC,eAAK,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;IACpC,OAAO,IAAI,KAAK,SAAS,EAAE,CAAC;IAC5B,IAAI,cAAc,CAAC,MAAM,GAAG,CAAC,EAAE;QAC3B,OAAO,IAAI,IAAI,GAAG,MAAM,GAAG,cAAc,CAAC,IAAI,CAAC,IAAI,GAAG,MAAM,CAAC,CAAC;KACjE;IAED,IAAI,IAAI,CAAC,IAAI,EAAE;QACX,OAAO,IAAI,eAAK,CAAC,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,GAAG,CAAC,CAAC;KAC5C;IAED,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;AAC1B,CAAC;AAED,wEAAwE;AACxE,kCAAkC;AAClC,KAAK,CAAC,eAAe,GAAG,EAAE,CAAC;AAEpB,KAAK,UAAU,IAAI;IACtB,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,KAAK,YAAY,EAAE;QACvC,8DAA8D;QAC9D,OAAO,CAAC,oBAAoB,CAAC,CAAC,OAAO,EAAE,CAAC;KAC3C;IAED,MAAM,QAAQ,GAAG,MAAM,WAAW,EAAE,CAAC;IACrC,OAAO,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC5B,qFAAqF;IACrF,6CAA6C;IAC7C,6CAA6C;IAC7C,8CAA8C;AAClD,CAAC;AAZD,oBAYC"}
|
@@ -259,6 +259,7 @@ declare namespace _ {
|
|
259
259
|
changes: FileEditAction[];
|
260
260
|
};
|
261
261
|
}, isUntitled?: boolean): void;
|
262
|
+
verifyTypeVerifierResults(packageName: string, ignoreUnknownTypesFromImports: boolean, verboseOutput: boolean, expected: object): void;
|
262
263
|
replace(start: number, length: number, text: string): void;
|
263
264
|
}
|
264
265
|
interface InlayHint {
|
@@ -11,8 +11,8 @@
|
|
11
11
|
* get ignored when test run due to how test code is injected when running.
|
12
12
|
* see - server\pyright\server\src\tests\harness\fourslash\runner.ts@runCode - for more detail
|
13
13
|
*
|
14
|
-
* when run, helper variable will be
|
15
|
-
* so make sure
|
14
|
+
* when run, helper variable will be bound to TestState (server\pyright\server\src\tests\harness\fourslash\testState.ts)
|
15
|
+
* so make sure Fourslash type is in sync with TestState
|
16
16
|
*
|
17
17
|
* for how markup language and helper is used in fourslash tests, see these 2 tests
|
18
18
|
* server\pyright\server\src\tests\fourSlashParser.test.ts
|
@@ -0,0 +1 @@
|
|
1
|
+
/// <reference path="fourslash.d.ts" />
|
@@ -0,0 +1,20 @@
|
|
1
|
+
"use strict";
|
2
|
+
/// <reference path="fourslash.ts" />
|
3
|
+
// @filename: test.py
|
4
|
+
//// [|/*marker*/A|] = True
|
5
|
+
//// if([|A|]):
|
6
|
+
//// pass
|
7
|
+
{
|
8
|
+
helper.verifyRename({
|
9
|
+
marker: {
|
10
|
+
newName: 'RenamedA',
|
11
|
+
changes: helper
|
12
|
+
.getRangesByText()
|
13
|
+
.get('A')
|
14
|
+
.map((r) => {
|
15
|
+
return { filePath: r.fileName, range: helper.convertPositionRange(r), replacementText: 'RenamedA' };
|
16
|
+
}),
|
17
|
+
},
|
18
|
+
});
|
19
|
+
}
|
20
|
+
//# sourceMappingURL=rename.parens.fourslash.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"rename.parens.fourslash.js","sourceRoot":"","sources":["../../../../src/tests/fourslash/rename.parens.fourslash.ts"],"names":[],"mappings":";AAAA,qCAAqC;AAErC,qBAAqB;AACrB,2BAA2B;AAC3B,eAAe;AACf,aAAa;AAEb;IACI,MAAM,CAAC,YAAY,CAAC;QAChB,MAAM,EAAE;YACJ,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE,MAAM;iBACV,eAAe,EAAE;iBACjB,GAAG,CAAC,GAAG,CAAE;iBACT,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE;gBACP,OAAO,EAAE,QAAQ,EAAE,CAAC,CAAC,QAAQ,EAAE,KAAK,EAAE,MAAM,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,UAAU,EAAE,CAAC;YACxG,CAAC,CAAC;SACT;KACJ,CAAC,CAAC;CACN"}
|
@@ -0,0 +1 @@
|
|
1
|
+
/// <reference path="fourslash.d.ts" />
|
@@ -0,0 +1,47 @@
|
|
1
|
+
"use strict";
|
2
|
+
/// <reference path="fourslash.ts" />
|
3
|
+
// @filename: test_pkg/py.typed
|
4
|
+
// @library: true
|
5
|
+
////
|
6
|
+
// @filename: test_pkg/__init__.py
|
7
|
+
// @library: true
|
8
|
+
////
|
9
|
+
//// from .submodule1 import A as A
|
10
|
+
//// from ._submodule2 import B as B, func1 as func1
|
11
|
+
////
|
12
|
+
// @filename: test_pkg/submodule1.py
|
13
|
+
// @library: true
|
14
|
+
////
|
15
|
+
//// class A:
|
16
|
+
//// ...
|
17
|
+
// @filename: test_pkg/_submodule2.py
|
18
|
+
// @library: true
|
19
|
+
////
|
20
|
+
//// class B:
|
21
|
+
//// ...
|
22
|
+
////
|
23
|
+
//// def func1(a: int = ...) -> None:
|
24
|
+
//// ...
|
25
|
+
{
|
26
|
+
helper.verifyTypeVerifierResults('test_pkg', /* ignoreUnknownTypesFromImports */ false, /* verboseOutput */ false, {
|
27
|
+
generalDiagnostics: [],
|
28
|
+
missingClassDocStringCount: 4,
|
29
|
+
missingDefaultParamCount: 1,
|
30
|
+
missingFunctionDocStringCount: 1,
|
31
|
+
moduleName: 'test_pkg',
|
32
|
+
packageName: 'test_pkg',
|
33
|
+
modules: new Map([
|
34
|
+
['/lib/site-packages/test_pkg/__init__.py', {}],
|
35
|
+
['/lib/site-packages/test_pkg/submodule1.py', {}],
|
36
|
+
]),
|
37
|
+
symbols: new Map([
|
38
|
+
['test_pkg.submodule1', {}],
|
39
|
+
['test_pkg.submodule1.A', {}],
|
40
|
+
['test_pkg.A', {}],
|
41
|
+
['test_pkg.B', {}],
|
42
|
+
['test_pkg._submodule2.B', {}],
|
43
|
+
['test_pkg.func1', {}],
|
44
|
+
]),
|
45
|
+
});
|
46
|
+
}
|
47
|
+
//# sourceMappingURL=typeVerifier.fourslash.js.map
|
@@ -0,0 +1 @@
|
|
1
|
+
{"version":3,"file":"typeVerifier.fourslash.js","sourceRoot":"","sources":["../../../../src/tests/fourslash/typeVerifier.fourslash.ts"],"names":[],"mappings":";AAAA,qCAAqC;AAErC,+BAA+B;AAC/B,iBAAiB;AACjB,IAAI;AAEJ,kCAAkC;AAClC,iBAAiB;AACjB,IAAI;AACJ,mCAAmC;AACnC,oDAAoD;AACpD,IAAI;AAEJ,oCAAoC;AACpC,iBAAiB;AACjB,IAAI;AACJ,aAAa;AACb,YAAY;AAEZ,qCAAqC;AACrC,iBAAiB;AACjB,IAAI;AACJ,aAAa;AACb,YAAY;AACZ,IAAI;AACJ,qCAAqC;AACrC,YAAY;AAEZ;IACI,MAAM,CAAC,yBAAyB,CAAC,UAAU,EAAE,mCAAmC,CAAC,KAAK,EAAE,mBAAmB,CAAC,KAAK,EAAE;QAC/G,kBAAkB,EAAE,EAAE;QACtB,0BAA0B,EAAE,CAAC;QAC7B,wBAAwB,EAAE,CAAC;QAC3B,6BAA6B,EAAE,CAAC;QAChC,UAAU,EAAE,UAAU;QACtB,WAAW,EAAE,UAAU;QACvB,OAAO,EAAE,IAAI,GAAG,CAAiB;YAC7B,CAAC,yCAAyC,EAAE,EAAE,CAAC;YAC/C,CAAC,2CAA2C,EAAE,EAAE,CAAC;SACpD,CAAC;QACF,OAAO,EAAE,IAAI,GAAG,CAAiB;YAC7B,CAAC,qBAAqB,EAAE,EAAE,CAAC;YAC3B,CAAC,uBAAuB,EAAE,EAAE,CAAC;YAC7B,CAAC,YAAY,EAAE,EAAE,CAAC;YAClB,CAAC,YAAY,EAAE,EAAE,CAAC;YAClB,CAAC,wBAAwB,EAAE,EAAE,CAAC;YAC9B,CAAC,gBAAgB,EAAE,EAAE,CAAC;SACzB,CAAC;KACL,CAAC,CAAC;CACN"}
|
@@ -1,6 +1,7 @@
|
|
1
1
|
import { CancellationToken, CodeAction, Command, CompletionItem, CompletionList, DocumentHighlight, DocumentHighlightKind, ExecuteCommandParams, Location, MarkupKind, TextEdit, WorkspaceEdit } from 'vscode-languageserver';
|
2
2
|
import { BackgroundAnalysisProgramFactory } from '../../../analyzer/backgroundAnalysisProgram';
|
3
3
|
import { ImportResolver, ImportResolverFactory } from '../../../analyzer/importResolver';
|
4
|
+
import { PackageTypeReport } from '../../../analyzer/packageTypeReport';
|
4
5
|
import { Program } from '../../../analyzer/program';
|
5
6
|
import { ConfigOptions } from '../../../common/configOptions';
|
6
7
|
import { ConsoleInterface } from '../../../common/console';
|
@@ -196,6 +197,7 @@ export declare class TestState {
|
|
196
197
|
changes: FileEditAction[];
|
197
198
|
};
|
198
199
|
}, isUntitled?: boolean): void;
|
200
|
+
verifyTypeVerifierResults(packageName: string, ignoreUnknownTypesFromImports: boolean, verboseOutput: boolean, expected: PackageTypeReport): void;
|
199
201
|
setCancelled(numberOfCalls: number): void;
|
200
202
|
resetCancelled(): void;
|
201
203
|
convertPositionToOffset(fileName: string, position: Position): number;
|
@@ -39,9 +39,11 @@ const assert_1 = __importDefault(require("assert"));
|
|
39
39
|
const path = __importStar(require("path"));
|
40
40
|
const vscode_languageserver_1 = require("vscode-languageserver");
|
41
41
|
const backgroundAnalysisProgram_1 = require("../../../analyzer/backgroundAnalysisProgram");
|
42
|
+
const packageTypeVerifier_1 = require("../../../analyzer/packageTypeVerifier");
|
42
43
|
const parseTreeUtils_1 = require("../../../analyzer/parseTreeUtils");
|
43
44
|
const service_1 = require("../../../analyzer/service");
|
44
45
|
const commandResult_1 = require("../../../commands/commandResult");
|
46
|
+
const commandLineOptions_1 = require("../../../common/commandLineOptions");
|
45
47
|
const configOptions_1 = require("../../../common/configOptions");
|
46
48
|
const console_1 = require("../../../common/console");
|
47
49
|
const core_1 = require("../../../common/core");
|
@@ -974,6 +976,20 @@ class TestState {
|
|
974
976
|
(0, workspaceEditTestUtils_1.verifyWorkspaceEdit)((0, workspaceEditUtils_1.convertToWorkspaceEdit)({ edits: expected.changes, fileOperations: [] }), actual !== null && actual !== void 0 ? actual : { documentChanges: [] });
|
975
977
|
}
|
976
978
|
}
|
979
|
+
verifyTypeVerifierResults(packageName, ignoreUnknownTypesFromImports, verboseOutput, expected) {
|
980
|
+
const commandLineOptions = new commandLineOptions_1.CommandLineOptions(this.configOptions.projectRoot.getFilePath(),
|
981
|
+
/* fromVsCodeExtension */ false);
|
982
|
+
commandLineOptions.verboseOutput = verboseOutput;
|
983
|
+
const verifier = new packageTypeVerifier_1.PackageTypeVerifier(this.serviceProvider, testAccessHost, commandLineOptions, packageName, ignoreUnknownTypesFromImports);
|
984
|
+
const report = verifier.verify();
|
985
|
+
assert_1.default.strictEqual(report.generalDiagnostics.length, expected.generalDiagnostics.length);
|
986
|
+
assert_1.default.strictEqual(report.missingClassDocStringCount, expected.missingClassDocStringCount);
|
987
|
+
assert_1.default.strictEqual(report.missingDefaultParamCount, expected.missingDefaultParamCount);
|
988
|
+
assert_1.default.strictEqual(report.missingFunctionDocStringCount, expected.missingFunctionDocStringCount);
|
989
|
+
assert_1.default.strictEqual(report.moduleName, expected.moduleName);
|
990
|
+
assert_1.default.strictEqual(report.packageName, expected.packageName);
|
991
|
+
assert_1.default.deepStrictEqual(Array.from(report.symbols.keys()), Array.from(expected.symbols.keys()));
|
992
|
+
}
|
977
993
|
setCancelled(numberOfCalls) {
|
978
994
|
this._cancellationToken.setCancelled(numberOfCalls);
|
979
995
|
}
|