@zzzen/pyright-internal 1.2.0-dev.20240721 → 1.2.0-dev.20240804

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 (228) hide show
  1. package/dist/analyzer/analyzerNodeInfo.js +2 -2
  2. package/dist/analyzer/analyzerNodeInfo.js.map +1 -1
  3. package/dist/analyzer/binder.js +15 -12
  4. package/dist/analyzer/binder.js.map +1 -1
  5. package/dist/analyzer/cacheManager.js +3 -0
  6. package/dist/analyzer/cacheManager.js.map +1 -1
  7. package/dist/analyzer/checker.d.ts +5 -3
  8. package/dist/analyzer/checker.js +238 -193
  9. package/dist/analyzer/checker.js.map +1 -1
  10. package/dist/analyzer/codeFlowEngine.d.ts +2 -2
  11. package/dist/analyzer/codeFlowEngine.js +53 -46
  12. package/dist/analyzer/codeFlowEngine.js.map +1 -1
  13. package/dist/analyzer/codeFlowTypes.js +1 -1
  14. package/dist/analyzer/codeFlowTypes.js.map +1 -1
  15. package/dist/analyzer/constraintSolution.d.ts +21 -0
  16. package/dist/analyzer/constraintSolution.js +71 -0
  17. package/dist/analyzer/constraintSolution.js.map +1 -0
  18. package/dist/analyzer/constraintSolver.d.ts +10 -6
  19. package/dist/analyzer/constraintSolver.js +520 -462
  20. package/dist/analyzer/constraintSolver.js.map +1 -1
  21. package/dist/analyzer/constraintTracker.d.ts +44 -0
  22. package/dist/analyzer/constraintTracker.js +230 -0
  23. package/dist/analyzer/constraintTracker.js.map +1 -0
  24. package/dist/analyzer/constructorTransform.d.ts +2 -2
  25. package/dist/analyzer/constructorTransform.js +25 -25
  26. package/dist/analyzer/constructorTransform.js.map +1 -1
  27. package/dist/analyzer/constructors.d.ts +3 -3
  28. package/dist/analyzer/constructors.js +80 -64
  29. package/dist/analyzer/constructors.js.map +1 -1
  30. package/dist/analyzer/dataClasses.d.ts +2 -2
  31. package/dist/analyzer/dataClasses.js +87 -61
  32. package/dist/analyzer/dataClasses.js.map +1 -1
  33. package/dist/analyzer/declaration.d.ts +9 -9
  34. package/dist/analyzer/declaration.js +9 -9
  35. package/dist/analyzer/declaration.js.map +1 -1
  36. package/dist/analyzer/declarationUtils.d.ts +1 -1
  37. package/dist/analyzer/declarationUtils.js +6 -6
  38. package/dist/analyzer/declarationUtils.js.map +1 -1
  39. package/dist/analyzer/decorators.js +5 -5
  40. package/dist/analyzer/decorators.js.map +1 -1
  41. package/dist/analyzer/docStringConversion.js +2 -2
  42. package/dist/analyzer/docStringConversion.js.map +1 -1
  43. package/dist/analyzer/enums.d.ts +2 -2
  44. package/dist/analyzer/enums.js +6 -6
  45. package/dist/analyzer/enums.js.map +1 -1
  46. package/dist/analyzer/functionTransform.d.ts +2 -2
  47. package/dist/analyzer/functionTransform.js +5 -5
  48. package/dist/analyzer/functionTransform.js.map +1 -1
  49. package/dist/analyzer/importResolver.js +5 -3
  50. package/dist/analyzer/importResolver.js.map +1 -1
  51. package/dist/analyzer/namedTuples.d.ts +3 -3
  52. package/dist/analyzer/namedTuples.js +21 -22
  53. package/dist/analyzer/namedTuples.js.map +1 -1
  54. package/dist/analyzer/operations.d.ts +1 -2
  55. package/dist/analyzer/operations.js +105 -82
  56. package/dist/analyzer/operations.js.map +1 -1
  57. package/dist/analyzer/packageTypeVerifier.js +16 -12
  58. package/dist/analyzer/packageTypeVerifier.js.map +1 -1
  59. package/dist/analyzer/parameterUtils.d.ts +12 -12
  60. package/dist/analyzer/parameterUtils.js +67 -69
  61. package/dist/analyzer/parameterUtils.js.map +1 -1
  62. package/dist/analyzer/parseTreeUtils.d.ts +6 -6
  63. package/dist/analyzer/parseTreeUtils.js +22 -22
  64. package/dist/analyzer/parseTreeUtils.js.map +1 -1
  65. package/dist/analyzer/patternMatching.js +122 -101
  66. package/dist/analyzer/patternMatching.js.map +1 -1
  67. package/dist/analyzer/program.js +11 -4
  68. package/dist/analyzer/program.js.map +1 -1
  69. package/dist/analyzer/properties.d.ts +3 -2
  70. package/dist/analyzer/properties.js +27 -27
  71. package/dist/analyzer/properties.js.map +1 -1
  72. package/dist/analyzer/protocols.d.ts +3 -3
  73. package/dist/analyzer/protocols.js +58 -57
  74. package/dist/analyzer/protocols.js.map +1 -1
  75. package/dist/analyzer/pythonPathUtils.js +1 -1
  76. package/dist/analyzer/pythonPathUtils.js.map +1 -1
  77. package/dist/analyzer/service.d.ts +3 -7
  78. package/dist/analyzer/service.js +28 -30
  79. package/dist/analyzer/service.js.map +1 -1
  80. package/dist/analyzer/serviceUtils.d.ts +8 -0
  81. package/dist/analyzer/serviceUtils.js +31 -0
  82. package/dist/analyzer/serviceUtils.js.map +1 -0
  83. package/dist/analyzer/sourceFile.js +5 -19
  84. package/dist/analyzer/sourceFile.js.map +1 -1
  85. package/dist/analyzer/sourceMapper.d.ts +1 -1
  86. package/dist/analyzer/sourceMapper.js +4 -4
  87. package/dist/analyzer/sourceMapper.js.map +1 -1
  88. package/dist/analyzer/staticExpressions.js +1 -1
  89. package/dist/analyzer/staticExpressions.js.map +1 -1
  90. package/dist/analyzer/tracePrinter.js +4 -4
  91. package/dist/analyzer/tracePrinter.js.map +1 -1
  92. package/dist/analyzer/tuples.d.ts +9 -0
  93. package/dist/analyzer/tuples.js +253 -0
  94. package/dist/analyzer/tuples.js.map +1 -0
  95. package/dist/analyzer/typeComplexity.d.ts +2 -0
  96. package/dist/analyzer/typeComplexity.js +94 -0
  97. package/dist/analyzer/typeComplexity.js.map +1 -0
  98. package/dist/analyzer/typeEvaluator.js +1758 -1979
  99. package/dist/analyzer/typeEvaluator.js.map +1 -1
  100. package/dist/analyzer/typeEvaluatorTypes.d.ts +69 -45
  101. package/dist/analyzer/typeEvaluatorTypes.js +7 -1
  102. package/dist/analyzer/typeEvaluatorTypes.js.map +1 -1
  103. package/dist/analyzer/typeGuards.js +157 -121
  104. package/dist/analyzer/typeGuards.js.map +1 -1
  105. package/dist/analyzer/typePrinter.d.ts +1 -1
  106. package/dist/analyzer/typePrinter.js +64 -61
  107. package/dist/analyzer/typePrinter.js.map +1 -1
  108. package/dist/analyzer/typeStubWriter.d.ts +3 -3
  109. package/dist/analyzer/typeStubWriter.js +15 -15
  110. package/dist/analyzer/typeStubWriter.js.map +1 -1
  111. package/dist/analyzer/typeUtils.d.ts +45 -41
  112. package/dist/analyzer/typeUtils.js +511 -748
  113. package/dist/analyzer/typeUtils.js.map +1 -1
  114. package/dist/analyzer/typeWalker.js +4 -4
  115. package/dist/analyzer/typeWalker.js.map +1 -1
  116. package/dist/analyzer/typedDicts.d.ts +4 -4
  117. package/dist/analyzer/typedDicts.js +73 -77
  118. package/dist/analyzer/typedDicts.js.map +1 -1
  119. package/dist/analyzer/types.d.ts +97 -72
  120. package/dist/analyzer/types.js +217 -208
  121. package/dist/analyzer/types.js.map +1 -1
  122. package/dist/commands/dumpFileDebugInfoCommand.js +11 -11
  123. package/dist/commands/dumpFileDebugInfoCommand.js.map +1 -1
  124. package/dist/common/configOptions.d.ts +1 -0
  125. package/dist/common/configOptions.js +5 -0
  126. package/dist/common/configOptions.js.map +1 -1
  127. package/dist/common/diagnosticRules.d.ts +1 -0
  128. package/dist/common/diagnosticRules.js +1 -0
  129. package/dist/common/diagnosticRules.js.map +1 -1
  130. package/dist/common/fileSystem.d.ts +0 -1
  131. package/dist/common/fileSystem.js.map +1 -1
  132. package/dist/common/languageServerInterface.d.ts +13 -0
  133. package/dist/common/languageServerInterface.js +15 -1
  134. package/dist/common/languageServerInterface.js.map +1 -1
  135. package/dist/common/lspUtils.js +2 -2
  136. package/dist/common/memUtils.d.ts +4 -0
  137. package/dist/common/memUtils.js +33 -2
  138. package/dist/common/memUtils.js.map +1 -1
  139. package/dist/common/serviceKeys.d.ts +3 -0
  140. package/dist/common/serviceKeys.js +2 -0
  141. package/dist/common/serviceKeys.js.map +1 -1
  142. package/dist/common/serviceProviderExtensions.js +7 -0
  143. package/dist/common/serviceProviderExtensions.js.map +1 -1
  144. package/dist/languageServerBase.d.ts +5 -4
  145. package/dist/languageServerBase.js +19 -12
  146. package/dist/languageServerBase.js.map +1 -1
  147. package/dist/languageService/autoImporter.d.ts +3 -2
  148. package/dist/languageService/autoImporter.js +5 -1
  149. package/dist/languageService/autoImporter.js.map +1 -1
  150. package/dist/languageService/completionProvider.d.ts +5 -3
  151. package/dist/languageService/completionProvider.js +39 -38
  152. package/dist/languageService/completionProvider.js.map +1 -1
  153. package/dist/languageService/completionProviderUtils.d.ts +1 -1
  154. package/dist/languageService/completionProviderUtils.js +3 -3
  155. package/dist/languageService/completionProviderUtils.js.map +1 -1
  156. package/dist/languageService/fileWatcherDynamicFeature.js +2 -2
  157. package/dist/languageService/fileWatcherDynamicFeature.js.map +1 -1
  158. package/dist/languageService/hoverProvider.js +3 -3
  159. package/dist/languageService/hoverProvider.js.map +1 -1
  160. package/dist/languageService/referencesProvider.js +2 -2
  161. package/dist/languageService/signatureHelpProvider.js +1 -1
  162. package/dist/languageService/signatureHelpProvider.js.map +1 -1
  163. package/dist/languageService/tooltipUtils.js +3 -3
  164. package/dist/languageService/tooltipUtils.js.map +1 -1
  165. package/dist/localization/localize.d.ts +5 -0
  166. package/dist/localization/localize.js +6 -0
  167. package/dist/localization/localize.js.map +1 -1
  168. package/dist/localization/package.nls.cs.json +5 -1
  169. package/dist/localization/package.nls.de.json +5 -1
  170. package/dist/localization/package.nls.en-us.json +5 -0
  171. package/dist/localization/package.nls.es.json +5 -1
  172. package/dist/localization/package.nls.fr.json +5 -1
  173. package/dist/localization/package.nls.it.json +5 -1
  174. package/dist/localization/package.nls.ja.json +5 -1
  175. package/dist/localization/package.nls.ko.json +5 -1
  176. package/dist/localization/package.nls.pl.json +5 -1
  177. package/dist/localization/package.nls.pt-br.json +5 -1
  178. package/dist/localization/package.nls.qps-ploc.json +5 -1
  179. package/dist/localization/package.nls.ru.json +5 -1
  180. package/dist/localization/package.nls.tr.json +5 -1
  181. package/dist/localization/package.nls.zh-cn.json +5 -1
  182. package/dist/localization/package.nls.zh-tw.json +5 -1
  183. package/dist/parser/parseNodes.d.ts +9 -9
  184. package/dist/parser/parseNodes.js +20 -20
  185. package/dist/parser/parseNodes.js.map +1 -1
  186. package/dist/parser/parser.js +30 -30
  187. package/dist/parser/parser.js.map +1 -1
  188. package/dist/tests/checker.test.js +12 -4
  189. package/dist/tests/checker.test.js.map +1 -1
  190. package/dist/tests/fourslash/signature.builtinDocstrings.fourslash.js +4 -21
  191. package/dist/tests/fourslash/signature.builtinDocstrings.fourslash.js.map +1 -1
  192. package/dist/tests/fourslash/signature.complicated.fourslash.js +1 -1
  193. package/dist/tests/fourslash/signature.complicated.fourslash.js.map +1 -1
  194. package/dist/tests/harness/fourslash/fourSlashParser.js +1 -1
  195. package/dist/tests/harness/fourslash/fourSlashParser.js.map +1 -1
  196. package/dist/tests/harness/fourslash/testStateUtils.js +2 -2
  197. package/dist/tests/harness/fourslash/testStateUtils.js.map +1 -1
  198. package/dist/tests/harness/vfs/filesystem.d.ts +0 -1
  199. package/dist/tests/harness/vfs/filesystem.js +0 -4
  200. package/dist/tests/harness/vfs/filesystem.js.map +1 -1
  201. package/dist/tests/importResolver.test.js +62 -15
  202. package/dist/tests/importResolver.test.js.map +1 -1
  203. package/dist/tests/lsp/languageServerTestUtils.js +1 -1
  204. package/dist/tests/lsp/languageServerTestUtils.js.map +1 -1
  205. package/dist/tests/typeEvaluator1.test.js +1 -1
  206. package/dist/tests/typeEvaluator2.test.js +12 -0
  207. package/dist/tests/typeEvaluator2.test.js.map +1 -1
  208. package/dist/tests/typeEvaluator3.test.js +5 -1
  209. package/dist/tests/typeEvaluator3.test.js.map +1 -1
  210. package/dist/tests/typeEvaluator4.test.js +10 -2
  211. package/dist/tests/typeEvaluator4.test.js.map +1 -1
  212. package/dist/tests/typeEvaluator5.test.js +9 -3
  213. package/dist/tests/typeEvaluator5.test.js.map +1 -1
  214. package/dist/tests/typeEvaluator6.test.js +72 -60
  215. package/dist/tests/typeEvaluator6.test.js.map +1 -1
  216. package/dist/tests/typeEvaluator7.test.js +6 -2
  217. package/dist/tests/typeEvaluator7.test.js.map +1 -1
  218. package/dist/tests/typeEvaluator8.test.js +4 -0
  219. package/dist/tests/typeEvaluator8.test.js.map +1 -1
  220. package/dist/tests/typePrinter.test.js +13 -18
  221. package/dist/tests/typePrinter.test.js.map +1 -1
  222. package/dist/workspaceFactory.d.ts +3 -2
  223. package/dist/workspaceFactory.js +15 -2
  224. package/dist/workspaceFactory.js.map +1 -1
  225. package/package.json +1 -1
  226. package/dist/analyzer/typeVarContext.d.ts +0 -60
  227. package/dist/analyzer/typeVarContext.js +0 -392
  228. package/dist/analyzer/typeVarContext.js.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"parameterUtils.js","sourceRoot":"","sources":["../../../../../src/analyzer/parameterUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parameterUtils.js","sourceRoot":"","sources":["../../../../../src/analyzer/parameterUtils.ts"],"names":[],"mappings":";AAAA;;;;;;GAMG;;;AAGH,uDAAiD;AACjD,mCAciB;AACjB,2CAAwE;AAExE,SAAgB,aAAa,CAAC,KAAoB,EAAE,kBAAwB;IACxE,OAAO,CACH,KAAK,CAAC,QAAQ,qCAA6B;QAC3C,IAAA,uBAAe,EAAC,kBAAkB,CAAC;QACnC,IAAA,uBAAe,EAAC,kBAAkB,CAAC;QACnC,iBAAS,CAAC,gBAAgB,CAAC,kBAAkB,CAAC;QAC9C,CAAC,CAAC,kBAAkB,CAAC,MAAM,CAAC,gBAAgB,CAC/C,CAAC;AACN,CAAC;AARD,sCAQC;AAED,IAAY,SAIX;AAJD,WAAY,SAAS;IACjB,qDAAU,CAAA;IACV,iDAAQ,CAAA;IACR,+CAAO,CAAA;AACX,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB;AAgCD,0EAA0E;AAC1E,wEAAwE;AACxE,kCAAkC;AAClC,SAAgB,mBAAmB,CAAC,IAAkB;IAClD,MAAM,MAAM,GAAqB;QAC7B,2BAA2B,EAAE,CAAC;QAC9B,kBAAkB,EAAE,CAAC;QACrB,sBAAsB,EAAE,CAAC;QACzB,MAAM,EAAE,EAAE;QACV,uBAAuB,EAAE,KAAK;QAC9B,oBAAoB,EAAE,KAAK;KAC9B,CAAC;IAEF,IAAI,iBAAiB,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAA,+BAAuB,EAAC,CAAC,CAAC,CAAC,CAAC;IAE5F,oEAAoE;IACpE,uCAAuC;IACvC,IAAI,iBAAiB,GAAG,CAAC,EAAE;QACvB,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;YACpD,MAAM,CAAC,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;YACpC,IAAI,CAAC,CAAC,QAAQ,iCAAyB,EAAE;gBACrC,MAAM;aACT;YAED,IAAI,CAAC,CAAC,CAAC,IAAI,EAAE;gBACT,MAAM;aACT;YAED,IAAI,IAAA,8BAAY,EAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,EAAE;gBAClD,4DAA4D;gBAC5D,IAAI,CAAC,GAAG,CAAC,IAAI,oBAAY,CAAC,cAAc,CAAC,IAAI,CAAC,EAAE;oBAC5C,MAAM;iBACT;gBAED,SAAS;aACZ;YAED,iBAAiB,GAAG,CAAC,GAAG,CAAC,CAAC;SAC7B;KACJ;IAED,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,iBAAiB,EAAE,CAAC,EAAE,EAAE;QACxC,IAAI,oBAAY,CAAC,mBAAmB,CAAC,IAAI,EAAE,CAAC,CAAC,EAAE;YAC3C,MAAM;SACT;QAED,MAAM,CAAC,sBAAsB,EAAE,CAAC;KACnC;IAED,IAAI,uBAAuB,GAAG,KAAK,CAAC;IAEpC,MAAM,eAAe,GAAG,CACpB,KAAoB,EACpB,KAAa,EACb,YAAmB,EACnB,mBAA0B,EAC1B,cAA0B,EAC5B,EAAE;QACA,IAAI,KAAK,CAAC,IAAI,EAAE;YACZ,IAAI,IAAe,CAAC;YACpB,IAAI,cAAc,KAAK,SAAS,EAAE;gBAC9B,IAAI,GAAG,cAAc,CAAC;aACzB;iBAAM,IAAI,KAAK,CAAC,QAAQ,mCAA2B,EAAE;gBAClD,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC;aAC/B;iBAAM,IAAI,uBAAuB,EAAE;gBAChC,IAAI,GAAG,SAAS,CAAC,OAAO,CAAC;aAC5B;iBAAM,IAAI,iBAAiB,IAAI,CAAC,IAAI,KAAK,GAAG,iBAAiB,EAAE;gBAC5D,IAAI,GAAG,SAAS,CAAC,UAAU,CAAC;aAC/B;iBAAM;gBACH,IAAI,GAAG,SAAS,CAAC,QAAQ,CAAC;aAC7B;YAED,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC;gBACf,KAAK;gBACL,KAAK;gBACL,IAAI,EAAE,YAAY,aAAZ,YAAY,cAAZ,YAAY,GAAI,oBAAY,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC;gBAC5D,YAAY,EAAE,oBAAY,CAAC,oBAAoB,CAAC,IAAI,EAAE,KAAK,CAAC;gBAC5D,WAAW,EAAE,mBAAmB,aAAnB,mBAAmB,cAAnB,mBAAmB,GAAI,oBAAY,CAAC,mBAAmB,CAAC,IAAI,EAAE,KAAK,CAAC;gBACjF,IAAI;aACP,CAAC,CAAC;SACN;IACL,CAAC,CAAC;IAEF,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,KAAK,EAAE,EAAE;;QAC5C,IAAI,KAAK,CAAC,QAAQ,mCAA2B,EAAE;YAC3C,oDAAoD;YACpD,MAAM,SAAS,GAAG,oBAAY,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACzD,IAAI,KAAK,CAAC,IAAI,IAAI,IAAA,uBAAe,EAAC,SAAS,CAAC,IAAI,SAAS,CAAC,IAAI,CAAC,aAAa,EAAE;gBAC1E,MAAM,mBAAmB,GAAG,KAAK,GAAG,MAAM,CAAC,sBAAsB,CAAC;gBAElE,SAAS,CAAC,IAAI,CAAC,aAAa,CAAC,OAAO,CAAC,CAAC,QAAQ,EAAE,UAAU,EAAE,EAAE;oBAC1D,MAAM,QAAQ,GACV,IAAA,sBAAc,EAAC,QAAQ,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,WAAW;wBACjD,CAAC;wBACD,CAAC,6BAAqB,CAAC;oBAE/B,IAAI,QAAQ,mCAA2B,EAAE;wBACrC,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;qBAC3C;oBAED,IAAI,IAAA,sBAAc,EAAC,oBAAY,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC,EAAE;wBACxD,MAAM,CAAC,uBAAuB,GAAG,IAAI,CAAC;qBACzC;oBAED,eAAe,CACX,qBAAa,CAAC,MAAM,CAChB,QAAQ,EACR,QAAQ,CAAC,IAAI,EACb,0BAAkB,CAAC,eAAe,GAAG,0BAAkB,CAAC,YAAY,EACpE,GAAG,KAAK,CAAC,IAAI,IAAI,UAAU,CAAC,QAAQ,EAAE,GAAG,CAC5C,EACD,KAAK,EACL,QAAQ,CAAC,IAAI;oBACb,4BAA4B,CAAC,SAAS,EACtC,SAAS,CAAC,UAAU,CACvB,CAAC;oBAEF,IAAI,QAAQ,iCAAyB,EAAE;wBACnC,MAAM,CAAC,kBAAkB,EAAE,CAAC;qBAC/B;oBAED,IAAI,UAAU,GAAG,CAAC,IAAI,mBAAmB,EAAE;wBACvC,MAAM,CAAC,sBAAsB,EAAE,CAAC;qBACnC;gBACL,CAAC,CAAC,CAAC;gBAEH,6EAA6E;gBAC7E,gFAAgF;gBAChF,8EAA8E;gBAC9E,sBAAsB;gBACtB,IAAI,CAAC,uBAAuB,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,KAAK,IAAI,iBAAiB,CAAC,EAAE;oBACnF,MAAM,CAAC,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;oBACpD,uBAAuB,GAAG,IAAI,CAAC;iBAClC;aACJ;iBAAM;gBACH,IAAI,KAAK,CAAC,IAAI,IAAI,MAAM,CAAC,SAAS,KAAK,SAAS,EAAE;oBAC9C,MAAM,CAAC,SAAS,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;oBAExC,IAAI,IAAA,sBAAc,EAAC,SAAS,CAAC,EAAE;wBAC3B,MAAM,CAAC,uBAAuB,GAAG,IAAI,CAAC;qBACzC;iBACJ;gBAED,6EAA6E;gBAC7E,gFAAgF;gBAChF,8EAA8E;gBAC9E,sBAAsB;gBACtB,IAAI,CAAC,uBAAuB,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAI,KAAK,IAAI,iBAAiB,CAAC,EAAE;oBACnF,MAAM,CAAC,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;oBACpD,IAAI,KAAK,CAAC,IAAI,EAAE;wBACZ,MAAM,CAAC,qBAAqB,EAAE,CAAC;qBAClC;oBACD,uBAAuB,GAAG,IAAI,CAAC;iBAClC;gBAED,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;aACjC;SACJ;aAAM,IAAI,KAAK,CAAC,QAAQ,qCAA6B,EAAE;YACpD,uBAAuB,GAAG,IAAI,CAAC;YAE/B,MAAM,SAAS,GAAG,oBAAY,CAAC,YAAY,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YAEzD,4DAA4D;YAC5D,IAAI,IAAA,uBAAe,EAAC,SAAS,CAAC,IAAI,IAAA,uBAAe,EAAC,SAAS,CAAC,IAAI,SAAS,CAAC,MAAM,CAAC,gBAAgB,EAAE;gBAC/F,IAAI,MAAM,CAAC,qBAAqB,KAAK,SAAS,EAAE;oBAC5C,MAAM,CAAC,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;iBACvD;gBAED,MAAM,aAAa,GAAG,SAAS,CAAC;gBAChC,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,KAAK,EAAE,IAAI,EAAE,EAAE;oBACjE,MAAM,oBAAoB,GAAG,IAAA,mCAAuB,EAChD,KAAK,CAAC,SAAS,EACf,aAAa;oBACb,mBAAmB,CAAC,SAAS,CAChC,CAAC;oBAEF,MAAM,gBAAgB,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,oBAAoB,CAAC,CAAC,CAAC,SAAS,CAAC;oBAC9E,eAAe,CACX,qBAAa,CAAC,MAAM,+BAEhB,oBAAoB,EACpB,0BAAkB,CAAC,YAAY,EAC/B,IAAI,EACJ,gBAAgB,CACnB,EACD,KAAK,EACL,oBAAoB,EACpB,gBAAgB,CACnB,CAAC;gBACN,CAAC,CAAC,CAAC;gBAEH,IAAI,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,EAAE;oBAC9C,eAAe,CACX,qBAAa,CAAC,MAAM,mCAEhB,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,SAAS,EACtD,0BAAkB,CAAC,YAAY,EAC/B,QAAQ,CACX,EACD,KAAK,EACL,SAAS,CAAC,MAAM,CAAC,gBAAgB,CAAC,UAAU,CAAC,SAAS,CACzD,CAAC;oBAEF,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,GAAG,CAAC,CAAC;iBACjD;gBAED,MAAM,CAAC,oBAAoB,GAAG,IAAI,CAAC;gBACnC,MAAM,CAAC,2BAA2B,GAAG,SAAS,CAAC;aAClD;iBAAM,IAAI,KAAK,CAAC,IAAI,EAAE;gBACnB,IAAI,MAAM,CAAC,WAAW,KAAK,SAAS,EAAE;oBAClC,MAAM,CAAC,WAAW,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;iBAC7C;gBAED,IAAI,MAAM,CAAC,qBAAqB,KAAK,SAAS,EAAE;oBAC5C,MAAM,CAAC,qBAAqB,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;iBACvD;gBAED,eAAe,CAAC,KAAK,EAAE,KAAK,CAAC,CAAC;aACjC;SACJ;aAAM,IAAI,KAAK,CAAC,QAAQ,iCAAyB,EAAE;YAChD,IAAI,KAAK,CAAC,IAAI,IAAI,CAAC,uBAAuB,EAAE;gBACxC,MAAM,CAAC,kBAAkB,EAAE,CAAC;aAC/B;YAED,eAAe,CACX,KAAK,EACL,KAAK;YACL,kBAAkB,CAAC,SAAS,EAC5B,CAAA,MAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,0CAAE,qBAAqB;gBAC7C,CAAC,CAAC,MAAA,IAAI,CAAC,IAAI,CAAC,gBAAgB,0CAAE,qBAAqB,CAAC,KAAK,CAAC;gBAC1D,CAAC,CAAC,SAAS,CAClB,CAAC;SACL;IACL,CAAC,CAAC,CAAC;IAEH,gEAAgE;IAChE,2BAA2B;IAC3B,MAAM,CAAC,SAAS,GAAG,oBAAY,CAAC,0BAA0B,CAAC,IAAI,CAAC,CAAC;IAEjE,MAAM,CAAC,2BAA2B,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,SAAS,CAAC,UAAU,CAAC,CAAC;IACrG,IAAI,MAAM,CAAC,2BAA2B,GAAG,CAAC,EAAE;QACxC,MAAM,CAAC,2BAA2B,GAAG,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;KAC7D;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAlPD,kDAkPC;AAED,sEAAsE;AACtE,yEAAyE;AACzE,SAAgB,eAAe,CAAC,SAAsB,EAAE,OAAa;IACjE,IAAI,YAAY,GAAG,IAAI,CAAC;IAExB,IAAA,4BAAgB,EAAC,OAAO,EAAE,CAAC,UAAU,EAAE,EAAE;QACrC,IACI,IAAA,mBAAW,EAAC,UAAU,CAAC;YACvB,UAAU,CAAC,IAAI,CAAC,eAAe,KAAK,MAAM;YAC1C,IAAA,kBAAU,EAAC,UAAU,EAAE,SAAS,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,EAC9D;YACE,OAAO;SACV;QAED,IACI,IAAA,uBAAe,EAAC,UAAU,CAAC;YAC3B,UAAU,CAAC,IAAI,CAAC,aAAa;YAC7B,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,MAAM,KAAK,CAAC;YAC1C,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,WAAW;YAC5C,IAAA,sBAAc,EAAC,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EACvD;YACE,OAAO;SACV;QAED,IAAI,IAAA,sBAAc,EAAC,UAAU,CAAC,EAAE;YAC5B,OAAO;SACV;QAED,YAAY,GAAG,KAAK,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC;AACxB,CAAC;AA9BD,0CA8BC;AAED,2EAA2E;AAC3E,+EAA+E;AAC/E,SAAgB,iBAAiB,CAAC,SAAsB,EAAE,OAAa;IACnE,IAAI,YAAY,GAAG,IAAI,CAAC;IAExB,IAAA,4BAAgB,EAAC,OAAO,EAAE,CAAC,UAAU,EAAE,EAAE;QACrC,IACI,IAAA,mBAAW,EAAC,UAAU,CAAC;YACvB,UAAU,CAAC,IAAI,CAAC,eAAe,KAAK,QAAQ;YAC5C,IAAA,kBAAU,EAAC,UAAU,EAAE,SAAS,EAAE,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,EAC9D;YACE,OAAO;SACV;QAED,IACI,IAAA,uBAAe,EAAC,UAAU,CAAC;YAC3B,iBAAS,CAAC,SAAS,CAAC,UAAU,EAAE,MAAM,CAAC;YACvC,UAAU,CAAC,IAAI,CAAC,QAAQ;YACxB,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;YACrC,IAAA,uBAAe,EAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAC5C,iBAAS,CAAC,SAAS,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,KAAK,CAAC;YACvD,IAAA,sBAAc,EAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,EAC7C;YACE,OAAO;SACV;QAED,IAAI,IAAA,sBAAc,EAAC,UAAU,CAAC,EAAE;YAC5B,OAAO;SACV;QAED,YAAY,GAAG,KAAK,CAAC;IACzB,CAAC,CAAC,CAAC;IAEH,OAAO,YAAY,CAAC;AACxB,CAAC;AAhCD,8CAgCC"}
@@ -21,7 +21,7 @@ export declare function findNodeByOffset(node: ParseNode, offset: number): Parse
21
21
  export declare function isCompliantWithNodeRangeRules(node: ParseNode): boolean;
22
22
  export declare function getClassFullName(classNode: ParseNode, moduleName: string, className: string): string;
23
23
  export declare function getTypeSourceId(node: ParseNode): number;
24
- export declare function printArgument(node: ArgumentNode, flags: PrintExpressionFlags): string;
24
+ export declare function printArg(node: ArgumentNode, flags: PrintExpressionFlags): string;
25
25
  export declare function printExpression(node: ExpressionNode, flags?: PrintExpressionFlags): string;
26
26
  export declare function printOperator(operator: OperatorType): string;
27
27
  export declare function getCallForName(node: NameNode): CallNode | undefined;
@@ -41,7 +41,7 @@ export declare function getEvaluationScopeNode(node: ParseNode): EvaluationScope
41
41
  export declare function getTypeVarScopeNode(node: ParseNode): TypeParameterScopeNode | undefined;
42
42
  export declare function getExecutionScopeNode(node: ParseNode): ExecutionScopeNode;
43
43
  export declare function getTypeAnnotationNode(node: ParseNode): TypeAnnotationNode | undefined;
44
- export declare function getArgumentsByRuntimeOrder(node: CallNode): ArgumentNode[];
44
+ export declare function getArgsByRuntimeOrder(node: CallNode): ArgumentNode[];
45
45
  export declare function isFinalAllowedForAssignmentTarget(targetNode: ExpressionNode): boolean;
46
46
  export declare function isClassVarAllowedForAssignmentTarget(targetNode: ExpressionNode): boolean;
47
47
  export declare function isRequiredAllowedForAssignmentTarget(targetNode: ExpressionNode): boolean;
@@ -74,8 +74,8 @@ export declare class CallNodeWalker extends ParseTreeWalker {
74
74
  constructor(_callback: (node: CallNode) => void);
75
75
  visitCall(node: CallNode): boolean;
76
76
  }
77
- export declare function getEnclosingParameter(node: ParseNode): ParameterNode | undefined;
78
- export declare function getCallNodeAndActiveParameterIndex(node: ParseNode, insertionOffset: number, tokens: TextRangeCollection<Token>): {
77
+ export declare function getEnclosingParam(node: ParseNode): ParameterNode | undefined;
78
+ export declare function getCallNodeAndActiveParamIndex(node: ParseNode, insertionOffset: number, tokens: TextRangeCollection<Token>): {
79
79
  callNode: CallNode;
80
80
  activeIndex: number;
81
81
  activeOrFake: boolean;
@@ -89,12 +89,12 @@ export declare function getTokenOverlapping(tokens: TextRangeCollection<Token>,
89
89
  export declare function getIndexOfTokenOverlapping(tokens: TextRangeCollection<Token>, position: number): number;
90
90
  export declare function findTokenAfter(tokenizerOutput: TokenizerOutput, offset: number, predicate: (t: Token) => boolean): Token | undefined;
91
91
  export declare function getCommentsAtTokenIndex(tokens: TextRangeCollection<Token>, index: number): import("../parser/tokenizerTypes").Comment[] | undefined;
92
- export declare function printParseNodeType(type: ParseNodeType): "TypeAlias" | "Tuple" | "Unpack" | "Error" | "Argument" | "Assert" | "Assignment" | "AssignmentExpression" | "AugmentedAssignment" | "Await" | "BinaryOperation" | "Break" | "Call" | "Class" | "Constant" | "Continue" | "Decorator" | "Del" | "Dictionary" | "DictionaryExpandEntry" | "DictionaryKeyEntry" | "Ellipsis" | "If" | "Import" | "ImportAs" | "ImportFrom" | "ImportFromAs" | "Index" | "Except" | "For" | "FormatString" | "Function" | "Global" | "Lambda" | "List" | "Comprehension" | "ComprehensionFor" | "ComprehensionIf" | "MemberAccess" | "Module" | "ModuleName" | "Name" | "Nonlocal" | "Number" | "Parameter" | "Pass" | "Raise" | "Return" | "Set" | "Slice" | "StatementList" | "StringList" | "String" | "Suite" | "Ternary" | "Try" | "TypeAnnotation" | "UnaryOperation" | "While" | "With" | "WithItem" | "Yield" | "YieldFrom" | "FunctionAnnotation" | "Match" | "Case" | "PatternSequence" | "PatternAs" | "PatternLiteral" | "PatternClass" | "PatternCapture" | "PatternMapping" | "PatternMappingKeyEntry" | "PatternMappingExpandEntry" | "PatternValue" | "PatternClassArgument" | "TypeParameter" | "TypeParameterList";
92
+ export declare function printParseNodeType(type: ParseNodeType): "Tuple" | "TypeAlias" | "Error" | "Argument" | "Assert" | "Assignment" | "AssignmentExpression" | "AugmentedAssignment" | "Await" | "BinaryOperation" | "Break" | "Call" | "Class" | "Constant" | "Continue" | "Decorator" | "Del" | "Dictionary" | "DictionaryExpandEntry" | "DictionaryKeyEntry" | "Ellipsis" | "If" | "Import" | "ImportAs" | "ImportFrom" | "ImportFromAs" | "Index" | "Except" | "For" | "FormatString" | "Function" | "Global" | "Lambda" | "List" | "Comprehension" | "ComprehensionFor" | "ComprehensionIf" | "MemberAccess" | "Module" | "ModuleName" | "Name" | "Nonlocal" | "Number" | "Parameter" | "Pass" | "Raise" | "Return" | "Set" | "Slice" | "StatementList" | "StringList" | "String" | "Suite" | "Ternary" | "Try" | "TypeAnnotation" | "UnaryOperation" | "Unpack" | "While" | "With" | "WithItem" | "Yield" | "YieldFrom" | "FunctionAnnotation" | "Match" | "Case" | "PatternSequence" | "PatternAs" | "PatternLiteral" | "PatternClass" | "PatternCapture" | "PatternMapping" | "PatternMappingKeyEntry" | "PatternMappingExpandEntry" | "PatternValue" | "PatternClassArgument" | "TypeParameter" | "TypeParameterList";
93
93
  export declare function isWriteAccess(node: NameNode): boolean;
94
94
  export declare function getModuleNode(node: ParseNode): ModuleNode | undefined;
95
95
  export declare function getFileInfoFromNode(node: ParseNode): import("./analyzerFileInfo").AnalyzerFileInfo | undefined;
96
96
  export declare function isFunctionSuiteEmpty(node: FunctionNode): boolean;
97
- export declare function getTypeAnnotationForParameter(node: FunctionNode, paramIndex: number): ExpressionNode | undefined;
97
+ export declare function getTypeAnnotationForParam(node: FunctionNode, paramIndex: number): ExpressionNode | undefined;
98
98
  export declare function isImportModuleName(node: ParseNode): boolean;
99
99
  export declare function isImportAlias(node: ParseNode): boolean;
100
100
  export declare function isFromImportModuleName(node: ParseNode): boolean;
@@ -31,8 +31,8 @@ var __importStar = (this && this.__importStar) || function (mod) {
31
31
  return result;
32
32
  };
33
33
  Object.defineProperty(exports, "__esModule", { value: true });
34
- exports.getEnclosingParameter = exports.CallNodeWalker = exports.NameNodeWalker = exports.isAssignmentToDefaultsFollowingNamedTuple = exports.isDocString = exports.getDocString = exports.isWithinAssertExpression = exports.isWithinLoop = exports.isWithinAnnotationComment = exports.isWithinTypeAnnotation = exports.isWithinDefaultParamInitializer = exports.isPartialMatchingExpression = exports.isMatchingExpression = exports.containsAwaitNode = exports.isSuiteEmpty = exports.isNodeContainedWithinNodeType = exports.getParentAnnotationNode = exports.getParentNodeOfType = exports.isNodeContainedWithin = exports.isRequiredAllowedForAssignmentTarget = exports.isClassVarAllowedForAssignmentTarget = exports.isFinalAllowedForAssignmentTarget = exports.getArgumentsByRuntimeOrder = exports.getTypeAnnotationNode = exports.getExecutionScopeNode = exports.getTypeVarScopeNode = exports.getEvaluationScopeNode = exports.getEvaluationNodeForAssignmentExpression = exports.getEnclosingSuiteOrModule = exports.getEnclosingClassOrFunctionSuite = exports.getEnclosingClassOrFunction = exports.getEnclosingLambda = exports.getEnclosingFunctionEvaluationScope = exports.getEnclosingFunction = exports.getEnclosingClassOrModule = exports.getEnclosingModule = exports.getEnclosingClass = exports.getEnclosingSuite = exports.getDecoratorForName = exports.getCallForName = exports.printOperator = exports.printExpression = exports.printArgument = exports.getTypeSourceId = exports.getClassFullName = exports.isCompliantWithNodeRangeRules = exports.findNodeByOffset = exports.findNodeByPosition = exports.getNodeDepth = exports.PrintExpressionFlags = void 0;
35
- exports.isSimpleDefault = exports.checkDecorator = exports.getTypeVarScopesForNode = exports.getScopeIdForNode = exports.getVariableDocStringNode = exports.operatorSupportsChaining = exports.isValidLocationForFutureImport = exports.isUnannotatedFunction = exports.isBlankLine = exports.getFullStatementRange = exports.getStringValueRange = exports.getStringNodeValueRange = exports.isLastNameOfDottedName = exports.isFirstNameOfDottedName = exports.getFirstNameOfDottedName = exports.getDottedName = exports.getDecoratorName = exports.getDottedNameWithGivenNodeAsLastName = exports.getFirstAncestorOrSelf = exports.getFirstAncestorOrSelfOfKind = exports.getAncestorsIncludingSelf = exports.isLastNameOfModuleName = exports.isFromImportAlias = exports.isFromImportName = exports.isFromImportModuleName = exports.isImportAlias = exports.isImportModuleName = exports.getTypeAnnotationForParameter = exports.isFunctionSuiteEmpty = exports.getFileInfoFromNode = exports.getModuleNode = exports.isWriteAccess = exports.printParseNodeType = exports.getCommentsAtTokenIndex = exports.findTokenAfter = exports.getIndexOfTokenOverlapping = exports.getTokenOverlapping = exports.getTokenAt = exports.getTokenAtIndex = exports.isWhitespace = exports.getTokenAtLeft = exports.getTokenIndexAtLeft = exports.getCallNodeAndActiveParameterIndex = void 0;
34
+ exports.getEnclosingParam = exports.CallNodeWalker = exports.NameNodeWalker = exports.isAssignmentToDefaultsFollowingNamedTuple = exports.isDocString = exports.getDocString = exports.isWithinAssertExpression = exports.isWithinLoop = exports.isWithinAnnotationComment = exports.isWithinTypeAnnotation = exports.isWithinDefaultParamInitializer = exports.isPartialMatchingExpression = exports.isMatchingExpression = exports.containsAwaitNode = exports.isSuiteEmpty = exports.isNodeContainedWithinNodeType = exports.getParentAnnotationNode = exports.getParentNodeOfType = exports.isNodeContainedWithin = exports.isRequiredAllowedForAssignmentTarget = exports.isClassVarAllowedForAssignmentTarget = exports.isFinalAllowedForAssignmentTarget = exports.getArgsByRuntimeOrder = exports.getTypeAnnotationNode = exports.getExecutionScopeNode = exports.getTypeVarScopeNode = exports.getEvaluationScopeNode = exports.getEvaluationNodeForAssignmentExpression = exports.getEnclosingSuiteOrModule = exports.getEnclosingClassOrFunctionSuite = exports.getEnclosingClassOrFunction = exports.getEnclosingLambda = exports.getEnclosingFunctionEvaluationScope = exports.getEnclosingFunction = exports.getEnclosingClassOrModule = exports.getEnclosingModule = exports.getEnclosingClass = exports.getEnclosingSuite = exports.getDecoratorForName = exports.getCallForName = exports.printOperator = exports.printExpression = exports.printArg = exports.getTypeSourceId = exports.getClassFullName = exports.isCompliantWithNodeRangeRules = exports.findNodeByOffset = exports.findNodeByPosition = exports.getNodeDepth = exports.PrintExpressionFlags = void 0;
35
+ exports.isSimpleDefault = exports.checkDecorator = exports.getTypeVarScopesForNode = exports.getScopeIdForNode = exports.getVariableDocStringNode = exports.operatorSupportsChaining = exports.isValidLocationForFutureImport = exports.isUnannotatedFunction = exports.isBlankLine = exports.getFullStatementRange = exports.getStringValueRange = exports.getStringNodeValueRange = exports.isLastNameOfDottedName = exports.isFirstNameOfDottedName = exports.getFirstNameOfDottedName = exports.getDottedName = exports.getDecoratorName = exports.getDottedNameWithGivenNodeAsLastName = exports.getFirstAncestorOrSelf = exports.getFirstAncestorOrSelfOfKind = exports.getAncestorsIncludingSelf = exports.isLastNameOfModuleName = exports.isFromImportAlias = exports.isFromImportName = exports.isFromImportModuleName = exports.isImportAlias = exports.isImportModuleName = exports.getTypeAnnotationForParam = exports.isFunctionSuiteEmpty = exports.getFileInfoFromNode = exports.getModuleNode = exports.isWriteAccess = exports.printParseNodeType = exports.getCommentsAtTokenIndex = exports.findTokenAfter = exports.getIndexOfTokenOverlapping = exports.getTokenOverlapping = exports.getTokenAt = exports.getTokenAtIndex = exports.isWhitespace = exports.getTokenAtLeft = exports.getTokenIndexAtLeft = exports.getCallNodeAndActiveParamIndex = void 0;
36
36
  const AnalyzerNodeInfo = __importStar(require("../analyzer/analyzerNodeInfo"));
37
37
  const core_1 = require("../common/core");
38
38
  const debug_1 = require("../common/debug");
@@ -159,12 +159,12 @@ function getTypeSourceId(node) {
159
159
  return node.start;
160
160
  }
161
161
  exports.getTypeSourceId = getTypeSourceId;
162
- function printArgument(node, flags) {
162
+ function printArg(node, flags) {
163
163
  let argStr = '';
164
- if (node.d.argCategory === 1 /* ArgumentCategory.UnpackedList */) {
164
+ if (node.d.argCategory === 1 /* ArgCategory.UnpackedList */) {
165
165
  argStr = '*';
166
166
  }
167
- else if (node.d.argCategory === 2 /* ArgumentCategory.UnpackedDictionary */) {
167
+ else if (node.d.argCategory === 2 /* ArgCategory.UnpackedDictionary */) {
168
168
  argStr = '**';
169
169
  }
170
170
  if (node.d.name) {
@@ -175,7 +175,7 @@ function printArgument(node, flags) {
175
175
  }
176
176
  return argStr;
177
177
  }
178
- exports.printArgument = printArgument;
178
+ exports.printArg = printArg;
179
179
  function printExpression(node, flags = 0 /* PrintExpressionFlags.None */) {
180
180
  switch (node.nodeType) {
181
181
  case 38 /* ParseNodeType.Name */: {
@@ -193,12 +193,12 @@ function printExpression(node, flags = 0 /* PrintExpressionFlags.None */) {
193
193
  node.d.leftExpr.nodeType !== 9 /* ParseNodeType.Call */) {
194
194
  lhs = `(${lhs})`;
195
195
  }
196
- return lhs + '(' + node.d.args.map((arg) => printArgument(arg, flags)).join(', ') + ')';
196
+ return lhs + '(' + node.d.args.map((arg) => printArg(arg, flags)).join(', ') + ')';
197
197
  }
198
198
  case 27 /* ParseNodeType.Index */: {
199
199
  return (printExpression(node.d.leftExpr, flags) +
200
200
  '[' +
201
- node.d.items.map((item) => printArgument(item, flags)).join(', ') +
201
+ node.d.items.map((item) => printArg(item, flags)).join(', ') +
202
202
  (node.d.trailingComma ? ',' : '') +
203
203
  ']');
204
204
  }
@@ -414,16 +414,16 @@ function printExpression(node, flags = 0 /* PrintExpressionFlags.None */) {
414
414
  node.d.params
415
415
  .map((param) => {
416
416
  let paramStr = '';
417
- if (param.d.category === 1 /* ParameterCategory.ArgsList */) {
417
+ if (param.d.category === 1 /* ParamCategory.ArgsList */) {
418
418
  paramStr += '*';
419
419
  }
420
- else if (param.d.category === 2 /* ParameterCategory.KwargsDict */) {
420
+ else if (param.d.category === 2 /* ParamCategory.KwargsDict */) {
421
421
  paramStr += '**';
422
422
  }
423
423
  if (param.d.name) {
424
424
  paramStr += param.d.name.d.value;
425
425
  }
426
- else if (param.d.category === 0 /* ParameterCategory.Simple */) {
426
+ else if (param.d.category === 0 /* ParamCategory.Simple */) {
427
427
  paramStr += '/';
428
428
  }
429
429
  if (param.d.defaultValue) {
@@ -953,12 +953,12 @@ exports.getTypeAnnotationNode = getTypeAnnotationNode;
953
953
  // In general, arguments passed to a call are evaluated by the runtime in
954
954
  // left-to-right order. There is one exception, however, when an unpacked
955
955
  // iterable is used after a keyword argument.
956
- function getArgumentsByRuntimeOrder(node) {
957
- const positionalArgs = node.d.args.filter((arg) => !arg.d.name && arg.d.argCategory !== 2 /* ArgumentCategory.UnpackedDictionary */);
958
- const keywordArgs = node.d.args.filter((arg) => !!arg.d.name || arg.d.argCategory === 2 /* ArgumentCategory.UnpackedDictionary */);
956
+ function getArgsByRuntimeOrder(node) {
957
+ const positionalArgs = node.d.args.filter((arg) => !arg.d.name && arg.d.argCategory !== 2 /* ArgCategory.UnpackedDictionary */);
958
+ const keywordArgs = node.d.args.filter((arg) => !!arg.d.name || arg.d.argCategory === 2 /* ArgCategory.UnpackedDictionary */);
959
959
  return positionalArgs.concat(keywordArgs);
960
960
  }
961
- exports.getArgumentsByRuntimeOrder = getArgumentsByRuntimeOrder;
961
+ exports.getArgsByRuntimeOrder = getArgsByRuntimeOrder;
962
962
  // PEP 591 spells out certain limited cases where an assignment target
963
963
  // can be annotated with a "Final" annotation. This function determines
964
964
  // whether Final is allowed for the specified node.
@@ -1133,7 +1133,7 @@ function isMatchingExpression(reference, expression) {
1133
1133
  if (expression.d.items.length !== 1 ||
1134
1134
  expression.d.trailingComma ||
1135
1135
  expression.d.items[0].d.name ||
1136
- expression.d.items[0].d.argCategory !== 0 /* ArgumentCategory.Simple */) {
1136
+ expression.d.items[0].d.argCategory !== 0 /* ArgCategory.Simple */) {
1137
1137
  return false;
1138
1138
  }
1139
1139
  const expr = reference.d.items[0].d.valueExpr;
@@ -1437,7 +1437,7 @@ class CallNodeWalker extends parseTreeWalker_1.ParseTreeWalker {
1437
1437
  }
1438
1438
  }
1439
1439
  exports.CallNodeWalker = CallNodeWalker;
1440
- function getEnclosingParameter(node) {
1440
+ function getEnclosingParam(node) {
1441
1441
  let curNode = node;
1442
1442
  while (curNode) {
1443
1443
  if (curNode.nodeType === 41 /* ParseNodeType.Parameter */) {
@@ -1450,8 +1450,8 @@ function getEnclosingParameter(node) {
1450
1450
  }
1451
1451
  return undefined;
1452
1452
  }
1453
- exports.getEnclosingParameter = getEnclosingParameter;
1454
- function getCallNodeAndActiveParameterIndex(node, insertionOffset, tokens) {
1453
+ exports.getEnclosingParam = getEnclosingParam;
1454
+ function getCallNodeAndActiveParamIndex(node, insertionOffset, tokens) {
1455
1455
  // Find the call node that contains the specified node.
1456
1456
  let curNode = node;
1457
1457
  let callNode;
@@ -1547,7 +1547,7 @@ function getCallNodeAndActiveParameterIndex(node, insertionOffset, tokens) {
1547
1547
  return true;
1548
1548
  }
1549
1549
  }
1550
- exports.getCallNodeAndActiveParameterIndex = getCallNodeAndActiveParameterIndex;
1550
+ exports.getCallNodeAndActiveParamIndex = getCallNodeAndActiveParamIndex;
1551
1551
  function getTokenIndexAtLeft(tokens, position, includeWhitespace = false, includeZeroLengthToken = false) {
1552
1552
  const index = tokens.getItemAtPosition(position);
1553
1553
  if (index < 0) {
@@ -1899,7 +1899,7 @@ function isFunctionSuiteEmpty(node) {
1899
1899
  return isEmpty;
1900
1900
  }
1901
1901
  exports.isFunctionSuiteEmpty = isFunctionSuiteEmpty;
1902
- function getTypeAnnotationForParameter(node, paramIndex) {
1902
+ function getTypeAnnotationForParam(node, paramIndex) {
1903
1903
  if (paramIndex >= node.d.params.length) {
1904
1904
  return undefined;
1905
1905
  }
@@ -1924,7 +1924,7 @@ function getTypeAnnotationForParameter(node, paramIndex) {
1924
1924
  }
1925
1925
  return paramAnnotations[adjIndex];
1926
1926
  }
1927
- exports.getTypeAnnotationForParameter = getTypeAnnotationForParameter;
1927
+ exports.getTypeAnnotationForParam = getTypeAnnotationForParam;
1928
1928
  function isImportModuleName(node) {
1929
1929
  var _a, _b;
1930
1930
  return ((_b = (_a = getFirstAncestorOrSelfOfKind(node, 37 /* ParseNodeType.ModuleName */)) === null || _a === void 0 ? void 0 : _a.parent) === null || _b === void 0 ? void 0 : _b.nodeType) === 24 /* ParseNodeType.ImportAs */;
@@ -1 +1 @@
1
- {"version":3,"file":"parseTreeUtils.js","sourceRoot":"","sources":["../../../../../src/analyzer/parseTreeUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"parseTreeUtils.js","sourceRoot":"","sources":["../../../../../src/analyzer/parseTreeUtils.ts"],"names":[],"mappings":"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"}