brighterscript 1.0.0-alpha.46 → 1.0.0-alpha.48

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 (105) hide show
  1. package/dist/AstValidationSegmenter.js +12 -4
  2. package/dist/AstValidationSegmenter.js.map +1 -1
  3. package/dist/CrossScopeValidator.js +2 -2
  4. package/dist/CrossScopeValidator.js.map +1 -1
  5. package/dist/DiagnosticManager.d.ts +11 -0
  6. package/dist/DiagnosticManager.js +10 -2
  7. package/dist/DiagnosticManager.js.map +1 -1
  8. package/dist/DiagnosticMessages.d.ts +19 -3
  9. package/dist/DiagnosticMessages.js +53 -4
  10. package/dist/DiagnosticMessages.js.map +1 -1
  11. package/dist/LanguageServer.d.ts +19 -5
  12. package/dist/LanguageServer.js +43 -19
  13. package/dist/LanguageServer.js.map +1 -1
  14. package/dist/PluginInterface.js +4 -1
  15. package/dist/PluginInterface.js.map +1 -1
  16. package/dist/Program.js +23 -0
  17. package/dist/Program.js.map +1 -1
  18. package/dist/Scope.js +2 -0
  19. package/dist/Scope.js.map +1 -1
  20. package/dist/SymbolTable.d.ts +42 -2
  21. package/dist/SymbolTable.js +247 -19
  22. package/dist/SymbolTable.js.map +1 -1
  23. package/dist/astUtils/reflection.d.ts +4 -0
  24. package/dist/astUtils/reflection.js +12 -4
  25. package/dist/astUtils/reflection.js.map +1 -1
  26. package/dist/bscPlugin/completions/CompletionsProcessor.js +4 -0
  27. package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
  28. package/dist/bscPlugin/hover/HoverProcessor.js +6 -3
  29. package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -1
  30. package/dist/bscPlugin/hover/HoverProcessor.spec.js +75 -9
  31. package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +1 -1
  32. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +7 -4
  33. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -1
  34. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +17 -0
  35. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +1 -1
  36. package/dist/bscPlugin/validation/BrsFileValidator.d.ts +1 -0
  37. package/dist/bscPlugin/validation/BrsFileValidator.js +64 -13
  38. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
  39. package/dist/bscPlugin/validation/ScopeValidator.js +47 -10
  40. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
  41. package/dist/bscPlugin/validation/ScopeValidator.spec.js +422 -2
  42. package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +1 -1
  43. package/dist/files/BrsFile.js +4 -3
  44. package/dist/files/BrsFile.js.map +1 -1
  45. package/dist/files/BrsFile.spec.js +107 -0
  46. package/dist/files/BrsFile.spec.js.map +1 -1
  47. package/dist/globalCallables.js +2 -16
  48. package/dist/globalCallables.js.map +1 -1
  49. package/dist/interfaces.d.ts +24 -0
  50. package/dist/interfaces.js.map +1 -1
  51. package/dist/lsp/LspProject.d.ts +17 -9
  52. package/dist/lsp/Project.d.ts +8 -7
  53. package/dist/lsp/Project.js +32 -25
  54. package/dist/lsp/Project.js.map +1 -1
  55. package/dist/lsp/Project.spec.js +58 -11
  56. package/dist/lsp/Project.spec.js.map +1 -1
  57. package/dist/lsp/ProjectManager.d.ts +23 -10
  58. package/dist/lsp/ProjectManager.js +125 -57
  59. package/dist/lsp/ProjectManager.js.map +1 -1
  60. package/dist/lsp/ProjectManager.spec.js +118 -116
  61. package/dist/lsp/ProjectManager.spec.js.map +1 -1
  62. package/dist/lsp/worker/WorkerThreadProject.d.ts +6 -7
  63. package/dist/lsp/worker/WorkerThreadProject.js +6 -5
  64. package/dist/lsp/worker/WorkerThreadProject.js.map +1 -1
  65. package/dist/lsp/worker/WorkerThreadProject.spec.js +4 -1
  66. package/dist/lsp/worker/WorkerThreadProject.spec.js.map +1 -1
  67. package/dist/parser/AstNode.d.ts +4 -0
  68. package/dist/parser/AstNode.js +20 -0
  69. package/dist/parser/AstNode.js.map +1 -1
  70. package/dist/parser/Expression.js +4 -8
  71. package/dist/parser/Expression.js.map +1 -1
  72. package/dist/parser/Statement.d.ts +1 -0
  73. package/dist/parser/Statement.js +13 -3
  74. package/dist/parser/Statement.js.map +1 -1
  75. package/dist/types/BscType.d.ts +4 -0
  76. package/dist/types/BscType.js +12 -0
  77. package/dist/types/BscType.js.map +1 -1
  78. package/dist/types/ComponentType.js +1 -15
  79. package/dist/types/ComponentType.js.map +1 -1
  80. package/dist/types/DynamicType.d.ts +4 -2
  81. package/dist/types/DynamicType.js +3 -0
  82. package/dist/types/DynamicType.js.map +1 -1
  83. package/dist/types/ReferenceType.d.ts +1 -2
  84. package/dist/types/ReferenceType.js +28 -22
  85. package/dist/types/ReferenceType.js.map +1 -1
  86. package/dist/types/TypedFunctionType.d.ts +1 -0
  87. package/dist/types/TypedFunctionType.js +43 -8
  88. package/dist/types/TypedFunctionType.js.map +1 -1
  89. package/dist/types/UninitializedType.d.ts +1 -0
  90. package/dist/types/UninitializedType.js +5 -1
  91. package/dist/types/UninitializedType.js.map +1 -1
  92. package/dist/types/UnionType.d.ts +7 -0
  93. package/dist/types/UnionType.js +48 -0
  94. package/dist/types/UnionType.js.map +1 -1
  95. package/dist/types/UnionType.spec.js +76 -0
  96. package/dist/types/UnionType.spec.js.map +1 -1
  97. package/dist/types/helper.spec.js +22 -0
  98. package/dist/types/helper.spec.js.map +1 -1
  99. package/dist/types/helpers.d.ts +11 -3
  100. package/dist/types/helpers.js +34 -8
  101. package/dist/types/helpers.js.map +1 -1
  102. package/dist/util.d.ts +11 -1
  103. package/dist/util.js +85 -30
  104. package/dist/util.js.map +1 -1
  105. package/package.json +5 -4
@@ -18,6 +18,13 @@ class SymbolTable {
18
18
  this.symbolMap = new Map();
19
19
  this.parentProviders = [];
20
20
  this.siblings = new Set();
21
+ /**
22
+ * Does the order of symbols in this symbol table matter?
23
+ * Normally, this would only be for symbol tables referencing symbols declared within a function
24
+ */
25
+ this.isOrdered = false;
26
+ this.pocketTables = new Array();
27
+ this.complementsTables = new Set();
21
28
  this.cachedCircularReferenceCheck = null;
22
29
  this.resetTypeCache();
23
30
  if (parentProvider) {
@@ -63,6 +70,26 @@ class SymbolTable {
63
70
  removeSibling(sibling) {
64
71
  this.siblings.delete(sibling);
65
72
  }
73
+ addPocketTable(pocketTable) {
74
+ this.pocketTables.push(pocketTable);
75
+ return () => {
76
+ const index = this.pocketTables.findIndex(pt => pt === pocketTable);
77
+ if (index >= 0) {
78
+ this.pocketTables.splice(index, 1);
79
+ }
80
+ };
81
+ }
82
+ getStatementIndexOfPocketTable(symbolTable) {
83
+ var _a, _b;
84
+ return (_b = (_a = this.pocketTables.find(pt => pt.table === symbolTable)) === null || _a === void 0 ? void 0 : _a.index) !== null && _b !== void 0 ? _b : -1;
85
+ }
86
+ /**
87
+ * This table complements this other table
88
+ * Eg. This is an else branch, it complements a then branch
89
+ */
90
+ complementOtherTable(otherTable) {
91
+ this.complementsTables.add(otherTable);
92
+ }
66
93
  clearSymbols() {
67
94
  this.symbolMap.clear();
68
95
  }
@@ -86,6 +113,21 @@ class SymbolTable {
86
113
  return true;
87
114
  }
88
115
  }
116
+ //look in pocket tables
117
+ for (let pocket of this.pocketTables) {
118
+ if ((result = pocket.table.symbolMap.get(key))) {
119
+ // eslint-disable-next-line no-bitwise
120
+ if (result.find(symbol => symbol.flags & bitFlags)) {
121
+ return true;
122
+ }
123
+ }
124
+ }
125
+ if ((result = currentTable.symbolMap.get(key))) {
126
+ // eslint-disable-next-line no-bitwise
127
+ if (result.find(symbol => symbol.flags & bitFlags)) {
128
+ return true;
129
+ }
130
+ }
89
131
  //look through any sibling maps next
90
132
  for (let sibling of currentTable.siblings) {
91
133
  if ((result = sibling.symbolMap.get(key))) {
@@ -107,20 +149,39 @@ class SymbolTable {
107
149
  * @param bitFlags flags to match
108
150
  * @returns An array of BscSymbols - one for each time this symbol had a type implicitly defined
109
151
  */
110
- getSymbol(name, bitFlags) {
152
+ getSymbol(name, bitFlags, additionalOptions = {}) {
153
+ var _a, _b, _c;
111
154
  let currentTable = this;
155
+ let previousTable;
112
156
  const key = name === null || name === void 0 ? void 0 : name.toLowerCase();
113
157
  let result;
114
158
  let memberOfAncestor = false;
115
159
  const addAncestorInfo = (symbol) => (Object.assign(Object.assign({}, symbol), { data: Object.assign(Object.assign({}, symbol.data), { memberOfAncestor: memberOfAncestor }) }));
160
+ let maxStatementIndex = Number.isInteger(additionalOptions === null || additionalOptions === void 0 ? void 0 : additionalOptions.maxStatementIndex) ? additionalOptions.maxStatementIndex : Number.MAX_SAFE_INTEGER;
116
161
  do {
162
+ if (previousTable) {
163
+ maxStatementIndex = currentTable.isOrdered ? currentTable.getStatementIndexOfPocketTable(previousTable) : Number.MAX_SAFE_INTEGER;
164
+ }
117
165
  // look in our map first
118
- if ((result = currentTable.symbolMap.get(key))) {
166
+ result = currentTable.symbolMap.get(key);
167
+ if (result) {
119
168
  // eslint-disable-next-line no-bitwise
120
- result = result.filter(symbol => symbol.flags & bitFlags);
121
- if (result.length > 0) {
122
- return result.map(addAncestorInfo);
123
- }
169
+ result = result.filter(symbol => symbol.flags & bitFlags).filter(this.getSymbolLookupFilter(currentTable, maxStatementIndex, memberOfAncestor));
170
+ }
171
+ let precedingAssignmentIndex = -1;
172
+ if ((result === null || result === void 0 ? void 0 : result.length) > 0 && currentTable.isOrdered && maxStatementIndex >= 0) {
173
+ this.sortSymbolsByAssignmentOrderInPlace(result);
174
+ const lastResult = result[result.length - 1];
175
+ result = [lastResult];
176
+ precedingAssignmentIndex = (_c = (_b = (_a = lastResult.data) === null || _a === void 0 ? void 0 : _a.definingNode) === null || _b === void 0 ? void 0 : _b.statementIndex) !== null && _c !== void 0 ? _c : -1;
177
+ }
178
+ result = currentTable.augmentSymbolResultsWithPocketTableResults(name, bitFlags, result, Object.assign(Object.assign({}, additionalOptions), { maxStatementIndex: maxStatementIndex, precedingAssignmentIndex: precedingAssignmentIndex }));
179
+ if ((result === null || result === void 0 ? void 0 : result.length) > 0) {
180
+ result = result.map(addAncestorInfo);
181
+ break;
182
+ }
183
+ if (additionalOptions === null || additionalOptions === void 0 ? void 0 : additionalOptions.ignoreParentsAndSiblings) {
184
+ break;
124
185
  }
125
186
  //look through any sibling maps next
126
187
  for (let sibling of currentTable.siblings) {
@@ -129,11 +190,105 @@ class SymbolTable {
129
190
  return result.map(addAncestorInfo);
130
191
  }
131
192
  }
193
+ previousTable = currentTable;
132
194
  currentTable = currentTable.parent;
133
195
  memberOfAncestor = true;
134
196
  } while (currentTable);
135
197
  return result;
136
198
  }
199
+ augmentSymbolResultsWithPocketTableResults(name, bitFlags, result, additionalOptions = {}) {
200
+ var _a, _b;
201
+ let pocketTableResults = [];
202
+ let pocketTablesWeFoundSomethingIn = this.getSymbolDataFromPocketTables(name, bitFlags, additionalOptions);
203
+ let pocketTablesAreExhaustive = false;
204
+ const depth = (_a = additionalOptions.depth) !== null && _a !== void 0 ? _a : 0;
205
+ for (let i = 0; i < pocketTablesWeFoundSomethingIn.length; i++) {
206
+ let tableData = pocketTablesWeFoundSomethingIn[i];
207
+ let pocketTable = tableData.pocketTable;
208
+ pocketTableResults.push(...tableData.results);
209
+ if (pocketTable.willAlwaysBeExecuted) {
210
+ // remove all results before this
211
+ pocketTableResults = [...tableData.results];
212
+ pocketTablesAreExhaustive = true;
213
+ }
214
+ if (i === 0) {
215
+ continue;
216
+ }
217
+ if (((_b = pocketTable.table.complementsTables) === null || _b === void 0 ? void 0 : _b.size) > 0) {
218
+ let tableSatisfied = true;
219
+ let allPossibleSatisfiedResults = [];
220
+ // need to check if all tables this complements are satisfied
221
+ for (const otherTable of pocketTable.table.complementsTables) {
222
+ const foundTableData = pocketTablesWeFoundSomethingIn.find((ptd => {
223
+ return otherTable === ptd.pocketTable.table;
224
+ }));
225
+ if (foundTableData) {
226
+ allPossibleSatisfiedResults.push(...foundTableData.results);
227
+ }
228
+ else {
229
+ tableSatisfied = false;
230
+ break;
231
+ }
232
+ }
233
+ if (tableSatisfied) {
234
+ // remove all results before this
235
+ pocketTableResults = [...allPossibleSatisfiedResults, ...tableData.results];
236
+ pocketTablesAreExhaustive = true;
237
+ }
238
+ }
239
+ }
240
+ if (pocketTablesAreExhaustive) {
241
+ result = pocketTableResults;
242
+ }
243
+ else {
244
+ // we need to take into account the types before the pocket tables
245
+ if (!result) {
246
+ // there was no result before the pocket tables
247
+ if (pocketTableResults.length > 0) {
248
+ if (depth === 0) {
249
+ // we got pocket tables results, and this is the top recursion
250
+ // add uninitialized
251
+ result = [{ name: name, type: SymbolTable.uninitializedTypeFactory(), data: {}, flags: bitFlags }, ...pocketTableResults];
252
+ }
253
+ else {
254
+ //just return pocket table results:
255
+ result = pocketTableResults;
256
+ }
257
+ }
258
+ else {
259
+ // result should be undefined
260
+ }
261
+ }
262
+ else {
263
+ // just add any pocket table results....
264
+ result.push(...pocketTableResults);
265
+ }
266
+ }
267
+ return result;
268
+ }
269
+ getSymbolDataFromPocketTables(name, bitFlags, additionalOptions = {}) {
270
+ var _a;
271
+ const possiblePocketTables = this.getPossiblePocketTables({ statementIndex: additionalOptions.maxStatementIndex }, additionalOptions.precedingAssignmentIndex);
272
+ const depth = (_a = additionalOptions.depth) !== null && _a !== void 0 ? _a : 0;
273
+ const pocketTablesWeFoundSomethingIn = new Array();
274
+ for (const pocketTable of possiblePocketTables) {
275
+ const pocketTableTypes = pocketTable.table.getSymbol(name, bitFlags, {
276
+ ignoreParentsAndSiblings: true,
277
+ maxStatementIndex: Number.MAX_SAFE_INTEGER,
278
+ depth: depth + 1
279
+ });
280
+ if ((pocketTableTypes === null || pocketTableTypes === void 0 ? void 0 : pocketTableTypes.length) > 0) {
281
+ if (pocketTable.table.isOrdered) {
282
+ const lastResult = pocketTableTypes[pocketTableTypes.length - 1];
283
+ pocketTablesWeFoundSomethingIn.push({ pocketTable: pocketTable, results: [lastResult] });
284
+ }
285
+ else {
286
+ pocketTablesWeFoundSomethingIn.push({ pocketTable: pocketTable, results: pocketTableTypes });
287
+ }
288
+ }
289
+ }
290
+ return pocketTablesWeFoundSomethingIn;
291
+ }
137
292
  /**
138
293
  * Adds a new symbol to the table
139
294
  */
@@ -163,12 +318,19 @@ class SymbolTable {
163
318
  }
164
319
  this.symbolMap.delete(key);
165
320
  }
166
- getSymbolTypes(name, options) {
167
- const symbolArray = this.getSymbol(name, options.flags);
321
+ getSymbolTypes(name, options, sortByStatementIndex = false) {
322
+ const symbolArray = this.getSymbol(name, options.flags, {
323
+ ignoreParentsAndSiblings: options.ignoreParentTables,
324
+ maxStatementIndex: Number.isInteger(options.statementIndex) ? options.statementIndex : -1
325
+ });
168
326
  if (!symbolArray) {
169
327
  return undefined;
170
328
  }
171
- return symbolArray === null || symbolArray === void 0 ? void 0 : symbolArray.map(symbol => ({ type: symbol.type, data: symbol.data, flags: symbol.flags }));
329
+ let symbols = symbolArray === null || symbolArray === void 0 ? void 0 : symbolArray.map(symbol => ({ type: symbol.type, data: symbol.data, flags: symbol.flags }));
330
+ if (sortByStatementIndex) {
331
+ this.sortSymbolsByAssignmentOrderInPlace(symbols);
332
+ }
333
+ return symbols;
172
334
  }
173
335
  getSymbolType(name, options) {
174
336
  var _a, _b, _c;
@@ -179,7 +341,8 @@ class SymbolTable {
179
341
  let data = (cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.data) || {};
180
342
  let foundFlags = cacheEntry === null || cacheEntry === void 0 ? void 0 : cacheEntry.flags;
181
343
  if (!resolvedType || originalIsReferenceType) {
182
- const symbolTypes = this.getSymbolTypes(name, options);
344
+ let symbolTypes;
345
+ symbolTypes = this.getSymbolTypes(name, Object.assign(Object.assign({}, options), { statementIndex: options.statementIndex }));
183
346
  data = (_a = symbolTypes === null || symbolTypes === void 0 ? void 0 : symbolTypes[0]) === null || _a === void 0 ? void 0 : _a.data;
184
347
  foundFlags = (_b = symbolTypes === null || symbolTypes === void 0 ? void 0 : symbolTypes[0]) === null || _b === void 0 ? void 0 : _b.flags;
185
348
  resolvedType = (0, helpers_1.getUniqueType)(symbolTypes === null || symbolTypes === void 0 ? void 0 : symbolTypes.map(symbol => symbol.type), SymbolTable.unionTypeFactory);
@@ -218,15 +381,21 @@ class SymbolTable {
218
381
  * It will overwrite any existing symbols in this table
219
382
  */
220
383
  mergeSymbolTable(symbolTable) {
221
- var _a;
222
- for (let [, value] of symbolTable.symbolMap) {
223
- for (const symbol of value) {
224
- if ((_a = symbol.data) === null || _a === void 0 ? void 0 : _a.doNotMerge) {
225
- continue;
384
+ function mergeTables(intoTable, fromTable) {
385
+ var _a;
386
+ for (let [, value] of fromTable.symbolMap) {
387
+ for (const symbol of value) {
388
+ if ((_a = symbol.data) === null || _a === void 0 ? void 0 : _a.doNotMerge) {
389
+ continue;
390
+ }
391
+ intoTable.addSymbol(symbol.name, symbol.data, symbol.type, symbol.flags);
226
392
  }
227
- this.addSymbol(symbol.name, symbol.data, symbol.type, symbol.flags);
228
393
  }
229
394
  }
395
+ mergeTables(this, symbolTable);
396
+ for (let pocketTable of symbolTable.pocketTables) {
397
+ mergeTables(this, pocketTable.table);
398
+ }
230
399
  }
231
400
  mergeNamespaceSymbolTables(symbolTable) {
232
401
  var _a;
@@ -321,7 +490,8 @@ class SymbolTable {
321
490
  // no cache verifier
322
491
  return;
323
492
  }
324
- return (_b = this.typeCache[options.flags]) === null || _b === void 0 ? void 0 : _b.get(name.toLowerCase());
493
+ const cacheKey = this.getCacheKey(name, options);
494
+ return (_b = this.typeCache[options.flags]) === null || _b === void 0 ? void 0 : _b.get(cacheKey);
325
495
  }
326
496
  setCachedType(name, cacheEntry, options) {
327
497
  var _a, _b, _c;
@@ -338,12 +508,17 @@ class SymbolTable {
338
508
  // no cache verifier
339
509
  return;
340
510
  }
341
- let existingCachedValue = (_b = this.typeCache[options.flags]) === null || _b === void 0 ? void 0 : _b.get(name.toLowerCase());
511
+ const cacheKey = this.getCacheKey(name, options);
512
+ let existingCachedValue = (_b = this.typeCache[options.flags]) === null || _b === void 0 ? void 0 : _b.get(cacheKey);
342
513
  if ((0, reflection_1.isReferenceType)(cacheEntry.type) && !(0, reflection_1.isReferenceType)(existingCachedValue)) {
343
514
  // No need to overwrite a non-referenceType with a referenceType
344
515
  return;
345
516
  }
346
- return (_c = this.typeCache[options.flags]) === null || _c === void 0 ? void 0 : _c.set(name.toLowerCase(), cacheEntry);
517
+ return (_c = this.typeCache[options.flags]) === null || _c === void 0 ? void 0 : _c.set(cacheKey, cacheEntry);
518
+ }
519
+ getCacheKey(name, options) {
520
+ var _a;
521
+ return this.isOrdered ? `${name.toLowerCase()}@${(_a = options.statementIndex) !== null && _a !== void 0 ? _a : '*'}` : `${name.toLowerCase()}`;
347
522
  }
348
523
  /**
349
524
  * Serialize this SymbolTable to JSON (useful for debugging reasons)
@@ -364,6 +539,59 @@ class SymbolTable {
364
539
  ]
365
540
  };
366
541
  }
542
+ sortSymbolsByAssignmentOrderInPlace(symbols) {
543
+ symbols.sort((a, b) => {
544
+ var _a, _b, _c, _d;
545
+ if (!Number.isInteger((_b = (_a = a.data) === null || _a === void 0 ? void 0 : _a.definingNode) === null || _b === void 0 ? void 0 : _b.statementIndex)) {
546
+ return -1;
547
+ }
548
+ if (!Number.isInteger((_d = (_c = b.data) === null || _c === void 0 ? void 0 : _c.definingNode) === null || _d === void 0 ? void 0 : _d.statementIndex)) {
549
+ return 1;
550
+ }
551
+ if (b.data.definingNode.statementIndex > a.data.definingNode.statementIndex) {
552
+ return -1;
553
+ }
554
+ if (b.data.definingNode.statementIndex < a.data.definingNode.statementIndex) {
555
+ return 1;
556
+ }
557
+ return -1;
558
+ });
559
+ return symbols;
560
+ }
561
+ getPossiblePocketTables(options, precedingAssignmentIndex = -1) {
562
+ if (!this.isOrdered) {
563
+ return this.pocketTables;
564
+ }
565
+ const pocketTablesBetweenAssignmentAndPosition = this.pocketTables.filter(pt => {
566
+ const isBeforePosition = options.statementIndex === 'end' ? true : options.statementIndex > pt.index;
567
+ let isAfterPrecedingAssignment = true;
568
+ if (Number.isInteger(precedingAssignmentIndex)) {
569
+ isAfterPrecedingAssignment = precedingAssignmentIndex < pt.index;
570
+ }
571
+ return isAfterPrecedingAssignment && isBeforePosition;
572
+ });
573
+ return pocketTablesBetweenAssignmentAndPosition;
574
+ }
575
+ getSymbolLookupFilter(currentTable, maxAllowedStatementIndex, memberOfAncestor) {
576
+ return (t) => {
577
+ var _a;
578
+ if (!currentTable.isOrdered) {
579
+ // order doesn't matter for current table
580
+ return true;
581
+ }
582
+ if (maxAllowedStatementIndex >= 0 && ((_a = t.data) === null || _a === void 0 ? void 0 : _a.definingNode)) {
583
+ if (memberOfAncestor || t.data.canUseInDefinedAstNode) {
584
+ // if we've already gone up a level, it's possible to have a variable assigned and used
585
+ // in the same statement, eg. for loop
586
+ return t.data.definingNode.statementIndex <= maxAllowedStatementIndex;
587
+ }
588
+ else {
589
+ return t.data.definingNode.statementIndex < maxAllowedStatementIndex;
590
+ }
591
+ }
592
+ return true;
593
+ };
594
+ }
367
595
  }
368
596
  exports.SymbolTable = SymbolTable;
369
597
  /**
@@ -1 +1 @@
1
- {"version":3,"file":"SymbolTable.js","sourceRoot":"","sources":["../src/SymbolTable.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SymbolTable.js","sourceRoot":"","sources":["../src/SymbolTable.ts"],"names":[],"mappings":"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"}
@@ -32,11 +32,15 @@ import type { BaseFunctionType } from '../types/BaseFunctionType';
32
32
  import type { BscFile } from '../files/BscFile';
33
33
  import type { ComponentType } from '../types/ComponentType';
34
34
  import type { AssociativeArrayType } from '../types/AssociativeArrayType';
35
+ import type { Program } from '../Program';
36
+ import type { Project } from '../lsp/Project';
35
37
  export declare function isBrsFile(file: BscFile | undefined): file is BrsFile;
36
38
  export declare function isXmlFile(file: (BscFile | XmlFile | undefined)): file is XmlFile;
37
39
  export declare function isAssetFile(file: (BscFile | AssetFile | undefined)): file is AssetFile;
38
40
  export declare function isBscFile(file: (BscFile | BscFile | XmlFile | AssetFile | undefined)): file is BscFile;
39
41
  export declare function isXmlScope(scope: (Scope | undefined)): scope is XmlScope;
42
+ export declare function isProgram(arg: any): arg is Program;
43
+ export declare function isProject(arg: any): arg is Project;
40
44
  /**
41
45
  * Determine if the variablvalue is a descendent of the Statement base class.
42
46
  * Due to performance restrictions, this expects all statements to
@@ -1,8 +1,8 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.isAugmentedAssignmentStatement = exports.isConditionalCompileErrorStatement = exports.isConditionalCompileConstStatement = exports.isConditionalCompileStatement = exports.isThrowStatement = exports.isCatchStatement = exports.isTryCatchStatement = exports.isContinueStatement = exports.isConstStatement = exports.isEnumMemberStatement = exports.isEnumStatement = exports.isMemberMethod = exports.isMemberField = exports.isInterfaceFieldStatement = exports.isInterfaceMethodStatement = exports.isInterfaceStatement = exports.isFieldStatement = exports.isMethodStatement = exports.isImportStatement = exports.isClassStatement = exports.isNamespaceStatement = exports.isLibraryStatement = exports.isIndexedSetStatement = exports.isDottedSetStatement = exports.isDimStatement = exports.isWhileStatement = exports.isForEachStatement = exports.isForStatement = exports.isStopStatement = exports.isEndStatement = exports.isNullCoalescingExpression = exports.isTernaryExpression = exports.isReturnStatement = exports.isLabelStatement = exports.isGotoStatement = exports.isPrintStatement = exports.isIncrementStatement = exports.isIfStatement = exports.isFunctionStatement = exports.isExitStatement = exports.isExpressionStatement = exports.isBlock = exports.isAssignmentStatement = exports.isBody = exports.isStatement = exports.isXmlScope = exports.isBscFile = exports.isAssetFile = exports.isXmlFile = exports.isBrsFile = void 0;
4
- exports.isDoubleType = exports.isFloatTypeLike = exports.isRoFloatType = exports.isFloatType = exports.isLongIntegerTypeLike = exports.isRoLongIntegerType = exports.isLongIntegerType = exports.isIntegerTypeLike = exports.isRoIntType = exports.isIntegerType = exports.isBooleanTypeLike = exports.isRoBooleanType = exports.isBooleanType = exports.isFunctionTypeLike = exports.isRoFunctionType = exports.isFunctionType = exports.isTypedFunctionType = exports.isStringTypeLike = exports.isRoStringType = exports.isStringType = exports.isPrintSeparatorExpression = exports.isTypedArrayExpression = exports.isTypecastExpression = exports.isTypeExpression = exports.isTypedefProvider = exports.isAnnotationExpression = exports.isFunctionParameterExpression = exports.isTaggedTemplateStringExpression = exports.isTemplateStringExpression = exports.isTemplateStringQuasiExpression = exports.isCallfuncExpression = exports.isNewExpression = exports.isSourceLiteralExpression = exports.isVariableExpression = exports.isUnaryExpression = exports.isAAMemberExpression = exports.isAALiteralExpression = exports.isArrayLiteralExpression = exports.isEscapedCharCodeLiteralExpression = exports.isLiteralExpression = exports.isGroupingExpression = exports.isIndexedGetExpression = exports.isXmlAttributeGetExpression = exports.isDottedGetExpression = exports.isFunctionExpression = exports.isCallExpression = exports.isBinaryExpression = exports.isExpression = exports.isAliasStatement = exports.isTypecastStatement = void 0;
5
- exports.isBsDiagnostic = exports.isLiteralDouble = exports.isLiteralFloat = exports.isLiteralLongInteger = exports.isLiteralInteger = exports.isLiteralNumber = exports.isLiteralString = exports.isLiteralBoolean = exports.isLiteralInvalid = exports.isNativeType = exports.isBuiltInType = exports.isPrimitiveType = exports.isNumberType = exports.isAnyReferenceType = exports.isCallableType = exports.isInheritableType = exports.isAssociativeArrayType = exports.isArrayType = exports.isUninitializedType = exports.isUnionType = exports.isNamespaceType = exports.isParamTypeFromValueReferenceType = exports.isArrayDefaultTypeReferenceType = exports.isBinaryOperatorReferenceType = exports.isTypePropertyReferenceType = exports.isEnumMemberType = exports.isEnumType = exports.isReferenceType = exports.isObjectType = exports.isInterfaceType = exports.isDynamicType = exports.isComponentType = exports.isClassType = exports.isVoidType = exports.isInvalidTypeLike = exports.isRoInvalidType = exports.isInvalidType = exports.isDoubleTypeLike = exports.isRoDoubleType = void 0;
3
+ exports.isConditionalCompileConstStatement = exports.isConditionalCompileStatement = exports.isThrowStatement = exports.isCatchStatement = exports.isTryCatchStatement = exports.isContinueStatement = exports.isConstStatement = exports.isEnumMemberStatement = exports.isEnumStatement = exports.isMemberMethod = exports.isMemberField = exports.isInterfaceFieldStatement = exports.isInterfaceMethodStatement = exports.isInterfaceStatement = exports.isFieldStatement = exports.isMethodStatement = exports.isImportStatement = exports.isClassStatement = exports.isNamespaceStatement = exports.isLibraryStatement = exports.isIndexedSetStatement = exports.isDottedSetStatement = exports.isDimStatement = exports.isWhileStatement = exports.isForEachStatement = exports.isForStatement = exports.isStopStatement = exports.isEndStatement = exports.isNullCoalescingExpression = exports.isTernaryExpression = exports.isReturnStatement = exports.isLabelStatement = exports.isGotoStatement = exports.isPrintStatement = exports.isIncrementStatement = exports.isIfStatement = exports.isFunctionStatement = exports.isExitStatement = exports.isExpressionStatement = exports.isBlock = exports.isAssignmentStatement = exports.isBody = exports.isStatement = exports.isProject = exports.isProgram = exports.isXmlScope = exports.isBscFile = exports.isAssetFile = exports.isXmlFile = exports.isBrsFile = void 0;
4
+ exports.isRoFloatType = exports.isFloatType = exports.isLongIntegerTypeLike = exports.isRoLongIntegerType = exports.isLongIntegerType = exports.isIntegerTypeLike = exports.isRoIntType = exports.isIntegerType = exports.isBooleanTypeLike = exports.isRoBooleanType = exports.isBooleanType = exports.isFunctionTypeLike = exports.isRoFunctionType = exports.isFunctionType = exports.isTypedFunctionType = exports.isStringTypeLike = exports.isRoStringType = exports.isStringType = exports.isPrintSeparatorExpression = exports.isTypedArrayExpression = exports.isTypecastExpression = exports.isTypeExpression = exports.isTypedefProvider = exports.isAnnotationExpression = exports.isFunctionParameterExpression = exports.isTaggedTemplateStringExpression = exports.isTemplateStringExpression = exports.isTemplateStringQuasiExpression = exports.isCallfuncExpression = exports.isNewExpression = exports.isSourceLiteralExpression = exports.isVariableExpression = exports.isUnaryExpression = exports.isAAMemberExpression = exports.isAALiteralExpression = exports.isArrayLiteralExpression = exports.isEscapedCharCodeLiteralExpression = exports.isLiteralExpression = exports.isGroupingExpression = exports.isIndexedGetExpression = exports.isXmlAttributeGetExpression = exports.isDottedGetExpression = exports.isFunctionExpression = exports.isCallExpression = exports.isBinaryExpression = exports.isExpression = exports.isAliasStatement = exports.isTypecastStatement = exports.isAugmentedAssignmentStatement = exports.isConditionalCompileErrorStatement = void 0;
5
+ exports.isBsDiagnostic = exports.isLiteralDouble = exports.isLiteralFloat = exports.isLiteralLongInteger = exports.isLiteralInteger = exports.isLiteralNumber = exports.isLiteralString = exports.isLiteralBoolean = exports.isLiteralInvalid = exports.isNativeType = exports.isBuiltInType = exports.isPrimitiveType = exports.isNumberType = exports.isAnyReferenceType = exports.isCallableType = exports.isInheritableType = exports.isAssociativeArrayType = exports.isArrayType = exports.isUninitializedType = exports.isUnionType = exports.isNamespaceType = exports.isParamTypeFromValueReferenceType = exports.isArrayDefaultTypeReferenceType = exports.isBinaryOperatorReferenceType = exports.isTypePropertyReferenceType = exports.isEnumMemberType = exports.isEnumType = exports.isReferenceType = exports.isObjectType = exports.isInterfaceType = exports.isDynamicType = exports.isComponentType = exports.isClassType = exports.isVoidType = exports.isInvalidTypeLike = exports.isRoInvalidType = exports.isInvalidType = exports.isDoubleTypeLike = exports.isRoDoubleType = exports.isDoubleType = exports.isFloatTypeLike = void 0;
6
6
  const visitors_1 = require("./visitors");
7
7
  const AstNode_1 = require("../parser/AstNode");
8
8
  const BscTypeKind_1 = require("../types/BscTypeKind");
@@ -28,6 +28,14 @@ function isXmlScope(scope) {
28
28
  return (scope === null || scope === void 0 ? void 0 : scope.constructor.name) === 'XmlScope';
29
29
  }
30
30
  exports.isXmlScope = isXmlScope;
31
+ function isProgram(arg) {
32
+ return (arg === null || arg === void 0 ? void 0 : arg.constructor.name) === 'Program';
33
+ }
34
+ exports.isProgram = isProgram;
35
+ function isProject(arg) {
36
+ return (arg === null || arg === void 0 ? void 0 : arg.constructor.name) === 'Project';
37
+ }
38
+ exports.isProject = isProject;
31
39
  // Statements reflection
32
40
  /**
33
41
  * Determine if the variablvalue is a descendent of the Statement base class.
@@ -535,7 +543,7 @@ function isInheritableType(target) {
535
543
  }
536
544
  exports.isInheritableType = isInheritableType;
537
545
  function isCallableType(target) {
538
- return isFunctionType(target) || isTypedFunctionType(target);
546
+ return isFunctionTypeLike(target) || isTypedFunctionType(target) || (isDynamicType(target) && !isAnyReferenceType(target));
539
547
  }
540
548
  exports.isCallableType = isCallableType;
541
549
  function isAnyReferenceType(target) {
@@ -1 +1 @@
1
- {"version":3,"file":"reflection.js","sourceRoot":"","sources":["../../src/astUtils/reflection.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reflection.js","sourceRoot":"","sources":["../../src/astUtils/reflection.ts"],"names":[],"mappings":"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"}
@@ -270,6 +270,10 @@ class CompletionsProcessor {
270
270
  else {
271
271
  currentSymbols = (_k = symbolTable === null || symbolTable === void 0 ? void 0 : symbolTable.getOwnSymbols(symbolTableLookupFlag)) !== null && _k !== void 0 ? _k : [];
272
272
  if (containingFunctionExpression) {
273
+ if (symbolTable !== containingFunctionExpression.body.symbolTable) {
274
+ // this is a pocket table - get all symbols defined in full function
275
+ currentSymbols.push(...containingFunctionExpression.body.getSymbolTable().getOwnSymbols(symbolTableLookupFlag));
276
+ }
273
277
  currentSymbols.push(...containingFunctionExpression.getSymbolTable().getOwnSymbols(symbolTableLookupFlag));
274
278
  }
275
279
  if (shouldLookInNamespace) {