brighterscript 1.0.0-alpha.13 → 1.0.0-alpha.16

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 (229) hide show
  1. package/CHANGELOG.md +87 -2
  2. package/dist/Cache.d.ts +3 -8
  3. package/dist/Cache.js +9 -14
  4. package/dist/Cache.js.map +1 -1
  5. package/dist/DependencyGraph.js +5 -4
  6. package/dist/DependencyGraph.js.map +1 -1
  7. package/dist/DiagnosticMessages.d.ts +21 -1
  8. package/dist/DiagnosticMessages.js +21 -1
  9. package/dist/DiagnosticMessages.js.map +1 -1
  10. package/dist/LanguageServer.d.ts +1 -6
  11. package/dist/LanguageServer.js +0 -9
  12. package/dist/LanguageServer.js.map +1 -1
  13. package/dist/PluginInterface.d.ts +3 -3
  14. package/dist/PluginInterface.js +3 -0
  15. package/dist/PluginInterface.js.map +1 -1
  16. package/dist/Program.d.ts +30 -16
  17. package/dist/Program.js +108 -43
  18. package/dist/Program.js.map +1 -1
  19. package/dist/ProgramBuilder.js +3 -3
  20. package/dist/ProgramBuilder.js.map +1 -1
  21. package/dist/Scope.d.ts +29 -15
  22. package/dist/Scope.js +68 -28
  23. package/dist/Scope.js.map +1 -1
  24. package/dist/SymbolTable.d.ts +1 -1
  25. package/dist/XmlScope.d.ts +3 -3
  26. package/dist/astUtils/AstEditor.d.ts +6 -0
  27. package/dist/astUtils/AstEditor.js +10 -0
  28. package/dist/astUtils/AstEditor.js.map +1 -1
  29. package/dist/astUtils/AstEditor.spec.js +37 -0
  30. package/dist/astUtils/AstEditor.spec.js.map +1 -1
  31. package/dist/astUtils/creators.d.ts +8 -4
  32. package/dist/astUtils/creators.js +87 -6
  33. package/dist/astUtils/creators.js.map +1 -1
  34. package/dist/astUtils/reflection.d.ts +5 -1
  35. package/dist/astUtils/reflection.js +15 -3
  36. package/dist/astUtils/reflection.js.map +1 -1
  37. package/dist/astUtils/reflection.spec.js +11 -10
  38. package/dist/astUtils/reflection.spec.js.map +1 -1
  39. package/dist/astUtils/visitors.d.ts +3 -1
  40. package/dist/astUtils/visitors.js.map +1 -1
  41. package/dist/astUtils/visitors.spec.js +8 -8
  42. package/dist/astUtils/visitors.spec.js.map +1 -1
  43. package/dist/bscPlugin/BscPlugin.d.ts +4 -1
  44. package/dist/bscPlugin/BscPlugin.js +21 -2
  45. package/dist/bscPlugin/BscPlugin.js.map +1 -1
  46. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +3 -3
  47. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
  48. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +1 -1
  49. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.d.ts +9 -0
  50. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +97 -0
  51. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -0
  52. package/dist/bscPlugin/semanticTokens/{SemanticTokensProcessor.spec.d.ts → BrsFileSemanticTokensProcessor.spec.d.ts} +0 -0
  53. package/dist/bscPlugin/semanticTokens/{SemanticTokensProcessor.spec.js → BrsFileSemanticTokensProcessor.spec.js} +30 -2
  54. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +1 -0
  55. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.d.ts +8 -0
  56. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js +36 -0
  57. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js.map +1 -0
  58. package/dist/bscPlugin/validation/BrsFileValidator.d.ts +9 -0
  59. package/dist/bscPlugin/validation/BrsFileValidator.js +66 -0
  60. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -0
  61. package/dist/bscPlugin/validation/ScopeValidator.d.ts +11 -0
  62. package/dist/bscPlugin/validation/ScopeValidator.js +94 -0
  63. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -0
  64. package/dist/diagnosticUtils.js +3 -3
  65. package/dist/diagnosticUtils.js.map +1 -1
  66. package/dist/files/BrsFile.Class.spec.js +382 -232
  67. package/dist/files/BrsFile.Class.spec.js.map +1 -1
  68. package/dist/files/BrsFile.d.ts +26 -12
  69. package/dist/files/BrsFile.js +268 -119
  70. package/dist/files/BrsFile.js.map +1 -1
  71. package/dist/files/BrsFile.spec.js +570 -168
  72. package/dist/files/BrsFile.spec.js.map +1 -1
  73. package/dist/files/XmlFile.d.ts +11 -10
  74. package/dist/files/XmlFile.js +16 -11
  75. package/dist/files/XmlFile.js.map +1 -1
  76. package/dist/files/XmlFile.spec.js +60 -58
  77. package/dist/files/XmlFile.spec.js.map +1 -1
  78. package/dist/files/tests/imports.spec.js +8 -6
  79. package/dist/files/tests/imports.spec.js.map +1 -1
  80. package/dist/index.d.ts +12 -3
  81. package/dist/index.js +21 -4
  82. package/dist/index.js.map +1 -1
  83. package/dist/interfaces.d.ts +63 -35
  84. package/dist/lexer/Lexer.js +1 -2
  85. package/dist/lexer/Lexer.js.map +1 -1
  86. package/dist/lexer/Lexer.spec.js +470 -462
  87. package/dist/lexer/Lexer.spec.js.map +1 -1
  88. package/dist/lexer/TokenKind.d.ts +2 -0
  89. package/dist/lexer/TokenKind.js +5 -0
  90. package/dist/lexer/TokenKind.js.map +1 -1
  91. package/dist/parser/Expression.d.ts +18 -16
  92. package/dist/parser/Expression.js +57 -48
  93. package/dist/parser/Expression.js.map +1 -1
  94. package/dist/parser/Parser.Class.spec.js +33 -32
  95. package/dist/parser/Parser.Class.spec.js.map +1 -1
  96. package/dist/parser/Parser.d.ts +28 -7
  97. package/dist/parser/Parser.js +508 -296
  98. package/dist/parser/Parser.js.map +1 -1
  99. package/dist/parser/Parser.spec.js +157 -35
  100. package/dist/parser/Parser.spec.js.map +1 -1
  101. package/dist/parser/SGTypes.spec.js +9 -9
  102. package/dist/parser/SGTypes.spec.js.map +1 -1
  103. package/dist/parser/Statement.d.ts +80 -20
  104. package/dist/parser/Statement.js +257 -92
  105. package/dist/parser/Statement.js.map +1 -1
  106. package/dist/parser/tests/Parser.spec.d.ts +3 -3
  107. package/dist/parser/tests/Parser.spec.js +4 -4
  108. package/dist/parser/tests/Parser.spec.js.map +1 -1
  109. package/dist/parser/tests/controlFlow/For.spec.js +40 -40
  110. package/dist/parser/tests/controlFlow/For.spec.js.map +1 -1
  111. package/dist/parser/tests/controlFlow/ForEach.spec.js +22 -21
  112. package/dist/parser/tests/controlFlow/ForEach.spec.js.map +1 -1
  113. package/dist/parser/tests/controlFlow/If.spec.js +100 -99
  114. package/dist/parser/tests/controlFlow/If.spec.js.map +1 -1
  115. package/dist/parser/tests/controlFlow/While.spec.js +25 -25
  116. package/dist/parser/tests/controlFlow/While.spec.js.map +1 -1
  117. package/dist/parser/tests/expression/Additive.spec.js +21 -21
  118. package/dist/parser/tests/expression/Additive.spec.js.map +1 -1
  119. package/dist/parser/tests/expression/ArrayLiterals.spec.js +91 -91
  120. package/dist/parser/tests/expression/ArrayLiterals.spec.js.map +1 -1
  121. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +102 -102
  122. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js.map +1 -1
  123. package/dist/parser/tests/expression/Boolean.spec.js +15 -15
  124. package/dist/parser/tests/expression/Boolean.spec.js.map +1 -1
  125. package/dist/parser/tests/expression/Call.spec.js +22 -21
  126. package/dist/parser/tests/expression/Call.spec.js.map +1 -1
  127. package/dist/parser/tests/expression/Exponential.spec.js +11 -11
  128. package/dist/parser/tests/expression/Exponential.spec.js.map +1 -1
  129. package/dist/parser/tests/expression/Function.spec.js +171 -171
  130. package/dist/parser/tests/expression/Function.spec.js.map +1 -1
  131. package/dist/parser/tests/expression/Indexing.spec.js +50 -50
  132. package/dist/parser/tests/expression/Indexing.spec.js.map +1 -1
  133. package/dist/parser/tests/expression/Multiplicative.spec.js +25 -25
  134. package/dist/parser/tests/expression/Multiplicative.spec.js.map +1 -1
  135. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +16 -16
  136. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
  137. package/dist/parser/tests/expression/PrefixUnary.spec.js +26 -26
  138. package/dist/parser/tests/expression/PrefixUnary.spec.js.map +1 -1
  139. package/dist/parser/tests/expression/Primary.spec.js +27 -27
  140. package/dist/parser/tests/expression/Primary.spec.js.map +1 -1
  141. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js +3 -2
  142. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js.map +1 -1
  143. package/dist/parser/tests/expression/Relational.spec.js +25 -25
  144. package/dist/parser/tests/expression/Relational.spec.js.map +1 -1
  145. package/dist/parser/tests/expression/TemplateStringExpression.spec.js +7 -7
  146. package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +1 -1
  147. package/dist/parser/tests/expression/TernaryExpression.spec.js +6 -6
  148. package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
  149. package/dist/parser/tests/statement/AssignmentOperators.spec.js +15 -15
  150. package/dist/parser/tests/statement/AssignmentOperators.spec.js.map +1 -1
  151. package/dist/parser/tests/statement/Declaration.spec.js +20 -20
  152. package/dist/parser/tests/statement/Declaration.spec.js.map +1 -1
  153. package/dist/parser/tests/statement/Enum.spec.d.ts +1 -0
  154. package/dist/parser/tests/statement/Enum.spec.js +774 -0
  155. package/dist/parser/tests/statement/Enum.spec.js.map +1 -0
  156. package/dist/parser/tests/statement/For.spec.d.ts +1 -0
  157. package/dist/parser/tests/statement/For.spec.js +46 -0
  158. package/dist/parser/tests/statement/For.spec.js.map +1 -0
  159. package/dist/parser/tests/statement/ForEach.spec.d.ts +1 -0
  160. package/dist/parser/tests/statement/ForEach.spec.js +37 -0
  161. package/dist/parser/tests/statement/ForEach.spec.js.map +1 -0
  162. package/dist/parser/tests/statement/Function.spec.js +121 -120
  163. package/dist/parser/tests/statement/Function.spec.js.map +1 -1
  164. package/dist/parser/tests/statement/Goto.spec.js +9 -8
  165. package/dist/parser/tests/statement/Goto.spec.js.map +1 -1
  166. package/dist/parser/tests/statement/Increment.spec.js +22 -22
  167. package/dist/parser/tests/statement/Increment.spec.js.map +1 -1
  168. package/dist/parser/tests/statement/InterfaceStatement.spec.js +12 -0
  169. package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +1 -1
  170. package/dist/parser/tests/statement/LibraryStatement.spec.js +7 -7
  171. package/dist/parser/tests/statement/LibraryStatement.spec.js.map +1 -1
  172. package/dist/parser/tests/statement/Misc.spec.js +71 -70
  173. package/dist/parser/tests/statement/Misc.spec.js.map +1 -1
  174. package/dist/parser/tests/statement/PrintStatement.spec.js +17 -17
  175. package/dist/parser/tests/statement/PrintStatement.spec.js.map +1 -1
  176. package/dist/parser/tests/statement/ReturnStatement.spec.js +33 -33
  177. package/dist/parser/tests/statement/ReturnStatement.spec.js.map +1 -1
  178. package/dist/parser/tests/statement/Set.spec.js +53 -53
  179. package/dist/parser/tests/statement/Set.spec.js.map +1 -1
  180. package/dist/parser/tests/statement/Stop.spec.js +7 -6
  181. package/dist/parser/tests/statement/Stop.spec.js.map +1 -1
  182. package/dist/preprocessor/Chunk.d.ts +1 -1
  183. package/dist/preprocessor/Preprocessor.d.ts +1 -1
  184. package/dist/preprocessor/Preprocessor.js +7 -7
  185. package/dist/preprocessor/Preprocessor.js.map +1 -1
  186. package/dist/types/ArrayType.d.ts +8 -5
  187. package/dist/types/ArrayType.js +45 -9
  188. package/dist/types/ArrayType.js.map +1 -1
  189. package/dist/types/ArrayType.spec.js +62 -3
  190. package/dist/types/ArrayType.spec.js.map +1 -1
  191. package/dist/types/BscType.d.ts +1 -1
  192. package/dist/types/CustomType.d.ts +1 -1
  193. package/dist/types/CustomType.js +4 -2
  194. package/dist/types/CustomType.js.map +1 -1
  195. package/dist/types/FunctionType.d.ts +7 -6
  196. package/dist/types/FunctionType.js +21 -18
  197. package/dist/types/FunctionType.js.map +1 -1
  198. package/dist/types/FunctionType.spec.js +6 -0
  199. package/dist/types/FunctionType.spec.js.map +1 -1
  200. package/dist/types/LazyType.d.ts +1 -2
  201. package/dist/types/LazyType.js +1 -5
  202. package/dist/types/LazyType.js.map +1 -1
  203. package/dist/types/UniversalFunctionType.d.ts +9 -0
  204. package/dist/types/UniversalFunctionType.js +25 -0
  205. package/dist/types/UniversalFunctionType.js.map +1 -0
  206. package/dist/types/helpers.js +1 -1
  207. package/dist/types/helpers.js.map +1 -1
  208. package/dist/util.d.ts +26 -10
  209. package/dist/util.js +145 -61
  210. package/dist/util.js.map +1 -1
  211. package/dist/validators/ClassValidator.js +17 -24
  212. package/dist/validators/ClassValidator.js.map +1 -1
  213. package/package.json +3 -3
  214. package/dist/astUtils/index.d.ts +0 -7
  215. package/dist/astUtils/index.js +0 -26
  216. package/dist/astUtils/index.js.map +0 -1
  217. package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.d.ts +0 -7
  218. package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.js +0 -63
  219. package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.js.map +0 -1
  220. package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.spec.js.map +0 -1
  221. package/dist/lexer/index.d.ts +0 -3
  222. package/dist/lexer/index.js +0 -18
  223. package/dist/lexer/index.js.map +0 -1
  224. package/dist/parser/index.d.ts +0 -3
  225. package/dist/parser/index.js +0 -16
  226. package/dist/parser/index.js.map +0 -1
  227. package/dist/preprocessor/index.d.ts +0 -3
  228. package/dist/preprocessor/index.js +0 -16
  229. package/dist/preprocessor/index.js.map +0 -1
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mDAAiC;AACjC,4CAA0B;AAC1B,0CAAwB;AACxB,kDAAgC;AAChC,kDAAgC;AAChC,yCAAuB;AACvB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,+CAA6B;AAC7B,mDAAiC;AACjC,6CAA2B;AAC3B,0CAAwB;AACxB,2CAAyB;AACzB,6CAA2B;AAC3B,6CAA2B;AAC3B,6CAA2B"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,mDAAiC;AACjC,4CAA0B;AAC1B,0CAAwB;AACxB,kDAAgC;AAChC,kDAAgC;AAChC,yCAAuB;AACvB,qCAAoC;AAA3B,kGAAA,OAAO,OAAA;AAChB,+CAA6B;AAC7B,mDAAiC;AACjC,6CAA2B;AAC3B,oDAAkC;AAClC,gDAA8B;AAC9B,uCAAsC;AAA7B,8FAAA,KAAK,OAAA;AACd,kDAAgC;AAChC,sDAAoC;AACpC,qDAAmC;AACnC,6CAA2B;AAC3B,6CAA2B;AAC3B,oCAAoC;AACpC,+DAAuI;AAA9H,8GAAA,KAAK,OAAA;AAAE,iHAAA,QAAQ,OAAA;AAAE,0HAAA,iBAAiB,OAAA;AAAE,gIAAA,uBAAuB,OAAA;AAAE,2HAAA,kBAAkB,OAAA;AAAE,sHAAA,aAAa,OAAA;AACvG,sDAAoC;AACpC,4DAA0C;AAC1C,wDAAsC;AACtC,sDAAoC;AACpC,iDAA+B"}
@@ -6,9 +6,10 @@ import type { FunctionType } from './types/FunctionType';
6
6
  import type { ParseMode } from './parser/Parser';
7
7
  import type { Program } from './Program';
8
8
  import type { ProgramBuilder } from './ProgramBuilder';
9
- import type { Expression, FunctionStatement, FunctionExpression } from './parser';
9
+ import type { FunctionStatement } from './parser/Statement';
10
+ import type { Expression, FunctionExpression } from './parser/Expression';
10
11
  import type { TranspileState } from './parser/TranspileState';
11
- import type { SourceNode } from 'source-map';
12
+ import type { SourceMapGenerator, SourceNode } from 'source-map';
12
13
  import type { BscType } from './types/BscType';
13
14
  import type { Token } from './lexer/Token';
14
15
  import type { AstEditor } from './astUtils/AstEditor';
@@ -176,10 +177,21 @@ export interface CompilerPlugin {
176
177
  beforeScopeDispose?: PluginHandler<BeforeScopeDisposeEvent>;
177
178
  afterScopeDispose?: PluginHandler<AfterScopeDisposeEvent>;
178
179
  beforeScopeValidate?: PluginHandler<BeforeScopeValidateEvent>;
180
+ onScopeValidate?: PluginHandler<OnScopeValidateEvent>;
179
181
  afterScopeValidate?: PluginHandler<AfterScopeValidateEvent>;
180
182
  beforeFileParse?: PluginHandler<BeforeFileParseEvent>;
181
183
  afterFileParse?: PluginHandler<AfterFileParseEvent>;
184
+ /**
185
+ * Called before each file is validated
186
+ */
182
187
  beforeFileValidate?: PluginHandler<BeforeFileValidateEvent>;
188
+ /**
189
+ * Called during the file validation process. If your plugin contributes file validations, this is a good place to contribute them.
190
+ */
191
+ onFileValidate?: PluginHandler<OnFileValidateEvent>;
192
+ /**
193
+ * Called after each file is validated
194
+ */
183
195
  afterFileValidate?: PluginHandler<AfterFileValidateEvent>;
184
196
  beforeFileTranspile?: PluginHandler<BeforeFileTranspileEvent>;
185
197
  afterFileTranspile?: PluginHandler<AfterFileTranspileEvent>;
@@ -276,23 +288,57 @@ export interface AfterFileParseEvent {
276
288
  program: Program;
277
289
  file: BscFile;
278
290
  }
279
- export interface BeforeFileValidateEvent {
291
+ export interface OnGetSemanticTokensEvent<T extends BscFile = BscFile> {
280
292
  program: Program;
281
- file: BscFile;
293
+ file: T;
294
+ scopes: Scope[];
295
+ semanticTokens: SemanticToken[];
282
296
  }
283
- export interface AfterFileValidateEvent {
297
+ export interface BeforeFileValidateEvent<T extends BscFile = BscFile> {
284
298
  program: Program;
285
- file: BscFile;
299
+ file: T;
286
300
  }
287
- export interface BeforeFileTranspileEvent {
301
+ export interface OnFileValidateEvent<T extends BscFile = BscFile> {
288
302
  program: Program;
289
- file: BscFile;
303
+ file: T;
304
+ }
305
+ export interface AfterFileValidateEvent<T extends BscFile = BscFile> {
306
+ program: Program;
307
+ file: T;
308
+ }
309
+ export interface BeforeFileTranspileEvent<TFile extends BscFile = BscFile> {
310
+ program: Program;
311
+ file: TFile;
290
312
  outputPath: string;
313
+ /**
314
+ * An editor that can be used to transform properties or arrays. Once the `afterFileTranspile` event has fired, these changes will be reverted,
315
+ * restoring the objects to their prior state. This is useful for changing code right before a file gets transpiled, but when you don't want
316
+ * the changes to persist in the in-memory file.
317
+ */
318
+ editor: Editor;
291
319
  }
292
- export interface AfterFileTranspileEvent {
320
+ export interface AfterFileTranspileEvent<TFile extends BscFile = BscFile> {
293
321
  program: Program;
294
- file: BscFile;
322
+ file: TFile;
295
323
  outputPath: string;
324
+ /**
325
+ * The resulting transpiled file contents
326
+ */
327
+ code: string;
328
+ /**
329
+ * The sourceMaps for the generated code (if emitting source maps is enabled)
330
+ */
331
+ map?: SourceMapGenerator;
332
+ /**
333
+ * The generated type definition file contents (if emitting type definitions are enabled)
334
+ */
335
+ typedef?: string;
336
+ /**
337
+ * An editor that can be used to transform properties or arrays. Once the `afterFileTranspile` event has fired, these changes will be reverted,
338
+ * restoring the objects to their prior state. This is useful for changing code right before a file gets transpiled, but when you don't want
339
+ * the changes to persist in the in-memory file.
340
+ */
341
+ editor: Editor;
296
342
  }
297
343
  export interface BeforeFileDisposeEvent {
298
344
  program: Program;
@@ -316,33 +362,11 @@ export interface TranspileEntry {
316
362
  file: BscFile;
317
363
  outputPath: string;
318
364
  }
319
- export interface OnGetSemanticTokensEvent {
365
+ export interface OnScopeValidateEvent {
320
366
  program: Program;
321
- file: BscFile;
322
- scopes: Scope[];
323
- semanticTokens: SemanticToken[];
324
- }
325
- export declare type Editor = Pick<AstEditor, 'addToArray' | 'hasChanges' | 'removeFromArray' | 'setArrayValue' | 'setProperty'>;
326
- export interface BeforeFileTranspileEvent {
327
- file: BscFile;
328
- outputPath: string;
329
- /**
330
- * An editor that can be used to transform properties or arrays. Once the `afterFileTranspile` event has fired, these changes will be reverted,
331
- * restoring the objects to their prior state. This is useful for changing code right before a file gets transpiled, but when you don't want
332
- * the changes to persist in the in-memory file.
333
- */
334
- editor: Editor;
335
- }
336
- export interface AfterFileTranspileEvent {
337
- file: BscFile;
338
- outputPath: string;
339
- /**
340
- * An editor that can be used to transform properties or arrays. Once the `afterFileTranspile` event has fired, these changes will be reverted,
341
- * restoring the objects to their prior state. This is useful for changing code right before a file gets transpiled, but when you don't want
342
- * the changes to persist in the in-memory file.
343
- */
344
- editor: Editor;
367
+ scope: Scope;
345
368
  }
369
+ export declare type Editor = Pick<AstEditor, 'addToArray' | 'hasChanges' | 'removeFromArray' | 'setArrayValue' | 'setProperty' | 'overrideTranspileResult'>;
346
370
  export interface SemanticToken {
347
371
  range: Range;
348
372
  tokenType: SemanticTokenTypes;
@@ -365,3 +389,7 @@ export interface ExpressionInfo {
365
389
  uniqueVarNames: string[];
366
390
  }
367
391
  export declare type DiagnosticCode = number | string;
392
+ export interface FileLink<T> {
393
+ item: T;
394
+ file: BrsFile;
395
+ }
@@ -6,7 +6,6 @@ const TokenKind_1 = require("./TokenKind");
6
6
  const Characters_1 = require("./Characters");
7
7
  const DiagnosticMessages_1 = require("../DiagnosticMessages");
8
8
  const util_1 = require("../util");
9
- const _1 = require(".");
10
9
  class Lexer {
11
10
  constructor() {
12
11
  /**
@@ -655,7 +654,7 @@ class Lexer {
655
654
  //regexps can only occur when preceeded by exactly one of these tokens:
656
655
  const previousKind = (_a = this.getPreviousNonWhitespaceToken()) === null || _a === void 0 ? void 0 : _a.kind;
657
656
  //preceeded by an allowed token, or if there are no previous tokens (i.e. this is the first token in the file).
658
- if (_1.PreceedingRegexTypes.has(previousKind) || !previousKind) {
657
+ if (TokenKind_1.PreceedingRegexTypes.has(previousKind) || !previousKind) {
659
658
  //finite loop to prevent infinite loop if something went wrong
660
659
  for (let i = this.current; i < this.source.length; i++) {
661
660
  //if we reached the end of the regex, consume any flags
@@ -1 +1 @@
1
- {"version":3,"file":"Lexer.js","sourceRoot":"","sources":["../../src/lexer/Lexer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"Lexer.js","sourceRoot":"","sources":["../../src/lexer/Lexer.ts"],"names":[],"mappings":"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"}