@microsoft/powerquery-language-services 0.6.12 → 0.9.6
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 +12 -11
- package/lib/powerquery-language-services/analysis/analysisBase.d.ts +31 -25
- package/lib/powerquery-language-services/analysis/analysisBase.js +239 -195
- package/lib/powerquery-language-services/analysis/analysisBase.js.map +1 -1
- package/lib/powerquery-language-services/analysis/analysisUtils.d.ts +1 -1
- package/lib/powerquery-language-services/analysis/analysisUtils.js +3 -3
- package/lib/powerquery-language-services/analysis/analysisUtils.js.map +1 -1
- package/lib/powerquery-language-services/analysis/memoizedAnalysis.d.ts +6 -6
- package/lib/powerquery-language-services/analysis/memoizedAnalysis.js.map +1 -1
- package/lib/powerquery-language-services/documentSymbols.js +8 -7
- package/lib/powerquery-language-services/documentSymbols.js.map +1 -1
- package/lib/powerquery-language-services/externalType/externalType.d.ts +1 -1
- package/lib/powerquery-language-services/externalType/externalType.js.map +1 -1
- package/lib/powerquery-language-services/externalType/externalTypeUtils.d.ts +2 -2
- package/lib/powerquery-language-services/externalType/externalTypeUtils.js +8 -7
- package/lib/powerquery-language-services/externalType/externalTypeUtils.js.map +1 -1
- package/lib/powerquery-language-services/index.d.ts +2 -1
- package/lib/powerquery-language-services/index.js +4 -3
- package/lib/powerquery-language-services/index.js.map +1 -1
- package/lib/powerquery-language-services/inspection/activeNode/activeNode.d.ts +7 -8
- package/lib/powerquery-language-services/inspection/activeNode/activeNode.js +3 -4
- package/lib/powerquery-language-services/inspection/activeNode/activeNode.js.map +1 -1
- package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js +227 -193
- package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.d.ts +4 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js +121 -98
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.d.ts +3 -6
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js +13 -46
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.d.ts +2 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js +42 -43
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js +24 -23
- 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 +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordIdentifierPairedExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js +8 -8
- 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 +8 -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 +6 -5
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordTrailingText.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/common.js +1 -1
- 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 +4 -3
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js +126 -82
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.d.ts +5 -3
- package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js +305 -53
- package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/commonTypes.d.ts +6 -7
- package/lib/powerquery-language-services/inspection/autocomplete/task.js +8 -11
- package/lib/powerquery-language-services/inspection/autocomplete/task.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/trailingToken.d.ts +7 -0
- package/lib/powerquery-language-services/inspection/autocomplete/trailingToken.js +5 -0
- package/lib/powerquery-language-services/inspection/autocomplete/trailingToken.js.map +1 -0
- package/lib/powerquery-language-services/inspection/autocomplete/{common.d.ts → trailingTokenUtils.d.ts} +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/trailingTokenUtils.js +19 -0
- package/lib/powerquery-language-services/inspection/autocomplete/trailingTokenUtils.js.map +1 -0
- package/lib/powerquery-language-services/inspection/deferenceIdentifier.js +23 -20
- package/lib/powerquery-language-services/inspection/deferenceIdentifier.js.map +1 -1
- package/lib/powerquery-language-services/inspection/expectedType.js +62 -61
- package/lib/powerquery-language-services/inspection/expectedType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js +20 -15
- package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js +12 -10
- package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js +7 -7
- package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/scope/scope.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/scope/scope.js.map +1 -1
- package/lib/powerquery-language-services/inspection/scope/scopeInspection.js +38 -36
- package/lib/powerquery-language-services/inspection/scope/scopeInspection.js.map +1 -1
- package/lib/powerquery-language-services/inspection/scope/scopeUtils.js +20 -18
- package/lib/powerquery-language-services/inspection/scope/scopeUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/task.js +24 -21
- package/lib/powerquery-language-services/inspection/task.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/common.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/common.js +85 -84
- package/lib/powerquery-language-services/inspection/type/inspectType/common.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js +4 -3
- package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.js +38 -38
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js +6 -5
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js +10 -9
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js +6 -5
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.js +25 -24
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js +11 -10
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js +5 -4
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js +15 -13
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js +14 -12
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js +5 -4
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js +5 -4
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js +11 -10
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js +11 -10
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js +8 -6
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js +10 -8
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js +11 -10
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js +10 -6
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js.map +1 -1
- 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.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.js +10 -8
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js +8 -6
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js +9 -7
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.js.map +1 -1
- 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.js +89 -88
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js +12 -10
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js +14 -13
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/task.js +9 -7
- package/lib/powerquery-language-services/inspection/type/task.js.map +1 -1
- package/lib/powerquery-language-services/inspection/typeCache/typeCacheUtils.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/typeCache/typeCacheUtils.js +3 -3
- package/lib/powerquery-language-services/inspection/typeCache/typeCacheUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspectionSettings.d.ts +1 -1
- package/lib/powerquery-language-services/inspectionSettings.js.map +1 -1
- package/lib/powerquery-language-services/inspectionUtils.d.ts +3 -3
- package/lib/powerquery-language-services/inspectionUtils.js +51 -52
- 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/library.js.map +1 -1
- package/lib/powerquery-language-services/library/librarySymbolUtils.d.ts +10 -2
- package/lib/powerquery-language-services/library/librarySymbolUtils.js +27 -21
- package/lib/powerquery-language-services/library/librarySymbolUtils.js.map +1 -1
- package/lib/powerquery-language-services/library/libraryUtils.d.ts +5 -5
- package/lib/powerquery-language-services/library/libraryUtils.js +24 -23
- package/lib/powerquery-language-services/library/libraryUtils.js.map +1 -1
- package/lib/powerquery-language-services/localization/templates.js +42 -42
- package/lib/powerquery-language-services/localization/templates.js.map +1 -1
- package/lib/powerquery-language-services/positionUtils.d.ts +9 -4
- package/lib/powerquery-language-services/positionUtils.js +55 -23
- package/lib/powerquery-language-services/positionUtils.js.map +1 -1
- package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js +15 -15
- package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js.map +1 -1
- package/lib/powerquery-language-services/providers/libraryProvider.js +9 -8
- package/lib/powerquery-language-services/providers/libraryProvider.js.map +1 -1
- package/lib/powerquery-language-services/providers/localDocumentProvider/foldingRanges.js +16 -14
- package/lib/powerquery-language-services/providers/localDocumentProvider/foldingRanges.js.map +1 -1
- package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.js +24 -23
- package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.js.map +1 -1
- package/lib/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.js +73 -71
- package/lib/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.js.map +1 -1
- package/lib/powerquery-language-services/providers/nullSymbolProvider.js +6 -6
- package/lib/powerquery-language-services/providers/nullSymbolProvider.js.map +1 -1
- package/lib/powerquery-language-services/tokenPositionComparison.d.ts +5 -0
- package/lib/powerquery-language-services/tokenPositionComparison.js +13 -0
- package/lib/powerquery-language-services/tokenPositionComparison.js.map +1 -0
- package/lib/powerquery-language-services/trace.d.ts +4 -4
- package/lib/powerquery-language-services/trace.js.map +1 -1
- package/lib/powerquery-language-services/traceUtils.d.ts +2 -2
- package/lib/powerquery-language-services/traceUtils.js +5 -5
- package/lib/powerquery-language-services/traceUtils.js.map +1 -1
- package/lib/powerquery-language-services/validate/validate.js +6 -5
- package/lib/powerquery-language-services/validate/validate.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js +16 -14
- package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateFunctionExpression.js +6 -4
- package/lib/powerquery-language-services/validate/validateFunctionExpression.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateInvokeExpression.js +7 -5
- package/lib/powerquery-language-services/validate/validateInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.js +10 -7
- package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.js.map +1 -1
- package/package.json +10 -8
- package/lib/powerquery-language-services/inspection/autocomplete/common.js +0 -11
- package/lib/powerquery-language-services/inspection/autocomplete/common.js.map +0 -1
|
@@ -28,37 +28,37 @@ class NullSymbolProvider {
|
|
|
28
28
|
// eslint-disable-next-line require-await
|
|
29
29
|
getAutocompleteItems(_context) {
|
|
30
30
|
return __awaiter(this, void 0, void 0, function* () {
|
|
31
|
-
return powerquery_parser_1.ResultUtils.
|
|
31
|
+
return powerquery_parser_1.ResultUtils.ok(undefined);
|
|
32
32
|
});
|
|
33
33
|
}
|
|
34
34
|
// eslint-disable-next-line require-await
|
|
35
35
|
getDefinition(_context) {
|
|
36
36
|
return __awaiter(this, void 0, void 0, function* () {
|
|
37
|
-
return powerquery_parser_1.ResultUtils.
|
|
37
|
+
return powerquery_parser_1.ResultUtils.ok(undefined);
|
|
38
38
|
});
|
|
39
39
|
}
|
|
40
40
|
// eslint-disable-next-line require-await
|
|
41
41
|
getFoldingRanges(_context) {
|
|
42
42
|
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
-
return powerquery_parser_1.ResultUtils.
|
|
43
|
+
return powerquery_parser_1.ResultUtils.ok([]);
|
|
44
44
|
});
|
|
45
45
|
}
|
|
46
46
|
// eslint-disable-next-line require-await
|
|
47
47
|
getHover(_context) {
|
|
48
48
|
return __awaiter(this, void 0, void 0, function* () {
|
|
49
|
-
return powerquery_parser_1.ResultUtils.
|
|
49
|
+
return powerquery_parser_1.ResultUtils.ok(undefined);
|
|
50
50
|
});
|
|
51
51
|
}
|
|
52
52
|
// eslint-disable-next-line require-await
|
|
53
53
|
getPartialSemanticTokens(_context) {
|
|
54
54
|
return __awaiter(this, void 0, void 0, function* () {
|
|
55
|
-
return powerquery_parser_1.ResultUtils.
|
|
55
|
+
return powerquery_parser_1.ResultUtils.ok(undefined);
|
|
56
56
|
});
|
|
57
57
|
}
|
|
58
58
|
// eslint-disable-next-line require-await
|
|
59
59
|
getSignatureHelp(_context) {
|
|
60
60
|
return __awaiter(this, void 0, void 0, function* () {
|
|
61
|
-
return powerquery_parser_1.ResultUtils.
|
|
61
|
+
return powerquery_parser_1.ResultUtils.ok(undefined);
|
|
62
62
|
});
|
|
63
63
|
}
|
|
64
64
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"nullSymbolProvider.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/providers/nullSymbolProvider.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,oEAAgF;AAoBhF,0BAA2C;AAK3C,MAAa,kBAAkB;IAA/B;QASoB,yBAAoB,GAAyC,gBAAY,CAAC,wBAAwB,CAAC;QACnG,uBAAkB,GAA+B,IAAI,GAAG,EAAE,CAAC;IAiD/E,CAAC;IA7CU,MAAM,CAAC,SAAS;QACnB,IAAI,kBAAkB,CAAC,QAAQ,KAAK,SAAS,EAAE;YAC3C,kBAAkB,CAAC,QAAQ,GAAG,IAAI,kBAAkB,EAAE,CAAC;SAC1D;QAED,OAAO,kBAAkB,CAAC,QAAQ,CAAC;IACvC,CAAC;IAED,yCAAyC;IAC5B,oBAAoB,CAC7B,QAAyC;;YAEzC,OAAO,+BAAW,CAAC,
|
|
1
|
+
{"version":3,"file":"nullSymbolProvider.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/providers/nullSymbolProvider.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,oEAAgF;AAoBhF,0BAA2C;AAK3C,MAAa,kBAAkB;IAA/B;QASoB,yBAAoB,GAAyC,gBAAY,CAAC,wBAAwB,CAAC;QACnG,uBAAkB,GAA+B,IAAI,GAAG,EAAE,CAAC;IAiD/E,CAAC;IA7CU,MAAM,CAAC,SAAS;QACnB,IAAI,kBAAkB,CAAC,QAAQ,KAAK,SAAS,EAAE;YAC3C,kBAAkB,CAAC,QAAQ,GAAG,IAAI,kBAAkB,EAAE,CAAC;SAC1D;QAED,OAAO,kBAAkB,CAAC,QAAQ,CAAC;IACvC,CAAC;IAED,yCAAyC;IAC5B,oBAAoB,CAC7B,QAAyC;;YAEzC,OAAO,+BAAW,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC;KAAA;IAED,yCAAyC;IAC5B,aAAa,CACtB,QAAmC;;YAEnC,OAAO,+BAAW,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC;KAAA;IAED,yCAAyC;IAC5B,gBAAgB,CAAC,QAAyB;;YACnD,OAAO,+BAAW,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QAC9B,CAAC;KAAA;IAED,yCAAyC;IAC5B,QAAQ,CAAC,QAA8B;;YAChD,OAAO,+BAAW,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC;KAAA;IAED,yCAAyC;IAC5B,wBAAwB,CACjC,QAAyB;;YAEzB,OAAO,+BAAW,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC;KAAA;IAED,yCAAyC;IAC5B,gBAAgB,CACzB,QAAkC;;YAElC,OAAO,+BAAW,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;QACrC,CAAC;KAAA;CACJ;AA3DD,gDA2DC"}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// Copyright (c) Microsoft Corporation.
|
|
3
|
+
// Licensed under the MIT license.
|
|
4
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
+
exports.TokenPositionComparison = void 0;
|
|
6
|
+
// Used to indicate the relationship between a TokenPosition and a Position
|
|
7
|
+
var TokenPositionComparison;
|
|
8
|
+
(function (TokenPositionComparison) {
|
|
9
|
+
TokenPositionComparison["OnToken"] = "OnToken";
|
|
10
|
+
TokenPositionComparison["LeftOfToken"] = "LeftOfToken";
|
|
11
|
+
TokenPositionComparison["RightOfToken"] = "RightOfToken";
|
|
12
|
+
})(TokenPositionComparison = exports.TokenPositionComparison || (exports.TokenPositionComparison = {}));
|
|
13
|
+
//# sourceMappingURL=tokenPositionComparison.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenPositionComparison.js","sourceRoot":"","sources":["../../src/powerquery-language-services/tokenPositionComparison.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,2EAA2E;AAC3E,IAAY,uBAIX;AAJD,WAAY,uBAAuB;IAC/B,8CAAmB,CAAA;IACnB,sDAA2B,CAAA;IAC3B,wDAA6B,CAAA;AACjC,CAAC,EAJW,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAIlC"}
|
|
@@ -1,11 +1,11 @@
|
|
|
1
|
-
export declare
|
|
1
|
+
export declare enum AutocompleteTraceConstant {
|
|
2
2
|
Autocomplete = "Autocomplete",
|
|
3
3
|
AutocompleteFieldAccess = "FieldAccess",
|
|
4
4
|
AutocompleteKeyword = "Keyword",
|
|
5
5
|
AutocompleteLanguageConstant = "LanguageConstant",
|
|
6
6
|
AutocompletePrimitiveType = "PrimitiveType"
|
|
7
7
|
}
|
|
8
|
-
export declare
|
|
8
|
+
export declare enum InspectionTraceConstant {
|
|
9
9
|
Inspect = "Inspect",
|
|
10
10
|
InspectCurrentInvokeExpression = "Inspection.CurrentInvokeExpression",
|
|
11
11
|
InspectExpectedType = "Inspection.ExpectedType",
|
|
@@ -16,12 +16,12 @@ export declare const enum InspectionTraceConstant {
|
|
|
16
16
|
InspectType = "Inspection.Type",
|
|
17
17
|
InspectionUtils = "InspectionUtils"
|
|
18
18
|
}
|
|
19
|
-
export declare
|
|
19
|
+
export declare enum ProviderTraceConstant {
|
|
20
20
|
LanguageCompletionProvider = "LanguageCompletionProvider",
|
|
21
21
|
LibrarySymbolProvider = "LibrarySymbolProvider",
|
|
22
22
|
LocalDocumentSymbolProvider = "LocalDocumentSymbolProvider"
|
|
23
23
|
}
|
|
24
|
-
export declare
|
|
24
|
+
export declare enum ValidationTraceConstant {
|
|
25
25
|
AnalysisBase = "AnalysisBase",
|
|
26
26
|
Validation = "Validation"
|
|
27
27
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trace.js","sourceRoot":"","sources":["../../src/powerquery-language-services/trace.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,
|
|
1
|
+
{"version":3,"file":"trace.js","sourceRoot":"","sources":["../../src/powerquery-language-services/trace.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,IAAY,yBAMX;AAND,WAAY,yBAAyB;IACjC,0DAA6B,CAAA;IAC7B,oEAAuC,CAAA;IACvC,4DAA+B,CAAA;IAC/B,8EAAiD,CAAA;IACjD,wEAA2C,CAAA;AAC/C,CAAC,EANW,yBAAyB,GAAzB,iCAAyB,KAAzB,iCAAyB,QAMpC;AAED,IAAY,uBAUX;AAVD,WAAY,uBAAuB;IAC/B,8CAAmB,CAAA;IACnB,gGAAqE,CAAA;IACrE,0EAA+C,CAAA;IAC/C,kFAAuD,CAAA;IACvD,4DAAiC,CAAA;IACjC,oEAAyC,CAAA;IACzC,oEAAyC,CAAA;IACzC,0DAA+B,CAAA;IAC/B,8DAAmC,CAAA;AACvC,CAAC,EAVW,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAUlC;AAED,IAAY,qBAIX;AAJD,WAAY,qBAAqB;IAC7B,kFAAyD,CAAA;IACzD,wEAA+C,CAAA;IAC/C,oFAA2D,CAAA;AAC/D,CAAC,EAJW,qBAAqB,GAArB,6BAAqB,KAArB,6BAAqB,QAIhC;AAED,IAAY,uBAGX;AAHD,WAAY,uBAAuB;IAC/B,wDAA6B,CAAA;IAC7B,oDAAyB,CAAA;AAC7B,CAAC,EAHW,uBAAuB,GAAvB,+BAAuB,KAAvB,+BAAuB,QAGlC"}
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { Ast, Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
|
|
2
2
|
import { TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
|
|
3
|
-
export declare function
|
|
4
|
-
export declare function
|
|
3
|
+
export declare function typeDetails(powerQueryType: Type.TPowerQueryType): TypeDetails;
|
|
4
|
+
export declare function xorNodeDetails(xorNode: TXorNode): XorNodeDetails;
|
|
5
5
|
interface TypeDetails {
|
|
6
6
|
readonly kind: Type.TypeKind;
|
|
7
7
|
readonly extendedType: Type.ExtendedTypeKind | undefined;
|
|
@@ -2,20 +2,20 @@
|
|
|
2
2
|
// Copyright (c) Microsoft Corporation.
|
|
3
3
|
// Licensed under the MIT license.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.
|
|
6
|
-
function
|
|
5
|
+
exports.xorNodeDetails = exports.typeDetails = void 0;
|
|
6
|
+
function typeDetails(powerQueryType) {
|
|
7
7
|
return {
|
|
8
8
|
kind: powerQueryType.kind,
|
|
9
9
|
extendedType: powerQueryType.extendedKind,
|
|
10
10
|
isNullable: powerQueryType.isNullable,
|
|
11
11
|
};
|
|
12
12
|
}
|
|
13
|
-
exports.
|
|
14
|
-
function
|
|
13
|
+
exports.typeDetails = typeDetails;
|
|
14
|
+
function xorNodeDetails(xorNode) {
|
|
15
15
|
return {
|
|
16
16
|
nodeKind: xorNode.node.kind,
|
|
17
17
|
nodeId: xorNode.node.id,
|
|
18
18
|
};
|
|
19
19
|
}
|
|
20
|
-
exports.
|
|
20
|
+
exports.xorNodeDetails = xorNodeDetails;
|
|
21
21
|
//# sourceMappingURL=traceUtils.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"traceUtils.js","sourceRoot":"","sources":["../../src/powerquery-language-services/traceUtils.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAKlC,SAAgB,
|
|
1
|
+
{"version":3,"file":"traceUtils.js","sourceRoot":"","sources":["../../src/powerquery-language-services/traceUtils.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAKlC,SAAgB,WAAW,CAAC,cAAoC;IAC5D,OAAO;QACH,IAAI,EAAE,cAAc,CAAC,IAAI;QACzB,YAAY,EAAE,cAAc,CAAC,YAAY;QACzC,UAAU,EAAE,cAAc,CAAC,UAAU;KACxC,CAAC;AACN,CAAC;AAND,kCAMC;AAED,SAAgB,cAAc,CAAC,OAAiB;IAC5C,OAAO;QACH,QAAQ,EAAE,OAAO,CAAC,IAAI,CAAC,IAAI;QAC3B,MAAM,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE;KAC1B,CAAC;AACN,CAAC;AALD,wCAKC"}
|
|
@@ -19,13 +19,14 @@ const validateFunctionExpression_1 = require("./validateFunctionExpression");
|
|
|
19
19
|
const validateInvokeExpression_1 = require("./validateInvokeExpression");
|
|
20
20
|
const validateParse_1 = require("./validateParse");
|
|
21
21
|
const validateUnknownIdentifiers_1 = require("./validateUnknownIdentifiers");
|
|
22
|
+
const trace_1 = require("../trace");
|
|
22
23
|
function validate(textDocument, analysisSettings, validationSettings) {
|
|
23
24
|
return powerquery_parser_1.ResultUtils.ensureResultAsync(() => __awaiter(this, void 0, void 0, function* () {
|
|
24
|
-
const trace = validationSettings.traceManager.entry(
|
|
25
|
+
const trace = validationSettings.traceManager.entry(trace_1.ValidationTraceConstant.Validation, validate.name, validationSettings.initialCorrelationId);
|
|
25
26
|
const updatedSettings = Object.assign(Object.assign({}, validationSettings), { initialCorrelationId: trace.id });
|
|
26
|
-
const analysis = analysis_1.AnalysisUtils.
|
|
27
|
-
const parseState = yield analysis.getParseState();
|
|
28
|
-
const parseError = yield analysis.getParseError();
|
|
27
|
+
const analysis = analysis_1.AnalysisUtils.analysis(textDocument, analysisSettings);
|
|
28
|
+
const parseState = powerquery_parser_1.ResultUtils.assertOk(yield analysis.getParseState());
|
|
29
|
+
const parseError = powerquery_parser_1.ResultUtils.assertOk(yield analysis.getParseError());
|
|
29
30
|
if (parseState === undefined) {
|
|
30
31
|
trace.exit();
|
|
31
32
|
return undefined;
|
|
@@ -57,7 +58,7 @@ function validate(textDocument, analysisSettings, validationSettings) {
|
|
|
57
58
|
...invokeExpressionDiagnostics,
|
|
58
59
|
...unknownIdentifiersDiagnostics,
|
|
59
60
|
],
|
|
60
|
-
hasSyntaxError:
|
|
61
|
+
hasSyntaxError: parseError !== undefined,
|
|
61
62
|
};
|
|
62
63
|
trace.exit();
|
|
63
64
|
return result;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/validate/validate.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAOlC,0CAAwE;AACxE,oEAAgF;AAEhF,iFAA8E;AAC9E,6EAA0E;AAC1E,yEAAsE;AAEtE,mDAAgD;AAChD,6EAA0E;
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/validate/validate.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAOlC,0CAAwE;AACxE,oEAAgF;AAEhF,iFAA8E;AAC9E,6EAA0E;AAC1E,yEAAsE;AAEtE,mDAAgD;AAChD,6EAA0E;AAE1E,oCAAmD;AAEnD,SAAgB,QAAQ,CACpB,YAA0B,EAC1B,gBAAkC,EAClC,kBAAsC;IAEtC,OAAO,+BAAW,CAAC,iBAAiB,CAAC,GAAS,EAAE;QAC5C,MAAM,KAAK,GAAU,kBAAkB,CAAC,YAAY,CAAC,KAAK,CACtD,+BAAuB,CAAC,UAAU,EAClC,QAAQ,CAAC,IAAI,EACb,kBAAkB,CAAC,oBAAoB,CAC1C,CAAC;QAEF,MAAM,eAAe,mCACd,kBAAkB,KACrB,oBAAoB,EAAE,KAAK,CAAC,EAAE,GACjC,CAAC;QAEF,MAAM,QAAQ,GAAa,wBAAa,CAAC,QAAQ,CAAC,YAAY,EAAE,gBAAgB,CAAC,CAAC;QAClF,MAAM,UAAU,GAA2B,+BAAW,CAAC,QAAQ,CAAC,MAAM,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;QAChG,MAAM,UAAU,GAAsC,+BAAW,CAAC,QAAQ,CAAC,MAAM,QAAQ,CAAC,aAAa,EAAE,CAAC,CAAC;QAE3G,IAAI,UAAU,KAAK,SAAS,EAAE;YAC1B,KAAK,CAAC,IAAI,EAAE,CAAC;YAEb,OAAO,SAAS,CAAC;SACpB;QAED,IAAI,6BAA2C,CAAC;QAChD,IAAI,2BAAyC,CAAC;QAC9C,IAAI,6BAA2C,CAAC;QAEhD,MAAM,mBAAmB,GAAyB,UAAU,CAAC,YAAY,CAAC,mBAAmB,CAAC;QAC9F,MAAM,SAAS,GAAc,QAAQ,CAAC,YAAY,EAAE,CAAC;QAErD,IAAI,kBAAkB,CAAC,sBAAsB,IAAI,mBAAmB,EAAE;YAClE,6BAA6B,GAAG,IAAA,uDAA0B,EAAC,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;YAEpG,2BAA2B,GAAG,MAAM,IAAA,mDAAwB,EACxD,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,CACZ,CAAC;SACL;aAAM;YACH,6BAA6B,GAAG,EAAE,CAAC;YACnC,2BAA2B,GAAG,EAAE,CAAC;SACpC;QAED,IAAI,kBAAkB,CAAC,uBAAuB,IAAI,mBAAmB,EAAE;YACnE,6BAA6B,GAAG,MAAM,IAAA,uDAA0B,EAC5D,kBAAkB,EAClB,mBAAmB,EACnB,SAAS,CACZ,CAAC;SACL;aAAM;YACH,6BAA6B,GAAG,EAAE,CAAC;SACtC;QAED,MAAM,MAAM,GAAe;YACvB,WAAW,EAAE;gBACT,GAAG,IAAA,2DAA4B,EAC3B,YAAY,EACZ,mBAAmB,EACnB,eAAe,EACf,kBAAkB,CAAC,iBAAiB,CACvC;gBACD,GAAG,CAAC,MAAM,IAAA,6BAAa,EAAC,UAAU,EAAE,eAAe,CAAC,CAAC;gBACrD,GAAG,6BAA6B;gBAChC,GAAG,2BAA2B;gBAC9B,GAAG,6BAA6B;aACnC;YACD,cAAc,EAAE,UAAU,KAAK,SAAS;SAC3C,CAAC;QAEF,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,OAAO,MAAM,CAAC;IAClB,CAAC,CAAA,EAAE,kBAAkB,CAAC,MAAM,CAAC,CAAC;AAClC,CAAC;AA7ED,4BA6EC"}
|
|
@@ -6,11 +6,13 @@ exports.validateDuplicateIdentifiers = void 0;
|
|
|
6
6
|
const PQP = require("@microsoft/powerquery-parser");
|
|
7
7
|
const vscode_languageserver_types_1 = require("vscode-languageserver-types");
|
|
8
8
|
const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
|
|
9
|
+
const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
|
|
9
10
|
const localization_1 = require("../localization");
|
|
10
11
|
const diagnosticErrorCode_1 = require("../diagnosticErrorCode");
|
|
11
12
|
const __1 = require("..");
|
|
13
|
+
const trace_1 = require("../trace");
|
|
12
14
|
function validateDuplicateIdentifiers(textDocument, nodeIdMapCollection, validationSettings, cancellationToken) {
|
|
13
|
-
const trace = validationSettings.traceManager.entry(
|
|
15
|
+
const trace = validationSettings.traceManager.entry(trace_1.ValidationTraceConstant.Validation, validateDuplicateIdentifiers.name, validationSettings.initialCorrelationId);
|
|
14
16
|
const updatedSettings = Object.assign(Object.assign({}, validationSettings), { initialCorrelationId: trace.id });
|
|
15
17
|
if (!updatedSettings.checkForDuplicateIdentifiers) {
|
|
16
18
|
trace.exit();
|
|
@@ -29,18 +31,18 @@ function validateDuplicateIdentifiers(textDocument, nodeIdMapCollection, validat
|
|
|
29
31
|
exports.validateDuplicateIdentifiers = validateDuplicateIdentifiers;
|
|
30
32
|
function validateDuplicateIdentifiersForLetExpresion(documentUri, nodeIdMapCollection, validationSettings, correlationId, cancellationToken) {
|
|
31
33
|
var _a;
|
|
32
|
-
const trace = validationSettings.traceManager.entry(
|
|
33
|
-
const letIds = (_a = nodeIdMapCollection.idsByNodeKind.get(
|
|
34
|
+
const trace = validationSettings.traceManager.entry(trace_1.ValidationTraceConstant.Validation, validateDuplicateIdentifiersForLetExpresion.name, correlationId);
|
|
35
|
+
const letIds = (_a = nodeIdMapCollection.idsByNodeKind.get(language_1.Ast.NodeKind.LetExpression)) !== null && _a !== void 0 ? _a : new Set();
|
|
34
36
|
const result = validateDuplicateIdentifiersForKeyValuePair(documentUri, nodeIdMapCollection, [letIds], parser_1.NodeIdMapIterator.iterLetExpression, validationSettings, trace.id, cancellationToken);
|
|
35
37
|
trace.exit();
|
|
36
38
|
return result;
|
|
37
39
|
}
|
|
38
40
|
function validateDuplicateIdentifiersForRecord(documentUri, nodeIdMapCollection, validationSettings, correlationId, cancellationToken) {
|
|
39
41
|
var _a, _b;
|
|
40
|
-
const trace = validationSettings.traceManager.entry(
|
|
42
|
+
const trace = validationSettings.traceManager.entry(trace_1.ValidationTraceConstant.Validation, validateDuplicateIdentifiersForRecord.name, correlationId);
|
|
41
43
|
const recordIds = [
|
|
42
|
-
(_a = nodeIdMapCollection.idsByNodeKind.get(
|
|
43
|
-
(_b = nodeIdMapCollection.idsByNodeKind.get(
|
|
44
|
+
(_a = nodeIdMapCollection.idsByNodeKind.get(language_1.Ast.NodeKind.RecordExpression)) !== null && _a !== void 0 ? _a : new Set(),
|
|
45
|
+
(_b = nodeIdMapCollection.idsByNodeKind.get(language_1.Ast.NodeKind.RecordLiteral)) !== null && _b !== void 0 ? _b : new Set(),
|
|
44
46
|
];
|
|
45
47
|
const result = validateDuplicateIdentifiersForKeyValuePair(documentUri, nodeIdMapCollection, recordIds, parser_1.NodeIdMapIterator.iterRecord, validationSettings, trace.id, cancellationToken);
|
|
46
48
|
trace.exit();
|
|
@@ -48,9 +50,9 @@ function validateDuplicateIdentifiersForRecord(documentUri, nodeIdMapCollection,
|
|
|
48
50
|
}
|
|
49
51
|
function validateDuplicateIdentifiersForRecordType(documentUri, nodeIdMapCollection, validationSettings, correlationId, cancellationToken) {
|
|
50
52
|
var _a;
|
|
51
|
-
const trace = validationSettings.traceManager.entry(
|
|
53
|
+
const trace = validationSettings.traceManager.entry(trace_1.ValidationTraceConstant.Validation, validateDuplicateIdentifiersForRecordType.name, correlationId);
|
|
52
54
|
const recordTypeIds = [
|
|
53
|
-
(_a = nodeIdMapCollection.idsByNodeKind.get(
|
|
55
|
+
(_a = nodeIdMapCollection.idsByNodeKind.get(language_1.Ast.NodeKind.RecordType)) !== null && _a !== void 0 ? _a : new Set(),
|
|
54
56
|
];
|
|
55
57
|
const result = validateDuplicateIdentifiersForKeyValuePair(documentUri, nodeIdMapCollection, recordTypeIds, parser_1.NodeIdMapIterator.iterRecordType, validationSettings, trace.id, cancellationToken);
|
|
56
58
|
trace.exit();
|
|
@@ -58,8 +60,8 @@ function validateDuplicateIdentifiersForRecordType(documentUri, nodeIdMapCollect
|
|
|
58
60
|
}
|
|
59
61
|
function validateDuplicateIdentifiersForSection(documentUri, nodeIdMapCollection, validationSettings, correlationId, cancellationToken) {
|
|
60
62
|
var _a;
|
|
61
|
-
const trace = validationSettings.traceManager.entry(
|
|
62
|
-
const sectionIds = (_a = nodeIdMapCollection.idsByNodeKind.get(
|
|
63
|
+
const trace = validationSettings.traceManager.entry(trace_1.ValidationTraceConstant.Validation, validateDuplicateIdentifiersForSection.name, correlationId);
|
|
64
|
+
const sectionIds = (_a = nodeIdMapCollection.idsByNodeKind.get(language_1.Ast.NodeKind.Section)) !== null && _a !== void 0 ? _a : new Set();
|
|
63
65
|
const result = validateDuplicateIdentifiersForKeyValuePair(documentUri, nodeIdMapCollection, [sectionIds], parser_1.NodeIdMapIterator.iterSection, validationSettings, trace.id, cancellationToken);
|
|
64
66
|
trace.exit();
|
|
65
67
|
return result;
|
|
@@ -70,7 +72,7 @@ function validateDuplicateIdentifiersForSection(documentUri, nodeIdMapCollection
|
|
|
70
72
|
// ...
|
|
71
73
|
function validateDuplicateIdentifiersForKeyValuePair(documentUri, nodeIdMapCollection, nodeIdCollections, iterNodeFactory, validationSettings, correlationId, cancellationToken) {
|
|
72
74
|
const numIds = nodeIdCollections.reduce((partial, set) => partial + set.size, 0);
|
|
73
|
-
const trace = validationSettings.traceManager.entry(
|
|
75
|
+
const trace = validationSettings.traceManager.entry(trace_1.ValidationTraceConstant.Validation, validateDuplicateIdentifiersForKeyValuePair.name, correlationId, { numIds });
|
|
74
76
|
if (!numIds) {
|
|
75
77
|
return [];
|
|
76
78
|
}
|
|
@@ -78,7 +80,7 @@ function validateDuplicateIdentifiersForKeyValuePair(documentUri, nodeIdMapColle
|
|
|
78
80
|
for (const collection of nodeIdCollections) {
|
|
79
81
|
for (const nodeId of collection) {
|
|
80
82
|
cancellationToken === null || cancellationToken === void 0 ? void 0 : cancellationToken.throwIfCancelled();
|
|
81
|
-
const node = parser_1.NodeIdMapUtils.
|
|
83
|
+
const node = parser_1.NodeIdMapUtils.assertXor(nodeIdMapCollection, nodeId);
|
|
82
84
|
const duplicateFieldsByKey = new Map();
|
|
83
85
|
const knownFieldByKey = new Map();
|
|
84
86
|
for (const field of iterNodeFactory(nodeIdMapCollection, node)) {
|
|
@@ -100,7 +102,7 @@ function validateDuplicateIdentifiersForKeyValuePair(documentUri, nodeIdMapColle
|
|
|
100
102
|
const asRelatedInformation = duplicates.map((keyValuePair) => ({
|
|
101
103
|
location: {
|
|
102
104
|
uri: documentUri,
|
|
103
|
-
range: __1.PositionUtils.
|
|
105
|
+
range: __1.PositionUtils.rangeFromTokenRange(keyValuePair.key.tokenRange),
|
|
104
106
|
},
|
|
105
107
|
message: createDuplicateIdentifierDiagnosticMessage(keyValuePair, validationSettings),
|
|
106
108
|
}));
|
|
@@ -120,7 +122,7 @@ function createDuplicateIdentifierDiagnostic(keyValuePair, relatedInformation, v
|
|
|
120
122
|
return {
|
|
121
123
|
code: diagnosticErrorCode_1.DiagnosticErrorCode.DuplicateIdentifier,
|
|
122
124
|
message: createDuplicateIdentifierDiagnosticMessage(keyValuePair, validationSettings),
|
|
123
|
-
range: __1.PositionUtils.
|
|
125
|
+
range: __1.PositionUtils.rangeFromTokenRange(keyValuePair.key.tokenRange),
|
|
124
126
|
relatedInformation,
|
|
125
127
|
severity: vscode_languageserver_types_1.DiagnosticSeverity.Error,
|
|
126
128
|
source: validationSettings.source,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateDuplicateIdentifiers.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/validate/validateDuplicateIdentifiers.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,oDAAoD;AACpD,6EAAwH;AACxH,sFAKmE;
|
|
1
|
+
{"version":3,"file":"validateDuplicateIdentifiers.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/validate/validateDuplicateIdentifiers.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,15 +5,17 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
5
5
|
exports.validateFunctionExpression = void 0;
|
|
6
6
|
const vscode_languageserver_types_1 = require("vscode-languageserver-types");
|
|
7
7
|
const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
|
|
8
|
+
const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
|
|
8
9
|
const localization_1 = require("../localization");
|
|
9
10
|
const diagnosticErrorCode_1 = require("../diagnosticErrorCode");
|
|
10
11
|
const __1 = require("..");
|
|
12
|
+
const trace_1 = require("../trace");
|
|
11
13
|
// Check for repeat parameter names for FunctionExpressions.
|
|
12
14
|
function validateFunctionExpression(validationSettings, nodeIdMapCollection) {
|
|
13
15
|
var _a, _b;
|
|
14
|
-
const trace = validationSettings.traceManager.entry(
|
|
16
|
+
const trace = validationSettings.traceManager.entry(trace_1.ValidationTraceConstant.Validation, validateFunctionExpression.name, validationSettings.initialCorrelationId);
|
|
15
17
|
const updatedSettings = Object.assign(Object.assign({}, validationSettings), { initialCorrelationId: trace.id });
|
|
16
|
-
const fnExpressionIds = nodeIdMapCollection.idsByNodeKind.get(
|
|
18
|
+
const fnExpressionIds = nodeIdMapCollection.idsByNodeKind.get(language_1.Ast.NodeKind.FunctionExpression);
|
|
17
19
|
if (fnExpressionIds === undefined) {
|
|
18
20
|
trace.exit();
|
|
19
21
|
return [];
|
|
@@ -30,7 +32,7 @@ function validateFunctionExpression(validationSettings, nodeIdMapCollection) {
|
|
|
30
32
|
exports.validateFunctionExpression = validateFunctionExpression;
|
|
31
33
|
function validateNoDuplicateParameter(validationSettings, nodeIdMapCollection, fnExpressionId) {
|
|
32
34
|
var _a, _b;
|
|
33
|
-
const fnExpression = parser_1.NodeIdMapUtils.
|
|
35
|
+
const fnExpression = parser_1.NodeIdMapUtils.assertXorChecked(nodeIdMapCollection, fnExpressionId, language_1.Ast.NodeKind.FunctionExpression);
|
|
34
36
|
const parameterNames = new Map();
|
|
35
37
|
for (const parameter of parser_1.NodeIdMapIterator.iterFunctionExpressionParameterNames(nodeIdMapCollection, fnExpression)) {
|
|
36
38
|
(_a = validationSettings.cancellationToken) === null || _a === void 0 ? void 0 : _a.throwIfCancelled();
|
|
@@ -42,7 +44,7 @@ function validateNoDuplicateParameter(validationSettings, nodeIdMapCollection, f
|
|
|
42
44
|
for (const [identifierLiteral, nodes] of parameterNames) {
|
|
43
45
|
if (nodes.length > 1) {
|
|
44
46
|
diagnostics.push(...nodes.map((identifier) => {
|
|
45
|
-
const parameterRange = __1.PositionUtils.
|
|
47
|
+
const parameterRange = __1.PositionUtils.rangeFromTokenRange(identifier.tokenRange);
|
|
46
48
|
return createDiagnosticForDuplicateParameterName(validationSettings, parameterRange, identifierLiteral);
|
|
47
49
|
}));
|
|
48
50
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateFunctionExpression.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/validate/validateFunctionExpression.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,6EAA6E;AAC7E,sFAKmE;
|
|
1
|
+
{"version":3,"file":"validateFunctionExpression.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/validate/validateFunctionExpression.ts"],"names":[],"mappings":"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"}
|
|
@@ -16,15 +16,17 @@ const powerquery_parser_1 = require("@microsoft/powerquery-parser");
|
|
|
16
16
|
const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
|
|
17
17
|
const vscode_languageserver_types_1 = require("vscode-languageserver-types");
|
|
18
18
|
const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
|
|
19
|
+
const trace_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/common/trace");
|
|
19
20
|
const __1 = require("..");
|
|
20
21
|
const localization_1 = require("../localization");
|
|
21
22
|
const diagnosticErrorCode_1 = require("../diagnosticErrorCode");
|
|
23
|
+
const trace_2 = require("../trace");
|
|
22
24
|
function validateInvokeExpression(validationSettings, nodeIdMapCollection, typeCache) {
|
|
23
25
|
var _a, _b;
|
|
24
26
|
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
-
const trace = validationSettings.traceManager.entry(
|
|
27
|
+
const trace = validationSettings.traceManager.entry(trace_2.ValidationTraceConstant.Validation, validateInvokeExpression.name, validationSettings.initialCorrelationId);
|
|
26
28
|
const updatedSettings = Object.assign(Object.assign({}, validationSettings), { initialCorrelationId: trace.id });
|
|
27
|
-
const invokeExpressionIds = nodeIdMapCollection.idsByNodeKind.get(
|
|
29
|
+
const invokeExpressionIds = nodeIdMapCollection.idsByNodeKind.get(language_1.Ast.NodeKind.InvokeExpression);
|
|
28
30
|
if (invokeExpressionIds === undefined) {
|
|
29
31
|
trace.exit();
|
|
30
32
|
return [];
|
|
@@ -42,7 +44,7 @@ function validateInvokeExpression(validationSettings, nodeIdMapCollection, typeC
|
|
|
42
44
|
diagnosticTasks.push(invokeExpressionToDiagnostics(updatedSettings, nodeIdMapCollection, triedInvokeExpression.value));
|
|
43
45
|
}
|
|
44
46
|
else {
|
|
45
|
-
trace.exit({ [
|
|
47
|
+
trace.exit({ [trace_1.TraceConstant.IsThrowing]: true });
|
|
46
48
|
throw triedInvokeExpression;
|
|
47
49
|
}
|
|
48
50
|
}
|
|
@@ -59,12 +61,12 @@ function invokeExpressionToDiagnostics(validationSettings, nodeIdMapCollection,
|
|
|
59
61
|
if (inspected.arguments !== undefined) {
|
|
60
62
|
const invokeExpressionArguments = inspected.arguments;
|
|
61
63
|
const givenArguments = inspected.arguments.givenArguments;
|
|
62
|
-
const invokeExpressionRange = powerquery_parser_1.Assert.asDefined(yield __1.PositionUtils.
|
|
64
|
+
const invokeExpressionRange = powerquery_parser_1.Assert.asDefined(yield __1.PositionUtils.rangeFromXorNode(nodeIdMapCollection, inspected.invokeExpressionXorNode), "expected at least one leaf node under InvokeExpression");
|
|
63
65
|
const functionName = parser_1.NodeIdMapUtils.invokeExpressionIdentifierLiteral(nodeIdMapCollection, inspected.invokeExpressionXorNode.node.id);
|
|
64
66
|
for (const [argIndex, mismatch] of invokeExpressionArguments.typeChecked.invalid.entries()) {
|
|
65
67
|
(_a = validationSettings.cancellationToken) === null || _a === void 0 ? void 0 : _a.throwIfCancelled();
|
|
66
68
|
// eslint-disable-next-line no-await-in-loop
|
|
67
|
-
const givenArgRange = yield __1.PositionUtils.
|
|
69
|
+
const givenArgRange = yield __1.PositionUtils.rangeFromXorNode(nodeIdMapCollection, givenArguments[argIndex]);
|
|
68
70
|
result.push(createDiagnosticForArgumentMismatch(validationSettings, mismatch, functionName, invokeExpressionRange, givenArgRange));
|
|
69
71
|
}
|
|
70
72
|
const numGivenArguments = invokeExpressionArguments.givenArguments.length;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateInvokeExpression.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/validate/validateInvokeExpression.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,oEAAmE;AACnE,0FAAmG;AACnG,6EAA6E;AAC7E,sFAAgH;
|
|
1
|
+
{"version":3,"file":"validateInvokeExpression.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/validate/validateInvokeExpression.ts"],"names":[],"mappings":"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"}
|
|
@@ -15,13 +15,16 @@ exports.validateUnknownIdentifiers = void 0;
|
|
|
15
15
|
const powerquery_parser_1 = require("@microsoft/powerquery-parser");
|
|
16
16
|
const vscode_languageserver_types_1 = require("vscode-languageserver-types");
|
|
17
17
|
const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
|
|
18
|
+
const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
|
|
18
19
|
const __1 = require("..");
|
|
19
20
|
const localization_1 = require("../localization");
|
|
20
21
|
const jaroWinkler_1 = require("../jaroWinkler");
|
|
21
22
|
const diagnosticErrorCode_1 = require("../diagnosticErrorCode");
|
|
23
|
+
const externalType_1 = require("../externalType/externalType");
|
|
24
|
+
const trace_1 = require("../trace");
|
|
22
25
|
function validateUnknownIdentifiers(validationSettings, nodeIdMapCollection, typeCache) {
|
|
23
26
|
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
-
const trace = validationSettings.traceManager.entry(
|
|
27
|
+
const trace = validationSettings.traceManager.entry(trace_1.ValidationTraceConstant.Validation, validateUnknownIdentifiers.name, validationSettings.initialCorrelationId);
|
|
25
28
|
const updatedSettings = Object.assign(Object.assign({}, validationSettings), { initialCorrelationId: trace.id });
|
|
26
29
|
// Grab all identifiers in the given context.
|
|
27
30
|
const identifierValues = findIdentifierAsts(nodeIdMapCollection);
|
|
@@ -29,7 +32,7 @@ function validateUnknownIdentifiers(validationSettings, nodeIdMapCollection, typ
|
|
|
29
32
|
const identifiersWithNodeScope = yield powerquery_parser_1.ArrayUtils.mapAsync(identifierValues, (identifier) => __awaiter(this, void 0, void 0, function* () {
|
|
30
33
|
var _a;
|
|
31
34
|
(_a = validationSettings.cancellationToken) === null || _a === void 0 ? void 0 : _a.throwIfCancelled();
|
|
32
|
-
const identifierExpression = parser_1.NodeIdMapUtils.parentAstChecked(nodeIdMapCollection, identifier.id,
|
|
35
|
+
const identifierExpression = parser_1.NodeIdMapUtils.parentAstChecked(nodeIdMapCollection, identifier.id, language_1.Ast.NodeKind.IdentifierExpression);
|
|
33
36
|
const literal = identifierExpression && identifierExpression.inclusiveConstant !== undefined
|
|
34
37
|
? `@${identifier.literal}`
|
|
35
38
|
: identifier.literal;
|
|
@@ -49,7 +52,7 @@ exports.validateUnknownIdentifiers = validateUnknownIdentifiers;
|
|
|
49
52
|
// For context, "Tbl.AsdC" has a score of ~0.59 against "Table.AddColumn"
|
|
50
53
|
const JaroWinklerSuggestionThreshold = 0.9;
|
|
51
54
|
function findIdentifierAsts(nodeIdMapCollection) {
|
|
52
|
-
const identifiers = nodeIdMapCollection.idsByNodeKind.get(
|
|
55
|
+
const identifiers = nodeIdMapCollection.idsByNodeKind.get(language_1.Ast.NodeKind.Identifier);
|
|
53
56
|
if (identifiers === undefined) {
|
|
54
57
|
return [];
|
|
55
58
|
}
|
|
@@ -57,14 +60,14 @@ function findIdentifierAsts(nodeIdMapCollection) {
|
|
|
57
60
|
const result = [];
|
|
58
61
|
for (const identifierId of identifiers.values()) {
|
|
59
62
|
const identifier = astNodeById.get(identifierId);
|
|
60
|
-
if (identifier !== undefined && identifier.identifierContextKind ===
|
|
63
|
+
if (identifier !== undefined && identifier.identifierContextKind === language_1.Ast.IdentifierContextKind.Value) {
|
|
61
64
|
result.push(identifier);
|
|
62
65
|
}
|
|
63
66
|
}
|
|
64
67
|
return result;
|
|
65
68
|
}
|
|
66
69
|
function findUnknownIdentifiers(validationSettings, identifiersWithNodeScope, correlationId) {
|
|
67
|
-
const trace = validationSettings.traceManager.entry(
|
|
70
|
+
const trace = validationSettings.traceManager.entry(trace_1.ValidationTraceConstant.Validation, findUnknownIdentifiers.name, correlationId);
|
|
68
71
|
const unknownIdentifiers = [];
|
|
69
72
|
for (const identifierWithNodeScope of identifiersWithNodeScope) {
|
|
70
73
|
if (powerquery_parser_1.ResultUtils.isError(identifierWithNodeScope.triedNodeScope)) {
|
|
@@ -78,7 +81,7 @@ function findUnknownIdentifiers(validationSettings, identifiersWithNodeScope, co
|
|
|
78
81
|
!validationSettings.library.libraryDefinitions.has(literal) &&
|
|
79
82
|
// even no external type found
|
|
80
83
|
!validationSettings.library.externalTypeResolver({
|
|
81
|
-
kind:
|
|
84
|
+
kind: externalType_1.ExternalTypeRequestKind.Value,
|
|
82
85
|
identifierLiteral: literal,
|
|
83
86
|
})) {
|
|
84
87
|
const knownIdentifiers = [
|
|
@@ -101,7 +104,7 @@ function unknownIdentifiersToDiagnostics(validationSettings, unknownIdentifiers)
|
|
|
101
104
|
return unknownIdentifiers.map((unknownIdentifier) => ({
|
|
102
105
|
code: diagnosticErrorCode_1.DiagnosticErrorCode.UnknownIdentifier,
|
|
103
106
|
message: localization_1.Localization.error_validation_unknownIdentifier(templates, unknownIdentifier.literal, unknownIdentifier.suggestion),
|
|
104
|
-
range: __1.PositionUtils.
|
|
107
|
+
range: __1.PositionUtils.rangeFromTokenRange(unknownIdentifier.identifier.tokenRange),
|
|
105
108
|
severity: vscode_languageserver_types_1.DiagnosticSeverity.Error,
|
|
106
109
|
source: validationSettings.source,
|
|
107
110
|
}));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateUnknownIdentifiers.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/validate/validateUnknownIdentifiers.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,oEAAuE;AACvE,6EAA6E;AAC7E,sFAAsG;
|
|
1
|
+
{"version":3,"file":"validateUnknownIdentifiers.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/validate/validateUnknownIdentifiers.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,12 +1,14 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@microsoft/powerquery-language-services",
|
|
3
|
-
"version": "0.6
|
|
3
|
+
"version": "0.9.6",
|
|
4
4
|
"author": "Microsoft",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"scripts": {
|
|
7
7
|
"prepublishOnly": "git clean -xdf && npm install-clean && npm run lint && npm run build && npm run test",
|
|
8
8
|
"build": ".\\node_modules\\.bin\\tsc",
|
|
9
9
|
"watch": ".\\node_modules\\.bin\\tsc -b -watch",
|
|
10
|
+
"link:start": "npm link && npm uninstall @microsoft/powerquery-parser @microsoft/powerquery-formatter && git clean -xdf && npm install && npm link @microsoft/powerquery-parser @microsoft/powerquery-formatter",
|
|
11
|
+
"link:stop": "npm unlink @microsoft/powerquery-parser @microsoft/powerquery-formatter && git clean -xdf && npm install && npm install @microsoft/powerquery-parser@latest @microsoft/powerquery-formatter@latest --save-exact",
|
|
10
12
|
"lint": "eslint src --ext ts",
|
|
11
13
|
"test": "mocha --reporter mocha-multi-reporters --reporter-options configFile=src/test/mochaConfig.json -r ts-node/register src/test/**/*.ts"
|
|
12
14
|
},
|
|
@@ -28,6 +30,9 @@
|
|
|
28
30
|
"power query",
|
|
29
31
|
"power bi"
|
|
30
32
|
],
|
|
33
|
+
"files": [
|
|
34
|
+
"lib/powerquery-language-services/**/*"
|
|
35
|
+
],
|
|
31
36
|
"devDependencies": {
|
|
32
37
|
"@types/chai": "4.3.1",
|
|
33
38
|
"@types/mocha": "9.1.1",
|
|
@@ -49,12 +54,9 @@
|
|
|
49
54
|
"typescript": "4.6.4"
|
|
50
55
|
},
|
|
51
56
|
"dependencies": {
|
|
52
|
-
"@microsoft/powerquery-formatter": "0.3.
|
|
53
|
-
"@microsoft/powerquery-parser": "0.
|
|
57
|
+
"@microsoft/powerquery-formatter": "0.3.13",
|
|
58
|
+
"@microsoft/powerquery-parser": "0.15.9",
|
|
54
59
|
"vscode-languageserver-textdocument": "1.0.4",
|
|
55
60
|
"vscode-languageserver-types": "3.17.1"
|
|
56
|
-
}
|
|
57
|
-
|
|
58
|
-
"lib/powerquery-language-services/**/*"
|
|
59
|
-
]
|
|
60
|
-
}
|
|
61
|
+
}
|
|
62
|
+
}
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
// Copyright (c) Microsoft Corporation.
|
|
3
|
-
// Licensed under the MIT license.
|
|
4
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
|
-
exports.createTrailingToken = void 0;
|
|
6
|
-
const __1 = require("../..");
|
|
7
|
-
function createTrailingToken(position, parseErrorToken) {
|
|
8
|
-
return Object.assign(Object.assign({}, parseErrorToken), { isInOrOnPosition: __1.PositionUtils.isInToken(position, parseErrorToken, false, true) });
|
|
9
|
-
}
|
|
10
|
-
exports.createTrailingToken = createTrailingToken;
|
|
11
|
-
//# sourceMappingURL=common.js.map
|