brighterscript 0.71.1 → 0.72.1

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 (121) hide show
  1. package/bsconfig.schema.json +75 -0
  2. package/dist/BsConfig.d.ts +90 -5
  3. package/dist/CodeActionUtil.d.ts +17 -0
  4. package/dist/CodeActionUtil.js.map +1 -1
  5. package/dist/CommentFlagProcessor.d.ts +16 -12
  6. package/dist/CommentFlagProcessor.js +141 -59
  7. package/dist/CommentFlagProcessor.js.map +1 -1
  8. package/dist/DiagnosticMessages.d.ts +32 -1
  9. package/dist/DiagnosticMessages.js +37 -2
  10. package/dist/DiagnosticMessages.js.map +1 -1
  11. package/dist/LanguageServer.d.ts +15 -2
  12. package/dist/LanguageServer.js +100 -7
  13. package/dist/LanguageServer.js.map +1 -1
  14. package/dist/Program.d.ts +80 -1
  15. package/dist/Program.js +217 -2
  16. package/dist/Program.js.map +1 -1
  17. package/dist/ProgramBuilder.d.ts +1 -8
  18. package/dist/ProgramBuilder.js +31 -11
  19. package/dist/ProgramBuilder.js.map +1 -1
  20. package/dist/Scope.d.ts +53 -7
  21. package/dist/Scope.js +28 -66
  22. package/dist/Scope.js.map +1 -1
  23. package/dist/ScopeNamespaceLookup.d.ts +73 -0
  24. package/dist/ScopeNamespaceLookup.js +240 -0
  25. package/dist/ScopeNamespaceLookup.js.map +1 -0
  26. package/dist/SymbolTable.d.ts +9 -2
  27. package/dist/SymbolTable.js +10 -5
  28. package/dist/SymbolTable.js.map +1 -1
  29. package/dist/bscPlugin/BscPlugin.d.ts +3 -1
  30. package/dist/bscPlugin/BscPlugin.js +8 -0
  31. package/dist/bscPlugin/BscPlugin.js.map +1 -1
  32. package/dist/bscPlugin/codeActions/CodeActionsProcessor.d.ts +38 -0
  33. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +259 -18
  34. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
  35. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +360 -10
  36. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +1 -1
  37. package/dist/bscPlugin/codeActions/FixAllCodeActionsProcessor.d.ts +17 -0
  38. package/dist/bscPlugin/codeActions/FixAllCodeActionsProcessor.js +66 -0
  39. package/dist/bscPlugin/codeActions/FixAllCodeActionsProcessor.js.map +1 -0
  40. package/dist/bscPlugin/codeActions/codeActionHelpers.d.ts +18 -0
  41. package/dist/bscPlugin/codeActions/codeActionHelpers.js +29 -0
  42. package/dist/bscPlugin/codeActions/codeActionHelpers.js.map +1 -0
  43. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.d.ts +7 -0
  44. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.js +74 -0
  45. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.js.map +1 -0
  46. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.spec.d.ts +1 -0
  47. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.spec.js +298 -0
  48. package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.spec.js.map +1 -0
  49. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.d.ts +2 -0
  50. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js +49 -4
  51. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js.map +1 -1
  52. package/dist/bscPlugin/validation/BrsFileValidator.d.ts +13 -0
  53. package/dist/bscPlugin/validation/BrsFileValidator.js +55 -0
  54. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
  55. package/dist/bscPlugin/validation/BrsFileValidator.spec.js +316 -0
  56. package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +1 -1
  57. package/dist/bscPlugin/validation/ScopeValidator.d.ts +11 -0
  58. package/dist/bscPlugin/validation/ScopeValidator.js +69 -0
  59. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
  60. package/dist/cli.js +13 -0
  61. package/dist/cli.js.map +1 -1
  62. package/dist/diagnosticUtils.d.ts +51 -1
  63. package/dist/diagnosticUtils.js +222 -1
  64. package/dist/diagnosticUtils.js.map +1 -1
  65. package/dist/files/BrsFile.d.ts +15 -0
  66. package/dist/files/BrsFile.js +92 -7
  67. package/dist/files/BrsFile.js.map +1 -1
  68. package/dist/files/BrsFile.spec.js +347 -3
  69. package/dist/files/BrsFile.spec.js.map +1 -1
  70. package/dist/files/XmlFile.js +2 -1
  71. package/dist/files/XmlFile.js.map +1 -1
  72. package/dist/files/XmlFile.spec.js +50 -0
  73. package/dist/files/XmlFile.spec.js.map +1 -1
  74. package/dist/interfaces.d.ts +66 -2
  75. package/dist/lexer/TokenKind.d.ts +8 -0
  76. package/dist/lexer/TokenKind.js +21 -1
  77. package/dist/lexer/TokenKind.js.map +1 -1
  78. package/dist/lsp/DocumentManager.spec.js +1 -1
  79. package/dist/lsp/DocumentManager.spec.js.map +1 -1
  80. package/dist/lsp/LspProject.d.ts +49 -1
  81. package/dist/lsp/Project.d.ts +33 -1
  82. package/dist/lsp/Project.js +107 -3
  83. package/dist/lsp/Project.js.map +1 -1
  84. package/dist/lsp/Project.spec.js +146 -9
  85. package/dist/lsp/Project.spec.js.map +1 -1
  86. package/dist/lsp/ProjectManager.d.ts +38 -2
  87. package/dist/lsp/ProjectManager.js +131 -5
  88. package/dist/lsp/ProjectManager.js.map +1 -1
  89. package/dist/lsp/ProjectManager.spec.js +272 -1
  90. package/dist/lsp/ProjectManager.spec.js.map +1 -1
  91. package/dist/lsp/worker/WorkerThreadProject.d.ts +27 -2
  92. package/dist/lsp/worker/WorkerThreadProject.js +16 -0
  93. package/dist/lsp/worker/WorkerThreadProject.js.map +1 -1
  94. package/dist/lsp/worker/WorkerThreadProject.spec.js +2 -1
  95. package/dist/lsp/worker/WorkerThreadProject.spec.js.map +1 -1
  96. package/dist/parser/Parser.d.ts +22 -0
  97. package/dist/parser/Parser.js +57 -16
  98. package/dist/parser/Parser.js.map +1 -1
  99. package/dist/parser/Parser.spec.js +239 -0
  100. package/dist/parser/Parser.spec.js.map +1 -1
  101. package/dist/parser/TranspileState.d.ts +4 -2
  102. package/dist/parser/TranspileState.js +3 -3
  103. package/dist/parser/TranspileState.js.map +1 -1
  104. package/dist/parser/tests/controlFlow/For.spec.js +47 -0
  105. package/dist/parser/tests/controlFlow/For.spec.js.map +1 -1
  106. package/dist/parser/tests/controlFlow/ForEach.spec.js +37 -0
  107. package/dist/parser/tests/controlFlow/ForEach.spec.js.map +1 -1
  108. package/dist/parser/tests/controlFlow/While.spec.js +49 -0
  109. package/dist/parser/tests/controlFlow/While.spec.js.map +1 -1
  110. package/dist/parser/tests/expression/Call.spec.js +4 -5
  111. package/dist/parser/tests/expression/Call.spec.js.map +1 -1
  112. package/dist/parser/tests/expression/Function.spec.js +2 -2
  113. package/dist/parser/tests/expression/Function.spec.js.map +1 -1
  114. package/dist/parser/tests/statement/ConstStatement.spec.js +218 -1
  115. package/dist/parser/tests/statement/ConstStatement.spec.js.map +1 -1
  116. package/dist/parser/tests/statement/Enum.spec.js +2 -0
  117. package/dist/parser/tests/statement/Enum.spec.js.map +1 -1
  118. package/dist/util.d.ts +26 -0
  119. package/dist/util.js +87 -8
  120. package/dist/util.js.map +1 -1
  121. package/package.json +4 -2
@@ -1 +1 @@
1
- {"version":3,"file":"ProjectManager.spec.js","sourceRoot":"","sources":["../../src/lsp/ProjectManager.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ProjectManager.spec.js","sourceRoot":"","sources":["../../src/lsp/ProjectManager.spec.ts"],"names":[],"mappings":"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"}
@@ -1,10 +1,10 @@
1
- import type { LspDiagnostic, ActivateResponse, ProjectConfig } from '../LspProject';
1
+ import type { LspDiagnostic, ActivateResponse, ProjectConfig, FileRenameTextEdit } from '../LspProject';
2
2
  import { type LspProject } from '../LspProject';
3
3
  import { WorkerPool } from './WorkerPool';
4
4
  import type { Hover, MaybePromise, SemanticToken } from '../../interfaces';
5
5
  import type { DocumentAction, DocumentActionWithStatus } from '../DocumentManager';
6
6
  import type { FileTranspileResult, SignatureInfoObj } from '../../Program';
7
- import type { Position, Range, Location, DocumentSymbol, WorkspaceSymbol, CodeAction, CompletionList } from 'vscode-languageserver-protocol';
7
+ import type { Position, Range, Location, DocumentSymbol, WorkspaceSymbol, CodeAction, CompletionList, SelectionRange } from 'vscode-languageserver-protocol';
8
8
  import type { Logger } from '../../logging';
9
9
  export declare const workerPool: WorkerPool;
10
10
  export declare class WorkerThreadProject implements LspProject {
@@ -38,6 +38,20 @@ export declare class WorkerThreadProject implements LspProject {
38
38
  * @deprecated do not depend on this property. This will certainly be removed in a future release
39
39
  */
40
40
  bsconfigFileContents?: string;
41
+ /**
42
+ * The contents of the manifest file. This is used to detect when the manifest file has not actually been changed (even if the fs says it did).
43
+ *
44
+ * Only available after `.activate()` has completed.
45
+ * @deprecated do not depend on this property. This will certainly be removed in a future release
46
+ */
47
+ manifestFileContents?: string;
48
+ /**
49
+ * The absolute source path to the manifest file (the file that maps to dest 'manifest').
50
+ * May differ from rootDir/manifest if the project uses a custom {src; dest} mapping.
51
+ *
52
+ * Only available after `.activate()` has completed.
53
+ */
54
+ manifestSrcPath?: string;
41
55
  /**
42
56
  * The worker thread where the actual project will execute
43
57
  */
@@ -115,10 +129,21 @@ export declare class WorkerThreadProject implements LspProject {
115
129
  srcPath: string;
116
130
  position: Position;
117
131
  }): Promise<Location[]>;
132
+ getFileRenameEdits(options: {
133
+ oldSrcPath: string;
134
+ newSrcPath: string;
135
+ }): Promise<FileRenameTextEdit[]>;
118
136
  getCodeActions(options: {
119
137
  srcPath: string;
120
138
  range: Range;
121
139
  }): Promise<CodeAction[]>;
140
+ getSourceFixAllCodeActions(options: {
141
+ srcPath: string;
142
+ }): Promise<CodeAction[]>;
143
+ getSelectionRanges(options: {
144
+ srcPath: string;
145
+ positions: Position[];
146
+ }): Promise<SelectionRange[]>;
122
147
  getCompletions(options: {
123
148
  srcPath: string;
124
149
  position: Position;
@@ -64,11 +64,18 @@ class WorkerThreadProject {
64
64
  this.rootDir = activateResponse.data.rootDir;
65
65
  this.filePatterns = activateResponse.data.filePatterns;
66
66
  this.logger.logLevel = activateResponse.data.logLevel;
67
+ this.manifestSrcPath = activateResponse.data.manifestSrcPath;
67
68
  //load the bsconfig file contents (used for performance optimizations externally)
68
69
  try {
69
70
  this.bsconfigFileContents = (await fsExtra.readFile(this.bsconfigPath)).toString();
70
71
  }
71
72
  catch (_b) { }
73
+ //load the manifest file contents (used for change detection to trigger project reloads).
74
+ //use manifestSrcPath from the activation response which reflects the actual src path (respects {src;dest} mappings)
75
+ try {
76
+ this.manifestFileContents = (await fsExtra.readFile(this.manifestSrcPath)).toString();
77
+ }
78
+ catch (_c) { }
72
79
  this.activationDeferred.resolve();
73
80
  return activateResponse.data;
74
81
  }
@@ -147,9 +154,18 @@ class WorkerThreadProject {
147
154
  async getReferences(options) {
148
155
  return this.sendStandardRequest('getReferences', options);
149
156
  }
157
+ async getFileRenameEdits(options) {
158
+ return this.sendStandardRequest('getFileRenameEdits', options);
159
+ }
150
160
  async getCodeActions(options) {
151
161
  return this.sendStandardRequest('getCodeActions', options);
152
162
  }
163
+ async getSourceFixAllCodeActions(options) {
164
+ return this.sendStandardRequest('getSourceFixAllCodeActions', options);
165
+ }
166
+ async getSelectionRanges(options) {
167
+ return this.sendStandardRequest('getSelectionRanges', options);
168
+ }
153
169
  async getCompletions(options) {
154
170
  return this.sendStandardRequest('getCompletions', options);
155
171
  }
@@ -1 +1 @@
1
- {"version":3,"file":"WorkerThreadProject.js","sourceRoot":"","sources":["../../../src/lsp/worker/WorkerThreadProject.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"WorkerThreadProject.js","sourceRoot":"","sources":["../../../src/lsp/worker/WorkerThreadProject.ts"],"names":[],"mappings":"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"}
@@ -34,7 +34,7 @@ after(() => {
34
34
  describe('WorkerThreadProject', () => {
35
35
  let project;
36
36
  before(async function workerThreadWarmup() {
37
- this.timeout(20000);
37
+ this.timeout(60000);
38
38
  await getWakeWorkerThreadPromise();
39
39
  });
40
40
  beforeEach(() => {
@@ -60,6 +60,7 @@ describe('WorkerThreadProject', () => {
60
60
  bsconfigPath: undefined,
61
61
  projectNumber: 1
62
62
  });
63
+ await project.validate();
63
64
  const diagnostics = await project.getDiagnostics();
64
65
  (0, chai_1.expect)(diagnostics).lengthOf(1);
65
66
  await (0, testHelpers_spec_1.expectDiagnosticsAsync)(diagnostics, [
@@ -1 +1 @@
1
- {"version":3,"file":"WorkerThreadProject.spec.js","sourceRoot":"","sources":["../../../src/lsp/worker/WorkerThreadProject.spec.ts"],"names":[],"mappings":";;;AAAA,6DAAkF;AAClF,oCAAoC;AACpC,+DAAwE;AACxE,iEAA8D;AAC9D,+BAA8B;AAEvB,KAAK,UAAU,gBAAgB;IAClC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,yCAAmB,EAAE,CAAC;IAC1C,IAAI;QACA,MAAM,OAAO,CAAC,QAAQ,CAAC;YACnB,WAAW,EAAE,0BAAO;YACpB,aAAa,EAAE,CAAC;SACZ,CAAC,CAAC;KACb;YAAS;QACN,OAAO,CAAC,OAAO,EAAE,CAAC;KACrB;AACL,CAAC;AAXD,4CAWC;AAED,IAAI,wBAAsC,CAAC;AAC3C,SAAgB,0BAA0B;IACtC,IAAI,wBAAwB,KAAK,SAAS,EAAE;QACxC,wBAAwB,GAAG,gBAAgB,EAAE,CAAC;KACjD;IACD,OAAO,wBAAwB,CAAC;AACpC,CAAC;AALD,gEAKC;AAED,KAAK,CAAC,GAAG,EAAE;IACP,gCAAU,CAAC,OAAO,EAAE,CAAC;AACzB,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACjC,IAAI,OAA4B,CAAC;IACjC,MAAM,CAAC,KAAK,UAAU,kBAAkB;QACpC,IAAI,CAAC,OAAO,CAAC,KAAM,CAAC,CAAC;QACrB,MAAM,0BAA0B,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,GAAG,EAAE;QACZ,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,CAAC;QACnB,OAAO,GAAG,IAAI,yCAAmB,EAAE,CAAC;QACpC,OAAO,CAAC,YAAY,CAAC,0BAAO,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,OAAO,CAAC,YAAY,CAAC,0BAAO,CAAC,CAAC;QAC9B,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;YAC7C,OAAO,CAAC,cAAc,CAAC,GAAG,0BAAO,kBAAkB,EAAE;;;;aAIpD,CAAC,CAAC;YAEH,MAAM,OAAO,CAAC,QAAQ,CAAC;gBACnB,UAAU,EAAE,SAAS;gBACrB,UAAU,EAAE,0BAAO;gBACnB,eAAe,EAAE,0BAAO;gBACxB,YAAY,EAAE,SAAS;gBACvB,aAAa,EAAE,CAAC;aACnB,CAAC,CAAC;YACH,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,cAAc,EAAE,CAAC;YACnD,IAAA,aAAM,EAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,IAAA,yCAAsB,EAAC,WAAW,EAAE;gBACtC,uCAAkB,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,OAAO;aAC3D,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
1
+ {"version":3,"file":"WorkerThreadProject.spec.js","sourceRoot":"","sources":["../../../src/lsp/worker/WorkerThreadProject.spec.ts"],"names":[],"mappings":";;;AAAA,6DAAkF;AAClF,oCAAoC;AACpC,+DAAwE;AACxE,iEAA8D;AAC9D,+BAA8B;AAEvB,KAAK,UAAU,gBAAgB;IAClC,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;IACzC,MAAM,OAAO,GAAG,IAAI,yCAAmB,EAAE,CAAC;IAC1C,IAAI;QACA,MAAM,OAAO,CAAC,QAAQ,CAAC;YACnB,WAAW,EAAE,0BAAO;YACpB,aAAa,EAAE,CAAC;SACZ,CAAC,CAAC;KACb;YAAS;QACN,OAAO,CAAC,OAAO,EAAE,CAAC;KACrB;AACL,CAAC;AAXD,4CAWC;AAED,IAAI,wBAAsC,CAAC;AAC3C,SAAgB,0BAA0B;IACtC,IAAI,wBAAwB,KAAK,SAAS,EAAE;QACxC,wBAAwB,GAAG,gBAAgB,EAAE,CAAC;KACjD;IACD,OAAO,wBAAwB,CAAC;AACpC,CAAC;AALD,gEAKC;AAED,KAAK,CAAC,GAAG,EAAE;IACP,gCAAU,CAAC,OAAO,EAAE,CAAC;AACzB,CAAC,CAAC,CAAC;AAEH,QAAQ,CAAC,qBAAqB,EAAE,GAAG,EAAE;IACjC,IAAI,OAA4B,CAAC;IACjC,MAAM,CAAC,KAAK,UAAU,kBAAkB;QACpC,IAAI,CAAC,OAAO,CAAC,KAAM,CAAC,CAAC;QACrB,MAAM,0BAA0B,EAAE,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,UAAU,CAAC,GAAG,EAAE;QACZ,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,CAAC;QACnB,OAAO,GAAG,IAAI,yCAAmB,EAAE,CAAC;QACpC,OAAO,CAAC,YAAY,CAAC,0BAAO,CAAC,CAAC;IAClC,CAAC,CAAC,CAAC;IAEH,SAAS,CAAC,GAAG,EAAE;QACX,OAAO,CAAC,YAAY,CAAC,0BAAO,CAAC,CAAC;QAC9B,OAAO,aAAP,OAAO,uBAAP,OAAO,CAAE,OAAO,EAAE,CAAC;IACvB,CAAC,CAAC,CAAC;IAEH,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;QACtB,EAAE,CAAC,iCAAiC,EAAE,KAAK,IAAI,EAAE;YAC7C,OAAO,CAAC,cAAc,CAAC,GAAG,0BAAO,kBAAkB,EAAE;;;;aAIpD,CAAC,CAAC;YAEH,MAAM,OAAO,CAAC,QAAQ,CAAC;gBACnB,UAAU,EAAE,SAAS;gBACrB,UAAU,EAAE,0BAAO;gBACnB,eAAe,EAAE,0BAAO;gBACxB,YAAY,EAAE,SAAS;gBACvB,aAAa,EAAE,CAAC;aACnB,CAAC,CAAC;YACH,MAAM,OAAO,CAAC,QAAQ,EAAE,CAAC;YACzB,MAAM,WAAW,GAAG,MAAM,OAAO,CAAC,cAAc,EAAE,CAAC;YACnD,IAAA,aAAM,EAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC;YAChC,MAAM,IAAA,yCAAsB,EAAC,WAAW,EAAE;gBACtC,uCAAkB,CAAC,cAAc,CAAC,aAAa,CAAC,CAAC,OAAO;aAC3D,CAAC,CAAC;QACP,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -6,6 +6,11 @@ import type { Logger } from '../logging';
6
6
  import type { Expression, Statement } from './AstNode';
7
7
  import { SymbolTable } from '../SymbolTable';
8
8
  export declare class Parser {
9
+ /**
10
+ * The minimum Roku firmware version that added native support for multi-line expressions
11
+ * (line continuation) in plain BrightScript (`.brs`) files.
12
+ */
13
+ private static readonly LINE_CONTINUATION_MIN_FIRMWARE_VERSION;
9
14
  /**
10
15
  * The array of tokens passed to `parse()`
11
16
  */
@@ -48,6 +53,16 @@ export declare class Parser {
48
53
  * The options used to parse the file
49
54
  */
50
55
  options: ParseOptions;
56
+ /**
57
+ * Whether line continuation after binary operators is allowed.
58
+ * Enabled in BrighterScript mode, or when minFirmwareVersion >= 15.3.
59
+ */
60
+ private allowLineContinuation;
61
+ /**
62
+ * If line continuation is enabled, consumes all immediately following Newline tokens.
63
+ * Call this after matching a binary operator to allow the right-hand operand on the next line.
64
+ */
65
+ private consumeNewlinesIfAllowed;
51
66
  private globalTerminators;
52
67
  /**
53
68
  * A list of identifiers that are permitted to be used as local variables. We store this in a property because we augment the list in the constructor
@@ -326,6 +341,13 @@ export interface ParseOptions {
326
341
  * @default true
327
342
  */
328
343
  trackLocations?: boolean;
344
+ /**
345
+ * The minimum Roku firmware version required to run this project.
346
+ * When set to '15.3' or higher, line continuation (multi-line expressions in `.brs` files)
347
+ * is enabled even in BrightScript mode because Roku OS 15.3 added native support for it.
348
+ * Should be a semver-compatible string (e.g. '15.3.0').
349
+ */
350
+ minFirmwareVersion?: string;
329
351
  }
330
352
  export declare class References {
331
353
  private cache;
@@ -14,6 +14,7 @@ const visitors_1 = require("../astUtils/visitors");
14
14
  const creators_1 = require("../astUtils/creators");
15
15
  const Cache_1 = require("../Cache");
16
16
  const SymbolTable_1 = require("../SymbolTable");
17
+ const semver = require("semver");
17
18
  class Parser {
18
19
  constructor() {
19
20
  /**
@@ -75,6 +76,15 @@ class Parser {
75
76
  }
76
77
  }
77
78
  }
79
+ /**
80
+ * If line continuation is enabled, consumes all immediately following Newline tokens.
81
+ * Call this after matching a binary operator to allow the right-hand operand on the next line.
82
+ */
83
+ consumeNewlinesIfAllowed() {
84
+ if (this.allowLineContinuation) {
85
+ while (this.match(TokenKind_1.TokenKind.Newline)) { }
86
+ }
87
+ }
78
88
  /**
79
89
  * Get the currently active global terminators
80
90
  */
@@ -98,6 +108,8 @@ class Parser {
98
108
  this.logger = (_a = options === null || options === void 0 ? void 0 : options.logger) !== null && _a !== void 0 ? _a : (0, logging_1.createLogger)();
99
109
  options = this.sanitizeParseOptions(options);
100
110
  this.options = options;
111
+ const coercedMinFirmwareVersion = semver.coerce(this.options.minFirmwareVersion);
112
+ this.allowLineContinuation = options.mode === ParseMode.BrighterScript || (!!coercedMinFirmwareVersion && semver.gte(coercedMinFirmwareVersion, Parser.LINE_CONTINUATION_MIN_FIRMWARE_VERSION));
101
113
  let tokens;
102
114
  if (typeof toParse === 'string') {
103
115
  tokens = Lexer_1.Lexer.scan(toParse, { trackLocations: options.trackLocations }).tokens;
@@ -887,17 +899,23 @@ class Parser {
887
899
  const whileKeyword = this.advance();
888
900
  const condition = this.expression();
889
901
  this.consumeStatementSeparators();
890
- const whileBlock = this.block(TokenKind_1.TokenKind.EndWhile);
902
+ const whileBlock = this.block(TokenKind_1.TokenKind.EndWhile, TokenKind_1.TokenKind.Next);
891
903
  let endWhile;
892
- if (!whileBlock || this.peek().kind !== TokenKind_1.TokenKind.EndWhile) {
904
+ if (whileBlock && this.peek().kind === TokenKind_1.TokenKind.EndWhile) {
905
+ endWhile = this.advance();
906
+ }
907
+ else if (whileBlock && this.peek().kind === TokenKind_1.TokenKind.Next) {
908
+ //recover: a stray `next` is a common mistake when the user means `end while`.
909
+ //emit a targeted diagnostic and consume the `next` so the rest of the file parses cleanly.
910
+ this.diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.mismatchedEndingToken(['end while'], 'next')), { range: this.peek().range }));
911
+ endWhile = this.advance();
912
+ }
913
+ else {
893
914
  this.diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.couldNotFindMatchingEndKeyword('while')), { range: this.peek().range }));
894
915
  if (!whileBlock) {
895
916
  throw this.lastDiagnosticAsError();
896
917
  }
897
918
  }
898
- else {
899
- endWhile = this.advance();
900
- }
901
919
  return new Statement_1.WhileStatement({ while: whileKeyword, endWhile: endWhile }, condition, whileBlock);
902
920
  }
903
921
  exitWhile() {
@@ -920,17 +938,22 @@ class Parser {
920
938
  // BrightScript for/to/step loops default to a step of 1 if no `step` is provided
921
939
  }
922
940
  this.consumeStatementSeparators();
923
- let body = this.block(TokenKind_1.TokenKind.EndFor, TokenKind_1.TokenKind.Next);
941
+ let body = this.block(TokenKind_1.TokenKind.EndFor, TokenKind_1.TokenKind.Next, TokenKind_1.TokenKind.EndWhile);
924
942
  let endForToken;
925
- if (!body || !this.checkAny(TokenKind_1.TokenKind.EndFor, TokenKind_1.TokenKind.Next)) {
943
+ if (body && this.checkAny(TokenKind_1.TokenKind.EndFor, TokenKind_1.TokenKind.Next)) {
944
+ endForToken = this.advance();
945
+ }
946
+ else if (body && this.peek().kind === TokenKind_1.TokenKind.EndWhile) {
947
+ //recover: a stray `end while` is a common mistake when the user means `end for`.
948
+ this.diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.mismatchedEndingToken(['end for', 'next'], 'end while')), { range: this.peek().range }));
949
+ endForToken = this.advance();
950
+ }
951
+ else {
926
952
  this.diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.expectedEndForOrNextToTerminateForLoop()), { range: this.peek().range }));
927
953
  if (!body) {
928
954
  throw this.lastDiagnosticAsError();
929
955
  }
930
956
  }
931
- else {
932
- endForToken = this.advance();
933
- }
934
957
  // WARNING: BrightScript doesn't delete the loop initial value after a for/to loop! It just
935
958
  // stays around in scope with whatever value it was when the loop exited.
936
959
  return new Statement_1.ForStatement(forToken, initializer, toToken, finalValue, body, endForToken, stepToken, incrementExpression);
@@ -957,12 +980,20 @@ class Parser {
957
980
  throw this.lastDiagnosticAsError();
958
981
  }
959
982
  this.consumeStatementSeparators();
960
- let body = this.block(TokenKind_1.TokenKind.EndFor, TokenKind_1.TokenKind.Next);
961
- if (!body) {
983
+ let body = this.block(TokenKind_1.TokenKind.EndFor, TokenKind_1.TokenKind.Next, TokenKind_1.TokenKind.EndWhile);
984
+ let endFor;
985
+ if (body && this.checkAny(TokenKind_1.TokenKind.EndFor, TokenKind_1.TokenKind.Next)) {
986
+ endFor = this.advance();
987
+ }
988
+ else if (body && this.peek().kind === TokenKind_1.TokenKind.EndWhile) {
989
+ //recover: a stray `end while` is a common mistake when the user means `end for`.
990
+ this.diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.mismatchedEndingToken(['end for', 'next'], 'end while')), { range: this.peek().range }));
991
+ endFor = this.advance();
992
+ }
993
+ else {
962
994
  this.diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.expectedEndForOrNextToTerminateForLoop()), { range: this.peek().range }));
963
995
  throw this.lastDiagnosticAsError();
964
996
  }
965
- let endFor = this.advance();
966
997
  return new Statement_1.ForEachStatement({
967
998
  forEach: forEach,
968
999
  in: maybeIn,
@@ -1818,6 +1849,7 @@ class Parser {
1818
1849
  let expr = this.relational();
1819
1850
  while (this.matchAny(TokenKind_1.TokenKind.And, TokenKind_1.TokenKind.Or)) {
1820
1851
  let operator = this.previous();
1852
+ this.consumeNewlinesIfAllowed();
1821
1853
  let right = this.relational();
1822
1854
  this.addExpressionsToReferences(expr, right);
1823
1855
  expr = new Expression_1.BinaryExpression(expr, operator, right);
@@ -1828,6 +1860,7 @@ class Parser {
1828
1860
  let expr = this.additive();
1829
1861
  while (this.matchAny(TokenKind_1.TokenKind.Equal, TokenKind_1.TokenKind.LessGreater, TokenKind_1.TokenKind.Greater, TokenKind_1.TokenKind.GreaterEqual, TokenKind_1.TokenKind.Less, TokenKind_1.TokenKind.LessEqual)) {
1830
1862
  let operator = this.previous();
1863
+ this.consumeNewlinesIfAllowed();
1831
1864
  let right = this.additive();
1832
1865
  this.addExpressionsToReferences(expr, right);
1833
1866
  expr = new Expression_1.BinaryExpression(expr, operator, right);
@@ -1846,6 +1879,7 @@ class Parser {
1846
1879
  let expr = this.multiplicative();
1847
1880
  while (this.matchAny(TokenKind_1.TokenKind.Plus, TokenKind_1.TokenKind.Minus)) {
1848
1881
  let operator = this.previous();
1882
+ this.consumeNewlinesIfAllowed();
1849
1883
  let right = this.multiplicative();
1850
1884
  this.addExpressionsToReferences(expr, right);
1851
1885
  expr = new Expression_1.BinaryExpression(expr, operator, right);
@@ -1856,6 +1890,7 @@ class Parser {
1856
1890
  let expr = this.exponential();
1857
1891
  while (this.matchAny(TokenKind_1.TokenKind.Forwardslash, TokenKind_1.TokenKind.Backslash, TokenKind_1.TokenKind.Star, TokenKind_1.TokenKind.Mod, TokenKind_1.TokenKind.LeftShift, TokenKind_1.TokenKind.RightShift)) {
1858
1892
  let operator = this.previous();
1893
+ this.consumeNewlinesIfAllowed();
1859
1894
  let right = this.exponential();
1860
1895
  this.addExpressionsToReferences(expr, right);
1861
1896
  expr = new Expression_1.BinaryExpression(expr, operator, right);
@@ -1866,6 +1901,7 @@ class Parser {
1866
1901
  let expr = this.prefixUnary();
1867
1902
  while (this.match(TokenKind_1.TokenKind.Caret)) {
1868
1903
  let operator = this.previous();
1904
+ this.consumeNewlinesIfAllowed();
1869
1905
  let right = this.prefixUnary();
1870
1906
  this.addExpressionsToReferences(expr, right);
1871
1907
  expr = new Expression_1.BinaryExpression(expr, operator, right);
@@ -1997,10 +2033,10 @@ class Parser {
1997
2033
  }
1998
2034
  finishCall(openingParen, callee, addToCallExpressionList = true) {
1999
2035
  let args = [];
2000
- while (this.match(TokenKind_1.TokenKind.Newline)) { }
2036
+ this.consumeNewlinesIfAllowed();
2001
2037
  if (!this.check(TokenKind_1.TokenKind.RightParen)) {
2002
2038
  do {
2003
- while (this.match(TokenKind_1.TokenKind.Newline)) { }
2039
+ this.consumeNewlinesIfAllowed();
2004
2040
  if (args.length >= Expression_1.CallExpression.MaximumArguments) {
2005
2041
  this.diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.tooManyCallableArguments(args.length, Expression_1.CallExpression.MaximumArguments)), { range: this.peek().range }));
2006
2042
  throw this.lastDiagnosticAsError();
@@ -2015,7 +2051,7 @@ class Parser {
2015
2051
  }
2016
2052
  } while (this.match(TokenKind_1.TokenKind.Comma));
2017
2053
  }
2018
- while (this.match(TokenKind_1.TokenKind.Newline)) { }
2054
+ this.consumeNewlinesIfAllowed();
2019
2055
  const closingParen = this.tryConsume(DiagnosticMessages_1.DiagnosticMessages.expectedRightParenAfterFunctionCallArguments(), TokenKind_1.TokenKind.RightParen);
2020
2056
  let expression = new Expression_1.CallExpression(callee, openingParen, closingParen, args);
2021
2057
  if (addToCallExpressionList) {
@@ -2711,6 +2747,11 @@ class Parser {
2711
2747
  }
2712
2748
  }
2713
2749
  exports.Parser = Parser;
2750
+ /**
2751
+ * The minimum Roku firmware version that added native support for multi-line expressions
2752
+ * (line continuation) in plain BrightScript (`.brs`) files.
2753
+ */
2754
+ Parser.LINE_CONTINUATION_MIN_FIRMWARE_VERSION = '15.3.0';
2714
2755
  var ParseMode;
2715
2756
  (function (ParseMode) {
2716
2757
  ParseMode["BrightScript"] = "BrightScript";