@microsoft/powerquery-language-services 0.2.10 → 0.2.15
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/powerquery-language-services/analysis/analysisBase.js +3 -3
- package/lib/powerquery-language-services/analysis/analysisBase.js.map +1 -1
- package/lib/powerquery-language-services/commonTypesUtils.js.map +1 -1
- package/lib/powerquery-language-services/documentSymbols.js +21 -16
- package/lib/powerquery-language-services/documentSymbols.js.map +1 -1
- package/lib/powerquery-language-services/formatter.js +2 -1
- package/lib/powerquery-language-services/formatter.js.map +1 -1
- package/lib/powerquery-language-services/inspection/activeNode/activeNode.d.ts +4 -3
- package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.d.ts +7 -6
- package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js +29 -28
- package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js +29 -30
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItem.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.d.ts +6 -6
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js +19 -16
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js +35 -35
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js +6 -6
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js +4 -3
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js +5 -6
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js +16 -13
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js +7 -7
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js +11 -9
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.js +8 -6
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/commonTypes.d.ts +4 -4
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js +21 -25
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js +21 -24
- package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteUtils.js +4 -4
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/commonTypes.d.ts +5 -3
- package/lib/powerquery-language-services/inspection/autocomplete/task.js +5 -5
- package/lib/powerquery-language-services/inspection/autocomplete/task.js.map +1 -1
- package/lib/powerquery-language-services/inspection/expectedType.d.ts +5 -3
- package/lib/powerquery-language-services/inspection/expectedType.js +70 -67
- package/lib/powerquery-language-services/inspection/expectedType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/externalType/externalType.d.ts +5 -5
- package/lib/powerquery-language-services/inspection/externalType/externalType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/externalType/externalTypeUtils.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/externalType/externalTypeUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/invokeExpression/common.d.ts +7 -6
- package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.d.ts +2 -1
- package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js +10 -11
- package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.d.ts +2 -1
- package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js +15 -14
- package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.d.ts +6 -5
- package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js +12 -15
- package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/scope/scope.d.ts +12 -10
- package/lib/powerquery-language-services/inspection/scope/scopeInspection.d.ts +4 -3
- package/lib/powerquery-language-services/inspection/scope/scopeInspection.js +26 -25
- package/lib/powerquery-language-services/inspection/scope/scopeInspection.js.map +1 -1
- package/lib/powerquery-language-services/inspection/task.js +8 -8
- package/lib/powerquery-language-services/inspection/task.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/common.d.ts +11 -10
- package/lib/powerquery-language-services/inspection/type/inspectType/common.js +50 -49
- package/lib/powerquery-language-services/inspection/type/inspectType/common.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.d.ts +4 -3
- package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js +8 -10
- package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.js +25 -24
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js +5 -4
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js +8 -7
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldProjection.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldProjection.js +26 -22
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldProjection.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSelector.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSelector.js +14 -15
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSelector.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js +6 -5
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js +10 -11
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js +10 -8
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js +7 -6
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js +7 -6
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js +11 -12
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js +14 -12
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js +3 -5
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js +6 -5
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js +8 -7
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js +9 -9
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js +5 -4
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js +6 -5
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js +14 -16
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js +6 -5
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js +6 -5
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js +11 -10
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.d.ts +7 -6
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js +57 -103
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js +7 -6
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js +25 -22
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/task.d.ts +5 -3
- package/lib/powerquery-language-services/inspection/type/task.js +6 -6
- package/lib/powerquery-language-services/inspection/type/task.js.map +1 -1
- package/lib/powerquery-language-services/inspection/typeCache/typeCache.d.ts +2 -2
- package/lib/powerquery-language-services/inspectionUtils.d.ts +8 -7
- package/lib/powerquery-language-services/inspectionUtils.js +11 -14
- package/lib/powerquery-language-services/inspectionUtils.js.map +1 -1
- package/lib/powerquery-language-services/library/library.d.ts +3 -3
- package/lib/powerquery-language-services/library/libraryUtils.d.ts +3 -3
- package/lib/powerquery-language-services/library/libraryUtils.js +2 -2
- package/lib/powerquery-language-services/library/libraryUtils.js.map +1 -1
- package/lib/powerquery-language-services/localization/localization.js +7 -7
- package/lib/powerquery-language-services/localization/localization.js.map +1 -1
- package/lib/powerquery-language-services/localization/templates/templates.bg-BG.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.ca-ES.json +1 -0
- package/lib/powerquery-language-services/localization/templates/templates.cs-CZ.json +1 -0
- package/lib/powerquery-language-services/localization/templates/templates.da-DK.json +1 -0
- package/lib/powerquery-language-services/localization/templates/templates.de-DE.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.el-GR.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.es-ES.json +1 -0
- package/lib/powerquery-language-services/localization/templates/templates.et-EE.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.eu-ES.json +1 -0
- package/lib/powerquery-language-services/localization/templates/templates.fi-FI.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.fr-FR.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.gl-ES.json +1 -0
- package/lib/powerquery-language-services/localization/templates/templates.hi-IN.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.hr-HR.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.hu-HU.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.id-ID.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.it-IT.json +1 -0
- package/lib/powerquery-language-services/localization/templates/templates.ja-JP.json +1 -0
- package/lib/powerquery-language-services/localization/templates/templates.json +3 -1
- package/lib/powerquery-language-services/localization/templates/templates.kk-KZ.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.ko-KR.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.lt-LT.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.lv-LV.json +1 -0
- package/lib/powerquery-language-services/localization/templates/templates.ms-MY.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.nb-NO.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.nl-NL.json +1 -0
- package/lib/powerquery-language-services/localization/templates/templates.pl-PL.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.pt-BR.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.pt-PT.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.ro-RO.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.ru-RU.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.sk-SK.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.sl-SI.json +1 -0
- package/lib/powerquery-language-services/localization/templates/templates.sr-Cyrl-RS.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.sr-Latn-RS.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.sv-SE.json +1 -0
- package/lib/powerquery-language-services/localization/templates/templates.th-TH.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.tr-TR.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.uk-UA.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.vi-VN.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.zh-CN.json +2 -1
- package/lib/powerquery-language-services/localization/templates/templates.zh-TW.json +1 -0
- package/lib/powerquery-language-services/positionUtils.d.ts +18 -16
- package/lib/powerquery-language-services/positionUtils.js +11 -10
- package/lib/powerquery-language-services/positionUtils.js.map +1 -1
- package/lib/powerquery-language-services/providers/commonTypes.d.ts +2 -2
- package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js +13 -9
- package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js.map +1 -1
- package/lib/powerquery-language-services/providers/librarySymbolProvider.js +5 -4
- package/lib/powerquery-language-services/providers/librarySymbolProvider.js.map +1 -1
- package/lib/powerquery-language-services/providers/localDocumentSymbolProvider.js +22 -22
- package/lib/powerquery-language-services/providers/localDocumentSymbolProvider.js.map +1 -1
- package/lib/powerquery-language-services/validate/validate.js +12 -7
- package/lib/powerquery-language-services/validate/validate.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.d.ts +1 -1
- package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js +18 -13
- package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateFunctionExpression.d.ts +5 -0
- package/lib/powerquery-language-services/validate/validateFunctionExpression.js +149 -0
- package/lib/powerquery-language-services/validate/validateFunctionExpression.js.map +1 -0
- package/lib/powerquery-language-services/validate/validateInvokeExpression.d.ts +2 -2
- package/lib/powerquery-language-services/validate/validateInvokeExpression.js +17 -11
- package/lib/powerquery-language-services/validate/validateInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateLexAndParse.js +2 -1
- package/lib/powerquery-language-services/validate/validateLexAndParse.js.map +1 -1
- package/lib/powerquery-language-services/validate/validationSettings/validationSettings.d.ts +1 -0
- package/lib/powerquery-language-services/validate/validationSettings/validationSettingsUtils.d.ts +1 -1
- package/lib/powerquery-language-services/validate/validationSettings/validationSettingsUtils.js +2 -2
- package/lib/powerquery-language-services/validate/validationSettings/validationSettingsUtils.js.map +1 -1
- package/lib/powerquery-language-services/workspaceCache/workspaceCacheUtils.js.map +1 -1
- package/package.json +22 -24
package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js
CHANGED
|
@@ -3,15 +3,17 @@
|
|
|
3
3
|
// Licensed under the MIT license.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.tryAutocompletePrimitiveType = void 0;
|
|
6
|
-
var
|
|
6
|
+
var powerquery_parser_1 = require("@microsoft/powerquery-parser");
|
|
7
|
+
var language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
|
|
8
|
+
var parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
|
|
7
9
|
var __1 = require("../..");
|
|
8
10
|
var activeNode_1 = require("../activeNode");
|
|
9
11
|
var autocompleteItem_1 = require("./autocompleteItem");
|
|
10
12
|
function tryAutocompletePrimitiveType(settings, maybeActiveNode, maybeTrailingToken) {
|
|
11
13
|
if (!activeNode_1.ActiveNodeUtils.isPositionInBounds(maybeActiveNode)) {
|
|
12
|
-
return
|
|
14
|
+
return powerquery_parser_1.ResultUtils.boxOk([]);
|
|
13
15
|
}
|
|
14
|
-
return
|
|
16
|
+
return powerquery_parser_1.ResultUtils.ensureResult(settings.locale, function () {
|
|
15
17
|
return autocompletePrimitiveType(maybeActiveNode, maybeTrailingToken === null || maybeTrailingToken === void 0 ? void 0 : maybeTrailingToken.data);
|
|
16
18
|
});
|
|
17
19
|
}
|
|
@@ -19,9 +21,9 @@ exports.tryAutocompletePrimitiveType = tryAutocompletePrimitiveType;
|
|
|
19
21
|
function autocompletePrimitiveType(activeNode, maybeTrailingText) {
|
|
20
22
|
return createAutocompleteItems(traverseAncestors(activeNode), maybeTrailingText);
|
|
21
23
|
}
|
|
22
|
-
function createAutocompleteItems(
|
|
23
|
-
return
|
|
24
|
-
return autocompleteItem_1.AutocompleteItemUtils.
|
|
24
|
+
function createAutocompleteItems(PrimitiveTypeConstants, maybeTrailingText) {
|
|
25
|
+
return PrimitiveTypeConstants.map(function (PrimitiveTypeConstant) {
|
|
26
|
+
return autocompleteItem_1.AutocompleteItemUtils.createFromPrimitiveTypeConstant(PrimitiveTypeConstant, maybeTrailingText);
|
|
25
27
|
});
|
|
26
28
|
}
|
|
27
29
|
function traverseAncestors(activeNode) {
|
|
@@ -36,47 +38,42 @@ function traverseAncestors(activeNode) {
|
|
|
36
38
|
// If the node is a context PrimitiveType node,
|
|
37
39
|
// which is created only when a primitive type was expected but there was nothing to parse.
|
|
38
40
|
// `x as |`
|
|
39
|
-
if (parent_1
|
|
40
|
-
|
|
41
|
-
return PQP.Language.Constant.PrimitiveTypeConstantKinds;
|
|
41
|
+
if (parser_1.XorNodeUtils.isContextXorChecked(parent_1, "PrimitiveType" /* PrimitiveType */)) {
|
|
42
|
+
return language_1.Constant.PrimitiveTypeConstants;
|
|
42
43
|
}
|
|
43
44
|
// If on the second attribute for TypePrimaryType.
|
|
44
45
|
// `type |`
|
|
45
46
|
else if (parent_1.node.kind === "TypePrimaryType" /* TypePrimaryType */) {
|
|
46
47
|
if (maybeChild === undefined) {
|
|
47
|
-
return
|
|
48
|
+
return language_1.Constant.PrimitiveTypeConstants;
|
|
48
49
|
}
|
|
49
50
|
else if (maybeChild.node.maybeAttributeIndex === 0 &&
|
|
50
|
-
maybeChild
|
|
51
|
+
parser_1.XorNodeUtils.isAstXor(maybeChild) &&
|
|
51
52
|
__1.PositionUtils.isAfterAst(activeNode.position, maybeChild.node, true)) {
|
|
52
|
-
return
|
|
53
|
+
return language_1.Constant.PrimitiveTypeConstants;
|
|
53
54
|
}
|
|
54
55
|
}
|
|
55
56
|
// If on a FunctionExpression parameter.
|
|
56
57
|
else if (parent_1.node.kind === "Parameter" /* Parameter */ &&
|
|
57
|
-
|
|
58
|
-
"FunctionExpression" /* FunctionExpression */,
|
|
59
|
-
]) !== undefined) {
|
|
58
|
+
parser_1.AncestryUtils.maybeNthNextXorChecked(ancestry, index, 4, "FunctionExpression" /* FunctionExpression */) !== undefined) {
|
|
60
59
|
// Things get messy when testing if it's on a nullable primitive type OR a primitive type.
|
|
61
|
-
var maybeGrandchild =
|
|
60
|
+
var maybeGrandchild = parser_1.AncestryUtils.maybeNthPreviousXor(ancestry, index, 2);
|
|
62
61
|
if (maybeGrandchild === undefined) {
|
|
63
62
|
continue;
|
|
64
63
|
}
|
|
65
64
|
// On primitive type.
|
|
66
65
|
// `(x as |) => 0`
|
|
67
|
-
else if (maybeGrandchild
|
|
68
|
-
maybeGrandchild.node.kind === "Constant" /* Constant */ &&
|
|
66
|
+
else if (parser_1.XorNodeUtils.isAstXorChecked(maybeGrandchild, "Constant" /* Constant */) &&
|
|
69
67
|
maybeGrandchild.node.constantKind === "as" /* As */ &&
|
|
70
68
|
__1.PositionUtils.isAfterAst(activeNode.position, maybeGrandchild.node, true)) {
|
|
71
|
-
return
|
|
69
|
+
return language_1.Constant.PrimitiveTypeConstants;
|
|
72
70
|
}
|
|
73
71
|
// On nullable primitive type
|
|
74
72
|
// `(x as nullable |) => 0`
|
|
75
|
-
else if (maybeGrandchild.node.kind === "NullablePrimitiveType" /* NullablePrimitiveType */
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
}
|
|
73
|
+
else if (maybeGrandchild.node.kind === "NullablePrimitiveType" /* NullablePrimitiveType */ &&
|
|
74
|
+
// Check the great grandchild
|
|
75
|
+
parser_1.AncestryUtils.maybeNthPreviousXorChecked(ancestry, index, 3, "PrimitiveType" /* PrimitiveType */)) {
|
|
76
|
+
return language_1.Constant.PrimitiveTypeConstants;
|
|
80
77
|
}
|
|
81
78
|
}
|
|
82
79
|
}
|
package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocompletePrimitiveType.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;
|
|
1
|
+
{"version":3,"file":"autocompletePrimitiveType.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,16 +3,16 @@
|
|
|
3
3
|
// Licensed under the MIT license.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.keys = void 0;
|
|
6
|
-
var
|
|
6
|
+
var powerquery_parser_1 = require("@microsoft/powerquery-parser");
|
|
7
7
|
function keys(autocomplete) {
|
|
8
8
|
var result = [];
|
|
9
|
-
if (
|
|
9
|
+
if (powerquery_parser_1.ResultUtils.isOk(autocomplete.triedFieldAccess) && autocomplete.triedFieldAccess.value !== undefined) {
|
|
10
10
|
result = result.concat(autocomplete.triedFieldAccess.value.autocompleteItems.map(function (autocompleteItem) { return autocompleteItem.label; }));
|
|
11
11
|
}
|
|
12
|
-
if (
|
|
12
|
+
if (powerquery_parser_1.ResultUtils.isOk(autocomplete.triedKeyword)) {
|
|
13
13
|
result = result.concat(autocomplete.triedKeyword.value.map(function (autocompleteItem) { return autocompleteItem.label; }));
|
|
14
14
|
}
|
|
15
|
-
if (
|
|
15
|
+
if (powerquery_parser_1.ResultUtils.isOk(autocomplete.triedPrimitiveType) && autocomplete.triedPrimitiveType.value !== undefined) {
|
|
16
16
|
result = result.concat(autocomplete.triedPrimitiveType.value.map(function (autocompleteItem) { return autocompleteItem.label; }));
|
|
17
17
|
}
|
|
18
18
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocompleteUtils.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteUtils.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,
|
|
1
|
+
{"version":3,"file":"autocompleteUtils.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteUtils.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,kEAA2D;AAM3D,SAAgB,IAAI,CAAC,YAA0B;IAC3C,IAAI,MAAM,GAAa,EAAE,CAAC;IAE1B,IAAI,+BAAW,CAAC,IAAI,CAAC,YAAY,CAAC,gBAAgB,CAAC,IAAI,YAAY,CAAC,gBAAgB,CAAC,KAAK,KAAK,SAAS,EAAE;QACtG,MAAM,GAAG,MAAM,CAAC,MAAM,CAClB,YAAY,CAAC,gBAAgB,CAAC,KAAK,CAAC,iBAAiB,CAAC,GAAG,CACrD,UAAC,gBAAkC,IAAK,OAAA,gBAAgB,CAAC,KAAK,EAAtB,CAAsB,CACjE,CACJ,CAAC;KACL;IAED,IAAI,+BAAW,CAAC,IAAI,CAAC,YAAY,CAAC,YAAY,CAAC,EAAE;QAC7C,MAAM,GAAG,MAAM,CAAC,MAAM,CAClB,YAAY,CAAC,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,gBAAkC,IAAK,OAAA,gBAAgB,CAAC,KAAK,EAAtB,CAAsB,CAAC,CACtG,CAAC;KACL;IAED,IAAI,+BAAW,CAAC,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,IAAI,YAAY,CAAC,kBAAkB,CAAC,KAAK,KAAK,SAAS,EAAE;QAC1G,MAAM,GAAG,MAAM,CAAC,MAAM,CAClB,YAAY,CAAC,kBAAkB,CAAC,KAAK,CAAC,GAAG,CAAC,UAAC,gBAAkC,IAAK,OAAA,gBAAgB,CAAC,KAAK,EAAtB,CAAsB,CAAC,CAC5G,CAAC;KACL;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAxBD,oBAwBC"}
|
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import * as PQP from "@microsoft/powerquery-parser";
|
|
2
|
+
import { Ast, Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
|
|
3
|
+
import { TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
|
|
2
4
|
import { AutocompleteItem } from "./autocompleteItem";
|
|
3
5
|
export declare type TriedAutocompleteFieldAccess = PQP.Result<AutocompleteFieldAccess | undefined, PQP.CommonError.CommonError>;
|
|
4
6
|
export declare type TriedAutocompleteKeyword = PQP.Result<ReadonlyArray<AutocompleteItem>, PQP.CommonError.CommonError>;
|
|
@@ -11,14 +13,14 @@ export interface Autocomplete {
|
|
|
11
13
|
readonly triedPrimitiveType: TriedAutocompletePrimitiveType;
|
|
12
14
|
}
|
|
13
15
|
export interface AutocompleteFieldAccess {
|
|
14
|
-
readonly field:
|
|
15
|
-
readonly fieldType:
|
|
16
|
+
readonly field: TXorNode;
|
|
17
|
+
readonly fieldType: Type.TPowerQueryType;
|
|
16
18
|
readonly inspectedFieldAccess: InspectedFieldAccess;
|
|
17
19
|
readonly autocompleteItems: ReadonlyArray<AutocompleteItem>;
|
|
18
20
|
}
|
|
19
21
|
export interface InspectedFieldAccess {
|
|
20
22
|
readonly isAutocompleteAllowed: boolean;
|
|
21
|
-
readonly maybeIdentifierUnderPosition:
|
|
23
|
+
readonly maybeIdentifierUnderPosition: Ast.GeneralizedIdentifier | undefined;
|
|
22
24
|
readonly fieldNames: ReadonlyArray<string>;
|
|
23
25
|
}
|
|
24
26
|
export interface TrailingToken extends PQP.Language.Token.Token {
|
|
@@ -15,13 +15,13 @@ function autocomplete(settings, parseState, typeCache, maybeActiveNode, maybePar
|
|
|
15
15
|
if (maybeParseError !== undefined) {
|
|
16
16
|
var maybeParseErrorToken = PQP.Parser.ParseError.maybeTokenFrom(maybeParseError.innerError);
|
|
17
17
|
if (maybeParseErrorToken !== undefined) {
|
|
18
|
-
maybeTrailingToken = common_1.createTrailingToken(maybeActiveNode.position, maybeParseErrorToken);
|
|
18
|
+
maybeTrailingToken = (0, common_1.createTrailingToken)(maybeActiveNode.position, maybeParseErrorToken);
|
|
19
19
|
}
|
|
20
20
|
}
|
|
21
|
-
var triedFieldAccess = autocompleteFieldAccess_1.tryAutocompleteFieldAccess(settings, parseState, maybeActiveNode, typeCache);
|
|
22
|
-
var triedKeyword = autocompleteKeyword_1.tryAutocompleteKeyword(settings, nodeIdMapCollection, maybeActiveNode, maybeTrailingToken);
|
|
23
|
-
var triedLanguageConstant = autocompleteLanguageConstant_1.tryAutocompleteLanguageConstant(settings, maybeActiveNode);
|
|
24
|
-
var triedPrimitiveType = autocompletePrimitiveType_1.tryAutocompletePrimitiveType(settings, maybeActiveNode, maybeTrailingToken);
|
|
21
|
+
var triedFieldAccess = (0, autocompleteFieldAccess_1.tryAutocompleteFieldAccess)(settings, parseState, maybeActiveNode, typeCache);
|
|
22
|
+
var triedKeyword = (0, autocompleteKeyword_1.tryAutocompleteKeyword)(settings, nodeIdMapCollection, maybeActiveNode, maybeTrailingToken);
|
|
23
|
+
var triedLanguageConstant = (0, autocompleteLanguageConstant_1.tryAutocompleteLanguageConstant)(settings, maybeActiveNode);
|
|
24
|
+
var triedPrimitiveType = (0, autocompletePrimitiveType_1.tryAutocompletePrimitiveType)(settings, maybeActiveNode, maybeTrailingToken);
|
|
25
25
|
return {
|
|
26
26
|
triedFieldAccess: triedFieldAccess,
|
|
27
27
|
triedKeyword: triedKeyword,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/autocomplete/task.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,kDAAoD;
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/autocomplete/task.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,kDAAoD;AAQpD,qEAAuE;AACvE,iFAAmF;AACnF,+EAAiF;AACjF,yEAA2E;AAC3E,mCAA+C;AAU/C,SAAgB,YAAY,CACxB,QAA4B,EAC5B,UAAiC,EACjC,SAAoB,EACpB,eAAiC,EACjC,eAA6D;IAE7D,IAAM,mBAAmB,GAAyB,UAAU,CAAC,YAAY,CAAC,mBAAmB,CAAC;IAE9F,IAAI,kBAA6C,CAAC;IAClD,IAAI,eAAe,KAAK,SAAS,EAAE;QAC/B,IAAM,oBAAoB,GAAyC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CACnG,eAAe,CAAC,UAAU,CAC7B,CAAC;QACF,IAAI,oBAAoB,KAAK,SAAS,EAAE;YACpC,kBAAkB,GAAG,IAAA,4BAAmB,EAAC,eAAe,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;SAC5F;KACJ;IAED,IAAM,gBAAgB,GAAiC,IAAA,oDAA0B,EAC7E,QAAQ,EACR,UAAU,EACV,eAAe,EACf,SAAS,CACZ,CAAC;IAEF,IAAM,YAAY,GAA6B,IAAA,4CAAsB,EACjE,QAAQ,EACR,mBAAmB,EACnB,eAAe,EACf,kBAAkB,CACrB,CAAC;IAEF,IAAM,qBAAqB,GAAsC,IAAA,8DAA+B,EAC5F,QAAQ,EACR,eAAe,CAClB,CAAC;IAEF,IAAM,kBAAkB,GAAmC,IAAA,wDAA4B,EACnF,QAAQ,EACR,eAAe,EACf,kBAAkB,CACrB,CAAC;IAEF,OAAO;QACH,gBAAgB,kBAAA;QAChB,YAAY,cAAA;QACZ,qBAAqB,uBAAA;QACrB,kBAAkB,oBAAA;KACrB,CAAC;AACN,CAAC;AAlDD,oCAkDC"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
import * as PQP from "@microsoft/powerquery-parser";
|
|
2
|
+
import { Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
|
|
3
|
+
import { TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
|
|
2
4
|
import { ActiveNode, TMaybeActiveNode } from "./activeNode";
|
|
3
|
-
export declare type TriedExpectedType = PQP.Result<
|
|
5
|
+
export declare type TriedExpectedType = PQP.Result<Type.TPowerQueryType | undefined, PQP.CommonError.CommonError>;
|
|
4
6
|
export declare function tryExpectedType(settings: PQP.CommonSettings, maybeActiveNode: TMaybeActiveNode): TriedExpectedType;
|
|
5
|
-
export declare function maybeExpectedType(activeNode: ActiveNode):
|
|
6
|
-
export declare function expectedType(parentXorNode:
|
|
7
|
+
export declare function maybeExpectedType(activeNode: ActiveNode): Type.TPowerQueryType | undefined;
|
|
8
|
+
export declare function expectedType(parentXorNode: TXorNode, childIndex: number): Type.TPowerQueryType;
|
|
@@ -4,12 +4,15 @@
|
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.expectedType = exports.maybeExpectedType = exports.tryExpectedType = void 0;
|
|
6
6
|
var PQP = require("@microsoft/powerquery-parser");
|
|
7
|
+
var powerquery_parser_1 = require("@microsoft/powerquery-parser");
|
|
8
|
+
var language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
|
|
9
|
+
var parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
|
|
7
10
|
var activeNode_1 = require("./activeNode");
|
|
8
11
|
function tryExpectedType(settings, maybeActiveNode) {
|
|
9
12
|
if (!activeNode_1.ActiveNodeUtils.isPositionInBounds(maybeActiveNode)) {
|
|
10
|
-
return
|
|
13
|
+
return powerquery_parser_1.ResultUtils.boxOk(undefined);
|
|
11
14
|
}
|
|
12
|
-
return
|
|
15
|
+
return powerquery_parser_1.ResultUtils.ensureResult(settings.locale, function () { return maybeExpectedType(maybeActiveNode); });
|
|
13
16
|
}
|
|
14
17
|
exports.tryExpectedType = tryExpectedType;
|
|
15
18
|
// Traverse up the ancestry and find what type is expected as the nth child of a node's kind.
|
|
@@ -22,8 +25,8 @@ function maybeExpectedType(activeNode) {
|
|
|
22
25
|
for (var index = 0; index < upperBound; index += 1) {
|
|
23
26
|
var parent_1 = ancestry[index + 1];
|
|
24
27
|
var child = ancestry[index];
|
|
25
|
-
var childAttributeIndex =
|
|
26
|
-
var attributeIndex = parent_1
|
|
28
|
+
var childAttributeIndex = powerquery_parser_1.Assert.asDefined(child.node.maybeAttributeIndex, "Expected child to have an attribute index.", { childId: child.node.id });
|
|
29
|
+
var attributeIndex = parser_1.XorNodeUtils.isAstXor(parent_1) && activeNode.leafKind === "AfterAstNode" /* AfterAstNode */
|
|
27
30
|
? childAttributeIndex + 1
|
|
28
31
|
: childAttributeIndex;
|
|
29
32
|
var allowedType = expectedType(parent_1, attributeIndex);
|
|
@@ -57,7 +60,7 @@ function expectedType(parentXorNode, childIndex) {
|
|
|
57
60
|
case "PrimitiveType" /* PrimitiveType */:
|
|
58
61
|
case "RecordExpression" /* RecordExpression */:
|
|
59
62
|
case "RecursivePrimaryExpression" /* RecursivePrimaryExpression */:
|
|
60
|
-
return
|
|
63
|
+
return language_1.Type.NotApplicableInstance;
|
|
61
64
|
case "ArithmeticExpression" /* ArithmeticExpression */:
|
|
62
65
|
case "EqualityExpression" /* EqualityExpression */:
|
|
63
66
|
case "LogicalExpression" /* LogicalExpression */:
|
|
@@ -65,9 +68,9 @@ function expectedType(parentXorNode, childIndex) {
|
|
|
65
68
|
switch (childIndex) {
|
|
66
69
|
case 0:
|
|
67
70
|
case 2:
|
|
68
|
-
return
|
|
71
|
+
return language_1.Type.TypeExpressionInstance;
|
|
69
72
|
case 1:
|
|
70
|
-
return
|
|
73
|
+
return language_1.Type.NotApplicableInstance;
|
|
71
74
|
default:
|
|
72
75
|
throw unknownChildIndexError(parentXorNode, childIndex);
|
|
73
76
|
}
|
|
@@ -75,11 +78,11 @@ function expectedType(parentXorNode, childIndex) {
|
|
|
75
78
|
case "IsExpression" /* IsExpression */:
|
|
76
79
|
switch (childIndex) {
|
|
77
80
|
case 0:
|
|
78
|
-
return
|
|
81
|
+
return language_1.Type.TypeExpressionInstance;
|
|
79
82
|
case 1:
|
|
80
|
-
return
|
|
83
|
+
return language_1.Type.NotApplicableInstance;
|
|
81
84
|
case 2:
|
|
82
|
-
return
|
|
85
|
+
return language_1.Type.NullablePrimitiveInstance;
|
|
83
86
|
default:
|
|
84
87
|
throw unknownChildIndexError(parentXorNode, childIndex);
|
|
85
88
|
}
|
|
@@ -87,58 +90,58 @@ function expectedType(parentXorNode, childIndex) {
|
|
|
87
90
|
case "SectionMember" /* SectionMember */:
|
|
88
91
|
switch (childIndex) {
|
|
89
92
|
case 0:
|
|
90
|
-
return
|
|
93
|
+
return language_1.Type.RecordInstance;
|
|
91
94
|
default:
|
|
92
|
-
return
|
|
95
|
+
return language_1.Type.NotApplicableInstance;
|
|
93
96
|
}
|
|
94
97
|
case "AsType" /* AsType */:
|
|
95
98
|
switch (childIndex) {
|
|
96
99
|
case 0:
|
|
97
|
-
return
|
|
100
|
+
return language_1.Type.NotApplicableInstance;
|
|
98
101
|
case 1:
|
|
99
|
-
return
|
|
102
|
+
return language_1.Type.TypeProductionInstance;
|
|
100
103
|
default:
|
|
101
104
|
throw unknownChildIndexError(parentXorNode, childIndex);
|
|
102
105
|
}
|
|
103
106
|
case "AsNullablePrimitiveType" /* AsNullablePrimitiveType */:
|
|
104
107
|
switch (childIndex) {
|
|
105
108
|
case 0:
|
|
106
|
-
return
|
|
109
|
+
return language_1.Type.NotApplicableInstance;
|
|
107
110
|
case 1:
|
|
108
|
-
return
|
|
111
|
+
return language_1.Type.NullablePrimitiveInstance;
|
|
109
112
|
default:
|
|
110
113
|
throw unknownChildIndexError(parentXorNode, childIndex);
|
|
111
114
|
}
|
|
112
115
|
case "EachExpression" /* EachExpression */:
|
|
113
116
|
switch (childIndex) {
|
|
114
117
|
case 0:
|
|
115
|
-
return
|
|
118
|
+
return language_1.Type.NotApplicableInstance;
|
|
116
119
|
case 1:
|
|
117
|
-
return
|
|
120
|
+
return language_1.Type.ExpressionInstance;
|
|
118
121
|
default:
|
|
119
122
|
throw unknownChildIndexError(parentXorNode, childIndex);
|
|
120
123
|
}
|
|
121
124
|
case "ErrorHandlingExpression" /* ErrorHandlingExpression */:
|
|
122
125
|
switch (childIndex) {
|
|
123
126
|
case 0:
|
|
124
|
-
return
|
|
127
|
+
return language_1.Type.NotApplicableInstance;
|
|
125
128
|
case 1:
|
|
126
|
-
return
|
|
129
|
+
return language_1.Type.ExpressionInstance;
|
|
127
130
|
case 2:
|
|
128
|
-
return
|
|
131
|
+
return language_1.Type.NotApplicableInstance;
|
|
129
132
|
default:
|
|
130
133
|
throw unknownChildIndexError(parentXorNode, childIndex);
|
|
131
134
|
}
|
|
132
135
|
// TODO: how should error raising be typed?
|
|
133
136
|
case "ErrorRaisingExpression" /* ErrorRaisingExpression */:
|
|
134
|
-
return
|
|
137
|
+
return language_1.Type.NotApplicableInstance;
|
|
135
138
|
case "GeneralizedIdentifierPairedAnyLiteral" /* GeneralizedIdentifierPairedAnyLiteral */:
|
|
136
139
|
switch (childIndex) {
|
|
137
140
|
case 0:
|
|
138
141
|
case 1:
|
|
139
|
-
return
|
|
142
|
+
return language_1.Type.NotApplicableInstance;
|
|
140
143
|
case 2:
|
|
141
|
-
return
|
|
144
|
+
return language_1.Type.AnyLiteralInstance;
|
|
142
145
|
default:
|
|
143
146
|
throw unknownChildIndexError(parentXorNode, childIndex);
|
|
144
147
|
}
|
|
@@ -147,9 +150,9 @@ function expectedType(parentXorNode, childIndex) {
|
|
|
147
150
|
switch (childIndex) {
|
|
148
151
|
case 0:
|
|
149
152
|
case 1:
|
|
150
|
-
return
|
|
153
|
+
return language_1.Type.NotApplicableInstance;
|
|
151
154
|
case 2:
|
|
152
|
-
return
|
|
155
|
+
return language_1.Type.ExpressionInstance;
|
|
153
156
|
default:
|
|
154
157
|
throw unknownChildIndexError(parentXorNode, childIndex);
|
|
155
158
|
}
|
|
@@ -157,18 +160,18 @@ function expectedType(parentXorNode, childIndex) {
|
|
|
157
160
|
switch (childIndex) {
|
|
158
161
|
case 0:
|
|
159
162
|
case 1:
|
|
160
|
-
return
|
|
163
|
+
return language_1.Type.NotApplicableInstance;
|
|
161
164
|
case 2:
|
|
162
|
-
return
|
|
165
|
+
return language_1.Type.TypeProductionInstance;
|
|
163
166
|
default:
|
|
164
167
|
throw unknownChildIndexError(parentXorNode, childIndex);
|
|
165
168
|
}
|
|
166
169
|
case "FieldTypeSpecification" /* FieldTypeSpecification */:
|
|
167
170
|
switch (childIndex) {
|
|
168
171
|
case 0:
|
|
169
|
-
return
|
|
172
|
+
return language_1.Type.NotApplicableInstance;
|
|
170
173
|
case 1:
|
|
171
|
-
return
|
|
174
|
+
return language_1.Type.TypeProductionInstance;
|
|
172
175
|
default:
|
|
173
176
|
throw unknownChildIndexError(parentXorNode, childIndex);
|
|
174
177
|
}
|
|
@@ -176,11 +179,11 @@ function expectedType(parentXorNode, childIndex) {
|
|
|
176
179
|
switch (childIndex) {
|
|
177
180
|
case 0:
|
|
178
181
|
case 2:
|
|
179
|
-
return
|
|
182
|
+
return language_1.Type.NotApplicableInstance;
|
|
180
183
|
case 1:
|
|
181
|
-
return
|
|
184
|
+
return language_1.Type.NullablePrimitiveInstance;
|
|
182
185
|
case 3:
|
|
183
|
-
return
|
|
186
|
+
return language_1.Type.ExpressionInstance;
|
|
184
187
|
default:
|
|
185
188
|
throw unknownChildIndexError(parentXorNode, childIndex);
|
|
186
189
|
}
|
|
@@ -188,9 +191,9 @@ function expectedType(parentXorNode, childIndex) {
|
|
|
188
191
|
switch (childIndex) {
|
|
189
192
|
case 0:
|
|
190
193
|
case 1:
|
|
191
|
-
return
|
|
194
|
+
return language_1.Type.NotApplicableInstance;
|
|
192
195
|
case 2:
|
|
193
|
-
return
|
|
196
|
+
return language_1.Type.NullablePrimitiveInstance;
|
|
194
197
|
default:
|
|
195
198
|
throw unknownChildIndexError(parentXorNode, childIndex);
|
|
196
199
|
}
|
|
@@ -199,21 +202,21 @@ function expectedType(parentXorNode, childIndex) {
|
|
|
199
202
|
case 0:
|
|
200
203
|
case 2:
|
|
201
204
|
case 4:
|
|
202
|
-
return
|
|
205
|
+
return language_1.Type.NotApplicableInstance;
|
|
203
206
|
case 1:
|
|
204
|
-
return
|
|
207
|
+
return language_1.Type.LogicalInstance;
|
|
205
208
|
case 3:
|
|
206
209
|
case 5:
|
|
207
|
-
return
|
|
210
|
+
return language_1.Type.ExpressionInstance;
|
|
208
211
|
default:
|
|
209
212
|
throw unknownChildIndexError(parentXorNode, childIndex);
|
|
210
213
|
}
|
|
211
214
|
case "IsNullablePrimitiveType" /* IsNullablePrimitiveType */:
|
|
212
215
|
switch (childIndex) {
|
|
213
216
|
case 0:
|
|
214
|
-
return
|
|
217
|
+
return language_1.Type.NotApplicableInstance;
|
|
215
218
|
case 1:
|
|
216
|
-
return
|
|
219
|
+
return language_1.Type.NullablePrimitiveInstance;
|
|
217
220
|
default:
|
|
218
221
|
throw unknownChildIndexError(parentXorNode, childIndex);
|
|
219
222
|
}
|
|
@@ -222,9 +225,9 @@ function expectedType(parentXorNode, childIndex) {
|
|
|
222
225
|
case 0:
|
|
223
226
|
case 2:
|
|
224
227
|
case 3:
|
|
225
|
-
return
|
|
228
|
+
return language_1.Type.NotApplicableInstance;
|
|
226
229
|
case 1:
|
|
227
|
-
return
|
|
230
|
+
return language_1.Type.ExpressionInstance;
|
|
228
231
|
default:
|
|
229
232
|
throw unknownChildIndexError(parentXorNode, childIndex);
|
|
230
233
|
}
|
|
@@ -233,9 +236,9 @@ function expectedType(parentXorNode, childIndex) {
|
|
|
233
236
|
case 0:
|
|
234
237
|
case 1:
|
|
235
238
|
case 2:
|
|
236
|
-
return
|
|
239
|
+
return language_1.Type.NotApplicableInstance;
|
|
237
240
|
case 3:
|
|
238
|
-
return
|
|
241
|
+
return language_1.Type.ExpressionInstance;
|
|
239
242
|
default:
|
|
240
243
|
throw unknownChildIndexError(parentXorNode, childIndex);
|
|
241
244
|
}
|
|
@@ -243,26 +246,26 @@ function expectedType(parentXorNode, childIndex) {
|
|
|
243
246
|
switch (childIndex) {
|
|
244
247
|
case 0:
|
|
245
248
|
case 2:
|
|
246
|
-
return
|
|
249
|
+
return language_1.Type.NotApplicableInstance;
|
|
247
250
|
case 1:
|
|
248
|
-
return
|
|
251
|
+
return language_1.Type.TypeProductionInstance;
|
|
249
252
|
default:
|
|
250
253
|
throw unknownChildIndexError(parentXorNode, childIndex);
|
|
251
254
|
}
|
|
252
255
|
case "MetadataExpression" /* MetadataExpression */:
|
|
253
256
|
switch (childIndex) {
|
|
254
257
|
case 1:
|
|
255
|
-
return
|
|
258
|
+
return language_1.Type.NotApplicableInstance;
|
|
256
259
|
case 0:
|
|
257
260
|
case 2:
|
|
258
|
-
return
|
|
261
|
+
return language_1.Type.TypeExpressionInstance;
|
|
259
262
|
default:
|
|
260
263
|
throw unknownChildIndexError(parentXorNode, childIndex);
|
|
261
264
|
}
|
|
262
265
|
case "NotImplementedExpression" /* NotImplementedExpression */:
|
|
263
266
|
switch (childIndex) {
|
|
264
267
|
case 0:
|
|
265
|
-
return
|
|
268
|
+
return language_1.Type.NotApplicableInstance;
|
|
266
269
|
default:
|
|
267
270
|
throw unknownChildIndexError(parentXorNode, childIndex);
|
|
268
271
|
}
|
|
@@ -270,36 +273,36 @@ function expectedType(parentXorNode, childIndex) {
|
|
|
270
273
|
switch (childIndex) {
|
|
271
274
|
case 0:
|
|
272
275
|
case 2:
|
|
273
|
-
return
|
|
276
|
+
return language_1.Type.ExpressionInstance;
|
|
274
277
|
case 1:
|
|
275
|
-
return
|
|
278
|
+
return language_1.Type.NotApplicableInstance;
|
|
276
279
|
default:
|
|
277
280
|
throw unknownChildIndexError(parentXorNode, childIndex);
|
|
278
281
|
}
|
|
279
282
|
case "NullablePrimitiveType" /* NullablePrimitiveType */:
|
|
280
283
|
switch (childIndex) {
|
|
281
284
|
case 0:
|
|
282
|
-
return
|
|
285
|
+
return language_1.Type.NotApplicableInstance;
|
|
283
286
|
case 1:
|
|
284
|
-
return
|
|
287
|
+
return language_1.Type.PrimitiveInstance;
|
|
285
288
|
default:
|
|
286
289
|
throw unknownChildIndexError(parentXorNode, childIndex);
|
|
287
290
|
}
|
|
288
291
|
case "NullableType" /* NullableType */:
|
|
289
292
|
switch (childIndex) {
|
|
290
293
|
case 0:
|
|
291
|
-
return
|
|
294
|
+
return language_1.Type.NotApplicableInstance;
|
|
292
295
|
case 1:
|
|
293
|
-
return
|
|
296
|
+
return language_1.Type.TypeProductionInstance;
|
|
294
297
|
default:
|
|
295
298
|
throw unknownChildIndexError(parentXorNode, childIndex);
|
|
296
299
|
}
|
|
297
300
|
case "OtherwiseExpression" /* OtherwiseExpression */:
|
|
298
301
|
switch (childIndex) {
|
|
299
302
|
case 0:
|
|
300
|
-
return
|
|
303
|
+
return language_1.Type.NotApplicableInstance;
|
|
301
304
|
case 1:
|
|
302
|
-
return
|
|
305
|
+
return language_1.Type.ExpressionInstance;
|
|
303
306
|
default:
|
|
304
307
|
throw unknownChildIndexError(parentXorNode, childIndex);
|
|
305
308
|
}
|
|
@@ -307,9 +310,9 @@ function expectedType(parentXorNode, childIndex) {
|
|
|
307
310
|
switch (childIndex) {
|
|
308
311
|
case 0:
|
|
309
312
|
case 2:
|
|
310
|
-
return
|
|
313
|
+
return language_1.Type.NotApplicableInstance;
|
|
311
314
|
case 1:
|
|
312
|
-
return
|
|
315
|
+
return language_1.Type.ExpressionInstance;
|
|
313
316
|
default:
|
|
314
317
|
throw unknownChildIndexError(parentXorNode, childIndex);
|
|
315
318
|
}
|
|
@@ -317,9 +320,9 @@ function expectedType(parentXorNode, childIndex) {
|
|
|
317
320
|
switch (childIndex) {
|
|
318
321
|
case 0:
|
|
319
322
|
case 2:
|
|
320
|
-
return
|
|
323
|
+
return language_1.Type.ExpressionInstance;
|
|
321
324
|
case 1:
|
|
322
|
-
return
|
|
325
|
+
return language_1.Type.NotApplicableInstance;
|
|
323
326
|
default:
|
|
324
327
|
throw unknownChildIndexError(parentXorNode, childIndex);
|
|
325
328
|
}
|
|
@@ -327,30 +330,30 @@ function expectedType(parentXorNode, childIndex) {
|
|
|
327
330
|
switch (childIndex) {
|
|
328
331
|
case 1:
|
|
329
332
|
case 2:
|
|
330
|
-
return
|
|
333
|
+
return language_1.Type.PrimaryExpressionInstance;
|
|
331
334
|
default:
|
|
332
335
|
throw unknownChildIndexError(parentXorNode, childIndex);
|
|
333
336
|
}
|
|
334
337
|
case "TypePrimaryType" /* TypePrimaryType */:
|
|
335
338
|
switch (childIndex) {
|
|
336
339
|
case 0:
|
|
337
|
-
return
|
|
340
|
+
return language_1.Type.NotApplicableInstance;
|
|
338
341
|
case 1:
|
|
339
|
-
return
|
|
342
|
+
return language_1.Type.PrimaryTypeInstance;
|
|
340
343
|
default:
|
|
341
344
|
throw unknownChildIndexError(parentXorNode, childIndex);
|
|
342
345
|
}
|
|
343
346
|
case "UnaryExpression" /* UnaryExpression */:
|
|
344
347
|
switch (childIndex) {
|
|
345
348
|
case 0:
|
|
346
|
-
return
|
|
349
|
+
return language_1.Type.NotApplicableInstance;
|
|
347
350
|
case 1:
|
|
348
|
-
return
|
|
351
|
+
return language_1.Type.TypeExpressionInstance;
|
|
349
352
|
default:
|
|
350
353
|
throw unknownChildIndexError(parentXorNode, childIndex);
|
|
351
354
|
}
|
|
352
355
|
default:
|
|
353
|
-
throw
|
|
356
|
+
throw powerquery_parser_1.Assert.isNever(parentXorNode.node);
|
|
354
357
|
}
|
|
355
358
|
}
|
|
356
359
|
exports.expectedType = expectedType;
|