@microsoft/powerquery-language-services 0.3.9 → 0.3.12
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/powerquery-language-services/analysis/analysisBase.js +25 -14
- package/lib/powerquery-language-services/analysis/analysisBase.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js +3 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/task.js +6 -5
- package/lib/powerquery-language-services/inspection/autocomplete/task.js.map +1 -1
- package/lib/powerquery-language-services/inspection/commonTypes.d.ts +3 -1
- package/lib/powerquery-language-services/inspection/expectedType.js +5 -1
- package/lib/powerquery-language-services/inspection/expectedType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js +13 -5
- package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js +17 -6
- package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/scope/scopeInspection.js +57 -42
- package/lib/powerquery-language-services/inspection/scope/scopeInspection.js.map +1 -1
- package/lib/powerquery-language-services/inspection/scope/scopeUtils.js +1 -2
- package/lib/powerquery-language-services/inspection/scope/scopeUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/task.d.ts +21 -0
- package/lib/powerquery-language-services/inspection/task.js +41 -20
- 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 +78 -55
- 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 +3 -3
- 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 +5 -5
- 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 +4 -4
- 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 +3 -3
- 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 +3 -3
- 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 +4 -4
- 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 +3 -3
- 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 +3 -3
- 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 +4 -4
- 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 +4 -4
- 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 +12 -9
- 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 +13 -9
- 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 +4 -4
- 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 +5 -5
- 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 +4 -4
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.js +2 -2
- 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 +4 -4
- 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 +4 -4
- 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 +3 -3
- 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 +4 -4
- 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 +7 -7
- 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 +5 -5
- 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 +4 -4
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/task.js +10 -6
- package/lib/powerquery-language-services/inspection/type/task.js.map +1 -1
- package/lib/powerquery-language-services/trace.d.ts +16 -8
- package/lib/powerquery-language-services/validate/validate.js +12 -7
- package/lib/powerquery-language-services/validate/validate.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js +13 -6
- package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateFunctionExpression.js +6 -2
- package/lib/powerquery-language-services/validate/validateFunctionExpression.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateInvokeExpression.js +7 -2
- package/lib/powerquery-language-services/validate/validateInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateLexAndParse.js +10 -4
- package/lib/powerquery-language-services/validate/validateLexAndParse.js.map +1 -1
- package/package.json +7 -4
|
@@ -1,12 +1,20 @@
|
|
|
1
1
|
export declare const enum AutocompleteTraceConstant {
|
|
2
2
|
Autocomplete = "Autocomplete",
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
3
|
+
AutocompleteFieldAccess = "FieldAccess",
|
|
4
|
+
AutocompleteKeyword = "Keyword",
|
|
5
|
+
AutocompleteLanguageConstant = "LanguageConstant",
|
|
6
|
+
AutocompletePrimitiveType = "PrimitiveType"
|
|
7
7
|
}
|
|
8
|
-
export declare const enum
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
8
|
+
export declare const enum InspectionTraceConstant {
|
|
9
|
+
Inspect = "Inspect",
|
|
10
|
+
InspectCurrentInvokeExpression = "Inspection.CurrentInvokeExpression",
|
|
11
|
+
InspectExpectedType = "Inspection.ExpectedType",
|
|
12
|
+
InspectInvokeExpression = "Inspection.InvokeExpression",
|
|
13
|
+
InspectScope = "Inspection.Scope",
|
|
14
|
+
InspectScopeItem = "Inspection.ScopeItem",
|
|
15
|
+
InspectScopeType = "Inspection.ScopeType",
|
|
16
|
+
InspectType = "Inspection.Type"
|
|
17
|
+
}
|
|
18
|
+
export declare const enum ValidationTraceConstant {
|
|
19
|
+
Validation = "Validation"
|
|
12
20
|
}
|
|
@@ -20,8 +20,11 @@ const validateLexAndParse_1 = require("./validateLexAndParse");
|
|
|
20
20
|
const workspaceCache_1 = require("../workspaceCache");
|
|
21
21
|
function validate(textDocument, validationSettings) {
|
|
22
22
|
return __awaiter(this, void 0, void 0, function* () {
|
|
23
|
-
const
|
|
23
|
+
const trace = validationSettings.traceManager.entry("Validation" /* Validation */, validate.name, validationSettings.maybeInitialCorrelationId);
|
|
24
|
+
const updatedSettings = Object.assign(Object.assign({}, validationSettings), { maybeInitialCorrelationId: trace.id });
|
|
25
|
+
const maybeTriedParse = yield workspaceCache_1.WorkspaceCacheUtils.getOrCreateParsePromise(textDocument, updatedSettings);
|
|
24
26
|
if (maybeTriedParse === undefined) {
|
|
27
|
+
trace.exit();
|
|
25
28
|
return {
|
|
26
29
|
diagnostics: [],
|
|
27
30
|
hasSyntaxError: false,
|
|
@@ -29,25 +32,27 @@ function validate(textDocument, validationSettings) {
|
|
|
29
32
|
}
|
|
30
33
|
let functionExpressionDiagnostics;
|
|
31
34
|
let invokeExpressionDiagnostics;
|
|
32
|
-
if (
|
|
35
|
+
if (updatedSettings.checkInvokeExpressions &&
|
|
33
36
|
(PQP.TaskUtils.isParseStageOk(maybeTriedParse) || PQP.TaskUtils.isParseStageParseError(maybeTriedParse))) {
|
|
34
37
|
const nodeIdMapCollection = maybeTriedParse.nodeIdMapCollection;
|
|
35
|
-
functionExpressionDiagnostics = (0, validateFunctionExpression_1.validateFunctionExpression)(
|
|
36
|
-
invokeExpressionDiagnostics = yield (0, validateInvokeExpression_1.validateInvokeExpression)(
|
|
38
|
+
functionExpressionDiagnostics = (0, validateFunctionExpression_1.validateFunctionExpression)(updatedSettings, nodeIdMapCollection);
|
|
39
|
+
invokeExpressionDiagnostics = yield (0, validateInvokeExpression_1.validateInvokeExpression)(updatedSettings, nodeIdMapCollection, workspaceCache_1.WorkspaceCacheUtils.getTypeCache(textDocument));
|
|
37
40
|
}
|
|
38
41
|
else {
|
|
39
42
|
functionExpressionDiagnostics = [];
|
|
40
43
|
invokeExpressionDiagnostics = [];
|
|
41
44
|
}
|
|
42
|
-
|
|
45
|
+
const result = {
|
|
43
46
|
diagnostics: [
|
|
44
|
-
...(yield (0, validateDuplicateIdentifiers_1.validateDuplicateIdentifiers)(textDocument,
|
|
45
|
-
...(yield (0, validateLexAndParse_1.validateLexAndParse)(textDocument,
|
|
47
|
+
...(yield (0, validateDuplicateIdentifiers_1.validateDuplicateIdentifiers)(textDocument, updatedSettings)),
|
|
48
|
+
...(yield (0, validateLexAndParse_1.validateLexAndParse)(textDocument, updatedSettings)),
|
|
46
49
|
...functionExpressionDiagnostics,
|
|
47
50
|
...invokeExpressionDiagnostics,
|
|
48
51
|
],
|
|
49
52
|
hasSyntaxError: PQP.TaskUtils.isLexStageError(maybeTriedParse) || PQP.TaskUtils.isParseStageError(maybeTriedParse),
|
|
50
53
|
};
|
|
54
|
+
trace.exit();
|
|
55
|
+
return result;
|
|
51
56
|
});
|
|
52
57
|
}
|
|
53
58
|
exports.validate = validate;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/validate/validate.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,oDAAoD;
|
|
1
|
+
{"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/validate/validate.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,oDAAoD;AAMpD,iFAA8E;AAC9E,6EAA0E;AAC1E,yEAAsE;AACtE,+DAA4D;AAI5D,sDAAwD;AAExD,SAAsB,QAAQ,CAC1B,YAA0B,EAC1B,kBAAsC;;QAEtC,MAAM,KAAK,GAAU,kBAAkB,CAAC,YAAY,CAAC,KAAK,gCAEtD,QAAQ,CAAC,IAAI,EACb,kBAAkB,CAAC,yBAAyB,CAC/C,CAAC;QAEF,MAAM,eAAe,mCACd,kBAAkB,KACrB,yBAAyB,EAAE,KAAK,CAAC,EAAE,GACtC,CAAC;QAEF,MAAM,eAAe,GAAwC,MAAM,oCAAmB,CAAC,uBAAuB,CAC1G,YAAY,EACZ,eAAe,CAClB,CAAC;QAEF,IAAI,eAAe,KAAK,SAAS,EAAE;YAC/B,KAAK,CAAC,IAAI,EAAE,CAAC;YAEb,OAAO;gBACH,WAAW,EAAE,EAAE;gBACf,cAAc,EAAE,KAAK;aACxB,CAAC;SACL;QAED,IAAI,6BAA2C,CAAC;QAChD,IAAI,2BAAyC,CAAC;QAE9C,IACI,eAAe,CAAC,sBAAsB;YACtC,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC,EAC1G;YACE,MAAM,mBAAmB,GAAyB,eAAe,CAAC,mBAAmB,CAAC;YAEtF,6BAA6B,GAAG,IAAA,uDAA0B,EAAC,eAAe,EAAE,mBAAmB,CAAC,CAAC;YAEjG,2BAA2B,GAAG,MAAM,IAAA,mDAAwB,EACxD,eAAe,EACf,mBAAmB,EACnB,oCAAmB,CAAC,YAAY,CAAC,YAAY,CAAC,CACjD,CAAC;SACL;aAAM;YACH,6BAA6B,GAAG,EAAE,CAAC;YACnC,2BAA2B,GAAG,EAAE,CAAC;SACpC;QAED,MAAM,MAAM,GAAqB;YAC7B,WAAW,EAAE;gBACT,GAAG,CAAC,MAAM,IAAA,2DAA4B,EAAC,YAAY,EAAE,eAAe,CAAC,CAAC;gBACtE,GAAG,CAAC,MAAM,IAAA,yCAAmB,EAAC,YAAY,EAAE,eAAe,CAAC,CAAC;gBAC7D,GAAG,6BAA6B;gBAChC,GAAG,2BAA2B;aACjC;YACD,cAAc,EACV,GAAG,CAAC,SAAS,CAAC,eAAe,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,iBAAiB,CAAC,eAAe,CAAC;SACzG,CAAC;QAEF,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,OAAO,MAAM,CAAC;IAClB,CAAC;CAAA;AAhED,4BAgEC"}
|
|
@@ -21,11 +21,15 @@ const __1 = require("..");
|
|
|
21
21
|
const workspaceCache_1 = require("../workspaceCache");
|
|
22
22
|
function validateDuplicateIdentifiers(textDocument, validationSettings) {
|
|
23
23
|
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
-
|
|
24
|
+
const trace = validationSettings.traceManager.entry("Validation" /* Validation */, validateDuplicateIdentifiers.name, validationSettings.maybeInitialCorrelationId);
|
|
25
|
+
const updatedSettings = Object.assign(Object.assign({}, validationSettings), { maybeInitialCorrelationId: trace.id });
|
|
26
|
+
if (!updatedSettings.checkForDuplicateIdentifiers) {
|
|
27
|
+
trace.exit();
|
|
25
28
|
return [];
|
|
26
29
|
}
|
|
27
|
-
const maybeParsePromise = yield workspaceCache_1.WorkspaceCacheUtils.getOrCreateParsePromise(textDocument,
|
|
30
|
+
const maybeParsePromise = yield workspaceCache_1.WorkspaceCacheUtils.getOrCreateParsePromise(textDocument, updatedSettings);
|
|
28
31
|
if (maybeParsePromise === undefined) {
|
|
32
|
+
trace.exit();
|
|
29
33
|
return [];
|
|
30
34
|
}
|
|
31
35
|
const triedParse = maybeParsePromise;
|
|
@@ -37,15 +41,18 @@ function validateDuplicateIdentifiers(textDocument, validationSettings) {
|
|
|
37
41
|
maybeNodeIdMapCollection = triedParse.nodeIdMapCollection;
|
|
38
42
|
}
|
|
39
43
|
if (maybeNodeIdMapCollection === undefined) {
|
|
44
|
+
trace.exit();
|
|
40
45
|
return [];
|
|
41
46
|
}
|
|
42
47
|
const documentUri = textDocument.uri;
|
|
43
48
|
const nodeIdMapCollection = maybeNodeIdMapCollection;
|
|
44
|
-
|
|
45
|
-
...validateDuplicateIdentifiersForLetExpresion(documentUri, nodeIdMapCollection,
|
|
46
|
-
...validateDuplicateIdentifiersForRecord(documentUri, nodeIdMapCollection,
|
|
47
|
-
...validateDuplicateIdentifiersForSection(documentUri, nodeIdMapCollection,
|
|
49
|
+
const result = [
|
|
50
|
+
...validateDuplicateIdentifiersForLetExpresion(documentUri, nodeIdMapCollection, updatedSettings),
|
|
51
|
+
...validateDuplicateIdentifiersForRecord(documentUri, nodeIdMapCollection, updatedSettings),
|
|
52
|
+
...validateDuplicateIdentifiersForSection(documentUri, nodeIdMapCollection, updatedSettings),
|
|
48
53
|
];
|
|
54
|
+
trace.exit();
|
|
55
|
+
return result;
|
|
49
56
|
});
|
|
50
57
|
}
|
|
51
58
|
exports.validateDuplicateIdentifiers = validateDuplicateIdentifiers;
|
|
@@ -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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"}
|
|
@@ -11,15 +11,19 @@ const __1 = require("..");
|
|
|
11
11
|
// Check for repeat parameter names for FunctionExpressions.
|
|
12
12
|
function validateFunctionExpression(validationSettings, nodeIdMapCollection) {
|
|
13
13
|
var _a;
|
|
14
|
+
const trace = validationSettings.traceManager.entry("Validation" /* Validation */, validateFunctionExpression.name, validationSettings.maybeInitialCorrelationId);
|
|
15
|
+
const updatedSettings = Object.assign(Object.assign({}, validationSettings), { maybeInitialCorrelationId: trace.id });
|
|
14
16
|
const maybeFnExpressionIds = nodeIdMapCollection.idsByNodeKind.get("FunctionExpression" /* FunctionExpression */);
|
|
15
17
|
if (maybeFnExpressionIds === undefined) {
|
|
18
|
+
trace.exit();
|
|
16
19
|
return [];
|
|
17
20
|
}
|
|
18
21
|
const diagnostics = [];
|
|
19
22
|
for (const nodeId of maybeFnExpressionIds) {
|
|
20
|
-
diagnostics.push(validateNoDuplicateParameter(
|
|
21
|
-
(_a =
|
|
23
|
+
diagnostics.push(validateNoDuplicateParameter(updatedSettings, nodeIdMapCollection, nodeId));
|
|
24
|
+
(_a = updatedSettings.maybeCancellationToken) === null || _a === void 0 ? void 0 : _a.throwIfCancelled();
|
|
22
25
|
}
|
|
26
|
+
trace.exit();
|
|
23
27
|
return diagnostics.flat();
|
|
24
28
|
}
|
|
25
29
|
exports.validateFunctionExpression = validateFunctionExpression;
|
|
@@ -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":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,6EAA6E;AAC7E,sFAKmE;AAKnE,kDAAkE;AAClE,gEAA6D;AAE7D,0BAAmC;AAInC,4DAA4D;AAC5D,SAAgB,0BAA0B,CACtC,kBAAsC,EACtC,mBAAyC;;IAEzC,MAAM,KAAK,GAAU,kBAAkB,CAAC,YAAY,CAAC,KAAK,gCAEtD,0BAA0B,CAAC,IAAI,EAC/B,kBAAkB,CAAC,yBAAyB,CAC/C,CAAC;IAEF,MAAM,eAAe,mCACd,kBAAkB,KACrB,yBAAyB,EAAE,KAAK,CAAC,EAAE,GACtC,CAAC;IAEF,MAAM,oBAAoB,GAA4B,mBAAmB,CAAC,aAAa,CAAC,GAAG,+CAE1F,CAAC;IAEF,IAAI,oBAAoB,KAAK,SAAS,EAAE;QACpC,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,OAAO,EAAE,CAAC;KACb;IAED,MAAM,WAAW,GAAmB,EAAE,CAAC;IAEvC,KAAK,MAAM,MAAM,IAAI,oBAAoB,EAAE;QACvC,WAAW,CAAC,IAAI,CAAC,4BAA4B,CAAC,eAAe,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC;QAC7F,MAAA,eAAe,CAAC,sBAAsB,0CAAE,gBAAgB,EAAE,CAAC;KAC9D;IAED,KAAK,CAAC,IAAI,EAAE,CAAC;IAEb,OAAO,WAAW,CAAC,IAAI,EAAE,CAAC;AAC9B,CAAC;AAnCD,gEAmCC;AAED,SAAS,4BAA4B,CACjC,kBAAsC,EACtC,mBAAyC,EACzC,cAAsB;;IAEtB,MAAM,YAAY,GAAa,uBAAc,CAAC,mBAAmB,CAC7D,mBAAmB,EACnB,cAAc,gDAEjB,CAAC;IAEF,MAAM,cAAc,GAAkC,IAAI,GAAG,EAAE,CAAC;IAEhE,KAAK,MAAM,SAAS,IAAI,0BAAiB,CAAC,oCAAoC,CAAC,mBAAmB,EAAE,YAAY,CAAC,EAAE;QAC/G,MAAM,aAAa,GAAqB,MAAA,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,mCAAI,EAAE,CAAC;QACpF,aAAa,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAC9B,cAAc,CAAC,GAAG,CAAC,SAAS,CAAC,OAAO,EAAE,aAAa,CAAC,CAAC;KACxD;IAED,MAAM,WAAW,GAAiB,EAAE,CAAC;IAErC,KAAK,MAAM,CAAC,iBAAiB,EAAE,KAAK,CAAC,IAAI,cAAc,EAAE;QACrD,IAAI,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE;YAClB,WAAW,CAAC,IAAI,CACZ,GAAG,KAAK,CAAC,GAAG,CAAC,CAAC,UAA0B,EAAE,EAAE;gBACxC,MAAM,cAAc,GAAU,iBAAa,CAAC,yBAAyB,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;gBAE7F,OAAO,yCAAyC,CAC5C,kBAAkB,EAClB,cAAc,EACd,iBAAiB,CACpB,CAAC;YACN,CAAC,CAAC,CACL,CAAC;SACL;KACJ;IAED,OAAO,WAAW,CAAC;AACvB,CAAC;AAED,SAAS,yCAAyC,CAC9C,kBAAsC,EACtC,qBAA4B,EAC5B,aAAqB;IAErB,MAAM,SAAS,GAA2B,gCAAiB,CAAC,wBAAwB,CAAC,kBAAkB,CAAC,MAAM,CAAC,CAAC;IAEhH,OAAO;QACH,IAAI,EAAE,yCAAmB,CAAC,mBAAmB;QAC7C,OAAO,EAAE,2BAAY,CAAC,qCAAqC,CAAC,SAAS,EAAE,aAAa,CAAC;QACrF,KAAK,EAAE,qBAAqB;QAC5B,QAAQ,EAAE,gDAAkB,CAAC,KAAK;QAClC,MAAM,EAAE,kBAAkB,CAAC,MAAM;KACpC,CAAC;AACN,CAAC"}
|
|
@@ -21,25 +21,30 @@ const localization_1 = require("../localization");
|
|
|
21
21
|
const diagnosticErrorCode_1 = require("../diagnosticErrorCode");
|
|
22
22
|
function validateInvokeExpression(validationSettings, nodeIdMapCollection, maybeCache) {
|
|
23
23
|
return __awaiter(this, void 0, void 0, function* () {
|
|
24
|
+
const trace = validationSettings.traceManager.entry("Validation" /* Validation */, validateInvokeExpression.name, validationSettings.maybeInitialCorrelationId);
|
|
25
|
+
const updatedSettings = Object.assign(Object.assign({}, validationSettings), { maybeInitialCorrelationId: trace.id });
|
|
24
26
|
const maybeInvokeExpressionIds = nodeIdMapCollection.idsByNodeKind.get("InvokeExpression" /* InvokeExpression */);
|
|
25
27
|
if (maybeInvokeExpressionIds === undefined) {
|
|
28
|
+
trace.exit();
|
|
26
29
|
return [];
|
|
27
30
|
}
|
|
28
31
|
const inspectionTasks = [];
|
|
29
32
|
for (const nodeId of maybeInvokeExpressionIds) {
|
|
30
|
-
inspectionTasks.push(__1.Inspection.tryInvokeExpression(
|
|
33
|
+
inspectionTasks.push(__1.Inspection.tryInvokeExpression(updatedSettings, nodeIdMapCollection, nodeId, maybeCache));
|
|
31
34
|
}
|
|
32
35
|
const inspections = yield Promise.all(inspectionTasks);
|
|
33
36
|
const diagnosticTasks = [];
|
|
34
37
|
for (const triedInvokeExpression of inspections) {
|
|
35
38
|
if (powerquery_parser_1.ResultUtils.isOk(triedInvokeExpression)) {
|
|
36
|
-
diagnosticTasks.push(invokeExpressionToDiagnostics(
|
|
39
|
+
diagnosticTasks.push(invokeExpressionToDiagnostics(updatedSettings, nodeIdMapCollection, triedInvokeExpression.value));
|
|
37
40
|
}
|
|
38
41
|
else {
|
|
42
|
+
trace.exit({ ["IsThrowing" /* IsThrowing */]: true });
|
|
39
43
|
throw triedInvokeExpression;
|
|
40
44
|
}
|
|
41
45
|
}
|
|
42
46
|
const diagnostics = yield Promise.all(diagnosticTasks);
|
|
47
|
+
trace.exit();
|
|
43
48
|
return diagnostics.flat();
|
|
44
49
|
});
|
|
45
50
|
}
|
|
@@ -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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"}
|
|
@@ -19,13 +19,19 @@ const diagnosticErrorCode_1 = require("../diagnosticErrorCode");
|
|
|
19
19
|
const workspaceCache_1 = require("../workspaceCache");
|
|
20
20
|
function validateLexAndParse(textDocument, validationSettings) {
|
|
21
21
|
return __awaiter(this, void 0, void 0, function* () {
|
|
22
|
-
const
|
|
22
|
+
const trace = validationSettings.traceManager.entry("Validation" /* Validation */, validateLexAndParse.name, validationSettings.maybeInitialCorrelationId);
|
|
23
|
+
const updatedSettings = Object.assign(Object.assign({}, validationSettings), { maybeInitialCorrelationId: trace.id });
|
|
24
|
+
const parsePromise = yield workspaceCache_1.WorkspaceCacheUtils.getOrCreateParsePromise(textDocument, updatedSettings);
|
|
23
25
|
if (parsePromise !== undefined) {
|
|
24
|
-
|
|
26
|
+
const result = yield validateParse(parsePromise, updatedSettings);
|
|
27
|
+
trace.exit();
|
|
28
|
+
return result;
|
|
25
29
|
}
|
|
26
|
-
const lexPromise = yield workspaceCache_1.WorkspaceCacheUtils.getOrCreateLexPromise(textDocument,
|
|
30
|
+
const lexPromise = yield workspaceCache_1.WorkspaceCacheUtils.getOrCreateLexPromise(textDocument, updatedSettings);
|
|
27
31
|
if (lexPromise !== undefined) {
|
|
28
|
-
|
|
32
|
+
const result = validateLex(lexPromise, updatedSettings);
|
|
33
|
+
trace.exit();
|
|
34
|
+
return result;
|
|
29
35
|
}
|
|
30
36
|
return [];
|
|
31
37
|
});
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"validateLexAndParse.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/validate/validateLexAndParse.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,oDAAoD;AACpD,6EAA8F;AAC9F,sFAAyG;
|
|
1
|
+
{"version":3,"file":"validateLexAndParse.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/validate/validateLexAndParse.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@microsoft/powerquery-language-services",
|
|
3
|
-
"version": "0.3.
|
|
3
|
+
"version": "0.3.12",
|
|
4
4
|
"author": "Microsoft",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"scripts": {
|
|
7
|
-
"prepublishOnly": "git clean -xdf && npm install && npm run lint && npm run build && npm run test",
|
|
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
10
|
"lint": "eslint src --ext ts",
|
|
@@ -21,6 +21,9 @@
|
|
|
21
21
|
"description": "Language services for the Power Query/M formula language.",
|
|
22
22
|
"main": "lib/powerquery-language-services/index.js",
|
|
23
23
|
"types": "lib/powerquery-language-services/index.d.ts",
|
|
24
|
+
"engines": {
|
|
25
|
+
"node": ">=16.13.2"
|
|
26
|
+
},
|
|
24
27
|
"keywords": [
|
|
25
28
|
"power query",
|
|
26
29
|
"power bi"
|
|
@@ -46,8 +49,8 @@
|
|
|
46
49
|
"typescript": "4.5.4"
|
|
47
50
|
},
|
|
48
51
|
"dependencies": {
|
|
49
|
-
"@microsoft/powerquery-formatter": "0.0.
|
|
50
|
-
"@microsoft/powerquery-parser": "0.
|
|
52
|
+
"@microsoft/powerquery-formatter": "0.0.51",
|
|
53
|
+
"@microsoft/powerquery-parser": "0.8.2",
|
|
51
54
|
"vscode-languageserver-textdocument": "1.0.3",
|
|
52
55
|
"vscode-languageserver-types": "3.16.0"
|
|
53
56
|
},
|