@microsoft/powerquery-language-services 0.3.32 → 0.3.35

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.
Files changed (35) hide show
  1. package/lib/powerquery-language-services/analysis/analysisBase.d.ts +3 -3
  2. package/lib/powerquery-language-services/analysis/analysisBase.js +39 -32
  3. package/lib/powerquery-language-services/analysis/analysisBase.js.map +1 -1
  4. package/lib/powerquery-language-services/inspection/activeNode/activeNode.d.ts +17 -2
  5. package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.d.ts +1 -2
  6. package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js +61 -20
  7. package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js.map +1 -1
  8. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js +4 -2
  9. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js.map +1 -1
  10. package/lib/powerquery-language-services/inspection/deferenceIdentifier.d.ts +4 -0
  11. package/lib/powerquery-language-services/inspection/deferenceIdentifier.js +93 -0
  12. package/lib/powerquery-language-services/inspection/deferenceIdentifier.js.map +1 -0
  13. package/lib/powerquery-language-services/inspection/index.d.ts +1 -0
  14. package/lib/powerquery-language-services/inspection/index.js +1 -0
  15. package/lib/powerquery-language-services/inspection/index.js.map +1 -1
  16. package/lib/powerquery-language-services/inspection/scope/scopeInspection.d.ts +1 -2
  17. package/lib/powerquery-language-services/inspection/scope/scopeInspection.js +11 -111
  18. package/lib/powerquery-language-services/inspection/scope/scopeInspection.js.map +1 -1
  19. package/lib/powerquery-language-services/inspection/type/inspectType/common.d.ts +0 -1
  20. package/lib/powerquery-language-services/inspection/type/inspectType/common.js +19 -77
  21. package/lib/powerquery-language-services/inspection/type/inspectType/common.js.map +1 -1
  22. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js +8 -4
  23. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js.map +1 -1
  24. package/lib/powerquery-language-services/providers/commonTypes.d.ts +5 -5
  25. package/lib/powerquery-language-services/providers/librarySymbolProvider.d.ts +2 -2
  26. package/lib/powerquery-language-services/providers/librarySymbolProvider.js +2 -2
  27. package/lib/powerquery-language-services/providers/librarySymbolProvider.js.map +1 -1
  28. package/lib/powerquery-language-services/providers/localDocumentProvider.d.ts +5 -5
  29. package/lib/powerquery-language-services/providers/localDocumentProvider.js +7 -3
  30. package/lib/powerquery-language-services/providers/localDocumentProvider.js.map +1 -1
  31. package/lib/powerquery-language-services/providers/nullSymbolProvider.d.ts +3 -3
  32. package/lib/powerquery-language-services/providers/nullSymbolProvider.js.map +1 -1
  33. package/lib/powerquery-language-services/validate/validateLexAndParse.js +1 -18
  34. package/lib/powerquery-language-services/validate/validateLexAndParse.js.map +1 -1
  35. package/package.json +1 -1
@@ -26,7 +26,7 @@ export declare abstract class AnalysisBase implements Analysis {
26
26
  private static createHoverCalls;
27
27
  private static createSignatureHelpCalls;
28
28
  private static isValidHoverIdentifier;
29
- private getMaybeIdentifierContext;
30
- private getMaybePositionIdentifier;
31
- private getMaybeActiveNode;
29
+ private getOnIdentifierProviderContext;
30
+ private getActiveNode;
31
+ private getActiveLeafIdentifier;
32
32
  }
@@ -46,9 +46,9 @@ class AnalysisBase {
46
46
  traceManager: this.analysisSettings.traceManager,
47
47
  maybeInitialCorrelationId: trace.id,
48
48
  };
49
- const maybeToken = yield this.getMaybePositionIdentifier();
50
- if (maybeToken !== undefined) {
51
- context = Object.assign(Object.assign({}, context), { range: __1.CommonTypesUtils.rangeFromTokenRange(maybeToken.tokenRange), text: maybeToken.literal, tokenKind: maybeToken.kind });
49
+ const maybeActiveLeafIdentifier = yield this.getActiveLeafIdentifier();
50
+ if (maybeActiveLeafIdentifier !== undefined) {
51
+ context = Object.assign(Object.assign({}, context), { range: __1.CommonTypesUtils.rangeFromTokenRange(maybeActiveLeafIdentifier.node.tokenRange), text: maybeActiveLeafIdentifier.normalizedLiteral, tokenKind: maybeActiveLeafIdentifier.node.kind });
52
52
  }
53
53
  // TODO: intellisense improvements
54
54
  // - honor expected data type
@@ -70,7 +70,7 @@ class AnalysisBase {
70
70
  getDefinition() {
71
71
  return __awaiter(this, void 0, void 0, function* () {
72
72
  const trace = this.analysisSettings.traceManager.entry("AnalysisBase" /* AnalysisBase */, this.getDefinition.name, this.analysisSettings.maybeInitialCorrelationId);
73
- const maybeIdentifierContext = yield this.getMaybeIdentifierContext(trace.id);
73
+ const maybeIdentifierContext = yield this.getOnIdentifierProviderContext(trace.id);
74
74
  if (!maybeIdentifierContext) {
75
75
  trace.exit();
76
76
  return [];
@@ -83,7 +83,7 @@ class AnalysisBase {
83
83
  getHover() {
84
84
  return __awaiter(this, void 0, void 0, function* () {
85
85
  const trace = this.analysisSettings.traceManager.entry("AnalysisBase" /* AnalysisBase */, this.getHover.name, this.analysisSettings.maybeInitialCorrelationId);
86
- const maybeIdentifierContext = yield this.getMaybeIdentifierContext(trace.id);
86
+ const maybeIdentifierContext = yield this.getOnIdentifierProviderContext(trace.id);
87
87
  if (!maybeIdentifierContext) {
88
88
  trace.exit();
89
89
  return commonTypes_1.EmptyHover;
@@ -121,37 +121,40 @@ class AnalysisBase {
121
121
  getRenameEdits(newName) {
122
122
  return __awaiter(this, void 0, void 0, function* () {
123
123
  const trace = this.analysisSettings.traceManager.entry("AnalysisBase" /* AnalysisBase */, this.getRenameEdits.name, this.analysisSettings.maybeInitialCorrelationId);
124
+ const maybeLeafIdentifier = yield this.getActiveLeafIdentifier();
124
125
  const maybeInspected = yield this.promiseMaybeInspected;
125
- const activeNode = yield this.getMaybeActiveNode();
126
126
  const scopeById = maybeInspected === null || maybeInspected === void 0 ? void 0 : maybeInspected.typeCache.scopeById;
127
- const maybeInclusiveIdentifierUnderPosition = activeNode === null || activeNode === void 0 ? void 0 : activeNode.maybeInclusiveIdentifierUnderPosition;
128
- if (maybeInspected === undefined || maybeInclusiveIdentifierUnderPosition === undefined) {
127
+ if (maybeInspected === undefined || maybeLeafIdentifier === undefined) {
129
128
  trace.exit();
130
129
  return [];
131
130
  }
132
131
  const identifiersToBeEdited = [];
133
132
  let valueCreator = undefined;
134
- if (maybeInclusiveIdentifierUnderPosition.kind === "GeneralizedIdentifier" /* GeneralizedIdentifier */) {
135
- valueCreator = maybeInclusiveIdentifierUnderPosition;
133
+ if (maybeLeafIdentifier.node.kind === "GeneralizedIdentifier" /* GeneralizedIdentifier */) {
134
+ valueCreator = maybeLeafIdentifier.node;
136
135
  }
137
- else if (maybeInclusiveIdentifierUnderPosition.kind === "Identifier" /* Identifier */ && scopeById) {
136
+ else if ((maybeLeafIdentifier.node.kind === "Identifier" /* Identifier */ ||
137
+ maybeLeafIdentifier.node.kind === "IdentifierExpression" /* IdentifierExpression */) &&
138
+ scopeById) {
138
139
  // need to find this key value and modify all referring it
139
- const theIdentifierNode = maybeInclusiveIdentifierUnderPosition;
140
- switch (theIdentifierNode.identifierContextKind) {
140
+ const identifierExpression = maybeLeafIdentifier.node.kind === "IdentifierExpression" /* IdentifierExpression */
141
+ ? maybeLeafIdentifier.node.identifier
142
+ : maybeLeafIdentifier.node;
143
+ switch (identifierExpression.identifierContextKind) {
141
144
  case "Key" /* Key */:
142
145
  case "Parameter" /* Parameter */:
143
146
  // it is the identifier creating the value
144
- valueCreator = theIdentifierNode;
147
+ valueCreator = identifierExpression;
145
148
  break;
146
149
  case "Value" /* Value */: {
147
150
  // it is the identifier referring the value
148
- let nodeScope = maybeInspected.typeCache.scopeById.get(theIdentifierNode.id);
151
+ let nodeScope = maybeInspected.typeCache.scopeById.get(identifierExpression.id);
149
152
  // there might be a chance that its scope did not get populated yet, do another try
150
153
  if (!nodeScope) {
151
- yield maybeInspected.tryNodeScope(theIdentifierNode.id);
152
- nodeScope = maybeInspected.typeCache.scopeById.get(theIdentifierNode.id);
154
+ yield maybeInspected.tryNodeScope(identifierExpression.id);
155
+ nodeScope = maybeInspected.typeCache.scopeById.get(identifierExpression.id);
153
156
  }
154
- const scopeItem = (0, scopeUtils_1.findScopeItemByLiteral)(nodeScope, maybeInclusiveIdentifierUnderPosition.literal);
157
+ const scopeItem = (0, scopeUtils_1.findScopeItemByLiteral)(nodeScope, maybeLeafIdentifier.normalizedLiteral);
155
158
  if (scopeItem) {
156
159
  const maybeValueCreator = (0, scopeUtils_1.maybeScopeCreatorIdentifier)(scopeItem);
157
160
  if ((maybeValueCreator === null || maybeValueCreator === void 0 ? void 0 : maybeValueCreator.kind) === "Identifier" /* Identifier */) {
@@ -175,7 +178,7 @@ class AnalysisBase {
175
178
  case "Keyword" /* Keyword */:
176
179
  default:
177
180
  // only modify once
178
- identifiersToBeEdited.push(theIdentifierNode);
181
+ identifiersToBeEdited.push(identifierExpression);
179
182
  break;
180
183
  }
181
184
  }
@@ -184,8 +187,10 @@ class AnalysisBase {
184
187
  identifiersToBeEdited.push(...(yield maybeInspected.collectAllIdentifiersBeneath(valueCreator)));
185
188
  }
186
189
  // if none found, directly put maybeInclusiveIdentifierUnderPosition in if it exists
187
- if (identifiersToBeEdited.length === 0 && maybeInclusiveIdentifierUnderPosition) {
188
- identifiersToBeEdited.push(maybeInclusiveIdentifierUnderPosition);
190
+ if (identifiersToBeEdited.length === 0 && maybeLeafIdentifier) {
191
+ identifiersToBeEdited.push(maybeLeafIdentifier.node.kind === "IdentifierExpression" /* IdentifierExpression */
192
+ ? maybeLeafIdentifier.node.identifier
193
+ : maybeLeafIdentifier.node);
189
194
  }
190
195
  const result = identifiersToBeEdited.map((one) => ({
191
196
  range: PositionUtils.createRangeFromTokenRange(one.tokenRange),
@@ -254,10 +259,10 @@ class AnalysisBase {
254
259
  }
255
260
  return true;
256
261
  }
257
- getMaybeIdentifierContext(correlationId) {
262
+ getOnIdentifierProviderContext(correlationId) {
258
263
  return __awaiter(this, void 0, void 0, function* () {
259
264
  const trace = this.analysisSettings.traceManager.entry("AnalysisBase" /* AnalysisBase */, this.getDefinition.name, correlationId);
260
- const maybeActiveNode = yield this.getMaybeActiveNode();
265
+ const maybeActiveNode = yield this.getActiveNode();
261
266
  const maybeIdentifierUnderPosition = maybeActiveNode === null || maybeActiveNode === void 0 ? void 0 : maybeActiveNode.maybeExclusiveIdentifierUnderPosition;
262
267
  if (maybeActiveNode === undefined ||
263
268
  maybeIdentifierUnderPosition === undefined ||
@@ -265,24 +270,20 @@ class AnalysisBase {
265
270
  trace.exit();
266
271
  return undefined;
267
272
  }
268
- const identifier = maybeIdentifierUnderPosition;
273
+ const identifier = maybeIdentifierUnderPosition.node.kind === "IdentifierExpression" /* IdentifierExpression */
274
+ ? maybeIdentifierUnderPosition.node.identifier
275
+ : maybeIdentifierUnderPosition.node;
269
276
  const context = {
270
277
  traceManager: this.analysisSettings.traceManager,
271
278
  range: __1.CommonTypesUtils.rangeFromTokenRange(identifier.tokenRange),
272
- identifier: identifier.literal,
279
+ identifier,
273
280
  maybeInitialCorrelationId: trace.id,
274
281
  };
275
282
  trace.exit();
276
283
  return context;
277
284
  });
278
285
  }
279
- getMaybePositionIdentifier() {
280
- return __awaiter(this, void 0, void 0, function* () {
281
- const maybeActiveNode = yield this.getMaybeActiveNode();
282
- return maybeActiveNode === null || maybeActiveNode === void 0 ? void 0 : maybeActiveNode.maybeExclusiveIdentifierUnderPosition;
283
- });
284
- }
285
- getMaybeActiveNode() {
286
+ getActiveNode() {
286
287
  return __awaiter(this, void 0, void 0, function* () {
287
288
  const maybeInspected = yield this.promiseMaybeInspected;
288
289
  if (maybeInspected === undefined) {
@@ -293,6 +294,12 @@ class AnalysisBase {
293
294
  : undefined;
294
295
  });
295
296
  }
297
+ getActiveLeafIdentifier() {
298
+ var _a;
299
+ return __awaiter(this, void 0, void 0, function* () {
300
+ return (_a = (yield this.getActiveNode())) === null || _a === void 0 ? void 0 : _a.maybeInclusiveIdentifierUnderPosition;
301
+ });
302
+ }
296
303
  }
297
304
  exports.AnalysisBase = AnalysisBase;
298
305
  //# sourceMappingURL=analysisBase.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"analysisBase.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/analysis/analysisBase.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analysisBase.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/analysis/analysisBase.ts"],"names":[],"mappings":"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"}
@@ -10,12 +10,27 @@ export interface ActiveNode extends IActiveNode {
10
10
  readonly kind: ActiveNodeKind.ActiveNode;
11
11
  readonly leafKind: ActiveNodeLeafKind;
12
12
  readonly ancestry: ReadonlyArray<TXorNode>;
13
- readonly maybeExclusiveIdentifierUnderPosition: Ast.Identifier | Ast.GeneralizedIdentifier | undefined;
14
- readonly maybeInclusiveIdentifierUnderPosition: Ast.Identifier | Ast.GeneralizedIdentifier | undefined;
13
+ readonly maybeExclusiveIdentifierUnderPosition: TActiveLeafIdentifier | undefined;
14
+ readonly maybeInclusiveIdentifierUnderPosition: TActiveLeafIdentifier | undefined;
15
15
  }
16
16
  export interface OutOfBoundPosition extends IActiveNode {
17
17
  readonly kind: ActiveNodeKind.OutOfBoundPosition;
18
18
  }
19
+ export declare type TActiveLeafIdentifier = ActiveLeafIdentifierExpression | ActiveLeafIdentifier;
20
+ export interface IActiveLeafIdentifier<T extends Ast.GeneralizedIdentifier | Ast.Identifier | Ast.IdentifierExpression> {
21
+ readonly node: T;
22
+ readonly normalizedLiteral: string;
23
+ readonly maybeNormalizedRecursiveLiteral: string | undefined;
24
+ readonly isRecursive: boolean;
25
+ }
26
+ export interface ActiveLeafIdentifierExpression extends IActiveLeafIdentifier<Ast.IdentifierExpression> {
27
+ readonly node: Ast.IdentifierExpression;
28
+ }
29
+ export interface ActiveLeafIdentifier extends IActiveLeafIdentifier<Ast.GeneralizedIdentifier | Ast.Identifier> {
30
+ readonly node: Ast.GeneralizedIdentifier | Ast.Identifier;
31
+ readonly maybeNormalizedRecursiveLiteral: undefined;
32
+ readonly isRecursive: false;
33
+ }
19
34
  export declare const enum ActiveNodeLeafKind {
20
35
  AfterAstNode = "AfterAstNode",
21
36
  Anchored = "Anchored",
@@ -1,9 +1,8 @@
1
1
  import { NodeIdMap, TXorNode, XorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
2
2
  import { Ast } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
3
3
  import type { Position } from "vscode-languageserver-types";
4
- import { ActiveNode, ActiveNodeLeafKind, OutOfBoundPosition, TMaybeActiveNode } from "./activeNode";
4
+ import { ActiveNode, OutOfBoundPosition, TMaybeActiveNode } from "./activeNode";
5
5
  export declare function maybeActiveNode(nodeIdMapCollection: NodeIdMap.Collection, position: Position): TMaybeActiveNode;
6
- export declare function createActiveNode(leafKind: ActiveNodeLeafKind, position: Position, ancestry: ReadonlyArray<TXorNode>, maybeExclusiveIdentifierUnderPosition: Ast.Identifier | Ast.GeneralizedIdentifier | undefined, maybeInclusiveIdentifierUnderPosition: Ast.Identifier | Ast.GeneralizedIdentifier | undefined): ActiveNode;
7
6
  export declare function createOutOfBoundPosition(position: Position): OutOfBoundPosition;
8
7
  export declare function assertActiveNode(nodeIdMapCollection: NodeIdMap.Collection, position: Position): ActiveNode;
9
8
  export declare function assertGetLeaf(activeNode: ActiveNode): TXorNode;
@@ -2,9 +2,10 @@
2
2
  // Copyright (c) Microsoft Corporation.
3
3
  // Licensed under the MIT license.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.maybeFirstXorOfNodeKind = exports.isPositionInBounds = exports.assertPositionInBounds = exports.assertGetLeaf = exports.assertActiveNode = exports.createOutOfBoundPosition = exports.createActiveNode = exports.maybeActiveNode = void 0;
5
+ exports.maybeFirstXorOfNodeKind = exports.isPositionInBounds = exports.assertPositionInBounds = exports.assertGetLeaf = exports.assertActiveNode = exports.createOutOfBoundPosition = exports.maybeActiveNode = void 0;
6
6
  const PQP = require("@microsoft/powerquery-parser");
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 __1 = require("../..");
9
10
  // Searches all leaf Ast.TNodes and all Context nodes to find the "active" node.
10
11
  // ' 1 + |' -> the second operand, a Context node, in an ArithmeticExpression.
@@ -58,25 +59,22 @@ function maybeActiveNode(nodeIdMapCollection, position) {
58
59
  return createOutOfBoundPosition(position);
59
60
  }
60
61
  const leaf = maybeLeaf;
61
- const maybeInclusiveIdentifierUnderPosition = findIdentifierUnderPosition(nodeIdMapCollection, leaf);
62
+ const maybeInclusiveIdentifierUnderPosition = findLeafIdentifier(nodeIdMapCollection, leaf);
62
63
  const maybeExclusiveIdentifierUnderPosition = maybeInclusiveIdentifierUnderPosition &&
63
- __1.PositionUtils.isInAst(position, maybeInclusiveIdentifierUnderPosition, false, true)
64
+ __1.PositionUtils.isInAst(position, maybeInclusiveIdentifierUnderPosition.node, false, true)
64
65
  ? maybeInclusiveIdentifierUnderPosition
65
66
  : undefined;
66
- return createActiveNode(leafKind, position, parser_1.AncestryUtils.assertGetAncestry(nodeIdMapCollection, leaf.node.id), maybeExclusiveIdentifierUnderPosition, maybeInclusiveIdentifierUnderPosition);
67
- }
68
- exports.maybeActiveNode = maybeActiveNode;
69
- function createActiveNode(leafKind, position, ancestry, maybeExclusiveIdentifierUnderPosition, maybeInclusiveIdentifierUnderPosition) {
67
+ const ancestry = parser_1.AncestryUtils.assertGetAncestry(nodeIdMapCollection, leaf.node.id);
70
68
  return {
69
+ ancestry,
71
70
  kind: "ActiveNode" /* ActiveNode */,
72
71
  leafKind,
73
- position,
74
- ancestry,
75
72
  maybeExclusiveIdentifierUnderPosition,
76
73
  maybeInclusiveIdentifierUnderPosition,
74
+ position,
77
75
  };
78
76
  }
79
- exports.createActiveNode = createActiveNode;
77
+ exports.maybeActiveNode = maybeActiveNode;
80
78
  function createOutOfBoundPosition(position) {
81
79
  return {
82
80
  kind: "OutOfBoundPosition" /* OutOfBoundPosition */,
@@ -251,30 +249,73 @@ function maybeFindContext(nodeIdMapCollection, astNodeSearch) {
251
249
  }
252
250
  return maybeCurrent;
253
251
  }
254
- function findIdentifierUnderPosition(nodeIdMapCollection, leaf) {
255
- if (parser_1.XorNodeUtils.isContextXor(leaf)) {
252
+ function findLeafIdentifier(nodeIdMapCollection, leafXorNode) {
253
+ if (parser_1.XorNodeUtils.isContextXor(leafXorNode)) {
256
254
  return undefined;
257
255
  }
256
+ const leaf = leafXorNode.node;
258
257
  let identifier;
258
+ const maybeParentId = nodeIdMapCollection.parentIdById.get(leaf.id);
259
+ if (leaf.kind === "Identifier" /* Identifier */) {
260
+ if (maybeParentId === undefined) {
261
+ return undefined;
262
+ }
263
+ const parentId = maybeParentId;
264
+ const maybeParent = parser_1.NodeIdMapUtils.maybeUnboxIfAst(nodeIdMapCollection, parentId);
265
+ if ((maybeParent === null || maybeParent === void 0 ? void 0 : maybeParent.kind) === "IdentifierPairedExpression" /* IdentifierPairedExpression */) {
266
+ identifier = leaf;
267
+ }
268
+ else if ((maybeParent === null || maybeParent === void 0 ? void 0 : maybeParent.kind) === "IdentifierExpression" /* IdentifierExpression */) {
269
+ identifier = maybeParent;
270
+ }
271
+ else {
272
+ identifier = leaf;
273
+ }
274
+ }
259
275
  // If closestLeaf is '@', then check if it's part of an IdentifierExpression.
260
- if (leaf.node.kind === "Constant" /* Constant */ && leaf.node.constantKind === "@" /* AtSign */) {
261
- const maybeParentId = nodeIdMapCollection.parentIdById.get(leaf.node.id);
276
+ else if (leaf.kind === "Constant" /* Constant */ && leaf.constantKind === "@" /* AtSign */) {
262
277
  if (maybeParentId === undefined) {
263
278
  return undefined;
264
279
  }
265
280
  const parentId = maybeParentId;
266
- const parent = parser_1.NodeIdMapUtils.assertUnboxAst(nodeIdMapCollection.astNodeById, parentId);
267
- if (parent.kind !== "IdentifierExpression" /* IdentifierExpression */) {
281
+ const maybeParent = parser_1.NodeIdMapUtils.maybeUnboxIfAst(nodeIdMapCollection, parentId);
282
+ if ((maybeParent === null || maybeParent === void 0 ? void 0 : maybeParent.kind) === "IdentifierExpression" /* IdentifierExpression */) {
283
+ identifier = maybeParent;
284
+ }
285
+ else {
268
286
  return undefined;
269
287
  }
270
- identifier = parent.identifier;
271
288
  }
272
- else if (leaf.node.kind === "Identifier" /* Identifier */ || leaf.node.kind === "GeneralizedIdentifier" /* GeneralizedIdentifier */) {
273
- identifier = leaf.node;
289
+ else if (leaf.kind === "GeneralizedIdentifier" /* GeneralizedIdentifier */) {
290
+ identifier = leaf;
274
291
  }
275
292
  else {
276
293
  return undefined;
277
294
  }
278
- return identifier;
295
+ let result;
296
+ switch (identifier.kind) {
297
+ case "Identifier" /* Identifier */:
298
+ case "GeneralizedIdentifier" /* GeneralizedIdentifier */:
299
+ result = {
300
+ node: identifier,
301
+ isRecursive: false,
302
+ normalizedLiteral: language_1.TextUtils.normalizeIdentifier(identifier.literal),
303
+ maybeNormalizedRecursiveLiteral: undefined,
304
+ };
305
+ break;
306
+ case "IdentifierExpression" /* IdentifierExpression */: {
307
+ const normalizedLiteral = language_1.TextUtils.normalizeIdentifier(identifier.identifier.literal);
308
+ result = {
309
+ node: identifier,
310
+ isRecursive: Boolean(identifier.maybeInclusiveConstant),
311
+ normalizedLiteral,
312
+ maybeNormalizedRecursiveLiteral: `@${normalizedLiteral}`,
313
+ };
314
+ break;
315
+ }
316
+ default:
317
+ throw PQP.Assert.isNever(identifier);
318
+ }
319
+ return result;
279
320
  }
280
321
  //# sourceMappingURL=activeNodeUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"activeNodeUtils.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/activeNode/activeNodeUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"activeNodeUtils.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/activeNode/activeNodeUtils.ts"],"names":[],"mappings":"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"}
@@ -42,7 +42,7 @@ function autocompleteKeyword(nodeIdMapCollection, activeNode, maybeTrailingToken
42
42
  let maybePositionName;
43
43
  if (__1.PositionUtils.isInXor(nodeIdMapCollection, activeNode.position, ancestryLeaf, false, true)) {
44
44
  if (activeNode.maybeExclusiveIdentifierUnderPosition !== undefined) {
45
- maybePositionName = activeNode.maybeExclusiveIdentifierUnderPosition.literal;
45
+ maybePositionName = activeNode.maybeExclusiveIdentifierUnderPosition.normalizedLiteral;
46
46
  }
47
47
  // Matches 'null', 'true', and 'false'.
48
48
  else if (parser_1.XorNodeUtils.isAstXorChecked(ancestryLeaf, "LiteralExpression" /* LiteralExpression */) &&
@@ -66,7 +66,9 @@ function autocompleteKeyword(nodeIdMapCollection, activeNode, maybeTrailingToken
66
66
  if (maybeEdgeCase !== undefined) {
67
67
  return Promise.resolve(maybeEdgeCase);
68
68
  }
69
- return Promise.resolve(createAutocompleteItems(handleConjunctions(state.activeNode, yield traverseAncestors(state), maybeTrailingToken), maybePositionName));
69
+ const keywordKinds = yield traverseAncestors(state);
70
+ const keywordsSubset = handleConjunctions(state.activeNode, keywordKinds, maybeTrailingToken);
71
+ return Promise.resolve(createAutocompleteItems(keywordsSubset, maybePositionName));
70
72
  });
71
73
  }
72
74
  exports.autocompleteKeyword = autocompleteKeyword;
@@ -1 +1 @@
1
- {"version":3,"file":"autocompleteKeyword.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autocompleteKeyword.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import * as PQP from "@microsoft/powerquery-parser";
2
+ import { NodeIdMap, TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
3
+ import { ScopeById } from "./scope";
4
+ export declare function tryDeferenceIdentifier(settings: PQP.CommonSettings, nodeIdMapCollection: NodeIdMap.Collection, xorNode: TXorNode, scopeById?: ScopeById): Promise<PQP.Result<TXorNode | undefined, PQP.CommonError.CommonError>>;
@@ -0,0 +1,93 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5
+ function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6
+ return new (P || (P = Promise))(function (resolve, reject) {
7
+ function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8
+ function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9
+ function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
10
+ step((generator = generator.apply(thisArg, _arguments || [])).next());
11
+ });
12
+ };
13
+ Object.defineProperty(exports, "__esModule", { value: true });
14
+ exports.tryDeferenceIdentifier = void 0;
15
+ const powerquery_parser_1 = require("@microsoft/powerquery-parser");
16
+ const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
17
+ const scope_1 = require("./scope");
18
+ const __1 = require("../..");
19
+ // Recusrive deference of the identifier until it reaches the value node.
20
+ // Does not handle recursive identifiers.
21
+ function tryDeferenceIdentifier(settings, nodeIdMapCollection, xorNode,
22
+ // If a map is given, then it's mutated and returned.
23
+ // Else create a new Map instance and return that instead.
24
+ scopeById = new Map()) {
25
+ return __awaiter(this, void 0, void 0, function* () {
26
+ const trace = settings.traceManager.entry("Inspection.Scope" /* InspectScope */, tryDeferenceIdentifier.name, settings.maybeInitialCorrelationId, __1.TraceUtils.createXorNodeDetails(xorNode));
27
+ const updatedSettings = Object.assign(Object.assign({}, settings), { maybeInitialCorrelationId: trace.id });
28
+ parser_1.XorNodeUtils.assertIsIdentifier(xorNode);
29
+ if (parser_1.XorNodeUtils.isContextXor(xorNode)) {
30
+ trace.exit({ ["Result" /* Result */]: undefined });
31
+ return powerquery_parser_1.ResultUtils.boxOk(undefined);
32
+ }
33
+ const identifier = xorNode.node;
34
+ let identifierLiteral;
35
+ switch (identifier.kind) {
36
+ case "Identifier" /* Identifier */:
37
+ identifierLiteral = identifier.literal;
38
+ break;
39
+ case "IdentifierExpression" /* IdentifierExpression */:
40
+ identifierLiteral = identifier.identifier.literal;
41
+ break;
42
+ default:
43
+ throw powerquery_parser_1.Assert.isNever(identifier);
44
+ }
45
+ const triedNodeScope = yield (0, scope_1.assertGetOrCreateNodeScope)(updatedSettings, nodeIdMapCollection, xorNode.node.id, scopeById);
46
+ if (powerquery_parser_1.ResultUtils.isError(triedNodeScope)) {
47
+ trace.exit({ ["Result" /* Result */]: triedNodeScope.kind });
48
+ return triedNodeScope;
49
+ }
50
+ const nodeScope = triedNodeScope.value;
51
+ const maybeScopeItem = nodeScope.get(identifierLiteral);
52
+ if (
53
+ // If the identifier couldn't be found in the generated scope,
54
+ // then either the scope generation is incorrect or it's an external identifier.
55
+ maybeScopeItem === undefined) {
56
+ trace.exit({ ["Result" /* Result */]: undefined });
57
+ return powerquery_parser_1.ResultUtils.boxOk(xorNode);
58
+ }
59
+ const scopeItem = maybeScopeItem;
60
+ let maybeNextXorNode;
61
+ switch (scopeItem.kind) {
62
+ case "Each" /* Each */:
63
+ case "Parameter" /* Parameter */:
64
+ case "Undefined" /* Undefined */:
65
+ break;
66
+ case "LetVariable" /* LetVariable */:
67
+ case "RecordField" /* RecordField */:
68
+ maybeNextXorNode = scopeItem.maybeValue;
69
+ break;
70
+ case "SectionMember" /* SectionMember */:
71
+ maybeNextXorNode = scopeItem.maybeValue;
72
+ break;
73
+ default:
74
+ throw powerquery_parser_1.Assert.isNever(scopeItem);
75
+ }
76
+ let result;
77
+ if (maybeNextXorNode === undefined) {
78
+ result = Promise.resolve(powerquery_parser_1.ResultUtils.boxOk(xorNode));
79
+ }
80
+ else if (parser_1.XorNodeUtils.isContextXor(maybeNextXorNode) ||
81
+ (maybeNextXorNode.node.kind !== "Identifier" /* Identifier */ &&
82
+ maybeNextXorNode.node.kind !== "IdentifierExpression" /* IdentifierExpression */)) {
83
+ result = Promise.resolve(powerquery_parser_1.ResultUtils.boxOk(xorNode));
84
+ }
85
+ else {
86
+ result = tryDeferenceIdentifier(updatedSettings, nodeIdMapCollection, maybeNextXorNode, scopeById);
87
+ }
88
+ trace.exit();
89
+ return result;
90
+ });
91
+ }
92
+ exports.tryDeferenceIdentifier = tryDeferenceIdentifier;
93
+ //# sourceMappingURL=deferenceIdentifier.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"deferenceIdentifier.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/inspection/deferenceIdentifier.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,7 @@
1
1
  export * from "./activeNode";
2
2
  export * from "./autocomplete";
3
3
  export * from "./commonTypes";
4
+ export * from "./deferenceIdentifier";
4
5
  export * from "./externalType";
5
6
  export * from "./invokeExpression";
6
7
  export * from "./scope";
@@ -19,6 +19,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
19
19
  __exportStar(require("./activeNode"), exports);
20
20
  __exportStar(require("./autocomplete"), exports);
21
21
  __exportStar(require("./commonTypes"), exports);
22
+ __exportStar(require("./deferenceIdentifier"), exports);
22
23
  __exportStar(require("./externalType"), exports);
23
24
  __exportStar(require("./invokeExpression"), exports);
24
25
  __exportStar(require("./scope"), exports);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/inspection/index.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;;;;;AAElC,+CAA6B;AAC7B,iDAA+B;AAC/B,gDAA8B;AAC9B,iDAA+B;AAC/B,qDAAmC;AACnC,0CAAwB;AACxB,yCAAuB;AACvB,yCAAuB;AACvB,8CAA4B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/inspection/index.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;;;;;AAElC,+CAA6B;AAC7B,iDAA+B;AAC/B,gDAA8B;AAC9B,wDAAsC;AACtC,iDAA+B;AAC/B,qDAAmC;AACnC,0CAAwB;AACxB,yCAAuB;AACvB,yCAAuB;AACvB,8CAA4B"}