@microsoft/powerquery-language-services 0.11.10 → 0.14.1

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 (88) hide show
  1. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.d.ts +1 -0
  2. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js +25 -0
  3. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js.map +1 -1
  4. package/lib/powerquery-language-services/inspection/scope/scope.d.ts +37 -1
  5. package/lib/powerquery-language-services/inspection/scope/scope.js +100 -1
  6. package/lib/powerquery-language-services/inspection/scope/scope.js.map +1 -1
  7. package/lib/powerquery-language-services/inspection/scope/scopeInspection.js +3 -3
  8. package/lib/powerquery-language-services/inspection/scope/scopeInspection.js.map +1 -1
  9. package/lib/powerquery-language-services/inspection/task.d.ts +1 -1
  10. package/lib/powerquery-language-services/inspection/task.js +2 -2
  11. package/lib/powerquery-language-services/inspection/task.js.map +1 -1
  12. package/lib/powerquery-language-services/inspection/type/inspectType/common.js +4 -3
  13. package/lib/powerquery-language-services/inspection/type/inspectType/common.js.map +1 -1
  14. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeItemAccessExpression.d.ts +4 -0
  15. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeItemAccessExpression.js +94 -0
  16. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeItemAccessExpression.js.map +1 -0
  17. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js +2 -1
  18. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js.map +1 -1
  19. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js +1 -7
  20. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js.map +1 -1
  21. package/lib/powerquery-language-services/inspection/type/task.js +7 -9
  22. package/lib/powerquery-language-services/inspection/type/task.js.map +1 -1
  23. package/lib/powerquery-language-services/inspectionUtils.d.ts +1 -1
  24. package/lib/powerquery-language-services/inspectionUtils.js +10 -4
  25. package/lib/powerquery-language-services/inspectionUtils.js.map +1 -1
  26. package/lib/powerquery-language-services/library/libraryDefinitionUtils.js +4 -1
  27. package/lib/powerquery-language-services/library/libraryDefinitionUtils.js.map +1 -1
  28. package/lib/powerquery-language-services/library/librarySymbolUtils.d.ts +4 -3
  29. package/lib/powerquery-language-services/library/librarySymbolUtils.js +34 -8
  30. package/lib/powerquery-language-services/library/librarySymbolUtils.js.map +1 -1
  31. package/lib/powerquery-language-services/library/libraryUtils.js +4 -1
  32. package/lib/powerquery-language-services/library/libraryUtils.js.map +1 -1
  33. package/lib/powerquery-language-services/localization/localization.d.ts +4 -0
  34. package/lib/powerquery-language-services/localization/localization.js +4 -0
  35. package/lib/powerquery-language-services/localization/localization.js.map +1 -1
  36. package/lib/powerquery-language-services/localization/templates/templates.bg-BG.json +5 -1
  37. package/lib/powerquery-language-services/localization/templates/templates.ca-ES.json +5 -1
  38. package/lib/powerquery-language-services/localization/templates/templates.cs-CZ.json +5 -1
  39. package/lib/powerquery-language-services/localization/templates/templates.da-DK.json +5 -1
  40. package/lib/powerquery-language-services/localization/templates/templates.de-DE.json +5 -1
  41. package/lib/powerquery-language-services/localization/templates/templates.el-GR.json +5 -1
  42. package/lib/powerquery-language-services/localization/templates/templates.es-ES.json +5 -1
  43. package/lib/powerquery-language-services/localization/templates/templates.et-EE.json +5 -1
  44. package/lib/powerquery-language-services/localization/templates/templates.eu-ES.json +5 -1
  45. package/lib/powerquery-language-services/localization/templates/templates.fi-FI.json +5 -1
  46. package/lib/powerquery-language-services/localization/templates/templates.fr-FR.json +5 -1
  47. package/lib/powerquery-language-services/localization/templates/templates.gl-ES.json +5 -1
  48. package/lib/powerquery-language-services/localization/templates/templates.hi-IN.json +5 -1
  49. package/lib/powerquery-language-services/localization/templates/templates.hr-HR.json +5 -1
  50. package/lib/powerquery-language-services/localization/templates/templates.hu-HU.json +5 -1
  51. package/lib/powerquery-language-services/localization/templates/templates.id-ID.json +5 -1
  52. package/lib/powerquery-language-services/localization/templates/templates.it-IT.json +5 -1
  53. package/lib/powerquery-language-services/localization/templates/templates.ja-JP.json +5 -1
  54. package/lib/powerquery-language-services/localization/templates/templates.json +9 -1
  55. package/lib/powerquery-language-services/localization/templates/templates.kk-KZ.json +5 -1
  56. package/lib/powerquery-language-services/localization/templates/templates.ko-KR.json +5 -1
  57. package/lib/powerquery-language-services/localization/templates/templates.lt-LT.json +5 -1
  58. package/lib/powerquery-language-services/localization/templates/templates.lv-LV.json +5 -1
  59. package/lib/powerquery-language-services/localization/templates/templates.ms-MY.json +5 -1
  60. package/lib/powerquery-language-services/localization/templates/templates.nb-NO.json +5 -1
  61. package/lib/powerquery-language-services/localization/templates/templates.nl-NL.json +5 -1
  62. package/lib/powerquery-language-services/localization/templates/templates.pl-PL.json +5 -1
  63. package/lib/powerquery-language-services/localization/templates/templates.pt-BR.json +5 -1
  64. package/lib/powerquery-language-services/localization/templates/templates.pt-PT.json +5 -1
  65. package/lib/powerquery-language-services/localization/templates/templates.ro-RO.json +5 -1
  66. package/lib/powerquery-language-services/localization/templates/templates.ru-RU.json +5 -1
  67. package/lib/powerquery-language-services/localization/templates/templates.sk-SK.json +5 -1
  68. package/lib/powerquery-language-services/localization/templates/templates.sl-SI.json +5 -1
  69. package/lib/powerquery-language-services/localization/templates/templates.sr-Cyrl-RS.json +5 -1
  70. package/lib/powerquery-language-services/localization/templates/templates.sr-Latn-RS.json +5 -1
  71. package/lib/powerquery-language-services/localization/templates/templates.sv-SE.json +5 -1
  72. package/lib/powerquery-language-services/localization/templates/templates.th-TH.json +5 -1
  73. package/lib/powerquery-language-services/localization/templates/templates.tr-TR.json +5 -1
  74. package/lib/powerquery-language-services/localization/templates/templates.uk-UA.json +5 -1
  75. package/lib/powerquery-language-services/localization/templates/templates.vi-VN.json +5 -1
  76. package/lib/powerquery-language-services/localization/templates/templates.zh-CN.json +5 -1
  77. package/lib/powerquery-language-services/localization/templates/templates.zh-TW.json +5 -1
  78. package/lib/powerquery-language-services/localization/templates.d.ts +4 -0
  79. package/lib/powerquery-language-services/localization/templates.js.map +1 -1
  80. package/lib/powerquery-language-services/providers/languageCompletionItemProvider.d.ts +2 -0
  81. package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js +16 -1
  82. package/lib/powerquery-language-services/providers/languageCompletionItemProvider.js.map +1 -1
  83. package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.d.ts +1 -1
  84. package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.js +4 -5
  85. package/lib/powerquery-language-services/providers/localDocumentProvider/localDocumentProvider.js.map +1 -1
  86. package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.js +11 -4
  87. package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.js.map +1 -1
  88. package/package.json +2 -2
@@ -5,4 +5,5 @@ import { Library } from "../../../library";
5
5
  export declare function fromKeywordKind(label: Keyword.KeywordKind, other?: string): AutocompleteItem;
6
6
  export declare function fromLibraryDefinition(label: string, libraryDefinition: Library.TLibraryDefinition, other?: string): Inspection.AutocompleteItem;
7
7
  export declare function fromScopeItem(label: string, scopeItem: Inspection.TScopeItem, powerQueryType: Type.TPowerQueryType, context: AutocompleteItemProviderContext): AutocompleteItem | undefined;
8
+ export declare function createSnippetItems(): ReadonlyArray<AutocompleteItem>;
8
9
  export declare function comparer(left: AutocompleteItem, right: AutocompleteItem): number;
@@ -5,6 +5,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
5
5
  exports.fromKeywordKind = fromKeywordKind;
6
6
  exports.fromLibraryDefinition = fromLibraryDefinition;
7
7
  exports.fromScopeItem = fromScopeItem;
8
+ exports.createSnippetItems = createSnippetItems;
8
9
  exports.comparer = comparer;
9
10
  const vscode_languageserver_types_1 = require("vscode-languageserver-types");
10
11
  const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
@@ -12,21 +13,26 @@ const powerquery_parser_1 = require("@microsoft/powerquery-parser");
12
13
  const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
13
14
  const __1 = require("../../..");
14
15
  const jaroWinkler_1 = require("../../../jaroWinkler");
16
+ const library_1 = require("../../../library");
15
17
  function fromKeywordKind(label, other) {
16
18
  const jaroWinklerScore = other !== undefined ? (0, jaroWinkler_1.calculateJaroWinkler)(label, other) : 1;
17
19
  return {
18
20
  jaroWinklerScore,
19
21
  kind: vscode_languageserver_types_1.CompletionItemKind.Keyword,
20
22
  label,
23
+ commitCharacters: [" "],
21
24
  powerQueryType: language_1.Type.NotApplicableInstance,
22
25
  };
23
26
  }
24
27
  function fromLibraryDefinition(label, libraryDefinition, other) {
25
28
  const jaroWinklerScore = other !== undefined ? (0, jaroWinkler_1.calculateJaroWinkler)(label, other) : 1;
29
+ const isFunction = libraryDefinition.kind === library_1.Library.LibraryDefinitionKind.Function;
26
30
  return {
27
31
  jaroWinklerScore,
28
32
  kind: libraryDefinition.completionItemKind,
29
33
  label,
34
+ documentation: { kind: vscode_languageserver_types_1.MarkupKind.PlainText, value: libraryDefinition.description },
35
+ commitCharacters: isFunction ? ["("] : undefined,
30
36
  powerQueryType: libraryDefinition.asPowerQueryType,
31
37
  };
32
38
  }
@@ -57,10 +63,29 @@ function fromScopeItem(label, scopeItem, powerQueryType, context) {
57
63
  jaroWinklerScore: context?.text ? (0, jaroWinkler_1.calculateJaroWinkler)(label, context.text) : 1,
58
64
  kind: vscode_languageserver_types_1.CompletionItemKind.Variable,
59
65
  label,
66
+ commitCharacters: [".", "["],
60
67
  powerQueryType,
61
68
  textEdit: context.range ? vscode_languageserver_types_1.TextEdit.replace(context.range, label) : undefined,
62
69
  };
63
70
  }
71
+ function createSnippetItems() {
72
+ return [
73
+ createSnippetItem("let...in", "let\n\t${1:name} = ${2:value}\nin\n\t${0:result}"),
74
+ createSnippetItem("if...then...else", "if ${1:condition} then ${2:trueValue} else ${3:falseValue}"),
75
+ createSnippetItem("try...otherwise", "try ${1:expression} otherwise ${2:default}"),
76
+ createSnippetItem("each", "each ${0:expression}"),
77
+ ];
78
+ }
79
+ function createSnippetItem(label, insertText) {
80
+ return {
81
+ jaroWinklerScore: 1,
82
+ kind: vscode_languageserver_types_1.CompletionItemKind.Snippet,
83
+ label,
84
+ insertText,
85
+ insertTextFormat: vscode_languageserver_types_1.InsertTextFormat.Snippet,
86
+ powerQueryType: language_1.Type.NotApplicableInstance,
87
+ };
88
+ }
64
89
  function comparer(left, right) {
65
90
  const jaroWinklerScoreDiff = right.jaroWinklerScore - left.jaroWinklerScore;
66
91
  if (jaroWinklerScoreDiff !== 0) {
@@ -1 +1 @@
1
- {"version":3,"file":"autocompleteItemUtils.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"autocompleteItemUtils.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.ts"],"names":[],"mappings":"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"}
@@ -1,7 +1,42 @@
1
1
  import * as PQP from "@microsoft/powerquery-parser";
2
2
  import { Ast, Constant, Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
3
3
  import { TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
4
- export type ScopeTypeByKey = Map<string, Type.TPowerQueryType>;
4
+ type ScopeItemTypeResolver = (scopeItem: TScopeItem) => Promise<Type.TPowerQueryType>;
5
+ /**
6
+ * Maps scope identifier keys to their resolved Power Query types.
7
+ *
8
+ * Types are resolved on-demand via the async `resolveType(key)` method.
9
+ * Call `resolveAll()` to eagerly resolve all types and get a ReadonlyMap.
10
+ */
11
+ export declare class ScopeTypeByKey {
12
+ static empty(): ScopeTypeByKey;
13
+ private readonly resolved;
14
+ private readonly nodeScope;
15
+ private readonly resolver;
16
+ constructor(nodeScope: NodeScope, resolver: ScopeItemTypeResolver);
17
+ /** Returns true if the key exists in the scope (regardless of whether the type has been resolved). */
18
+ has(key: string): boolean;
19
+ /** Returns the scope keys (all identifiers in scope, not just resolved). */
20
+ keys(): IterableIterator<string>;
21
+ /** Returns the total number of scope items (not just resolved ones). */
22
+ get size(): number;
23
+ /** Returns the number of scope items whose types have been resolved so far. */
24
+ get resolvedSize(): number;
25
+ /**
26
+ * Asynchronously resolves the type for a specific key. Returns undefined if key not in scope.
27
+ * Note: If the resolver throws, the error propagates to the caller uncaught.
28
+ * The failed key is not cached, so a subsequent call will retry resolution.
29
+ */
30
+ resolveType(key: string): Promise<Type.TPowerQueryType | undefined>;
31
+ /** Resolves all scope item types. Returns a fully-populated read-only map. */
32
+ resolveAll(): Promise<ReadonlyMap<string, Type.TPowerQueryType>>;
33
+ /** Resolves all types, then returns an iterator of [key, type] pairs. */
34
+ entries(): Promise<IterableIterator<[string, Type.TPowerQueryType]>>;
35
+ /** Resolves all types, then returns an iterator of types. */
36
+ values(): Promise<IterableIterator<Type.TPowerQueryType>>;
37
+ /** Resolves all types, then calls the callback for each entry. */
38
+ forEach(callbackfn: (value: Type.TPowerQueryType, key: string) => void): Promise<void>;
39
+ }
5
40
  export type TriedNodeScope = PQP.Result<NodeScope, PQP.CommonError.CommonError>;
6
41
  export type ScopeById = Map<number, NodeScope>;
7
42
  export interface NodeScope {
@@ -47,3 +82,4 @@ export interface UndefinedScopeItem extends IScopeItem {
47
82
  readonly kind: ScopeItemKind.Undefined;
48
83
  readonly xorNode: TXorNode;
49
84
  }
85
+ export {};
@@ -2,7 +2,106 @@
2
2
  // Copyright (c) Microsoft Corporation.
3
3
  // Licensed under the MIT license.
4
4
  Object.defineProperty(exports, "__esModule", { value: true });
5
- exports.ScopeItemKind = void 0;
5
+ exports.ScopeItemKind = exports.ScopeTypeByKey = void 0;
6
+ const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
7
+ /**
8
+ * Maps scope identifier keys to their resolved Power Query types.
9
+ *
10
+ * Types are resolved on-demand via the async `resolveType(key)` method.
11
+ * Call `resolveAll()` to eagerly resolve all types and get a ReadonlyMap.
12
+ */
13
+ class ScopeTypeByKey {
14
+ static empty() {
15
+ return new ScopeTypeByKey({
16
+ createdForNodeId: undefined,
17
+ scopeItemByKey: new Map(),
18
+ }, (_scopeItem) => Promise.resolve(language_1.Type.AnyInstance));
19
+ }
20
+ resolved = new Map();
21
+ nodeScope;
22
+ resolver;
23
+ constructor(nodeScope, resolver) {
24
+ this.nodeScope = nodeScope;
25
+ this.resolver = resolver;
26
+ }
27
+ /** Returns true if the key exists in the scope (regardless of whether the type has been resolved). */
28
+ has(key) {
29
+ return this.nodeScope.scopeItemByKey.has(key);
30
+ }
31
+ /** Returns the scope keys (all identifiers in scope, not just resolved). */
32
+ keys() {
33
+ return this.nodeScope.scopeItemByKey.keys();
34
+ }
35
+ /** Returns the total number of scope items (not just resolved ones). */
36
+ get size() {
37
+ return this.nodeScope.scopeItemByKey.size;
38
+ }
39
+ /** Returns the number of scope items whose types have been resolved so far. */
40
+ get resolvedSize() {
41
+ return this.resolved.size;
42
+ }
43
+ /**
44
+ * Asynchronously resolves the type for a specific key. Returns undefined if key not in scope.
45
+ * Note: If the resolver throws, the error propagates to the caller uncaught.
46
+ * The failed key is not cached, so a subsequent call will retry resolution.
47
+ */
48
+ async resolveType(key) {
49
+ const cached = this.resolved.get(key);
50
+ if (cached !== undefined) {
51
+ return cached;
52
+ }
53
+ const scopeItem = this.nodeScope.scopeItemByKey.get(key);
54
+ if (scopeItem === undefined) {
55
+ return undefined;
56
+ }
57
+ const type = await this.resolver(scopeItem);
58
+ this.resolved.set(key, type);
59
+ return type;
60
+ }
61
+ /** Resolves all scope item types. Returns a fully-populated read-only map. */
62
+ async resolveAll() {
63
+ // Group unresolved keys by nodeId to avoid concurrent resolution of the same node.
64
+ // Multiple scope keys can map to the same nodeId (e.g., "foo" and '#"foo"').
65
+ // Resolving them concurrently triggers false cycle detection in getOrCreateScopeItemType,
66
+ // which uses a shared computingNodeIds set to break infinite recursion.
67
+ const keysByNodeId = new Map();
68
+ const firstScopeItemByNodeId = new Map();
69
+ for (const [key, scopeItem] of this.nodeScope.scopeItemByKey.entries()) {
70
+ if (!this.resolved.has(key)) {
71
+ const existing = keysByNodeId.get(scopeItem.nodeId);
72
+ if (existing) {
73
+ existing.push(key);
74
+ }
75
+ else {
76
+ keysByNodeId.set(scopeItem.nodeId, [key]);
77
+ firstScopeItemByNodeId.set(scopeItem.nodeId, scopeItem);
78
+ }
79
+ }
80
+ }
81
+ // Resolve each unique nodeId once, then share the result across all keys for that nodeId.
82
+ const nodeIds = [...keysByNodeId.keys()];
83
+ const resolvedTypes = await Promise.all(nodeIds.map((nodeId) => this.resolver(firstScopeItemByNodeId.get(nodeId))));
84
+ for (let index = 0; index < nodeIds.length; index += 1) {
85
+ for (const key of keysByNodeId.get(nodeIds[index])) {
86
+ this.resolved.set(key, resolvedTypes[index]);
87
+ }
88
+ }
89
+ return this.resolved;
90
+ }
91
+ /** Resolves all types, then returns an iterator of [key, type] pairs. */
92
+ async entries() {
93
+ return (await this.resolveAll()).entries();
94
+ }
95
+ /** Resolves all types, then returns an iterator of types. */
96
+ async values() {
97
+ return (await this.resolveAll()).values();
98
+ }
99
+ /** Resolves all types, then calls the callback for each entry. */
100
+ async forEach(callbackfn) {
101
+ return (await this.resolveAll()).forEach(callbackfn);
102
+ }
103
+ }
104
+ exports.ScopeTypeByKey = ScopeTypeByKey;
6
105
  var ScopeItemKind;
7
106
  (function (ScopeItemKind) {
8
107
  ScopeItemKind["Each"] = "Each";
@@ -1 +1 @@
1
- {"version":3,"file":"scope.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/scope/scope.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAoClC,IAAY,aAOX;AAPD,WAAY,aAAa;IACrB,8BAAa,CAAA;IACb,4CAA2B,CAAA;IAC3B,wCAAuB,CAAA;IACvB,4CAA2B,CAAA;IAC3B,gDAA+B,CAAA;IAC/B,wCAAuB,CAAA;AAC3B,CAAC,EAPW,aAAa,6BAAb,aAAa,QAOxB"}
1
+ {"version":3,"file":"scope.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/scope/scope.ts"],"names":[],"mappings":"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"}
@@ -277,7 +277,7 @@ function inspectLetExpression(state, letExpr, correlationId) {
277
277
  // Places the assignments from the 'let' into LetExpression.expression
278
278
  const newEntries = scopeItemFactoryForKeyValuePairs(keyValuePairs, -1, { allowRecursive: true }, scopeItemFactoryForLetVariable);
279
279
  const expression = parser_1.NodeIdMapUtils.nthChildXor(state.nodeIdMapCollection, letExpr.node.id, 3);
280
- if (expression !== undefined) {
280
+ if (expression !== undefined && !state.scopeById.has(expression.node.id)) {
281
281
  assignScopeForNodeId(state, expression.node.id, nodeScope, newEntries, trace.id);
282
282
  }
283
283
  trace.exit();
@@ -301,7 +301,7 @@ function inspectSection(state, section, correlationId) {
301
301
  const keyValuePairs = parser_1.NodeIdMapIterator.iterSection(state.nodeIdMapCollection, section);
302
302
  for (const kvp of keyValuePairs) {
303
303
  state.cancellationToken?.throwIfCancelled();
304
- if (kvp.value === undefined) {
304
+ if (kvp.value === undefined || state.scopeById.has(kvp.value.node.id)) {
305
305
  continue;
306
306
  }
307
307
  assignScopeForNodeId(state, kvp.value.node.id, getParentScope(state, kvp.value.node.id), scopeItemFactoryForKeyValuePairs(keyValuePairs, kvp.key.id, { allowRecursive: true }, scopeItemFactoryForSectionMember), trace.id);
@@ -313,7 +313,7 @@ function inspectKeyValuePairs(state, inheritedScope, keyValuePairs, getAllowedId
313
313
  const trace = state.traceManager.entry(__1.InspectionTraceConstant.InspectScope, inspectKeyValuePairs.name, correlationId);
314
314
  for (const kvp of keyValuePairs) {
315
315
  state.cancellationToken?.throwIfCancelled();
316
- if (kvp.value === undefined) {
316
+ if (kvp.value === undefined || state.scopeById.has(kvp.value.node.id)) {
317
317
  continue;
318
318
  }
319
319
  assignScopeForNodeId(state, kvp.value.node.id, inheritedScope, scopeItemFactoryForKeyValuePairs(keyValuePairs, kvp.key.id, getAllowedIdentifiersOptions, scopeItemFactory), trace.id);
@@ -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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"}
@@ -4,8 +4,8 @@ import { Ast } from "@microsoft/powerquery-parser/lib/powerquery-parser/language
4
4
  import type { Position } from "vscode-languageserver-types";
5
5
  import { TActiveNode } from "./activeNode";
6
6
  import { Inspection } from "..";
7
- import { TriedExpectedType } from "./expectedType";
8
7
  import { TriedNodeScope } from "./scope";
8
+ import { TriedExpectedType } from "./expectedType";
9
9
  import { TypeCache } from "./typeCache";
10
10
  import { Inspected } from "./commonTypes";
11
11
  import { InspectionSettings } from "../inspectionSettings";
@@ -44,8 +44,8 @@ const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/l
44
44
  const activeNode_1 = require("./activeNode");
45
45
  const scopeUtils_1 = require("./scope/scopeUtils");
46
46
  const __1 = require("..");
47
- const expectedType_1 = require("./expectedType");
48
47
  const scope_1 = require("./scope");
48
+ const expectedType_1 = require("./expectedType");
49
49
  const type_1 = require("./type");
50
50
  const typeCache_1 = require("./typeCache");
51
51
  const autocomplete_1 = require("./autocomplete");
@@ -163,7 +163,7 @@ typeCache = typeCache_1.TypeCacheUtils.emptyCache()) {
163
163
  }
164
164
  else {
165
165
  triedNodeScope = Promise.resolve(PQP.ResultUtils.error(new PQP.CommonError.CommonError(new PQP.CommonError.InvariantError("ActiveNode is out of bounds"))));
166
- triedScopeType = Promise.resolve(PQP.ResultUtils.ok(new Map()));
166
+ triedScopeType = Promise.resolve(PQP.ResultUtils.ok(scope_1.ScopeTypeByKey.empty()));
167
167
  triedExpectedType = PQP.ResultUtils.ok(undefined);
168
168
  }
169
169
  const result = new InspectionInstance(updatedSettings, nodeIdMapCollection, activeNode, await (0, autocomplete_1.autocomplete)(updatedSettings, parseState, typeCache, activeNode, parseError), triedCurrentInvokeExpression, triedNodeScope, triedScopeType, triedExpectedType, typeCache, parseState);
@@ -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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"}
@@ -63,6 +63,7 @@ const inspectTypeIdentifier_1 = require("./inspectTypeIdentifier");
63
63
  const inspectTypeIdentifierExpression_1 = require("./inspectTypeIdentifierExpression");
64
64
  const inspectTypeIfExpression_1 = require("./inspectTypeIfExpression");
65
65
  const inspectTypeInvokeExpression_1 = require("./inspectTypeInvokeExpression");
66
+ const inspectTypeItemAccessExpression_1 = require("./inspectTypeItemAccessExpression");
66
67
  const inspectTypeList_1 = require("./inspectTypeList");
67
68
  const inspectTypeListType_1 = require("./inspectTypeListType");
68
69
  const inspectTypeLiteralExpression_1 = require("./inspectTypeLiteralExpression");
@@ -220,9 +221,9 @@ async function inspectXor(state, xorNode, correlationId) {
220
221
  case language_1.Ast.NodeKind.RecordExpression:
221
222
  result = await (0, inspectTypeRecord_1.inspectTypeRecord)(state, xorNode, trace.id);
222
223
  break;
223
- // TODO: how should error raising be typed?
224
+ // Error expressions never return a value — they always throw.
224
225
  case language_1.Ast.NodeKind.ErrorRaisingExpression:
225
- result = language_1.Type.AnyInstance;
226
+ result = language_1.Type.NoneInstance;
226
227
  break;
227
228
  case language_1.Ast.NodeKind.Constant:
228
229
  result = (0, inspectTypeConstant_1.inspectTypeConstant)(xorNode);
@@ -267,7 +268,7 @@ async function inspectXor(state, xorNode, correlationId) {
267
268
  result = language_1.Type.LogicalInstance;
268
269
  break;
269
270
  case language_1.Ast.NodeKind.ItemAccessExpression:
270
- result = language_1.Type.AnyInstance;
271
+ result = await (0, inspectTypeItemAccessExpression_1.inspectTypeItemAccessExpression)(state, xorNode, trace.id);
271
272
  break;
272
273
  case language_1.Ast.NodeKind.LetExpression:
273
274
  result = await inspectTypeFromChildAttributeIndex(state, xorNode, 3, trace.id);
@@ -1 +1 @@
1
- {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/type/inspectType/common.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"common.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/type/inspectType/common.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Type } from "@microsoft/powerquery-parser/lib/powerquery-parser/language";
2
+ import { TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
3
+ import { InspectTypeState } from "./inspectTypeState";
4
+ export declare function inspectTypeItemAccessExpression(state: InspectTypeState, xorNode: TXorNode, correlationId: number | undefined): Promise<Type.TPowerQueryType>;
@@ -0,0 +1,94 @@
1
+ "use strict";
2
+ // Copyright (c) Microsoft Corporation.
3
+ // Licensed under the MIT license.
4
+ Object.defineProperty(exports, "__esModule", { value: true });
5
+ exports.inspectTypeItemAccessExpression = inspectTypeItemAccessExpression;
6
+ const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
7
+ const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
8
+ const trace_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/common/trace");
9
+ const __1 = require("../../..");
10
+ const common_1 = require("./common");
11
+ async function inspectTypeItemAccessExpression(state, xorNode, correlationId) {
12
+ const trace = state.traceManager.entry(__1.InspectionTraceConstant.InspectType, inspectTypeItemAccessExpression.name, correlationId, __1.TraceUtils.xorNodeDetails(xorNode));
13
+ state.cancellationToken?.throwIfCancelled();
14
+ parser_1.XorNodeUtils.assertIsNodeKind(xorNode, language_1.Ast.NodeKind.ItemAccessExpression);
15
+ // Verify we're inside a RecursivePrimaryExpression's ArrayWrapper
16
+ // before attempting to grab the previous sibling.
17
+ const parent = parser_1.NodeIdMapUtils.parentXor(state.nodeIdMapCollection, xorNode.node.id);
18
+ if (parent === undefined || parent.node.kind !== language_1.Ast.NodeKind.ArrayWrapper) {
19
+ trace.exit({ [trace_1.TraceConstant.Result]: __1.TraceUtils.typeDetails(language_1.Type.AnyInstance) });
20
+ return language_1.Type.AnyInstance;
21
+ }
22
+ const grandparent = parser_1.NodeIdMapUtils.parentXor(state.nodeIdMapCollection, parent.node.id);
23
+ if (grandparent === undefined || grandparent.node.kind !== language_1.Ast.NodeKind.RecursivePrimaryExpression) {
24
+ trace.exit({ [trace_1.TraceConstant.Result]: __1.TraceUtils.typeDetails(language_1.Type.AnyInstance) });
25
+ return language_1.Type.AnyInstance;
26
+ }
27
+ const previousSibling = parser_1.NodeIdMapUtils.assertRecursiveExpressionPreviousSibling(state.nodeIdMapCollection, xorNode.node.id);
28
+ const collectionType = await (0, common_1.inspectXor)(state, previousSibling, trace.id);
29
+ // Child index 1 is the content (index expression) of the brace-wrapped ItemAccessExpression.
30
+ const indexXorNode = parser_1.NodeIdMapUtils.nthChildXor(state.nodeIdMapCollection, xorNode.node.id, 1);
31
+ const indexValue = tryExtractNumericLiteralIndex(indexXorNode);
32
+ const isOptional = parser_1.NodeIdMapUtils.nthChildAstChecked(state.nodeIdMapCollection, xorNode.node.id, 3, language_1.Ast.NodeKind.Constant) !== undefined;
33
+ let result = getElementType(state, collectionType, indexValue, trace.id);
34
+ if (isOptional) {
35
+ result = { ...result, isNullable: true };
36
+ }
37
+ trace.exit({ [trace_1.TraceConstant.Result]: __1.TraceUtils.typeDetails(result) });
38
+ return result;
39
+ }
40
+ function getElementType(state, collectionType, indexValue, correlationId) {
41
+ // eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
42
+ switch (collectionType.kind) {
43
+ case language_1.Type.TypeKind.Any:
44
+ if (collectionType.extendedKind === language_1.Type.ExtendedTypeKind.AnyUnion) {
45
+ return getElementTypeFromAnyUnion(state, collectionType, indexValue, correlationId);
46
+ }
47
+ return language_1.Type.AnyInstance;
48
+ case language_1.Type.TypeKind.List:
49
+ if (collectionType.extendedKind === language_1.Type.ExtendedTypeKind.DefinedList) {
50
+ // If we know the exact index and it's in bounds, return the specific element type.
51
+ if (indexValue !== undefined && indexValue >= 0 && indexValue < collectionType.elements.length) {
52
+ return collectionType.elements[indexValue];
53
+ }
54
+ // Known index but out of bounds — this will error at runtime.
55
+ if (indexValue !== undefined) {
56
+ return language_1.Type.NoneInstance;
57
+ }
58
+ return language_1.TypeUtils.anyUnion(collectionType.elements, state.traceManager, correlationId);
59
+ }
60
+ return language_1.Type.AnyInstance;
61
+ case language_1.Type.TypeKind.Table:
62
+ if (collectionType.extendedKind === language_1.Type.ExtendedTypeKind.DefinedTable) {
63
+ return language_1.TypeUtils.definedRecord(false, collectionType.fields, collectionType.isOpen);
64
+ }
65
+ return language_1.Type.RecordInstance;
66
+ default:
67
+ return language_1.Type.AnyInstance;
68
+ }
69
+ }
70
+ function getElementTypeFromAnyUnion(state, anyUnion, indexValue, correlationId) {
71
+ const elementTypes = [];
72
+ for (const member of anyUnion.unionedTypePairs) {
73
+ const elementType = getElementType(state, member, indexValue, correlationId);
74
+ elementTypes.push(elementType);
75
+ }
76
+ return language_1.TypeUtils.anyUnion(elementTypes, state.traceManager, correlationId);
77
+ }
78
+ function tryExtractNumericLiteralIndex(indexXorNode) {
79
+ if (indexXorNode === undefined ||
80
+ indexXorNode.kind !== parser_1.XorNodeKind.Ast ||
81
+ indexXorNode.node.kind !== language_1.Ast.NodeKind.LiteralExpression) {
82
+ return undefined;
83
+ }
84
+ const literalExpression = indexXorNode.node;
85
+ if (literalExpression.literalKind !== language_1.Ast.LiteralKind.Numeric) {
86
+ return undefined;
87
+ }
88
+ const parsed = Number(literalExpression.literal);
89
+ if (!Number.isInteger(parsed) || parsed < 0) {
90
+ return undefined;
91
+ }
92
+ return parsed;
93
+ }
94
+ //# sourceMappingURL=inspectTypeItemAccessExpression.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"inspectTypeItemAccessExpression.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/type/inspectType/inspectTypeItemAccessExpression.ts"],"names":[],"mappings":"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"}