@microsoft/powerquery-language-services 0.10.4 → 0.10.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (104) hide show
  1. package/lib/powerquery-language-services/analysis/analysisBase.js +2 -1
  2. package/lib/powerquery-language-services/analysis/analysisBase.js.map +1 -1
  3. package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js +8 -6
  4. package/lib/powerquery-language-services/inspection/activeNode/activeNodeUtils.js.map +1 -1
  5. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js +1 -4
  6. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteFieldAccess.js.map +1 -1
  7. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.d.ts +2 -2
  8. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js +5 -5
  9. package/lib/powerquery-language-services/inspection/autocomplete/autocompleteItem/autocompleteItemUtils.js.map +1 -1
  10. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/dereferencedIdentifier.d.ts +37 -0
  11. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/dereferencedIdentifier.js +14 -0
  12. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/dereferencedIdentifier.js.map +1 -0
  13. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/dereferencedIdentifierUtils.d.ts +6 -0
  14. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/dereferencedIdentifierUtils.js +222 -0
  15. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/dereferencedIdentifierUtils.js.map +1 -0
  16. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/index.d.ts +2 -0
  17. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/index.js +20 -0
  18. package/lib/powerquery-language-services/inspection/dereferencedIdentifier/index.js.map +1 -0
  19. package/lib/powerquery-language-services/inspection/index.d.ts +1 -1
  20. package/lib/powerquery-language-services/inspection/index.js +1 -1
  21. package/lib/powerquery-language-services/inspection/index.js.map +1 -1
  22. package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js +1 -1
  23. package/lib/powerquery-language-services/inspection/invokeExpression/invokeExpression.js.map +1 -1
  24. package/lib/powerquery-language-services/inspection/scope/scope.d.ts +1 -1
  25. package/lib/powerquery-language-services/inspection/scope/scopeInspection.js +55 -38
  26. package/lib/powerquery-language-services/inspection/scope/scopeInspection.js.map +1 -1
  27. package/lib/powerquery-language-services/inspection/type/inspectType/common.d.ts +3 -10
  28. package/lib/powerquery-language-services/inspection/type/inspectType/common.js +44 -63
  29. package/lib/powerquery-language-services/inspection/type/inspectType/common.js.map +1 -1
  30. package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.d.ts +1 -1
  31. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.d.ts +1 -1
  32. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeEachExpression.js.map +1 -1
  33. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.d.ts +1 -1
  34. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeErrorHandlingExpression.js.map +1 -1
  35. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.d.ts +1 -1
  36. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/common.js.map +1 -1
  37. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldProjection.d.ts +1 -1
  38. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.d.ts +1 -1
  39. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js +1 -1
  40. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeField/inspectTypeFieldSelector.js.map +1 -1
  41. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.d.ts +1 -1
  42. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFieldSpecification.js.map +1 -1
  43. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.d.ts +1 -1
  44. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionExpression.js.map +1 -1
  45. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.d.ts +1 -1
  46. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeFunctionType.js.map +1 -1
  47. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.d.ts +1 -1
  48. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js +1 -1
  49. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifier.js.map +1 -1
  50. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.d.ts +1 -1
  51. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js +1 -1
  52. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIdentifierExpression.js.map +1 -1
  53. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.d.ts +1 -1
  54. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeIfExpression.js.map +1 -1
  55. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.d.ts +1 -1
  56. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js +10 -5
  57. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeInvokeExpression.js.map +1 -1
  58. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.d.ts +1 -1
  59. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeList.js.map +1 -1
  60. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.d.ts +1 -1
  61. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeListType.js.map +1 -1
  62. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeLiteralExpression.d.ts +1 -1
  63. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.d.ts +1 -1
  64. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeNullCoalescingExpression.js.map +1 -1
  65. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.d.ts +1 -1
  66. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeParameter.js.map +1 -1
  67. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypePrimitiveType.d.ts +1 -1
  68. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.d.ts +1 -1
  69. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js +1 -1
  70. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRangeExpression.js.map +1 -1
  71. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.d.ts +1 -1
  72. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js +5 -8
  73. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecord.js.map +1 -1
  74. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecordType.d.ts +1 -1
  75. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.d.ts +1 -1
  76. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeRecursivePrimaryExpression.js.map +1 -1
  77. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/index.d.ts +2 -0
  78. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/index.js +20 -0
  79. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/index.js.map +1 -0
  80. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/inspectTypeState.d.ts +9 -0
  81. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/inspectTypeState.js +5 -0
  82. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/inspectTypeState.js.map +1 -0
  83. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/inspectTypeStateUtils.d.ts +7 -0
  84. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/inspectTypeStateUtils.js +43 -0
  85. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeState/inspectTypeStateUtils.js.map +1 -0
  86. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.d.ts +1 -1
  87. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTBinOpExpression.js.map +1 -1
  88. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.d.ts +1 -1
  89. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js +1 -1
  90. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeTableType.js.map +1 -1
  91. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.d.ts +1 -1
  92. package/lib/powerquery-language-services/inspection/type/inspectType/inspectTypeUnaryExpression.js.map +1 -1
  93. package/lib/powerquery-language-services/inspection/type/task.js +7 -23
  94. package/lib/powerquery-language-services/inspection/type/task.js.map +1 -1
  95. package/lib/powerquery-language-services/inspectionUtils.js +4 -5
  96. package/lib/powerquery-language-services/inspectionUtils.js.map +1 -1
  97. package/lib/powerquery-language-services/library/libraryUtils.js +2 -1
  98. package/lib/powerquery-language-services/library/libraryUtils.js.map +1 -1
  99. package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.js +0 -2
  100. package/lib/powerquery-language-services/validate/validateUnknownIdentifiers.js.map +1 -1
  101. package/package.json +3 -3
  102. package/lib/powerquery-language-services/inspection/deferenceIdentifier.d.ts +0 -5
  103. package/lib/powerquery-language-services/inspection/deferenceIdentifier.js +0 -95
  104. package/lib/powerquery-language-services/inspection/deferenceIdentifier.js.map +0 -1
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@microsoft/powerquery-language-services",
3
- "version": "0.10.4",
3
+ "version": "0.10.6",
4
4
  "author": "Microsoft",
5
5
  "license": "MIT",
6
6
  "scripts": {
@@ -54,8 +54,8 @@
54
54
  "typescript": "4.6.4"
55
55
  },
56
56
  "dependencies": {
57
- "@microsoft/powerquery-formatter": "0.3.15",
58
- "@microsoft/powerquery-parser": "0.16.0",
57
+ "@microsoft/powerquery-formatter": "0.3.17",
58
+ "@microsoft/powerquery-parser": "0.18.1",
59
59
  "vscode-languageserver-textdocument": "1.0.4",
60
60
  "vscode-languageserver-types": "3.17.1"
61
61
  }
@@ -1,5 +0,0 @@
1
- import * as PQP from "@microsoft/powerquery-parser";
2
- import { NodeIdMap, TXorNode } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
3
- import { ScopeById } from "./scope";
4
- import { TypeById } from "./typeCache";
5
- export declare function tryDeferenceIdentifier(settings: PQP.CommonSettings, nodeIdMapCollection: NodeIdMap.Collection, eachScopeById: TypeById | undefined, xorNode: TXorNode, scopeById?: ScopeById): Promise<PQP.Result<TXorNode | undefined, PQP.CommonError.CommonError>>;
@@ -1,95 +0,0 @@
1
- "use strict";
2
- // Copyright (c) Microsoft Corporation.
3
- // Licensed under the MIT license.
4
- var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
5
- function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
6
- return new (P || (P = Promise))(function (resolve, reject) {
7
- function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
8
- function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
9
- function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
10
- step((generator = generator.apply(thisArg, _arguments || [])).next());
11
- });
12
- };
13
- Object.defineProperty(exports, "__esModule", { value: true });
14
- exports.tryDeferenceIdentifier = void 0;
15
- const powerquery_parser_1 = require("@microsoft/powerquery-parser");
16
- const parser_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/parser");
17
- const trace_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/common/trace");
18
- const language_1 = require("@microsoft/powerquery-parser/lib/powerquery-parser/language");
19
- const scope_1 = require("./scope");
20
- const __1 = require("..");
21
- const trace_2 = require("../trace");
22
- // Recusrive deference of the identifier until it reaches the value node.
23
- // Does not handle recursive identifiers.
24
- function tryDeferenceIdentifier(settings, nodeIdMapCollection, eachScopeById, xorNode,
25
- // If a map is given, then it's mutated and returned.
26
- // Else create a new Map instance and return that instead.
27
- scopeById = new Map()) {
28
- return __awaiter(this, void 0, void 0, function* () {
29
- const trace = settings.traceManager.entry(trace_2.InspectionTraceConstant.InspectScope, tryDeferenceIdentifier.name, settings.initialCorrelationId, __1.TraceUtils.xorNodeDetails(xorNode));
30
- const updatedSettings = Object.assign(Object.assign({}, settings), { initialCorrelationId: trace.id });
31
- parser_1.XorNodeUtils.assertIsIdentifier(xorNode);
32
- if (parser_1.XorNodeUtils.isContext(xorNode)) {
33
- trace.exit({ [trace_1.TraceConstant.Result]: undefined });
34
- return powerquery_parser_1.ResultUtils.ok(undefined);
35
- }
36
- const identifier = xorNode.node;
37
- let identifierLiteral;
38
- switch (identifier.kind) {
39
- case language_1.Ast.NodeKind.Identifier:
40
- identifierLiteral = identifier.literal;
41
- break;
42
- case language_1.Ast.NodeKind.IdentifierExpression:
43
- identifierLiteral = identifier.identifier.literal;
44
- break;
45
- default:
46
- throw powerquery_parser_1.Assert.isNever(identifier);
47
- }
48
- const triedNodeScope = yield (0, scope_1.assertGetOrCreateNodeScope)(updatedSettings, nodeIdMapCollection, eachScopeById, xorNode.node.id, scopeById);
49
- if (powerquery_parser_1.ResultUtils.isError(triedNodeScope)) {
50
- trace.exit({ [trace_1.TraceConstant.Result]: triedNodeScope.kind });
51
- return triedNodeScope;
52
- }
53
- const nodeScope = triedNodeScope.value;
54
- const scopeItem = nodeScope.get(identifierLiteral);
55
- if (
56
- // If the identifier couldn't be found in the generated scope,
57
- // then either the scope generation is incorrect or it's an external identifier.
58
- scopeItem === undefined) {
59
- trace.exit({ [trace_1.TraceConstant.Result]: undefined });
60
- return powerquery_parser_1.ResultUtils.ok(xorNode);
61
- }
62
- let nextXorNode;
63
- switch (scopeItem.kind) {
64
- case scope_1.ScopeItemKind.Each:
65
- case scope_1.ScopeItemKind.Parameter:
66
- case scope_1.ScopeItemKind.Undefined:
67
- break;
68
- case scope_1.ScopeItemKind.LetVariable:
69
- case scope_1.ScopeItemKind.RecordField:
70
- nextXorNode = scopeItem.value;
71
- break;
72
- case scope_1.ScopeItemKind.SectionMember:
73
- nextXorNode = scopeItem.value;
74
- break;
75
- default:
76
- throw powerquery_parser_1.Assert.isNever(scopeItem);
77
- }
78
- let result;
79
- if (nextXorNode === undefined) {
80
- result = Promise.resolve(powerquery_parser_1.ResultUtils.ok(xorNode));
81
- }
82
- else if (parser_1.XorNodeUtils.isContext(nextXorNode) ||
83
- (nextXorNode.node.kind !== language_1.Ast.NodeKind.Identifier &&
84
- nextXorNode.node.kind !== language_1.Ast.NodeKind.IdentifierExpression)) {
85
- result = Promise.resolve(powerquery_parser_1.ResultUtils.ok(xorNode));
86
- }
87
- else {
88
- result = tryDeferenceIdentifier(updatedSettings, nodeIdMapCollection, eachScopeById, nextXorNode, scopeById);
89
- }
90
- trace.exit();
91
- return result;
92
- });
93
- }
94
- exports.tryDeferenceIdentifier = tryDeferenceIdentifier;
95
- //# sourceMappingURL=deferenceIdentifier.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"deferenceIdentifier.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/inspection/deferenceIdentifier.ts"],"names":[],"mappings":"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"}