@microsoft/powerquery-language-services 0.2.19 → 0.3.3

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 (226) hide show
  1. package/lib/powerquery-language-services/analysis/analysisBase.d.ts +4 -6
  2. package/lib/powerquery-language-services/analysis/analysisBase.js +118 -223
  3. package/lib/powerquery-language-services/analysis/analysisBase.js.map +1 -1
  4. package/lib/powerquery-language-services/analysis/analysisSettings.d.ts +2 -2
  5. package/lib/powerquery-language-services/analysis/analysisUtils.js +1 -1
  6. package/lib/powerquery-language-services/analysis/analysisUtils.js.map +1 -1
  7. package/lib/powerquery-language-services/analysis/documentAnalysis.d.ts +0 -2
  8. package/lib/powerquery-language-services/analysis/documentAnalysis.js +11 -32
  9. package/lib/powerquery-language-services/analysis/documentAnalysis.js.map +1 -1
  10. package/lib/powerquery-language-services/commonTypes.js +1 -1
  11. package/lib/powerquery-language-services/commonTypes.js.map +1 -1
  12. package/lib/powerquery-language-services/documentSymbols.d.ts +1 -1
  13. package/lib/powerquery-language-services/documentSymbols.js +62 -111
  14. package/lib/powerquery-language-services/documentSymbols.js.map +1 -1
  15. package/lib/powerquery-language-services/formatter.d.ts +1 -1
  16. package/lib/powerquery-language-services/formatter.js +35 -34
  17. package/lib/powerquery-language-services/formatter.js.map +1 -1
  18. package/lib/powerquery-language-services/index.js +2 -2
  19. package/lib/powerquery-language-services/index.js.map +1 -1
  20. package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js +74 -131
  21. package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js.map +1 -1
  22. package/lib/powerquery-language-services/inspection/activeNode/index.js +1 -1
  23. package/lib/powerquery-language-services/inspection/activeNode/index.js.map +1 -1
  24. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.d.ts +1 -1
  25. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js +117 -187
  26. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js.map +1 -1
  27. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js +28 -28
  28. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js.map +1 -1
  29. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.d.ts +2 -2
  30. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js +97 -114
  31. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js.map +1 -1
  32. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js +11 -11
  33. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js.map +1 -1
  34. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js +9 -9
  35. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js.map +1 -1
  36. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js +5 -5
  37. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js.map +1 -1
  38. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.d.ts +1 -1
  39. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js +43 -56
  40. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js.map +1 -1
  41. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js +10 -10
  42. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js.map +1 -1
  43. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.d.ts +1 -1
  44. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js +11 -11
  45. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js.map +1 -1
  46. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.js +5 -5
  47. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.js.map +1 -1
  48. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.d.ts +1 -1
  49. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.js +28 -28
  50. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.js.map +1 -1
  51. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js +28 -31
  52. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js.map +1 -1
  53. package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js +19 -23
  54. package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js.map +1 -1
  55. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteUtils.js +5 -5
  56. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteUtils.js.map +1 -1
  57. package/lib/powerquery-language-services/inspection/autocomplete/common.js +2 -13
  58. package/lib/powerquery-language-services/inspection/autocomplete/common.js.map +1 -1
  59. package/lib/powerquery-language-services/inspection/autocomplete/index.js +1 -1
  60. package/lib/powerquery-language-services/inspection/autocomplete/index.js.map +1 -1
  61. package/lib/powerquery-language-services/inspection/autocomplete/task.d.ts +1 -1
  62. package/lib/powerquery-language-services/inspection/autocomplete/task.js +36 -25
  63. package/lib/powerquery-language-services/inspection/autocomplete/task.js.map +1 -1
  64. package/lib/powerquery-language-services/inspection/commonTypes.d.ts +6 -5
  65. package/lib/powerquery-language-services/inspection/expectedType.js +18 -18
  66. package/lib/powerquery-language-services/inspection/expectedType.js.map +1 -1
  67. package/lib/powerquery-language-services/inspection/externalType/externalType.d.ts +2 -2
  68. package/lib/powerquery-language-services/inspection/externalType/externalType.js +2 -1
  69. package/lib/powerquery-language-services/inspection/externalType/externalType.js.map +1 -1
  70. package/lib/powerquery-language-services/inspection/externalType/externalTypeUtils.js +3 -3
  71. package/lib/powerquery-language-services/inspection/externalType/externalTypeUtils.js.map +1 -1
  72. package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.d.ts +1 -1
  73. package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js +49 -66
  74. package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js.map +1 -1
  75. package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.d.ts +1 -1
  76. package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js +74 -99
  77. package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js.map +1 -1
  78. package/lib/powerquery-language-services/inspection/jaroWinkler.js +26 -42
  79. package/lib/powerquery-language-services/inspection/jaroWinkler.js.map +1 -1
  80. package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js +24 -51
  81. package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js.map +1 -1
  82. package/lib/powerquery-language-services/inspection/scope/scopeInspection.d.ts +3 -3
  83. package/lib/powerquery-language-services/inspection/scope/scopeInspection.js +221 -275
  84. package/lib/powerquery-language-services/inspection/scope/scopeInspection.js.map +1 -1
  85. package/lib/powerquery-language-services/inspection/task.d.ts +3 -2
  86. package/lib/powerquery-language-services/inspection/task.js +71 -41
  87. package/lib/powerquery-language-services/inspection/task.js.map +1 -1
  88. package/lib/powerquery-language-services/inspection/type/index.js +1 -1
  89. package/lib/powerquery-language-services/inspection/type/index.js.map +1 -1
  90. package/lib/powerquery-language-services/inspection/type/inspectType/common.d.ts +9 -9
  91. package/lib/powerquery-language-services/inspection/type/inspectType/common.js +354 -339
  92. package/lib/powerquery-language-services/inspection/type/inspectType/common.js.map +1 -1
  93. package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.d.ts +1 -1
  94. package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js +31 -41
  95. package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js.map +1 -1
  96. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.js +3 -3
  97. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.js.map +1 -1
  98. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.d.ts +1 -1
  99. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js +29 -19
  100. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js.map +1 -1
  101. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.d.ts +1 -1
  102. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js +27 -17
  103. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js.map +1 -1
  104. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.d.ts +4 -0
  105. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js +68 -0
  106. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js.map +1 -0
  107. package/lib/powerquery-language-services/inspection/type/inspectType/{inspectTypeFieldProjection.d.ts → inspectTypeField/inspectTypeFieldProjection.d.ts} +2 -2
  108. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.js +103 -0
  109. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.js.map +1 -0
  110. package/lib/powerquery-language-services/inspection/type/inspectType/{inspectTypeFieldSelector.d.ts → inspectTypeField/inspectTypeFieldSelector.d.ts} +2 -2
  111. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js +76 -0
  112. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js.map +1 -0
  113. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.d.ts +1 -1
  114. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js +24 -12
  115. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js.map +1 -1
  116. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.d.ts +1 -1
  117. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js +65 -55
  118. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js.map +1 -1
  119. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.d.ts +1 -1
  120. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js +43 -35
  121. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js.map +1 -1
  122. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.d.ts +1 -1
  123. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js +28 -18
  124. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js.map +1 -1
  125. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.d.ts +1 -1
  126. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js +28 -18
  127. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js.map +1 -1
  128. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.d.ts +1 -1
  129. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js +42 -30
  130. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js.map +1 -1
  131. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.d.ts +1 -1
  132. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js +55 -64
  133. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js.map +1 -1
  134. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.d.ts +1 -1
  135. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js +26 -16
  136. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js.map +1 -1
  137. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.d.ts +1 -1
  138. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js +34 -24
  139. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js.map +1 -1
  140. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js +9 -10
  141. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js.map +1 -1
  142. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.d.ts +1 -1
  143. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js +33 -23
  144. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js.map +1 -1
  145. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.d.ts +1 -1
  146. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js +22 -23
  147. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js.map +1 -1
  148. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js +9 -10
  149. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js.map +1 -1
  150. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.d.ts +1 -1
  151. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js +40 -30
  152. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js.map +1 -1
  153. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.d.ts +1 -1
  154. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js +31 -41
  155. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js.map +1 -1
  156. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.d.ts +1 -1
  157. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js +27 -28
  158. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js.map +1 -1
  159. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.d.ts +1 -1
  160. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js +44 -54
  161. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js.map +1 -1
  162. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.d.ts +1 -1
  163. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js +155 -179
  164. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js.map +1 -1
  165. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.d.ts +1 -1
  166. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js +36 -37
  167. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js.map +1 -1
  168. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.d.ts +1 -1
  169. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js +57 -105
  170. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js.map +1 -1
  171. package/lib/powerquery-language-services/inspection/type/task.d.ts +2 -2
  172. package/lib/powerquery-language-services/inspection/type/task.js +59 -104
  173. package/lib/powerquery-language-services/inspection/type/task.js.map +1 -1
  174. package/lib/powerquery-language-services/inspectionSettings.d.ts +2 -0
  175. package/lib/powerquery-language-services/inspectionUtils.d.ts +5 -4
  176. package/lib/powerquery-language-services/inspectionUtils.js +80 -134
  177. package/lib/powerquery-language-services/inspectionUtils.js.map +1 -1
  178. package/lib/powerquery-language-services/languageServiceUtils.js +1 -1
  179. package/lib/powerquery-language-services/languageServiceUtils.js.map +1 -1
  180. package/lib/powerquery-language-services/library/libraryUtils.js +11 -11
  181. package/lib/powerquery-language-services/library/libraryUtils.js.map +1 -1
  182. package/lib/powerquery-language-services/localization/localization.js +9 -13
  183. package/lib/powerquery-language-services/localization/localization.js.map +1 -1
  184. package/lib/powerquery-language-services/localization/localizationUtils.js +1 -1
  185. package/lib/powerquery-language-services/localization/localizationUtils.js.map +1 -1
  186. package/lib/powerquery-language-services/localization/templates.js +43 -43
  187. package/lib/powerquery-language-services/localization/templates.js.map +1 -1
  188. package/lib/powerquery-language-services/positionUtils.d.ts +5 -5
  189. package/lib/powerquery-language-services/positionUtils.js +47 -33
  190. package/lib/powerquery-language-services/positionUtils.js.map +1 -1
  191. package/lib/powerquery-language-services/providers/languageCompletionItemProvider.d.ts +3 -3
  192. package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js +40 -95
  193. package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js.map +1 -1
  194. package/lib/powerquery-language-services/providers/librarySymbolProvider.js +63 -138
  195. package/lib/powerquery-language-services/providers/librarySymbolProvider.js.map +1 -1
  196. package/lib/powerquery-language-services/providers/localDocumentSymbolProvider.d.ts +3 -5
  197. package/lib/powerquery-language-services/providers/localDocumentSymbolProvider.js +130 -194
  198. package/lib/powerquery-language-services/providers/localDocumentSymbolProvider.js.map +1 -1
  199. package/lib/powerquery-language-services/providers/nullSymbolProvider.js +18 -52
  200. package/lib/powerquery-language-services/providers/nullSymbolProvider.js.map +1 -1
  201. package/lib/powerquery-language-services/validate/validate.d.ts +1 -1
  202. package/lib/powerquery-language-services/validate/validate.js +38 -42
  203. package/lib/powerquery-language-services/validate/validate.js.map +1 -1
  204. package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.d.ts +1 -1
  205. package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js +82 -127
  206. package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js.map +1 -1
  207. package/lib/powerquery-language-services/validate/validateFunctionExpression.d.ts +1 -1
  208. package/lib/powerquery-language-services/validate/validateFunctionExpression.js +61 -101
  209. package/lib/powerquery-language-services/validate/validateFunctionExpression.js.map +1 -1
  210. package/lib/powerquery-language-services/validate/validateInvokeExpression.d.ts +1 -1
  211. package/lib/powerquery-language-services/validate/validateInvokeExpression.js +61 -98
  212. package/lib/powerquery-language-services/validate/validateInvokeExpression.js.map +1 -1
  213. package/lib/powerquery-language-services/validate/validateLexAndParse.d.ts +1 -1
  214. package/lib/powerquery-language-services/validate/validateLexAndParse.js +112 -122
  215. package/lib/powerquery-language-services/validate/validateLexAndParse.js.map +1 -1
  216. package/lib/powerquery-language-services/validate/validationSettings/validationSettingsUtils.js +1 -12
  217. package/lib/powerquery-language-services/validate/validationSettings/validationSettingsUtils.js.map +1 -1
  218. package/lib/powerquery-language-services/workspaceCache/workspaceCache.d.ts +3 -13
  219. package/lib/powerquery-language-services/workspaceCache/workspaceCacheUtils.d.ts +7 -8
  220. package/lib/powerquery-language-services/workspaceCache/workspaceCacheUtils.js +93 -147
  221. package/lib/powerquery-language-services/workspaceCache/workspaceCacheUtils.js.map +1 -1
  222. package/package.json +4 -4
  223. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldProjection.js +0 -126
  224. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldProjection.js.map +0 -1
  225. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSelector.js +0 -67
  226. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSelector.js.map +0 -1
@@ -0,0 +1,76 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6
+ return new (P || (P = Promise))(function (resolve, reject) {
7
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
10
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
11
+ });
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.inspectTypeFieldSelector = void 0;
15
+ const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
16
+ const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
17
+ const __1 = require("../../../..");
18
+ const common_1 = require("./common");
19
+ // A field selection/projection is an operation done on some value.
20
+ // The target can be either an EachExpression or a RecursivePrimaryExpression.
21
+ // In the code below that target for the FieldSelector/FieldProjection is called the scope.
22
+ //
23
+ // In the case of EachExpression:
24
+ // use whatever scope was provided in InspectionTypeState.maybeEachScopeById, else Unknown
25
+ //
26
+ // In the case of RecursivePrimaryExpression:
27
+ // the scope is the previous sibling's type, so use NodeUtils.assertGetRecursiveExpressionPreviousSibling
28
+ function inspectTypeFieldSelector(state, xorNode) {
29
+ var _a;
30
+ return __awaiter(this, void 0, void 0, function* () {
31
+ const trace = state.traceManager.entry("Type" /* Type */, inspectTypeFieldSelector.name, __1.TraceUtils.createXorNodeDetails(xorNode));
32
+ (_a = state.maybeCancellationToken) === null || _a === void 0 ? void 0 : _a.throwIfCancelled();
33
+ parser_1.XorNodeUtils.assertIsNodeKind(xorNode, "FieldSelector" /* FieldSelector */);
34
+ const maybeFieldName = parser_1.NodeIdMapUtils.maybeUnboxWrappedContentIfAstChecked(state.nodeIdMapCollection, xorNode.node.id, "GeneralizedIdentifier" /* GeneralizedIdentifier */);
35
+ if (maybeFieldName === undefined) {
36
+ trace.exit({ ["Result" /* Result */]: __1.TraceUtils.createTypeDetails(language_1.Type.UnknownInstance) });
37
+ return language_1.Type.UnknownInstance;
38
+ }
39
+ const fieldName = maybeFieldName.literal;
40
+ const fieldType = yield (0, common_1.inspectFieldType)(state, xorNode);
41
+ const isOptional = parser_1.NodeIdMapUtils.maybeUnboxNthChildIfAstChecked(state.nodeIdMapCollection, xorNode.node.id, 3, "Constant" /* Constant */) !== undefined;
42
+ const result = getFieldSelectorType(fieldType, fieldName, isOptional);
43
+ trace.exit({ ["Result" /* Result */]: __1.TraceUtils.createTypeDetails(result) });
44
+ return result;
45
+ });
46
+ }
47
+ exports.inspectTypeFieldSelector = inspectTypeFieldSelector;
48
+ function getFieldSelectorType(fieldType, fieldName, isOptional) {
49
+ switch (fieldType.kind) {
50
+ case "Any" /* Any */:
51
+ return language_1.Type.AnyInstance;
52
+ case "Unknown" /* Unknown */:
53
+ return language_1.Type.UnknownInstance;
54
+ case "Record" /* Record */:
55
+ case "Table" /* Table */:
56
+ return inspectRecordOrTable(fieldType, fieldName, isOptional);
57
+ default:
58
+ return language_1.Type.NoneInstance;
59
+ }
60
+ }
61
+ function inspectRecordOrTable(fieldType, fieldName, isOptional) {
62
+ if (fieldType.maybeExtendedKind === undefined) {
63
+ return language_1.Type.AnyInstance;
64
+ }
65
+ const maybeNamedField = fieldType.fields.get(fieldName);
66
+ if (maybeNamedField !== undefined) {
67
+ return maybeNamedField;
68
+ }
69
+ else if (fieldType.isOpen) {
70
+ return language_1.Type.AnyInstance;
71
+ }
72
+ else {
73
+ return isOptional ? language_1.Type.NullInstance : language_1.Type.NoneInstance;
74
+ }
75
+ }
76
+ //# sourceMappingURL=inspectTypeFieldSelector.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspectTypeFieldSelector.js","sourceRoot":"","sources":["../../../../../../src/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,0FAAwF;AACxF,sFAAmH;AAGnH,mCAAuE;AACvE,qCAA4C;AAG5C,mEAAmE;AACnE,8EAA8E;AAC9E,2FAA2F;AAC3F,EAAE;AACF,iCAAiC;AACjC,2FAA2F;AAC3F,EAAE;AACF,6CAA6C;AAC7C,0GAA0G;AAE1G,SAAsB,wBAAwB,CAC1C,KAAuB,EACvB,OAAiB;;;QAEjB,MAAM,KAAK,GAAU,KAAK,CAAC,YAAY,CAAC,KAAK,oBAEzC,wBAAwB,CAAC,IAAI,EAC7B,cAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAC3C,CAAC;QAEF,MAAA,KAAK,CAAC,sBAAsB,0CAAE,gBAAgB,EAAE,CAAC;QACjD,qBAAY,CAAC,gBAAgB,CAAoB,OAAO,sCAA6B,CAAC;QAEtF,MAAM,cAAc,GAChB,uBAAc,CAAC,oCAAoC,CAC/C,KAAK,CAAC,mBAAmB,EACzB,OAAO,CAAC,IAAI,CAAC,EAAE,sDAElB,CAAC;QAEN,IAAI,cAAc,KAAK,SAAS,EAAE;YAC9B,KAAK,CAAC,IAAI,CAAC,EAAE,uBAAsB,EAAE,cAAU,CAAC,iBAAiB,CAAC,eAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YAE3F,OAAO,eAAI,CAAC,eAAe,CAAC;SAC/B;QAED,MAAM,SAAS,GAAW,cAAc,CAAC,OAAO,CAAC;QACjD,MAAM,SAAS,GAAyB,MAAM,IAAA,yBAAgB,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAE/E,MAAM,UAAU,GACZ,uBAAc,CAAC,8BAA8B,CACzC,KAAK,CAAC,mBAAmB,EACzB,OAAO,CAAC,IAAI,CAAC,EAAE,EACf,CAAC,4BAEJ,KAAK,SAAS,CAAC;QAEpB,MAAM,MAAM,GAAyB,oBAAoB,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAC5F,KAAK,CAAC,IAAI,CAAC,EAAE,uBAAsB,EAAE,cAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAE7E,OAAO,MAAM,CAAC;;CACjB;AAzCD,4DAyCC;AAED,SAAS,oBAAoB,CACzB,SAA+B,EAC/B,SAAiB,EACjB,UAAmB;IAEnB,QAAQ,SAAS,CAAC,IAAI,EAAE;QACpB;YACI,OAAO,eAAI,CAAC,WAAW,CAAC;QAE5B;YACI,OAAO,eAAI,CAAC,eAAe,CAAC;QAEhC,2BAA0B;QAC1B;YACI,OAAO,oBAAoB,CAAC,SAAS,EAAE,SAAS,EAAE,UAAU,CAAC,CAAC;QAElE;YACI,OAAO,eAAI,CAAC,YAAY,CAAC;KAChC;AACL,CAAC;AAED,SAAS,oBAAoB,CACzB,SAAqC,EACrC,SAAiB,EACjB,UAAmB;IAEnB,IAAI,SAAS,CAAC,iBAAiB,KAAK,SAAS,EAAE;QAC3C,OAAO,eAAI,CAAC,WAAW,CAAC;KAC3B;IAED,MAAM,eAAe,GAAqC,SAAS,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;IAE1F,IAAI,eAAe,KAAK,SAAS,EAAE;QAC/B,OAAO,eAAe,CAAC;KAC1B;SAAM,IAAI,SAAS,CAAC,MAAM,EAAE;QACzB,OAAO,eAAI,CAAC,WAAW,CAAC;KAC3B;SAAM;QACH,OAAO,UAAU,CAAC,CAAC,CAAC,eAAI,CAAC,YAAY,CAAC,CAAC,CAAC,eAAI,CAAC,YAAY,CAAC;KAC7D;AACL,CAAC"}
@@ -1,4 +1,4 @@
1
1
  import { Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
2
2
  import { TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
3
3
  import { InspectTypeState } from "./common";
4
- export declare function inspectTypeFieldSpecification(state: InspectTypeState, xorNode: TXorNode): Type.TPowerQueryType;
4
+ export declare function inspectTypeFieldSpecification(state: InspectTypeState, xorNode: TXorNode): Promise<Type.TPowerQueryType>;
@@ -1,22 +1,34 @@
1
1
  "use strict";
2
2
  // Copyright (c) Microsoft Corporation.
3
3
  // Licensed under the MIT license.
4
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6
+ return new (P || (P = Promise))(function (resolve, reject) {
7
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
10
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
11
+ });
12
+ };
4
13
  Object.defineProperty(exports, "__esModule", { value: true });
5
14
  exports.inspectTypeFieldSpecification = void 0;
6
- var language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
7
- var parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
8
- var common_1 = require("./common");
9
- var __1 = require("../../..");
15
+ const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
16
+ const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
17
+ const common_1 = require("./common");
18
+ const __1 = require("../../..");
10
19
  function inspectTypeFieldSpecification(state, xorNode) {
11
20
  var _a;
12
- var _b;
13
- var trace = state.traceManager.entry("Type" /* Type */, inspectTypeFieldSpecification.name, __1.TraceUtils.createXorNodeDetails(xorNode));
14
- (_b = state.maybeCancellationToken) === null || _b === void 0 ? void 0 : _b.throwIfCancelled();
15
- parser_1.XorNodeUtils.assertIsNodeKind(xorNode, "FieldSpecification" /* FieldSpecification */);
16
- var maybeFieldTypeSpecification = parser_1.NodeIdMapUtils.maybeNthChild(state.nodeIdMapCollection, xorNode.node.id, 2);
17
- var result = maybeFieldTypeSpecification !== undefined ? (0, common_1.inspectXor)(state, maybeFieldTypeSpecification) : language_1.Type.AnyInstance;
18
- trace.exit((_a = {}, _a["Result" /* Result */] = __1.TraceUtils.createTypeDetails(result), _a));
19
- return result;
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ const trace = state.traceManager.entry("Type" /* Type */, inspectTypeFieldSpecification.name, __1.TraceUtils.createXorNodeDetails(xorNode));
23
+ (_a = state.maybeCancellationToken) === null || _a === void 0 ? void 0 : _a.throwIfCancelled();
24
+ parser_1.XorNodeUtils.assertIsNodeKind(xorNode, "FieldSpecification" /* FieldSpecification */);
25
+ const maybeFieldTypeSpecification = parser_1.NodeIdMapUtils.maybeNthChild(state.nodeIdMapCollection, xorNode.node.id, 2);
26
+ const result = maybeFieldTypeSpecification !== undefined
27
+ ? yield (0, common_1.inspectXor)(state, maybeFieldTypeSpecification)
28
+ : language_1.Type.AnyInstance;
29
+ trace.exit({ ["Result" /* Result */]: __1.TraceUtils.createTypeDetails(result) });
30
+ return result;
31
+ });
20
32
  }
21
33
  exports.inspectTypeFieldSpecification = inspectTypeFieldSpecification;
22
34
  //# sourceMappingURL=inspectTypeFieldSpecification.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inspectTypeFieldSpecification.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,wFAAwF;AACxF,oFAAmH;AAGnH,mCAAwD;AACxD,8BAAoE;AAEpE,SAAgB,6BAA6B,CAAC,KAAuB,EAAE,OAAiB;;;IACpF,IAAM,KAAK,GAAU,KAAK,CAAC,YAAY,CAAC,KAAK,oBAEzC,6BAA6B,CAAC,IAAI,EAClC,cAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAC3C,CAAC;IAEF,MAAA,KAAK,CAAC,sBAAsB,0CAAE,gBAAgB,EAAE,CAAC;IACjD,qBAAY,CAAC,gBAAgB,CAAyB,OAAO,gDAAkC,CAAC;IAEhG,IAAM,2BAA2B,GAAyB,uBAAc,CAAC,aAAa,CAClF,KAAK,CAAC,mBAAmB,EACzB,OAAO,CAAC,IAAI,CAAC,EAAE,EACf,CAAC,CACJ,CAAC;IAEF,IAAM,MAAM,GACR,2BAA2B,KAAK,SAAS,CAAC,CAAC,CAAC,IAAA,mBAAU,EAAC,KAAK,EAAE,2BAA2B,CAAC,CAAC,CAAC,CAAC,eAAI,CAAC,WAAW,CAAC;IAElH,KAAK,CAAC,IAAI,WAAG,4BAAwB,cAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAG,CAAC;IAE7E,OAAO,MAAM,CAAC;AAClB,CAAC;AAtBD,sEAsBC"}
1
+ {"version":3,"file":"inspectTypeFieldSpecification.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,0FAAwF;AACxF,sFAAmH;AAGnH,qCAAwD;AACxD,gCAAoE;AAEpE,SAAsB,6BAA6B,CAC/C,KAAuB,EACvB,OAAiB;;;QAEjB,MAAM,KAAK,GAAU,KAAK,CAAC,YAAY,CAAC,KAAK,oBAEzC,6BAA6B,CAAC,IAAI,EAClC,cAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAC3C,CAAC;QAEF,MAAA,KAAK,CAAC,sBAAsB,0CAAE,gBAAgB,EAAE,CAAC;QACjD,qBAAY,CAAC,gBAAgB,CAAyB,OAAO,gDAAkC,CAAC;QAEhG,MAAM,2BAA2B,GAAyB,uBAAc,CAAC,aAAa,CAClF,KAAK,CAAC,mBAAmB,EACzB,OAAO,CAAC,IAAI,CAAC,EAAE,EACf,CAAC,CACJ,CAAC;QAEF,MAAM,MAAM,GACR,2BAA2B,KAAK,SAAS;YACrC,CAAC,CAAC,MAAM,IAAA,mBAAU,EAAC,KAAK,EAAE,2BAA2B,CAAC;YACtD,CAAC,CAAC,eAAI,CAAC,WAAW,CAAC;QAE3B,KAAK,CAAC,IAAI,CAAC,EAAE,uBAAsB,EAAE,cAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAE7E,OAAO,MAAM,CAAC;;CACjB;AA3BD,sEA2BC"}
@@ -1,4 +1,4 @@
1
1
  import { Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
2
2
  import { TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
3
3
  import { InspectTypeState } from "./common";
4
- export declare function inspectTypeFunctionExpression(state: InspectTypeState, xorNode: TXorNode): Type.TPowerQueryType;
4
+ export declare function inspectTypeFunctionExpression(state: InspectTypeState, xorNode: TXorNode): Promise<Type.TPowerQueryType>;
@@ -1,64 +1,74 @@
1
1
  "use strict";
2
2
  // Copyright (c) Microsoft Corporation.
3
3
  // Licensed under the MIT license.
4
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6
+ return new (P || (P = Promise))(function (resolve, reject) {
7
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
10
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
11
+ });
12
+ };
4
13
  Object.defineProperty(exports, "__esModule", { value: true });
5
14
  exports.inspectTypeFunctionExpression = void 0;
6
- var language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
7
- var parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
8
- var common_1 = require("./common");
9
- var __1 = require("../../..");
10
- var pseudoFunctionExpressionType_1 = require("../../pseudoFunctionExpressionType");
15
+ const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
16
+ const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
17
+ const common_1 = require("./common");
18
+ const __1 = require("../../..");
19
+ const pseudoFunctionExpressionType_1 = require("../../pseudoFunctionExpressionType");
11
20
  function inspectTypeFunctionExpression(state, xorNode) {
12
- var _a, _b;
13
- var _c;
14
- var trace = state.traceManager.entry("Type" /* Type */, inspectTypeFunctionExpression.name, __1.TraceUtils.createXorNodeDetails(xorNode));
15
- (_c = state.maybeCancellationToken) === null || _c === void 0 ? void 0 : _c.throwIfCancelled();
16
- parser_1.XorNodeUtils.assertIsNodeKind(xorNode, "FunctionExpression" /* FunctionExpression */);
17
- var pseudoType = (0, pseudoFunctionExpressionType_1.pseudoFunctionExpressionType)(state.nodeIdMapCollection, xorNode);
18
- var pseudoReturnType = pseudoType.returnType;
19
- var expressionType = (0, common_1.inspectTypeFromChildAttributeIndex)(state, xorNode, 3);
20
- // FunctionExpression.maybeFunctionReturnType doesn't always match FunctionExpression.expression.
21
- // By examining the expression we might get a more accurate return type (eg. Function vs DefinedFunction),
22
- // or discover an error (eg. maybeFunctionReturnType is Number but expression is Text).
23
- var returnType;
24
- // If the stated return type is Any,
25
- // then it might as well be the expression's type as it can't be any wider than Any.
26
- if (pseudoReturnType.kind === "Any" /* Any */) {
27
- returnType = expressionType;
28
- }
29
- // If the return type is Any then see if we can narrow it to the stated return Type.
30
- else if (expressionType.kind === "Any" /* Any */ &&
31
- expressionType.maybeExtendedKind === "AnyUnion" /* AnyUnion */ &&
32
- (0, common_1.allForAnyUnion)(expressionType, function (type) { return type.kind === pseudoReturnType.kind || type.kind === "Any" /* Any */; })) {
33
- returnType = expressionType;
34
- }
35
- // If the stated return type doesn't match the expression's type then it's None.
36
- else if (pseudoReturnType.kind !== expressionType.kind) {
37
- trace.exit((_a = {}, _a["Result" /* Result */] = __1.TraceUtils.createTypeDetails(language_1.Type.NoneInstance), _a));
38
- return language_1.Type.NoneInstance;
39
- }
40
- // If the expression's type can't be known, then assume it's the stated return Type.
41
- else if (expressionType.kind === "Unknown" /* Unknown */) {
42
- returnType = pseudoReturnType;
43
- }
44
- // Else fallback to the expression's Type.
45
- else {
46
- returnType = expressionType;
47
- }
48
- var result = {
49
- kind: "Function" /* Function */,
50
- maybeExtendedKind: "DefinedFunction" /* DefinedFunction */,
51
- isNullable: false,
52
- parameters: pseudoType.parameters.map(function (pseudoParameter) { return ({
53
- nameLiteral: pseudoParameter.name.literal,
54
- isNullable: pseudoParameter.isNullable,
55
- isOptional: pseudoParameter.isOptional,
56
- maybeType: pseudoParameter.maybeType,
57
- }); }),
58
- returnType: returnType,
59
- };
60
- trace.exit((_b = {}, _b["Result" /* Result */] = __1.TraceUtils.createTypeDetails(result), _b));
61
- return result;
21
+ var _a;
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ const trace = state.traceManager.entry("Type" /* Type */, inspectTypeFunctionExpression.name, __1.TraceUtils.createXorNodeDetails(xorNode));
24
+ (_a = state.maybeCancellationToken) === null || _a === void 0 ? void 0 : _a.throwIfCancelled();
25
+ parser_1.XorNodeUtils.assertIsNodeKind(xorNode, "FunctionExpression" /* FunctionExpression */);
26
+ const pseudoType = (0, pseudoFunctionExpressionType_1.pseudoFunctionExpressionType)(state.nodeIdMapCollection, xorNode);
27
+ const pseudoReturnType = pseudoType.returnType;
28
+ const expressionType = yield (0, common_1.inspectTypeFromChildAttributeIndex)(state, xorNode, 3);
29
+ // FunctionExpression.maybeFunctionReturnType doesn't always match FunctionExpression.expression.
30
+ // By examining the expression we might get a more accurate return type (eg. Function vs DefinedFunction),
31
+ // or discover an error (eg. maybeFunctionReturnType is Number but expression is Text).
32
+ let returnType;
33
+ // If the stated return type is Any,
34
+ // then it might as well be the expression's type as it can't be any wider than Any.
35
+ if (pseudoReturnType.kind === "Any" /* Any */) {
36
+ returnType = expressionType;
37
+ }
38
+ // If the return type is Any then see if we can narrow it to the stated return Type.
39
+ else if (expressionType.kind === "Any" /* Any */ &&
40
+ expressionType.maybeExtendedKind === "AnyUnion" /* AnyUnion */ &&
41
+ (0, common_1.allForAnyUnion)(expressionType, (type) => type.kind === pseudoReturnType.kind || type.kind === "Any" /* Any */)) {
42
+ returnType = expressionType;
43
+ }
44
+ // If the stated return type doesn't match the expression's type then it's None.
45
+ else if (pseudoReturnType.kind !== expressionType.kind) {
46
+ trace.exit({ ["Result" /* Result */]: __1.TraceUtils.createTypeDetails(language_1.Type.NoneInstance) });
47
+ return language_1.Type.NoneInstance;
48
+ }
49
+ // If the expression's type can't be known, then assume it's the stated return Type.
50
+ else if (expressionType.kind === "Unknown" /* Unknown */) {
51
+ returnType = pseudoReturnType;
52
+ }
53
+ // Else fallback to the expression's Type.
54
+ else {
55
+ returnType = expressionType;
56
+ }
57
+ const result = {
58
+ kind: "Function" /* Function */,
59
+ maybeExtendedKind: "DefinedFunction" /* DefinedFunction */,
60
+ isNullable: false,
61
+ parameters: pseudoType.parameters.map((pseudoParameter) => ({
62
+ nameLiteral: pseudoParameter.name.literal,
63
+ isNullable: pseudoParameter.isNullable,
64
+ isOptional: pseudoParameter.isOptional,
65
+ maybeType: pseudoParameter.maybeType,
66
+ })),
67
+ returnType,
68
+ };
69
+ trace.exit({ ["Result" /* Result */]: __1.TraceUtils.createTypeDetails(result) });
70
+ return result;
71
+ });
62
72
  }
63
73
  exports.inspectTypeFunctionExpression = inspectTypeFunctionExpression;
64
74
  //# sourceMappingURL=inspectTypeFunctionExpression.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inspectTypeFunctionExpression.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,wFAAwF;AAExF,oFAAmG;AAEnG,mCAAgG;AAChG,8BAAoE;AACpE,mFAI4C;AAE5C,SAAgB,6BAA6B,CAAC,KAAuB,EAAE,OAAiB;;;IACpF,IAAM,KAAK,GAAU,KAAK,CAAC,YAAY,CAAC,KAAK,oBAEzC,6BAA6B,CAAC,IAAI,EAClC,cAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAC3C,CAAC;IAEF,MAAA,KAAK,CAAC,sBAAsB,0CAAE,gBAAgB,EAAE,CAAC;IACjD,qBAAY,CAAC,gBAAgB,CAAyB,OAAO,gDAAkC,CAAC;IAEhG,IAAM,UAAU,GAAiC,IAAA,2DAA4B,EAAC,KAAK,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;IAClH,IAAM,gBAAgB,GAAyB,UAAU,CAAC,UAAU,CAAC;IACrE,IAAM,cAAc,GAAyB,IAAA,2CAAkC,EAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAEnG,iGAAiG;IACjG,0GAA0G;IAC1G,uFAAuF;IAEvF,IAAI,UAAgC,CAAC;IAErC,oCAAoC;IACpC,oFAAoF;IACpF,IAAI,gBAAgB,CAAC,IAAI,oBAAsB,EAAE;QAC7C,UAAU,GAAG,cAAc,CAAC;KAC/B;IACD,oFAAoF;SAC/E,IACD,cAAc,CAAC,IAAI,oBAAsB;QACzC,cAAc,CAAC,iBAAiB,8BAAmC;QACnE,IAAA,uBAAc,EACV,cAAc,EACd,UAAC,IAA0B,IAAK,OAAA,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,oBAAsB,EAAtE,CAAsE,CACzG,EACH;QACE,UAAU,GAAG,cAAc,CAAC;KAC/B;IACD,gFAAgF;SAC3E,IAAI,gBAAgB,CAAC,IAAI,KAAK,cAAc,CAAC,IAAI,EAAE;QACpD,KAAK,CAAC,IAAI,WAAG,4BAAwB,cAAU,CAAC,iBAAiB,CAAC,eAAI,CAAC,YAAY,CAAC,MAAG,CAAC;QAExF,OAAO,eAAI,CAAC,YAAY,CAAC;KAC5B;IACD,oFAAoF;SAC/E,IAAI,cAAc,CAAC,IAAI,4BAA0B,EAAE;QACpD,UAAU,GAAG,gBAAgB,CAAC;KACjC;IACD,0CAA0C;SACrC;QACD,UAAU,GAAG,cAAc,CAAC;KAC/B;IAED,IAAM,MAAM,GAAyB;QACjC,IAAI,2BAAwB;QAC5B,iBAAiB,yCAAuC;QACxD,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,UAAC,eAA4C,IAAK,OAAA,CAAC;YACrF,WAAW,EAAE,eAAe,CAAC,IAAI,CAAC,OAAO;YACzC,UAAU,EAAE,eAAe,CAAC,UAAU;YACtC,UAAU,EAAE,eAAe,CAAC,UAAU;YACtC,SAAS,EAAE,eAAe,CAAC,SAAS;SACvC,CAAC,EALsF,CAKtF,CAAC;QACH,UAAU,YAAA;KACb,CAAC;IAEF,KAAK,CAAC,IAAI,WAAG,4BAAwB,cAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAG,CAAC;IAE7E,OAAO,MAAM,CAAC;AAClB,CAAC;AAnED,sEAmEC"}
1
+ {"version":3,"file":"inspectTypeFunctionExpression.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,0FAAwF;AAExF,sFAAmG;AAEnG,qCAAgG;AAChG,gCAAoE;AACpE,qFAI4C;AAE5C,SAAsB,6BAA6B,CAC/C,KAAuB,EACvB,OAAiB;;;QAEjB,MAAM,KAAK,GAAU,KAAK,CAAC,YAAY,CAAC,KAAK,oBAEzC,6BAA6B,CAAC,IAAI,EAClC,cAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAC3C,CAAC;QAEF,MAAA,KAAK,CAAC,sBAAsB,0CAAE,gBAAgB,EAAE,CAAC;QACjD,qBAAY,CAAC,gBAAgB,CAAyB,OAAO,gDAAkC,CAAC;QAEhG,MAAM,UAAU,GAAiC,IAAA,2DAA4B,EAAC,KAAK,CAAC,mBAAmB,EAAE,OAAO,CAAC,CAAC;QAClH,MAAM,gBAAgB,GAAyB,UAAU,CAAC,UAAU,CAAC;QACrE,MAAM,cAAc,GAAyB,MAAM,IAAA,2CAAkC,EAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAEzG,iGAAiG;QACjG,0GAA0G;QAC1G,uFAAuF;QAEvF,IAAI,UAAgC,CAAC;QAErC,oCAAoC;QACpC,oFAAoF;QACpF,IAAI,gBAAgB,CAAC,IAAI,oBAAsB,EAAE;YAC7C,UAAU,GAAG,cAAc,CAAC;SAC/B;QACD,oFAAoF;aAC/E,IACD,cAAc,CAAC,IAAI,oBAAsB;YACzC,cAAc,CAAC,iBAAiB,8BAAmC;YACnE,IAAA,uBAAc,EACV,cAAc,EACd,CAAC,IAA0B,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,KAAK,gBAAgB,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,oBAAsB,CACzG,EACH;YACE,UAAU,GAAG,cAAc,CAAC;SAC/B;QACD,gFAAgF;aAC3E,IAAI,gBAAgB,CAAC,IAAI,KAAK,cAAc,CAAC,IAAI,EAAE;YACpD,KAAK,CAAC,IAAI,CAAC,EAAE,uBAAsB,EAAE,cAAU,CAAC,iBAAiB,CAAC,eAAI,CAAC,YAAY,CAAC,EAAE,CAAC,CAAC;YAExF,OAAO,eAAI,CAAC,YAAY,CAAC;SAC5B;QACD,oFAAoF;aAC/E,IAAI,cAAc,CAAC,IAAI,4BAA0B,EAAE;YACpD,UAAU,GAAG,gBAAgB,CAAC;SACjC;QACD,0CAA0C;aACrC;YACD,UAAU,GAAG,cAAc,CAAC;SAC/B;QAED,MAAM,MAAM,GAAyB;YACjC,IAAI,2BAAwB;YAC5B,iBAAiB,yCAAuC;YACxD,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,UAAU,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,eAA4C,EAAE,EAAE,CAAC,CAAC;gBACrF,WAAW,EAAE,eAAe,CAAC,IAAI,CAAC,OAAO;gBACzC,UAAU,EAAE,eAAe,CAAC,UAAU;gBACtC,UAAU,EAAE,eAAe,CAAC,UAAU;gBACtC,SAAS,EAAE,eAAe,CAAC,SAAS;aACvC,CAAC,CAAC;YACH,UAAU;SACb,CAAC;QAEF,KAAK,CAAC,IAAI,CAAC,EAAE,uBAAsB,EAAE,cAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAE7E,OAAO,MAAM,CAAC;;CACjB;AAtED,sEAsEC"}
@@ -1,4 +1,4 @@
1
1
  import { Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
2
2
  import { TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
3
3
  import { InspectTypeState } from "./common";
4
- export declare function inspectTypeFunctionType(state: InspectTypeState, xorNode: TXorNode): Type.FunctionType | Type.Unknown;
4
+ export declare function inspectTypeFunctionType(state: InspectTypeState, xorNode: TXorNode): Promise<Type.FunctionType | Type.Unknown>;
@@ -1,44 +1,52 @@
1
1
  "use strict";
2
2
  // Copyright (c) Microsoft Corporation.
3
3
  // Licensed under the MIT license.
4
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6
+ return new (P || (P = Promise))(function (resolve, reject) {
7
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
10
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
11
+ });
12
+ };
4
13
  Object.defineProperty(exports, "__esModule", { value: true });
5
14
  exports.inspectTypeFunctionType = void 0;
6
- var PQP = require("@microsoft/powerquery-parser");
7
- var language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
8
- var __1 = require("../../..");
9
- var parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
10
- var common_1 = require("./common");
15
+ const PQP = require("@microsoft/powerquery-parser");
16
+ const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
17
+ const __1 = require("../../..");
18
+ const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
19
+ const common_1 = require("./common");
11
20
  function inspectTypeFunctionType(state, xorNode) {
12
- var _a, _b, _c;
13
- var _d;
14
- var trace = state.traceManager.entry("Type" /* Type */, inspectTypeFunctionType.name, __1.TraceUtils.createXorNodeDetails(xorNode));
15
- (_d = state.maybeCancellationToken) === null || _d === void 0 ? void 0 : _d.throwIfCancelled();
16
- parser_1.XorNodeUtils.assertIsNodeKind(xorNode, "FunctionType" /* FunctionType */);
17
- var maybeParameters = parser_1.NodeIdMapUtils.maybeNthChildChecked(state.nodeIdMapCollection, xorNode.node.id, 1, "ParameterList" /* ParameterList */);
18
- if (maybeParameters === undefined) {
19
- trace.exit((_a = {}, _a["Result" /* Result */] = __1.TraceUtils.createTypeDetails(language_1.Type.UnknownInstance), _a));
20
- return language_1.Type.UnknownInstance;
21
- }
22
- var maybeArrayWrapper = parser_1.NodeIdMapUtils.maybeUnboxArrayWrapper(state.nodeIdMapCollection, maybeParameters.node.id);
23
- if (maybeArrayWrapper === undefined) {
24
- trace.exit((_b = {}, _b["Result" /* Result */] = __1.TraceUtils.createTypeDetails(language_1.Type.UnknownInstance), _b));
25
- return language_1.Type.UnknownInstance;
26
- }
27
- var parameterTypes = parser_1.NodeIdMapIterator.iterArrayWrapper(state.nodeIdMapCollection, maybeArrayWrapper)
28
- .map(function (parameter) {
29
- return language_1.TypeUtils.inspectParameter(state.nodeIdMapCollection, parser_1.XorNodeUtils.assertAsParameter(parameter));
30
- })
31
- .filter(PQP.TypeScriptUtils.isDefined);
32
- var returnType = (0, common_1.inspectTypeFromChildAttributeIndex)(state, xorNode, 2);
33
- var result = {
34
- kind: "Type" /* Type */,
35
- maybeExtendedKind: "FunctionType" /* FunctionType */,
36
- isNullable: false,
37
- parameters: parameterTypes,
38
- returnType: returnType,
39
- };
40
- trace.exit((_c = {}, _c["Result" /* Result */] = __1.TraceUtils.createTypeDetails(result), _c));
41
- return result;
21
+ var _a;
22
+ return __awaiter(this, void 0, void 0, function* () {
23
+ const trace = state.traceManager.entry("Type" /* Type */, inspectTypeFunctionType.name, __1.TraceUtils.createXorNodeDetails(xorNode));
24
+ (_a = state.maybeCancellationToken) === null || _a === void 0 ? void 0 : _a.throwIfCancelled();
25
+ parser_1.XorNodeUtils.assertIsNodeKind(xorNode, "FunctionType" /* FunctionType */);
26
+ const maybeParameters = parser_1.NodeIdMapUtils.maybeNthChildChecked(state.nodeIdMapCollection, xorNode.node.id, 1, "ParameterList" /* ParameterList */);
27
+ if (maybeParameters === undefined) {
28
+ trace.exit({ ["Result" /* Result */]: __1.TraceUtils.createTypeDetails(language_1.Type.UnknownInstance) });
29
+ return language_1.Type.UnknownInstance;
30
+ }
31
+ const maybeArrayWrapper = parser_1.NodeIdMapUtils.maybeUnboxArrayWrapper(state.nodeIdMapCollection, maybeParameters.node.id);
32
+ if (maybeArrayWrapper === undefined) {
33
+ trace.exit({ ["Result" /* Result */]: __1.TraceUtils.createTypeDetails(language_1.Type.UnknownInstance) });
34
+ return language_1.Type.UnknownInstance;
35
+ }
36
+ const parameterTypes = parser_1.NodeIdMapIterator.iterArrayWrapper(state.nodeIdMapCollection, maybeArrayWrapper)
37
+ .map((parameter) => language_1.TypeUtils.inspectParameter(state.nodeIdMapCollection, parser_1.XorNodeUtils.assertAsParameter(parameter)))
38
+ .filter(PQP.TypeScriptUtils.isDefined);
39
+ const returnType = yield (0, common_1.inspectTypeFromChildAttributeIndex)(state, xorNode, 2);
40
+ const result = {
41
+ kind: "Type" /* Type */,
42
+ maybeExtendedKind: "FunctionType" /* FunctionType */,
43
+ isNullable: false,
44
+ parameters: parameterTypes,
45
+ returnType,
46
+ };
47
+ trace.exit({ ["Result" /* Result */]: __1.TraceUtils.createTypeDetails(result) });
48
+ return result;
49
+ });
42
50
  }
43
51
  exports.inspectTypeFunctionType = inspectTypeFunctionType;
44
52
  //# sourceMappingURL=inspectTypeFunctionType.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inspectTypeFunctionType.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,kDAAoD;AACpD,wFAAmG;AACnG,8BAAoE;AACpE,oFAMmE;AAGnE,mCAAgF;AAEhF,SAAgB,uBAAuB,CAAC,KAAuB,EAAE,OAAiB;;;IAC9E,IAAM,KAAK,GAAU,KAAK,CAAC,YAAY,CAAC,KAAK,oBAEzC,uBAAuB,CAAC,IAAI,EAC5B,cAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAC3C,CAAC;IAEF,MAAA,KAAK,CAAC,sBAAsB,0CAAE,gBAAgB,EAAE,CAAC;IACjD,qBAAY,CAAC,gBAAgB,CAAmB,OAAO,oCAA4B,CAAC;IAEpF,IAAM,eAAe,GACjB,uBAAc,CAAC,oBAAoB,CAC/B,KAAK,CAAC,mBAAmB,EACzB,OAAO,CAAC,IAAI,CAAC,EAAE,EACf,CAAC,sCAEJ,CAAC;IAEN,IAAI,eAAe,KAAK,SAAS,EAAE;QAC/B,KAAK,CAAC,IAAI,WAAG,4BAAwB,cAAU,CAAC,iBAAiB,CAAC,eAAI,CAAC,eAAe,CAAC,MAAG,CAAC;QAE3F,OAAO,eAAI,CAAC,eAAe,CAAC;KAC/B;IAED,IAAM,iBAAiB,GAA2C,uBAAc,CAAC,sBAAsB,CACnG,KAAK,CAAC,mBAAmB,EACzB,eAAe,CAAC,IAAI,CAAC,EAAE,CAC1B,CAAC;IAEF,IAAI,iBAAiB,KAAK,SAAS,EAAE;QACjC,KAAK,CAAC,IAAI,WAAG,4BAAwB,cAAU,CAAC,iBAAiB,CAAC,eAAI,CAAC,eAAe,CAAC,MAAG,CAAC;QAE3F,OAAO,eAAI,CAAC,eAAe,CAAC;KAC/B;IAED,IAAM,cAAc,GAA0C,0BAAiB,CAAC,gBAAgB,CAC5F,KAAK,CAAC,mBAAmB,EACzB,iBAAiB,CACpB;SACI,GAAG,CAAC,UAAC,SAAmB;QACrB,OAAA,oBAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,mBAAmB,EAAE,qBAAY,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC;IAAhG,CAAgG,CACnG;SACA,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;IAE3C,IAAM,UAAU,GAAyB,IAAA,2CAAkC,EAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;IAE/F,IAAM,MAAM,GAAyB;QACjC,IAAI,mBAAoB;QACxB,iBAAiB,mCAAoC;QACrD,UAAU,EAAE,KAAK;QACjB,UAAU,EAAE,cAAc;QAC1B,UAAU,YAAA;KACb,CAAC;IAEF,KAAK,CAAC,IAAI,WAAG,4BAAwB,cAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAG,CAAC;IAE7E,OAAO,MAAM,CAAC;AAClB,CAAC;AAzDD,0DAyDC"}
1
+ {"version":3,"file":"inspectTypeFunctionType.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,oDAAoD;AACpD,0FAAmG;AACnG,gCAAoE;AACpE,sFAMmE;AAGnE,qCAAgF;AAEhF,SAAsB,uBAAuB,CACzC,KAAuB,EACvB,OAAiB;;;QAEjB,MAAM,KAAK,GAAU,KAAK,CAAC,YAAY,CAAC,KAAK,oBAEzC,uBAAuB,CAAC,IAAI,EAC5B,cAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAC3C,CAAC;QAEF,MAAA,KAAK,CAAC,sBAAsB,0CAAE,gBAAgB,EAAE,CAAC;QACjD,qBAAY,CAAC,gBAAgB,CAAmB,OAAO,oCAA4B,CAAC;QAEpF,MAAM,eAAe,GACjB,uBAAc,CAAC,oBAAoB,CAC/B,KAAK,CAAC,mBAAmB,EACzB,OAAO,CAAC,IAAI,CAAC,EAAE,EACf,CAAC,sCAEJ,CAAC;QAEN,IAAI,eAAe,KAAK,SAAS,EAAE;YAC/B,KAAK,CAAC,IAAI,CAAC,EAAE,uBAAsB,EAAE,cAAU,CAAC,iBAAiB,CAAC,eAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YAE3F,OAAO,eAAI,CAAC,eAAe,CAAC;SAC/B;QAED,MAAM,iBAAiB,GAA2C,uBAAc,CAAC,sBAAsB,CACnG,KAAK,CAAC,mBAAmB,EACzB,eAAe,CAAC,IAAI,CAAC,EAAE,CAC1B,CAAC;QAEF,IAAI,iBAAiB,KAAK,SAAS,EAAE;YACjC,KAAK,CAAC,IAAI,CAAC,EAAE,uBAAsB,EAAE,cAAU,CAAC,iBAAiB,CAAC,eAAI,CAAC,eAAe,CAAC,EAAE,CAAC,CAAC;YAE3F,OAAO,eAAI,CAAC,eAAe,CAAC;SAC/B;QAED,MAAM,cAAc,GAA0C,0BAAiB,CAAC,gBAAgB,CAC5F,KAAK,CAAC,mBAAmB,EACzB,iBAAiB,CACpB;aACI,GAAG,CAAC,CAAC,SAAmB,EAAE,EAAE,CACzB,oBAAS,CAAC,gBAAgB,CAAC,KAAK,CAAC,mBAAmB,EAAE,qBAAY,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAAC,CACnG;aACA,MAAM,CAAC,GAAG,CAAC,eAAe,CAAC,SAAS,CAAC,CAAC;QAE3C,MAAM,UAAU,GAAyB,MAAM,IAAA,2CAAkC,EAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC;QAErG,MAAM,MAAM,GAAyB;YACjC,IAAI,mBAAoB;YACxB,iBAAiB,mCAAoC;YACrD,UAAU,EAAE,KAAK;YACjB,UAAU,EAAE,cAAc;YAC1B,UAAU;SACb,CAAC;QAEF,KAAK,CAAC,IAAI,CAAC,EAAE,uBAAsB,EAAE,cAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAE7E,OAAO,MAAM,CAAC;;CACjB;AA5DD,0DA4DC"}
@@ -1,4 +1,4 @@
1
1
  import { Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
2
2
  import { TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
3
3
  import { InspectTypeState } from "./common";
4
- export declare function inspectTypeIdentifier(state: InspectTypeState, xorNode: TXorNode): Type.TPowerQueryType;
4
+ export declare function inspectTypeIdentifier(state: InspectTypeState, xorNode: TXorNode): Promise<Type.TPowerQueryType>;
@@ -1,28 +1,38 @@
1
1
  "use strict";
2
2
  // Copyright (c) Microsoft Corporation.
3
3
  // Licensed under the MIT license.
4
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6
+ return new (P || (P = Promise))(function (resolve, reject) {
7
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
10
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
11
+ });
12
+ };
4
13
  Object.defineProperty(exports, "__esModule", { value: true });
5
14
  exports.inspectTypeIdentifier = void 0;
6
- var language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
7
- var parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
8
- var common_1 = require("./common");
9
- var __1 = require("../../..");
15
+ const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
16
+ const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
17
+ const common_1 = require("./common");
18
+ const __1 = require("../../..");
10
19
  function inspectTypeIdentifier(state, xorNode) {
11
20
  var _a;
12
- var _b;
13
- var trace = state.traceManager.entry("Type" /* Type */, inspectTypeIdentifier.name, __1.TraceUtils.createXorNodeDetails(xorNode));
14
- (_b = state.maybeCancellationToken) === null || _b === void 0 ? void 0 : _b.throwIfCancelled();
15
- parser_1.XorNodeUtils.assertIsNodeKind(xorNode, "Identifier" /* Identifier */);
16
- var result;
17
- if (parser_1.XorNodeUtils.isContextXor(xorNode)) {
18
- result = language_1.Type.UnknownInstance;
19
- }
20
- else {
21
- var dereferencedType = (0, common_1.maybeDereferencedIdentifierType)(state, xorNode);
22
- result = dereferencedType !== null && dereferencedType !== void 0 ? dereferencedType : language_1.Type.UnknownInstance;
23
- }
24
- trace.exit((_a = {}, _a["Result" /* Result */] = __1.TraceUtils.createTypeDetails(result), _a));
25
- return result;
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ const trace = state.traceManager.entry("Type" /* Type */, inspectTypeIdentifier.name, __1.TraceUtils.createXorNodeDetails(xorNode));
23
+ (_a = state.maybeCancellationToken) === null || _a === void 0 ? void 0 : _a.throwIfCancelled();
24
+ parser_1.XorNodeUtils.assertIsNodeKind(xorNode, "Identifier" /* Identifier */);
25
+ let result;
26
+ if (parser_1.XorNodeUtils.isContextXor(xorNode)) {
27
+ result = language_1.Type.UnknownInstance;
28
+ }
29
+ else {
30
+ const dereferencedType = yield (0, common_1.maybeDereferencedIdentifierType)(state, xorNode);
31
+ result = dereferencedType !== null && dereferencedType !== void 0 ? dereferencedType : language_1.Type.UnknownInstance;
32
+ }
33
+ trace.exit({ ["Result" /* Result */]: __1.TraceUtils.createTypeDetails(result) });
34
+ return result;
35
+ });
26
36
  }
27
37
  exports.inspectTypeIdentifier = inspectTypeIdentifier;
28
38
  //# sourceMappingURL=inspectTypeIdentifier.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inspectTypeIdentifier.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,wFAAwF;AAExF,oFAAmG;AAEnG,mCAA6E;AAC7E,8BAAoE;AAEpE,SAAgB,qBAAqB,CAAC,KAAuB,EAAE,OAAiB;;;IAC5E,IAAM,KAAK,GAAU,KAAK,CAAC,YAAY,CAAC,KAAK,oBAEzC,qBAAqB,CAAC,IAAI,EAC1B,cAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAC3C,CAAC;IAEF,MAAA,KAAK,CAAC,sBAAsB,0CAAE,gBAAgB,EAAE,CAAC;IACjD,qBAAY,CAAC,gBAAgB,CAAiB,OAAO,gCAA0B,CAAC;IAEhF,IAAI,MAA4B,CAAC;IAEjC,IAAI,qBAAY,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;QACpC,MAAM,GAAG,eAAI,CAAC,eAAe,CAAC;KACjC;SAAM;QACH,IAAM,gBAAgB,GAAqC,IAAA,wCAA+B,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3G,MAAM,GAAG,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,eAAI,CAAC,eAAe,CAAC;KACrD;IAED,KAAK,CAAC,IAAI,WAAG,4BAAwB,cAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAG,CAAC;IAE7E,OAAO,MAAM,CAAC;AAClB,CAAC;AAtBD,sDAsBC"}
1
+ {"version":3,"file":"inspectTypeIdentifier.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,0FAAwF;AAExF,sFAAmG;AAEnG,qCAA6E;AAC7E,gCAAoE;AAEpE,SAAsB,qBAAqB,CAAC,KAAuB,EAAE,OAAiB;;;QAClF,MAAM,KAAK,GAAU,KAAK,CAAC,YAAY,CAAC,KAAK,oBAEzC,qBAAqB,CAAC,IAAI,EAC1B,cAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAC3C,CAAC;QAEF,MAAA,KAAK,CAAC,sBAAsB,0CAAE,gBAAgB,EAAE,CAAC;QACjD,qBAAY,CAAC,gBAAgB,CAAiB,OAAO,gCAA0B,CAAC;QAEhF,IAAI,MAA4B,CAAC;QAEjC,IAAI,qBAAY,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;YACpC,MAAM,GAAG,eAAI,CAAC,eAAe,CAAC;SACjC;aAAM;YACH,MAAM,gBAAgB,GAAqC,MAAM,IAAA,wCAA+B,EAC5F,KAAK,EACL,OAAO,CACV,CAAC;YAEF,MAAM,GAAG,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,eAAI,CAAC,eAAe,CAAC;SACrD;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,uBAAsB,EAAE,cAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAE7E,OAAO,MAAM,CAAC;;CACjB;AA1BD,sDA0BC"}
@@ -1,4 +1,4 @@
1
1
  import { Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
2
2
  import { TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
3
3
  import { InspectTypeState } from "./common";
4
- export declare function inspectTypeIdentifierExpression(state: InspectTypeState, xorNode: TXorNode): Type.TPowerQueryType;
4
+ export declare function inspectTypeIdentifierExpression(state: InspectTypeState, xorNode: TXorNode): Promise<Type.TPowerQueryType>;
@@ -1,28 +1,38 @@
1
1
  "use strict";
2
2
  // Copyright (c) Microsoft Corporation.
3
3
  // Licensed under the MIT license.
4
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6
+ return new (P || (P = Promise))(function (resolve, reject) {
7
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
10
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
11
+ });
12
+ };
4
13
  Object.defineProperty(exports, "__esModule", { value: true });
5
14
  exports.inspectTypeIdentifierExpression = void 0;
6
- var language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
7
- var parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
8
- var common_1 = require("./common");
9
- var __1 = require("../../..");
15
+ const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
16
+ const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
17
+ const common_1 = require("./common");
18
+ const __1 = require("../../..");
10
19
  function inspectTypeIdentifierExpression(state, xorNode) {
11
20
  var _a;
12
- var _b;
13
- var trace = state.traceManager.entry("Type" /* Type */, inspectTypeIdentifierExpression.name, __1.TraceUtils.createXorNodeDetails(xorNode));
14
- (_b = state.maybeCancellationToken) === null || _b === void 0 ? void 0 : _b.throwIfCancelled();
15
- parser_1.XorNodeUtils.assertIsNodeKind(xorNode, "IdentifierExpression" /* IdentifierExpression */);
16
- var result;
17
- if (parser_1.XorNodeUtils.isContextXor(xorNode)) {
18
- result = language_1.Type.UnknownInstance;
19
- }
20
- else {
21
- var dereferencedType = (0, common_1.maybeDereferencedIdentifierType)(state, xorNode);
22
- result = dereferencedType !== null && dereferencedType !== void 0 ? dereferencedType : language_1.Type.UnknownInstance;
23
- }
24
- trace.exit((_a = {}, _a["Result" /* Result */] = __1.TraceUtils.createTypeDetails(result), _a));
25
- return result;
21
+ return __awaiter(this, void 0, void 0, function* () {
22
+ const trace = state.traceManager.entry("Type" /* Type */, inspectTypeIdentifierExpression.name, __1.TraceUtils.createXorNodeDetails(xorNode));
23
+ (_a = state.maybeCancellationToken) === null || _a === void 0 ? void 0 : _a.throwIfCancelled();
24
+ parser_1.XorNodeUtils.assertIsNodeKind(xorNode, "IdentifierExpression" /* IdentifierExpression */);
25
+ let result;
26
+ if (parser_1.XorNodeUtils.isContextXor(xorNode)) {
27
+ result = language_1.Type.UnknownInstance;
28
+ }
29
+ else {
30
+ const dereferencedType = yield (0, common_1.maybeDereferencedIdentifierType)(state, xorNode);
31
+ result = dereferencedType !== null && dereferencedType !== void 0 ? dereferencedType : language_1.Type.UnknownInstance;
32
+ }
33
+ trace.exit({ ["Result" /* Result */]: __1.TraceUtils.createTypeDetails(result) });
34
+ return result;
35
+ });
26
36
  }
27
37
  exports.inspectTypeIdentifierExpression = inspectTypeIdentifierExpression;
28
38
  //# sourceMappingURL=inspectTypeIdentifierExpression.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"inspectTypeIdentifierExpression.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,wFAAwF;AAExF,oFAAmG;AAEnG,mCAA6E;AAC7E,8BAAoE;AAEpE,SAAgB,+BAA+B,CAAC,KAAuB,EAAE,OAAiB;;;IACtF,IAAM,KAAK,GAAU,KAAK,CAAC,YAAY,CAAC,KAAK,oBAEzC,+BAA+B,CAAC,IAAI,EACpC,cAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAC3C,CAAC;IAEF,MAAA,KAAK,CAAC,sBAAsB,0CAAE,gBAAgB,EAAE,CAAC;IACjD,qBAAY,CAAC,gBAAgB,CAA2B,OAAO,oDAAoC,CAAC;IAEpG,IAAI,MAA4B,CAAC;IAEjC,IAAI,qBAAY,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;QACpC,MAAM,GAAG,eAAI,CAAC,eAAe,CAAC;KACjC;SAAM;QACH,IAAM,gBAAgB,GAAqC,IAAA,wCAA+B,EAAC,KAAK,EAAE,OAAO,CAAC,CAAC;QAC3G,MAAM,GAAG,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,eAAI,CAAC,eAAe,CAAC;KACrD;IAED,KAAK,CAAC,IAAI,WAAG,4BAAwB,cAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,MAAG,CAAC;IAE7E,OAAO,MAAM,CAAC;AAClB,CAAC;AAtBD,0EAsBC"}
1
+ {"version":3,"file":"inspectTypeIdentifierExpression.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,0FAAwF;AAExF,sFAAmG;AAEnG,qCAA6E;AAC7E,gCAAoE;AAEpE,SAAsB,+BAA+B,CACjD,KAAuB,EACvB,OAAiB;;;QAEjB,MAAM,KAAK,GAAU,KAAK,CAAC,YAAY,CAAC,KAAK,oBAEzC,+BAA+B,CAAC,IAAI,EACpC,cAAU,CAAC,oBAAoB,CAAC,OAAO,CAAC,CAC3C,CAAC;QAEF,MAAA,KAAK,CAAC,sBAAsB,0CAAE,gBAAgB,EAAE,CAAC;QACjD,qBAAY,CAAC,gBAAgB,CAA2B,OAAO,oDAAoC,CAAC;QAEpG,IAAI,MAA4B,CAAC;QAEjC,IAAI,qBAAY,CAAC,YAAY,CAAC,OAAO,CAAC,EAAE;YACpC,MAAM,GAAG,eAAI,CAAC,eAAe,CAAC;SACjC;aAAM;YACH,MAAM,gBAAgB,GAAqC,MAAM,IAAA,wCAA+B,EAC5F,KAAK,EACL,OAAO,CACV,CAAC;YAEF,MAAM,GAAG,gBAAgB,aAAhB,gBAAgB,cAAhB,gBAAgB,GAAI,eAAI,CAAC,eAAe,CAAC;SACrD;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,uBAAsB,EAAE,cAAU,CAAC,iBAAiB,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;QAE7E,OAAO,MAAM,CAAC;;CACjB;AA7BD,0EA6BC"}
@@ -1,4 +1,4 @@
1
1
  import { Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
2
2
  import { TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
3
3
  import { InspectTypeState } from "./common";
4
- export declare function inspectTypeIfExpression(state: InspectTypeState, xorNode: TXorNode): Type.TPowerQueryType;
4
+ export declare function inspectTypeIfExpression(state: InspectTypeState, xorNode: TXorNode): Promise<Type.TPowerQueryType>;