@microsoft/powerquery-language-services 0.9.2 → 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/analysisBase.js +51 -48
- package/lib/powerquery-language-services/analysis/analysisBase.js.map +1 -1
- package/lib/powerquery-language-services/documentSymbols.js +6 -5
- 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.js +3 -2
- package/lib/powerquery-language-services/externalType/externalTypeUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/activeNode/activeNode.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/activeNode/activeNode.js.map +1 -1
- package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js +41 -40
- 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 +118 -95
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.d.ts +1 -3
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js +8 -31
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js +31 -31
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js +23 -22
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordDefault.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js +6 -6
- 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 +6 -6
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordLetExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordListExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js +6 -5
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordSectionMember.js.map +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/autocompleteLanguageConstant.d.ts +2 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js +122 -78
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js +56 -54
- package/lib/powerquery-language-services/inspection/autocomplete/autocompletePrimitiveType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/commonTypes.d.ts +6 -4
- package/lib/powerquery-language-services/inspection/autocomplete/task.js +6 -9
- package/lib/powerquery-language-services/inspection/autocomplete/task.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/trailingToken.d.ts +0 -1
- package/lib/powerquery-language-services/inspection/autocomplete/trailingTokenUtils.js +3 -3
- package/lib/powerquery-language-services/inspection/autocomplete/trailingTokenUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/deferenceIdentifier.js +17 -14
- package/lib/powerquery-language-services/inspection/deferenceIdentifier.js.map +1 -1
- package/lib/powerquery-language-services/inspection/expectedType.js +61 -60
- package/lib/powerquery-language-services/inspection/expectedType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js +15 -10
- package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js +8 -6
- package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/pseudoFunctionExpressionType.js +6 -6
- 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 +35 -33
- 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 +17 -14
- package/lib/powerquery-language-services/inspection/task.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/common.js +80 -79
- 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 +20 -20
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeConstant.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js +5 -4
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js +8 -7
- 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 +23 -22
- 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 +4 -3
- 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 +13 -11
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js +4 -3
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js +4 -3
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js +10 -9
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js +10 -9
- 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 +9 -7
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js +9 -8
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js +6 -5
- 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 +5 -4
- 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 +10 -9
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js +74 -73
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js +11 -9
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js +12 -11
- package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/task.js +6 -4
- 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/inspectionSettings.js.map +1 -1
- package/lib/powerquery-language-services/inspectionUtils.js +22 -21
- 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.js +9 -9
- package/lib/powerquery-language-services/library/librarySymbolUtils.js.map +1 -1
- package/lib/powerquery-language-services/library/libraryUtils.js +12 -11
- 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 +1 -0
- package/lib/powerquery-language-services/positionUtils.js +20 -15
- 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 +7 -6
- package/lib/powerquery-language-services/providers/libraryProvider.js.map +1 -1
- package/lib/powerquery-language-services/providers/localDocumentProvider/foldingRanges.js +15 -13
- package/lib/powerquery-language-services/providers/localDocumentProvider/foldingRanges.js.map +1 -1
- package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.js +21 -20
- package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.js.map +1 -1
- package/lib/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.js +63 -61
- package/lib/powerquery-language-services/providers/localDocumentProvider/partialSemanticToken.js.map +1 -1
- package/lib/powerquery-language-services/tokenPositionComparison.d.ts +1 -1
- package/lib/powerquery-language-services/tokenPositionComparison.js.map +1 -1
- 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/validate/validate.js +2 -1
- package/lib/powerquery-language-services/validate/validate.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js +13 -11
- package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateFunctionExpression.js +5 -3
- package/lib/powerquery-language-services/validate/validateFunctionExpression.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateInvokeExpression.js +5 -3
- package/lib/powerquery-language-services/validate/validateInvokeExpression.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.js +9 -6
- package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.js.map +1 -1
- package/package.json +4 -4
|
@@ -16,13 +16,15 @@ const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/par
|
|
|
16
16
|
const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
|
|
17
17
|
const powerquery_parser_1 = require("@microsoft/powerquery-parser");
|
|
18
18
|
const __1 = require("../..");
|
|
19
|
+
const scope_1 = require("./scope");
|
|
19
20
|
const pseudoFunctionExpressionType_1 = require("../pseudoFunctionExpressionType");
|
|
21
|
+
const trace_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/common/trace");
|
|
20
22
|
// Builds a scope for the given node.
|
|
21
23
|
function tryNodeScope(settings, nodeIdMapCollection, nodeId,
|
|
22
24
|
// scopeById may get mutated by adding new entries.
|
|
23
25
|
scopeById) {
|
|
24
26
|
return __awaiter(this, void 0, void 0, function* () {
|
|
25
|
-
const trace = settings.traceManager.entry(
|
|
27
|
+
const trace = settings.traceManager.entry(__1.InspectionTraceConstant.InspectScope, tryNodeScope.name, settings.initialCorrelationId);
|
|
26
28
|
const updatedSettings = Object.assign(Object.assign({}, settings), { initialCorrelationId: trace.id });
|
|
27
29
|
const result = yield powerquery_parser_1.ResultUtils.ensureResultAsync(() => __awaiter(this, void 0, void 0, function* () {
|
|
28
30
|
const ancestry = parser_1.AncestryUtils.assertAncestry(nodeIdMapCollection, nodeId);
|
|
@@ -44,19 +46,19 @@ function assertGetOrCreateNodeScope(settings, nodeIdMapCollection, nodeId,
|
|
|
44
46
|
// scopeById may get mutated by adding new entries.
|
|
45
47
|
scopeById) {
|
|
46
48
|
return __awaiter(this, void 0, void 0, function* () {
|
|
47
|
-
const trace = settings.traceManager.entry(
|
|
49
|
+
const trace = settings.traceManager.entry(__1.InspectionTraceConstant.InspectScope, assertGetOrCreateNodeScope.name, settings.initialCorrelationId);
|
|
48
50
|
const updatedSettings = Object.assign(Object.assign({}, settings), { initialCorrelationId: trace.id });
|
|
49
51
|
const nodeScope = scopeById.get(nodeId);
|
|
50
52
|
if (nodeScope !== undefined) {
|
|
51
|
-
trace.exit({ [
|
|
53
|
+
trace.exit({ [trace_1.TraceConstant.IsThrowing]: false });
|
|
52
54
|
return powerquery_parser_1.ResultUtils.ok(nodeScope);
|
|
53
55
|
}
|
|
54
56
|
const triedNodeScope = yield tryNodeScope(updatedSettings, nodeIdMapCollection, nodeId, scopeById);
|
|
55
57
|
if (powerquery_parser_1.ResultUtils.isError(triedNodeScope)) {
|
|
56
|
-
trace.exit({ [
|
|
58
|
+
trace.exit({ [trace_1.TraceConstant.IsThrowing]: true });
|
|
57
59
|
throw triedNodeScope;
|
|
58
60
|
}
|
|
59
|
-
trace.exit({ [
|
|
61
|
+
trace.exit({ [trace_1.TraceConstant.IsThrowing]: false });
|
|
60
62
|
return triedNodeScope;
|
|
61
63
|
});
|
|
62
64
|
}
|
|
@@ -65,7 +67,7 @@ function inspectScope(settings, nodeIdMapCollection, ancestry,
|
|
|
65
67
|
// scopeById may get mutated by adding new entries.
|
|
66
68
|
scopeById, correlationId) {
|
|
67
69
|
return __awaiter(this, void 0, void 0, function* () {
|
|
68
|
-
const trace = settings.traceManager.entry(
|
|
70
|
+
const trace = settings.traceManager.entry(__1.InspectionTraceConstant.InspectScope, inspectScope.name, correlationId);
|
|
69
71
|
const rootId = ancestry[0].node.id;
|
|
70
72
|
// A scope for the given ancestry has already been generated.
|
|
71
73
|
const cached = scopeById.get(rootId);
|
|
@@ -96,23 +98,23 @@ scopeById, correlationId) {
|
|
|
96
98
|
function inspectNode(state, xorNode, correlationId) {
|
|
97
99
|
var _a;
|
|
98
100
|
return __awaiter(this, void 0, void 0, function* () {
|
|
99
|
-
const trace = state.traceManager.entry(
|
|
101
|
+
const trace = state.traceManager.entry(__1.InspectionTraceConstant.InspectScope, inspectNode.name, correlationId, __1.TraceUtils.xorNodeDetails(xorNode));
|
|
100
102
|
(_a = state.cancellationToken) === null || _a === void 0 ? void 0 : _a.throwIfCancelled();
|
|
101
103
|
switch (xorNode.node.kind) {
|
|
102
|
-
case
|
|
104
|
+
case language_1.Ast.NodeKind.EachExpression:
|
|
103
105
|
inspectEachExpression(state, xorNode, trace.id);
|
|
104
106
|
break;
|
|
105
|
-
case
|
|
107
|
+
case language_1.Ast.NodeKind.FunctionExpression:
|
|
106
108
|
inspectFunctionExpression(state, xorNode, trace.id);
|
|
107
109
|
break;
|
|
108
|
-
case
|
|
110
|
+
case language_1.Ast.NodeKind.LetExpression:
|
|
109
111
|
inspectLetExpression(state, xorNode, trace.id);
|
|
110
112
|
break;
|
|
111
|
-
case
|
|
112
|
-
case
|
|
113
|
+
case language_1.Ast.NodeKind.RecordExpression:
|
|
114
|
+
case language_1.Ast.NodeKind.RecordLiteral:
|
|
113
115
|
inspectRecordExpressionOrRecordLiteral(state, xorNode, trace.id);
|
|
114
116
|
break;
|
|
115
|
-
case
|
|
117
|
+
case language_1.Ast.NodeKind.Section:
|
|
116
118
|
inspectSection(state, xorNode, trace.id);
|
|
117
119
|
break;
|
|
118
120
|
default:
|
|
@@ -122,13 +124,13 @@ function inspectNode(state, xorNode, correlationId) {
|
|
|
122
124
|
});
|
|
123
125
|
}
|
|
124
126
|
function inspectEachExpression(state, eachExpr, correlationId) {
|
|
125
|
-
const trace = state.traceManager.entry(
|
|
126
|
-
parser_1.XorNodeUtils.assertIsNodeKind(eachExpr,
|
|
127
|
+
const trace = state.traceManager.entry(__1.InspectionTraceConstant.InspectScope, inspectEachExpression.name, correlationId);
|
|
128
|
+
parser_1.XorNodeUtils.assertIsNodeKind(eachExpr, language_1.Ast.NodeKind.EachExpression);
|
|
127
129
|
expandChildScope(state, eachExpr, [1], [
|
|
128
130
|
[
|
|
129
131
|
"_",
|
|
130
132
|
{
|
|
131
|
-
kind:
|
|
133
|
+
kind: scope_1.ScopeItemKind.Each,
|
|
132
134
|
id: eachExpr.node.id,
|
|
133
135
|
isRecursive: false,
|
|
134
136
|
eachExpression: eachExpr,
|
|
@@ -138,15 +140,15 @@ function inspectEachExpression(state, eachExpr, correlationId) {
|
|
|
138
140
|
trace.exit();
|
|
139
141
|
}
|
|
140
142
|
function inspectFunctionExpression(state, fnExpr, correlationId) {
|
|
141
|
-
const trace = state.traceManager.entry(
|
|
142
|
-
parser_1.XorNodeUtils.assertIsNodeKind(fnExpr,
|
|
143
|
+
const trace = state.traceManager.entry(__1.InspectionTraceConstant.InspectScope, inspectFunctionExpression.name, correlationId);
|
|
144
|
+
parser_1.XorNodeUtils.assertIsNodeKind(fnExpr, language_1.Ast.NodeKind.FunctionExpression);
|
|
143
145
|
// Propegates the parent's scope.
|
|
144
146
|
const nodeScope = localGetOrCreateNodeScope(state, fnExpr.node.id, undefined, trace.id);
|
|
145
147
|
const pseudoType = (0, pseudoFunctionExpressionType_1.pseudoFunctionExpressionType)(state.nodeIdMapCollection, fnExpr);
|
|
146
148
|
const newEntries = pseudoType.parameters.map((parameter) => [
|
|
147
149
|
parameter.name.literal,
|
|
148
150
|
{
|
|
149
|
-
kind:
|
|
151
|
+
kind: scope_1.ScopeItemKind.Parameter,
|
|
150
152
|
id: parameter.id,
|
|
151
153
|
isRecursive: false,
|
|
152
154
|
name: parameter.name,
|
|
@@ -159,8 +161,8 @@ function inspectFunctionExpression(state, fnExpr, correlationId) {
|
|
|
159
161
|
trace.exit();
|
|
160
162
|
}
|
|
161
163
|
function inspectLetExpression(state, letExpr, correlationId) {
|
|
162
|
-
const trace = state.traceManager.entry(
|
|
163
|
-
parser_1.XorNodeUtils.assertIsNodeKind(letExpr,
|
|
164
|
+
const trace = state.traceManager.entry(__1.InspectionTraceConstant.InspectScope, inspectLetExpression.name, correlationId);
|
|
165
|
+
parser_1.XorNodeUtils.assertIsNodeKind(letExpr, language_1.Ast.NodeKind.LetExpression);
|
|
164
166
|
// Propegates the parent's scope.
|
|
165
167
|
const nodeScope = localGetOrCreateNodeScope(state, letExpr.node.id, undefined, trace.id);
|
|
166
168
|
const keyValuePairs = parser_1.NodeIdMapIterator.iterLetExpression(state.nodeIdMapCollection, letExpr);
|
|
@@ -171,7 +173,7 @@ function inspectLetExpression(state, letExpr, correlationId) {
|
|
|
171
173
|
trace.exit();
|
|
172
174
|
}
|
|
173
175
|
function inspectRecordExpressionOrRecordLiteral(state, record, correlationId) {
|
|
174
|
-
const trace = state.traceManager.entry(
|
|
176
|
+
const trace = state.traceManager.entry(__1.InspectionTraceConstant.InspectScope, inspectRecordExpressionOrRecordLiteral.name, correlationId);
|
|
175
177
|
parser_1.XorNodeUtils.assertIsRecord(record);
|
|
176
178
|
// Propegates the parent's scope.
|
|
177
179
|
const nodeScope = localGetOrCreateNodeScope(state, record.node.id, undefined, trace.id);
|
|
@@ -181,8 +183,8 @@ function inspectRecordExpressionOrRecordLiteral(state, record, correlationId) {
|
|
|
181
183
|
}
|
|
182
184
|
function inspectSection(state, section, correlationId) {
|
|
183
185
|
var _a;
|
|
184
|
-
const trace = state.traceManager.entry(
|
|
185
|
-
parser_1.XorNodeUtils.assertIsNodeKind(section,
|
|
186
|
+
const trace = state.traceManager.entry(__1.InspectionTraceConstant.InspectScope, inspectSection.name, correlationId);
|
|
187
|
+
parser_1.XorNodeUtils.assertIsNodeKind(section, language_1.Ast.NodeKind.Section);
|
|
186
188
|
const keyValuePairs = parser_1.NodeIdMapIterator.iterSection(state.nodeIdMapCollection, section);
|
|
187
189
|
for (const kvp of keyValuePairs) {
|
|
188
190
|
(_a = state.cancellationToken) === null || _a === void 0 ? void 0 : _a.throwIfCancelled();
|
|
@@ -199,7 +201,7 @@ function inspectSection(state, section, correlationId) {
|
|
|
199
201
|
// Expands the scope on the value part of the key value pair.
|
|
200
202
|
function inspectKeyValuePairs(state, parentScope, keyValuePairs, createFn, correlationId) {
|
|
201
203
|
var _a;
|
|
202
|
-
const trace = state.traceManager.entry(
|
|
204
|
+
const trace = state.traceManager.entry(__1.InspectionTraceConstant.InspectScope, inspectKeyValuePairs.name, correlationId);
|
|
203
205
|
for (const kvp of keyValuePairs) {
|
|
204
206
|
(_a = state.cancellationToken) === null || _a === void 0 ? void 0 : _a.throwIfCancelled();
|
|
205
207
|
if (kvp.value === undefined) {
|
|
@@ -231,19 +233,19 @@ function expandChildScope(state, parent, childAttributeIds, newEntries, defaultS
|
|
|
231
233
|
}
|
|
232
234
|
// Any operation done on a scope should first invoke `scopeFor` for data integrity.
|
|
233
235
|
function localGetOrCreateNodeScope(state, nodeId, defaultScope, correlationId) {
|
|
234
|
-
const trace = state.traceManager.entry(
|
|
236
|
+
const trace = state.traceManager.entry(__1.InspectionTraceConstant.InspectScope, localGetOrCreateNodeScope.name, correlationId, {
|
|
235
237
|
nodeId,
|
|
236
238
|
});
|
|
237
239
|
// If scopeFor has already been called then there should be a nodeId in the givenScope.
|
|
238
240
|
const givenScope = state.givenScope.get(nodeId);
|
|
239
241
|
if (givenScope !== undefined) {
|
|
240
|
-
trace.exit({ [
|
|
242
|
+
trace.exit({ [trace_1.TraceConstant.Result]: "givenScope cache hit" });
|
|
241
243
|
return givenScope;
|
|
242
244
|
}
|
|
243
245
|
if (defaultScope !== undefined) {
|
|
244
246
|
const shallowCopy = new Map(defaultScope.entries());
|
|
245
247
|
state.givenScope.set(nodeId, shallowCopy);
|
|
246
|
-
trace.exit({ [
|
|
248
|
+
trace.exit({ [trace_1.TraceConstant.Result]: "defaultScope entry" });
|
|
247
249
|
return shallowCopy;
|
|
248
250
|
}
|
|
249
251
|
// Default to a parent's scope if the node has a parent.
|
|
@@ -254,14 +256,14 @@ function localGetOrCreateNodeScope(state, nodeId, defaultScope, correlationId) {
|
|
|
254
256
|
if (parentGivenScope !== undefined) {
|
|
255
257
|
const shallowCopy = new Map(parentGivenScope.entries());
|
|
256
258
|
state.givenScope.set(nodeId, shallowCopy);
|
|
257
|
-
trace.exit({ [
|
|
259
|
+
trace.exit({ [trace_1.TraceConstant.Result]: "parent givenScope hit" });
|
|
258
260
|
return parentGivenScope;
|
|
259
261
|
}
|
|
260
262
|
}
|
|
261
263
|
// The node has no parent or it hasn't been visited.
|
|
262
264
|
const newScope = new Map();
|
|
263
265
|
state.givenScope.set(nodeId, newScope);
|
|
264
|
-
trace.exit({ [
|
|
266
|
+
trace.exit({ [trace_1.TraceConstant.Result]: "set new entry" });
|
|
265
267
|
return newScope;
|
|
266
268
|
}
|
|
267
269
|
function scopeItemsFromKeyValuePairs(keyValuePairs, ancestorKeyNodeId, scopeItemFactory) {
|
|
@@ -278,7 +280,7 @@ function scopeItemsFromKeyValuePairs(keyValuePairs, ancestorKeyNodeId, scopeItem
|
|
|
278
280
|
}
|
|
279
281
|
function createSectionMemberScopeItem(keyValuePair, isRecursive) {
|
|
280
282
|
return {
|
|
281
|
-
kind:
|
|
283
|
+
kind: scope_1.ScopeItemKind.SectionMember,
|
|
282
284
|
id: keyValuePair.source.node.id,
|
|
283
285
|
isRecursive,
|
|
284
286
|
key: keyValuePair.key,
|
|
@@ -287,7 +289,7 @@ function createSectionMemberScopeItem(keyValuePair, isRecursive) {
|
|
|
287
289
|
}
|
|
288
290
|
function createLetVariableScopeItem(keyValuePair, isRecursive) {
|
|
289
291
|
return {
|
|
290
|
-
kind:
|
|
292
|
+
kind: scope_1.ScopeItemKind.LetVariable,
|
|
291
293
|
id: keyValuePair.source.node.id,
|
|
292
294
|
isRecursive,
|
|
293
295
|
key: keyValuePair.key,
|
|
@@ -296,7 +298,7 @@ function createLetVariableScopeItem(keyValuePair, isRecursive) {
|
|
|
296
298
|
}
|
|
297
299
|
function createRecordMemberScopeItem(keyValuePair, isRecursive) {
|
|
298
300
|
return {
|
|
299
|
-
kind:
|
|
301
|
+
kind: scope_1.ScopeItemKind.RecordField,
|
|
300
302
|
id: keyValuePair.source.node.id,
|
|
301
303
|
isRecursive,
|
|
302
304
|
key: keyValuePair.key,
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scopeInspection.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/scope/scopeInspection.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAGlC,sFAOmE;AACnE,0FAA6F;AAC7F,oEAAyF;AAEzF,6BAAwE;AAYxE,kFAIyC;AAGzC,qCAAqC;AACrC,SAAsB,YAAY,CAC9B,QAA4B,EAC5B,mBAAyC,EACzC,MAAc;AACd,mDAAmD;AACnD,SAAoB;;QAEpB,MAAM,KAAK,GAAU,QAAQ,CAAC,YAAY,CAAC,KAAK,wCAE5C,YAAY,CAAC,IAAI,EACjB,QAAQ,CAAC,oBAAoB,CAChC,CAAC;QAEF,MAAM,eAAe,mCACd,QAAQ,KACX,oBAAoB,EAAE,KAAK,CAAC,EAAE,GACjC,CAAC;QAEF,MAAM,MAAM,GAAmB,MAAM,+BAAW,CAAC,iBAAiB,CAAC,GAAS,EAAE;YAC1E,MAAM,QAAQ,GAA4B,sBAAa,CAAC,cAAc,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;YAEpG,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE;gBACvB,OAAO,IAAI,GAAG,EAAE,CAAC;aACpB;YAED,MAAM,YAAY,CAAC,eAAe,EAAE,mBAAmB,EAAE,QAAQ,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;YAExF,MAAM,MAAM,GAAc,4BAAQ,CAAC,SAAS,CAAC,SAAS,EAAE,MAAM,EAAE,iCAAiC,EAAE;gBAC/F,MAAM;aACT,CAAC,CAAC;YAEH,OAAO,MAAM,CAAC;QAClB,CAAC,CAAA,EAAE,eAAe,CAAC,MAAM,CAAC,CAAC;QAE3B,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,OAAO,MAAM,CAAC;IAClB,CAAC;CAAA;AArCD,oCAqCC;AAED,SAAsB,0BAA0B,CAC5C,QAA4B,EAC5B,mBAAyC,EACzC,MAAc;AACd,mDAAmD;AACnD,SAAoB;;QAEpB,MAAM,KAAK,GAAU,QAAQ,CAAC,YAAY,CAAC,KAAK,wCAE5C,0BAA0B,CAAC,IAAI,EAC/B,QAAQ,CAAC,oBAAoB,CAChC,CAAC;QAEF,MAAM,eAAe,mCACd,QAAQ,KACX,oBAAoB,EAAE,KAAK,CAAC,EAAE,GACjC,CAAC;QAEF,MAAM,SAAS,GAA0B,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAE/D,IAAI,SAAS,KAAK,SAAS,EAAE;YACzB,KAAK,CAAC,IAAI,CAAC,EAAE,+BAA0B,EAAE,KAAK,EAAE,CAAC,CAAC;YAElD,OAAO,+BAAW,CAAC,EAAE,CAAC,SAAS,CAAC,CAAC;SACpC;QAED,MAAM,cAAc,GAAmB,MAAM,YAAY,CAAC,eAAe,EAAE,mBAAmB,EAAE,MAAM,EAAE,SAAS,CAAC,CAAC;QAEnH,IAAI,+BAAW,CAAC,OAAO,CAAC,cAAc,CAAC,EAAE;YACrC,KAAK,CAAC,IAAI,CAAC,EAAE,+BAA0B,EAAE,IAAI,EAAE,CAAC,CAAC;YAEjD,MAAM,cAAc,CAAC;SACxB;QAED,KAAK,CAAC,IAAI,CAAC,EAAE,+BAA0B,EAAE,KAAK,EAAE,CAAC,CAAC;QAElD,OAAO,cAAc,CAAC;IAC1B,CAAC;CAAA;AArCD,gEAqCC;AAUD,SAAe,YAAY,CACvB,QAA4B,EAC5B,mBAAyC,EACzC,QAAiC;AACjC,mDAAmD;AACnD,SAAoB,EACpB,aAAqB;;QAErB,MAAM,KAAK,GAAU,QAAQ,CAAC,YAAY,CAAC,KAAK,wCAE5C,YAAY,CAAC,IAAI,EACjB,aAAa,CAChB,CAAC;QAEF,MAAM,MAAM,GAAW,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,EAAE,CAAC;QAE3C,6DAA6D;QAC7D,MAAM,MAAM,GAA0B,SAAS,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;QAE5D,IAAI,MAAM,KAAK,SAAS,EAAE;YACtB,KAAK,CAAC,IAAI,EAAE,CAAC;YAEb,OAAO;SACV;QAED,MAAM,KAAK,GAAyB;YAChC,YAAY,EAAE,QAAQ,CAAC,YAAY;YACnC,UAAU,EAAE,SAAS;YACrB,QAAQ;YACR,iBAAiB,EAAE,QAAQ,CAAC,iBAAiB;YAC7C,mBAAmB;YACnB,aAAa,EAAE,CAAC;SACnB,CAAC;QAEF,oDAAoD;QACpD,MAAM,QAAQ,GAAW,QAAQ,CAAC,MAAM,CAAC;QAEzC,KAAK,IAAI,aAAa,GAAW,QAAQ,GAAG,CAAC,EAAE,aAAa,IAAI,CAAC,EAAE,aAAa,IAAI,CAAC,EAAE;YACnF,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;YACpC,MAAM,OAAO,GAAa,QAAQ,CAAC,aAAa,CAAC,CAAC;YAElD,4CAA4C;YAC5C,MAAM,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;SAC/C;QAED,KAAK,CAAC,IAAI,EAAE,CAAC;IACjB,CAAC;CAAA;AAED,yCAAyC;AACzC,SAAe,WAAW,CAAC,KAA2B,EAAE,OAAiB,EAAE,aAAqB;;;QAC5F,MAAM,KAAK,GAAU,KAAK,CAAC,YAAY,CAAC,KAAK,wCAEzC,WAAW,CAAC,IAAI,EAChB,aAAa,EACb,cAAU,CAAC,cAAc,CAAC,OAAO,CAAC,CACrC,CAAC;QAEF,MAAA,KAAK,CAAC,iBAAiB,0CAAE,gBAAgB,EAAE,CAAC;QAE5C,QAAQ,OAAO,CAAC,IAAI,CAAC,IAAI,EAAE;YACvB;gBACI,qBAAqB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;gBAChD,MAAM;YAEV;gBACI,yBAAyB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;gBACpD,MAAM;YAEV;gBACI,oBAAoB,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;gBAC/C,MAAM;YAEV,+CAAmC;YACnC;gBACI,sCAAsC,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;gBACjE,MAAM;YAEV;gBACI,cAAc,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;gBACzC,MAAM;YAEV;gBACI,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;SAC9E;QAED,KAAK,CAAC,IAAI,EAAE,CAAC;;CAChB;AAED,SAAS,qBAAqB,CAAC,KAA2B,EAAE,QAAkB,EAAE,aAAqB;IACjG,MAAM,KAAK,GAAU,KAAK,CAAC,YAAY,CAAC,KAAK,wCAEzC,qBAAqB,CAAC,IAAI,EAC1B,aAAa,CAChB,CAAC;IAEF,qBAAY,CAAC,gBAAgB,CAAqB,QAAQ,wCAA8B,CAAC;IAEzF,gBAAgB,CACZ,KAAK,EACL,QAAQ,EACR,CAAC,CAAC,CAAC,EACH;QACI;YACI,GAAG;YACH;gBACI,IAAI,mBAAoB;gBACxB,EAAE,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE;gBACpB,WAAW,EAAE,KAAK;gBAClB,cAAc,EAAE,QAAQ;aAC3B;SACJ;KACJ,EACD,yBAAyB,CAAC,KAAK,EAAE,QAAQ,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,EACvE,KAAK,CAAC,EAAE,CACX,CAAC;IAEF,KAAK,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC;AAED,SAAS,yBAAyB,CAAC,KAA2B,EAAE,MAAgB,EAAE,aAAqB;IACnG,MAAM,KAAK,GAAU,KAAK,CAAC,YAAY,CAAC,KAAK,wCAEzC,yBAAyB,CAAC,IAAI,EAC9B,aAAa,CAChB,CAAC;IAEF,qBAAY,CAAC,gBAAgB,CAAyB,MAAM,gDAAkC,CAAC;IAE/F,iCAAiC;IACjC,MAAM,SAAS,GAAc,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACnG,MAAM,UAAU,GAAiC,IAAA,2DAA4B,EAAC,KAAK,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;IAEjH,MAAM,UAAU,GAAgD,UAAU,CAAC,UAAU,CAAC,GAAG,CACrF,CAAC,SAAsC,EAAE,EAAE,CAAC;QACxC,SAAS,CAAC,IAAI,CAAC,OAAO;QACtB;YACI,IAAI,6BAAyB;YAC7B,EAAE,EAAE,SAAS,CAAC,EAAE;YAChB,WAAW,EAAE,KAAK;YAClB,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,oBAAS,CAAC,qCAAqC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;SACrG;KACJ,CACJ,CAAC;IAEF,gBAAgB,CAAC,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACtE,KAAK,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC;AAED,SAAS,oBAAoB,CAAC,KAA2B,EAAE,OAAiB,EAAE,aAAqB;IAC/F,MAAM,KAAK,GAAU,KAAK,CAAC,YAAY,CAAC,KAAK,wCAEzC,oBAAoB,CAAC,IAAI,EACzB,aAAa,CAChB,CAAC;IAEF,qBAAY,CAAC,gBAAgB,CAAoB,OAAO,sCAA6B,CAAC;IAEtF,iCAAiC;IACjC,MAAM,SAAS,GAAc,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAEpG,MAAM,aAAa,GAAqD,0BAAiB,CAAC,iBAAiB,CACvG,KAAK,CAAC,mBAAmB,EACzB,OAAO,CACV,CAAC;IAEF,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,0BAA0B,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAE5F,sEAAsE;IACtE,MAAM,UAAU,GAAkD,2BAA2B,CACzF,aAAa,EACb,CAAC,CAAC,EACF,0BAA0B,CAC7B,CAAC;IAEF,gBAAgB,CAAC,KAAK,EAAE,OAAO,EAAE,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IACvE,KAAK,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC;AAED,SAAS,sCAAsC,CAC3C,KAA2B,EAC3B,MAAgB,EAChB,aAAqB;IAErB,MAAM,KAAK,GAAU,KAAK,CAAC,YAAY,CAAC,KAAK,wCAEzC,sCAAsC,CAAC,IAAI,EAC3C,aAAa,CAChB,CAAC;IAEF,qBAAY,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;IAEpC,iCAAiC;IACjC,MAAM,SAAS,GAAc,yBAAyB,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAEnG,MAAM,aAAa,GAAwD,0BAAiB,CAAC,UAAU,CACnG,KAAK,CAAC,mBAAmB,EACzB,MAAM,CACT,CAAC;IAEF,oBAAoB,CAAC,KAAK,EAAE,SAAS,EAAE,aAAa,EAAE,2BAA2B,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;IAC7F,KAAK,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC;AAED,SAAS,cAAc,CAAC,KAA2B,EAAE,OAAiB,EAAE,aAAqB;;IACzF,MAAM,KAAK,GAAU,KAAK,CAAC,YAAY,CAAC,KAAK,wCAEzC,cAAc,CAAC,IAAI,EACnB,aAAa,CAChB,CAAC;IAEF,qBAAY,CAAC,gBAAgB,CAAc,OAAO,0BAAuB,CAAC;IAE1E,MAAM,aAAa,GAAyD,0BAAiB,CAAC,WAAW,CACrG,KAAK,CAAC,mBAAmB,EACzB,OAAO,CACV,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE;QAC7B,MAAA,KAAK,CAAC,iBAAiB,0CAAE,gBAAgB,EAAE,CAAC;QAE5C,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE;YACzB,SAAS;SACZ;QAED,MAAM,aAAa,GAAoD,2BAA2B,CAC9F,aAAa,EACb,GAAG,CAAC,GAAG,CAAC,EAAE,EACV,4BAA4B,CAC/B,CAAC;QAEF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,IAAI,GAAG,EAAE,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;SACrE;KACJ;IAED,KAAK,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC;AAED,6DAA6D;AAC7D,SAAS,oBAAoB,CACzB,KAA2B,EAC3B,WAAsB,EACtB,aAAiC,EACjC,QAAsD,EACtD,aAAqB;;IAErB,MAAM,KAAK,GAAU,KAAK,CAAC,YAAY,CAAC,KAAK,wCAEzC,oBAAoB,CAAC,IAAI,EACzB,aAAa,CAChB,CAAC;IAEF,KAAK,MAAM,GAAG,IAAI,aAAa,EAAE;QAC7B,MAAA,KAAK,CAAC,iBAAiB,0CAAE,gBAAgB,EAAE,CAAC;QAE5C,IAAI,GAAG,CAAC,KAAK,KAAK,SAAS,EAAE;YACzB,SAAS;SACZ;QAED,MAAM,aAAa,GAA+B,2BAA2B,CACzE,aAAa,EACb,GAAG,CAAC,GAAG,CAAC,EAAE,EACV,QAAQ,CACX,CAAC;QAEF,IAAI,aAAa,CAAC,MAAM,KAAK,CAAC,EAAE;YAC5B,WAAW,CAAC,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,aAAa,EAAE,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,CAAC;SACvE;KACJ;IAED,KAAK,CAAC,IAAI,EAAE,CAAC;AACjB,CAAC;AAED,SAAS,WAAW,CAChB,KAA2B,EAC3B,OAAiB,EACjB,UAA+C,EAC/C,YAAmC,EACnC,aAAqB;IAErB,MAAM,SAAS,GAAc,yBAAyB,CAAC,KAAK,EAAE,OAAO,CAAC,IAAI,CAAC,EAAE,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;IAE5G,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,UAAU,EAAE;QACnC,SAAS,CAAC,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,GAAG,EAAE,CAAC,CAAC,CAAC,GAAG,EAAE,KAAK,CAAC,CAAC;KAC7D;AACL,CAAC;AAED,SAAS,gBAAgB,CACrB,KAA2B,EAC3B,MAAgB,EAChB,iBAAwC,EACxC,UAA+C,EAC/C,YAAmC,EACnC,aAAqB;IAErB,MAAM,mBAAmB,GAAyB,KAAK,CAAC,mBAAmB,CAAC;IAC5E,MAAM,QAAQ,GAAW,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;IAExC,sBAAsB;IACtB,KAAK,MAAM,WAAW,IAAI,iBAAiB,EAAE;QACzC,MAAM,KAAK,GAAyB,uBAAc,CAAC,WAAW,CAAC,mBAAmB,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC;QAE3G,IAAI,KAAK,KAAK,SAAS,EAAE;YACrB,WAAW,CAAC,KAAK,EAAE,KAAK,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,CAAC,CAAC;SACtE;KACJ;AACL,CAAC;AAED,mFAAmF;AACnF,SAAS,yBAAyB,CAC9B,KAA2B,EAC3B,MAAc,EACd,YAAmC,EACnC,aAAqB;IAErB,MAAM,KAAK,GAAU,KAAK,CAAC,YAAY,CAAC,KAAK,wCAEzC,yBAAyB,CAAC,IAAI,EAC9B,aAAa,EACb;QACI,MAAM;KACT,CACJ,CAAC;IAEF,uFAAuF;IACvF,MAAM,UAAU,GAA0B,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEvE,IAAI,UAAU,KAAK,SAAS,EAAE;QAC1B,KAAK,CAAC,IAAI,CAAC,EAAE,uBAAsB,EAAE,sBAAsB,EAAE,CAAC,CAAC;QAE/D,OAAO,UAAU,CAAC;KACrB;IAED,IAAI,YAAY,KAAK,SAAS,EAAE;QAC5B,MAAM,WAAW,GAAc,IAAI,GAAG,CAAC,YAAY,CAAC,OAAO,EAAE,CAAC,CAAC;QAC/D,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;QAC1C,KAAK,CAAC,IAAI,CAAC,EAAE,uBAAsB,EAAE,oBAAoB,EAAE,CAAC,CAAC;QAE7D,OAAO,WAAW,CAAC;KACtB;IAED,wDAAwD;IACxD,MAAM,MAAM,GAAyB,uBAAc,CAAC,SAAS,CAAC,KAAK,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC;IAEjG,IAAI,MAAM,KAAK,SAAS,EAAE;QACtB,MAAM,YAAY,GAAW,MAAM,CAAC,IAAI,CAAC,EAAE,CAAC;QAC5C,MAAM,gBAAgB,GAA0B,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC;QAEnF,IAAI,gBAAgB,KAAK,SAAS,EAAE;YAChC,MAAM,WAAW,GAAc,IAAI,GAAG,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;YACnE,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;YAC1C,KAAK,CAAC,IAAI,CAAC,EAAE,uBAAsB,EAAE,uBAAuB,EAAE,CAAC,CAAC;YAEhE,OAAO,gBAAgB,CAAC;SAC3B;KACJ;IAED,oDAAoD;IACpD,MAAM,QAAQ,GAAc,IAAI,GAAG,EAAE,CAAC;IACtC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC;IACvC,KAAK,CAAC,IAAI,CAAC,EAAE,uBAAsB,EAAE,eAAe,EAAE,CAAC,CAAC;IAExD,OAAO,QAAQ,CAAC;AACpB,CAAC;AAED,SAAS,2BAA2B,CAChC,aAAiC,EACjC,iBAAyB,EACzB,gBAAgE;IAEhE,MAAM,MAAM,GAAkB,EAAE,CAAC;IAEjC,+DAA+D;IAC/D,mDAAmD;IACnD,KAAK,MAAM,GAAG,IAAI,aAAa,CAAC,MAAM,CAAC,CAAC,YAAiB,EAAE,EAAE,CAAC,YAAY,CAAC,KAAK,KAAK,SAAS,CAAC,EAAE;QAC7F,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,oBAAoB,EAAE,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,KAAK,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;QAEjG,IAAI,GAAG,CAAC,UAAU,KAAK,GAAG,CAAC,oBAAoB,EAAE;YAC7C,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,UAAU,EAAE,gBAAgB,CAAC,GAAG,EAAE,iBAAiB,KAAK,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC;SAC1F;KACJ;IAED,OAAO,MAAM,CAAC;AAClB,CAAC;AAED,SAAS,4BAA4B,CACjC,YAAmD,EACnD,WAAoB;IAEpB,OAAO;QACH,IAAI,qCAA6B;QACjC,EAAE,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QAC/B,WAAW;QACX,GAAG,EAAE,YAAY,CAAC,GAAG;QACrB,KAAK,EAAE,YAAY,CAAC,KAAK;KAC5B,CAAC;AACN,CAAC;AAED,SAAS,0BAA0B,CAC/B,YAA+C,EAC/C,WAAoB;IAEpB,OAAO;QACH,IAAI,iCAA2B;QAC/B,EAAE,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QAC/B,WAAW;QACX,GAAG,EAAE,YAAY,CAAC,GAAG;QACrB,KAAK,EAAE,YAAY,CAAC,KAAK;KAC5B,CAAC;AACN,CAAC;AAED,SAAS,2BAA2B,CAChC,YAAkD,EAClD,WAAoB;IAEpB,OAAO;QACH,IAAI,iCAA2B;QAC/B,EAAE,EAAE,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,EAAE;QAC/B,WAAW;QACX,GAAG,EAAE,YAAY,CAAC,GAAG;QACrB,KAAK,EAAE,YAAY,CAAC,KAAK;KAC5B,CAAC;AACN,CAAC"}
|
|
1
|
+
{"version":3,"file":"scopeInspection.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/scope/scopeInspection.ts"],"names":[],"mappings":"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"}
|
|
@@ -18,30 +18,32 @@ exports.findDirectUpperScopeExpression = exports.scopeCreatorIdentifier = export
|
|
|
18
18
|
// Copyright (c) Microsoft Corporation.
|
|
19
19
|
// Licensed under the MIT license.
|
|
20
20
|
const PQP = require("@microsoft/powerquery-parser");
|
|
21
|
+
const scope_1 = require("./scope");
|
|
22
|
+
const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
|
|
21
23
|
__exportStar(require("./scope"), exports);
|
|
22
24
|
__exportStar(require("./scopeInspection"), exports);
|
|
23
25
|
function isEach(value) {
|
|
24
|
-
return (value === null || value === void 0 ? void 0 : value.kind) ===
|
|
26
|
+
return (value === null || value === void 0 ? void 0 : value.kind) === scope_1.ScopeItemKind.Each;
|
|
25
27
|
}
|
|
26
28
|
exports.isEach = isEach;
|
|
27
29
|
function isLetVariable(value) {
|
|
28
|
-
return (value === null || value === void 0 ? void 0 : value.kind) ===
|
|
30
|
+
return (value === null || value === void 0 ? void 0 : value.kind) === scope_1.ScopeItemKind.LetVariable;
|
|
29
31
|
}
|
|
30
32
|
exports.isLetVariable = isLetVariable;
|
|
31
33
|
function isParameter(value) {
|
|
32
|
-
return (value === null || value === void 0 ? void 0 : value.kind) ===
|
|
34
|
+
return (value === null || value === void 0 ? void 0 : value.kind) === scope_1.ScopeItemKind.Parameter;
|
|
33
35
|
}
|
|
34
36
|
exports.isParameter = isParameter;
|
|
35
37
|
function isRecordField(value) {
|
|
36
|
-
return (value === null || value === void 0 ? void 0 : value.kind) ===
|
|
38
|
+
return (value === null || value === void 0 ? void 0 : value.kind) === scope_1.ScopeItemKind.RecordField;
|
|
37
39
|
}
|
|
38
40
|
exports.isRecordField = isRecordField;
|
|
39
41
|
function isSectionMember(value) {
|
|
40
|
-
return (value === null || value === void 0 ? void 0 : value.kind) ===
|
|
42
|
+
return (value === null || value === void 0 ? void 0 : value.kind) === scope_1.ScopeItemKind.SectionMember;
|
|
41
43
|
}
|
|
42
44
|
exports.isSectionMember = isSectionMember;
|
|
43
45
|
function isUndefined(value) {
|
|
44
|
-
return (value === null || value === void 0 ? void 0 : value.kind) ===
|
|
46
|
+
return (value === null || value === void 0 ? void 0 : value.kind) === scope_1.ScopeItemKind.Undefined;
|
|
45
47
|
}
|
|
46
48
|
exports.isUndefined = isUndefined;
|
|
47
49
|
function findScopeItemByLiteral(nodeScope, literalString) {
|
|
@@ -53,14 +55,14 @@ function scopeCreatorIdentifier(scopeItem) {
|
|
|
53
55
|
return undefined;
|
|
54
56
|
}
|
|
55
57
|
switch (scopeItem.kind) {
|
|
56
|
-
case
|
|
57
|
-
case
|
|
58
|
+
case scope_1.ScopeItemKind.Each:
|
|
59
|
+
case scope_1.ScopeItemKind.Undefined:
|
|
58
60
|
return undefined;
|
|
59
|
-
case
|
|
60
|
-
case
|
|
61
|
-
case
|
|
61
|
+
case scope_1.ScopeItemKind.LetVariable:
|
|
62
|
+
case scope_1.ScopeItemKind.RecordField:
|
|
63
|
+
case scope_1.ScopeItemKind.SectionMember:
|
|
62
64
|
return scopeItem.key;
|
|
63
|
-
case
|
|
65
|
+
case scope_1.ScopeItemKind.Parameter:
|
|
64
66
|
return scopeItem.name;
|
|
65
67
|
default:
|
|
66
68
|
throw PQP.Assert.isNever(scopeItem);
|
|
@@ -72,12 +74,12 @@ function findDirectUpperScopeExpression(nodeIdMapCollection, nodeId) {
|
|
|
72
74
|
const parentIdById = nodeIdMapCollection.parentIdById;
|
|
73
75
|
let currentNode = astNodeById.get(nodeId);
|
|
74
76
|
while (currentNode &&
|
|
75
|
-
currentNode.kind !==
|
|
76
|
-
currentNode.kind !==
|
|
77
|
-
currentNode.kind !==
|
|
78
|
-
currentNode.kind !==
|
|
79
|
-
currentNode.kind !==
|
|
80
|
-
currentNode.kind !==
|
|
77
|
+
currentNode.kind !== language_1.Ast.NodeKind.EachExpression &&
|
|
78
|
+
currentNode.kind !== language_1.Ast.NodeKind.FunctionExpression &&
|
|
79
|
+
currentNode.kind !== language_1.Ast.NodeKind.LetExpression &&
|
|
80
|
+
currentNode.kind !== language_1.Ast.NodeKind.RecordExpression &&
|
|
81
|
+
currentNode.kind !== language_1.Ast.NodeKind.RecordLiteral &&
|
|
82
|
+
currentNode.kind !== language_1.Ast.NodeKind.SectionMember) {
|
|
81
83
|
const currentParentId = parentIdById.get(currentNode.id) || -1;
|
|
82
84
|
currentNode = astNodeById.get(currentParentId);
|
|
83
85
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scopeUtils.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/scope/scopeUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uCAAuC;AACvC,kCAAkC;AAClC,oDAAoD;
|
|
1
|
+
{"version":3,"file":"scopeUtils.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/scope/scopeUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uCAAuC;AACvC,kCAAkC;AAClC,oDAAoD;AAapD,mCAUiB;AACjB,0FAAkF;AAGlF,0CAAwB;AACxB,oDAAkC;AAElC,SAAgB,MAAM,CAAC,KAA6B;IAChD,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,qBAAa,CAAC,IAAI,CAAC;AAC9C,CAAC;AAFD,wBAEC;AAED,SAAgB,aAAa,CAAC,KAA6B;IACvD,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,qBAAa,CAAC,WAAW,CAAC;AACrD,CAAC;AAFD,sCAEC;AAED,SAAgB,WAAW,CAAC,KAA6B;IACrD,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,qBAAa,CAAC,SAAS,CAAC;AACnD,CAAC;AAFD,kCAEC;AAED,SAAgB,aAAa,CAAC,KAA6B;IACvD,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,qBAAa,CAAC,WAAW,CAAC;AACrD,CAAC;AAFD,sCAEC;AAED,SAAgB,eAAe,CAAC,KAA6B;IACzD,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,qBAAa,CAAC,aAAa,CAAC;AACvD,CAAC;AAFD,0CAEC;AAED,SAAgB,WAAW,CAAC,KAA6B;IACrD,OAAO,CAAA,KAAK,aAAL,KAAK,uBAAL,KAAK,CAAE,IAAI,MAAK,qBAAa,CAAC,SAAS,CAAC;AACnD,CAAC;AAFD,kCAEC;AAED,SAAgB,sBAAsB,CAClC,SAAgC,EAChC,aAAqB;IAErB,OAAO,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,CAAC,aAAa,CAAC,CAAC;AACzC,CAAC;AALD,wDAKC;AAED,SAAgB,sBAAsB,CAClC,SAAiC;IAEjC,IAAI,CAAC,SAAS,EAAE;QACZ,OAAO,SAAS,CAAC;KACpB;IAED,QAAQ,SAAS,CAAC,IAAI,EAAE;QACpB,KAAK,qBAAa,CAAC,IAAI,CAAC;QACxB,KAAK,qBAAa,CAAC,SAAS;YACxB,OAAO,SAAS,CAAC;QAErB,KAAK,qBAAa,CAAC,WAAW,CAAC;QAC/B,KAAK,qBAAa,CAAC,WAAW,CAAC;QAC/B,KAAK,qBAAa,CAAC,aAAa;YAC5B,OAAO,SAAS,CAAC,GAAG,CAAC;QAEzB,KAAK,qBAAa,CAAC,SAAS;YACxB,OAAO,SAAS,CAAC,IAAI,CAAC;QAE1B;YACI,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KAC3C;AACL,CAAC;AAvBD,wDAuBC;AAED,SAAgB,8BAA8B,CAC1C,mBAAyC,EACzC,MAAc;IAEd,MAAM,WAAW,GAAgB,mBAAmB,CAAC,WAAW,CAAC;IACjE,MAAM,YAAY,GAAiB,mBAAmB,CAAC,YAAY,CAAC;IAEpE,IAAI,WAAW,GAA0B,WAAW,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAEjE,OACI,WAAW;QACX,WAAW,CAAC,IAAI,KAAK,cAAG,CAAC,QAAQ,CAAC,cAAc;QAChD,WAAW,CAAC,IAAI,KAAK,cAAG,CAAC,QAAQ,CAAC,kBAAkB;QACpD,WAAW,CAAC,IAAI,KAAK,cAAG,CAAC,QAAQ,CAAC,aAAa;QAC/C,WAAW,CAAC,IAAI,KAAK,cAAG,CAAC,QAAQ,CAAC,gBAAgB;QAClD,WAAW,CAAC,IAAI,KAAK,cAAG,CAAC,QAAQ,CAAC,aAAa;QAC/C,WAAW,CAAC,IAAI,KAAK,cAAG,CAAC,QAAQ,CAAC,aAAa,EACjD;QACE,MAAM,eAAe,GAAW,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACvE,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;KAClD;IAED,OAAO,WAOQ,CAAC;AACpB,CAAC;AA9BD,wEA8BC"}
|
|
@@ -13,8 +13,11 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
13
13
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
14
14
|
exports.tryInspect = exports.inspect = exports.InspectionInstance = void 0;
|
|
15
15
|
const PQP = require("@microsoft/powerquery-parser");
|
|
16
|
+
const trace_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/common/trace");
|
|
17
|
+
const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
|
|
16
18
|
const activeNode_1 = require("./activeNode");
|
|
17
19
|
const scopeUtils_1 = require("./scope/scopeUtils");
|
|
20
|
+
const __1 = require("..");
|
|
18
21
|
const expectedType_1 = require("./expectedType");
|
|
19
22
|
const scope_1 = require("./scope");
|
|
20
23
|
const type_1 = require("./type");
|
|
@@ -35,7 +38,7 @@ class InspectionInstance {
|
|
|
35
38
|
this.parseState = parseState;
|
|
36
39
|
}
|
|
37
40
|
tryNodeScope(id) {
|
|
38
|
-
const trace = this.settings.traceManager.entry(
|
|
41
|
+
const trace = this.settings.traceManager.entry(__1.InspectionTraceConstant.Inspect, scope_1.tryNodeScope.name, this.settings.initialCorrelationId);
|
|
39
42
|
const updatedSettings = Object.assign(Object.assign({}, this.settings), { initialCorrelationId: trace.id });
|
|
40
43
|
const result = (0, scope_1.tryNodeScope)(updatedSettings, this.nodeIdMapCollection, id, this.typeCache.scopeById);
|
|
41
44
|
trace.exit();
|
|
@@ -49,8 +52,8 @@ class InspectionInstance {
|
|
|
49
52
|
const originLiteral = valueCreator.literal;
|
|
50
53
|
const entry = (0, scopeUtils_1.findDirectUpperScopeExpression)(this.nodeIdMapCollection, valueCreator.id);
|
|
51
54
|
if (entry) {
|
|
52
|
-
const allIdentifierIdSet = (_a = this.nodeIdMapCollection.idsByNodeKind.get(
|
|
53
|
-
const allGeneralizedIdentifierIdSet = (_b = this.nodeIdMapCollection.idsByNodeKind.get(
|
|
55
|
+
const allIdentifierIdSet = (_a = this.nodeIdMapCollection.idsByNodeKind.get(language_1.Ast.NodeKind.Identifier)) !== null && _a !== void 0 ? _a : new Set();
|
|
56
|
+
const allGeneralizedIdentifierIdSet = (_b = this.nodeIdMapCollection.idsByNodeKind.get(language_1.Ast.NodeKind.GeneralizedIdentifier)) !== null && _b !== void 0 ? _b : new Set();
|
|
54
57
|
const current = entry;
|
|
55
58
|
const idsByTiers = [];
|
|
56
59
|
let currentTier = ((_c = childIdsById.get(current.id)) !== null && _c !== void 0 ? _c : []).slice();
|
|
@@ -74,21 +77,21 @@ class InspectionInstance {
|
|
|
74
77
|
let filteredIdentifierNodes = completeIdentifierNodes.filter((one) => one.literal === originLiteral);
|
|
75
78
|
// populate the scope items for each
|
|
76
79
|
yield Promise.all(filteredIdentifierNodes
|
|
77
|
-
.filter((oneIdentifier) => oneIdentifier.kind ===
|
|
78
|
-
oneIdentifier.identifierContextKind ===
|
|
80
|
+
.filter((oneIdentifier) => oneIdentifier.kind === language_1.Ast.NodeKind.GeneralizedIdentifier ||
|
|
81
|
+
oneIdentifier.identifierContextKind === language_1.Ast.IdentifierContextKind.Value)
|
|
79
82
|
.map((oneIdentifier) => this.tryNodeScope(oneIdentifier.id)));
|
|
80
83
|
filteredIdentifierNodes = filteredIdentifierNodes.filter((oneIdentifierNode) => {
|
|
81
|
-
if (oneIdentifierNode.kind ===
|
|
84
|
+
if (oneIdentifierNode.kind === language_1.Ast.NodeKind.GeneralizedIdentifier) {
|
|
82
85
|
return oneIdentifierNode.id === valueCreator.id;
|
|
83
86
|
}
|
|
84
|
-
else if (oneIdentifierNode.identifierContextKind ===
|
|
87
|
+
else if (oneIdentifierNode.identifierContextKind === language_1.Ast.IdentifierContextKind.Value) {
|
|
85
88
|
const theScope = this.typeCache.scopeById.get(oneIdentifierNode.id);
|
|
86
89
|
const theScopeItem = (0, scopeUtils_1.findScopeItemByLiteral)(theScope, originLiteral);
|
|
87
90
|
const theCreatorIdentifier = (0, scopeUtils_1.scopeCreatorIdentifier)(theScopeItem);
|
|
88
91
|
return theCreatorIdentifier && theCreatorIdentifier.id === valueCreator.id;
|
|
89
92
|
}
|
|
90
|
-
else if (oneIdentifierNode.identifierContextKind ===
|
|
91
|
-
oneIdentifierNode.identifierContextKind ===
|
|
93
|
+
else if (oneIdentifierNode.identifierContextKind === language_1.Ast.IdentifierContextKind.Key ||
|
|
94
|
+
oneIdentifierNode.identifierContextKind === language_1.Ast.IdentifierContextKind.Parameter) {
|
|
92
95
|
return oneIdentifierNode.id === valueCreator.id;
|
|
93
96
|
}
|
|
94
97
|
return false;
|
|
@@ -105,7 +108,7 @@ function inspect(settings, parseState, parseError, position,
|
|
|
105
108
|
// Else create a new TypeCache and include it in the return.
|
|
106
109
|
typeCache = typeCache_1.TypeCacheUtils.emptyCache()) {
|
|
107
110
|
return __awaiter(this, void 0, void 0, function* () {
|
|
108
|
-
const trace = settings.traceManager.entry(
|
|
111
|
+
const trace = settings.traceManager.entry(__1.InspectionTraceConstant.Inspect, inspect.name, settings.initialCorrelationId);
|
|
109
112
|
const updatedSettings = Object.assign(Object.assign({}, settings), { initialCorrelationId: trace.id });
|
|
110
113
|
const nodeIdMapCollection = parseState.contextState.nodeIdMapCollection;
|
|
111
114
|
// We should only get an undefined for activeNode iff the document is empty
|
|
@@ -116,7 +119,7 @@ typeCache = typeCache_1.TypeCacheUtils.emptyCache()) {
|
|
|
116
119
|
let triedExpectedType;
|
|
117
120
|
if (activeNode_1.ActiveNodeUtils.isPositionInBounds(activeNode)) {
|
|
118
121
|
triedNodeScope = (0, scope_1.tryNodeScope)(updatedSettings, nodeIdMapCollection, activeNode_1.ActiveNodeUtils.assertGetLeaf(activeNode).node.id, typeCache.scopeById);
|
|
119
|
-
const ancestryLeaf = PQP.Parser.AncestryUtils.
|
|
122
|
+
const ancestryLeaf = PQP.Parser.AncestryUtils.assertNth(activeNode.ancestry, 0);
|
|
120
123
|
triedScopeType = (0, type_1.tryScopeType)(updatedSettings, nodeIdMapCollection, ancestryLeaf.node.id, typeCache);
|
|
121
124
|
triedExpectedType = (0, expectedType_1.tryExpectedType)(updatedSettings, activeNode);
|
|
122
125
|
}
|
|
@@ -133,13 +136,13 @@ typeCache = typeCache_1.TypeCacheUtils.emptyCache()) {
|
|
|
133
136
|
exports.inspect = inspect;
|
|
134
137
|
function tryInspect(settings, text, position, typeCache = typeCache_1.TypeCacheUtils.emptyCache()) {
|
|
135
138
|
return __awaiter(this, void 0, void 0, function* () {
|
|
136
|
-
const trace = settings.traceManager.entry(
|
|
139
|
+
const trace = settings.traceManager.entry(__1.InspectionTraceConstant.Inspect, tryInspect.name, settings.initialCorrelationId);
|
|
137
140
|
const updatedSettings = Object.assign(Object.assign({}, settings), { initialCorrelationId: trace.id });
|
|
138
141
|
const triedLexParse = yield PQP.TaskUtils.tryLexParse(updatedSettings, text);
|
|
139
142
|
let parseState;
|
|
140
143
|
let parseError;
|
|
141
144
|
if (PQP.TaskUtils.isLexStageError(triedLexParse) || PQP.TaskUtils.isParseStageCommonError(triedLexParse)) {
|
|
142
|
-
trace.exit({ [
|
|
145
|
+
trace.exit({ [trace_1.TraceConstant.IsError]: true });
|
|
143
146
|
return PQP.ResultUtils.error(triedLexParse.error);
|
|
144
147
|
}
|
|
145
148
|
else if (PQP.TaskUtils.isParseStageError(triedLexParse)) {
|
|
@@ -150,7 +153,7 @@ function tryInspect(settings, text, position, typeCache = typeCache_1.TypeCacheU
|
|
|
150
153
|
parseState = triedLexParse.parseState;
|
|
151
154
|
}
|
|
152
155
|
const result = PQP.ResultUtils.ok(inspect(updatedSettings, parseState, parseError, position, typeCache));
|
|
153
|
-
trace.exit({ [
|
|
156
|
+
trace.exit({ [trace_1.TraceConstant.IsError]: false });
|
|
154
157
|
return result;
|
|
155
158
|
});
|
|
156
159
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/inspection/task.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,oDAAoD;
|
|
1
|
+
{"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/inspection/task.ts"],"names":[],"mappings":"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"}
|