brighterscript 0.71.1 → 0.72.0
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/bsconfig.schema.json +13 -0
- package/dist/BsConfig.d.ts +35 -5
- package/dist/CodeActionUtil.d.ts +17 -0
- package/dist/CodeActionUtil.js.map +1 -1
- package/dist/DiagnosticMessages.d.ts +6 -1
- package/dist/DiagnosticMessages.js +5 -0
- package/dist/DiagnosticMessages.js.map +1 -1
- package/dist/LanguageServer.d.ts +15 -2
- package/dist/LanguageServer.js +100 -7
- package/dist/LanguageServer.js.map +1 -1
- package/dist/Program.d.ts +76 -1
- package/dist/Program.js +215 -2
- package/dist/Program.js.map +1 -1
- package/dist/Scope.d.ts +53 -7
- package/dist/Scope.js +28 -66
- package/dist/Scope.js.map +1 -1
- package/dist/ScopeNamespaceLookup.d.ts +73 -0
- package/dist/ScopeNamespaceLookup.js +240 -0
- package/dist/ScopeNamespaceLookup.js.map +1 -0
- package/dist/SymbolTable.d.ts +9 -2
- package/dist/SymbolTable.js +10 -5
- package/dist/SymbolTable.js.map +1 -1
- package/dist/bscPlugin/BscPlugin.d.ts +3 -1
- package/dist/bscPlugin/BscPlugin.js +8 -0
- package/dist/bscPlugin/BscPlugin.js.map +1 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +2 -4
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
- package/dist/bscPlugin/codeActions/FixAllCodeActionsProcessor.d.ts +17 -0
- package/dist/bscPlugin/codeActions/FixAllCodeActionsProcessor.js +66 -0
- package/dist/bscPlugin/codeActions/FixAllCodeActionsProcessor.js.map +1 -0
- package/dist/bscPlugin/codeActions/codeActionHelpers.d.ts +18 -0
- package/dist/bscPlugin/codeActions/codeActionHelpers.js +29 -0
- package/dist/bscPlugin/codeActions/codeActionHelpers.js.map +1 -0
- package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.d.ts +7 -0
- package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.js +74 -0
- package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.js.map +1 -0
- package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.spec.d.ts +1 -0
- package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.spec.js +298 -0
- package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.spec.js.map +1 -0
- package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.d.ts +2 -0
- package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js +49 -4
- package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js.map +1 -1
- package/dist/bscPlugin/validation/BrsFileValidator.d.ts +13 -0
- package/dist/bscPlugin/validation/BrsFileValidator.js +42 -0
- package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
- package/dist/bscPlugin/validation/BrsFileValidator.spec.js +101 -0
- package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +1 -1
- package/dist/bscPlugin/validation/ScopeValidator.d.ts +11 -0
- package/dist/bscPlugin/validation/ScopeValidator.js +69 -0
- package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
- package/dist/files/BrsFile.d.ts +15 -0
- package/dist/files/BrsFile.js +88 -5
- package/dist/files/BrsFile.js.map +1 -1
- package/dist/files/BrsFile.spec.js +156 -3
- package/dist/files/BrsFile.spec.js.map +1 -1
- package/dist/interfaces.d.ts +51 -1
- package/dist/lsp/DocumentManager.spec.js +1 -1
- package/dist/lsp/DocumentManager.spec.js.map +1 -1
- package/dist/lsp/LspProject.d.ts +30 -1
- package/dist/lsp/Project.d.ts +19 -1
- package/dist/lsp/Project.js +98 -2
- package/dist/lsp/Project.js.map +1 -1
- package/dist/lsp/Project.spec.js +146 -9
- package/dist/lsp/Project.spec.js.map +1 -1
- package/dist/lsp/ProjectManager.d.ts +38 -2
- package/dist/lsp/ProjectManager.js +116 -4
- package/dist/lsp/ProjectManager.js.map +1 -1
- package/dist/lsp/ProjectManager.spec.js +236 -1
- package/dist/lsp/ProjectManager.spec.js.map +1 -1
- package/dist/lsp/worker/WorkerThreadProject.d.ts +13 -2
- package/dist/lsp/worker/WorkerThreadProject.js +9 -0
- package/dist/lsp/worker/WorkerThreadProject.js.map +1 -1
- package/dist/lsp/worker/WorkerThreadProject.spec.js +2 -1
- package/dist/lsp/worker/WorkerThreadProject.spec.js.map +1 -1
- package/dist/parser/Parser.d.ts +10 -0
- package/dist/parser/Parser.js +18 -3
- package/dist/parser/Parser.js.map +1 -1
- package/dist/parser/Parser.spec.js +111 -0
- package/dist/parser/Parser.spec.js.map +1 -1
- package/dist/parser/TranspileState.d.ts +4 -2
- package/dist/parser/TranspileState.js +3 -3
- package/dist/parser/TranspileState.js.map +1 -1
- package/dist/parser/tests/expression/Call.spec.js +4 -5
- package/dist/parser/tests/expression/Call.spec.js.map +1 -1
- package/dist/parser/tests/expression/Function.spec.js +2 -2
- package/dist/parser/tests/expression/Function.spec.js.map +1 -1
- package/dist/parser/tests/statement/ConstStatement.spec.js +218 -1
- package/dist/parser/tests/statement/ConstStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/Enum.spec.js +2 -0
- package/dist/parser/tests/statement/Enum.spec.js.map +1 -1
- package/dist/util.d.ts +26 -0
- package/dist/util.js +68 -0
- package/dist/util.js.map +1 -1
- package/package.json +4 -2
|
@@ -0,0 +1,240 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.ScopeNamespaceLookup = void 0;
|
|
4
|
+
const reflection_1 = require("./astUtils/reflection");
|
|
5
|
+
/**
|
|
6
|
+
* The per-scope namespace lookup. Implements `Map<string, NamespaceContainer>` so existing
|
|
7
|
+
* plugin and internal consumers (which iterate, `.get`, `.has`, `.size`, etc.) keep working.
|
|
8
|
+
*
|
|
9
|
+
* Internally lazy: `get(name)` builds the container for that name only, by intersecting
|
|
10
|
+
* the program-level `(name -> contributing files)` map with the scope's file set.
|
|
11
|
+
*
|
|
12
|
+
* Sharing primitives:
|
|
13
|
+
* - When exactly one in-scope file contributes to a namespace (the dominant case under
|
|
14
|
+
* a typical build), the container's heavy fields point directly at the file's pre-built
|
|
15
|
+
* `NamespaceFileContribution` data — including its symbolTable. Two scopes pulling in
|
|
16
|
+
* the same file get containers wrapping the same inner data.
|
|
17
|
+
* - When multiple in-scope files contribute, the container is built per-scope by merging
|
|
18
|
+
* contributions. This path is rare in practice but must be correct: it covers cases
|
|
19
|
+
* where a namespace is split across files that are all in the same scope (e.g. a shared
|
|
20
|
+
* declaration file plus theme-specific extensions).
|
|
21
|
+
*
|
|
22
|
+
* Iteration (`keys` / `values` / `entries` / `forEach`) populates every container, since
|
|
23
|
+
* "give me everything" callers don't benefit from laziness. This matches the cost of the
|
|
24
|
+
* pre-Phase-4 `buildNamespaceLookup` and only fires from LSP completion paths.
|
|
25
|
+
*/
|
|
26
|
+
class ScopeNamespaceLookup extends Map {
|
|
27
|
+
constructor(scope) {
|
|
28
|
+
super();
|
|
29
|
+
this.scope = scope;
|
|
30
|
+
/** Set to true after `populateAll` runs so iteration doesn't keep re-checking. */
|
|
31
|
+
this.isFullyBuilt = false;
|
|
32
|
+
}
|
|
33
|
+
ensureNameIndex() {
|
|
34
|
+
if (this.nameSet) {
|
|
35
|
+
return;
|
|
36
|
+
}
|
|
37
|
+
const nameSet = new Set();
|
|
38
|
+
const childrenByParent = new Map();
|
|
39
|
+
for (const file of this.scope.getAllFiles()) {
|
|
40
|
+
if ((0, reflection_1.isBrsFile)(file)) {
|
|
41
|
+
// eslint-disable-next-line @typescript-eslint/dot-notation
|
|
42
|
+
for (const nameLower of file['getNamespaceContributions']().keys()) {
|
|
43
|
+
nameSet.add(nameLower);
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
for (const name of nameSet) {
|
|
48
|
+
const lastDot = name.lastIndexOf('.');
|
|
49
|
+
if (lastDot > 0) {
|
|
50
|
+
const parentLower = name.substring(0, lastDot);
|
|
51
|
+
let arr = childrenByParent.get(parentLower);
|
|
52
|
+
if (!arr) {
|
|
53
|
+
arr = [];
|
|
54
|
+
childrenByParent.set(parentLower, arr);
|
|
55
|
+
}
|
|
56
|
+
arr.push(name);
|
|
57
|
+
}
|
|
58
|
+
}
|
|
59
|
+
this.nameSet = nameSet;
|
|
60
|
+
this.childrenByParent = childrenByParent;
|
|
61
|
+
}
|
|
62
|
+
getInScopeBrsFiles() {
|
|
63
|
+
if (!this.inScopeBrsFiles) {
|
|
64
|
+
const set = new Set();
|
|
65
|
+
for (const file of this.scope.getAllFiles()) {
|
|
66
|
+
if ((0, reflection_1.isBrsFile)(file)) {
|
|
67
|
+
set.add(file);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
70
|
+
this.inScopeBrsFiles = set;
|
|
71
|
+
}
|
|
72
|
+
return this.inScopeBrsFiles;
|
|
73
|
+
}
|
|
74
|
+
has(key) {
|
|
75
|
+
const lower = key === null || key === void 0 ? void 0 : key.toLowerCase();
|
|
76
|
+
if (!lower) {
|
|
77
|
+
return false;
|
|
78
|
+
}
|
|
79
|
+
if (super.has(lower)) {
|
|
80
|
+
return super.get(lower) !== undefined;
|
|
81
|
+
}
|
|
82
|
+
this.ensureNameIndex();
|
|
83
|
+
return this.nameSet.has(lower);
|
|
84
|
+
}
|
|
85
|
+
get(key) {
|
|
86
|
+
const lower = key === null || key === void 0 ? void 0 : key.toLowerCase();
|
|
87
|
+
if (!lower) {
|
|
88
|
+
return undefined;
|
|
89
|
+
}
|
|
90
|
+
if (super.has(lower)) {
|
|
91
|
+
return super.get(lower);
|
|
92
|
+
}
|
|
93
|
+
this.ensureNameIndex();
|
|
94
|
+
if (!this.nameSet.has(lower)) {
|
|
95
|
+
//memoize the negative result so repeated misses are cheap
|
|
96
|
+
super.set(lower, undefined);
|
|
97
|
+
return undefined;
|
|
98
|
+
}
|
|
99
|
+
const container = this.buildContainer(lower);
|
|
100
|
+
super.set(lower, container);
|
|
101
|
+
return container;
|
|
102
|
+
}
|
|
103
|
+
get size() {
|
|
104
|
+
this.ensureNameIndex();
|
|
105
|
+
return this.nameSet.size;
|
|
106
|
+
}
|
|
107
|
+
keys() {
|
|
108
|
+
this.populateAll();
|
|
109
|
+
return super.keys();
|
|
110
|
+
}
|
|
111
|
+
values() {
|
|
112
|
+
this.populateAll();
|
|
113
|
+
return super.values();
|
|
114
|
+
}
|
|
115
|
+
entries() {
|
|
116
|
+
this.populateAll();
|
|
117
|
+
return super.entries();
|
|
118
|
+
}
|
|
119
|
+
[Symbol.iterator]() {
|
|
120
|
+
return this.entries();
|
|
121
|
+
}
|
|
122
|
+
forEach(callback, thisArg) {
|
|
123
|
+
this.populateAll();
|
|
124
|
+
super.forEach(callback, thisArg);
|
|
125
|
+
}
|
|
126
|
+
populateAll() {
|
|
127
|
+
if (this.isFullyBuilt) {
|
|
128
|
+
return;
|
|
129
|
+
}
|
|
130
|
+
this.ensureNameIndex();
|
|
131
|
+
for (const name of this.nameSet) {
|
|
132
|
+
this.get(name);
|
|
133
|
+
}
|
|
134
|
+
//drop entries memoized as undefined so iteration only visits real containers
|
|
135
|
+
for (const [key, value] of [...super.entries()]) {
|
|
136
|
+
if (value === undefined) {
|
|
137
|
+
super.delete(key);
|
|
138
|
+
}
|
|
139
|
+
}
|
|
140
|
+
this.isFullyBuilt = true;
|
|
141
|
+
}
|
|
142
|
+
buildContainer(nameLower) {
|
|
143
|
+
// eslint-disable-next-line @typescript-eslint/dot-notation
|
|
144
|
+
const candidateFiles = this.scope.program['getNamespaceContributors'](nameLower);
|
|
145
|
+
if (!candidateFiles || candidateFiles.size === 0) {
|
|
146
|
+
return undefined;
|
|
147
|
+
}
|
|
148
|
+
const inScopeFiles = this.getInScopeBrsFiles();
|
|
149
|
+
const inScopeContributions = [];
|
|
150
|
+
for (const file of candidateFiles) {
|
|
151
|
+
if (inScopeFiles.has(file)) {
|
|
152
|
+
// eslint-disable-next-line @typescript-eslint/dot-notation
|
|
153
|
+
const contribution = file['getNamespaceContributions']().get(nameLower);
|
|
154
|
+
if (contribution) {
|
|
155
|
+
inScopeContributions.push(contribution);
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
if (inScopeContributions.length === 0) {
|
|
160
|
+
return undefined;
|
|
161
|
+
}
|
|
162
|
+
if (inScopeContributions.length === 1) {
|
|
163
|
+
return this.wrapSingleContribution(inScopeContributions[0], nameLower);
|
|
164
|
+
}
|
|
165
|
+
return this.aggregateContributions(inScopeContributions, nameLower);
|
|
166
|
+
}
|
|
167
|
+
/**
|
|
168
|
+
* Fast path: single in-scope contributor. The wrapper is per-scope (so its
|
|
169
|
+
* `namespaces` field can hold scope-specific children), but every other field
|
|
170
|
+
* points directly at the contribution's pre-built data.
|
|
171
|
+
*/
|
|
172
|
+
wrapSingleContribution(contribution, nameLower) {
|
|
173
|
+
//field order matches the NamespaceContainer interface declaration so the
|
|
174
|
+
//fast-path and slow-path containers share a single V8 hidden class.
|
|
175
|
+
return {
|
|
176
|
+
file: contribution.file,
|
|
177
|
+
fullName: contribution.fullName,
|
|
178
|
+
nameRange: contribution.nameRange,
|
|
179
|
+
lastPartName: contribution.lastPartName,
|
|
180
|
+
namespaces: this.buildScopedChildren(nameLower),
|
|
181
|
+
statements: contribution.statements,
|
|
182
|
+
classStatements: contribution.classStatements,
|
|
183
|
+
functionStatements: contribution.functionStatements,
|
|
184
|
+
enumStatements: contribution.enumStatements,
|
|
185
|
+
constStatements: contribution.constStatements,
|
|
186
|
+
symbolTable: contribution.symbolTable
|
|
187
|
+
};
|
|
188
|
+
}
|
|
189
|
+
/**
|
|
190
|
+
* Slow path: multiple in-scope contributors. The merged statement collections and
|
|
191
|
+
* symbolTable live at the program level (`Program.getAggregateNamespaceContainer`),
|
|
192
|
+
* keyed by `(nameLower, sorted-contributor-pkgPaths)`. Two scopes with the same
|
|
193
|
+
* in-scope file set for this namespace share the same aggregate object, just like
|
|
194
|
+
* the fast path shares the per-file contribution.
|
|
195
|
+
*
|
|
196
|
+
* The wrapper container itself is per-scope so its `namespaces` (children) field can
|
|
197
|
+
* reflect the querying scope's file set.
|
|
198
|
+
*/
|
|
199
|
+
aggregateContributions(contributions, nameLower) {
|
|
200
|
+
// eslint-disable-next-line @typescript-eslint/dot-notation
|
|
201
|
+
const aggregate = this.scope.program['getAggregateNamespaceContainer'](nameLower, contributions);
|
|
202
|
+
//field order matches the NamespaceContainer interface declaration so fast-path
|
|
203
|
+
//and slow-path containers share a single V8 hidden class
|
|
204
|
+
return {
|
|
205
|
+
file: aggregate.file,
|
|
206
|
+
fullName: aggregate.fullName,
|
|
207
|
+
nameRange: aggregate.nameRange,
|
|
208
|
+
lastPartName: aggregate.lastPartName,
|
|
209
|
+
namespaces: this.buildScopedChildren(nameLower),
|
|
210
|
+
statements: aggregate.statements,
|
|
211
|
+
classStatements: aggregate.classStatements,
|
|
212
|
+
functionStatements: aggregate.functionStatements,
|
|
213
|
+
enumStatements: aggregate.enumStatements,
|
|
214
|
+
constStatements: aggregate.constStatements,
|
|
215
|
+
symbolTable: aggregate.symbolTable
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Build the scope-filtered children map for a parent namespace. Walks the
|
|
220
|
+
* pre-computed `childrenByParent` index and recursively materializes each
|
|
221
|
+
* in-scope child container.
|
|
222
|
+
*/
|
|
223
|
+
buildScopedChildren(parentNameLower) {
|
|
224
|
+
const children = new Map();
|
|
225
|
+
this.ensureNameIndex();
|
|
226
|
+
const childNames = this.childrenByParent.get(parentNameLower);
|
|
227
|
+
if (!childNames) {
|
|
228
|
+
return children;
|
|
229
|
+
}
|
|
230
|
+
for (const childName of childNames) {
|
|
231
|
+
const child = this.get(childName);
|
|
232
|
+
if (child) {
|
|
233
|
+
children.set(child.lastPartName.toLowerCase(), child);
|
|
234
|
+
}
|
|
235
|
+
}
|
|
236
|
+
return children;
|
|
237
|
+
}
|
|
238
|
+
}
|
|
239
|
+
exports.ScopeNamespaceLookup = ScopeNamespaceLookup;
|
|
240
|
+
//# sourceMappingURL=ScopeNamespaceLookup.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ScopeNamespaceLookup.js","sourceRoot":"","sources":["../src/ScopeNamespaceLookup.ts"],"names":[],"mappings":";;;AAEA,sDAAkD;AAElD;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,MAAa,oBAAqB,SAAQ,GAA+B;IACrE,YAA6B,KAAY;QACrC,KAAK,EAAE,CAAC;QADiB,UAAK,GAAL,KAAK,CAAO;QAczC,kFAAkF;QAC1E,iBAAY,GAAG,KAAK,CAAC;IAb7B,CAAC;IAeO,eAAe;QACnB,IAAI,IAAI,CAAC,OAAO,EAAE;YACd,OAAO;SACV;QACD,MAAM,OAAO,GAAG,IAAI,GAAG,EAAU,CAAC;QAClC,MAAM,gBAAgB,GAAG,IAAI,GAAG,EAAoB,CAAC;QACrD,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE;YACzC,IAAI,IAAA,sBAAS,EAAC,IAAI,CAAC,EAAE;gBACjB,2DAA2D;gBAC3D,KAAK,MAAM,SAAS,IAAI,IAAI,CAAC,2BAA2B,CAAC,EAAE,CAAC,IAAI,EAAE,EAAE;oBAChE,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;iBAC1B;aACJ;SACJ;QACD,KAAK,MAAM,IAAI,IAAI,OAAO,EAAE;YACxB,MAAM,OAAO,GAAG,IAAI,CAAC,WAAW,CAAC,GAAG,CAAC,CAAC;YACtC,IAAI,OAAO,GAAG,CAAC,EAAE;gBACb,MAAM,WAAW,GAAG,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CAAC;gBAC/C,IAAI,GAAG,GAAG,gBAAgB,CAAC,GAAG,CAAC,WAAW,CAAC,CAAC;gBAC5C,IAAI,CAAC,GAAG,EAAE;oBACN,GAAG,GAAG,EAAE,CAAC;oBACT,gBAAgB,CAAC,GAAG,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC;iBAC1C;gBACD,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;aAClB;SACJ;QACD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,gBAAgB,GAAG,gBAAgB,CAAC;IAC7C,CAAC;IAEO,kBAAkB;QACtB,IAAI,CAAC,IAAI,CAAC,eAAe,EAAE;YACvB,MAAM,GAAG,GAAG,IAAI,GAAG,EAAW,CAAC;YAC/B,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE,EAAE;gBACzC,IAAI,IAAA,sBAAS,EAAC,IAAI,CAAC,EAAE;oBACjB,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;iBACjB;aACJ;YACD,IAAI,CAAC,eAAe,GAAG,GAAG,CAAC;SAC9B;QACD,OAAO,IAAI,CAAC,eAAe,CAAC;IAChC,CAAC;IAEe,GAAG,CAAC,GAAW;QAC3B,MAAM,KAAK,GAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,EAAE;YACR,OAAO,KAAK,CAAC;SAChB;QACD,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAClB,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,SAAS,CAAC;SACzC;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,OAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;IACpC,CAAC;IAEe,GAAG,CAAC,GAAW;QAC3B,MAAM,KAAK,GAAG,GAAG,aAAH,GAAG,uBAAH,GAAG,CAAE,WAAW,EAAE,CAAC;QACjC,IAAI,CAAC,KAAK,EAAE;YACR,OAAO,SAAS,CAAC;SACpB;QACD,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAClB,OAAO,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;SAC3B;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,IAAI,CAAC,IAAI,CAAC,OAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE;YAC3B,0DAA0D;YAC1D,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,SAAgB,CAAC,CAAC;YACnC,OAAO,SAAS,CAAC;SACpB;QACD,MAAM,SAAS,GAAG,IAAI,CAAC,cAAc,CAAC,KAAK,CAAC,CAAC;QAC7C,KAAK,CAAC,GAAG,CAAC,KAAK,EAAE,SAAgB,CAAC,CAAC;QACnC,OAAO,SAAS,CAAC;IACrB,CAAC;IAED,IAAoB,IAAI;QACpB,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,OAAO,IAAI,CAAC,OAAQ,CAAC,IAAI,CAAC;IAC9B,CAAC;IAEe,IAAI;QAChB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC,IAAI,EAAE,CAAC;IACxB,CAAC;IAEe,MAAM;QAClB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC,MAAM,EAAE,CAAC;IAC1B,CAAC;IAEe,OAAO;QACnB,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,OAAO,KAAK,CAAC,OAAO,EAAE,CAAC;IAC3B,CAAC;IAEe,CAAC,MAAM,CAAC,QAAQ,CAAC;QAC7B,OAAO,IAAI,CAAC,OAAO,EAAE,CAAC;IAC1B,CAAC;IAEe,OAAO,CACnB,QAAgG,EAChG,OAAa;QAEb,IAAI,CAAC,WAAW,EAAE,CAAC;QACnB,KAAK,CAAC,OAAO,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACrC,CAAC;IAEO,WAAW;QACf,IAAI,IAAI,CAAC,YAAY,EAAE;YACnB,OAAO;SACV;QACD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,OAAQ,EAAE;YAC9B,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;SAClB;QACD,6EAA6E;QAC7E,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,OAAO,EAAE,CAAC,EAAE;YAC7C,IAAI,KAAK,KAAK,SAAS,EAAE;gBACrB,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;aACrB;SACJ;QACD,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;IAC7B,CAAC;IAEO,cAAc,CAAC,SAAiB;QACpC,2DAA2D;QAC3D,MAAM,cAAc,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,0BAA0B,CAAC,CAAC,SAAS,CAAC,CAAC;QACjF,IAAI,CAAC,cAAc,IAAI,cAAc,CAAC,IAAI,KAAK,CAAC,EAAE;YAC9C,OAAO,SAAS,CAAC;SACpB;QACD,MAAM,YAAY,GAAG,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC/C,MAAM,oBAAoB,GAAgC,EAAE,CAAC;QAC7D,KAAK,MAAM,IAAI,IAAI,cAAc,EAAE;YAC/B,IAAI,YAAY,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE;gBACxB,2DAA2D;gBAC3D,MAAM,YAAY,GAAG,IAAI,CAAC,2BAA2B,CAAC,EAAE,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;gBACxE,IAAI,YAAY,EAAE;oBACd,oBAAoB,CAAC,IAAI,CAAC,YAAY,CAAC,CAAC;iBAC3C;aACJ;SACJ;QACD,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE;YACnC,OAAO,SAAS,CAAC;SACpB;QACD,IAAI,oBAAoB,CAAC,MAAM,KAAK,CAAC,EAAE;YACnC,OAAO,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,CAAC,CAAC,CAAC,EAAE,SAAS,CAAC,CAAC;SAC1E;QACD,OAAO,IAAI,CAAC,sBAAsB,CAAC,oBAAoB,EAAE,SAAS,CAAC,CAAC;IACxE,CAAC;IAED;;;;OAIG;IACK,sBAAsB,CAAC,YAAuC,EAAE,SAAiB;QACrF,yEAAyE;QACzE,oEAAoE;QACpE,OAAO;YACH,IAAI,EAAE,YAAY,CAAC,IAAI;YACvB,QAAQ,EAAE,YAAY,CAAC,QAAQ;YAC/B,SAAS,EAAE,YAAY,CAAC,SAAS;YACjC,YAAY,EAAE,YAAY,CAAC,YAAY;YACvC,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC;YAC/C,UAAU,EAAE,YAAY,CAAC,UAAU;YACnC,eAAe,EAAE,YAAY,CAAC,eAAe;YAC7C,kBAAkB,EAAE,YAAY,CAAC,kBAAkB;YACnD,cAAc,EAAE,YAAY,CAAC,cAAc;YAC3C,eAAe,EAAE,YAAY,CAAC,eAAe;YAC7C,WAAW,EAAE,YAAY,CAAC,WAAW;SACxC,CAAC;IACN,CAAC;IAED;;;;;;;;;OASG;IACK,sBAAsB,CAAC,aAA0C,EAAE,SAAiB;QACxF,2DAA2D;QAC3D,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,gCAAgC,CAAC,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC;QACjG,+EAA+E;QAC/E,yDAAyD;QACzD,OAAO;YACH,IAAI,EAAE,SAAS,CAAC,IAAI;YACpB,QAAQ,EAAE,SAAS,CAAC,QAAQ;YAC5B,SAAS,EAAE,SAAS,CAAC,SAAS;YAC9B,YAAY,EAAE,SAAS,CAAC,YAAY;YACpC,UAAU,EAAE,IAAI,CAAC,mBAAmB,CAAC,SAAS,CAAC;YAC/C,UAAU,EAAE,SAAS,CAAC,UAAU;YAChC,eAAe,EAAE,SAAS,CAAC,eAAe;YAC1C,kBAAkB,EAAE,SAAS,CAAC,kBAAkB;YAChD,cAAc,EAAE,SAAS,CAAC,cAAc;YACxC,eAAe,EAAE,SAAS,CAAC,eAAe;YAC1C,WAAW,EAAE,SAAS,CAAC,WAAW;SACrC,CAAC;IACN,CAAC;IAED;;;;OAIG;IACK,mBAAmB,CAAC,eAAuB;QAC/C,MAAM,QAAQ,GAAG,IAAI,GAAG,EAA8B,CAAC;QACvD,IAAI,CAAC,eAAe,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,IAAI,CAAC,gBAAiB,CAAC,GAAG,CAAC,eAAe,CAAC,CAAC;QAC/D,IAAI,CAAC,UAAU,EAAE;YACb,OAAO,QAAQ,CAAC;SACnB;QACD,KAAK,MAAM,SAAS,IAAI,UAAU,EAAE;YAChC,MAAM,KAAK,GAAG,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAClC,IAAI,KAAK,EAAE;gBACP,QAAQ,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,WAAW,EAAE,EAAE,KAAK,CAAC,CAAC;aACzD;SACJ;QACD,OAAO,QAAQ,CAAC;IACpB,CAAC;CACJ;AAhPD,oDAgPC"}
|
package/dist/SymbolTable.d.ts
CHANGED
|
@@ -57,8 +57,10 @@ export declare class SymbolTable {
|
|
|
57
57
|
*/
|
|
58
58
|
addSymbol(name: string, range: Range, type: BscType): void;
|
|
59
59
|
/**
|
|
60
|
-
* Adds all the symbols from another table to this one
|
|
61
|
-
*
|
|
60
|
+
* Adds all the symbols from another table to this one.
|
|
61
|
+
* Source symbols are shared by reference (not cloned) since BscSymbol is treated as immutable.
|
|
62
|
+
* The destination still owns its own array per key, so subsequent addSymbol calls on either
|
|
63
|
+
* table do not leak across.
|
|
62
64
|
*/
|
|
63
65
|
mergeSymbolTable(symbolTable: SymbolTable): void;
|
|
64
66
|
/**
|
|
@@ -66,6 +68,11 @@ export declare class SymbolTable {
|
|
|
66
68
|
*/
|
|
67
69
|
private toJSON;
|
|
68
70
|
}
|
|
71
|
+
/**
|
|
72
|
+
* A symbol entry stored in a SymbolTable.
|
|
73
|
+
* Treated as immutable once added: range and type must not be reassigned, and the object
|
|
74
|
+
* may be shared by reference across multiple symbol tables (e.g. via mergeSymbolTable).
|
|
75
|
+
*/
|
|
69
76
|
export interface BscSymbol {
|
|
70
77
|
name: string;
|
|
71
78
|
range: Range;
|
package/dist/SymbolTable.js
CHANGED
|
@@ -104,14 +104,19 @@ class SymbolTable {
|
|
|
104
104
|
});
|
|
105
105
|
}
|
|
106
106
|
/**
|
|
107
|
-
* Adds all the symbols from another table to this one
|
|
108
|
-
*
|
|
107
|
+
* Adds all the symbols from another table to this one.
|
|
108
|
+
* Source symbols are shared by reference (not cloned) since BscSymbol is treated as immutable.
|
|
109
|
+
* The destination still owns its own array per key, so subsequent addSymbol calls on either
|
|
110
|
+
* table do not leak across.
|
|
109
111
|
*/
|
|
110
112
|
mergeSymbolTable(symbolTable) {
|
|
111
|
-
for (
|
|
112
|
-
|
|
113
|
-
|
|
113
|
+
for (const [key, sourceSymbols] of symbolTable.symbolMap) {
|
|
114
|
+
let destSymbols = this.symbolMap.get(key);
|
|
115
|
+
if (!destSymbols) {
|
|
116
|
+
destSymbols = [];
|
|
117
|
+
this.symbolMap.set(key, destSymbols);
|
|
114
118
|
}
|
|
119
|
+
destSymbols.push(...sourceSymbols);
|
|
115
120
|
}
|
|
116
121
|
}
|
|
117
122
|
/**
|
package/dist/SymbolTable.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SymbolTable.js","sourceRoot":"","sources":["../src/SymbolTable.ts"],"names":[],"mappings":";;;AAGA;;;GAGG;AACH,MAAa,WAAW;IACpB,YACW,IAAY,EACnB,cAAoC;QAD7B,SAAI,GAAJ,IAAI,CAAQ;QAQvB;;;WAGG;QACK,cAAS,GAAG,IAAI,GAAG,EAAuB,CAAC;QAE3C,oBAAe,GAAG,EAA2B,CAAC;QAuB9C,aAAQ,GAAG,IAAI,GAAG,EAAe,CAAC;QAlCtC,IAAI,cAAc,EAAE;YAChB,IAAI,CAAC,kBAAkB,CAAC,cAAc,CAAC,CAAC;SAC3C;IACL,CAAC;IAUD;;OAEG;IACI,kBAAkB,CAAC,QAA6B;QACnD,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACI,iBAAiB;QACpB,IAAI,CAAC,eAAe,CAAC,GAAG,EAAE,CAAC;IAC/B,CAAC;IAED;;OAEG;IACH,IAAW,MAAM;;QACb,OAAO,MAAA,MAAA,IAAI,CAAC,eAAe,EAAC,IAAI,CAAC,eAAe,CAAC,MAAM,GAAG,CAAC,CAAC,kDAAI,CAAC;IACrE,CAAC;IAID;;OAEG;IACI,UAAU,CAAC,OAAoB;QAClC,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;IAC/B,CAAC;IAED;;OAEG;IACI,aAAa,CAAC,OAAoB;QACrC,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IAClC,CAAC;IAED;;;;;;;OAOG;IACH,SAAS,CAAC,IAAY,EAAE,YAAY,GAAG,IAAI;QACvC,OAAO,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;IAChD,CAAC;IAED;;;;;;;OAOG;IACH,SAAS,CAAC,IAAY,EAAE,YAAY,GAAG,IAAI;;QACvC,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/B,IAAI,MAA+B,CAAC;QACpC,wBAAwB;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;YACpC,OAAO,MAAM,CAAC;SACjB;QACD,oCAAoC;QACpC,KAAK,IAAI,OAAO,IAAI,IAAI,CAAC,QAAQ,EAAE;YAC/B,IAAI,CAAC,MAAM,GAAG,OAAO,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,EAAE;gBACvC,OAAO,MAAM,CAAC;aACjB;SACJ;QACD,8BAA8B;QAC9B,IAAI,YAAY,IAAI,CAAC,MAAM,GAAG,MAAA,IAAI,CAAC,MAAM,0CAAE,SAAS,CAAC,GAAG,CAAC,CAAC,EAAE;YACxD,OAAO,MAAM,CAAC;SACjB;IACL,CAAC;IAED;;OAEG;IACH,SAAS,CAAC,IAAY,EAAE,KAAY,EAAE,IAAa;;QAC/C,MAAM,GAAG,GAAG,IAAI,CAAC,WAAW,EAAE,CAAC;QAC/B,IAAI,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;YAC1B,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;SAC/B;QACD,MAAA,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,GAAG,CAAC,0CAAE,IAAI,CAAC;YAC1B,IAAI,EAAE,IAAI;YACV,KAAK,EAAE,KAAK;YACZ,IAAI,EAAE,IAAI;SACb,CAAC,CAAC;IACP,CAAC;IAED
|
|
1
|
+
{"version":3,"file":"SymbolTable.js","sourceRoot":"","sources":["../src/SymbolTable.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,14 +1,16 @@
|
|
|
1
|
-
import type { BeforeFileTranspileEvent, Plugin, OnFileValidateEvent, OnGetCodeActionsEvent, ProvideHoverEvent, OnGetSemanticTokensEvent, OnScopeValidateEvent, ProvideCompletionsEvent, ProvideDefinitionEvent, ProvideReferencesEvent, ProvideDocumentSymbolsEvent, ProvideWorkspaceSymbolsEvent } from '../interfaces';
|
|
1
|
+
import type { BeforeFileTranspileEvent, Plugin, OnFileValidateEvent, OnGetCodeActionsEvent, OnGetSourceFixAllCodeActionsEvent, ProvideHoverEvent, OnGetSemanticTokensEvent, OnScopeValidateEvent, ProvideCompletionsEvent, ProvideDefinitionEvent, ProvideReferencesEvent, ProvideDocumentSymbolsEvent, ProvideWorkspaceSymbolsEvent, ProvideSelectionRangesEvent } from '../interfaces';
|
|
2
2
|
import type { Program } from '../Program';
|
|
3
3
|
export declare class BscPlugin implements Plugin {
|
|
4
4
|
name: string;
|
|
5
5
|
onGetCodeActions(event: OnGetCodeActionsEvent): void;
|
|
6
|
+
onGetSourceFixAllCodeActions(event: OnGetSourceFixAllCodeActionsEvent): void;
|
|
6
7
|
provideHover(event: ProvideHoverEvent): void;
|
|
7
8
|
provideDocumentSymbols(event: ProvideDocumentSymbolsEvent): import("vscode-languageserver-types").DocumentSymbol[];
|
|
8
9
|
provideWorkspaceSymbols(event: ProvideWorkspaceSymbolsEvent): import("vscode-languageserver-types").WorkspaceSymbol[];
|
|
9
10
|
provideCompletions(event: ProvideCompletionsEvent): void;
|
|
10
11
|
provideDefinition(event: ProvideDefinitionEvent): void;
|
|
11
12
|
provideReferences(event: ProvideReferencesEvent): void;
|
|
13
|
+
provideSelectionRanges(event: ProvideSelectionRangesEvent): void;
|
|
12
14
|
onGetSemanticTokens(event: OnGetSemanticTokensEvent): void;
|
|
13
15
|
onFileValidate(event: OnFileValidateEvent): void;
|
|
14
16
|
private scopeValidator;
|
|
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.BscPlugin = void 0;
|
|
4
4
|
const reflection_1 = require("../astUtils/reflection");
|
|
5
5
|
const CodeActionsProcessor_1 = require("./codeActions/CodeActionsProcessor");
|
|
6
|
+
const FixAllCodeActionsProcessor_1 = require("./codeActions/FixAllCodeActionsProcessor");
|
|
6
7
|
const CompletionsProcessor_1 = require("./completions/CompletionsProcessor");
|
|
7
8
|
const DefinitionProvider_1 = require("./definition/DefinitionProvider");
|
|
8
9
|
const DocumentSymbolProcessor_1 = require("./symbols/DocumentSymbolProcessor");
|
|
@@ -15,6 +16,7 @@ const ProgramValidator_1 = require("./validation/ProgramValidator");
|
|
|
15
16
|
const ScopeValidator_1 = require("./validation/ScopeValidator");
|
|
16
17
|
const XmlFileValidator_1 = require("./validation/XmlFileValidator");
|
|
17
18
|
const WorkspaceSymbolProcessor_1 = require("./symbols/WorkspaceSymbolProcessor");
|
|
19
|
+
const SelectionRangesProcessor_1 = require("./selectionRanges/SelectionRangesProcessor");
|
|
18
20
|
class BscPlugin {
|
|
19
21
|
constructor() {
|
|
20
22
|
this.name = 'BscPlugin';
|
|
@@ -23,6 +25,9 @@ class BscPlugin {
|
|
|
23
25
|
onGetCodeActions(event) {
|
|
24
26
|
new CodeActionsProcessor_1.CodeActionsProcessor(event).process();
|
|
25
27
|
}
|
|
28
|
+
onGetSourceFixAllCodeActions(event) {
|
|
29
|
+
new FixAllCodeActionsProcessor_1.FixAllCodeActionsProcessor(event).process();
|
|
30
|
+
}
|
|
26
31
|
provideHover(event) {
|
|
27
32
|
return new HoverProcessor_1.HoverProcessor(event).process();
|
|
28
33
|
}
|
|
@@ -41,6 +46,9 @@ class BscPlugin {
|
|
|
41
46
|
provideReferences(event) {
|
|
42
47
|
new ReferencesProvider_1.ReferencesProvider(event).process();
|
|
43
48
|
}
|
|
49
|
+
provideSelectionRanges(event) {
|
|
50
|
+
new SelectionRangesProcessor_1.SelectionRangesProcessor(event).process();
|
|
51
|
+
}
|
|
44
52
|
onGetSemanticTokens(event) {
|
|
45
53
|
if ((0, reflection_1.isBrsFile)(event.file)) {
|
|
46
54
|
return new BrsFileSemanticTokensProcessor_1.BrsFileSemanticTokensProcessor(event).process();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BscPlugin.js","sourceRoot":"","sources":["../../src/bscPlugin/BscPlugin.ts"],"names":[],"mappings":";;;AAAA,uDAA8D;AAG9D,6EAA0E;AAC1E,6EAA0E;AAC1E,wEAAqE;AACrE,+EAA4E;AAC5E,2DAAwD;AACxD,wEAAqE;AACrE,oGAAiG;AACjG,2FAAwF;AACxF,oEAAiE;AACjE,oEAAiE;AACjE,gEAA6D;AAC7D,oEAAiE;AACjE,iFAA8E;
|
|
1
|
+
{"version":3,"file":"BscPlugin.js","sourceRoot":"","sources":["../../src/bscPlugin/BscPlugin.ts"],"names":[],"mappings":";;;AAAA,uDAA8D;AAG9D,6EAA0E;AAC1E,yFAAsF;AACtF,6EAA0E;AAC1E,wEAAqE;AACrE,+EAA4E;AAC5E,2DAAwD;AACxD,wEAAqE;AACrE,oGAAiG;AACjG,2FAAwF;AACxF,oEAAiE;AACjE,oEAAiE;AACjE,gEAA6D;AAC7D,oEAAiE;AACjE,iFAA8E;AAC9E,yFAAsF;AAEtF,MAAa,SAAS;IAAtB;QACW,SAAI,GAAG,WAAW,CAAC;QAoDlB,mBAAc,GAAG,IAAI,+BAAc,EAAE,CAAC;IAiBlD,CAAC;IAnEU,gBAAgB,CAAC,KAA4B;QAChD,IAAI,2CAAoB,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IAC9C,CAAC;IAEM,4BAA4B,CAAC,KAAwC;QACxE,IAAI,uDAA0B,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IACpD,CAAC;IAEM,YAAY,CAAC,KAAwB;QACxC,OAAO,IAAI,+BAAc,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IAC/C,CAAC;IAEM,sBAAsB,CAAC,KAAkC;QAC5D,OAAO,IAAI,iDAAuB,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IACxD,CAAC;IAEM,uBAAuB,CAAC,KAAmC;QAC9D,OAAO,IAAI,mDAAwB,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IACzD,CAAC;IAEM,kBAAkB,CAAC,KAA8B;QACpD,IAAI,2CAAoB,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IAC9C,CAAC;IAEM,iBAAiB,CAAC,KAA6B;QAClD,IAAI,uCAAkB,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IAC5C,CAAC;IAEM,iBAAiB,CAAC,KAA6B;QAClD,IAAI,uCAAkB,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IAC5C,CAAC;IAEM,sBAAsB,CAAC,KAAkC;QAC5D,IAAI,mDAAwB,CAAC,KAAK,CAAC,CAAC,OAAO,EAAE,CAAC;IAClD,CAAC;IAEM,mBAAmB,CAAC,KAA+B;QACtD,IAAI,IAAA,sBAAS,EAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACvB,OAAO,IAAI,+DAA8B,CAAC,KAAY,CAAC,CAAC,OAAO,EAAE,CAAC;SACrE;IACL,CAAC;IAEM,cAAc,CAAC,KAA0B;QAC5C,IAAI,IAAA,sBAAS,EAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACvB,OAAO,IAAI,mCAAgB,CAAC,KAAY,CAAC,CAAC,OAAO,EAAE,CAAC;SACvD;aAAM,IAAI,IAAA,sBAAS,EAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YAC9B,OAAO,IAAI,mCAAgB,CAAC,KAAY,CAAC,CAAC,OAAO,EAAE,CAAC;SACvD;IACL,CAAC;IAIM,eAAe,CAAC,KAA2B;QAC9C,IAAI,CAAC,cAAc,CAAC,YAAY,CAAC,KAAK,CAAC,CAAC;IAC5C,CAAC;IAEM,oBAAoB,CAAC,OAAgB;QACxC,IAAI,mCAAgB,CAAC,OAAO,CAAC,CAAC,OAAO,EAAE,CAAC;QACxC,uDAAuD;QACvD,IAAI,CAAC,cAAc,CAAC,KAAK,EAAE,CAAC;IAChC,CAAC;IAEM,mBAAmB,CAAC,KAA+B;QACtD,IAAI,IAAA,sBAAS,EAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YACvB,OAAO,IAAI,2DAA4B,CAAC,KAAY,CAAC,CAAC,OAAO,EAAE,CAAC;SACnE;IACL,CAAC;CACJ;AAtED,8BAsEC"}
|
|
@@ -9,6 +9,7 @@ const util_1 = require("../../util");
|
|
|
9
9
|
const reflection_1 = require("../../astUtils/reflection");
|
|
10
10
|
const visitors_1 = require("../../astUtils/visitors");
|
|
11
11
|
const TokenKind_1 = require("../../lexer/TokenKind");
|
|
12
|
+
const codeActionHelpers_1 = require("./codeActionHelpers");
|
|
12
13
|
class CodeActionsProcessor {
|
|
13
14
|
constructor(event) {
|
|
14
15
|
this.event = event;
|
|
@@ -252,11 +253,8 @@ class CodeActionsProcessor {
|
|
|
252
253
|
* Offers Group, Task, and ContentNode as common choices.
|
|
253
254
|
*/
|
|
254
255
|
suggestMissingExtendsQuickFix(diagnostic) {
|
|
255
|
-
var _a;
|
|
256
256
|
const srcPath = this.event.file.srcPath;
|
|
257
|
-
const
|
|
258
|
-
//inject new attribute after the final attribute, or after the `<component` if there are no attributes
|
|
259
|
-
const pos = ((_a = component.attributes[component.attributes.length - 1]) !== null && _a !== void 0 ? _a : component.tag).range.end;
|
|
257
|
+
const pos = (0, codeActionHelpers_1.getMissingExtendsInsertPosition)(this.event.file);
|
|
260
258
|
this.event.codeActions.push(CodeActionUtil_1.codeActionUtil.createCodeAction({
|
|
261
259
|
title: `Extend "Group"`,
|
|
262
260
|
diagnostics: [diagnostic],
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"CodeActionsProcessor.js","sourceRoot":"","sources":["../../../src/bscPlugin/codeActions/CodeActionsProcessor.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"CodeActionsProcessor.js","sourceRoot":"","sources":["../../../src/bscPlugin/codeActions/CodeActionsProcessor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import type { OnGetSourceFixAllCodeActionsEvent } from '../../interfaces';
|
|
2
|
+
export declare class FixAllCodeActionsProcessor {
|
|
3
|
+
event: OnGetSourceFixAllCodeActionsEvent;
|
|
4
|
+
constructor(event: OnGetSourceFixAllCodeActionsEvent);
|
|
5
|
+
process(): void;
|
|
6
|
+
/**
|
|
7
|
+
* For every `voidFunctionMayNotReturnValue` diagnostic in this file,
|
|
8
|
+
* remove the return value expression, leaving the bare `return` keyword.
|
|
9
|
+
*/
|
|
10
|
+
private processVoidFunctionReturnActions;
|
|
11
|
+
/**
|
|
12
|
+
* For every `xmlComponentMissingExtendsAttribute` diagnostic in this file,
|
|
13
|
+
* insert `extends="Group"` — the same choice marked `isPreferred` in the
|
|
14
|
+
* per-diagnostic quick-fix.
|
|
15
|
+
*/
|
|
16
|
+
private processMissingExtends;
|
|
17
|
+
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.FixAllCodeActionsProcessor = void 0;
|
|
4
|
+
const DiagnosticMessages_1 = require("../../DiagnosticMessages");
|
|
5
|
+
const reflection_1 = require("../../astUtils/reflection");
|
|
6
|
+
const codeActionHelpers_1 = require("./codeActionHelpers");
|
|
7
|
+
class FixAllCodeActionsProcessor {
|
|
8
|
+
constructor(event) {
|
|
9
|
+
this.event = event;
|
|
10
|
+
}
|
|
11
|
+
process() {
|
|
12
|
+
const byCode = new Map();
|
|
13
|
+
for (const diagnostic of this.event.diagnostics) {
|
|
14
|
+
const key = diagnostic.code;
|
|
15
|
+
if (!byCode.has(key)) {
|
|
16
|
+
byCode.set(key, []);
|
|
17
|
+
}
|
|
18
|
+
byCode.get(key).push(diagnostic);
|
|
19
|
+
}
|
|
20
|
+
const missingExtends = byCode.get(DiagnosticMessages_1.DiagnosticCodeMap.xmlComponentMissingExtendsAttribute);
|
|
21
|
+
if (missingExtends) {
|
|
22
|
+
this.processMissingExtends(missingExtends);
|
|
23
|
+
}
|
|
24
|
+
const voidFunctionReturns = byCode.get(DiagnosticMessages_1.DiagnosticCodeMap.voidFunctionMayNotReturnValue);
|
|
25
|
+
if (voidFunctionReturns) {
|
|
26
|
+
this.processVoidFunctionReturnActions(voidFunctionReturns);
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
/**
|
|
30
|
+
* For every `voidFunctionMayNotReturnValue` diagnostic in this file,
|
|
31
|
+
* remove the return value expression, leaving the bare `return` keyword.
|
|
32
|
+
*/
|
|
33
|
+
processVoidFunctionReturnActions(diagnostics) {
|
|
34
|
+
const changes = diagnostics.map(diagnostic => (0, codeActionHelpers_1.getRemoveReturnValueChange)(diagnostic, this.event.file.srcPath));
|
|
35
|
+
this.event.actions.push({
|
|
36
|
+
title: 'Remove all void return values',
|
|
37
|
+
kind: 'source.fixAll.brighterscript',
|
|
38
|
+
isPreferred: true,
|
|
39
|
+
changes: changes
|
|
40
|
+
});
|
|
41
|
+
}
|
|
42
|
+
/**
|
|
43
|
+
* For every `xmlComponentMissingExtendsAttribute` diagnostic in this file,
|
|
44
|
+
* insert `extends="Group"` — the same choice marked `isPreferred` in the
|
|
45
|
+
* per-diagnostic quick-fix.
|
|
46
|
+
*/
|
|
47
|
+
processMissingExtends(diagnostics) {
|
|
48
|
+
if (!(0, reflection_1.isXmlFile)(this.event.file)) {
|
|
49
|
+
return;
|
|
50
|
+
}
|
|
51
|
+
const changes = diagnostics.map(() => ({
|
|
52
|
+
type: 'insert',
|
|
53
|
+
filePath: this.event.file.srcPath,
|
|
54
|
+
position: (0, codeActionHelpers_1.getMissingExtendsInsertPosition)(this.event.file),
|
|
55
|
+
newText: ' extends="Group"'
|
|
56
|
+
}));
|
|
57
|
+
this.event.actions.push({
|
|
58
|
+
title: 'Add missing extends attributes',
|
|
59
|
+
kind: 'source.fixAll.brighterscript',
|
|
60
|
+
isPreferred: true,
|
|
61
|
+
changes: changes
|
|
62
|
+
});
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
exports.FixAllCodeActionsProcessor = FixAllCodeActionsProcessor;
|
|
66
|
+
//# sourceMappingURL=FixAllCodeActionsProcessor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"FixAllCodeActionsProcessor.js","sourceRoot":"","sources":["../../../src/bscPlugin/codeActions/FixAllCodeActionsProcessor.ts"],"names":[],"mappings":";;;AACA,iEAA6D;AAI7D,0DAAsD;AACtD,2DAAkG;AAElG,MAAa,0BAA0B;IACnC,YACW,KAAwC;QAAxC,UAAK,GAAL,KAAK,CAAmC;IAC/C,CAAC;IAEE,OAAO;QACV,MAAM,MAAM,GAAG,IAAI,GAAG,EAAmC,CAAC;QAC1D,KAAK,MAAM,UAAU,IAAI,IAAI,CAAC,KAAK,CAAC,WAAW,EAAE;YAC7C,MAAM,GAAG,GAAG,UAAU,CAAC,IAAI,CAAC;YAC5B,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAClB,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,CAAC,CAAC;aACvB;YACD,MAAM,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;SACpC;QAED,MAAM,cAAc,GAAG,MAAM,CAAC,GAAG,CAAC,sCAAiB,CAAC,mCAAmC,CAAC,CAAC;QACzF,IAAI,cAAc,EAAE;YAChB,IAAI,CAAC,qBAAqB,CAAC,cAAgF,CAAC,CAAC;SAChH;QAED,MAAM,mBAAmB,GAAG,MAAM,CAAC,GAAG,CAAC,sCAAiB,CAAC,6BAA6B,CAAC,CAAC;QACxF,IAAI,mBAAmB,EAAE;YACrB,IAAI,CAAC,gCAAgC,CAAC,mBAAmB,CAAC,CAAC;SAC9D;IACL,CAAC;IAED;;;OAGG;IACK,gCAAgC,CAAC,WAA2B;QAChE,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC,IAAA,8CAA0B,EAAC,UAAU,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC/G,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YACpB,KAAK,EAAE,+BAA+B;YACtC,IAAI,EAAE,8BAA8B;YACpC,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,OAAO;SACnB,CAAC,CAAC;IACP,CAAC;IAED;;;;OAIG;IACK,qBAAqB,CAAC,WAA2E;QACrG,IAAI,CAAC,IAAA,sBAAS,EAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YAC7B,OAAO;SACV;QAED,MAAM,OAAO,GAAG,WAAW,CAAC,GAAG,CAAC,GAAG,EAAE,CAAC,CAAC;YACnC,IAAI,EAAE,QAAiB;YACvB,QAAQ,EAAE,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,OAAO;YACjC,QAAQ,EAAE,IAAA,mDAA+B,EAAC,IAAI,CAAC,KAAK,CAAC,IAAe,CAAC;YACrE,OAAO,EAAE,kBAAkB;SAC9B,CAAC,CAAC,CAAC;QAEJ,IAAI,CAAC,KAAK,CAAC,OAAO,CAAC,IAAI,CAAC;YACpB,KAAK,EAAE,gCAAgC;YACvC,IAAI,EAAE,8BAA8B;YACpC,WAAW,EAAE,IAAI;YACjB,OAAO,EAAE,OAAO;SACnB,CAAC,CAAC;IACP,CAAC;CACJ;AAhED,gEAgEC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import type { Diagnostic } from 'vscode-languageserver';
|
|
2
|
+
import type { XmlFile } from '../../files/XmlFile';
|
|
3
|
+
/**
|
|
4
|
+
* Returns the position at which an `extends` attribute should be inserted for
|
|
5
|
+
* a component that is missing one: after the last existing attribute, or after
|
|
6
|
+
* the `<component` tag itself if there are no attributes yet.
|
|
7
|
+
*/
|
|
8
|
+
export declare function getMissingExtendsInsertPosition(file: XmlFile): import("vscode-languageserver-types").Position;
|
|
9
|
+
/**
|
|
10
|
+
* Returns the delete change that removes the return value from a `return <expr>`
|
|
11
|
+
* statement flagged by `voidFunctionMayNotReturnValue`. Leaves the bare `return`
|
|
12
|
+
* keyword in place.
|
|
13
|
+
*/
|
|
14
|
+
export declare function getRemoveReturnValueChange(diagnostic: Diagnostic, filePath: string): {
|
|
15
|
+
type: "delete";
|
|
16
|
+
filePath: string;
|
|
17
|
+
range: import("vscode-languageserver-types").Range;
|
|
18
|
+
};
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.getRemoveReturnValueChange = exports.getMissingExtendsInsertPosition = void 0;
|
|
4
|
+
const util_1 = require("../../util");
|
|
5
|
+
/**
|
|
6
|
+
* Returns the position at which an `extends` attribute should be inserted for
|
|
7
|
+
* a component that is missing one: after the last existing attribute, or after
|
|
8
|
+
* the `<component` tag itself if there are no attributes yet.
|
|
9
|
+
*/
|
|
10
|
+
function getMissingExtendsInsertPosition(file) {
|
|
11
|
+
var _a;
|
|
12
|
+
const { component } = file.parser.ast;
|
|
13
|
+
return ((_a = component.attributes[component.attributes.length - 1]) !== null && _a !== void 0 ? _a : component.tag).range.end;
|
|
14
|
+
}
|
|
15
|
+
exports.getMissingExtendsInsertPosition = getMissingExtendsInsertPosition;
|
|
16
|
+
/**
|
|
17
|
+
* Returns the delete change that removes the return value from a `return <expr>`
|
|
18
|
+
* statement flagged by `voidFunctionMayNotReturnValue`. Leaves the bare `return`
|
|
19
|
+
* keyword in place.
|
|
20
|
+
*/
|
|
21
|
+
function getRemoveReturnValueChange(diagnostic, filePath) {
|
|
22
|
+
return {
|
|
23
|
+
type: 'delete',
|
|
24
|
+
filePath: filePath,
|
|
25
|
+
range: util_1.util.createRange(diagnostic.range.start.line, diagnostic.range.start.character + 'return'.length, diagnostic.range.end.line, diagnostic.range.end.character)
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
exports.getRemoveReturnValueChange = getRemoveReturnValueChange;
|
|
29
|
+
//# sourceMappingURL=codeActionHelpers.js.map
|