@microsoft/powerquery-language-services 0.3.38 → 0.5.0
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/analysis.d.ts +17 -8
- package/lib/powerquery-language-services/analysis/analysisBase.d.ts +41 -26
- package/lib/powerquery-language-services/analysis/analysisBase.js +524 -173
- package/lib/powerquery-language-services/analysis/analysisBase.js.map +1 -1
- package/lib/powerquery-language-services/analysis/analysisSettings.d.ts +8 -11
- package/lib/powerquery-language-services/analysis/analysisUtils.d.ts +1 -2
- package/lib/powerquery-language-services/analysis/analysisUtils.js +20 -2
- package/lib/powerquery-language-services/analysis/analysisUtils.js.map +1 -1
- package/lib/powerquery-language-services/analysis/documentAnalysis.d.ts +4 -6
- package/lib/powerquery-language-services/analysis/documentAnalysis.js +4 -11
- package/lib/powerquery-language-services/analysis/documentAnalysis.js.map +1 -1
- package/lib/powerquery-language-services/analysis/memoizedAnalysis.d.ts +18 -0
- package/lib/powerquery-language-services/analysis/memoizedAnalysis.js +66 -0
- package/lib/powerquery-language-services/analysis/memoizedAnalysis.js.map +1 -0
- package/lib/powerquery-language-services/formatter.d.ts +1 -1
- package/lib/powerquery-language-services/formatter.js +2 -4
- package/lib/powerquery-language-services/formatter.js.map +1 -1
- package/lib/powerquery-language-services/index.d.ts +0 -1
- package/lib/powerquery-language-services/index.js +0 -1
- package/lib/powerquery-language-services/index.js.map +1 -1
- package/lib/powerquery-language-services/inspection/activeNode/activeNode.d.ts +5 -5
- package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.d.ts +5 -5
- package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js +78 -83
- package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js +37 -40
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.d.ts +7 -7
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js +17 -17
- 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 -3
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js +43 -43
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js +7 -7
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js +7 -7
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js +4 -4
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js +24 -17
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js +4 -4
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js +9 -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 +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.js +5 -5
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.js +4 -4
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/commonTypes.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js +21 -26
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js +21 -21
- package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/commonTypes.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/task.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/task.js +12 -12
- package/lib/powerquery-language-services/inspection/autocomplete/task.js.map +1 -1
- package/lib/powerquery-language-services/inspection/commonTypes.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/deferenceIdentifier.js +12 -13
- package/lib/powerquery-language-services/inspection/deferenceIdentifier.js.map +1 -1
- package/lib/powerquery-language-services/inspection/expectedType.d.ts +3 -3
- package/lib/powerquery-language-services/inspection/expectedType.js +8 -8
- package/lib/powerquery-language-services/inspection/expectedType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/invokeExpression/common.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js +24 -24
- package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js +17 -18
- package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js +20 -22
- package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/scope/scope.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/scope/scopeInspection.js +47 -45
- package/lib/powerquery-language-services/inspection/scope/scopeInspection.js.map +1 -1
- package/lib/powerquery-language-services/inspection/scope/scopeUtils.d.ts +7 -7
- package/lib/powerquery-language-services/inspection/scope/scopeUtils.js +15 -15
- package/lib/powerquery-language-services/inspection/scope/scopeUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/task.d.ts +4 -4
- package/lib/powerquery-language-services/inspection/task.js +17 -18
- package/lib/powerquery-language-services/inspection/task.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/common.d.ts +7 -7
- package/lib/powerquery-language-services/inspection/type/inspectType/common.js +56 -59
- package/lib/powerquery-language-services/inspection/type/inspectType/common.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js +4 -5
- package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js +4 -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 +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js +14 -12
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js +13 -13
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.js +9 -9
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js +13 -14
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js +6 -6
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js +8 -8
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js +9 -9
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js +5 -5
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js +5 -5
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js +4 -4
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js +18 -18
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js +4 -4
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js +7 -7
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js +2 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js +10 -10
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js +6 -6
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js +3 -3
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js +10 -10
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js +7 -6
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js +6 -6
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js +10 -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 +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js +35 -41
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js +9 -9
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js +10 -12
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/task.js +5 -5
- package/lib/powerquery-language-services/inspection/type/task.js.map +1 -1
- package/lib/powerquery-language-services/inspectionSettings.d.ts +1 -1
- package/lib/powerquery-language-services/inspectionUtils.d.ts +3 -6
- package/lib/powerquery-language-services/inspectionUtils.js +20 -75
- package/lib/powerquery-language-services/inspectionUtils.js.map +1 -1
- package/lib/powerquery-language-services/library/library.d.ts +1 -1
- package/lib/powerquery-language-services/library/libraryUtils.d.ts +9 -9
- package/lib/powerquery-language-services/library/libraryUtils.js +21 -21
- package/lib/powerquery-language-services/library/libraryUtils.js.map +1 -1
- package/lib/powerquery-language-services/localization/localization.d.ts +3 -3
- package/lib/powerquery-language-services/localization/localization.js +9 -9
- package/lib/powerquery-language-services/localization/localization.js.map +1 -1
- package/lib/powerquery-language-services/positionUtils.js +16 -17
- package/lib/powerquery-language-services/positionUtils.js.map +1 -1
- package/lib/powerquery-language-services/providers/commonTypes.d.ts +41 -13
- package/lib/powerquery-language-services/providers/index.d.ts +2 -2
- package/lib/powerquery-language-services/providers/index.js +4 -4
- package/lib/powerquery-language-services/providers/index.js.map +1 -1
- package/lib/powerquery-language-services/providers/languageCompletionItemProvider.d.ts +4 -4
- package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js +22 -19
- package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js.map +1 -1
- package/lib/powerquery-language-services/providers/libraryProvider.d.ts +17 -0
- package/lib/powerquery-language-services/providers/libraryProvider.js +129 -0
- package/lib/powerquery-language-services/providers/libraryProvider.js.map +1 -0
- package/lib/powerquery-language-services/providers/localDocumentProvider/foldingRanges.d.ts +4 -0
- package/lib/powerquery-language-services/providers/localDocumentProvider/foldingRanges.js +51 -0
- package/lib/powerquery-language-services/providers/localDocumentProvider/foldingRanges.js.map +1 -0
- package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.d.ts +18 -19
- package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.js +131 -116
- package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.js.map +1 -1
- package/lib/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.js +112 -124
- package/lib/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.js.map +1 -1
- package/lib/powerquery-language-services/providers/nullSymbolProvider.d.ts +11 -8
- package/lib/powerquery-language-services/providers/nullSymbolProvider.js +12 -5
- package/lib/powerquery-language-services/providers/nullSymbolProvider.js.map +1 -1
- package/lib/powerquery-language-services/traceUtils.d.ts +1 -1
- package/lib/powerquery-language-services/traceUtils.js +1 -1
- package/lib/powerquery-language-services/traceUtils.js.map +1 -1
- package/lib/powerquery-language-services/validate/validate.d.ts +2 -2
- package/lib/powerquery-language-services/validate/validate.js +19 -20
- package/lib/powerquery-language-services/validate/validate.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.d.ts +2 -1
- package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js +24 -54
- package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateFunctionExpression.js +6 -6
- package/lib/powerquery-language-services/validate/validateFunctionExpression.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateInvokeExpression.d.ts +1 -1
- package/lib/powerquery-language-services/validate/validateInvokeExpression.js +23 -23
- package/lib/powerquery-language-services/validate/validateInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateParse.d.ts +4 -0
- package/lib/powerquery-language-services/validate/validateParse.js +74 -0
- package/lib/powerquery-language-services/validate/validateParse.js.map +1 -0
- package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.js +19 -15
- package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.js.map +1 -1
- package/lib/powerquery-language-services/workspaceCache/workspaceCache.d.ts +2 -2
- package/lib/powerquery-language-services/workspaceCache/workspaceCacheUtils.js +31 -31
- package/lib/powerquery-language-services/workspaceCache/workspaceCacheUtils.js.map +1 -1
- package/package.json +3 -3
- package/lib/powerquery-language-services/documentSymbols.d.ts +0 -3
- package/lib/powerquery-language-services/documentSymbols.js +0 -100
- package/lib/powerquery-language-services/documentSymbols.js.map +0 -1
- package/lib/powerquery-language-services/providers/librarySymbolProvider.d.ts +0 -15
- package/lib/powerquery-language-services/providers/librarySymbolProvider.js +0 -117
- package/lib/powerquery-language-services/providers/librarySymbolProvider.js.map +0 -1
- package/lib/powerquery-language-services/validate/validateLexAndParse.d.ts +0 -4
- package/lib/powerquery-language-services/validate/validateLexAndParse.js +0 -130
- package/lib/powerquery-language-services/validate/validateLexAndParse.js.map +0 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"deferenceIdentifier.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/inspection/deferenceIdentifier.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAGlC,oEAAmE;AACnE,sFAA8G;AAI9G,mCAAsG;AACtG,0BAA4C;AAG5C,yEAAyE;AACzE,yCAAyC;AACzC,SAAsB,sBAAsB,CACxC,QAA4B,EAC5B,mBAAyC,EACzC,OAAiB;AACjB,qDAAqD;AACrD,0DAA0D;AAC1D,YAAuB,IAAI,GAAG,EAAE;;QAEhC,MAAM,KAAK,GAAU,QAAQ,CAAC,YAAY,CAAC,KAAK,wCAE5C,sBAAsB,CAAC,IAAI,EAC3B,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"deferenceIdentifier.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/inspection/deferenceIdentifier.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
import * as PQP from "@microsoft/powerquery-parser";
|
|
2
2
|
import { Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
|
|
3
3
|
import { TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
|
|
4
|
-
import { ActiveNode,
|
|
4
|
+
import { ActiveNode, TActiveNode } from "./activeNode";
|
|
5
5
|
export declare type TriedExpectedType = PQP.Result<Type.TPowerQueryType | undefined, PQP.CommonError.CommonError>;
|
|
6
|
-
export declare function tryExpectedType(settings: PQP.CommonSettings,
|
|
7
|
-
export declare function
|
|
6
|
+
export declare function tryExpectedType(settings: PQP.CommonSettings, activeNode: TActiveNode): TriedExpectedType;
|
|
7
|
+
export declare function findExpectedType(activeNode: ActiveNode): Type.TPowerQueryType | undefined;
|
|
8
8
|
export declare function expectedType(parentXorNode: TXorNode, childIndex: number): Type.TPowerQueryType;
|
|
@@ -2,19 +2,19 @@
|
|
|
2
2
|
// Copyright (c) Microsoft Corporation.
|
|
3
3
|
// Licensed under the MIT license.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.expectedType = exports.
|
|
5
|
+
exports.expectedType = exports.findExpectedType = exports.tryExpectedType = void 0;
|
|
6
6
|
const PQP = require("@microsoft/powerquery-parser");
|
|
7
7
|
const powerquery_parser_1 = require("@microsoft/powerquery-parser");
|
|
8
8
|
const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
|
|
9
9
|
const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
|
|
10
10
|
const activeNode_1 = require("./activeNode");
|
|
11
|
-
function tryExpectedType(settings,
|
|
12
|
-
const trace = settings.traceManager.entry("Inspection.ExpectedType" /* InspectExpectedType */, tryExpectedType.name, settings.
|
|
13
|
-
if (!activeNode_1.ActiveNodeUtils.isPositionInBounds(
|
|
11
|
+
function tryExpectedType(settings, activeNode) {
|
|
12
|
+
const trace = settings.traceManager.entry("Inspection.ExpectedType" /* InspectExpectedType */, tryExpectedType.name, settings.initialCorrelationId);
|
|
13
|
+
if (!activeNode_1.ActiveNodeUtils.isPositionInBounds(activeNode)) {
|
|
14
14
|
trace.exit();
|
|
15
15
|
return powerquery_parser_1.ResultUtils.boxOk(undefined);
|
|
16
16
|
}
|
|
17
|
-
const result = powerquery_parser_1.ResultUtils.ensureResult(() =>
|
|
17
|
+
const result = powerquery_parser_1.ResultUtils.ensureResult(() => findExpectedType(activeNode), settings.locale);
|
|
18
18
|
trace.exit();
|
|
19
19
|
return result;
|
|
20
20
|
}
|
|
@@ -22,14 +22,14 @@ exports.tryExpectedType = tryExpectedType;
|
|
|
22
22
|
// Traverse up the ancestry and find what type is expected as the nth child of a node's kind.
|
|
23
23
|
// The last type generated this way should have the widest typing,
|
|
24
24
|
// which then can be used for type hinting.
|
|
25
|
-
function
|
|
25
|
+
function findExpectedType(activeNode) {
|
|
26
26
|
const ancestry = activeNode.ancestry;
|
|
27
27
|
const upperBound = ancestry.length - 1;
|
|
28
28
|
let bestMatch;
|
|
29
29
|
for (let index = 0; index < upperBound; index += 1) {
|
|
30
30
|
const parent = ancestry[index + 1];
|
|
31
31
|
const child = ancestry[index];
|
|
32
|
-
const childAttributeIndex = powerquery_parser_1.Assert.asDefined(child.node.
|
|
32
|
+
const childAttributeIndex = powerquery_parser_1.Assert.asDefined(child.node.attributeIndex, `Expected child to have an attribute index.`, { childId: child.node.id });
|
|
33
33
|
const attributeIndex = parser_1.XorNodeUtils.isAstXor(parent) && activeNode.leafKind === "AfterAstNode" /* AfterAstNode */
|
|
34
34
|
? childAttributeIndex + 1
|
|
35
35
|
: childAttributeIndex;
|
|
@@ -40,7 +40,7 @@ function maybeExpectedType(activeNode) {
|
|
|
40
40
|
}
|
|
41
41
|
return bestMatch;
|
|
42
42
|
}
|
|
43
|
-
exports.
|
|
43
|
+
exports.findExpectedType = findExpectedType;
|
|
44
44
|
// For a given parent node, what is the expected type for a child at a given index?
|
|
45
45
|
function expectedType(parentXorNode, childIndex) {
|
|
46
46
|
switch (parentXorNode.node.kind) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"expectedType.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/inspection/expectedType.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,oDAAoD;AACpD,oEAAmE;AACnE,0FAAwF;AACxF,sFAAmG;AAGnG,
|
|
1
|
+
{"version":3,"file":"expectedType.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/inspection/expectedType.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,8 +4,8 @@ export interface IInvokeExpression<T extends InvokeExpressionArguments> {
|
|
|
4
4
|
readonly invokeExpressionXorNode: TXorNode;
|
|
5
5
|
readonly functionType: Type.TPowerQueryType;
|
|
6
6
|
readonly isNameInLocalScope: boolean;
|
|
7
|
-
readonly
|
|
8
|
-
readonly
|
|
7
|
+
readonly name: string | undefined;
|
|
8
|
+
readonly arguments: T | undefined;
|
|
9
9
|
}
|
|
10
10
|
export interface InvokeExpressionArguments {
|
|
11
11
|
readonly numMaxExpectedArguments: number;
|
package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import * as PQP from "@microsoft/powerquery-parser";
|
|
2
2
|
import { NodeIdMap } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
|
|
3
|
-
import {
|
|
3
|
+
import { TActiveNode } from "../activeNode";
|
|
4
4
|
import { IInvokeExpression, InvokeExpressionArguments } from "./common";
|
|
5
5
|
import { TypeCache } from "../typeCache";
|
|
6
6
|
import { InspectionSettings } from "../../inspectionSettings";
|
|
@@ -9,4 +9,4 @@ export declare type CurrentInvokeExpression = IInvokeExpression<CurrentInvokeExp
|
|
|
9
9
|
export interface CurrentInvokeExpressionArguments extends InvokeExpressionArguments {
|
|
10
10
|
readonly argumentOrdinal: number;
|
|
11
11
|
}
|
|
12
|
-
export declare function tryCurrentInvokeExpression(settings: InspectionSettings, nodeIdMapCollection: NodeIdMap.Collection,
|
|
12
|
+
export declare function tryCurrentInvokeExpression(settings: InspectionSettings, nodeIdMapCollection: NodeIdMap.Collection, activeNode: TActiveNode, typeCache?: TypeCache): Promise<TriedCurrentInvokeExpression>;
|
package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js
CHANGED
|
@@ -24,46 +24,46 @@ const typeCache_1 = require("../typeCache");
|
|
|
24
24
|
// * the given argument nodes
|
|
25
25
|
// * the given argument types
|
|
26
26
|
// * type checking for parameter types vs given types
|
|
27
|
-
function tryCurrentInvokeExpression(settings, nodeIdMapCollection,
|
|
27
|
+
function tryCurrentInvokeExpression(settings, nodeIdMapCollection, activeNode,
|
|
28
28
|
// If a TypeCache is given, then potentially add to its values and include it as part of the return,
|
|
29
29
|
// Else create a new TypeCache and include it in the return.
|
|
30
30
|
typeCache = typeCache_1.TypeCacheUtils.createEmptyCache()) {
|
|
31
31
|
return __awaiter(this, void 0, void 0, function* () {
|
|
32
|
-
const trace = settings.traceManager.entry("Inspection.CurrentInvokeExpression" /* InspectCurrentInvokeExpression */, tryCurrentInvokeExpression.name, settings.
|
|
33
|
-
const updatedSettings = Object.assign(Object.assign({}, settings), {
|
|
34
|
-
if (!activeNode_1.ActiveNodeUtils.isPositionInBounds(
|
|
32
|
+
const trace = settings.traceManager.entry("Inspection.CurrentInvokeExpression" /* InspectCurrentInvokeExpression */, tryCurrentInvokeExpression.name, settings.initialCorrelationId);
|
|
33
|
+
const updatedSettings = Object.assign(Object.assign({}, settings), { initialCorrelationId: trace.id });
|
|
34
|
+
if (!activeNode_1.ActiveNodeUtils.isPositionInBounds(activeNode)) {
|
|
35
35
|
trace.exit();
|
|
36
36
|
return Promise.resolve(powerquery_parser_1.ResultUtils.boxOk(undefined));
|
|
37
37
|
}
|
|
38
|
-
const result = yield powerquery_parser_1.ResultUtils.ensureResultAsync(() => inspectInvokeExpression(updatedSettings, nodeIdMapCollection,
|
|
38
|
+
const result = yield powerquery_parser_1.ResultUtils.ensureResultAsync(() => inspectInvokeExpression(updatedSettings, nodeIdMapCollection, activeNode, typeCache, trace.id), updatedSettings.locale);
|
|
39
39
|
trace.exit();
|
|
40
40
|
return result;
|
|
41
41
|
});
|
|
42
42
|
}
|
|
43
43
|
exports.tryCurrentInvokeExpression = tryCurrentInvokeExpression;
|
|
44
|
-
function inspectInvokeExpression(settings, nodeIdMapCollection, activeNode, typeCache,
|
|
44
|
+
function inspectInvokeExpression(settings, nodeIdMapCollection, activeNode, typeCache, correlationId) {
|
|
45
45
|
return __awaiter(this, void 0, void 0, function* () {
|
|
46
|
-
const trace = settings.traceManager.entry("Inspection.CurrentInvokeExpression" /* InspectCurrentInvokeExpression */, inspectInvokeExpression.name,
|
|
47
|
-
const updatedSettings = Object.assign(Object.assign({}, settings), {
|
|
46
|
+
const trace = settings.traceManager.entry("Inspection.CurrentInvokeExpression" /* InspectCurrentInvokeExpression */, inspectInvokeExpression.name, correlationId);
|
|
47
|
+
const updatedSettings = Object.assign(Object.assign({}, settings), { initialCorrelationId: trace.id });
|
|
48
48
|
const ancestry = activeNode.ancestry;
|
|
49
|
-
const
|
|
50
|
-
if (!
|
|
49
|
+
const findResult = parser_1.AncestryUtils.findXorAndIndexOfNodeKind(ancestry, "InvokeExpression" /* InvokeExpression */);
|
|
50
|
+
if (!findResult) {
|
|
51
51
|
trace.exit();
|
|
52
52
|
return undefined;
|
|
53
53
|
}
|
|
54
|
-
const [invokeExpressionXorNode, ancestryIndex] =
|
|
54
|
+
const [invokeExpressionXorNode, ancestryIndex] = findResult;
|
|
55
55
|
const triedInvokeExpression = yield (0, invokeExpression_1.tryInvokeExpression)(updatedSettings, nodeIdMapCollection, invokeExpressionXorNode.node.id, typeCache);
|
|
56
56
|
if (powerquery_parser_1.ResultUtils.isError(triedInvokeExpression)) {
|
|
57
57
|
trace.exit({ ["IsThrowing" /* IsThrowing */]: true });
|
|
58
58
|
throw triedInvokeExpression;
|
|
59
59
|
}
|
|
60
60
|
const invokeExpression = triedInvokeExpression.value;
|
|
61
|
-
const
|
|
62
|
-
let
|
|
63
|
-
if (
|
|
64
|
-
|
|
61
|
+
const args = invokeExpression.arguments;
|
|
62
|
+
let argumentOrdinal;
|
|
63
|
+
if (args !== undefined) {
|
|
64
|
+
argumentOrdinal = Object.assign(Object.assign({}, args), { argumentOrdinal: getArgumentOrdinal(nodeIdMapCollection, activeNode, ancestryIndex, invokeExpressionXorNode) });
|
|
65
65
|
}
|
|
66
|
-
const result = Object.assign(Object.assign({}, invokeExpression), {
|
|
66
|
+
const result = Object.assign(Object.assign({}, invokeExpression), { arguments: argumentOrdinal });
|
|
67
67
|
trace.exit();
|
|
68
68
|
return result;
|
|
69
69
|
});
|
|
@@ -71,22 +71,22 @@ function inspectInvokeExpression(settings, nodeIdMapCollection, activeNode, type
|
|
|
71
71
|
function getArgumentOrdinal(nodeIdMapCollection, activeNode, ancestryIndex, invokeExpressionXorNode) {
|
|
72
72
|
var _a;
|
|
73
73
|
// `foo(1|)
|
|
74
|
-
const
|
|
75
|
-
if (
|
|
76
|
-
return (_a =
|
|
74
|
+
const ancestryCsv = parser_1.AncestryUtils.nthPreviousXorChecked(activeNode.ancestry, ancestryIndex, 2, "Csv" /* Csv */);
|
|
75
|
+
if (ancestryCsv !== undefined) {
|
|
76
|
+
return (_a = ancestryCsv.node.attributeIndex) !== null && _a !== void 0 ? _a : 0;
|
|
77
77
|
}
|
|
78
|
-
const
|
|
78
|
+
const previousXor = parser_1.AncestryUtils.previousXorChecked(activeNode.ancestry, ancestryIndex, [
|
|
79
79
|
"ArrayWrapper" /* ArrayWrapper */,
|
|
80
80
|
"Constant" /* Constant */,
|
|
81
81
|
]);
|
|
82
82
|
let arrayWrapperXorNode;
|
|
83
|
-
switch (
|
|
83
|
+
switch (previousXor === null || previousXor === void 0 ? void 0 : previousXor.node.kind) {
|
|
84
84
|
case "Constant" /* Constant */: {
|
|
85
85
|
arrayWrapperXorNode = parser_1.NodeIdMapUtils.assertGetNthChildChecked(nodeIdMapCollection, invokeExpressionXorNode.node.id, 1, "ArrayWrapper" /* ArrayWrapper */);
|
|
86
86
|
break;
|
|
87
87
|
}
|
|
88
88
|
case "ArrayWrapper" /* ArrayWrapper */: {
|
|
89
|
-
arrayWrapperXorNode =
|
|
89
|
+
arrayWrapperXorNode = previousXor;
|
|
90
90
|
break;
|
|
91
91
|
}
|
|
92
92
|
case undefined:
|
|
@@ -96,7 +96,7 @@ function getArgumentOrdinal(nodeIdMapCollection, activeNode, ancestryIndex, invo
|
|
|
96
96
|
ancestryNodeKinds: activeNode.ancestry.map((xorNode) => xorNode.node.kind),
|
|
97
97
|
});
|
|
98
98
|
}
|
|
99
|
-
const
|
|
100
|
-
return
|
|
99
|
+
const arrayWrapperChildIds = nodeIdMapCollection.childIdsById.get(arrayWrapperXorNode.node.id);
|
|
100
|
+
return arrayWrapperChildIds !== undefined ? arrayWrapperChildIds.length - 1 : 0;
|
|
101
101
|
}
|
|
102
102
|
//# sourceMappingURL=currentInvokeExpression.js.map
|
package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"currentInvokeExpression.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,oDAAoD;AACpD,sFAKmE;AAGnE,oEAA2D;AAE3D,
|
|
1
|
+
{"version":3,"file":"currentInvokeExpression.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,oDAAoD;AACpD,sFAKmE;AAGnE,oEAA2D;AAE3D,8CAAyE;AAEzE,yDAAkG;AAClG,4CAAyD;AAczD,uDAAuD;AACvD,mCAAmC;AACnC,sCAAsC;AACtC,8BAA8B;AAC9B,8BAA8B;AAC9B,sDAAsD;AACtD,SAAsB,0BAA0B,CAC5C,QAA4B,EAC5B,mBAAyC,EACzC,UAAuB;AACvB,oGAAoG;AACpG,4DAA4D;AAC5D,YAAuB,0BAAc,CAAC,gBAAgB,EAAE;;QAExD,MAAM,KAAK,GAAU,QAAQ,CAAC,YAAY,CAAC,KAAK,4EAE5C,0BAA0B,CAAC,IAAI,EAC/B,QAAQ,CAAC,oBAAoB,CAChC,CAAC;QAEF,MAAM,eAAe,mCACd,QAAQ,KACX,oBAAoB,EAAE,KAAK,CAAC,EAAE,GACjC,CAAC;QAEF,IAAI,CAAC,4BAAe,CAAC,kBAAkB,CAAC,UAAU,CAAC,EAAE;YACjD,KAAK,CAAC,IAAI,EAAE,CAAC;YAEb,OAAO,OAAO,CAAC,OAAO,CAAC,+BAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;SACxD;QAED,MAAM,MAAM,GAAiC,MAAM,+BAAW,CAAC,iBAAiB,CAC5E,GAAG,EAAE,CAAC,uBAAuB,CAAC,eAAe,EAAE,mBAAmB,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,EACpG,eAAe,CAAC,MAAM,CACzB,CAAC;QAEF,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,OAAO,MAAM,CAAC;IAClB,CAAC;CAAA;AAjCD,gEAiCC;AAED,SAAe,uBAAuB,CAClC,QAA4B,EAC5B,mBAAyC,EACzC,UAAsB,EACtB,SAAoB,EACpB,aAAiC;;QAEjC,MAAM,KAAK,GAAU,QAAQ,CAAC,YAAY,CAAC,KAAK,4EAE5C,uBAAuB,CAAC,IAAI,EAC5B,aAAa,CAChB,CAAC;QAEF,MAAM,eAAe,mCACd,QAAQ,KACX,oBAAoB,EAAE,KAAK,CAAC,EAAE,GACjC,CAAC;QAEF,MAAM,QAAQ,GAA4B,UAAU,CAAC,QAAQ,CAAC;QAE9D,MAAM,UAAU,GAAmC,sBAAa,CAAC,yBAAyB,CACtF,QAAQ,4CAEX,CAAC;QAEF,IAAI,CAAC,UAAU,EAAE;YACb,KAAK,CAAC,IAAI,EAAE,CAAC;YAEb,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,CAAC,uBAAuB,EAAE,aAAa,CAAC,GAAuB,UAAU,CAAC;QAEhF,MAAM,qBAAqB,GAA0B,MAAM,IAAA,sCAAmB,EAC1E,eAAe,EACf,mBAAmB,EACnB,uBAAuB,CAAC,IAAI,CAAC,EAAE,EAC/B,SAAS,CACZ,CAAC;QAEF,IAAI,+BAAW,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE;YAC5C,KAAK,CAAC,IAAI,CAAC,EAAE,+BAA0B,EAAE,IAAI,EAAE,CAAC,CAAC;YAEjD,MAAM,qBAAqB,CAAC;SAC/B;QAED,MAAM,gBAAgB,GAAqB,qBAAqB,CAAC,KAAK,CAAC;QACvE,MAAM,IAAI,GAA0C,gBAAgB,CAAC,SAAS,CAAC;QAE/E,IAAI,eAA6D,CAAC;QAElE,IAAI,IAAI,KAAK,SAAS,EAAE;YACpB,eAAe,mCACR,IAAI,KACP,eAAe,EAAE,kBAAkB,CAC/B,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,uBAAuB,CAC1B,GACJ,CAAC;SACL;QAED,MAAM,MAAM,mCACL,gBAAgB,KACnB,SAAS,EAAE,eAAe,GAC7B,CAAC;QAEF,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,OAAO,MAAM,CAAC;IAClB,CAAC;CAAA;AAED,SAAS,kBAAkB,CACvB,mBAAyC,EACzC,UAAsB,EACtB,aAAqB,EACrB,uBAAiC;;IAEjC,WAAW;IACX,MAAM,WAAW,GAAyB,sBAAa,CAAC,qBAAqB,CACzE,UAAU,CAAC,QAAQ,EACnB,aAAa,EACb,CAAC,kBAEJ,CAAC;IAEF,IAAI,WAAW,KAAK,SAAS,EAAE;QAC3B,OAAO,MAAA,WAAW,CAAC,IAAI,CAAC,cAAc,mCAAI,CAAC,CAAC;KAC/C;IAED,MAAM,WAAW,GAAyB,sBAAa,CAAC,kBAAkB,CACtE,UAAU,CAAC,QAAQ,EACnB,aAAa,EACb;;;KAKC,CACJ,CAAC;IAEF,IAAI,mBAA6B,CAAC;IAElC,QAAQ,WAAW,aAAX,WAAW,uBAAX,WAAW,CAAE,IAAI,CAAC,IAAI,EAAE;QAC5B,8BAA0B,CAAC,CAAC;YACxB,mBAAmB,GAAG,uBAAc,CAAC,wBAAwB,CACzD,mBAAmB,EACnB,uBAAuB,CAAC,IAAI,CAAC,EAAE,EAC/B,CAAC,oCAEJ,CAAC;YAEF,MAAM;SACT;QAED,sCAA8B,CAAC,CAAC;YAC5B,mBAAmB,GAAG,WAAW,CAAC;YAClC,MAAM;SACT;QAED,KAAK,SAAS,CAAC;QACf;YACI,MAAM,IAAI,GAAG,CAAC,WAAW,CAAC,cAAc,CAAC,wDAAwD,EAAE;gBAC/F,aAAa;gBACb,iBAAiB,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAiB,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;aACvF,CAAC,CAAC;KACV;IAED,MAAM,oBAAoB,GAAsC,mBAAmB,CAAC,YAAY,CAAC,GAAG,CAChG,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAC9B,CAAC;IAEF,OAAO,oBAAoB,KAAK,SAAS,CAAC,CAAC,CAAC,oBAAoB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AACpF,CAAC"}
|
|
@@ -23,8 +23,8 @@ function tryInvokeExpression(settings, nodeIdMapCollection, invokeExpressionId,
|
|
|
23
23
|
// If a TypeCache is given, then potentially add to its values and include it as part of the return,
|
|
24
24
|
// Else create a new TypeCache and include it in the return.
|
|
25
25
|
typeCache = typeCache_1.TypeCacheUtils.createEmptyCache()) {
|
|
26
|
-
const trace = settings.traceManager.entry("Inspection.InvokeExpression" /* InspectInvokeExpression */, tryInvokeExpression.name, settings.
|
|
27
|
-
const updatedSettings = Object.assign(Object.assign({}, settings), {
|
|
26
|
+
const trace = settings.traceManager.entry("Inspection.InvokeExpression" /* InspectInvokeExpression */, tryInvokeExpression.name, settings.initialCorrelationId);
|
|
27
|
+
const updatedSettings = Object.assign(Object.assign({}, settings), { initialCorrelationId: trace.id });
|
|
28
28
|
const result = powerquery_parser_1.ResultUtils.ensureResultAsync(() => inspectInvokeExpression(updatedSettings, nodeIdMapCollection, invokeExpressionId, typeCache, trace.id), settings.locale);
|
|
29
29
|
return result;
|
|
30
30
|
}
|
|
@@ -33,26 +33,25 @@ function inspectInvokeExpression(settings, nodeIdMapCollection, invokeExpression
|
|
|
33
33
|
var _a;
|
|
34
34
|
return __awaiter(this, void 0, void 0, function* () {
|
|
35
35
|
const trace = settings.traceManager.entry("Inspection.InvokeExpression" /* InspectInvokeExpression */, inspectInvokeExpression.name, correlationId);
|
|
36
|
-
(_a = settings.
|
|
37
|
-
const
|
|
38
|
-
if (
|
|
36
|
+
(_a = settings.cancellationToken) === null || _a === void 0 ? void 0 : _a.throwIfCancelled();
|
|
37
|
+
const invokeExpressionXorNode = parser_1.NodeIdMapUtils.xor(nodeIdMapCollection, invokeExpressionId);
|
|
38
|
+
if (invokeExpressionXorNode === undefined) {
|
|
39
39
|
trace.exit({ ["IsThrowing" /* IsThrowing */]: true });
|
|
40
40
|
throw new PQP.CommonError.InvariantError(`expected invokeExpressionId to be present in nodeIdMapCollection`, {
|
|
41
41
|
invokeExpressionId,
|
|
42
42
|
});
|
|
43
43
|
}
|
|
44
|
-
const invokeExpressionXorNode = maybeInvokeExpressionXorNode;
|
|
45
44
|
parser_1.XorNodeUtils.assertIsInvokeExpression(invokeExpressionXorNode);
|
|
46
|
-
const previousNode = parser_1.NodeIdMapUtils.
|
|
45
|
+
const previousNode = parser_1.NodeIdMapUtils.assertRecursiveExpressionPreviousSibling(nodeIdMapCollection, invokeExpressionId);
|
|
47
46
|
const functionType = powerquery_parser_1.Assert.unboxOk(yield (0, type_1.tryType)(settings, nodeIdMapCollection, previousNode.node.id, typeCache));
|
|
48
|
-
const
|
|
49
|
-
let
|
|
47
|
+
const name = parser_1.NodeIdMapUtils.invokeExpressionIdentifierLiteral(nodeIdMapCollection, invokeExpressionId);
|
|
48
|
+
let invokeExpressionArgs;
|
|
50
49
|
if (language_1.TypeUtils.isDefinedFunction(functionType)) {
|
|
51
50
|
const iterableArguments = parser_1.NodeIdMapIterator.iterInvokeExpression(nodeIdMapCollection, invokeExpressionXorNode);
|
|
52
51
|
const givenArgumentTypes = yield getArgumentTypes(settings, nodeIdMapCollection, typeCache, iterableArguments);
|
|
53
52
|
const givenArguments = iterableArguments.slice(0, givenArgumentTypes.length);
|
|
54
53
|
const [numMinExpectedArguments, numMaxExpectedArguments] = getNumExpectedArguments(functionType);
|
|
55
|
-
|
|
54
|
+
invokeExpressionArgs = {
|
|
56
55
|
givenArguments,
|
|
57
56
|
givenArgumentTypes,
|
|
58
57
|
numMaxExpectedArguments,
|
|
@@ -63,25 +62,25 @@ function inspectInvokeExpression(settings, nodeIdMapCollection, invokeExpression
|
|
|
63
62
|
const result = {
|
|
64
63
|
invokeExpressionXorNode,
|
|
65
64
|
functionType,
|
|
66
|
-
isNameInLocalScope: yield getIsNameInLocalScope(settings, nodeIdMapCollection, typeCache, invokeExpressionXorNode,
|
|
67
|
-
|
|
68
|
-
|
|
65
|
+
isNameInLocalScope: yield getIsNameInLocalScope(settings, nodeIdMapCollection, typeCache, invokeExpressionXorNode, name, trace.id),
|
|
66
|
+
name,
|
|
67
|
+
arguments: invokeExpressionArgs,
|
|
69
68
|
};
|
|
70
69
|
trace.exit();
|
|
71
70
|
return result;
|
|
72
71
|
});
|
|
73
72
|
}
|
|
74
|
-
function getIsNameInLocalScope(settings, nodeIdMapCollection, typeCache, invokeExpressionXorNode,
|
|
73
|
+
function getIsNameInLocalScope(settings, nodeIdMapCollection, typeCache, invokeExpressionXorNode, name, correlationId) {
|
|
75
74
|
return __awaiter(this, void 0, void 0, function* () {
|
|
76
75
|
const trace = settings.traceManager.entry("Inspection.InvokeExpression" /* InspectInvokeExpression */, getIsNameInLocalScope.name, correlationId);
|
|
77
|
-
const updatedSettings = Object.assign(Object.assign({}, settings), {
|
|
76
|
+
const updatedSettings = Object.assign(Object.assign({}, settings), { initialCorrelationId: trace.id });
|
|
78
77
|
// Try to find out if the identifier is a local or external name.
|
|
79
|
-
if (
|
|
78
|
+
if (name !== undefined) {
|
|
80
79
|
// Seed local scope
|
|
81
80
|
const scope = powerquery_parser_1.Assert.unboxOk(yield (0, scope_1.assertGetOrCreateNodeScope)(updatedSettings, nodeIdMapCollection, invokeExpressionXorNode.node.id, typeCache.scopeById));
|
|
82
|
-
const
|
|
81
|
+
const nameScopeItem = scope.get(name);
|
|
83
82
|
trace.exit();
|
|
84
|
-
return
|
|
83
|
+
return nameScopeItem !== undefined && nameScopeItem.kind !== "Undefined" /* Undefined */;
|
|
85
84
|
}
|
|
86
85
|
else {
|
|
87
86
|
trace.exit();
|
package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invokeExpression.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/invokeExpression/invokeExpression.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,oDAAoD;AACpD,oEAAmE;AACnE,sFAMmE;AAEnE,0FAA8F;AAE9F,oCAA4F;AAE5F,kCAA6C;AAC7C,4CAAyD;AASzD,SAAgB,mBAAmB,CAC/B,QAA4B,EAC5B,mBAAyC,EACzC,kBAA0B;AAC1B,oGAAoG;AACpG,4DAA4D;AAC5D,YAAuB,0BAAc,CAAC,gBAAgB,EAAE;IAExD,MAAM,KAAK,GAAU,QAAQ,CAAC,YAAY,CAAC,KAAK,8DAE5C,mBAAmB,CAAC,IAAI,EACxB,QAAQ,CAAC,
|
|
1
|
+
{"version":3,"file":"invokeExpression.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/invokeExpression/invokeExpression.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,51 +11,49 @@ function pseudoFunctionExpressionType(nodeIdMapCollection, fnExpr) {
|
|
|
11
11
|
// Iterates all parameters as TXorNodes if they exist, otherwise early exists from an empty list.
|
|
12
12
|
for (const parameter of functionParameterXorNodes(nodeIdMapCollection, fnExpr)) {
|
|
13
13
|
// A parameter isn't examinable if it doesn't have an Ast.Identifier for its name.
|
|
14
|
-
const
|
|
15
|
-
if (
|
|
14
|
+
const name = parser_1.NodeIdMapUtils.unboxNthChildIfAstChecked(nodeIdMapCollection, parameter.node.id, 1, "Identifier" /* Identifier */);
|
|
15
|
+
if (name === undefined) {
|
|
16
16
|
break;
|
|
17
17
|
}
|
|
18
|
-
const
|
|
19
|
-
if (
|
|
18
|
+
const examinable = language_1.TypeUtils.inspectParameter(nodeIdMapCollection, parser_1.XorNodeUtils.assertAsParameter(parameter));
|
|
19
|
+
if (examinable !== undefined) {
|
|
20
20
|
examinedParameters.push({
|
|
21
21
|
id: parameter.node.id,
|
|
22
|
-
isNullable:
|
|
23
|
-
isOptional:
|
|
24
|
-
|
|
25
|
-
name
|
|
22
|
+
isNullable: examinable.isNullable,
|
|
23
|
+
isOptional: examinable.isOptional,
|
|
24
|
+
type: examinable.type,
|
|
25
|
+
name,
|
|
26
26
|
});
|
|
27
27
|
}
|
|
28
28
|
}
|
|
29
|
-
const
|
|
29
|
+
const returnType = parser_1.NodeIdMapUtils.unboxNthChildIfAstChecked(nodeIdMapCollection, fnExpr.node.id, 1, "AsNullablePrimitiveType" /* AsNullablePrimitiveType */);
|
|
30
30
|
let isReturnNullable;
|
|
31
|
-
let
|
|
32
|
-
if (
|
|
33
|
-
const simplified = language_1.AstUtils.simplifyAsNullablePrimitiveType(
|
|
31
|
+
let returnTypeKind;
|
|
32
|
+
if (returnType !== undefined) {
|
|
33
|
+
const simplified = language_1.AstUtils.simplifyAsNullablePrimitiveType(returnType);
|
|
34
34
|
isReturnNullable = simplified.isNullable;
|
|
35
|
-
|
|
35
|
+
returnTypeKind = language_1.TypeUtils.typeKindFromPrimitiveTypeConstantKind(simplified.primitiveTypeConstantKind);
|
|
36
36
|
}
|
|
37
37
|
else {
|
|
38
38
|
isReturnNullable = true;
|
|
39
|
-
|
|
39
|
+
returnTypeKind = "Any" /* Any */;
|
|
40
40
|
}
|
|
41
41
|
return {
|
|
42
42
|
parameters: examinedParameters,
|
|
43
43
|
returnType: {
|
|
44
|
-
kind:
|
|
45
|
-
|
|
44
|
+
kind: returnTypeKind,
|
|
45
|
+
extendedKind: undefined,
|
|
46
46
|
isNullable: isReturnNullable,
|
|
47
47
|
},
|
|
48
48
|
};
|
|
49
49
|
}
|
|
50
50
|
exports.pseudoFunctionExpressionType = pseudoFunctionExpressionType;
|
|
51
51
|
function functionParameterXorNodes(nodeIdMapCollection, fnExpr) {
|
|
52
|
-
const
|
|
53
|
-
if (
|
|
52
|
+
const parametersList = parser_1.NodeIdMapUtils.nthChildChecked(nodeIdMapCollection, fnExpr.node.id, 0, "ParameterList" /* ParameterList */);
|
|
53
|
+
if (parametersList === undefined) {
|
|
54
54
|
return [];
|
|
55
55
|
}
|
|
56
|
-
const
|
|
57
|
-
return
|
|
58
|
-
? []
|
|
59
|
-
: parser_1.NodeIdMapIterator.iterArrayWrapper(nodeIdMapCollection, maybeWrappedContent);
|
|
56
|
+
const wrappedContent = parser_1.NodeIdMapUtils.unboxWrappedContent(nodeIdMapCollection, parametersList.node.id);
|
|
57
|
+
return wrappedContent === undefined ? [] : parser_1.NodeIdMapIterator.iterArrayWrapper(nodeIdMapCollection, wrappedContent);
|
|
60
58
|
}
|
|
61
59
|
//# sourceMappingURL=pseudoFunctionExpressionType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"pseudoFunctionExpressionType.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/inspection/pseudoFunctionExpressionType.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,0FAA6G;AAC7G,sFAOmE;AAcnE,SAAgB,4BAA4B,CACxC,mBAAyC,EACzC,MAAgB;IAEhB,qBAAY,CAAC,gBAAgB,CAAyB,MAAM,gDAAkC,CAAC;IAE/F,MAAM,kBAAkB,GAAkC,EAAE,CAAC;IAE7D,iGAAiG;IACjG,KAAK,MAAM,SAAS,IAAI,yBAAyB,CAAC,mBAAmB,EAAE,MAAM,CAAC,EAAE;QAC5E,kFAAkF;QAClF,MAAM,
|
|
1
|
+
{"version":3,"file":"pseudoFunctionExpressionType.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/inspection/pseudoFunctionExpressionType.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,0FAA6G;AAC7G,sFAOmE;AAcnE,SAAgB,4BAA4B,CACxC,mBAAyC,EACzC,MAAgB;IAEhB,qBAAY,CAAC,gBAAgB,CAAyB,MAAM,gDAAkC,CAAC;IAE/F,MAAM,kBAAkB,GAAkC,EAAE,CAAC;IAE7D,iGAAiG;IACjG,KAAK,MAAM,SAAS,IAAI,yBAAyB,CAAC,mBAAmB,EAAE,MAAM,CAAC,EAAE;QAC5E,kFAAkF;QAClF,MAAM,IAAI,GAA+B,uBAAc,CAAC,yBAAyB,CAC7E,mBAAmB,EACnB,SAAS,CAAC,IAAI,CAAC,EAAE,EACjB,CAAC,gCAEJ,CAAC;QAEF,IAAI,IAAI,KAAK,SAAS,EAAE;YACpB,MAAM;SACT;QAED,MAAM,UAAU,GAAuC,oBAAS,CAAC,gBAAgB,CAC7E,mBAAmB,EACnB,qBAAY,CAAC,iBAAiB,CAAC,SAAS,CAAC,CAC5C,CAAC;QAEF,IAAI,UAAU,KAAK,SAAS,EAAE;YAC1B,kBAAkB,CAAC,IAAI,CAAC;gBACpB,EAAE,EAAE,SAAS,CAAC,IAAI,CAAC,EAAE;gBACrB,UAAU,EAAE,UAAU,CAAC,UAAU;gBACjC,UAAU,EAAE,UAAU,CAAC,UAAU;gBACjC,IAAI,EAAE,UAAU,CAAC,IAAI;gBACrB,IAAI;aACP,CAAC,CAAC;SACN;KACJ;IAED,MAAM,UAAU,GACZ,uBAAc,CAAC,yBAAyB,CACpC,mBAAmB,EACnB,MAAM,CAAC,IAAI,CAAC,EAAE,EACd,CAAC,0DAEJ,CAAC;IAEN,IAAI,gBAAyB,CAAC;IAC9B,IAAI,cAA6B,CAAC;IAElC,IAAI,UAAU,KAAK,SAAS,EAAE;QAC1B,MAAM,UAAU,GAA4B,mBAAQ,CAAC,+BAA+B,CAAC,UAAU,CAAC,CAAC;QACjG,gBAAgB,GAAG,UAAU,CAAC,UAAU,CAAC;QACzC,cAAc,GAAG,oBAAS,CAAC,qCAAqC,CAAC,UAAU,CAAC,yBAAyB,CAAC,CAAC;KAC1G;SAAM;QACH,gBAAgB,GAAG,IAAI,CAAC;QACxB,cAAc,kBAAoB,CAAC;KACtC;IAED,OAAO;QACH,UAAU,EAAE,kBAAkB;QAC9B,UAAU,EAAE;YACR,IAAI,EAAE,cAAc;YACpB,YAAY,EAAE,SAAS;YACvB,UAAU,EAAE,gBAAgB;SAC/B;KACJ,CAAC;AACN,CAAC;AAlED,oEAkEC;AAED,SAAS,yBAAyB,CAC9B,mBAAyC,EACzC,MAAgB;IAEhB,MAAM,cAAc,GAA4C,uBAAc,CAAC,eAAe,CAC1F,mBAAmB,EACnB,MAAM,CAAC,IAAI,CAAC,EAAE,EACd,CAAC,sCAEJ,CAAC;IAEF,IAAI,cAAc,KAAK,SAAS,EAAE;QAC9B,OAAO,EAAE,CAAC;KACb;IAED,MAAM,cAAc,GAAyB,uBAAc,CAAC,mBAAmB,CAC3E,mBAAmB,EACnB,cAAc,CAAC,IAAI,CAAC,EAAE,CACzB,CAAC;IAEF,OAAO,cAAc,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,0BAAiB,CAAC,gBAAgB,CAAC,mBAAmB,EAAE,cAAc,CAAC,CAAC;AACvH,CAAC"}
|
|
@@ -23,7 +23,7 @@ export interface IScopeItem {
|
|
|
23
23
|
export interface IKeyValuePairScopeItem<Key extends Ast.Identifier | Ast.GeneralizedIdentifier, Kind extends ScopeItemKind.LetVariable | ScopeItemKind.RecordField | ScopeItemKind.SectionMember> extends IScopeItem {
|
|
24
24
|
readonly kind: Kind;
|
|
25
25
|
readonly key: Key;
|
|
26
|
-
readonly
|
|
26
|
+
readonly value: TXorNode | undefined;
|
|
27
27
|
}
|
|
28
28
|
export interface EachScopeItem extends IScopeItem {
|
|
29
29
|
readonly kind: ScopeItemKind.Each;
|
|
@@ -35,7 +35,7 @@ export interface ParameterScopeItem extends IScopeItem {
|
|
|
35
35
|
readonly name: Ast.Identifier;
|
|
36
36
|
readonly isOptional: boolean;
|
|
37
37
|
readonly isNullable: boolean;
|
|
38
|
-
readonly
|
|
38
|
+
readonly type: Constant.PrimitiveTypeConstant | undefined;
|
|
39
39
|
}
|
|
40
40
|
export declare type RecordFieldScopeItem = IKeyValuePairScopeItem<Ast.GeneralizedIdentifier, ScopeItemKind.RecordField>;
|
|
41
41
|
export declare type SectionMemberScopeItem = IKeyValuePairScopeItem<Ast.Identifier, ScopeItemKind.SectionMember>;
|