@microsoft/powerquery-language-services 0.10.6 → 0.11.1

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 (419) hide show
  1. package/lib/powerquery-language-services/analysis/analysis.d.ts +21 -21
  2. package/lib/powerquery-language-services/analysis/analysis.js +4 -4
  3. package/lib/powerquery-language-services/analysis/analysisBase.d.ts +53 -53
  4. package/lib/powerquery-language-services/analysis/analysisBase.js +741 -710
  5. package/lib/powerquery-language-services/analysis/analysisBase.js.map +1 -1
  6. package/lib/powerquery-language-services/analysis/analysisSettings.d.ts +14 -14
  7. package/lib/powerquery-language-services/analysis/analysisSettings.js +4 -4
  8. package/lib/powerquery-language-services/analysis/analysisUtils.d.ts +4 -4
  9. package/lib/powerquery-language-services/analysis/analysisUtils.js +26 -28
  10. package/lib/powerquery-language-services/analysis/analysisUtils.js.map +1 -1
  11. package/lib/powerquery-language-services/analysis/documentAnalysis.d.ts +8 -8
  12. package/lib/powerquery-language-services/analysis/documentAnalysis.js +15 -15
  13. package/lib/powerquery-language-services/analysis/index.d.ts +5 -5
  14. package/lib/powerquery-language-services/analysis/index.js +43 -10
  15. package/lib/powerquery-language-services/analysis/index.js.map +1 -1
  16. package/lib/powerquery-language-services/analysis/memoizedAnalysis.d.ts +18 -18
  17. package/lib/powerquery-language-services/analysis/memoizedAnalysis.js +51 -65
  18. package/lib/powerquery-language-services/analysis/memoizedAnalysis.js.map +1 -1
  19. package/lib/powerquery-language-services/commonTypes.d.ts +8 -8
  20. package/lib/powerquery-language-services/commonTypes.js +33 -33
  21. package/lib/powerquery-language-services/commonTypesUtils.d.ts +4 -4
  22. package/lib/powerquery-language-services/commonTypesUtils.js +18 -19
  23. package/lib/powerquery-language-services/commonTypesUtils.js.map +1 -1
  24. package/lib/powerquery-language-services/diagnosticErrorCode.d.ts +8 -8
  25. package/lib/powerquery-language-services/diagnosticErrorCode.js +14 -14
  26. package/lib/powerquery-language-services/diagnosticErrorCode.js.map +1 -1
  27. package/lib/powerquery-language-services/documentSymbols.d.ts +3 -3
  28. package/lib/powerquery-language-services/documentSymbols.js +80 -83
  29. package/lib/powerquery-language-services/documentSymbols.js.map +1 -1
  30. package/lib/powerquery-language-services/externalType/externalType.d.ts +21 -21
  31. package/lib/powerquery-language-services/externalType/externalType.js +16 -16
  32. package/lib/powerquery-language-services/externalType/externalType.js.map +1 -1
  33. package/lib/powerquery-language-services/externalType/externalTypeUtils.d.ts +5 -5
  34. package/lib/powerquery-language-services/externalType/externalTypeUtils.js +32 -33
  35. package/lib/powerquery-language-services/externalType/externalTypeUtils.js.map +1 -1
  36. package/lib/powerquery-language-services/externalType/index.d.ts +2 -2
  37. package/lib/powerquery-language-services/externalType/index.js +40 -7
  38. package/lib/powerquery-language-services/externalType/index.js.map +1 -1
  39. package/lib/powerquery-language-services/formatter.d.ts +5 -5
  40. package/lib/powerquery-language-services/formatter.js +72 -46
  41. package/lib/powerquery-language-services/formatter.js.map +1 -1
  42. package/lib/powerquery-language-services/index.d.ts +20 -20
  43. package/lib/powerquery-language-services/index.js +64 -42
  44. package/lib/powerquery-language-services/index.js.map +1 -1
  45. package/lib/powerquery-language-services/inspection/activeNode/activeNode.d.ts +43 -43
  46. package/lib/powerquery-language-services/inspection/activeNode/activeNode.js +17 -17
  47. package/lib/powerquery-language-services/inspection/activeNode/activeNode.js.map +1 -1
  48. package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.d.ts +11 -11
  49. package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js +351 -351
  50. package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js.map +1 -1
  51. package/lib/powerquery-language-services/inspection/activeNode/index.d.ts +3 -3
  52. package/lib/powerquery-language-services/inspection/activeNode/index.js +44 -22
  53. package/lib/powerquery-language-services/inspection/activeNode/index.js.map +1 -1
  54. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.d.ts +8 -8
  55. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js +281 -258
  56. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js.map +1 -1
  57. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItem.d.ts +6 -6
  58. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItem.js +4 -4
  59. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.d.ts +8 -8
  60. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js +78 -79
  61. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js.map +1 -1
  62. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/index.d.ts +2 -2
  63. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/index.js +43 -21
  64. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/index.js.map +1 -1
  65. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.d.ts +8 -8
  66. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js +217 -197
  67. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js.map +1 -1
  68. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.d.ts +3 -3
  69. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js +86 -87
  70. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js.map +1 -1
  71. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.d.ts +3 -3
  72. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js +53 -54
  73. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js.map +1 -1
  74. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.d.ts +3 -3
  75. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js +29 -30
  76. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js.map +1 -1
  77. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.d.ts +3 -3
  78. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js +58 -70
  79. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js.map +1 -1
  80. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.d.ts +3 -3
  81. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js +38 -39
  82. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js.map +1 -1
  83. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.d.ts +3 -3
  84. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js +40 -41
  85. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js.map +1 -1
  86. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.d.ts +3 -3
  87. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.js +63 -31
  88. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.js.map +1 -1
  89. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.d.ts +3 -3
  90. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.js +30 -39
  91. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.js.map +1 -1
  92. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/commonTypes.d.ts +11 -11
  93. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/commonTypes.js +4 -4
  94. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/index.d.ts +1 -1
  95. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/index.js +7 -7
  96. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.d.ts +6 -6
  97. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js +190 -188
  98. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js.map +1 -1
  99. package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.d.ts +6 -6
  100. package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js +334 -335
  101. package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js.map +1 -1
  102. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteUtils.d.ts +2 -2
  103. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteUtils.js +19 -20
  104. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteUtils.js.map +1 -1
  105. package/lib/powerquery-language-services/inspection/autocomplete/commonTypes.d.ts +27 -27
  106. package/lib/powerquery-language-services/inspection/autocomplete/commonTypes.js +4 -4
  107. package/lib/powerquery-language-services/inspection/autocomplete/index.d.ts +6 -6
  108. package/lib/powerquery-language-services/inspection/autocomplete/index.js +47 -25
  109. package/lib/powerquery-language-services/inspection/autocomplete/index.js.map +1 -1
  110. package/lib/powerquery-language-services/inspection/autocomplete/task.d.ts +6 -6
  111. package/lib/powerquery-language-services/inspection/autocomplete/task.js +68 -44
  112. package/lib/powerquery-language-services/inspection/autocomplete/task.js.map +1 -1
  113. package/lib/powerquery-language-services/inspection/autocomplete/trailingToken.d.ts +7 -7
  114. package/lib/powerquery-language-services/inspection/autocomplete/trailingToken.js +4 -4
  115. package/lib/powerquery-language-services/inspection/autocomplete/trailingTokenUtils.d.ts +4 -4
  116. package/lib/powerquery-language-services/inspection/autocomplete/trailingTokenUtils.js +20 -18
  117. package/lib/powerquery-language-services/inspection/autocomplete/trailingTokenUtils.js.map +1 -1
  118. package/lib/powerquery-language-services/inspection/commonTypes.d.ts +20 -20
  119. package/lib/powerquery-language-services/inspection/commonTypes.js +4 -4
  120. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/dereferencedIdentifier.d.ts +37 -37
  121. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/dereferencedIdentifier.js +13 -13
  122. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/dereferencedIdentifier.js.map +1 -1
  123. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/dereferencedIdentifierUtils.d.ts +6 -6
  124. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/dereferencedIdentifierUtils.js +244 -221
  125. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/dereferencedIdentifierUtils.js.map +1 -1
  126. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/index.d.ts +2 -2
  127. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/index.js +41 -19
  128. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/index.js.map +1 -1
  129. package/lib/powerquery-language-services/inspection/expectedType.d.ts +8 -8
  130. package/lib/powerquery-language-services/inspection/expectedType.js +420 -388
  131. package/lib/powerquery-language-services/inspection/expectedType.js.map +1 -1
  132. package/lib/powerquery-language-services/inspection/index.d.ts +9 -9
  133. package/lib/powerquery-language-services/inspection/index.js +27 -27
  134. package/lib/powerquery-language-services/inspection/invokeExpression/common.d.ts +16 -16
  135. package/lib/powerquery-language-services/inspection/invokeExpression/common.js +4 -4
  136. package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.d.ts +12 -12
  137. package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js +137 -106
  138. package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js.map +1 -1
  139. package/lib/powerquery-language-services/inspection/invokeExpression/index.d.ts +3 -3
  140. package/lib/powerquery-language-services/inspection/invokeExpression/index.js +20 -20
  141. package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.d.ts +8 -8
  142. package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js +141 -119
  143. package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js.map +1 -1
  144. package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.d.ts +11 -11
  145. package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js +57 -58
  146. package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js.map +1 -1
  147. package/lib/powerquery-language-services/inspection/scope/index.d.ts +3 -3
  148. package/lib/powerquery-language-services/inspection/scope/index.js +44 -22
  149. package/lib/powerquery-language-services/inspection/scope/index.js.map +1 -1
  150. package/lib/powerquery-language-services/inspection/scope/scope.d.ts +46 -46
  151. package/lib/powerquery-language-services/inspection/scope/scope.js +14 -14
  152. package/lib/powerquery-language-services/inspection/scope/scope.js.map +1 -1
  153. package/lib/powerquery-language-services/inspection/scope/scopeInspection.d.ts +7 -7
  154. package/lib/powerquery-language-services/inspection/scope/scopeInspection.js +313 -327
  155. package/lib/powerquery-language-services/inspection/scope/scopeInspection.js.map +1 -1
  156. package/lib/powerquery-language-services/inspection/scope/scopeUtils.d.ts +17 -17
  157. package/lib/powerquery-language-services/inspection/scope/scopeUtils.js +125 -104
  158. package/lib/powerquery-language-services/inspection/scope/scopeUtils.js.map +1 -1
  159. package/lib/powerquery-language-services/inspection/task.d.ts +28 -28
  160. package/lib/powerquery-language-services/inspection/task.js +196 -160
  161. package/lib/powerquery-language-services/inspection/task.js.map +1 -1
  162. package/lib/powerquery-language-services/inspection/type/index.d.ts +3 -3
  163. package/lib/powerquery-language-services/inspection/type/index.js +44 -22
  164. package/lib/powerquery-language-services/inspection/type/index.js.map +1 -1
  165. package/lib/powerquery-language-services/inspection/type/inspectType/common.d.ts +14 -14
  166. package/lib/powerquery-language-services/inspection/type/inspectType/common.js +362 -353
  167. package/lib/powerquery-language-services/inspection/type/inspectType/common.js.map +1 -1
  168. package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.d.ts +8 -8
  169. package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js +28 -43
  170. package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js.map +1 -1
  171. package/lib/powerquery-language-services/inspection/type/inspectType/index.d.ts +1 -1
  172. package/lib/powerquery-language-services/inspection/type/inspectType/index.js +19 -19
  173. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.d.ts +3 -3
  174. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.js +57 -57
  175. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.js.map +1 -1
  176. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.d.ts +4 -4
  177. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js +26 -39
  178. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js.map +1 -1
  179. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.d.ts +4 -4
  180. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js +82 -62
  181. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js.map +1 -1
  182. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.d.ts +4 -4
  183. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js +55 -69
  184. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js.map +1 -1
  185. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.d.ts +4 -4
  186. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.js +128 -103
  187. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.js.map +1 -1
  188. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.d.ts +4 -4
  189. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js +63 -75
  190. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js.map +1 -1
  191. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.d.ts +4 -4
  192. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js +21 -34
  193. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js.map +1 -1
  194. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.d.ts +4 -4
  195. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js +74 -87
  196. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js.map +1 -1
  197. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.d.ts +4 -4
  198. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js +85 -65
  199. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js.map +1 -1
  200. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.d.ts +4 -4
  201. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js +25 -38
  202. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js.map +1 -1
  203. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.d.ts +4 -4
  204. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js +25 -38
  205. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js.map +1 -1
  206. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.d.ts +4 -4
  207. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js +46 -61
  208. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js.map +1 -1
  209. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.d.ts +4 -4
  210. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js +69 -84
  211. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js.map +1 -1
  212. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.d.ts +4 -4
  213. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js +37 -50
  214. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js.map +1 -1
  215. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.d.ts +4 -4
  216. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js +43 -56
  217. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js.map +1 -1
  218. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.d.ts +4 -4
  219. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js +44 -44
  220. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js.map +1 -1
  221. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.d.ts +4 -4
  222. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js +36 -49
  223. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js.map +1 -1
  224. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.d.ts +4 -4
  225. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js +23 -33
  226. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js.map +1 -1
  227. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.d.ts +4 -4
  228. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js +25 -26
  229. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js.map +1 -1
  230. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.d.ts +4 -4
  231. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js +53 -66
  232. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js.map +1 -1
  233. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.d.ts +4 -4
  234. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js +45 -58
  235. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js.map +1 -1
  236. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.d.ts +4 -4
  237. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js +42 -50
  238. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js.map +1 -1
  239. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.d.ts +4 -4
  240. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js +43 -56
  241. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js.map +1 -1
  242. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/index.d.ts +2 -2
  243. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/index.js +41 -19
  244. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/index.js.map +1 -1
  245. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/inspectTypeState.d.ts +9 -9
  246. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/inspectTypeState.js +4 -4
  247. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/inspectTypeStateUtils.d.ts +7 -7
  248. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/inspectTypeStateUtils.js +41 -42
  249. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/inspectTypeStateUtils.js.map +1 -1
  250. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.d.ts +8 -8
  251. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js +326 -292
  252. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js.map +1 -1
  253. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.d.ts +4 -4
  254. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js +51 -59
  255. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js.map +1 -1
  256. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.d.ts +4 -4
  257. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js +76 -89
  258. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js.map +1 -1
  259. package/lib/powerquery-language-services/inspection/type/task.d.ts +10 -10
  260. package/lib/powerquery-language-services/inspection/type/task.js +49 -65
  261. package/lib/powerquery-language-services/inspection/type/task.js.map +1 -1
  262. package/lib/powerquery-language-services/inspection/typeCache/index.d.ts +2 -2
  263. package/lib/powerquery-language-services/inspection/typeCache/index.js +43 -21
  264. package/lib/powerquery-language-services/inspection/typeCache/index.js.map +1 -1
  265. package/lib/powerquery-language-services/inspection/typeCache/typeCache.d.ts +7 -7
  266. package/lib/powerquery-language-services/inspection/typeCache/typeCache.js +4 -4
  267. package/lib/powerquery-language-services/inspection/typeCache/typeCacheUtils.d.ts +2 -2
  268. package/lib/powerquery-language-services/inspection/typeCache/typeCacheUtils.js +12 -13
  269. package/lib/powerquery-language-services/inspection/typeCache/typeCacheUtils.js.map +1 -1
  270. package/lib/powerquery-language-services/inspectionSettings.d.ts +13 -13
  271. package/lib/powerquery-language-services/inspectionSettings.js +12 -12
  272. package/lib/powerquery-language-services/inspectionSettings.js.map +1 -1
  273. package/lib/powerquery-language-services/inspectionUtils.d.ts +16 -16
  274. package/lib/powerquery-language-services/inspectionUtils.js +142 -149
  275. package/lib/powerquery-language-services/inspectionUtils.js.map +1 -1
  276. package/lib/powerquery-language-services/jaroWinkler.d.ts +3 -3
  277. package/lib/powerquery-language-services/jaroWinkler.js +102 -103
  278. package/lib/powerquery-language-services/jaroWinkler.js.map +1 -1
  279. package/lib/powerquery-language-services/languageServiceUtils.d.ts +2 -2
  280. package/lib/powerquery-language-services/languageServiceUtils.js +53 -39
  281. package/lib/powerquery-language-services/languageServiceUtils.js.map +1 -1
  282. package/lib/powerquery-language-services/library/index.d.ts +5 -5
  283. package/lib/powerquery-language-services/library/index.js +43 -10
  284. package/lib/powerquery-language-services/library/index.js.map +1 -1
  285. package/lib/powerquery-language-services/library/library.d.ts +45 -45
  286. package/lib/powerquery-language-services/library/library.js +19 -19
  287. package/lib/powerquery-language-services/library/library.js.map +1 -1
  288. package/lib/powerquery-language-services/library/libraryDefinitionUtils.d.ts +21 -21
  289. package/lib/powerquery-language-services/library/libraryDefinitionUtils.js +106 -107
  290. package/lib/powerquery-language-services/library/libraryDefinitionUtils.js.map +1 -1
  291. package/lib/powerquery-language-services/library/librarySymbol.d.ts +33 -33
  292. package/lib/powerquery-language-services/library/librarySymbol.js +4 -4
  293. package/lib/powerquery-language-services/library/librarySymbolUtils.d.ts +34 -34
  294. package/lib/powerquery-language-services/library/librarySymbolUtils.js +258 -261
  295. package/lib/powerquery-language-services/library/librarySymbolUtils.js.map +1 -1
  296. package/lib/powerquery-language-services/library/libraryUtils.d.ts +8 -8
  297. package/lib/powerquery-language-services/library/libraryUtils.js +48 -49
  298. package/lib/powerquery-language-services/library/libraryUtils.js.map +1 -1
  299. package/lib/powerquery-language-services/localization/index.d.ts +2 -2
  300. package/lib/powerquery-language-services/localization/index.js +43 -21
  301. package/lib/powerquery-language-services/localization/index.js.map +1 -1
  302. package/lib/powerquery-language-services/localization/localization.d.ts +10 -10
  303. package/lib/powerquery-language-services/localization/localization.js +51 -51
  304. package/lib/powerquery-language-services/localization/localization.js.map +1 -1
  305. package/lib/powerquery-language-services/localization/localizationUtils.d.ts +2 -2
  306. package/lib/powerquery-language-services/localization/localizationUtils.js +7 -9
  307. package/lib/powerquery-language-services/localization/localizationUtils.js.map +1 -1
  308. package/lib/powerquery-language-services/localization/templates/templates.bg-BG.json +12 -12
  309. package/lib/powerquery-language-services/localization/templates/templates.ca-ES.json +12 -12
  310. package/lib/powerquery-language-services/localization/templates/templates.cs-CZ.json +12 -12
  311. package/lib/powerquery-language-services/localization/templates/templates.da-DK.json +12 -12
  312. package/lib/powerquery-language-services/localization/templates/templates.de-DE.json +12 -12
  313. package/lib/powerquery-language-services/localization/templates/templates.el-GR.json +12 -12
  314. package/lib/powerquery-language-services/localization/templates/templates.es-ES.json +12 -12
  315. package/lib/powerquery-language-services/localization/templates/templates.et-EE.json +12 -12
  316. package/lib/powerquery-language-services/localization/templates/templates.eu-ES.json +12 -12
  317. package/lib/powerquery-language-services/localization/templates/templates.fi-FI.json +12 -12
  318. package/lib/powerquery-language-services/localization/templates/templates.fr-FR.json +12 -12
  319. package/lib/powerquery-language-services/localization/templates/templates.gl-ES.json +12 -12
  320. package/lib/powerquery-language-services/localization/templates/templates.hi-IN.json +12 -12
  321. package/lib/powerquery-language-services/localization/templates/templates.hr-HR.json +12 -12
  322. package/lib/powerquery-language-services/localization/templates/templates.hu-HU.json +12 -12
  323. package/lib/powerquery-language-services/localization/templates/templates.id-ID.json +12 -12
  324. package/lib/powerquery-language-services/localization/templates/templates.it-IT.json +12 -12
  325. package/lib/powerquery-language-services/localization/templates/templates.ja-JP.json +12 -12
  326. package/lib/powerquery-language-services/localization/templates/templates.json +20 -20
  327. package/lib/powerquery-language-services/localization/templates/templates.kk-KZ.json +12 -12
  328. package/lib/powerquery-language-services/localization/templates/templates.ko-KR.json +12 -12
  329. package/lib/powerquery-language-services/localization/templates/templates.lt-LT.json +12 -12
  330. package/lib/powerquery-language-services/localization/templates/templates.lv-LV.json +12 -12
  331. package/lib/powerquery-language-services/localization/templates/templates.ms-MY.json +12 -12
  332. package/lib/powerquery-language-services/localization/templates/templates.nb-NO.json +12 -12
  333. package/lib/powerquery-language-services/localization/templates/templates.nl-NL.json +12 -12
  334. package/lib/powerquery-language-services/localization/templates/templates.pl-PL.json +12 -12
  335. package/lib/powerquery-language-services/localization/templates/templates.pt-BR.json +12 -12
  336. package/lib/powerquery-language-services/localization/templates/templates.pt-PT.json +12 -12
  337. package/lib/powerquery-language-services/localization/templates/templates.ro-RO.json +12 -12
  338. package/lib/powerquery-language-services/localization/templates/templates.ru-RU.json +12 -12
  339. package/lib/powerquery-language-services/localization/templates/templates.sk-SK.json +12 -12
  340. package/lib/powerquery-language-services/localization/templates/templates.sl-SI.json +12 -12
  341. package/lib/powerquery-language-services/localization/templates/templates.sr-Cyrl-RS.json +12 -12
  342. package/lib/powerquery-language-services/localization/templates/templates.sr-Latn-RS.json +12 -12
  343. package/lib/powerquery-language-services/localization/templates/templates.sv-SE.json +12 -12
  344. package/lib/powerquery-language-services/localization/templates/templates.th-TH.json +12 -12
  345. package/lib/powerquery-language-services/localization/templates/templates.tr-TR.json +12 -12
  346. package/lib/powerquery-language-services/localization/templates/templates.uk-UA.json +12 -12
  347. package/lib/powerquery-language-services/localization/templates/templates.vi-VN.json +12 -12
  348. package/lib/powerquery-language-services/localization/templates/templates.zh-CN.json +12 -12
  349. package/lib/powerquery-language-services/localization/templates/templates.zh-TW.json +12 -12
  350. package/lib/powerquery-language-services/localization/templates.d.ts +55 -55
  351. package/lib/powerquery-language-services/localization/templates.js +166 -133
  352. package/lib/powerquery-language-services/localization/templates.js.map +1 -1
  353. package/lib/powerquery-language-services/positionUtils.d.ts +32 -32
  354. package/lib/powerquery-language-services/positionUtils.js +257 -240
  355. package/lib/powerquery-language-services/positionUtils.js.map +1 -1
  356. package/lib/powerquery-language-services/providers/commonTypes.d.ts +75 -75
  357. package/lib/powerquery-language-services/providers/commonTypes.js +4 -4
  358. package/lib/powerquery-language-services/providers/index.d.ts +5 -5
  359. package/lib/powerquery-language-services/providers/index.js +28 -28
  360. package/lib/powerquery-language-services/providers/languageCompletionItemProvider.d.ts +12 -12
  361. package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js +62 -73
  362. package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js.map +1 -1
  363. package/lib/powerquery-language-services/providers/libraryProvider.d.ts +16 -16
  364. package/lib/powerquery-language-services/providers/libraryProvider.js +116 -131
  365. package/lib/powerquery-language-services/providers/libraryProvider.js.map +1 -1
  366. package/lib/powerquery-language-services/providers/localDocumentProvider/foldingRanges.d.ts +4 -4
  367. package/lib/powerquery-language-services/providers/localDocumentProvider/foldingRanges.js +50 -52
  368. package/lib/powerquery-language-services/providers/localDocumentProvider/foldingRanges.js.map +1 -1
  369. package/lib/powerquery-language-services/providers/localDocumentProvider/index.d.ts +1 -1
  370. package/lib/powerquery-language-services/providers/localDocumentProvider/index.js +19 -19
  371. package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.d.ts +21 -21
  372. package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.js +277 -259
  373. package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.js.map +1 -1
  374. package/lib/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.d.ts +6 -6
  375. package/lib/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.js +313 -321
  376. package/lib/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.js.map +1 -1
  377. package/lib/powerquery-language-services/providers/nullSymbolProvider.d.ts +19 -19
  378. package/lib/powerquery-language-services/providers/nullSymbolProvider.js +46 -68
  379. package/lib/powerquery-language-services/providers/nullSymbolProvider.js.map +1 -1
  380. package/lib/powerquery-language-services/tokenPositionComparison.d.ts +5 -5
  381. package/lib/powerquery-language-services/tokenPositionComparison.js +12 -12
  382. package/lib/powerquery-language-services/tokenPositionComparison.js.map +1 -1
  383. package/lib/powerquery-language-services/trace.d.ts +27 -27
  384. package/lib/powerquery-language-services/trace.js +36 -36
  385. package/lib/powerquery-language-services/trace.js.map +1 -1
  386. package/lib/powerquery-language-services/traceUtils.d.ts +14 -14
  387. package/lib/powerquery-language-services/traceUtils.js +19 -20
  388. package/lib/powerquery-language-services/traceUtils.js.map +1 -1
  389. package/lib/powerquery-language-services/validate/index.d.ts +3 -3
  390. package/lib/powerquery-language-services/validate/index.js +23 -23
  391. package/lib/powerquery-language-services/validate/validate.d.ts +6 -6
  392. package/lib/powerquery-language-services/validate/validate.js +60 -67
  393. package/lib/powerquery-language-services/validate/validate.js.map +1 -1
  394. package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.d.ts +6 -6
  395. package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js +164 -134
  396. package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js.map +1 -1
  397. package/lib/powerquery-language-services/validate/validateFunctionExpression.d.ts +4 -4
  398. package/lib/powerquery-language-services/validate/validateFunctionExpression.js +63 -63
  399. package/lib/powerquery-language-services/validate/validateFunctionExpression.js.map +1 -1
  400. package/lib/powerquery-language-services/validate/validateInvokeExpression.d.ts +5 -5
  401. package/lib/powerquery-language-services/validate/validateInvokeExpression.js +109 -123
  402. package/lib/powerquery-language-services/validate/validateInvokeExpression.js.map +1 -1
  403. package/lib/powerquery-language-services/validate/validateOk.d.ts +5 -5
  404. package/lib/powerquery-language-services/validate/validateOk.js +4 -4
  405. package/lib/powerquery-language-services/validate/validateParse.d.ts +4 -4
  406. package/lib/powerquery-language-services/validate/validateParse.js +94 -73
  407. package/lib/powerquery-language-services/validate/validateParse.js.map +1 -1
  408. package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.d.ts +5 -5
  409. package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.js +99 -109
  410. package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.js.map +1 -1
  411. package/lib/powerquery-language-services/validate/validationSettings/index.d.ts +2 -2
  412. package/lib/powerquery-language-services/validate/validationSettings/index.js +43 -21
  413. package/lib/powerquery-language-services/validate/validationSettings/index.js.map +1 -1
  414. package/lib/powerquery-language-services/validate/validationSettings/validationSettings.d.ts +12 -12
  415. package/lib/powerquery-language-services/validate/validationSettings/validationSettings.js +4 -4
  416. package/lib/powerquery-language-services/validate/validationSettings/validationSettingsUtils.d.ts +3 -3
  417. package/lib/powerquery-language-services/validate/validationSettings/validationSettingsUtils.js +15 -10
  418. package/lib/powerquery-language-services/validate/validationSettings/validationSettingsUtils.js.map +1 -1
  419. package/package.json +23 -22
@@ -1,389 +1,421 @@
1
- "use strict";
2
- // Copyright (c) Microsoft Corporation.
3
- // Licensed under the MIT license.
4
- Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.expectedType = exports.findExpectedType = exports.tryExpectedType = void 0;
6
- const PQP = require("@microsoft/powerquery-parser");
7
- const powerquery_parser_1 = require("@microsoft/powerquery-parser");
8
- const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
9
- const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
10
- const activeNode_1 = require("./activeNode");
11
- const trace_1 = require("../trace");
12
- function tryExpectedType(settings, activeNode) {
13
- const trace = settings.traceManager.entry(trace_1.InspectionTraceConstant.InspectExpectedType, tryExpectedType.name, settings.initialCorrelationId);
14
- if (!activeNode_1.ActiveNodeUtils.isPositionInBounds(activeNode)) {
15
- trace.exit();
16
- return powerquery_parser_1.ResultUtils.ok(undefined);
17
- }
18
- const result = powerquery_parser_1.ResultUtils.ensureResult(() => findExpectedType(activeNode), settings.locale);
19
- trace.exit();
20
- return result;
21
- }
22
- exports.tryExpectedType = tryExpectedType;
23
- // Traverse up the ancestry and find what type is expected as the nth child of a node's kind.
24
- // The last type generated this way should have the widest typing,
25
- // which then can be used for type hinting.
26
- function findExpectedType(activeNode) {
27
- const ancestry = activeNode.ancestry;
28
- const upperBound = ancestry.length - 1;
29
- let bestMatch;
30
- for (let index = 0; index < upperBound; index += 1) {
31
- const parent = ancestry[index + 1];
32
- const child = ancestry[index];
33
- const childAttributeIndex = powerquery_parser_1.Assert.asDefined(child.node.attributeIndex, `Expected child to have an attribute index.`, { childId: child.node.id });
34
- const attributeIndex = parser_1.XorNodeUtils.isAst(parent) && activeNode.leafKind === activeNode_1.ActiveNodeLeafKind.IsAfterPosition
35
- ? childAttributeIndex + 1
36
- : childAttributeIndex;
37
- const allowedType = expectedType(parent, attributeIndex);
38
- if (allowedType.kind !== language_1.Type.TypeKind.NotApplicable) {
39
- bestMatch = allowedType;
40
- }
41
- }
42
- return bestMatch;
43
- }
44
- exports.findExpectedType = findExpectedType;
45
- // For a given parent node, what is the expected type for a child at a given index?
46
- function expectedType(parentXorNode, childIndex) {
47
- switch (parentXorNode.node.kind) {
48
- case language_1.Ast.NodeKind.ArrayWrapper:
49
- case language_1.Ast.NodeKind.Constant:
50
- case language_1.Ast.NodeKind.Csv:
51
- case language_1.Ast.NodeKind.GeneralizedIdentifier:
52
- case language_1.Ast.NodeKind.Identifier:
53
- case language_1.Ast.NodeKind.IdentifierExpression:
54
- case language_1.Ast.NodeKind.InvokeExpression:
55
- case language_1.Ast.NodeKind.FieldProjection:
56
- case language_1.Ast.NodeKind.FieldSelector:
57
- case language_1.Ast.NodeKind.FieldSpecificationList:
58
- case language_1.Ast.NodeKind.ListExpression:
59
- case language_1.Ast.NodeKind.ListLiteral:
60
- case language_1.Ast.NodeKind.LiteralExpression:
61
- case language_1.Ast.NodeKind.RecordLiteral:
62
- case language_1.Ast.NodeKind.RecordType:
63
- case language_1.Ast.NodeKind.Parameter:
64
- case language_1.Ast.NodeKind.ParameterList:
65
- case language_1.Ast.NodeKind.PrimitiveType:
66
- case language_1.Ast.NodeKind.RecordExpression:
67
- case language_1.Ast.NodeKind.RecursivePrimaryExpression:
68
- return language_1.Type.NotApplicableInstance;
69
- case language_1.Ast.NodeKind.ArithmeticExpression:
70
- case language_1.Ast.NodeKind.EqualityExpression:
71
- case language_1.Ast.NodeKind.LogicalExpression:
72
- case language_1.Ast.NodeKind.RelationalExpression:
73
- return expectTypeBinOpExpression(parentXorNode, childIndex);
74
- case language_1.Ast.NodeKind.AsExpression:
75
- case language_1.Ast.NodeKind.IsExpression:
76
- return expectTypeAsOrIsExpression(parentXorNode, childIndex);
77
- case language_1.Ast.NodeKind.CatchExpression:
78
- case language_1.Ast.NodeKind.OtherwiseExpression:
79
- return expectTypeErrorHandler(parentXorNode, childIndex);
80
- case language_1.Ast.NodeKind.GeneralizedIdentifierPairedExpression:
81
- case language_1.Ast.NodeKind.IdentifierPairedExpression:
82
- return expectTypeIdentifierPairedExpression(parentXorNode, childIndex);
83
- case language_1.Ast.NodeKind.Section:
84
- case language_1.Ast.NodeKind.SectionMember:
85
- return expectTypeSectionOrSectionMember(childIndex);
86
- case language_1.Ast.NodeKind.AsType:
87
- switch (childIndex) {
88
- case 0:
89
- return language_1.Type.NotApplicableInstance;
90
- case 1:
91
- return language_1.Type.TypeProductionInstance;
92
- default:
93
- throw unknownChildIndexError(parentXorNode, childIndex);
94
- }
95
- case language_1.Ast.NodeKind.AsNullablePrimitiveType:
96
- switch (childIndex) {
97
- case 0:
98
- return language_1.Type.NotApplicableInstance;
99
- case 1:
100
- return language_1.Type.NullablePrimitiveInstance;
101
- default:
102
- throw unknownChildIndexError(parentXorNode, childIndex);
103
- }
104
- case language_1.Ast.NodeKind.EachExpression:
105
- switch (childIndex) {
106
- case 0:
107
- return language_1.Type.NotApplicableInstance;
108
- case 1:
109
- return language_1.Type.ExpressionInstance;
110
- default:
111
- throw unknownChildIndexError(parentXorNode, childIndex);
112
- }
113
- case language_1.Ast.NodeKind.ErrorHandlingExpression:
114
- switch (childIndex) {
115
- case 0:
116
- return language_1.Type.NotApplicableInstance;
117
- case 1:
118
- return language_1.Type.ExpressionInstance;
119
- case 2:
120
- return language_1.Type.NotApplicableInstance;
121
- default:
122
- throw unknownChildIndexError(parentXorNode, childIndex);
123
- }
124
- // TODO: how should error raising be typed?
125
- case language_1.Ast.NodeKind.ErrorRaisingExpression:
126
- return language_1.Type.NotApplicableInstance;
127
- case language_1.Ast.NodeKind.GeneralizedIdentifierPairedAnyLiteral:
128
- switch (childIndex) {
129
- case 0:
130
- case 1:
131
- return language_1.Type.NotApplicableInstance;
132
- case 2:
133
- return language_1.Type.AnyLiteralInstance;
134
- default:
135
- throw unknownChildIndexError(parentXorNode, childIndex);
136
- }
137
- case language_1.Ast.NodeKind.FieldSpecification:
138
- switch (childIndex) {
139
- case 0:
140
- case 1:
141
- return language_1.Type.NotApplicableInstance;
142
- case 2:
143
- return language_1.Type.TypeProductionInstance;
144
- default:
145
- throw unknownChildIndexError(parentXorNode, childIndex);
146
- }
147
- case language_1.Ast.NodeKind.FieldTypeSpecification:
148
- switch (childIndex) {
149
- case 0:
150
- return language_1.Type.NotApplicableInstance;
151
- case 1:
152
- return language_1.Type.TypeProductionInstance;
153
- default:
154
- throw unknownChildIndexError(parentXorNode, childIndex);
155
- }
156
- case language_1.Ast.NodeKind.FunctionExpression:
157
- switch (childIndex) {
158
- case 0:
159
- case 2:
160
- return language_1.Type.NotApplicableInstance;
161
- case 1:
162
- return language_1.Type.NullablePrimitiveInstance;
163
- case 3:
164
- return language_1.Type.ExpressionInstance;
165
- default:
166
- throw unknownChildIndexError(parentXorNode, childIndex);
167
- }
168
- case language_1.Ast.NodeKind.FunctionType:
169
- switch (childIndex) {
170
- case 0:
171
- case 1:
172
- return language_1.Type.NotApplicableInstance;
173
- case 2:
174
- return language_1.Type.NullablePrimitiveInstance;
175
- default:
176
- throw unknownChildIndexError(parentXorNode, childIndex);
177
- }
178
- case language_1.Ast.NodeKind.IfExpression:
179
- switch (childIndex) {
180
- case 0:
181
- case 2:
182
- case 4:
183
- return language_1.Type.NotApplicableInstance;
184
- case 1:
185
- return language_1.Type.LogicalInstance;
186
- case 3:
187
- case 5:
188
- return language_1.Type.ExpressionInstance;
189
- default:
190
- throw unknownChildIndexError(parentXorNode, childIndex);
191
- }
192
- case language_1.Ast.NodeKind.IsNullablePrimitiveType:
193
- switch (childIndex) {
194
- case 0:
195
- return language_1.Type.NotApplicableInstance;
196
- case 1:
197
- return language_1.Type.NullablePrimitiveInstance;
198
- default:
199
- throw unknownChildIndexError(parentXorNode, childIndex);
200
- }
201
- case language_1.Ast.NodeKind.ItemAccessExpression:
202
- switch (childIndex) {
203
- case 0:
204
- case 2:
205
- case 3:
206
- return language_1.Type.NotApplicableInstance;
207
- case 1:
208
- return language_1.Type.ExpressionInstance;
209
- default:
210
- throw unknownChildIndexError(parentXorNode, childIndex);
211
- }
212
- case language_1.Ast.NodeKind.LetExpression:
213
- switch (childIndex) {
214
- case 0:
215
- case 1:
216
- case 2:
217
- return language_1.Type.NotApplicableInstance;
218
- case 3:
219
- return language_1.Type.ExpressionInstance;
220
- default:
221
- throw unknownChildIndexError(parentXorNode, childIndex);
222
- }
223
- case language_1.Ast.NodeKind.ListType:
224
- switch (childIndex) {
225
- case 0:
226
- case 2:
227
- return language_1.Type.NotApplicableInstance;
228
- case 1:
229
- return language_1.Type.TypeProductionInstance;
230
- default:
231
- throw unknownChildIndexError(parentXorNode, childIndex);
232
- }
233
- case language_1.Ast.NodeKind.MetadataExpression:
234
- switch (childIndex) {
235
- case 1:
236
- return language_1.Type.NotApplicableInstance;
237
- case 0:
238
- case 2:
239
- return language_1.Type.TypeExpressionInstance;
240
- default:
241
- throw unknownChildIndexError(parentXorNode, childIndex);
242
- }
243
- case language_1.Ast.NodeKind.NotImplementedExpression:
244
- switch (childIndex) {
245
- case 0:
246
- return language_1.Type.NotApplicableInstance;
247
- default:
248
- throw unknownChildIndexError(parentXorNode, childIndex);
249
- }
250
- case language_1.Ast.NodeKind.NullCoalescingExpression:
251
- switch (childIndex) {
252
- case 0:
253
- case 2:
254
- return language_1.Type.ExpressionInstance;
255
- case 1:
256
- return language_1.Type.NotApplicableInstance;
257
- default:
258
- throw unknownChildIndexError(parentXorNode, childIndex);
259
- }
260
- case language_1.Ast.NodeKind.NullablePrimitiveType:
261
- switch (childIndex) {
262
- case 0:
263
- return language_1.Type.NotApplicableInstance;
264
- case 1:
265
- return language_1.Type.PrimitiveInstance;
266
- default:
267
- throw unknownChildIndexError(parentXorNode, childIndex);
268
- }
269
- case language_1.Ast.NodeKind.NullableType:
270
- switch (childIndex) {
271
- case 0:
272
- return language_1.Type.NotApplicableInstance;
273
- case 1:
274
- return language_1.Type.TypeProductionInstance;
275
- default:
276
- throw unknownChildIndexError(parentXorNode, childIndex);
277
- }
278
- case language_1.Ast.NodeKind.ParenthesizedExpression:
279
- switch (childIndex) {
280
- case 0:
281
- case 2:
282
- return language_1.Type.NotApplicableInstance;
283
- case 1:
284
- return language_1.Type.ExpressionInstance;
285
- default:
286
- throw unknownChildIndexError(parentXorNode, childIndex);
287
- }
288
- case language_1.Ast.NodeKind.RangeExpression:
289
- switch (childIndex) {
290
- case 0:
291
- case 2:
292
- return language_1.Type.ExpressionInstance;
293
- case 1:
294
- return language_1.Type.NotApplicableInstance;
295
- default:
296
- throw unknownChildIndexError(parentXorNode, childIndex);
297
- }
298
- case language_1.Ast.NodeKind.TableType:
299
- switch (childIndex) {
300
- case 1:
301
- case 2:
302
- return language_1.Type.PrimaryExpressionInstance;
303
- default:
304
- throw unknownChildIndexError(parentXorNode, childIndex);
305
- }
306
- case language_1.Ast.NodeKind.TypePrimaryType:
307
- switch (childIndex) {
308
- case 0:
309
- return language_1.Type.NotApplicableInstance;
310
- case 1:
311
- return language_1.Type.PrimaryTypeInstance;
312
- default:
313
- throw unknownChildIndexError(parentXorNode, childIndex);
314
- }
315
- case language_1.Ast.NodeKind.UnaryExpression:
316
- switch (childIndex) {
317
- case 0:
318
- return language_1.Type.NotApplicableInstance;
319
- case 1:
320
- return language_1.Type.TypeExpressionInstance;
321
- default:
322
- throw unknownChildIndexError(parentXorNode, childIndex);
323
- }
324
- default:
325
- throw powerquery_parser_1.Assert.isNever(parentXorNode.node);
326
- }
327
- }
328
- exports.expectedType = expectedType;
329
- function expectTypeAsOrIsExpression(parentXorNode, childIndex) {
330
- switch (childIndex) {
331
- case 0:
332
- return language_1.Type.TypeExpressionInstance;
333
- case 1:
334
- return language_1.Type.NotApplicableInstance;
335
- case 2:
336
- return language_1.Type.NullablePrimitiveInstance;
337
- default:
338
- throw unknownChildIndexError(parentXorNode, childIndex);
339
- }
340
- }
341
- function expectTypeErrorHandler(parentXorNode, childIndex) {
342
- switch (childIndex) {
343
- case 0:
344
- return language_1.Type.NotApplicableInstance;
345
- case 1:
346
- return language_1.Type.ExpressionInstance;
347
- default:
348
- throw unknownChildIndexError(parentXorNode, childIndex);
349
- }
350
- }
351
- function expectTypeBinOpExpression(parentXorNode, childIndex) {
352
- switch (childIndex) {
353
- case 0:
354
- case 2:
355
- return language_1.Type.TypeExpressionInstance;
356
- case 1:
357
- return language_1.Type.NotApplicableInstance;
358
- default:
359
- throw unknownChildIndexError(parentXorNode, childIndex);
360
- }
361
- }
362
- function expectTypeIdentifierPairedExpression(parentXorNode, childIndex) {
363
- switch (childIndex) {
364
- case 0:
365
- case 1:
366
- return language_1.Type.NotApplicableInstance;
367
- case 2:
368
- return language_1.Type.ExpressionInstance;
369
- default:
370
- throw unknownChildIndexError(parentXorNode, childIndex);
371
- }
372
- }
373
- function expectTypeSectionOrSectionMember(childIndex) {
374
- switch (childIndex) {
375
- case 0:
376
- return language_1.Type.RecordInstance;
377
- default:
378
- return language_1.Type.NotApplicableInstance;
379
- }
380
- }
381
- function unknownChildIndexError(parent, childIndex) {
382
- const details = {
383
- parentId: parent.node.kind,
384
- parentNodeKind: parent.node.kind,
385
- childIndex,
386
- };
387
- return new PQP.CommonError.InvariantError(`unknown childIndex`, details);
388
- }
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
+ if (k2 === undefined) k2 = k;
6
+ var desc = Object.getOwnPropertyDescriptor(m, k);
7
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
8
+ desc = { enumerable: true, get: function() { return m[k]; } };
9
+ }
10
+ Object.defineProperty(o, k2, desc);
11
+ }) : (function(o, m, k, k2) {
12
+ if (k2 === undefined) k2 = k;
13
+ o[k2] = m[k];
14
+ }));
15
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
16
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
17
+ }) : function(o, v) {
18
+ o["default"] = v;
19
+ });
20
+ var __importStar = (this && this.__importStar) || (function () {
21
+ var ownKeys = function(o) {
22
+ ownKeys = Object.getOwnPropertyNames || function (o) {
23
+ var ar = [];
24
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
25
+ return ar;
26
+ };
27
+ return ownKeys(o);
28
+ };
29
+ return function (mod) {
30
+ if (mod && mod.__esModule) return mod;
31
+ var result = {};
32
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
33
+ __setModuleDefault(result, mod);
34
+ return result;
35
+ };
36
+ })();
37
+ Object.defineProperty(exports, "__esModule", { value: true });
38
+ exports.tryExpectedType = tryExpectedType;
39
+ exports.findExpectedType = findExpectedType;
40
+ exports.expectedType = expectedType;
41
+ const PQP = __importStar(require("@microsoft/powerquery-parser"));
42
+ const powerquery_parser_1 = require("@microsoft/powerquery-parser");
43
+ const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
44
+ const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
45
+ const activeNode_1 = require("./activeNode");
46
+ const trace_1 = require("../trace");
47
+ function tryExpectedType(settings, activeNode) {
48
+ const trace = settings.traceManager.entry(trace_1.InspectionTraceConstant.InspectExpectedType, tryExpectedType.name, settings.initialCorrelationId);
49
+ if (!activeNode_1.ActiveNodeUtils.isPositionInBounds(activeNode)) {
50
+ trace.exit();
51
+ return powerquery_parser_1.ResultUtils.ok(undefined);
52
+ }
53
+ const result = powerquery_parser_1.ResultUtils.ensureResult(() => findExpectedType(activeNode), settings.locale);
54
+ trace.exit();
55
+ return result;
56
+ }
57
+ // Traverse up the ancestry and find what type is expected as the nth child of a node's kind.
58
+ // The last type generated this way should have the widest typing,
59
+ // which then can be used for type hinting.
60
+ function findExpectedType(activeNode) {
61
+ const ancestry = activeNode.ancestry;
62
+ const upperBound = ancestry.length - 1;
63
+ let bestMatch;
64
+ for (let index = 0; index < upperBound; index += 1) {
65
+ const parent = ancestry[index + 1];
66
+ const child = ancestry[index];
67
+ const childAttributeIndex = powerquery_parser_1.Assert.asDefined(child.node.attributeIndex, `Expected child to have an attribute index.`, { childId: child.node.id });
68
+ const attributeIndex = parser_1.XorNodeUtils.isAst(parent) && activeNode.leafKind === activeNode_1.ActiveNodeLeafKind.IsAfterPosition
69
+ ? childAttributeIndex + 1
70
+ : childAttributeIndex;
71
+ const allowedType = expectedType(parent, attributeIndex);
72
+ if (allowedType.kind !== language_1.Type.TypeKind.NotApplicable) {
73
+ bestMatch = allowedType;
74
+ }
75
+ }
76
+ return bestMatch;
77
+ }
78
+ // For a given parent node, what is the expected type for a child at a given index?
79
+ function expectedType(parentXorNode, childIndex) {
80
+ switch (parentXorNode.node.kind) {
81
+ case language_1.Ast.NodeKind.ArrayWrapper:
82
+ case language_1.Ast.NodeKind.Constant:
83
+ case language_1.Ast.NodeKind.Csv:
84
+ case language_1.Ast.NodeKind.GeneralizedIdentifier:
85
+ case language_1.Ast.NodeKind.Identifier:
86
+ case language_1.Ast.NodeKind.IdentifierExpression:
87
+ case language_1.Ast.NodeKind.InvokeExpression:
88
+ case language_1.Ast.NodeKind.FieldProjection:
89
+ case language_1.Ast.NodeKind.FieldSelector:
90
+ case language_1.Ast.NodeKind.FieldSpecificationList:
91
+ case language_1.Ast.NodeKind.ListExpression:
92
+ case language_1.Ast.NodeKind.ListLiteral:
93
+ case language_1.Ast.NodeKind.LiteralExpression:
94
+ case language_1.Ast.NodeKind.RecordLiteral:
95
+ case language_1.Ast.NodeKind.RecordType:
96
+ case language_1.Ast.NodeKind.Parameter:
97
+ case language_1.Ast.NodeKind.ParameterList:
98
+ case language_1.Ast.NodeKind.PrimitiveType:
99
+ case language_1.Ast.NodeKind.RecordExpression:
100
+ case language_1.Ast.NodeKind.RecursivePrimaryExpression:
101
+ return language_1.Type.NotApplicableInstance;
102
+ case language_1.Ast.NodeKind.ArithmeticExpression:
103
+ case language_1.Ast.NodeKind.EqualityExpression:
104
+ case language_1.Ast.NodeKind.LogicalExpression:
105
+ case language_1.Ast.NodeKind.RelationalExpression:
106
+ return expectTypeBinOpExpression(parentXorNode, childIndex);
107
+ case language_1.Ast.NodeKind.AsExpression:
108
+ case language_1.Ast.NodeKind.IsExpression:
109
+ return expectTypeAsOrIsExpression(parentXorNode, childIndex);
110
+ case language_1.Ast.NodeKind.CatchExpression:
111
+ case language_1.Ast.NodeKind.OtherwiseExpression:
112
+ return expectTypeErrorHandler(parentXorNode, childIndex);
113
+ case language_1.Ast.NodeKind.GeneralizedIdentifierPairedExpression:
114
+ case language_1.Ast.NodeKind.IdentifierPairedExpression:
115
+ return expectTypeIdentifierPairedExpression(parentXorNode, childIndex);
116
+ case language_1.Ast.NodeKind.Section:
117
+ case language_1.Ast.NodeKind.SectionMember:
118
+ return expectTypeSectionOrSectionMember(childIndex);
119
+ case language_1.Ast.NodeKind.AsType:
120
+ switch (childIndex) {
121
+ case 0:
122
+ return language_1.Type.NotApplicableInstance;
123
+ case 1:
124
+ return language_1.Type.TypeProductionInstance;
125
+ default:
126
+ throw unknownChildIndexError(parentXorNode, childIndex);
127
+ }
128
+ case language_1.Ast.NodeKind.AsNullablePrimitiveType:
129
+ switch (childIndex) {
130
+ case 0:
131
+ return language_1.Type.NotApplicableInstance;
132
+ case 1:
133
+ return language_1.Type.NullablePrimitiveInstance;
134
+ default:
135
+ throw unknownChildIndexError(parentXorNode, childIndex);
136
+ }
137
+ case language_1.Ast.NodeKind.EachExpression:
138
+ switch (childIndex) {
139
+ case 0:
140
+ return language_1.Type.NotApplicableInstance;
141
+ case 1:
142
+ return language_1.Type.ExpressionInstance;
143
+ default:
144
+ throw unknownChildIndexError(parentXorNode, childIndex);
145
+ }
146
+ case language_1.Ast.NodeKind.ErrorHandlingExpression:
147
+ switch (childIndex) {
148
+ case 0:
149
+ return language_1.Type.NotApplicableInstance;
150
+ case 1:
151
+ return language_1.Type.ExpressionInstance;
152
+ case 2:
153
+ return language_1.Type.NotApplicableInstance;
154
+ default:
155
+ throw unknownChildIndexError(parentXorNode, childIndex);
156
+ }
157
+ // TODO: how should error raising be typed?
158
+ case language_1.Ast.NodeKind.ErrorRaisingExpression:
159
+ return language_1.Type.NotApplicableInstance;
160
+ case language_1.Ast.NodeKind.GeneralizedIdentifierPairedAnyLiteral:
161
+ switch (childIndex) {
162
+ case 0:
163
+ case 1:
164
+ return language_1.Type.NotApplicableInstance;
165
+ case 2:
166
+ return language_1.Type.AnyLiteralInstance;
167
+ default:
168
+ throw unknownChildIndexError(parentXorNode, childIndex);
169
+ }
170
+ case language_1.Ast.NodeKind.FieldSpecification:
171
+ switch (childIndex) {
172
+ case 0:
173
+ case 1:
174
+ return language_1.Type.NotApplicableInstance;
175
+ case 2:
176
+ return language_1.Type.TypeProductionInstance;
177
+ default:
178
+ throw unknownChildIndexError(parentXorNode, childIndex);
179
+ }
180
+ case language_1.Ast.NodeKind.FieldTypeSpecification:
181
+ switch (childIndex) {
182
+ case 0:
183
+ return language_1.Type.NotApplicableInstance;
184
+ case 1:
185
+ return language_1.Type.TypeProductionInstance;
186
+ default:
187
+ throw unknownChildIndexError(parentXorNode, childIndex);
188
+ }
189
+ case language_1.Ast.NodeKind.FunctionExpression:
190
+ switch (childIndex) {
191
+ case 0:
192
+ case 2:
193
+ return language_1.Type.NotApplicableInstance;
194
+ case 1:
195
+ return language_1.Type.NullablePrimitiveInstance;
196
+ case 3:
197
+ return language_1.Type.ExpressionInstance;
198
+ default:
199
+ throw unknownChildIndexError(parentXorNode, childIndex);
200
+ }
201
+ case language_1.Ast.NodeKind.FunctionType:
202
+ switch (childIndex) {
203
+ case 0:
204
+ case 1:
205
+ return language_1.Type.NotApplicableInstance;
206
+ case 2:
207
+ return language_1.Type.NullablePrimitiveInstance;
208
+ default:
209
+ throw unknownChildIndexError(parentXorNode, childIndex);
210
+ }
211
+ case language_1.Ast.NodeKind.IfExpression:
212
+ switch (childIndex) {
213
+ case 0:
214
+ case 2:
215
+ case 4:
216
+ return language_1.Type.NotApplicableInstance;
217
+ case 1:
218
+ return language_1.Type.LogicalInstance;
219
+ case 3:
220
+ case 5:
221
+ return language_1.Type.ExpressionInstance;
222
+ default:
223
+ throw unknownChildIndexError(parentXorNode, childIndex);
224
+ }
225
+ case language_1.Ast.NodeKind.IsNullablePrimitiveType:
226
+ switch (childIndex) {
227
+ case 0:
228
+ return language_1.Type.NotApplicableInstance;
229
+ case 1:
230
+ return language_1.Type.NullablePrimitiveInstance;
231
+ default:
232
+ throw unknownChildIndexError(parentXorNode, childIndex);
233
+ }
234
+ case language_1.Ast.NodeKind.ItemAccessExpression:
235
+ switch (childIndex) {
236
+ case 0:
237
+ case 2:
238
+ case 3:
239
+ return language_1.Type.NotApplicableInstance;
240
+ case 1:
241
+ return language_1.Type.ExpressionInstance;
242
+ default:
243
+ throw unknownChildIndexError(parentXorNode, childIndex);
244
+ }
245
+ case language_1.Ast.NodeKind.LetExpression:
246
+ switch (childIndex) {
247
+ case 0:
248
+ case 1:
249
+ case 2:
250
+ return language_1.Type.NotApplicableInstance;
251
+ case 3:
252
+ return language_1.Type.ExpressionInstance;
253
+ default:
254
+ throw unknownChildIndexError(parentXorNode, childIndex);
255
+ }
256
+ case language_1.Ast.NodeKind.ListType:
257
+ switch (childIndex) {
258
+ case 0:
259
+ case 2:
260
+ return language_1.Type.NotApplicableInstance;
261
+ case 1:
262
+ return language_1.Type.TypeProductionInstance;
263
+ default:
264
+ throw unknownChildIndexError(parentXorNode, childIndex);
265
+ }
266
+ case language_1.Ast.NodeKind.MetadataExpression:
267
+ switch (childIndex) {
268
+ case 1:
269
+ return language_1.Type.NotApplicableInstance;
270
+ case 0:
271
+ case 2:
272
+ return language_1.Type.TypeExpressionInstance;
273
+ default:
274
+ throw unknownChildIndexError(parentXorNode, childIndex);
275
+ }
276
+ case language_1.Ast.NodeKind.NotImplementedExpression:
277
+ switch (childIndex) {
278
+ case 0:
279
+ return language_1.Type.NotApplicableInstance;
280
+ default:
281
+ throw unknownChildIndexError(parentXorNode, childIndex);
282
+ }
283
+ case language_1.Ast.NodeKind.NullCoalescingExpression:
284
+ switch (childIndex) {
285
+ case 0:
286
+ case 2:
287
+ return language_1.Type.ExpressionInstance;
288
+ case 1:
289
+ return language_1.Type.NotApplicableInstance;
290
+ default:
291
+ throw unknownChildIndexError(parentXorNode, childIndex);
292
+ }
293
+ case language_1.Ast.NodeKind.NullablePrimitiveType:
294
+ switch (childIndex) {
295
+ case 0:
296
+ return language_1.Type.NotApplicableInstance;
297
+ case 1:
298
+ return language_1.Type.PrimitiveInstance;
299
+ default:
300
+ throw unknownChildIndexError(parentXorNode, childIndex);
301
+ }
302
+ case language_1.Ast.NodeKind.NullableType:
303
+ switch (childIndex) {
304
+ case 0:
305
+ return language_1.Type.NotApplicableInstance;
306
+ case 1:
307
+ return language_1.Type.TypeProductionInstance;
308
+ default:
309
+ throw unknownChildIndexError(parentXorNode, childIndex);
310
+ }
311
+ case language_1.Ast.NodeKind.ParenthesizedExpression:
312
+ switch (childIndex) {
313
+ case 0:
314
+ case 2:
315
+ return language_1.Type.NotApplicableInstance;
316
+ case 1:
317
+ return language_1.Type.ExpressionInstance;
318
+ default:
319
+ throw unknownChildIndexError(parentXorNode, childIndex);
320
+ }
321
+ case language_1.Ast.NodeKind.RangeExpression:
322
+ switch (childIndex) {
323
+ case 0:
324
+ case 2:
325
+ return language_1.Type.ExpressionInstance;
326
+ case 1:
327
+ return language_1.Type.NotApplicableInstance;
328
+ default:
329
+ throw unknownChildIndexError(parentXorNode, childIndex);
330
+ }
331
+ case language_1.Ast.NodeKind.TableType:
332
+ switch (childIndex) {
333
+ case 1:
334
+ case 2:
335
+ return language_1.Type.PrimaryExpressionInstance;
336
+ default:
337
+ throw unknownChildIndexError(parentXorNode, childIndex);
338
+ }
339
+ case language_1.Ast.NodeKind.TypePrimaryType:
340
+ switch (childIndex) {
341
+ case 0:
342
+ return language_1.Type.NotApplicableInstance;
343
+ case 1:
344
+ return language_1.Type.PrimaryTypeInstance;
345
+ default:
346
+ throw unknownChildIndexError(parentXorNode, childIndex);
347
+ }
348
+ case language_1.Ast.NodeKind.UnaryExpression:
349
+ switch (childIndex) {
350
+ case 0:
351
+ return language_1.Type.NotApplicableInstance;
352
+ case 1:
353
+ return language_1.Type.TypeExpressionInstance;
354
+ default:
355
+ throw unknownChildIndexError(parentXorNode, childIndex);
356
+ }
357
+ default:
358
+ throw powerquery_parser_1.Assert.isNever(parentXorNode.node);
359
+ }
360
+ }
361
+ function expectTypeAsOrIsExpression(parentXorNode, childIndex) {
362
+ switch (childIndex) {
363
+ case 0:
364
+ return language_1.Type.TypeExpressionInstance;
365
+ case 1:
366
+ return language_1.Type.NotApplicableInstance;
367
+ case 2:
368
+ return language_1.Type.NullablePrimitiveInstance;
369
+ default:
370
+ throw unknownChildIndexError(parentXorNode, childIndex);
371
+ }
372
+ }
373
+ function expectTypeErrorHandler(parentXorNode, childIndex) {
374
+ switch (childIndex) {
375
+ case 0:
376
+ return language_1.Type.NotApplicableInstance;
377
+ case 1:
378
+ return language_1.Type.ExpressionInstance;
379
+ default:
380
+ throw unknownChildIndexError(parentXorNode, childIndex);
381
+ }
382
+ }
383
+ function expectTypeBinOpExpression(parentXorNode, childIndex) {
384
+ switch (childIndex) {
385
+ case 0:
386
+ case 2:
387
+ return language_1.Type.TypeExpressionInstance;
388
+ case 1:
389
+ return language_1.Type.NotApplicableInstance;
390
+ default:
391
+ throw unknownChildIndexError(parentXorNode, childIndex);
392
+ }
393
+ }
394
+ function expectTypeIdentifierPairedExpression(parentXorNode, childIndex) {
395
+ switch (childIndex) {
396
+ case 0:
397
+ case 1:
398
+ return language_1.Type.NotApplicableInstance;
399
+ case 2:
400
+ return language_1.Type.ExpressionInstance;
401
+ default:
402
+ throw unknownChildIndexError(parentXorNode, childIndex);
403
+ }
404
+ }
405
+ function expectTypeSectionOrSectionMember(childIndex) {
406
+ switch (childIndex) {
407
+ case 0:
408
+ return language_1.Type.RecordInstance;
409
+ default:
410
+ return language_1.Type.NotApplicableInstance;
411
+ }
412
+ }
413
+ function unknownChildIndexError(parent, childIndex) {
414
+ const details = {
415
+ parentId: parent.node.kind,
416
+ parentNodeKind: parent.node.kind,
417
+ childIndex,
418
+ };
419
+ return new PQP.CommonError.InvariantError(`unknown childIndex`, details);
420
+ }
389
421
  //# sourceMappingURL=expectedType.js.map