@microsoft/powerquery-language-services 0.3.3 → 0.3.8

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 (29) hide show
  1. package/lib/powerquery-language-services/analysis/analysis.d.ts +2 -1
  2. package/lib/powerquery-language-services/analysis/analysisBase.d.ts +2 -1
  3. package/lib/powerquery-language-services/analysis/analysisBase.js +66 -2
  4. package/lib/powerquery-language-services/analysis/analysisBase.js.map +1 -1
  5. package/lib/powerquery-language-services/inspection/activeNode/activeNode.d.ts +2 -1
  6. package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.d.ts +1 -1
  7. package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js +11 -10
  8. package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js.map +1 -1
  9. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js +2 -2
  10. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.js.map +1 -1
  11. package/lib/powerquery-language-services/inspection/autocomplete/task.js +1 -0
  12. package/lib/powerquery-language-services/inspection/autocomplete/task.js.map +1 -1
  13. package/lib/powerquery-language-services/inspection/commonTypes.d.ts +2 -0
  14. package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js +6 -0
  15. package/lib/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.js.map +1 -1
  16. package/lib/powerquery-language-services/inspection/scope/scopeInspection.js +11 -6
  17. package/lib/powerquery-language-services/inspection/scope/scopeInspection.js.map +1 -1
  18. package/lib/powerquery-language-services/inspection/scope/scopeUtils.d.ts +7 -1
  19. package/lib/powerquery-language-services/inspection/scope/scopeUtils.js +47 -3
  20. package/lib/powerquery-language-services/inspection/scope/scopeUtils.js.map +1 -1
  21. package/lib/powerquery-language-services/inspection/task.js +69 -10
  22. package/lib/powerquery-language-services/inspection/task.js.map +1 -1
  23. package/lib/powerquery-language-services/localization/templates/templates.json +5 -1
  24. package/lib/powerquery-language-services/validate/validate.js +7 -1
  25. package/lib/powerquery-language-services/validate/validate.js.map +1 -1
  26. package/lib/powerquery-language-services/validate/validateFunctionExpression.d.ts +1 -2
  27. package/lib/powerquery-language-services/validate/validateFunctionExpression.js +35 -88
  28. package/lib/powerquery-language-services/validate/validateFunctionExpression.js.map +1 -1
  29. package/package.json +3 -3
@@ -1,8 +1,9 @@
1
- import type { Hover, SignatureHelp } from "vscode-languageserver-types";
1
+ import type { Hover, SignatureHelp, TextEdit } from "vscode-languageserver-types";
2
2
  import { IDisposable } from "../commonTypes";
3
3
  import { Inspection } from "..";
4
4
  export interface Analysis extends IDisposable {
5
5
  getAutocompleteItems(): Promise<Inspection.AutocompleteItem[]>;
6
6
  getHover(): Promise<Hover>;
7
7
  getSignatureHelp(): Promise<SignatureHelp>;
8
+ getRenameEdits(newName: string): Promise<TextEdit[]>;
8
9
  }
@@ -1,4 +1,4 @@
1
- import type { Hover, Range, SignatureHelp } from "vscode-languageserver-types";
1
+ import type { Hover, Range, SignatureHelp, TextEdit } from "vscode-languageserver-types";
2
2
  import { AutocompleteItem } from "../inspection";
3
3
  import type { AutocompleteItemProvider, ISymbolProvider } from "../providers/commonTypes";
4
4
  import { Inspection } from "..";
@@ -14,6 +14,7 @@ export declare abstract class AnalysisBase implements Analysis {
14
14
  getAutocompleteItems(): Promise<AutocompleteItem[]>;
15
15
  getHover(): Promise<Hover>;
16
16
  getSignatureHelp(): Promise<SignatureHelp>;
17
+ getRenameEdits(newName: string): Promise<TextEdit[]>;
17
18
  abstract dispose(): void;
18
19
  protected abstract getText(range?: Range): string;
19
20
  private static promiseWithTimeout;
@@ -17,7 +17,9 @@ const InspectionUtils = require("../inspectionUtils");
17
17
  const inspection_1 = require("../inspection");
18
18
  const __1 = require("..");
19
19
  const commonTypes_1 = require("../commonTypes");
20
+ const scopeUtils_1 = require("../inspection/scope/scopeUtils");
20
21
  const providers_1 = require("../providers");
22
+ const __2 = require("../..");
21
23
  class AnalysisBase {
22
24
  constructor(analysisSettings, promiseMaybeInspected) {
23
25
  this.analysisSettings = analysisSettings;
@@ -65,7 +67,7 @@ class AnalysisBase {
65
67
  getHover() {
66
68
  return __awaiter(this, void 0, void 0, function* () {
67
69
  const maybeActiveNode = yield this.getMaybeActiveNode();
68
- const maybeIdentifierUnderPosition = maybeActiveNode === null || maybeActiveNode === void 0 ? void 0 : maybeActiveNode.maybeIdentifierUnderPosition;
70
+ const maybeIdentifierUnderPosition = maybeActiveNode === null || maybeActiveNode === void 0 ? void 0 : maybeActiveNode.maybeExclusiveIdentifierUnderPosition;
69
71
  if (maybeActiveNode === undefined ||
70
72
  maybeIdentifierUnderPosition === undefined ||
71
73
  !AnalysisBase.isValidHoverIdentifier(maybeActiveNode)) {
@@ -98,6 +100,68 @@ class AnalysisBase {
98
100
  return AnalysisBase.resolveProviders(AnalysisBase.createSignatureHelpCalls(context, [this.localDocumentSymbolProvider, this.librarySymbolProvider], this.analysisSettings.symbolProviderTimeoutInMS), commonTypes_1.EmptySignatureHelp);
99
101
  });
100
102
  }
103
+ getRenameEdits(newName) {
104
+ return __awaiter(this, void 0, void 0, function* () {
105
+ const maybeInspected = yield this.promiseMaybeInspected;
106
+ const activeNode = yield this.getMaybeActiveNode();
107
+ const scopeById = maybeInspected === null || maybeInspected === void 0 ? void 0 : maybeInspected.typeCache.scopeById;
108
+ const maybeIdentifierIncludedUnderPosition = activeNode === null || activeNode === void 0 ? void 0 : activeNode.maybeInclusiveIdentifierUnderPosition;
109
+ if (maybeInspected === undefined || maybeIdentifierIncludedUnderPosition === undefined) {
110
+ return [];
111
+ }
112
+ const identifiersToBeEdited = [];
113
+ if (maybeIdentifierIncludedUnderPosition.kind === "GeneralizedIdentifier" /* GeneralizedIdentifier */) {
114
+ // merely modify the GeneralizedIdentifier
115
+ identifiersToBeEdited.push(maybeIdentifierIncludedUnderPosition);
116
+ }
117
+ else if (maybeIdentifierIncludedUnderPosition.kind === "Identifier" /* Identifier */ && scopeById) {
118
+ // need to find this key value and modify all referring it
119
+ const theIdentifierNode = maybeIdentifierIncludedUnderPosition;
120
+ let valueCreator = undefined;
121
+ switch (theIdentifierNode.identifierContextKind) {
122
+ case "Key" /* Key */:
123
+ case "Parameter" /* Parameter */:
124
+ // it is the identifier creating the value
125
+ valueCreator = theIdentifierNode;
126
+ break;
127
+ case "Value" /* Value */: {
128
+ // it is the identifier referring the value
129
+ const nodeScope = maybeInspected.typeCache.scopeById.get(theIdentifierNode.id);
130
+ const scopeItem = (0, scopeUtils_1.findScopeItemByLiteral)(nodeScope, maybeIdentifierIncludedUnderPosition.literal);
131
+ if (scopeItem) {
132
+ const maybeValueCreator = (0, scopeUtils_1.findTheCreatorIdentifierOfOneScopeItem)(scopeItem);
133
+ if ((maybeValueCreator === null || maybeValueCreator === void 0 ? void 0 : maybeValueCreator.kind) === "Identifier" /* Identifier */) {
134
+ if (maybeValueCreator.identifierContextKind === "Key" /* Key */ ||
135
+ maybeValueCreator.identifierContextKind === "Parameter" /* Parameter */) {
136
+ valueCreator = maybeValueCreator;
137
+ }
138
+ else {
139
+ identifiersToBeEdited.push(maybeValueCreator);
140
+ }
141
+ }
142
+ else if (maybeValueCreator) {
143
+ identifiersToBeEdited.push(maybeValueCreator);
144
+ }
145
+ }
146
+ break;
147
+ }
148
+ case "Keyword" /* Keyword */:
149
+ default:
150
+ // only modify once
151
+ identifiersToBeEdited.push(theIdentifierNode);
152
+ break;
153
+ }
154
+ if (valueCreator) {
155
+ // need to populate the other identifiers referring it
156
+ identifiersToBeEdited.push(...(yield maybeInspected.collectAllIdentifiersBeneath(valueCreator)));
157
+ }
158
+ }
159
+ return identifiersToBeEdited.map((one) => ({
160
+ range: __2.PositionUtils.createRangeFromTokenRange(one.tokenRange),
161
+ newText: newName,
162
+ }));
163
+ });
164
+ }
101
165
  static promiseWithTimeout(valueFn, timeoutReturnValue, timeoutInMS) {
102
166
  if (timeoutInMS !== undefined) {
103
167
  // TODO: Enabling trace entry when timeout occurs
@@ -160,7 +224,7 @@ class AnalysisBase {
160
224
  getMaybePositionIdentifier() {
161
225
  return __awaiter(this, void 0, void 0, function* () {
162
226
  const maybeActiveNode = yield this.getMaybeActiveNode();
163
- return maybeActiveNode === null || maybeActiveNode === void 0 ? void 0 : maybeActiveNode.maybeIdentifierUnderPosition;
227
+ return maybeActiveNode === null || maybeActiveNode === void 0 ? void 0 : maybeActiveNode.maybeExclusiveIdentifierUnderPosition;
164
228
  });
165
229
  }
166
230
  getMaybeActiveNode() {
@@ -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,7 +10,8 @@ export interface ActiveNode extends IActiveNode {
10
10
  readonly kind: ActiveNodeKind.ActiveNode;
11
11
  readonly leafKind: ActiveNodeLeafKind;
12
12
  readonly ancestry: ReadonlyArray<TXorNode>;
13
- readonly maybeIdentifierUnderPosition: Ast.Identifier | Ast.GeneralizedIdentifier | undefined;
13
+ readonly maybeExclusiveIdentifierUnderPosition: Ast.Identifier | Ast.GeneralizedIdentifier | undefined;
14
+ readonly maybeInclusiveIdentifierUnderPosition: Ast.Identifier | Ast.GeneralizedIdentifier | undefined;
14
15
  }
15
16
  export interface OutOfBoundPosition extends IActiveNode {
16
17
  readonly kind: ActiveNodeKind.OutOfBoundPosition;
@@ -3,7 +3,7 @@ import { Ast } from "@microsoft/powerquery-parser/lib/powerquery-parser/language
3
3
  import type { Position } from "vscode-languageserver-types";
4
4
  import { ActiveNode, ActiveNodeLeafKind, 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>, maybeIdentifierUnderPosition: Ast.Identifier | Ast.GeneralizedIdentifier | undefined): ActiveNode;
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
7
  export declare function createOutOfBoundPosition(position: Position): OutOfBoundPosition;
8
8
  export declare function assertActiveNode(nodeIdMapCollection: NodeIdMap.Collection, position: Position): ActiveNode;
9
9
  export declare function assertGetLeaf(activeNode: ActiveNode): TXorNode;
@@ -58,16 +58,22 @@ function maybeActiveNode(nodeIdMapCollection, position) {
58
58
  return createOutOfBoundPosition(position);
59
59
  }
60
60
  const leaf = maybeLeaf;
61
- return createActiveNode(leafKind, position, parser_1.AncestryUtils.assertGetAncestry(nodeIdMapCollection, leaf.node.id), findIdentifierUnderPosition(nodeIdMapCollection, position, leaf));
61
+ const maybeInclusiveIdentifierUnderPosition = findIdentifierUnderPosition(nodeIdMapCollection, leaf);
62
+ const maybeExclusiveIdentifierUnderPosition = maybeInclusiveIdentifierUnderPosition &&
63
+ __1.PositionUtils.isInAst(position, maybeInclusiveIdentifierUnderPosition, false, true)
64
+ ? maybeInclusiveIdentifierUnderPosition
65
+ : undefined;
66
+ return createActiveNode(leafKind, position, parser_1.AncestryUtils.assertGetAncestry(nodeIdMapCollection, leaf.node.id), maybeExclusiveIdentifierUnderPosition, maybeInclusiveIdentifierUnderPosition);
62
67
  }
63
68
  exports.maybeActiveNode = maybeActiveNode;
64
- function createActiveNode(leafKind, position, ancestry, maybeIdentifierUnderPosition) {
69
+ function createActiveNode(leafKind, position, ancestry, maybeExclusiveIdentifierUnderPosition, maybeInclusiveIdentifierUnderPosition) {
65
70
  return {
66
71
  kind: "ActiveNode" /* ActiveNode */,
67
72
  leafKind,
68
73
  position,
69
74
  ancestry,
70
- maybeIdentifierUnderPosition,
75
+ maybeExclusiveIdentifierUnderPosition,
76
+ maybeInclusiveIdentifierUnderPosition,
71
77
  };
72
78
  }
73
79
  exports.createActiveNode = createActiveNode;
@@ -245,7 +251,7 @@ function maybeFindContext(nodeIdMapCollection, astNodeSearch) {
245
251
  }
246
252
  return maybeCurrent;
247
253
  }
248
- function findIdentifierUnderPosition(nodeIdMapCollection, position, leaf) {
254
+ function findIdentifierUnderPosition(nodeIdMapCollection, leaf) {
249
255
  if (parser_1.XorNodeUtils.isContextXor(leaf)) {
250
256
  return undefined;
251
257
  }
@@ -269,11 +275,6 @@ function findIdentifierUnderPosition(nodeIdMapCollection, position, leaf) {
269
275
  else {
270
276
  return undefined;
271
277
  }
272
- if (__1.PositionUtils.isInAst(position, identifier, false, true)) {
273
- return identifier;
274
- }
275
- else {
276
- return undefined;
277
- }
278
+ return identifier;
278
279
  }
279
280
  //# 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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"}
@@ -41,8 +41,8 @@ function autocompleteKeyword(nodeIdMapCollection, activeNode, maybeTrailingToken
41
41
  const ancestryLeaf = activeNode_1.ActiveNodeUtils.assertGetLeaf(activeNode);
42
42
  let maybePositionName;
43
43
  if (__1.PositionUtils.isInXor(nodeIdMapCollection, activeNode.position, ancestryLeaf, false, true)) {
44
- if (activeNode.maybeIdentifierUnderPosition !== undefined) {
45
- maybePositionName = activeNode.maybeIdentifierUnderPosition.literal;
44
+ if (activeNode.maybeExclusiveIdentifierUnderPosition !== undefined) {
45
+ maybePositionName = activeNode.maybeExclusiveIdentifierUnderPosition.literal;
46
46
  }
47
47
  // Matches 'null', 'true', and 'false'.
48
48
  else if (parser_1.XorNodeUtils.isAstXorChecked(ancestryLeaf, "LiteralExpression" /* LiteralExpression */) &&
@@ -1 +1 @@
1
- {"version":3,"file":"autocompleteKeyword.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,oDAAoD;AACpD,0FAA2F;AAC3F,sFAA8G;AAC9G,oEAA2D;AAE3D,iDAAqG;AACrG,0DAA8E;AAE9E,6EAA0E;AAC1E,6GAA0G;AAC1G,mHAAgH;AAChH,yFAAsF;AACtF,2FAAwF;AACxF,yFAAsF;AACtF,uFAAoF;AAEpF,gCAAyC;AAEzC,SAAgB,sBAAsB,CAClC,QAA4B,EAC5B,mBAAyC,EACzC,eAAiC,EACjC,kBAA6C;IAE7C,IAAI,CAAC,4BAAe,CAAC,kBAAkB,CAAC,eAAe,CAAC,EAAE;QACtD,OAAO,OAAO,CAAC,OAAO,CAClB,+BAAW,CAAC,KAAK,CAAC;YACd,GAAG,kBAAO,CAAC,sBAAsB,CAAC,GAAG,CAAC,CAAC,WAAgC,EAAE,EAAE,CACvE,wCAAqB,CAAC,qBAAqB,CAAC,WAAW,CAAC,CAC3D;YACD,wCAAqB,CAAC,qBAAqB,yBAA6B;SAC3E,CAAC,CACL,CAAC;KACL;IAED,OAAO,+BAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,CACvD,mBAAmB,CAAC,mBAAmB,EAAE,eAAe,EAAE,kBAAkB,CAAC,CAChF,CAAC;AACN,CAAC;AApBD,wDAoBC;AAED,SAAsB,mBAAmB,CACrC,mBAAyC,EACzC,UAAsB,EACtB,kBAA6C;;QAE7C,MAAM,YAAY,GAAa,4BAAe,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;QACzE,IAAI,iBAAqC,CAAC;QAE1C,IAAI,iBAAa,CAAC,OAAO,CAAC,mBAAmB,EAAE,UAAU,CAAC,QAAQ,EAAE,YAAY,EAAE,KAAK,EAAE,IAAI,CAAC,EAAE;YAC5F,IAAI,UAAU,CAAC,4BAA4B,KAAK,SAAS,EAAE;gBACvD,iBAAiB,GAAG,UAAU,CAAC,4BAA4B,CAAC,OAAO,CAAC;aACvE;YACD,uCAAuC;iBAClC,IACD,qBAAY,CAAC,eAAe,CAAwB,YAAY,8CAAiC;gBACjG,CAAC,YAAY,CAAC,IAAI,CAAC,WAAW,4BAA4B;oBACtD,YAAY,CAAC,IAAI,CAAC,WAAW,sBAAyB,CAAC,EAC7D;gBACE,iBAAiB,GAAG,YAAY,CAAC,IAAI,CAAC,OAAO,CAAC;aACjD;SACJ;QAED,IAAI,UAAU,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE;YAChC,OAAO,OAAO,CAAC,OAAO,CAClB,uBAAuB,CAAC,kBAAkB,CAAC,UAAU,EAAE,EAAE,EAAE,kBAAkB,CAAC,EAAE,iBAAiB,CAAC,CACrG,CAAC;SACL;QAED,MAAM,KAAK,GAAoC;YAC3C,mBAAmB;YACnB,UAAU;YACV,kBAAkB;YAClB,MAAM,EAAE,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC;YAC9B,KAAK,EAAE,4BAAe,CAAC,aAAa,CAAC,UAAU,CAAC;YAChD,aAAa,EAAE,CAAC;SACnB,CAAC;QAEF,MAAM,aAAa,GAAgD,gBAAgB,CAAC,KAAK,EAAE,kBAAkB,CAAC,CAAC;QAE/G,IAAI,aAAa,KAAK,SAAS,EAAE;YAC7B,OAAO,OAAO,CAAC,OAAO,CAAC,aAAa,CAAC,CAAC;SACzC;QAED,OAAO,OAAO,CAAC,OAAO,CAClB,uBAAuB,CACnB,kBAAkB,CAAC,KAAK,CAAC,UAAU,EAAE,MAAM,iBAAiB,CAAC,KAAK,CAAC,EAAE,kBAAkB,CAAC,EACxF,iBAAiB,CACpB,CACJ,CAAC;IACN,CAAC;CAAA;AAjDD,kDAiDC;AAED,MAAM,mBAAmB,GAAuC;;;;;;CAM/D,CAAC;AAEF,oEAAoE;AACpE,yEAAyE;AACzE,mFAAmF;AACnF,wDAAwD;AACxD,SAAe,iBAAiB,CAAC,KAAsC;;QACnE,MAAM,QAAQ,GAA4B,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;QACpE,MAAM,QAAQ,GAAW,QAAQ,CAAC,MAAM,CAAC;QAEzC,IAAI,cAA8D,CAAC;QAEnE,KAAK,IAAI,aAAa,GAAW,CAAC,EAAE,aAAa,GAAG,QAAQ,EAAE,aAAa,IAAI,CAAC,EAAE;YAC9E,KAAK,CAAC,aAAa,GAAG,aAAa,CAAC;YACpC,KAAK,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,CAAC;YACvC,KAAK,CAAC,KAAK,GAAG,QAAQ,CAAC,aAAa,GAAG,CAAC,CAAC,CAAC;YAE1C,QAAQ,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,EAAE;gBAC5B;oBACI,cAAc,GAAG,IAAA,uFAA0C,EAAC,KAAK,CAAC,CAAC;oBACnE,MAAM;gBAEV;oBACI,cAAc,GAAG,IAAA,6FAA6C,EAAC,KAAK,CAAC,CAAC;oBACtE,MAAM;gBAEV;oBACI,4CAA4C;oBAC5C,cAAc,GAAG,MAAM,IAAA,mEAAgC,EAAC,KAAK,CAAC,CAAC;oBAC/D,MAAM;gBAEV;oBACI,cAAc,GAAG,IAAA,qEAAiC,EAAC,KAAK,CAAC,CAAC;oBAC1D,MAAM;gBAEV;oBACI,4CAA4C;oBAC5C,cAAc,GAAG,MAAM,IAAA,mEAAgC,EAAC,KAAK,CAAC,CAAC;oBAC/D,MAAM;gBAEV;oBACI,cAAc,GAAG,IAAA,uDAA0B,EAAC,KAAK,CAAC,CAAC;aAC1D;YAED,IAAI,cAAc,KAAK,SAAS,EAAE;gBAC9B,OAAO,cAAc,CAAC;aACzB;SACJ;QAED,OAAO,EAAE,CAAC;IACd,CAAC;CAAA;AAED,SAAS,gBAAgB,CACrB,KAAsC,EACtC,kBAA6C;IAE7C,MAAM,UAAU,GAAe,KAAK,CAAC,UAAU,CAAC;IAChD,MAAM,QAAQ,GAA4B,UAAU,CAAC,QAAQ,CAAC;IAC9D,IAAI,cAA2D,CAAC;IAEhE,8FAA8F;IAC9F,gBAAgB;IAChB,IACI,kBAAkB,KAAK,SAAS;QAChC,QAAQ,CAAC,MAAM,KAAK,CAAC;QACrB,qBAAY,CAAC,eAAe,CAAiB,QAAQ,CAAC,CAAC,CAAC,gCAA0B;QAClF,qBAAY,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,oDAAoC,EACzE;QACE,MAAM,UAAU,GAAW,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC;QAEpD,cAAc,GAAG,kBAAO,CAAC,uBAAuB,CAAC,GAAG,CAAC,CAAC,WAAgC,EAAE,EAAE,CACtF,wCAAqB,CAAC,qBAAqB,CAAC,WAAW,EAAE,UAAU,CAAC,CACvE,CAAC;KACL;IAED,qCAAqC;SAChC,IACD,qBAAY,CAAC,eAAe,CAAiB,QAAQ,CAAC,CAAC,CAAC,gCAA0B;QAClF,qBAAY,CAAC,UAAU,CAAiB,QAAQ,CAAC,CAAC,CAAC,8BAAyB;QAC5E,iBAAa,CAAC,UAAU,CAAC,UAAU,CAAC,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,IAAI,CAAC,EACvE;QACE,cAAc,GAAG,CAAC,wCAAqB,CAAC,qBAAqB,eAAwB,CAAC,CAAC;KAC1F;IAED,wCAAwC;SACnC,IACD,CAAA,kBAAkB,aAAlB,kBAAkB,uBAAlB,kBAAkB,CAAE,IAAI,MAAK,GAAG;QAChC,qBAAY,CAAC,mBAAmB,CAAgB,QAAQ,CAAC,CAAC,CAAC,4BAAwB;QACnF,qBAAY,CAAC,UAAU,CAAqB,QAAQ,CAAC,CAAC,CAAC,sCAA6B;QACpF,qBAAY,CAAC,UAAU,CAAyB,QAAQ,CAAC,CAAC,CAAC,gDAAkC,EAC/F;QACE,cAAc,GAAG,CAAC,wCAAqB,CAAC,qBAAqB,eAAwB,CAAC,CAAC;KAC1F;IAED,OAAO,cAAc,CAAC;AAC1B,CAAC;AAED,SAAS,uBAAuB,CAC5B,YAAgD,EAChD,iBAAqC;IAErC,OAAO,YAAY,CAAC,GAAG,CAAC,CAAC,IAAyB,EAAE,EAAE,CAClD,wCAAqB,CAAC,qBAAqB,CAAC,IAAI,EAAE,iBAAiB,CAAC,CACvE,CAAC;AACN,CAAC;AAED,SAAS,kBAAkB,CACvB,UAAsB,EACtB,SAA6C,EAC7C,kBAA6C;IAE7C,IACI,UAAU,CAAC,QAAQ,sCAAoC;QACvD,UAAU,CAAC,QAAQ,gCAAmC,EACxD;QACE,OAAO,SAAS,CAAC;KACpB;IAED,+BAA+B;IAC/B,YAAY;IACZ,YAAY;IACZ,IACI,UAAU,CAAC,QAAQ,CAAC,MAAM,KAAK,CAAC;QAChC,qBAAY,CAAC,eAAe,CAAuB,UAAU,CAAC,QAAQ,CAAC,CAAC,CAAC,4CAAgC,EAC3G;QACE,IAAI,kBAAkB,KAAK,SAAS,EAAE;YAClC,OAAO,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,EAAE,yBAA6B,CAAC,CAAC;SAChF;aAAM,IACH,kBAAkB,CAAC,IAAI,kCAA4C;YACnE,iBAAa,CAAC,SAAS,CAAC,UAAU,CAAC,QAAQ,EAAE,kBAAkB,EAAE,IAAI,EAAE,IAAI,CAAC,EAC9E;YACE,OAAO,IAAA,iEAA+B,EAAC,SAAS,EAAE,kBAAkB,EAAE,yBAA6B,CAAC,CAAC;SACxG;KACJ;IAED,MAAM,cAAc,GAAa,4BAAe,CAAC,aAAa,CAAC,UAAU,CAAC,CAAC;IAE3E,iBAAiB;IACjB,IAAI,kBAAkB,KAAK,SAAS,IAAI,kBAAkB,CAAC,gBAAgB,EAAE;QACzE,OAAO,IAAA,iEAA+B,EAAC,SAAS,EAAE,kBAAkB,EAAE,SAAS,CAAC,CAAC;KACpF;IACD,cAAc;IACd,eAAe;IACf,kBAAkB;SACb,IAAI,qBAAY,CAAC,YAAY,CAAC,cAAc,CAAC,EAAE;QAChD,kBAAkB;QAClB,IACI,kBAAkB,KAAK,SAAS;YAChC,iBAAa,CAAC,oBAAoB,CAAC,UAAU,CAAC,QAAQ,EAAE,kBAAkB,CAAC,aAAa,EAAE,KAAK,CAAC,EAClG;YACE,OAAO,SAAS,CAAC;SACpB;QACD,eAAe;aACV,IAAI,qBAAY,CAAC,QAAQ,CAAC,cAAc,CAAC,EAAE;YAC5C,OAAO,GAAG,CAAC,UAAU,CAAC,YAAY,CAAC,SAAS,EAAE,mBAAmB,CAAC,CAAC;SACtE;QACD,cAAc;aACT;YACD,OAAO,SAAS,CAAC;SACpB;KACJ;SAAM;QACH,OAAO,SAAS,CAAC;KACpB;AACL,CAAC"}
1
+ {"version":3,"file":"autocompleteKeyword.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeyword.ts"],"names":[],"mappings":"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"}
@@ -18,6 +18,7 @@ const autocompleteFieldAccess_1 = require("./autocompleteFieldAccess");
18
18
  const autocompleteKeyword_1 = require("./autocompleteKeyword/autocompleteKeyword");
19
19
  const autocompleteLanguageConstant_1 = require("./autocompleteLanguageConstant");
20
20
  const autocompletePrimitiveType_1 = require("./autocompletePrimitiveType");
21
+ // Given some Position and ParseState, return autocomplete suggestions.
21
22
  function autocomplete(settings, parseState, typeCache, maybeActiveNode, maybeParseError) {
22
23
  return __awaiter(this, void 0, void 0, function* () {
23
24
  const trace = settings.traceManager.entry("Autocomplete" /* Autocomplete */, autocomplete.name);
@@ -1 +1 @@
1
- {"version":3,"file":"task.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/autocomplete/task.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,oDAAoD;AAapD,qCAA+C;AAG/C,uEAAuE;AACvE,mFAAmF;AACnF,iFAAiF;AACjF,2EAA2E;AAG3E,SAAsB,YAAY,CAC9B,QAA4B,EAC5B,UAAiC,EACjC,SAAoB,EACpB,eAAiC,EACjC,eAA6D;;QAE7D,MAAM,KAAK,GAAU,QAAQ,CAAC,YAAY,CAAC,KAAK,oCAAyC,YAAY,CAAC,IAAI,CAAC,CAAC;QAE5G,MAAM,mBAAmB,GAAyB,UAAU,CAAC,YAAY,CAAC,mBAAmB,CAAC;QAE9F,IAAI,kBAA6C,CAAC;QAElD,IAAI,eAAe,KAAK,SAAS,EAAE;YAC/B,MAAM,oBAAoB,GAAyC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CACnG,eAAe,CAAC,UAAU,CAC7B,CAAC;YAEF,IAAI,oBAAoB,KAAK,SAAS,EAAE;gBACpC,kBAAkB,GAAG,IAAA,4BAAmB,EAAC,eAAe,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;aAC5F;SACJ;QAED,MAAM,gBAAgB,GAAiC,MAAM,IAAA,oDAA0B,EACnF,QAAQ,EACR,UAAU,EACV,eAAe,EACf,SAAS,CACZ,CAAC;QAEF,MAAM,YAAY,GAA6B,MAAM,IAAA,4CAAsB,EACvE,QAAQ,EACR,mBAAmB,EACnB,eAAe,EACf,kBAAkB,CACrB,CAAC;QAEF,MAAM,qBAAqB,GAAsC,IAAA,8DAA+B,EAC5F,QAAQ,EACR,eAAe,CAClB,CAAC;QAEF,MAAM,kBAAkB,GAAmC,IAAA,wDAA4B,EACnF,QAAQ,EACR,eAAe,EACf,kBAAkB,CACrB,CAAC;QAEF,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,OAAO;YACH,gBAAgB;YAChB,YAAY;YACZ,qBAAqB;YACrB,kBAAkB;SACrB,CAAC;IACN,CAAC;CAAA;AAxDD,oCAwDC"}
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/autocomplete/task.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,oDAAoD;AAapD,qCAA+C;AAG/C,uEAAuE;AACvE,mFAAmF;AACnF,iFAAiF;AACjF,2EAA2E;AAG3E,uEAAuE;AACvE,SAAsB,YAAY,CAC9B,QAA4B,EAC5B,UAAiC,EACjC,SAAoB,EACpB,eAAiC,EACjC,eAA6D;;QAE7D,MAAM,KAAK,GAAU,QAAQ,CAAC,YAAY,CAAC,KAAK,oCAAyC,YAAY,CAAC,IAAI,CAAC,CAAC;QAE5G,MAAM,mBAAmB,GAAyB,UAAU,CAAC,YAAY,CAAC,mBAAmB,CAAC;QAE9F,IAAI,kBAA6C,CAAC;QAElD,IAAI,eAAe,KAAK,SAAS,EAAE;YAC/B,MAAM,oBAAoB,GAAyC,GAAG,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,CACnG,eAAe,CAAC,UAAU,CAC7B,CAAC;YAEF,IAAI,oBAAoB,KAAK,SAAS,EAAE;gBACpC,kBAAkB,GAAG,IAAA,4BAAmB,EAAC,eAAe,CAAC,QAAQ,EAAE,oBAAoB,CAAC,CAAC;aAC5F;SACJ;QAED,MAAM,gBAAgB,GAAiC,MAAM,IAAA,oDAA0B,EACnF,QAAQ,EACR,UAAU,EACV,eAAe,EACf,SAAS,CACZ,CAAC;QAEF,MAAM,YAAY,GAA6B,MAAM,IAAA,4CAAsB,EACvE,QAAQ,EACR,mBAAmB,EACnB,eAAe,EACf,kBAAkB,CACrB,CAAC;QAEF,MAAM,qBAAqB,GAAsC,IAAA,8DAA+B,EAC5F,QAAQ,EACR,eAAe,CAClB,CAAC;QAEF,MAAM,kBAAkB,GAAmC,IAAA,wDAA4B,EACnF,QAAQ,EACR,eAAe,EACf,kBAAkB,CACrB,CAAC;QAEF,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,OAAO;YACH,gBAAgB;YAChB,YAAY;YACZ,qBAAqB;YACrB,kBAAkB;SACrB,CAAC;IACN,CAAC;CAAA;AAxDD,oCAwDC"}
@@ -1,4 +1,5 @@
1
1
  import * as PQP from "@microsoft/powerquery-parser";
2
+ import { Ast } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
2
3
  import { Inspection } from "..";
3
4
  import { TMaybeActiveNode } from "./activeNode";
4
5
  import { TriedExpectedType } from "./expectedType";
@@ -13,4 +14,5 @@ export interface Inspected {
13
14
  readonly triedExpectedType: TriedExpectedType;
14
15
  readonly typeCache: TypeCache;
15
16
  readonly parseState: PQP.Parser.ParseState;
17
+ readonly collectAllIdentifiersBeneath: (entryNodeId: Ast.Identifier) => Promise<Ast.Identifier[]>;
16
18
  }
@@ -18,6 +18,12 @@ const powerquery_parser_1 = require("@microsoft/powerquery-parser");
18
18
  const activeNode_1 = require("../activeNode");
19
19
  const invokeExpression_1 = require("./invokeExpression");
20
20
  const typeCache_1 = require("../typeCache");
21
+ // If the cursor is in an InvokeExpression then return:
22
+ // * the number of given arguments
23
+ // * the number of expected arguments
24
+ // * the given argument nodes
25
+ // * the given argument types
26
+ // * type checking for parameter types vs given types
21
27
  function tryCurrentInvokeExpression(settings, nodeIdMapCollection, maybeActiveNode,
22
28
  // If a TypeCache is given, then potentially add to its values and include it as part of the return,
23
29
  // Else create a new TypeCache and include it in the return.
@@ -1 +1 @@
1
- {"version":3,"file":"currentInvokeExpression.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,oDAAoD;AACpD,sFAKmE;AAEnE,oEAA2D;AAE3D,8CAA8E;AAE9E,yDAAkG;AAClG,4CAAyD;AAezD,SAAsB,0BAA0B,CAC5C,QAA4B,EAC5B,mBAAyC,EACzC,eAAiC;AACjC,oGAAoG;AACpG,4DAA4D;AAC5D,YAAuB,0BAAc,CAAC,gBAAgB,EAAE;;QAExD,MAAM,KAAK,GAAU,QAAQ,CAAC,YAAY,CAAC,KAAK,0DAE5C,0BAA0B,CAAC,IAAI,CAClC,CAAC;QAEF,IAAI,CAAC,4BAAe,CAAC,kBAAkB,CAAC,eAAe,CAAC,EAAE;YACtD,OAAO,OAAO,CAAC,OAAO,CAAC,+BAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;SACxD;QAED,MAAM,MAAM,GAAiC,MAAM,+BAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,CACnG,uBAAuB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,eAAe,EAAE,SAAS,CAAC,CACrF,CAAC;QAEF,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,OAAO,MAAM,CAAC;IAClB,CAAC;CAAA;AAxBD,gEAwBC;AAED,SAAe,uBAAuB,CAClC,QAA4B,EAC5B,mBAAyC,EACzC,UAAsB,EACtB,SAAoB;;QAEpB,MAAM,QAAQ,GAA4B,UAAU,CAAC,QAAQ,CAAC;QAE9D,MAAM,qBAAqB,GAAmC,sBAAa,CAAC,+BAA+B,CACvG,QAAQ,4CAEX,CAAC;QAEF,IAAI,CAAC,qBAAqB,EAAE;YACxB,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,CAAC,uBAAuB,EAAE,aAAa,CAAC,GAAuB,qBAAqB,CAAC;QAE3F,MAAM,qBAAqB,GAA0B,MAAM,IAAA,sCAAmB,EAC1E,QAAQ,EACR,mBAAmB,EACnB,uBAAuB,CAAC,IAAI,CAAC,EAAE,EAC/B,SAAS,CACZ,CAAC;QAEF,IAAI,+BAAW,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE;YAC5C,MAAM,qBAAqB,CAAC;SAC/B;QAED,MAAM,gBAAgB,GAAqB,qBAAqB,CAAC,KAAK,CAAC;QACvE,MAAM,cAAc,GAA0C,gBAAgB,CAAC,cAAc,CAAC;QAE9F,IAAI,wBAAsE,CAAC;QAE3E,IAAI,cAAc,KAAK,SAAS,EAAE;YAC9B,wBAAwB,mCACjB,cAAc,KACjB,eAAe,EAAE,kBAAkB,CAC/B,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,uBAAuB,CAC1B,GACJ,CAAC;SACL;QAED,uCACO,gBAAgB,KACnB,cAAc,EAAE,wBAAwB,IAC1C;IACN,CAAC;CAAA;AAED,SAAS,kBAAkB,CACvB,mBAAyC,EACzC,UAAsB,EACtB,aAAqB,EACrB,uBAAiC;;IAEjC,WAAW;IACX,MAAM,iBAAiB,GAAyB,sBAAa,CAAC,0BAA0B,CACpF,UAAU,CAAC,QAAQ,EACnB,aAAa,EACb,CAAC,kBAEJ,CAAC;IAEF,IAAI,iBAAiB,KAAK,SAAS,EAAE;QACjC,OAAO,MAAA,iBAAiB,CAAC,IAAI,CAAC,mBAAmB,mCAAI,CAAC,CAAC;KAC1D;IAED,MAAM,gBAAgB,GAAyB,sBAAa,CAAC,uBAAuB,CAElF,UAAU,CAAC,QAAQ,EAAE,aAAa,EAAE;;;KAKrC,CAAC,CAAC;IAEH,IAAI,mBAA6B,CAAC;IAElC,QAAQ,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI,CAAC,IAAI,EAAE;QACjC,8BAA0B,CAAC,CAAC;YACxB,mBAAmB,GAAG,uBAAc,CAAC,wBAAwB,CACzD,mBAAmB,EACnB,uBAAuB,CAAC,IAAI,CAAC,EAAE,EAC/B,CAAC,oCAEJ,CAAC;YAEF,MAAM;SACT;QAED,sCAA8B,CAAC,CAAC;YAC5B,mBAAmB,GAAG,gBAAgB,CAAC;YACvC,MAAM;SACT;QAED,KAAK,SAAS,CAAC;QACf;YACI,MAAM,IAAI,GAAG,CAAC,WAAW,CAAC,cAAc,CAAC,wDAAwD,EAAE;gBAC/F,aAAa;gBACb,iBAAiB,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAiB,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;aACvF,CAAC,CAAC;KACV;IAED,MAAM,yBAAyB,GAAsC,mBAAmB,CAAC,YAAY,CAAC,GAAG,CACrG,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAC9B,CAAC;IAEF,OAAO,yBAAyB,KAAK,SAAS,CAAC,CAAC,CAAC,yBAAyB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9F,CAAC"}
1
+ {"version":3,"file":"currentInvokeExpression.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/invokeExpression/currentInvokeExpression.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,oDAAoD;AACpD,sFAKmE;AAEnE,oEAA2D;AAE3D,8CAA8E;AAE9E,yDAAkG;AAClG,4CAAyD;AAezD,uDAAuD;AACvD,mCAAmC;AACnC,sCAAsC;AACtC,8BAA8B;AAC9B,8BAA8B;AAC9B,sDAAsD;AACtD,SAAsB,0BAA0B,CAC5C,QAA4B,EAC5B,mBAAyC,EACzC,eAAiC;AACjC,oGAAoG;AACpG,4DAA4D;AAC5D,YAAuB,0BAAc,CAAC,gBAAgB,EAAE;;QAExD,MAAM,KAAK,GAAU,QAAQ,CAAC,YAAY,CAAC,KAAK,0DAE5C,0BAA0B,CAAC,IAAI,CAClC,CAAC;QAEF,IAAI,CAAC,4BAAe,CAAC,kBAAkB,CAAC,eAAe,CAAC,EAAE;YACtD,OAAO,OAAO,CAAC,OAAO,CAAC,+BAAW,CAAC,KAAK,CAAC,SAAS,CAAC,CAAC,CAAC;SACxD;QAED,MAAM,MAAM,GAAiC,MAAM,+BAAW,CAAC,iBAAiB,CAAC,QAAQ,CAAC,MAAM,EAAE,GAAG,EAAE,CACnG,uBAAuB,CAAC,QAAQ,EAAE,mBAAmB,EAAE,eAAe,EAAE,SAAS,CAAC,CACrF,CAAC;QAEF,KAAK,CAAC,IAAI,EAAE,CAAC;QAEb,OAAO,MAAM,CAAC;IAClB,CAAC;CAAA;AAxBD,gEAwBC;AAED,SAAe,uBAAuB,CAClC,QAA4B,EAC5B,mBAAyC,EACzC,UAAsB,EACtB,SAAoB;;QAEpB,MAAM,QAAQ,GAA4B,UAAU,CAAC,QAAQ,CAAC;QAE9D,MAAM,qBAAqB,GAAmC,sBAAa,CAAC,+BAA+B,CACvG,QAAQ,4CAEX,CAAC;QAEF,IAAI,CAAC,qBAAqB,EAAE;YACxB,OAAO,SAAS,CAAC;SACpB;QAED,MAAM,CAAC,uBAAuB,EAAE,aAAa,CAAC,GAAuB,qBAAqB,CAAC;QAE3F,MAAM,qBAAqB,GAA0B,MAAM,IAAA,sCAAmB,EAC1E,QAAQ,EACR,mBAAmB,EACnB,uBAAuB,CAAC,IAAI,CAAC,EAAE,EAC/B,SAAS,CACZ,CAAC;QAEF,IAAI,+BAAW,CAAC,OAAO,CAAC,qBAAqB,CAAC,EAAE;YAC5C,MAAM,qBAAqB,CAAC;SAC/B;QAED,MAAM,gBAAgB,GAAqB,qBAAqB,CAAC,KAAK,CAAC;QACvE,MAAM,cAAc,GAA0C,gBAAgB,CAAC,cAAc,CAAC;QAE9F,IAAI,wBAAsE,CAAC;QAE3E,IAAI,cAAc,KAAK,SAAS,EAAE;YAC9B,wBAAwB,mCACjB,cAAc,KACjB,eAAe,EAAE,kBAAkB,CAC/B,mBAAmB,EACnB,UAAU,EACV,aAAa,EACb,uBAAuB,CAC1B,GACJ,CAAC;SACL;QAED,uCACO,gBAAgB,KACnB,cAAc,EAAE,wBAAwB,IAC1C;IACN,CAAC;CAAA;AAED,SAAS,kBAAkB,CACvB,mBAAyC,EACzC,UAAsB,EACtB,aAAqB,EACrB,uBAAiC;;IAEjC,WAAW;IACX,MAAM,iBAAiB,GAAyB,sBAAa,CAAC,0BAA0B,CACpF,UAAU,CAAC,QAAQ,EACnB,aAAa,EACb,CAAC,kBAEJ,CAAC;IAEF,IAAI,iBAAiB,KAAK,SAAS,EAAE;QACjC,OAAO,MAAA,iBAAiB,CAAC,IAAI,CAAC,mBAAmB,mCAAI,CAAC,CAAC;KAC1D;IAED,MAAM,gBAAgB,GAAyB,sBAAa,CAAC,uBAAuB,CAElF,UAAU,CAAC,QAAQ,EAAE,aAAa,EAAE;;;KAKrC,CAAC,CAAC;IAEH,IAAI,mBAA6B,CAAC;IAElC,QAAQ,gBAAgB,aAAhB,gBAAgB,uBAAhB,gBAAgB,CAAE,IAAI,CAAC,IAAI,EAAE;QACjC,8BAA0B,CAAC,CAAC;YACxB,mBAAmB,GAAG,uBAAc,CAAC,wBAAwB,CACzD,mBAAmB,EACnB,uBAAuB,CAAC,IAAI,CAAC,EAAE,EAC/B,CAAC,oCAEJ,CAAC;YAEF,MAAM;SACT;QAED,sCAA8B,CAAC,CAAC;YAC5B,mBAAmB,GAAG,gBAAgB,CAAC;YACvC,MAAM;SACT;QAED,KAAK,SAAS,CAAC;QACf;YACI,MAAM,IAAI,GAAG,CAAC,WAAW,CAAC,cAAc,CAAC,wDAAwD,EAAE;gBAC/F,aAAa;gBACb,iBAAiB,EAAE,UAAU,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,OAAiB,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC;aACvF,CAAC,CAAC;KACV;IAED,MAAM,yBAAyB,GAAsC,mBAAmB,CAAC,YAAY,CAAC,GAAG,CACrG,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAC9B,CAAC;IAEF,OAAO,yBAAyB,KAAK,SAAS,CAAC,CAAC,CAAC,yBAAyB,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;AAC9F,CAAC"}
@@ -28,8 +28,14 @@ scopeById) {
28
28
  if (ancestry.length === 0) {
29
29
  return new Map();
30
30
  }
31
- const inspected = yield inspectScope(settings, nodeIdMapCollection, ancestry, scopeById);
32
- return powerquery_parser_1.Assert.asDefined(inspected.get(nodeId), `expected nodeId in scope result`, { nodeId });
31
+ const inspectedDeltaScope = yield inspectScope(settings, nodeIdMapCollection, ancestry, scopeById);
32
+ const result = powerquery_parser_1.MapUtils.assertGet(inspectedDeltaScope, nodeId, `expected nodeId in scope result`, {
33
+ nodeId,
34
+ });
35
+ for (const [key, value] of inspectedDeltaScope.entries()) {
36
+ scopeById.set(key, value);
37
+ }
38
+ return result;
33
39
  }));
34
40
  trace.exit();
35
41
  return result;
@@ -144,13 +150,12 @@ scopeById) {
144
150
  trace.exit();
145
151
  return scopeById;
146
152
  }
147
- // Store the delta between the given scope and what's found in a temporary map.
148
- // This will prevent mutation in the given map if an error is thrown.
149
- const scopeChanges = new Map();
150
153
  const state = {
151
154
  traceManager: settings.traceManager,
152
155
  givenScope: scopeById,
153
- deltaScope: scopeChanges,
156
+ // Store the delta between the given scope and what's found in a temporary map.
157
+ // This will prevent mutation in the given map if an error is thrown.
158
+ deltaScope: new Map(),
154
159
  ancestry,
155
160
  nodeIdMapCollection,
156
161
  ancestryIndex: 0,
@@ -1 +1 @@
1
- {"version":3,"file":"scopeInspection.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/scope/scopeInspection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"scopeInspection.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/scope/scopeInspection.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,7 @@
1
- import { EachScopeItem, LetVariableScopeItem, ParameterScopeItem, RecordFieldScopeItem, SectionMemberScopeItem, TScopeItem, UndefinedScopeItem } from "./scope";
1
+ import { EachExpression, FunctionExpression, LetExpression, RecordExpression, RecordLiteral, SectionMember } from "@microsoft/powerquery-parser/lib/powerquery-parser/language/ast/ast";
2
+ import { EachScopeItem, LetVariableScopeItem, NodeScope, ParameterScopeItem, RecordFieldScopeItem, SectionMemberScopeItem, TScopeItem, UndefinedScopeItem } from "./scope";
3
+ import { Ast } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
4
+ import { NodeIdMap } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
2
5
  export * from "./scope";
3
6
  export * from "./scopeInspection";
4
7
  export declare function isEach(maybeValue: TScopeItem | undefined): maybeValue is EachScopeItem;
@@ -7,3 +10,6 @@ export declare function isParameter(maybeValue: TScopeItem | undefined): maybeVa
7
10
  export declare function isRecordField(maybeValue: TScopeItem | undefined): maybeValue is RecordFieldScopeItem;
8
11
  export declare function isSectionMember(maybeValue: TScopeItem | undefined): maybeValue is SectionMemberScopeItem;
9
12
  export declare function isUndefined(maybeValue: TScopeItem | undefined): maybeValue is UndefinedScopeItem;
13
+ export declare function findScopeItemByLiteral(nodeScope: NodeScope | undefined, literalString: string): TScopeItem | undefined;
14
+ export declare function findTheCreatorIdentifierOfOneScopeItem(scopeItem: TScopeItem | undefined): Ast.Identifier | Ast.GeneralizedIdentifier | undefined;
15
+ export declare function findDirectUpperScopeExpression(nodeIdMapCollection: NodeIdMap.Collection, nodeId: number): EachExpression | FunctionExpression | LetExpression | RecordExpression | RecordLiteral | SectionMember | undefined;
@@ -1,6 +1,4 @@
1
1
  "use strict";
2
- // Copyright (c) Microsoft Corporation.
3
- // Licensed under the MIT license.
4
2
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
5
3
  if (k2 === undefined) k2 = k;
6
4
  Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
@@ -12,7 +10,10 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
12
10
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
13
11
  };
14
12
  Object.defineProperty(exports, "__esModule", { value: true });
15
- exports.isUndefined = exports.isSectionMember = exports.isRecordField = exports.isParameter = exports.isLetVariable = exports.isEach = void 0;
13
+ exports.findDirectUpperScopeExpression = exports.findTheCreatorIdentifierOfOneScopeItem = exports.findScopeItemByLiteral = exports.isUndefined = exports.isSectionMember = exports.isRecordField = exports.isParameter = exports.isLetVariable = exports.isEach = void 0;
14
+ // Copyright (c) Microsoft Corporation.
15
+ // Licensed under the MIT license.
16
+ const PQP = require("@microsoft/powerquery-parser");
16
17
  __exportStar(require("./scope"), exports);
17
18
  __exportStar(require("./scopeInspection"), exports);
18
19
  function isEach(maybeValue) {
@@ -39,4 +40,47 @@ function isUndefined(maybeValue) {
39
40
  return (maybeValue === null || maybeValue === void 0 ? void 0 : maybeValue.kind) === "Undefined" /* Undefined */;
40
41
  }
41
42
  exports.isUndefined = isUndefined;
43
+ function findScopeItemByLiteral(nodeScope, literalString) {
44
+ var _a;
45
+ return (_a = nodeScope === null || nodeScope === void 0 ? void 0 : nodeScope.get(`@${literalString}`)) !== null && _a !== void 0 ? _a : nodeScope === null || nodeScope === void 0 ? void 0 : nodeScope.get(literalString);
46
+ }
47
+ exports.findScopeItemByLiteral = findScopeItemByLiteral;
48
+ function findTheCreatorIdentifierOfOneScopeItem(scopeItem) {
49
+ if (!scopeItem) {
50
+ return undefined;
51
+ }
52
+ switch (scopeItem.kind) {
53
+ case "Each" /* Each */:
54
+ case "Undefined" /* Undefined */:
55
+ return undefined;
56
+ case "LetVariable" /* LetVariable */:
57
+ return scopeItem.key;
58
+ case "Parameter" /* Parameter */:
59
+ return scopeItem.name;
60
+ case "RecordField" /* RecordField */:
61
+ return scopeItem.key;
62
+ case "SectionMember" /* SectionMember */:
63
+ return scopeItem.key;
64
+ default:
65
+ throw PQP.Assert.isNever(scopeItem);
66
+ }
67
+ }
68
+ exports.findTheCreatorIdentifierOfOneScopeItem = findTheCreatorIdentifierOfOneScopeItem;
69
+ function findDirectUpperScopeExpression(nodeIdMapCollection, nodeId) {
70
+ const astNodeById = nodeIdMapCollection.astNodeById;
71
+ const parentIdById = nodeIdMapCollection.parentIdById;
72
+ let currentNode = astNodeById.get(nodeId);
73
+ while (currentNode &&
74
+ currentNode.kind !== "EachExpression" /* EachExpression */ &&
75
+ currentNode.kind !== "FunctionExpression" /* FunctionExpression */ &&
76
+ currentNode.kind !== "LetExpression" /* LetExpression */ &&
77
+ currentNode.kind !== "RecordExpression" /* RecordExpression */ &&
78
+ currentNode.kind !== "RecordLiteral" /* RecordLiteral */ &&
79
+ currentNode.kind !== "Section" /* Section */) {
80
+ const currentParentId = parentIdById.get(currentNode.id) || -1;
81
+ currentNode = astNodeById.get(currentParentId);
82
+ }
83
+ return currentNode;
84
+ }
85
+ exports.findDirectUpperScopeExpression = findDirectUpperScopeExpression;
42
86
  //# sourceMappingURL=scopeUtils.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"scopeUtils.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/scope/scopeUtils.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;;AAalC,0CAAwB;AACxB,oDAAkC;AAElC,SAAgB,MAAM,CAAC,UAAkC;IACrD,OAAO,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,uBAAuB,CAAC;AACnD,CAAC;AAFD,wBAEC;AAED,SAAgB,aAAa,CAAC,UAAkC;IAC5D,OAAO,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,qCAA8B,CAAC;AAC1D,CAAC;AAFD,sCAEC;AAED,SAAgB,WAAW,CAAC,UAAkC;IAC1D,OAAO,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,iCAA4B,CAAC;AACxD,CAAC;AAFD,kCAEC;AAED,SAAgB,aAAa,CAAC,UAAkC;IAC5D,OAAO,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,qCAA8B,CAAC;AAC1D,CAAC;AAFD,sCAEC;AAED,SAAgB,eAAe,CAAC,UAAkC;IAC9D,OAAO,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,yCAAgC,CAAC;AAC5D,CAAC;AAFD,0CAEC;AAED,SAAgB,WAAW,CAAC,UAAkC;IAC1D,OAAO,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,iCAA4B,CAAC;AACxD,CAAC;AAFD,kCAEC"}
1
+ {"version":3,"file":"scopeUtils.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/scope/scopeUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,uCAAuC;AACvC,kCAAkC;AAClC,oDAAoD;AA2BpD,0CAAwB;AACxB,oDAAkC;AAElC,SAAgB,MAAM,CAAC,UAAkC;IACrD,OAAO,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,uBAAuB,CAAC;AACnD,CAAC;AAFD,wBAEC;AAED,SAAgB,aAAa,CAAC,UAAkC;IAC5D,OAAO,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,qCAA8B,CAAC;AAC1D,CAAC;AAFD,sCAEC;AAED,SAAgB,WAAW,CAAC,UAAkC;IAC1D,OAAO,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,iCAA4B,CAAC;AACxD,CAAC;AAFD,kCAEC;AAED,SAAgB,aAAa,CAAC,UAAkC;IAC5D,OAAO,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,qCAA8B,CAAC;AAC1D,CAAC;AAFD,sCAEC;AAED,SAAgB,eAAe,CAAC,UAAkC;IAC9D,OAAO,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,yCAAgC,CAAC;AAC5D,CAAC;AAFD,0CAEC;AAED,SAAgB,WAAW,CAAC,UAAkC;IAC1D,OAAO,CAAA,UAAU,aAAV,UAAU,uBAAV,UAAU,CAAE,IAAI,iCAA4B,CAAC;AACxD,CAAC;AAFD,kCAEC;AAED,SAAgB,sBAAsB,CAClC,SAAgC,EAChC,aAAqB;;IAErB,OAAO,MAAA,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,CAAC,IAAI,aAAa,EAAE,CAAC,mCAAI,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,CAAC,aAAa,CAAC,CAAC;AAChF,CAAC;AALD,wDAKC;AAED,SAAgB,sCAAsC,CAClD,SAAiC;IAEjC,IAAI,CAAC,SAAS,EAAE;QACZ,OAAO,SAAS,CAAC;KACpB;IAED,QAAQ,SAAS,CAAC,IAAI,EAAE;QACpB,uBAAwB;QACxB;YACI,OAAO,SAAS,CAAC;QACrB;YACI,OAAO,SAAS,CAAC,GAAG,CAAC;QACzB;YACI,OAAO,SAAS,CAAC,IAAI,CAAC;QAC1B;YACI,OAAO,SAAS,CAAC,GAAG,CAAC;QACzB;YACI,OAAO,SAAS,CAAC,GAAG,CAAC;QACzB;YACI,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KAC3C;AACL,CAAC;AAtBD,wFAsBC;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,0CAAgC;QAChD,WAAW,CAAC,IAAI,kDAAoC;QACpD,WAAW,CAAC,IAAI,wCAA+B;QAC/C,WAAW,CAAC,IAAI,8CAAkC;QAClD,WAAW,CAAC,IAAI,wCAA+B;QAC/C,WAAW,CAAC,IAAI,4BAAyB,EAC3C;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"}
@@ -14,12 +14,80 @@ Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.tryInspect = exports.inspect = void 0;
15
15
  const PQP = require("@microsoft/powerquery-parser");
16
16
  const activeNode_1 = require("./activeNode");
17
+ const scopeUtils_1 = require("./scope/scopeUtils");
17
18
  const expectedType_1 = require("./expectedType");
18
19
  const scope_1 = require("./scope");
19
20
  const type_1 = require("./type");
20
21
  const typeCache_1 = require("./typeCache");
21
22
  const autocomplete_1 = require("./autocomplete");
22
23
  const currentInvokeExpression_1 = require("./invokeExpression/currentInvokeExpression");
24
+ class InspectionInstance {
25
+ constructor(settings, nodeIdMapCollection, maybeActiveNode, autocomplete, triedCurrentInvokeExpression, triedNodeScope, triedScopeType, triedExpectedType, typeCache, parseState) {
26
+ this.settings = settings;
27
+ this.nodeIdMapCollection = nodeIdMapCollection;
28
+ this.maybeActiveNode = maybeActiveNode;
29
+ this.autocomplete = autocomplete;
30
+ this.triedCurrentInvokeExpression = triedCurrentInvokeExpression;
31
+ this.triedNodeScope = triedNodeScope;
32
+ this.triedScopeType = triedScopeType;
33
+ this.triedExpectedType = triedExpectedType;
34
+ this.typeCache = typeCache;
35
+ this.parseState = parseState;
36
+ }
37
+ collectAllIdentifiersBeneath(valueCreator) {
38
+ return __awaiter(this, void 0, void 0, function* () {
39
+ const astNodeById = this.nodeIdMapCollection.astNodeById;
40
+ const childIdsById = this.nodeIdMapCollection.childIdsById;
41
+ const originLiteral = valueCreator.literal;
42
+ const entry = (0, scopeUtils_1.findDirectUpperScopeExpression)(this.nodeIdMapCollection, valueCreator.id);
43
+ if (entry) {
44
+ const allIdentifierIdSet = this.nodeIdMapCollection.idsByNodeKind.get("Identifier" /* Identifier */) || new Set();
45
+ const current = entry;
46
+ const idsByTiers = [];
47
+ let currentTier = (childIdsById.get(current.id) || []).slice();
48
+ while (currentTier.length) {
49
+ const toBePushed = currentTier.filter((one) => allIdentifierIdSet.has(one));
50
+ toBePushed.length && idsByTiers.push(toBePushed);
51
+ currentTier = currentTier.slice();
52
+ let nextTier = [];
53
+ while (currentTier.length) {
54
+ const oneNode = currentTier.shift() || -1;
55
+ const childrenOfTheNode = (childIdsById.get(oneNode) || []).slice();
56
+ nextTier = nextTier.concat(childrenOfTheNode);
57
+ }
58
+ currentTier = nextTier;
59
+ }
60
+ // filter literal names
61
+ const completeIdentifierNodes = idsByTiers
62
+ .reduce((previousValue, currentValue) => currentValue.concat(previousValue), [])
63
+ .map((one) => astNodeById.get(one))
64
+ .filter(Boolean);
65
+ let filteredIdentifierNodes = completeIdentifierNodes.filter((one) => one.literal === originLiteral);
66
+ // populate the scope items for each
67
+ yield Promise.all(filteredIdentifierNodes
68
+ .filter((oneIdentifier) => oneIdentifier.identifierContextKind === "Value" /* Value */)
69
+ .map((oneIdentifier) => (0, scope_1.tryNodeScope)(this.settings, this.nodeIdMapCollection, oneIdentifier.id, this.typeCache.scopeById)));
70
+ filteredIdentifierNodes = filteredIdentifierNodes.filter((oneIdentifierNode) => {
71
+ if (oneIdentifierNode.identifierContextKind === "Value" /* Value */) {
72
+ const theScope = this.typeCache.scopeById.get(oneIdentifierNode.id);
73
+ const theScopeItem = (0, scopeUtils_1.findScopeItemByLiteral)(theScope, originLiteral);
74
+ const theCreatorIdentifier = (0, scopeUtils_1.findTheCreatorIdentifierOfOneScopeItem)(theScopeItem);
75
+ return (theCreatorIdentifier &&
76
+ theCreatorIdentifier.kind === "Identifier" /* Identifier */ &&
77
+ theCreatorIdentifier.id === valueCreator.id);
78
+ }
79
+ else if (oneIdentifierNode.identifierContextKind === "Key" /* Key */ ||
80
+ oneIdentifierNode.identifierContextKind === "Parameter" /* Parameter */) {
81
+ return oneIdentifierNode.id === valueCreator.id;
82
+ }
83
+ return false;
84
+ });
85
+ return filteredIdentifierNodes;
86
+ }
87
+ return [];
88
+ });
89
+ }
90
+ }
23
91
  function inspect(settings, parseState, maybeParseError, position,
24
92
  // If a TypeCache is given, then potentially add to its values and include it as part of the return,
25
93
  // Else create a new TypeCache and include it in the return.
@@ -44,16 +112,7 @@ typeCache = typeCache_1.TypeCacheUtils.createEmptyCache()) {
44
112
  triedScopeType = Promise.resolve(PQP.ResultUtils.boxOk(new Map()));
45
113
  triedExpectedType = PQP.ResultUtils.boxOk(undefined);
46
114
  }
47
- return {
48
- maybeActiveNode,
49
- autocomplete: yield (0, autocomplete_1.autocomplete)(settings, parseState, typeCache, maybeActiveNode, maybeParseError),
50
- triedCurrentInvokeExpression,
51
- triedNodeScope,
52
- triedScopeType,
53
- triedExpectedType,
54
- typeCache,
55
- parseState,
56
- };
115
+ return new InspectionInstance(settings, nodeIdMapCollection, maybeActiveNode, yield (0, autocomplete_1.autocomplete)(settings, parseState, typeCache, maybeActiveNode, maybeParseError), triedCurrentInvokeExpression, triedNodeScope, triedScopeType, triedExpectedType, typeCache, parseState);
57
116
  });
58
117
  }
59
118
  exports.inspect = inspect;
@@ -1 +1 @@
1
- {"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/inspection/task.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"task.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/inspection/task.ts"],"names":[],"mappings":"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"}
@@ -12,5 +12,9 @@
12
12
  "error_validation_invokeExpression_typeMismatch_named": "'{funcName}' expected the argument for '{argName}' to be '{expected}', but got '{actual}' instead.",
13
13
  "_error_validation_invokeExpression_typeMismatch_named.comment": "An error when a named function call is missing a mandatory argument. Expected to be user facing.",
14
14
  "error_validation_invokeExpression_typeMismatch_unnamed": "Expected the argument for '{argName}' to be '{expected}', but got '{actual}' instead.",
15
- "_error_validation_invokeExpression_typeMismatch_unnamed.comment": "An error when an unnamed function call is missing a mandatory argument. Expected to be user facing."
15
+ "_error_validation_invokeExpression_typeMismatch_unnamed.comment": "An error when an unnamed function call is missing a mandatory argument. Expected to be user facing.",
16
+ "error_validation_unknownIdentifier_noSuggestion": "Cannot find the name '{identifier}'.",
17
+ "_error_validation_unknownIdentifier_noSuggestion.comment": "An error when an unknown variable is referenced. Expected to be user facing.",
18
+ "error_validation_unknownIdentifier_suggestion": "Cannot find the name '{identifier}', did you mean '{suggestion}'?",
19
+ "_error_validation_unknownIdentifier_suggestion.comment": "An error when an unknown variable is referenced, but a similarly named variable is in scope. Expected to be user facing."
16
20
  }
@@ -14,6 +14,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
14
14
  exports.validate = void 0;
15
15
  const PQP = require("@microsoft/powerquery-parser");
16
16
  const validateDuplicateIdentifiers_1 = require("./validateDuplicateIdentifiers");
17
+ const validateFunctionExpression_1 = require("./validateFunctionExpression");
17
18
  const validateInvokeExpression_1 = require("./validateInvokeExpression");
18
19
  const validateLexAndParse_1 = require("./validateLexAndParse");
19
20
  const workspaceCache_1 = require("../workspaceCache");
@@ -26,18 +27,23 @@ function validate(textDocument, validationSettings) {
26
27
  hasSyntaxError: false,
27
28
  };
28
29
  }
30
+ let functionExpressionDiagnostics;
29
31
  let invokeExpressionDiagnostics;
30
32
  if (validationSettings.checkInvokeExpressions &&
31
33
  (PQP.TaskUtils.isParseStageOk(maybeTriedParse) || PQP.TaskUtils.isParseStageParseError(maybeTriedParse))) {
32
- invokeExpressionDiagnostics = yield (0, validateInvokeExpression_1.validateInvokeExpression)(validationSettings, maybeTriedParse.nodeIdMapCollection, workspaceCache_1.WorkspaceCacheUtils.getTypeCache(textDocument));
34
+ const nodeIdMapCollection = maybeTriedParse.nodeIdMapCollection;
35
+ functionExpressionDiagnostics = (0, validateFunctionExpression_1.validateFunctionExpression)(validationSettings, nodeIdMapCollection);
36
+ invokeExpressionDiagnostics = yield (0, validateInvokeExpression_1.validateInvokeExpression)(validationSettings, nodeIdMapCollection, workspaceCache_1.WorkspaceCacheUtils.getTypeCache(textDocument));
33
37
  }
34
38
  else {
39
+ functionExpressionDiagnostics = [];
35
40
  invokeExpressionDiagnostics = [];
36
41
  }
37
42
  return {
38
43
  diagnostics: [
39
44
  ...(yield (0, validateDuplicateIdentifiers_1.validateDuplicateIdentifiers)(textDocument, validationSettings)),
40
45
  ...(yield (0, validateLexAndParse_1.validateLexAndParse)(textDocument, validationSettings)),
46
+ ...functionExpressionDiagnostics,
41
47
  ...invokeExpressionDiagnostics,
42
48
  ],
43
49
  hasSyntaxError: PQP.TaskUtils.isLexStageError(maybeTriedParse) || PQP.TaskUtils.isParseStageError(maybeTriedParse),
@@ -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;AAIpD,iFAA8E;AAC9E,yEAAsE;AACtE,+DAA4D;AAG5D,sDAAwD;AAExD,SAAsB,QAAQ,CAC1B,YAA0B,EAC1B,kBAAsC;;QAEtC,MAAM,eAAe,GAAwC,MAAM,oCAAmB,CAAC,uBAAuB,CAC1G,YAAY,EACZ,kBAAkB,CACrB,CAAC;QAEF,IAAI,eAAe,KAAK,SAAS,EAAE;YAC/B,OAAO;gBACH,WAAW,EAAE,EAAE;gBACf,cAAc,EAAE,KAAK;aACxB,CAAC;SACL;QAED,IAAI,2BAAyC,CAAC;QAE9C,IACI,kBAAkB,CAAC,sBAAsB;YACzC,CAAC,GAAG,CAAC,SAAS,CAAC,cAAc,CAAC,eAAe,CAAC,IAAI,GAAG,CAAC,SAAS,CAAC,sBAAsB,CAAC,eAAe,CAAC,CAAC,EAC1G;YACE,2BAA2B,GAAG,MAAM,IAAA,mDAAwB,EACxD,kBAAkB,EAClB,eAAe,CAAC,mBAAmB,EACnC,oCAAmB,CAAC,YAAY,CAAC,YAAY,CAAC,CACjD,CAAC;SACL;aAAM;YACH,2BAA2B,GAAG,EAAE,CAAC;SACpC;QAED,OAAO;YACH,WAAW,EAAE;gBACT,GAAG,CAAC,MAAM,IAAA,2DAA4B,EAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;gBACzE,GAAG,CAAC,MAAM,IAAA,yCAAmB,EAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;gBAChE,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;IACN,CAAC;CAAA;AAxCD,4BAwCC"}
1
+ {"version":3,"file":"validate.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/validate/validate.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAElC,oDAAoD;AAKpD,iFAA8E;AAC9E,6EAA0E;AAC1E,yEAAsE;AACtE,+DAA4D;AAG5D,sDAAwD;AAExD,SAAsB,QAAQ,CAC1B,YAA0B,EAC1B,kBAAsC;;QAEtC,MAAM,eAAe,GAAwC,MAAM,oCAAmB,CAAC,uBAAuB,CAC1G,YAAY,EACZ,kBAAkB,CACrB,CAAC;QAEF,IAAI,eAAe,KAAK,SAAS,EAAE;YAC/B,OAAO;gBACH,WAAW,EAAE,EAAE;gBACf,cAAc,EAAE,KAAK;aACxB,CAAC;SACL;QAED,IAAI,6BAA2C,CAAC;QAChD,IAAI,2BAAyC,CAAC;QAE9C,IACI,kBAAkB,CAAC,sBAAsB;YACzC,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,kBAAkB,EAAE,mBAAmB,CAAC,CAAC;YAEpG,2BAA2B,GAAG,MAAM,IAAA,mDAAwB,EACxD,kBAAkB,EAClB,mBAAmB,EACnB,oCAAmB,CAAC,YAAY,CAAC,YAAY,CAAC,CACjD,CAAC;SACL;aAAM;YACH,6BAA6B,GAAG,EAAE,CAAC;YACnC,2BAA2B,GAAG,EAAE,CAAC;SACpC;QAED,OAAO;YACH,WAAW,EAAE;gBACT,GAAG,CAAC,MAAM,IAAA,2DAA4B,EAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;gBACzE,GAAG,CAAC,MAAM,IAAA,yCAAmB,EAAC,YAAY,EAAE,kBAAkB,CAAC,CAAC;gBAChE,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;IACN,CAAC;CAAA;AA/CD,4BA+CC"}
@@ -1,5 +1,4 @@
1
1
  import { Diagnostic } from "vscode-languageserver-types";
2
2
  import { NodeIdMap } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
3
- import { Inspection } from "..";
4
3
  import { ValidationSettings } from "./validationSettings";
5
- export declare function validateFunctionExpression(validationSettings: ValidationSettings, nodeIdMapCollection: NodeIdMap.Collection, maybeCache?: Inspection.TypeCache): Promise<Diagnostic[]>;
4
+ export declare function validateFunctionExpression(validationSettings: ValidationSettings, nodeIdMapCollection: NodeIdMap.Collection): Diagnostic[];
@@ -1,109 +1,56 @@
1
1
  "use strict";
2
2
  // Copyright (c) Microsoft Corporation.
3
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
4
  Object.defineProperty(exports, "__esModule", { value: true });
14
5
  exports.validateFunctionExpression = void 0;
15
- const powerquery_parser_1 = require("@microsoft/powerquery-parser");
16
- const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
17
6
  const vscode_languageserver_types_1 = require("vscode-languageserver-types");
18
7
  const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
19
- const __1 = require("..");
20
8
  const localization_1 = require("../localization");
21
9
  const diagnosticErrorCode_1 = require("../diagnosticErrorCode");
22
- function validateFunctionExpression(validationSettings, nodeIdMapCollection, maybeCache) {
23
- return __awaiter(this, void 0, void 0, function* () {
24
- const maybeInvokeExpressionIds = nodeIdMapCollection.idsByNodeKind.get("FunctionExpression" /* FunctionExpression */);
25
- if (maybeInvokeExpressionIds === undefined) {
26
- return [];
27
- }
28
- const inspectionTasks = [];
29
- for (const nodeId of maybeInvokeExpressionIds) {
30
- inspectionTasks.push(__1.Inspection.tryInvokeExpression(validationSettings, nodeIdMapCollection, nodeId, maybeCache));
31
- }
32
- const inspections = yield Promise.all(inspectionTasks);
33
- const invokeExpressionTasks = [];
34
- for (const inspection of inspections) {
35
- if (powerquery_parser_1.ResultUtils.isError(inspection)) {
36
- throw inspection;
37
- }
38
- invokeExpressionTasks.push(invokeExpressionToDiagnostics(validationSettings, nodeIdMapCollection, inspection.value));
39
- }
40
- return (yield Promise.all(invokeExpressionTasks)).flat();
41
- });
10
+ const __1 = require("..");
11
+ // Check for repeat parameter names for FunctionExpressions.
12
+ function validateFunctionExpression(validationSettings, nodeIdMapCollection) {
13
+ var _a;
14
+ const maybeFnExpressionIds = nodeIdMapCollection.idsByNodeKind.get("FunctionExpression" /* FunctionExpression */);
15
+ if (maybeFnExpressionIds === undefined) {
16
+ return [];
17
+ }
18
+ const diagnostics = [];
19
+ for (const nodeId of maybeFnExpressionIds) {
20
+ diagnostics.push(validateNoDuplicateParameter(validationSettings, nodeIdMapCollection, nodeId));
21
+ (_a = validationSettings.maybeCancellationToken) === null || _a === void 0 ? void 0 : _a.throwIfCancelled();
22
+ }
23
+ return diagnostics.flat();
42
24
  }
43
25
  exports.validateFunctionExpression = validateFunctionExpression;
44
- function invokeExpressionToDiagnostics(validationSettings, nodeIdMapCollection, inspected) {
45
- return __awaiter(this, void 0, void 0, function* () {
46
- const result = [];
47
- if (inspected.maybeArguments !== undefined) {
48
- const invokeExpressionArguments = inspected.maybeArguments;
49
- const givenArguments = inspected.maybeArguments.givenArguments;
50
- const invokeExpressionRange = powerquery_parser_1.Assert.asDefined(yield __1.PositionUtils.createRangeFromXorNode(nodeIdMapCollection, inspected.invokeExpressionXorNode), "expected at least one leaf node under InvokeExpression");
51
- const maybeFunctionName = parser_1.NodeIdMapUtils.maybeInvokeExpressionIdentifierLiteral(nodeIdMapCollection, inspected.invokeExpressionXorNode.node.id);
52
- let result = [];
53
- result = result.concat(yield powerquery_parser_1.ArrayUtils.mapAsync([...invokeExpressionArguments.typeChecked.invalid.entries()], ([argIndex, mismatch]) => __awaiter(this, void 0, void 0, function* () {
54
- const maybeGivenArgumentRange = yield __1.PositionUtils.createRangeFromXorNode(nodeIdMapCollection, givenArguments[argIndex]);
55
- return createDiagnosticForArgumentMismatch(validationSettings, mismatch, maybeFunctionName, invokeExpressionRange, maybeGivenArgumentRange);
56
- })));
57
- const numGivenArguments = invokeExpressionArguments.givenArguments.length;
58
- if (numGivenArguments < invokeExpressionArguments.numMinExpectedArguments ||
59
- numGivenArguments > invokeExpressionArguments.numMaxExpectedArguments) {
60
- result.push(createDiagnosticForArgumentNumberMismatch(validationSettings, invokeExpressionRange, invokeExpressionArguments.numMinExpectedArguments, invokeExpressionArguments.numMaxExpectedArguments, numGivenArguments));
61
- }
26
+ function validateNoDuplicateParameter(validationSettings, nodeIdMapCollection, fnExpressionId) {
27
+ var _a;
28
+ const fnExpression = parser_1.NodeIdMapUtils.assertGetXorChecked(nodeIdMapCollection, fnExpressionId, "FunctionExpression" /* FunctionExpression */);
29
+ const parameterNames = new Map();
30
+ for (const parameter of parser_1.NodeIdMapIterator.iterFunctionExpressionParameterNames(nodeIdMapCollection, fnExpression)) {
31
+ const existingNames = (_a = parameterNames.get(parameter.literal)) !== null && _a !== void 0 ? _a : [];
32
+ existingNames.push(parameter);
33
+ parameterNames.set(parameter.literal, existingNames);
34
+ }
35
+ const diagnostics = [];
36
+ for (const [identifierLiteral, nodes] of parameterNames) {
37
+ if (nodes.length > 1) {
38
+ diagnostics.push(...nodes.map((identifier) => {
39
+ const parameterRange = __1.PositionUtils.createRangeFromTokenRange(identifier.tokenRange);
40
+ return createDiagnosticForDuplicateParameterName(validationSettings, parameterRange, identifierLiteral);
41
+ }));
62
42
  }
63
- return result;
64
- });
43
+ }
44
+ return diagnostics;
65
45
  }
66
- function createDiagnosticForArgumentNumberMismatch(validationSettings, invokeExpressionRange, numMin, numMax, numGiven) {
46
+ function createDiagnosticForDuplicateParameterName(validationSettings, invokeExpressionRange, parameterName) {
67
47
  const templates = localization_1.LocalizationUtils.getLocalizationTemplates(validationSettings.locale);
68
48
  return {
69
- code: diagnosticErrorCode_1.DiagnosticErrorCode.InvokeArgumentCountMismatch,
70
- message: localization_1.Localization.error_validation_invokeExpression_numArgs(templates, numMin, numMax, numGiven),
49
+ code: diagnosticErrorCode_1.DiagnosticErrorCode.DuplicateIdentifier,
50
+ message: localization_1.Localization.error_validation_duplicate_identifier(templates, parameterName),
71
51
  range: invokeExpressionRange,
72
52
  severity: vscode_languageserver_types_1.DiagnosticSeverity.Error,
73
53
  source: validationSettings.source,
74
54
  };
75
55
  }
76
- function createDiagnosticForArgumentMismatch(validationSettings, mismatch, maybeFunctionName, invokeExpressionRange, maybeGivenArgumentRange) {
77
- var _a;
78
- let range;
79
- let message;
80
- const parameter = mismatch.expected;
81
- const argName = parameter.nameLiteral;
82
- const expected = language_1.TypeUtils.nameOfTypeKind((_a = parameter.maybeType) !== null && _a !== void 0 ? _a : language_1.Type.AnyInstance.kind);
83
- // An argument containing at least one leaf node was given.
84
- if (maybeGivenArgumentRange) {
85
- const actual = language_1.TypeUtils.nameOfTypeKind(powerquery_parser_1.Assert.asDefined(mismatch.actual).kind);
86
- range = maybeGivenArgumentRange;
87
- message = createTypeMismatchMessage(validationSettings.locale, maybeFunctionName, argName, expected, actual);
88
- }
89
- else {
90
- range = invokeExpressionRange;
91
- message = createMissingMandatoryMessage(validationSettings.locale, maybeFunctionName, argName);
92
- }
93
- return {
94
- code: diagnosticErrorCode_1.DiagnosticErrorCode.InvokeArgumentTypeMismatch,
95
- message,
96
- range,
97
- severity: vscode_languageserver_types_1.DiagnosticSeverity.Error,
98
- source: validationSettings.source,
99
- };
100
- }
101
- function createMissingMandatoryMessage(locale, maybeFunctionName, argName) {
102
- const templates = localization_1.LocalizationUtils.getLocalizationTemplates(locale);
103
- return localization_1.Localization.error_validation_invokeExpression_missingMandatory(templates, maybeFunctionName, argName);
104
- }
105
- function createTypeMismatchMessage(locale, maybeFunctionName, argName, expected, actual) {
106
- const templates = localization_1.LocalizationUtils.getLocalizationTemplates(locale);
107
- return localization_1.Localization.error_validation_invokeExpression_typeMismatch(templates, maybeFunctionName, argName, expected, actual);
108
- }
109
56
  //# sourceMappingURL=validateFunctionExpression.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"validateFunctionExpression.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/validate/validateFunctionExpression.ts"],"names":[],"mappings":"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"}
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;AAInE,kDAAkE;AAClE,gEAA6D;AAE7D,0BAAmC;AAGnC,4DAA4D;AAC5D,SAAgB,0BAA0B,CACtC,kBAAsC,EACtC,mBAAyC;;IAEzC,MAAM,oBAAoB,GAA4B,mBAAmB,CAAC,aAAa,CAAC,GAAG,+CAE1F,CAAC;IAEF,IAAI,oBAAoB,KAAK,SAAS,EAAE;QACpC,OAAO,EAAE,CAAC;KACb;IAED,MAAM,WAAW,GAAmB,EAAE,CAAC;IAEvC,KAAK,MAAM,MAAM,IAAI,oBAAoB,EAAE;QACvC,WAAW,CAAC,IAAI,CAAC,4BAA4B,CAAC,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC;QAChG,MAAA,kBAAkB,CAAC,sBAAsB,0CAAE,gBAAgB,EAAE,CAAC;KACjE;IAED,OAAO,WAAW,CAAC,IAAI,EAAE,CAAC;AAC9B,CAAC;AApBD,gEAoBC;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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microsoft/powerquery-language-services",
3
- "version": "0.3.3",
3
+ "version": "0.3.8",
4
4
  "author": "Microsoft",
5
5
  "license": "MIT",
6
6
  "scripts": {
@@ -46,8 +46,8 @@
46
46
  "typescript": "4.5.4"
47
47
  },
48
48
  "dependencies": {
49
- "@microsoft/powerquery-formatter": "0.0.46",
50
- "@microsoft/powerquery-parser": "0.6.4",
49
+ "@microsoft/powerquery-formatter": "0.0.49",
50
+ "@microsoft/powerquery-parser": "0.6.8",
51
51
  "vscode-languageserver-textdocument": "1.0.3",
52
52
  "vscode-languageserver-types": "3.16.0"
53
53
  },