@microsoft/powerquery-language-services 0.3.26 → 0.3.32
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/powerquery-language-services/analysis/analysis.d.ts +2 -1
- package/lib/powerquery-language-services/analysis/analysisBase.d.ts +9 -5
- package/lib/powerquery-language-services/analysis/analysisBase.js +47 -21
- package/lib/powerquery-language-services/analysis/analysisBase.js.map +1 -1
- package/lib/powerquery-language-services/analysis/analysisSettings.d.ts +4 -3
- package/lib/powerquery-language-services/analysis/documentAnalysis.js +1 -1
- package/lib/powerquery-language-services/analysis/documentAnalysis.js.map +1 -1
- package/lib/powerquery-language-services/commonTypes.d.ts +1 -1
- package/lib/powerquery-language-services/commonTypes.js +1 -1
- package/lib/powerquery-language-services/commonTypes.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.d.ts +3 -2
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js +26 -4
- package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js.map +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/task.js +1 -1
- package/lib/powerquery-language-services/inspection/autocomplete/task.js.map +1 -1
- package/lib/powerquery-language-services/inspection/scope/scopeUtils.d.ts +1 -1
- package/lib/powerquery-language-services/inspection/scope/scopeUtils.js +6 -8
- package/lib/powerquery-language-services/inspection/scope/scopeUtils.js.map +1 -1
- package/lib/powerquery-language-services/inspection/task.js +1 -1
- package/lib/powerquery-language-services/inspection/task.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/common.d.ts +1 -2
- package/lib/powerquery-language-services/inspection/type/inspectType/common.js +7 -12
- package/lib/powerquery-language-services/inspection/type/inspectType/common.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js +7 -10
- package/lib/powerquery-language-services/inspection/type/inspectType/examineFieldSpecificationList.js.map +1 -1
- package/lib/powerquery-language-services/inspection/type/task.js +4 -8
- package/lib/powerquery-language-services/inspection/type/task.js.map +1 -1
- package/lib/powerquery-language-services/providers/commonTypes.d.ts +11 -6
- package/lib/powerquery-language-services/providers/index.d.ts +1 -1
- package/lib/powerquery-language-services/providers/index.js +3 -3
- package/lib/powerquery-language-services/providers/index.js.map +1 -1
- package/lib/powerquery-language-services/providers/languageCompletionItemProvider.d.ts +2 -2
- package/lib/powerquery-language-services/providers/librarySymbolProvider.d.ts +2 -2
- package/lib/powerquery-language-services/providers/librarySymbolProvider.js.map +1 -1
- package/lib/powerquery-language-services/providers/localDocumentProvider.d.ts +21 -0
- package/lib/powerquery-language-services/providers/{localDocumentSymbolProvider.js → localDocumentProvider.js} +36 -7
- package/lib/powerquery-language-services/providers/localDocumentProvider.js.map +1 -0
- package/lib/powerquery-language-services/providers/nullSymbolProvider.d.ts +4 -2
- package/lib/powerquery-language-services/providers/nullSymbolProvider.js +6 -0
- package/lib/powerquery-language-services/providers/nullSymbolProvider.js.map +1 -1
- package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js +11 -0
- package/lib/powerquery-language-services/validate/validateDuplicateIdentifiers.js.map +1 -1
- package/package.json +3 -3
- package/lib/powerquery-language-services/providers/localDocumentSymbolProvider.d.ts +0 -18
- package/lib/powerquery-language-services/providers/localDocumentSymbolProvider.js.map +0 -1
|
@@ -1,8 +1,9 @@
|
|
|
1
|
-
import type { Hover, SignatureHelp, TextEdit } from "vscode-languageserver-types";
|
|
1
|
+
import type { Hover, Location, 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
|
+
getDefinition(): Promise<Location[]>;
|
|
6
7
|
getHover(): Promise<Hover>;
|
|
7
8
|
getSignatureHelp(): Promise<SignatureHelp>;
|
|
8
9
|
getRenameEdits(newName: string): Promise<TextEdit[]>;
|
|
@@ -1,17 +1,20 @@
|
|
|
1
|
-
import type { Hover, Range, SignatureHelp, TextEdit } from "vscode-languageserver-types";
|
|
1
|
+
import type { Hover, Location, Range, SignatureHelp, TextEdit } from "vscode-languageserver-types";
|
|
2
|
+
import type { DocumentUri } from "vscode-languageserver-textdocument";
|
|
2
3
|
import { AutocompleteItem } from "../inspection";
|
|
3
|
-
import type {
|
|
4
|
+
import type { IAutocompleteItemProvider, ILocalDocumentProvider, ISymbolProvider } from "../providers/commonTypes";
|
|
4
5
|
import { Inspection } from "..";
|
|
5
6
|
import type { Analysis } from "./analysis";
|
|
6
7
|
import type { AnalysisSettings } from "./analysisSettings";
|
|
7
8
|
export declare abstract class AnalysisBase implements Analysis {
|
|
9
|
+
protected uri: DocumentUri;
|
|
8
10
|
protected analysisSettings: AnalysisSettings;
|
|
9
11
|
protected promiseMaybeInspected: Promise<Inspection.Inspected | undefined>;
|
|
10
|
-
protected languageAutocompleteItemProvider:
|
|
12
|
+
protected languageAutocompleteItemProvider: IAutocompleteItemProvider;
|
|
11
13
|
protected librarySymbolProvider: ISymbolProvider;
|
|
12
|
-
protected
|
|
13
|
-
constructor(analysisSettings: AnalysisSettings, promiseMaybeInspected: Promise<Inspection.Inspected | undefined>);
|
|
14
|
+
protected localDocumentProvider: ILocalDocumentProvider;
|
|
15
|
+
constructor(uri: DocumentUri, analysisSettings: AnalysisSettings, promiseMaybeInspected: Promise<Inspection.Inspected | undefined>);
|
|
14
16
|
getAutocompleteItems(): Promise<AutocompleteItem[]>;
|
|
17
|
+
getDefinition(): Promise<Location[]>;
|
|
15
18
|
getHover(): Promise<Hover>;
|
|
16
19
|
getSignatureHelp(): Promise<SignatureHelp>;
|
|
17
20
|
getRenameEdits(newName: string): Promise<TextEdit[]>;
|
|
@@ -23,6 +26,7 @@ export declare abstract class AnalysisBase implements Analysis {
|
|
|
23
26
|
private static createHoverCalls;
|
|
24
27
|
private static createSignatureHelpCalls;
|
|
25
28
|
private static isValidHoverIdentifier;
|
|
29
|
+
private getMaybeIdentifierContext;
|
|
26
30
|
private getMaybePositionIdentifier;
|
|
27
31
|
private getMaybeActiveNode;
|
|
28
32
|
}
|
|
@@ -21,7 +21,8 @@ const commonTypes_1 = require("../commonTypes");
|
|
|
21
21
|
const scopeUtils_1 = require("../inspection/scope/scopeUtils");
|
|
22
22
|
const providers_1 = require("../providers");
|
|
23
23
|
class AnalysisBase {
|
|
24
|
-
constructor(analysisSettings, promiseMaybeInspected) {
|
|
24
|
+
constructor(uri, analysisSettings, promiseMaybeInspected) {
|
|
25
|
+
this.uri = uri;
|
|
25
26
|
this.analysisSettings = analysisSettings;
|
|
26
27
|
this.promiseMaybeInspected = promiseMaybeInspected;
|
|
27
28
|
const library = analysisSettings.library;
|
|
@@ -33,10 +34,10 @@ class AnalysisBase {
|
|
|
33
34
|
analysisSettings.maybeCreateLibrarySymbolProviderFn !== undefined
|
|
34
35
|
? analysisSettings.maybeCreateLibrarySymbolProviderFn(library)
|
|
35
36
|
: new providers_1.LibrarySymbolProvider(library);
|
|
36
|
-
this.
|
|
37
|
-
analysisSettings.
|
|
38
|
-
? analysisSettings.
|
|
39
|
-
: new providers_1.
|
|
37
|
+
this.localDocumentProvider =
|
|
38
|
+
analysisSettings.maybeCreateLocalDocumentProviderFn !== undefined
|
|
39
|
+
? analysisSettings.maybeCreateLocalDocumentProviderFn(library, uri, promiseMaybeInspected, analysisSettings.createInspectionSettingsFn)
|
|
40
|
+
: new providers_1.LocalDocumentProvider(library, uri, promiseMaybeInspected, analysisSettings.createInspectionSettingsFn);
|
|
40
41
|
}
|
|
41
42
|
getAutocompleteItems() {
|
|
42
43
|
return __awaiter(this, void 0, void 0, function* () {
|
|
@@ -52,7 +53,7 @@ class AnalysisBase {
|
|
|
52
53
|
// TODO: intellisense improvements
|
|
53
54
|
// - honor expected data type
|
|
54
55
|
// - only include current query name after @
|
|
55
|
-
const [languageResponse, libraryResponse, localDocumentResponse] = yield Promise.all(AnalysisBase.createAutocompleteItemCalls(context, [this.languageAutocompleteItemProvider, this.librarySymbolProvider, this.
|
|
56
|
+
const [languageResponse, libraryResponse, localDocumentResponse] = yield Promise.all(AnalysisBase.createAutocompleteItemCalls(context, [this.languageAutocompleteItemProvider, this.librarySymbolProvider, this.localDocumentProvider], this.analysisSettings.symbolProviderTimeoutInMS));
|
|
56
57
|
const partial = [];
|
|
57
58
|
for (const collection of [localDocumentResponse, languageResponse, libraryResponse]) {
|
|
58
59
|
for (const item of collection) {
|
|
@@ -66,26 +67,29 @@ class AnalysisBase {
|
|
|
66
67
|
return result;
|
|
67
68
|
});
|
|
68
69
|
}
|
|
70
|
+
getDefinition() {
|
|
71
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
72
|
+
const trace = this.analysisSettings.traceManager.entry("AnalysisBase" /* AnalysisBase */, this.getDefinition.name, this.analysisSettings.maybeInitialCorrelationId);
|
|
73
|
+
const maybeIdentifierContext = yield this.getMaybeIdentifierContext(trace.id);
|
|
74
|
+
if (!maybeIdentifierContext) {
|
|
75
|
+
trace.exit();
|
|
76
|
+
return [];
|
|
77
|
+
}
|
|
78
|
+
const result = yield this.localDocumentProvider.getDefinition(maybeIdentifierContext);
|
|
79
|
+
trace.exit();
|
|
80
|
+
return result !== null && result !== void 0 ? result : [];
|
|
81
|
+
});
|
|
82
|
+
}
|
|
69
83
|
getHover() {
|
|
70
84
|
return __awaiter(this, void 0, void 0, function* () {
|
|
71
85
|
const trace = this.analysisSettings.traceManager.entry("AnalysisBase" /* AnalysisBase */, this.getHover.name, this.analysisSettings.maybeInitialCorrelationId);
|
|
72
|
-
const
|
|
73
|
-
|
|
74
|
-
if (maybeActiveNode === undefined ||
|
|
75
|
-
maybeIdentifierUnderPosition === undefined ||
|
|
76
|
-
!AnalysisBase.isValidHoverIdentifier(maybeActiveNode)) {
|
|
86
|
+
const maybeIdentifierContext = yield this.getMaybeIdentifierContext(trace.id);
|
|
87
|
+
if (!maybeIdentifierContext) {
|
|
77
88
|
trace.exit();
|
|
78
89
|
return commonTypes_1.EmptyHover;
|
|
79
90
|
}
|
|
80
|
-
const identifier = maybeIdentifierUnderPosition;
|
|
81
|
-
const context = {
|
|
82
|
-
traceManager: this.analysisSettings.traceManager,
|
|
83
|
-
range: __1.CommonTypesUtils.rangeFromTokenRange(identifier.tokenRange),
|
|
84
|
-
identifier: identifier.literal,
|
|
85
|
-
maybeInitialCorrelationId: trace.id,
|
|
86
|
-
};
|
|
87
91
|
// Result priority is based on the order of the symbol providers
|
|
88
|
-
const result = AnalysisBase.resolveProviders(AnalysisBase.createHoverCalls(
|
|
92
|
+
const result = AnalysisBase.resolveProviders(AnalysisBase.createHoverCalls(maybeIdentifierContext, [this.localDocumentProvider, this.librarySymbolProvider], this.analysisSettings.symbolProviderTimeoutInMS), commonTypes_1.EmptyHover);
|
|
89
93
|
trace.exit();
|
|
90
94
|
return result;
|
|
91
95
|
});
|
|
@@ -109,7 +113,7 @@ class AnalysisBase {
|
|
|
109
113
|
return commonTypes_1.EmptySignatureHelp;
|
|
110
114
|
}
|
|
111
115
|
// Result priority is based on the order of the symbol providers
|
|
112
|
-
const result = AnalysisBase.resolveProviders(AnalysisBase.createSignatureHelpCalls(context, [this.
|
|
116
|
+
const result = AnalysisBase.resolveProviders(AnalysisBase.createSignatureHelpCalls(context, [this.localDocumentProvider, this.librarySymbolProvider], this.analysisSettings.symbolProviderTimeoutInMS), commonTypes_1.EmptySignatureHelp);
|
|
113
117
|
trace.exit();
|
|
114
118
|
return result;
|
|
115
119
|
});
|
|
@@ -149,7 +153,7 @@ class AnalysisBase {
|
|
|
149
153
|
}
|
|
150
154
|
const scopeItem = (0, scopeUtils_1.findScopeItemByLiteral)(nodeScope, maybeInclusiveIdentifierUnderPosition.literal);
|
|
151
155
|
if (scopeItem) {
|
|
152
|
-
const maybeValueCreator = (0, scopeUtils_1.
|
|
156
|
+
const maybeValueCreator = (0, scopeUtils_1.maybeScopeCreatorIdentifier)(scopeItem);
|
|
153
157
|
if ((maybeValueCreator === null || maybeValueCreator === void 0 ? void 0 : maybeValueCreator.kind) === "Identifier" /* Identifier */) {
|
|
154
158
|
if (maybeValueCreator.identifierContextKind === "Key" /* Key */ ||
|
|
155
159
|
maybeValueCreator.identifierContextKind === "Parameter" /* Parameter */) {
|
|
@@ -250,6 +254,28 @@ class AnalysisBase {
|
|
|
250
254
|
}
|
|
251
255
|
return true;
|
|
252
256
|
}
|
|
257
|
+
getMaybeIdentifierContext(correlationId) {
|
|
258
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
259
|
+
const trace = this.analysisSettings.traceManager.entry("AnalysisBase" /* AnalysisBase */, this.getDefinition.name, correlationId);
|
|
260
|
+
const maybeActiveNode = yield this.getMaybeActiveNode();
|
|
261
|
+
const maybeIdentifierUnderPosition = maybeActiveNode === null || maybeActiveNode === void 0 ? void 0 : maybeActiveNode.maybeExclusiveIdentifierUnderPosition;
|
|
262
|
+
if (maybeActiveNode === undefined ||
|
|
263
|
+
maybeIdentifierUnderPosition === undefined ||
|
|
264
|
+
!AnalysisBase.isValidHoverIdentifier(maybeActiveNode)) {
|
|
265
|
+
trace.exit();
|
|
266
|
+
return undefined;
|
|
267
|
+
}
|
|
268
|
+
const identifier = maybeIdentifierUnderPosition;
|
|
269
|
+
const context = {
|
|
270
|
+
traceManager: this.analysisSettings.traceManager,
|
|
271
|
+
range: __1.CommonTypesUtils.rangeFromTokenRange(identifier.tokenRange),
|
|
272
|
+
identifier: identifier.literal,
|
|
273
|
+
maybeInitialCorrelationId: trace.id,
|
|
274
|
+
};
|
|
275
|
+
trace.exit();
|
|
276
|
+
return context;
|
|
277
|
+
});
|
|
278
|
+
}
|
|
253
279
|
getMaybePositionIdentifier() {
|
|
254
280
|
return __awaiter(this, void 0, void 0, function* () {
|
|
255
281
|
const maybeActiveNode = yield this.getMaybeActiveNode();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"analysisBase.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/analysis/analysisBase.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;;;;;;;;;;AAGlC,oEAAsD;
|
|
1
|
+
{"version":3,"file":"analysisBase.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/analysis/analysisBase.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,5 +1,6 @@
|
|
|
1
|
+
import { DocumentUri } from "vscode-languageserver-textdocument";
|
|
1
2
|
import { TraceManager } from "@microsoft/powerquery-parser/lib/powerquery-parser/common/trace";
|
|
2
|
-
import {
|
|
3
|
+
import { IAutocompleteItemProvider, ILocalDocumentProvider, ISymbolProvider } from "../providers/commonTypes";
|
|
3
4
|
import { Inspection } from "..";
|
|
4
5
|
import { InspectionSettings } from "../inspectionSettings";
|
|
5
6
|
import { Library } from "../library";
|
|
@@ -7,9 +8,9 @@ export interface AnalysisSettings {
|
|
|
7
8
|
readonly createInspectionSettingsFn: () => InspectionSettings;
|
|
8
9
|
readonly isWorkspaceCacheAllowed: boolean;
|
|
9
10
|
readonly library: Library.ILibrary;
|
|
10
|
-
readonly maybeCreateLanguageAutocompleteItemProviderFn?: () =>
|
|
11
|
+
readonly maybeCreateLanguageAutocompleteItemProviderFn?: () => IAutocompleteItemProvider;
|
|
11
12
|
readonly maybeCreateLibrarySymbolProviderFn?: (library: Library.ILibrary) => ISymbolProvider;
|
|
12
|
-
readonly
|
|
13
|
+
readonly maybeCreateLocalDocumentProviderFn?: (library: Library.ILibrary, uri: DocumentUri, promiseMaybeInspected: Promise<Inspection.Inspected | undefined>, createInspectionSettingsFn: () => InspectionSettings) => ILocalDocumentProvider;
|
|
13
14
|
readonly maybeInitialCorrelationId: number | undefined;
|
|
14
15
|
readonly symbolProviderTimeoutInMS?: number;
|
|
15
16
|
readonly traceManager: TraceManager;
|
|
@@ -7,7 +7,7 @@ const analysisBase_1 = require("./analysisBase");
|
|
|
7
7
|
const workspaceCache_1 = require("../workspaceCache");
|
|
8
8
|
class DocumentAnalysis extends analysisBase_1.AnalysisBase {
|
|
9
9
|
constructor(textDocument, analysisSettings, position) {
|
|
10
|
-
super(analysisSettings, workspaceCache_1.WorkspaceCacheUtils.getOrCreateInspectedPromise(textDocument, analysisSettings.createInspectionSettingsFn(), position));
|
|
10
|
+
super(textDocument.uri, analysisSettings, workspaceCache_1.WorkspaceCacheUtils.getOrCreateInspectedPromise(textDocument, analysisSettings.createInspectionSettingsFn(), position));
|
|
11
11
|
this.textDocument = textDocument;
|
|
12
12
|
}
|
|
13
13
|
dispose() {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"documentAnalysis.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/analysis/documentAnalysis.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAKlC,iDAA8C;AAE9C,sDAAwD;AAExD,MAAa,gBAAiB,SAAQ,2BAAY;IAC9C,YAA6B,YAA0B,EAAE,gBAAkC,EAAE,QAAkB;QAC3G,KAAK,CACD,gBAAgB,EAChB,oCAAmB,CAAC,2BAA2B,CAC3C,YAAY,EACZ,gBAAgB,CAAC,0BAA0B,EAAE,EAC7C,QAAQ,CACX,CACJ,CAAC;
|
|
1
|
+
{"version":3,"file":"documentAnalysis.js","sourceRoot":"","sources":["../../../src/powerquery-language-services/analysis/documentAnalysis.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAKlC,iDAA8C;AAE9C,sDAAwD;AAExD,MAAa,gBAAiB,SAAQ,2BAAY;IAC9C,YAA6B,YAA0B,EAAE,gBAAkC,EAAE,QAAkB;QAC3G,KAAK,CACD,YAAY,CAAC,GAAG,EAChB,gBAAgB,EAChB,oCAAmB,CAAC,2BAA2B,CAC3C,YAAY,EACZ,gBAAgB,CAAC,0BAA0B,EAAE,EAC7C,QAAQ,CACX,CACJ,CAAC;QATuB,iBAAY,GAAZ,YAAY,CAAc;IAUvD,CAAC;IAEM,OAAO;QACV,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,uBAAuB,EAAE;YAChD,oCAAmB,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;SAChD;IACL,CAAC;IAES,OAAO,CAAC,KAAa;QAC3B,OAAO,IAAI,CAAC,YAAY,CAAC,OAAO,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;CACJ;AAtBD,4CAsBC"}
|
|
@@ -1,5 +1,5 @@
|
|
|
1
|
-
import { DocumentUri, TextDocument, TextDocumentContentChangeEvent } from "vscode-languageserver-textdocument";
|
|
2
1
|
import { CompletionItem, CompletionItemKind, Diagnostic, DiagnosticRelatedInformation, DiagnosticSeverity, DocumentSymbol, Hover, Position, Range, SignatureHelp, SymbolKind } from "vscode-languageserver-types";
|
|
2
|
+
import { DocumentUri, TextDocument, TextDocumentContentChangeEvent } from "vscode-languageserver-textdocument";
|
|
3
3
|
export type { CompletionItem, Diagnostic, DiagnosticRelatedInformation, DocumentSymbol, DocumentUri, Hover, Position, Range, SignatureHelp, TextDocument, TextDocumentContentChangeEvent, };
|
|
4
4
|
export { CompletionItemKind, DiagnosticSeverity, SymbolKind };
|
|
5
5
|
export interface IDisposable {
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
// Licensed under the MIT license.
|
|
4
4
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
5
5
|
exports.EmptySignatureHelp = exports.EmptyHover = exports.SymbolKind = exports.DiagnosticSeverity = exports.CompletionItemKind = void 0;
|
|
6
|
-
const vscode_languageserver_textdocument_1 = require("vscode-languageserver-textdocument");
|
|
7
6
|
const vscode_languageserver_types_1 = require("vscode-languageserver-types");
|
|
8
7
|
Object.defineProperty(exports, "CompletionItemKind", { enumerable: true, get: function () { return vscode_languageserver_types_1.CompletionItemKind; } });
|
|
9
8
|
Object.defineProperty(exports, "DiagnosticSeverity", { enumerable: true, get: function () { return vscode_languageserver_types_1.DiagnosticSeverity; } });
|
|
10
9
|
Object.defineProperty(exports, "SymbolKind", { enumerable: true, get: function () { return vscode_languageserver_types_1.SymbolKind; } });
|
|
10
|
+
const vscode_languageserver_textdocument_1 = require("vscode-languageserver-textdocument");
|
|
11
11
|
exports.EmptyHover = {
|
|
12
12
|
range: undefined,
|
|
13
13
|
contents: [],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"commonTypes.js","sourceRoot":"","sources":["../../src/powerquery-language-services/commonTypes.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,
|
|
1
|
+
{"version":3,"file":"commonTypes.js","sourceRoot":"","sources":["../../src/powerquery-language-services/commonTypes.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,6EAYqC;AAgB5B,mGA1BL,gDAAkB,OA0BK;AAAE,mGAvBzB,gDAAkB,OAuByB;AAAE,2FAjB7C,wCAAU,OAiB6C;AAf3D,2FAA+G;AAqBlG,QAAA,UAAU,GAAU;IAC7B,KAAK,EAAE,SAAS;IAChB,QAAQ,EAAE,EAAE;CACf,CAAC;AAEW,QAAA,kBAAkB,GAAkB;IAC7C,UAAU,EAAE,EAAE;IACd,eAAe,EAAE,SAAS;IAC1B,eAAe,EAAE,SAAS;CAC7B,CAAC"}
|
|
@@ -16,7 +16,7 @@ function autocompleteKeywordErrorHandlingExpression(state) {
|
|
|
16
16
|
}
|
|
17
17
|
else if (maybeChildAttributeIndex === 1) {
|
|
18
18
|
// 'try true o|' creates a ParseError.
|
|
19
|
-
// It's ambiguous if the next token should be either 'otherwise' or
|
|
19
|
+
// It's ambiguous if the next token should be either 'otherwise', 'or', or 'catch'.
|
|
20
20
|
if (maybeTrailingText !== undefined) {
|
|
21
21
|
const trailingToken = maybeTrailingText;
|
|
22
22
|
// First we test if we can autocomplete using the error token.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocompleteKeywordErrorHandlingExpression.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,0FAA6F;AAC7F,sFAAmG;AAInG,gCAAyC;AAGzC,SAAgB,0CAA0C,CACtD,KAAsC;IAEtC,MAAM,QAAQ,GAAa,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;IACrD,MAAM,KAAK,GAAa,KAAK,CAAC,KAAK,CAAC;IACpC,MAAM,iBAAiB,GAA8B,KAAK,CAAC,kBAAkB,CAAC;IAE9E,MAAM,wBAAwB,GAAuB,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC;IAEpF,IAAI,wBAAwB,KAAK,CAAC,EAAE;QAChC,OAAO,iBAAyB,CAAC;KACpC;SAAM,IAAI,wBAAwB,KAAK,CAAC,EAAE;QACvC,sCAAsC;QACtC,
|
|
1
|
+
{"version":3,"file":"autocompleteKeywordErrorHandlingExpression.js","sourceRoot":"","sources":["../../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteKeyword/autocompleteKeywordErrorHandlingExpression.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,0FAA6F;AAC7F,sFAAmG;AAInG,gCAAyC;AAGzC,SAAgB,0CAA0C,CACtD,KAAsC;IAEtC,MAAM,QAAQ,GAAa,KAAK,CAAC,UAAU,CAAC,QAAQ,CAAC;IACrD,MAAM,KAAK,GAAa,KAAK,CAAC,KAAK,CAAC;IACpC,MAAM,iBAAiB,GAA8B,KAAK,CAAC,kBAAkB,CAAC;IAE9E,MAAM,wBAAwB,GAAuB,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC;IAEpF,IAAI,wBAAwB,KAAK,CAAC,EAAE;QAChC,OAAO,iBAAyB,CAAC;KACpC;SAAM,IAAI,wBAAwB,KAAK,CAAC,EAAE;QACvC,sCAAsC;QACtC,mFAAmF;QACnF,IAAI,iBAAiB,KAAK,SAAS,EAAE;YACjC,MAAM,aAAa,GAAkB,iBAAiB,CAAC;YAEvD,8DAA8D;YAC9D,IACI,aAAa,CAAC,IAAI,kCAA+B;gBACjD,iBAAa,CAAC,SAAS,CAAC,QAAQ,EAAE,aAAa,EAAE,KAAK,EAAE,IAAI,CAAC,EAC/D;gBACE,MAAM,SAAS,GAAW,iBAAiB,CAAC,IAAI,CAAC;gBAEjD,iFAAiF;gBACjF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,IAAI,4BAA8B,UAAU,CAAC,SAAS,CAAC,EAAE;oBAC7E,OAAO,6BAA+B,CAAC;iBAC1C;gBACD,mFAAmF;gBACnF,wEAAwE;gBACxE,oDAAoD;gBACpD,wCAAwC;qBACnC;oBACD,OAAO,4CAAuD,CAAC;iBAClE;aACJ;YAED,yEAAyE;iBACpE;gBACD,OAAO,SAAS,CAAC;aACpB;SACJ;aAAM,IAAI,qBAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,iBAAa,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,IAAI,EAAE,IAAI,CAAC,EAAE;YAC7F,OAAO,6BAA+B,CAAC;SAC1C;aAAM;YACH,OAAO,kBAAO,CAAC,sBAAsB,CAAC;SACzC;KACJ;SAAM;QACH,OAAO,SAAS,CAAC;KACpB;AACL,CAAC;AAjDD,gGAiDC"}
|
package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import * as PQP from "@microsoft/powerquery-parser";
|
|
2
|
+
import { NodeIdMap } from "@microsoft/powerquery-parser/lib/powerquery-parser/parser";
|
|
2
3
|
import { TMaybeActiveNode } from "../activeNode";
|
|
3
|
-
import { TriedAutocompleteLanguageConstant } from "./commonTypes";
|
|
4
|
-
export declare function tryAutocompleteLanguageConstant(settings: PQP.CommonSettings, maybeActiveNode: TMaybeActiveNode): TriedAutocompleteLanguageConstant;
|
|
4
|
+
import { TrailingToken, TriedAutocompleteLanguageConstant } from "./commonTypes";
|
|
5
|
+
export declare function tryAutocompleteLanguageConstant(settings: PQP.CommonSettings, nodeIdMapCollection: NodeIdMap.Collection, maybeActiveNode: TMaybeActiveNode, maybeTrailingToken: TrailingToken | undefined): TriedAutocompleteLanguageConstant;
|
package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js
CHANGED
|
@@ -9,19 +9,22 @@ const powerquery_parser_1 = require("@microsoft/powerquery-parser");
|
|
|
9
9
|
const activeNode_1 = require("../activeNode");
|
|
10
10
|
const autocompleteItem_1 = require("./autocompleteItem");
|
|
11
11
|
const __1 = require("../..");
|
|
12
|
-
function tryAutocompleteLanguageConstant(settings, maybeActiveNode) {
|
|
12
|
+
function tryAutocompleteLanguageConstant(settings, nodeIdMapCollection, maybeActiveNode, maybeTrailingToken) {
|
|
13
13
|
const trace = settings.traceManager.entry("LanguageConstant" /* AutocompleteLanguageConstant */, tryAutocompleteLanguageConstant.name, settings.maybeInitialCorrelationId);
|
|
14
|
-
const result = powerquery_parser_1.ResultUtils.ensureResult(() => autocompleteLanguageConstant(maybeActiveNode), settings.locale);
|
|
14
|
+
const result = powerquery_parser_1.ResultUtils.ensureResult(() => autocompleteLanguageConstant(nodeIdMapCollection, maybeActiveNode, maybeTrailingToken), settings.locale);
|
|
15
15
|
trace.exit({ ["IsError" /* IsError */]: powerquery_parser_1.ResultUtils.isError(result) });
|
|
16
16
|
return result;
|
|
17
17
|
}
|
|
18
18
|
exports.tryAutocompleteLanguageConstant = tryAutocompleteLanguageConstant;
|
|
19
|
-
function autocompleteLanguageConstant(maybeActiveNode) {
|
|
19
|
+
function autocompleteLanguageConstant(nodeIdMapCollection, maybeActiveNode, maybeTrailingToken) {
|
|
20
20
|
if (!activeNode_1.ActiveNodeUtils.isPositionInBounds(maybeActiveNode)) {
|
|
21
21
|
return undefined;
|
|
22
22
|
}
|
|
23
23
|
const activeNode = maybeActiveNode;
|
|
24
|
-
if (
|
|
24
|
+
if (isCatchAllowed(nodeIdMapCollection, activeNode, maybeTrailingToken)) {
|
|
25
|
+
return autocompleteItem_1.AutocompleteItemUtils.createFromLanguageConstant("catch" /* Catch */);
|
|
26
|
+
}
|
|
27
|
+
else if (isNullableAllowed(activeNode)) {
|
|
25
28
|
return autocompleteItem_1.AutocompleteItemUtils.createFromLanguageConstant("nullable" /* Nullable */);
|
|
26
29
|
}
|
|
27
30
|
else if (isOptionalAllowed(activeNode)) {
|
|
@@ -31,6 +34,25 @@ function autocompleteLanguageConstant(maybeActiveNode) {
|
|
|
31
34
|
return undefined;
|
|
32
35
|
}
|
|
33
36
|
}
|
|
37
|
+
function isCatchAllowed(nodeIdMapCollection, activeNode, maybeTrailingToken) {
|
|
38
|
+
const ancestry = activeNode.ancestry;
|
|
39
|
+
const numAncestors = ancestry.length;
|
|
40
|
+
for (let index = 0; index < numAncestors; index += 1) {
|
|
41
|
+
const xorNode = ancestry[index];
|
|
42
|
+
if (
|
|
43
|
+
// We are under an ErrorHandlingExpression
|
|
44
|
+
xorNode.node.kind === "ErrorHandlingExpression" /* ErrorHandlingExpression */ &&
|
|
45
|
+
// Which was fully parsed
|
|
46
|
+
parser_1.XorNodeUtils.isAstXor(xorNode) &&
|
|
47
|
+
// Yet the cursor is after the end of the Ast
|
|
48
|
+
activeNode.leafKind === "AfterAstNode" /* AfterAstNode */ &&
|
|
49
|
+
// And it only has two children, meaning it hasn't parsed an error handler
|
|
50
|
+
parser_1.NodeIdMapUtils.assertGetChildren(nodeIdMapCollection.childIdsById, xorNode.node.id).length === 2) {
|
|
51
|
+
return maybeTrailingToken ? "catch" /* Catch */.startsWith(maybeTrailingToken.data) : true;
|
|
52
|
+
}
|
|
53
|
+
}
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
34
56
|
function isNullableAllowed(activeNode) {
|
|
35
57
|
const ancestry = activeNode.ancestry;
|
|
36
58
|
const numAncestors = ancestry.length;
|
package/lib/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"autocompleteLanguageConstant.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.ts"],"names":[],"mappings":";AAAA,uCAAuC;AACvC,kCAAkC;;;AAElC,oDAAoD;AACpD,
|
|
1
|
+
{"version":3,"file":"autocompleteLanguageConstant.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/autocomplete/autocompleteLanguageConstant.ts"],"names":[],"mappings":"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"}
|
|
@@ -33,7 +33,7 @@ function autocomplete(settings, parseState, typeCache, maybeActiveNode, maybePar
|
|
|
33
33
|
}
|
|
34
34
|
const triedFieldAccess = yield (0, autocompleteFieldAccess_1.tryAutocompleteFieldAccess)(updatedSettings, parseState, maybeActiveNode, typeCache);
|
|
35
35
|
const triedKeyword = yield (0, autocompleteKeyword_1.tryAutocompleteKeyword)(updatedSettings, nodeIdMapCollection, maybeActiveNode, maybeTrailingToken);
|
|
36
|
-
const triedLanguageConstant = (0, autocompleteLanguageConstant_1.tryAutocompleteLanguageConstant)(updatedSettings, maybeActiveNode);
|
|
36
|
+
const triedLanguageConstant = (0, autocompleteLanguageConstant_1.tryAutocompleteLanguageConstant)(updatedSettings, nodeIdMapCollection, maybeActiveNode, maybeTrailingToken);
|
|
37
37
|
const triedPrimitiveType = (0, autocompletePrimitiveType_1.tryAutocompletePrimitiveType)(updatedSettings, maybeActiveNode, maybeTrailingToken);
|
|
38
38
|
trace.exit();
|
|
39
39
|
return {
|
|
@@ -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,uEAAuE;AACvE,SAAsB,YAAY,CAC9B,QAA4B,EAC5B,UAAiC,EACjC,SAAoB,EACpB,eAAiC,EACjC,eAA6D;;QAE7D,MAAM,KAAK,GAAU,QAAQ,CAAC,YAAY,CAAC,KAAK,oCAE5C,YAAY,CAAC,IAAI,EACjB,QAAQ,CAAC,yBAAyB,CACrC,CAAC;QAEF,MAAM,eAAe,mCACd,QAAQ,KACX,yBAAyB,EAAE,KAAK,CAAC,EAAE,GACtC,CAAC;QAEF,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,eAAe,EACf,UAAU,EACV,eAAe,EACf,SAAS,CACZ,CAAC;QAEF,MAAM,YAAY,GAA6B,MAAM,IAAA,4CAAsB,EACvE,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,kBAAkB,CACrB,CAAC;QAEF,MAAM,qBAAqB,GAAsC,IAAA,8DAA+B,EAC5F,eAAe,EACf,eAAe,
|
|
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,oCAE5C,YAAY,CAAC,IAAI,EACjB,QAAQ,CAAC,yBAAyB,CACrC,CAAC;QAEF,MAAM,eAAe,mCACd,QAAQ,KACX,yBAAyB,EAAE,KAAK,CAAC,EAAE,GACtC,CAAC;QAEF,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,eAAe,EACf,UAAU,EACV,eAAe,EACf,SAAS,CACZ,CAAC;QAEF,MAAM,YAAY,GAA6B,MAAM,IAAA,4CAAsB,EACvE,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,kBAAkB,CACrB,CAAC;QAEF,MAAM,qBAAqB,GAAsC,IAAA,8DAA+B,EAC5F,eAAe,EACf,mBAAmB,EACnB,eAAe,EACf,kBAAkB,CACrB,CAAC;QAEF,MAAM,kBAAkB,GAAmC,IAAA,wDAA4B,EACnF,eAAe,EACf,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;AAnED,oCAmEC"}
|
|
@@ -11,5 +11,5 @@ export declare function isRecordField(maybeValue: TScopeItem | undefined): maybe
|
|
|
11
11
|
export declare function isSectionMember(maybeValue: TScopeItem | undefined): maybeValue is SectionMemberScopeItem;
|
|
12
12
|
export declare function isUndefined(maybeValue: TScopeItem | undefined): maybeValue is UndefinedScopeItem;
|
|
13
13
|
export declare function findScopeItemByLiteral(nodeScope: NodeScope | undefined, literalString: string): TScopeItem | undefined;
|
|
14
|
-
export declare function
|
|
14
|
+
export declare function maybeScopeCreatorIdentifier(scopeItem: TScopeItem | undefined): Ast.Identifier | Ast.GeneralizedIdentifier | undefined;
|
|
15
15
|
export declare function findDirectUpperScopeExpression(nodeIdMapCollection: NodeIdMap.Collection, nodeId: number): EachExpression | FunctionExpression | LetExpression | RecordExpression | RecordLiteral | SectionMember | undefined;
|
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.findDirectUpperScopeExpression = exports.
|
|
17
|
+
exports.findDirectUpperScopeExpression = exports.maybeScopeCreatorIdentifier = exports.findScopeItemByLiteral = exports.isUndefined = exports.isSectionMember = exports.isRecordField = exports.isParameter = exports.isLetVariable = exports.isEach = void 0;
|
|
18
18
|
// Copyright (c) Microsoft Corporation.
|
|
19
19
|
// Licensed under the MIT license.
|
|
20
20
|
const PQP = require("@microsoft/powerquery-parser");
|
|
@@ -48,7 +48,7 @@ function findScopeItemByLiteral(nodeScope, literalString) {
|
|
|
48
48
|
return nodeScope === null || nodeScope === void 0 ? void 0 : nodeScope.get(literalString);
|
|
49
49
|
}
|
|
50
50
|
exports.findScopeItemByLiteral = findScopeItemByLiteral;
|
|
51
|
-
function
|
|
51
|
+
function maybeScopeCreatorIdentifier(scopeItem) {
|
|
52
52
|
if (!scopeItem) {
|
|
53
53
|
return undefined;
|
|
54
54
|
}
|
|
@@ -57,18 +57,16 @@ function findTheCreatorIdentifierOfOneScopeItem(scopeItem) {
|
|
|
57
57
|
case "Undefined" /* Undefined */:
|
|
58
58
|
return undefined;
|
|
59
59
|
case "LetVariable" /* LetVariable */:
|
|
60
|
-
return scopeItem.key;
|
|
61
|
-
case "Parameter" /* Parameter */:
|
|
62
|
-
return scopeItem.name;
|
|
63
60
|
case "RecordField" /* RecordField */:
|
|
64
|
-
return scopeItem.key;
|
|
65
61
|
case "SectionMember" /* SectionMember */:
|
|
66
62
|
return scopeItem.key;
|
|
63
|
+
case "Parameter" /* Parameter */:
|
|
64
|
+
return scopeItem.name;
|
|
67
65
|
default:
|
|
68
66
|
throw PQP.Assert.isNever(scopeItem);
|
|
69
67
|
}
|
|
70
68
|
}
|
|
71
|
-
exports.
|
|
69
|
+
exports.maybeScopeCreatorIdentifier = maybeScopeCreatorIdentifier;
|
|
72
70
|
function findDirectUpperScopeExpression(nodeIdMapCollection, nodeId) {
|
|
73
71
|
const astNodeById = nodeIdMapCollection.astNodeById;
|
|
74
72
|
const parentIdById = nodeIdMapCollection.parentIdById;
|
|
@@ -79,7 +77,7 @@ function findDirectUpperScopeExpression(nodeIdMapCollection, nodeId) {
|
|
|
79
77
|
currentNode.kind !== "LetExpression" /* LetExpression */ &&
|
|
80
78
|
currentNode.kind !== "RecordExpression" /* RecordExpression */ &&
|
|
81
79
|
currentNode.kind !== "RecordLiteral" /* RecordLiteral */ &&
|
|
82
|
-
currentNode.kind !== "
|
|
80
|
+
currentNode.kind !== "SectionMember" /* SectionMember */) {
|
|
83
81
|
const currentParentId = parentIdById.get(currentNode.id) || -1;
|
|
84
82
|
currentNode = astNodeById.get(currentParentId);
|
|
85
83
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"scopeUtils.js","sourceRoot":"","sources":["../../../../src/powerquery-language-services/inspection/scope/scopeUtils.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,uCAAuC;AACvC,kCAAkC;AAClC,oDAAoD;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,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,CAAC,aAAa,CAAC,CAAC;AACzC,CAAC;AALD,wDAKC;AAED,SAAgB,
|
|
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,SAAS,aAAT,SAAS,uBAAT,SAAS,CAAE,GAAG,CAAC,aAAa,CAAC,CAAC;AACzC,CAAC;AALD,wDAKC;AAED,SAAgB,2BAA2B,CACvC,SAAiC;IAEjC,IAAI,CAAC,SAAS,EAAE;QACZ,OAAO,SAAS,CAAC;KACpB;IAED,QAAQ,SAAS,CAAC,IAAI,EAAE;QACpB,uBAAwB;QACxB;YACI,OAAO,SAAS,CAAC;QAErB,qCAA+B;QAC/B,qCAA+B;QAC/B;YACI,OAAO,SAAS,CAAC,GAAG,CAAC;QAEzB;YACI,OAAO,SAAS,CAAC,IAAI,CAAC;QAE1B;YACI,MAAM,GAAG,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;KAC3C;AACL,CAAC;AAvBD,kEAuBC;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,wCAA+B,EACjD;QACE,MAAM,eAAe,GAAW,YAAY,CAAC,GAAG,CAAC,WAAW,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,CAAC;QACvE,WAAW,GAAG,WAAW,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;KAClD;IAED,OAAO,WAOQ,CAAC;AACpB,CAAC;AA9BD,wEA8BC"}
|
|
@@ -84,7 +84,7 @@ class InspectionInstance {
|
|
|
84
84
|
else if (oneIdentifierNode.identifierContextKind === "Value" /* Value */) {
|
|
85
85
|
const theScope = this.typeCache.scopeById.get(oneIdentifierNode.id);
|
|
86
86
|
const theScopeItem = (0, scopeUtils_1.findScopeItemByLiteral)(theScope, originLiteral);
|
|
87
|
-
const theCreatorIdentifier = (0, scopeUtils_1.
|
|
87
|
+
const theCreatorIdentifier = (0, scopeUtils_1.maybeScopeCreatorIdentifier)(theScopeItem);
|
|
88
88
|
return theCreatorIdentifier && theCreatorIdentifier.id === valueCreator.id;
|
|
89
89
|
}
|
|
90
90
|
else if (oneIdentifierNode.identifierContextKind === "Key" /* Key */ ||
|
|
@@ -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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"}
|
|
@@ -6,8 +6,7 @@ import { NodeScope, ParameterScopeItem, ScopeById, TScopeItem } from "../../scop
|
|
|
6
6
|
import { InspectionSettings } from "../../../inspectionSettings";
|
|
7
7
|
import { TypeById } from "../../typeCache";
|
|
8
8
|
export interface InspectTypeState extends PQP.CommonSettings, Omit<InspectionSettings, keyof PQP.LexSettings | keyof PQP.ParseSettings> {
|
|
9
|
-
readonly
|
|
10
|
-
readonly deltaTypeById: TypeById;
|
|
9
|
+
readonly typeById: TypeById;
|
|
11
10
|
readonly nodeIdMapCollection: NodeIdMap.Collection;
|
|
12
11
|
readonly scopeById: ScopeById;
|
|
13
12
|
}
|
|
@@ -63,7 +63,7 @@ function assertGetOrCreateNodeScope(state, nodeId, maybeCorrelationId) {
|
|
|
63
63
|
const triedGetOrCreateScope = yield getOrCreateScope(state, nodeId, trace.id);
|
|
64
64
|
if (powerquery_parser_1.ResultUtils.isError(triedGetOrCreateScope)) {
|
|
65
65
|
trace.exit({ ["IsThrowing" /* IsThrowing */]: true });
|
|
66
|
-
throw triedGetOrCreateScope;
|
|
66
|
+
throw triedGetOrCreateScope.error;
|
|
67
67
|
}
|
|
68
68
|
trace.exit();
|
|
69
69
|
return powerquery_parser_1.Assert.asDefined(triedGetOrCreateScope.value);
|
|
@@ -91,15 +91,10 @@ function getOrCreateScopeItemType(state, scopeItem) {
|
|
|
91
91
|
return __awaiter(this, void 0, void 0, function* () {
|
|
92
92
|
const trace = state.traceManager.entry("Inspection.ScopeItem" /* InspectScopeItem */, getOrCreateScopeItemType.name, state.maybeInitialCorrelationId);
|
|
93
93
|
const nodeId = scopeItem.id;
|
|
94
|
-
const
|
|
95
|
-
if (
|
|
96
|
-
trace.exit({
|
|
97
|
-
return
|
|
98
|
-
}
|
|
99
|
-
const maybeDeltaType = state.givenTypeById.get(nodeId);
|
|
100
|
-
if (maybeDeltaType !== undefined) {
|
|
101
|
-
trace.exit({ deltaCacheHit: true });
|
|
102
|
-
return maybeDeltaType;
|
|
94
|
+
const maybeType = state.typeById.get(nodeId);
|
|
95
|
+
if (maybeType !== undefined) {
|
|
96
|
+
trace.exit({ cacheHit: true });
|
|
97
|
+
return maybeType;
|
|
103
98
|
}
|
|
104
99
|
const scopeType = yield inspectScopeItem(state, scopeItem, trace.id);
|
|
105
100
|
trace.exit();
|
|
@@ -148,7 +143,7 @@ function inspectXor(state, xorNode, maybeCorrelationId) {
|
|
|
148
143
|
const trace = state.traceManager.entry("Inspection.Type" /* InspectType */, inspectXor.name, maybeCorrelationId, __1.TraceUtils.createXorNodeDetails(xorNode));
|
|
149
144
|
(_a = state.maybeCancellationToken) === null || _a === void 0 ? void 0 : _a.throwIfCancelled();
|
|
150
145
|
const xorNodeId = xorNode.node.id;
|
|
151
|
-
const maybeCached = state.
|
|
146
|
+
const maybeCached = state.typeById.get(xorNodeId);
|
|
152
147
|
if (maybeCached !== undefined) {
|
|
153
148
|
trace.exit();
|
|
154
149
|
return Promise.resolve(maybeCached);
|
|
@@ -288,7 +283,7 @@ function inspectXor(state, xorNode, maybeCorrelationId) {
|
|
|
288
283
|
default:
|
|
289
284
|
throw powerquery_parser_1.Assert.isNever(xorNode.node);
|
|
290
285
|
}
|
|
291
|
-
state.
|
|
286
|
+
state.typeById.set(xorNodeId, result);
|
|
292
287
|
trace.exit({ resultKind: result.kind, maybeResultExtendedKind: result.maybeExtendedKind });
|
|
293
288
|
return result;
|
|
294
289
|
});
|