brighterscript 0.66.0-alpha.6 → 0.66.0-alpha.8

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 (288) hide show
  1. package/CHANGELOG.md +88 -10
  2. package/README.md +16 -0
  3. package/bsconfig.schema.json +15 -0
  4. package/dist/ActionPipeline.d.ts +10 -0
  5. package/dist/ActionPipeline.js +40 -0
  6. package/dist/ActionPipeline.js.map +1 -0
  7. package/dist/AstValidationSegmenter.d.ts +25 -0
  8. package/dist/AstValidationSegmenter.js +150 -0
  9. package/dist/AstValidationSegmenter.js.map +1 -0
  10. package/dist/BsConfig.d.ts +15 -1
  11. package/dist/CommentFlagProcessor.d.ts +4 -3
  12. package/dist/CommentFlagProcessor.js.map +1 -1
  13. package/dist/DiagnosticMessages.d.ts +8 -1
  14. package/dist/DiagnosticMessages.js +30 -13
  15. package/dist/DiagnosticMessages.js.map +1 -1
  16. package/dist/LanguageServer.js +7 -1
  17. package/dist/LanguageServer.js.map +1 -1
  18. package/dist/PluginInterface.d.ts +11 -2
  19. package/dist/PluginInterface.js +69 -10
  20. package/dist/PluginInterface.js.map +1 -1
  21. package/dist/Program.d.ts +107 -38
  22. package/dist/Program.js +502 -270
  23. package/dist/Program.js.map +1 -1
  24. package/dist/ProgramBuilder.d.ts +10 -4
  25. package/dist/ProgramBuilder.js +44 -54
  26. package/dist/ProgramBuilder.js.map +1 -1
  27. package/dist/Scope.d.ts +26 -38
  28. package/dist/Scope.js +153 -174
  29. package/dist/Scope.js.map +1 -1
  30. package/dist/SymbolTable.d.ts +4 -1
  31. package/dist/SymbolTable.js +19 -7
  32. package/dist/SymbolTable.js.map +1 -1
  33. package/dist/XmlScope.d.ts +5 -4
  34. package/dist/XmlScope.js +16 -14
  35. package/dist/XmlScope.js.map +1 -1
  36. package/dist/astUtils/{AstEditor.d.ts → Editor.d.ts} +6 -1
  37. package/dist/astUtils/{AstEditor.js → Editor.js} +9 -3
  38. package/dist/astUtils/Editor.js.map +1 -0
  39. package/dist/astUtils/{AstEditor.spec.js → Editor.spec.js} +10 -6
  40. package/dist/astUtils/Editor.spec.js.map +1 -0
  41. package/dist/astUtils/reflection.d.ts +9 -4
  42. package/dist/astUtils/reflection.js +23 -7
  43. package/dist/astUtils/reflection.js.map +1 -1
  44. package/dist/astUtils/reflection.spec.js +2 -2
  45. package/dist/astUtils/reflection.spec.js.map +1 -1
  46. package/dist/astUtils/visitors.d.ts +14 -3
  47. package/dist/astUtils/visitors.js +22 -2
  48. package/dist/astUtils/visitors.js.map +1 -1
  49. package/dist/astUtils/visitors.spec.js +58 -7
  50. package/dist/astUtils/visitors.spec.js.map +1 -1
  51. package/dist/bscPlugin/BscPlugin.d.ts +10 -2
  52. package/dist/bscPlugin/BscPlugin.js +24 -4
  53. package/dist/bscPlugin/BscPlugin.js.map +1 -1
  54. package/dist/bscPlugin/FileWriter.d.ts +6 -0
  55. package/dist/bscPlugin/FileWriter.js +24 -0
  56. package/dist/bscPlugin/FileWriter.js.map +1 -0
  57. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +8 -8
  58. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
  59. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +1 -1
  60. package/dist/bscPlugin/completions/CompletionsProcessor.d.ts +7 -2
  61. package/dist/bscPlugin/completions/CompletionsProcessor.js +112 -44
  62. package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
  63. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js +212 -6
  64. package/dist/bscPlugin/completions/CompletionsProcessor.spec.js.map +1 -1
  65. package/dist/bscPlugin/fileProviders/FileProvider.d.ts +9 -0
  66. package/dist/bscPlugin/fileProviders/FileProvider.js +51 -0
  67. package/dist/bscPlugin/fileProviders/FileProvider.js.map +1 -0
  68. package/dist/bscPlugin/hover/HoverProcessor.d.ts +1 -7
  69. package/dist/bscPlugin/hover/HoverProcessor.js +10 -8
  70. package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -1
  71. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.d.ts +1 -0
  72. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +43 -0
  73. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -1
  74. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +22 -0
  75. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +1 -1
  76. package/dist/bscPlugin/serialize/BslibInjector.spec.js +19 -0
  77. package/dist/bscPlugin/serialize/BslibInjector.spec.js.map +1 -0
  78. package/dist/bscPlugin/serialize/BslibManager.d.ts +9 -0
  79. package/dist/bscPlugin/serialize/BslibManager.js +40 -0
  80. package/dist/bscPlugin/serialize/BslibManager.js.map +1 -0
  81. package/dist/bscPlugin/serialize/FileSerializer.d.ts +9 -0
  82. package/dist/bscPlugin/serialize/FileSerializer.js +72 -0
  83. package/dist/bscPlugin/serialize/FileSerializer.js.map +1 -0
  84. package/dist/bscPlugin/transpile/{BrsFilePreTranspileProcessor.d.ts → BrsFileTranspileProcessor.d.ts} +4 -2
  85. package/dist/bscPlugin/transpile/{BrsFilePreTranspileProcessor.js → BrsFileTranspileProcessor.js} +29 -5
  86. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js.map +1 -0
  87. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.d.ts +1 -0
  88. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js +41 -0
  89. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js.map +1 -0
  90. package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.d.ts +2 -2
  91. package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.js.map +1 -1
  92. package/dist/bscPlugin/validation/BrsFileValidator.js +8 -3
  93. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
  94. package/dist/bscPlugin/validation/BrsFileValidator.spec.js +1 -1
  95. package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +1 -1
  96. package/dist/bscPlugin/validation/ScopeValidator.d.ts +5 -9
  97. package/dist/bscPlugin/validation/ScopeValidator.js +214 -222
  98. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
  99. package/dist/bscPlugin/validation/ScopeValidator.spec.js +669 -0
  100. package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +1 -1
  101. package/dist/bscPlugin/validation/XmlFileValidator.js +2 -2
  102. package/dist/bscPlugin/validation/XmlFileValidator.js.map +1 -1
  103. package/dist/cli.js +1 -0
  104. package/dist/cli.js.map +1 -1
  105. package/dist/deferred.d.ts +2 -2
  106. package/dist/deferred.js.map +1 -1
  107. package/dist/diagnosticUtils.d.ts +1 -0
  108. package/dist/diagnosticUtils.js +4 -3
  109. package/dist/diagnosticUtils.js.map +1 -1
  110. package/dist/examples/plugins/removePrint.js +1 -1
  111. package/dist/examples/plugins/removePrint.js.map +1 -1
  112. package/dist/files/AssetFile.d.ts +26 -0
  113. package/dist/files/AssetFile.js +26 -0
  114. package/dist/files/AssetFile.js.map +1 -0
  115. package/dist/files/BrsFile.Class.spec.js +241 -40
  116. package/dist/files/BrsFile.Class.spec.js.map +1 -1
  117. package/dist/files/BrsFile.d.ts +66 -16
  118. package/dist/files/BrsFile.js +330 -80
  119. package/dist/files/BrsFile.js.map +1 -1
  120. package/dist/files/BrsFile.spec.js +1134 -167
  121. package/dist/files/BrsFile.spec.js.map +1 -1
  122. package/dist/files/Factory.d.ts +25 -0
  123. package/dist/files/Factory.js +22 -0
  124. package/dist/files/Factory.js.map +1 -0
  125. package/dist/files/File.d.ts +106 -0
  126. package/dist/files/File.js +16 -0
  127. package/dist/files/File.js.map +1 -0
  128. package/dist/files/LazyFileData.d.ts +20 -0
  129. package/dist/files/LazyFileData.js +54 -0
  130. package/dist/files/LazyFileData.js.map +1 -0
  131. package/dist/files/LazyFileData.spec.d.ts +1 -0
  132. package/dist/files/LazyFileData.spec.js +27 -0
  133. package/dist/files/LazyFileData.spec.js.map +1 -0
  134. package/dist/files/XmlFile.d.ts +55 -17
  135. package/dist/files/XmlFile.js +88 -47
  136. package/dist/files/XmlFile.js.map +1 -1
  137. package/dist/files/XmlFile.spec.js +64 -57
  138. package/dist/files/XmlFile.spec.js.map +1 -1
  139. package/dist/files/tests/imports.spec.js +21 -8
  140. package/dist/files/tests/imports.spec.js.map +1 -1
  141. package/dist/files/tests/optionalChaning.spec.js +14 -14
  142. package/dist/files/tests/optionalChaning.spec.js.map +1 -1
  143. package/dist/globalCallables.js +1 -1
  144. package/dist/globalCallables.js.map +1 -1
  145. package/dist/index.d.ts +6 -1
  146. package/dist/index.js +6 -1
  147. package/dist/index.js.map +1 -1
  148. package/dist/interfaces.d.ts +357 -89
  149. package/dist/interfaces.js +10 -2
  150. package/dist/interfaces.js.map +1 -1
  151. package/dist/lexer/Lexer.js +1 -1
  152. package/dist/lexer/TokenKind.d.ts +1 -0
  153. package/dist/lexer/TokenKind.js +4 -1
  154. package/dist/lexer/TokenKind.js.map +1 -1
  155. package/dist/parser/AstNode.d.ts +2 -2
  156. package/dist/parser/AstNode.js +1 -1
  157. package/dist/parser/AstNode.js.map +1 -1
  158. package/dist/parser/BrsTranspileState.d.ts +3 -2
  159. package/dist/parser/BrsTranspileState.js +3 -2
  160. package/dist/parser/BrsTranspileState.js.map +1 -1
  161. package/dist/parser/Expression.d.ts +2 -2
  162. package/dist/parser/Expression.js +23 -19
  163. package/dist/parser/Expression.js.map +1 -1
  164. package/dist/parser/Parser.Class.spec.js +103 -0
  165. package/dist/parser/Parser.Class.spec.js.map +1 -1
  166. package/dist/parser/Parser.js +61 -13
  167. package/dist/parser/Parser.js.map +1 -1
  168. package/dist/parser/Parser.spec.js +227 -1
  169. package/dist/parser/Parser.spec.js.map +1 -1
  170. package/dist/parser/SGParser.d.ts +2 -2
  171. package/dist/parser/SGParser.js +3 -3
  172. package/dist/parser/SGParser.js.map +1 -1
  173. package/dist/parser/SGParser.spec.js +2 -2
  174. package/dist/parser/SGParser.spec.js.map +1 -1
  175. package/dist/parser/SGTypes.d.ts +1 -1
  176. package/dist/parser/Statement.d.ts +12 -5
  177. package/dist/parser/Statement.js +56 -26
  178. package/dist/parser/Statement.js.map +1 -1
  179. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +16 -16
  180. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
  181. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js +10 -10
  182. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js.map +1 -1
  183. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js +24 -24
  184. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js.map +1 -1
  185. package/dist/parser/tests/expression/TemplateStringExpression.spec.js +64 -36
  186. package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +1 -1
  187. package/dist/parser/tests/expression/TernaryExpression.spec.js +34 -34
  188. package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
  189. package/dist/parser/tests/expression/UnaryExpression.spec.d.ts +1 -0
  190. package/dist/parser/tests/expression/UnaryExpression.spec.js +52 -0
  191. package/dist/parser/tests/expression/UnaryExpression.spec.js.map +1 -0
  192. package/dist/parser/tests/statement/ConstStatement.spec.js +90 -16
  193. package/dist/parser/tests/statement/ConstStatement.spec.js.map +1 -1
  194. package/dist/parser/tests/statement/Continue.spec.js +2 -2
  195. package/dist/parser/tests/statement/Continue.spec.js.map +1 -1
  196. package/dist/parser/tests/statement/Enum.spec.js +35 -26
  197. package/dist/parser/tests/statement/Enum.spec.js.map +1 -1
  198. package/dist/parser/tests/statement/For.spec.js +6 -6
  199. package/dist/parser/tests/statement/For.spec.js.map +1 -1
  200. package/dist/parser/tests/statement/ForEach.spec.js +4 -4
  201. package/dist/parser/tests/statement/ForEach.spec.js.map +1 -1
  202. package/dist/parser/tests/statement/InterfaceStatement.spec.js +20 -12
  203. package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +1 -1
  204. package/dist/parser/tests/statement/PrintStatement.spec.js +10 -10
  205. package/dist/parser/tests/statement/PrintStatement.spec.js.map +1 -1
  206. package/dist/preprocessor/Manifest.d.ts +1 -1
  207. package/dist/preprocessor/Manifest.js +2 -2
  208. package/dist/preprocessor/Manifest.js.map +1 -1
  209. package/dist/roku-types/data.json +98 -193
  210. package/dist/roku-types/index.d.ts +15 -11
  211. package/dist/types/ArrayType.d.ts +1 -1
  212. package/dist/types/ArrayType.js +4 -0
  213. package/dist/types/ArrayType.js.map +1 -1
  214. package/dist/types/ArrayType.spec.js +1 -1
  215. package/dist/types/ArrayType.spec.js.map +1 -1
  216. package/dist/types/AssociativeArrayType.d.ts +1 -1
  217. package/dist/types/AssociativeArrayType.js +1 -1
  218. package/dist/types/AssociativeArrayType.js.map +1 -1
  219. package/dist/types/BooleanType.d.ts +1 -1
  220. package/dist/types/BooleanType.js +2 -1
  221. package/dist/types/BooleanType.js.map +1 -1
  222. package/dist/types/BscType.d.ts +2 -2
  223. package/dist/types/BscType.js +30 -9
  224. package/dist/types/BscType.js.map +1 -1
  225. package/dist/types/BuiltInInterfaceAdder.d.ts +3 -0
  226. package/dist/types/BuiltInInterfaceAdder.js +37 -16
  227. package/dist/types/BuiltInInterfaceAdder.js.map +1 -1
  228. package/dist/types/BuiltInInterfaceAdder.spec.js +7 -0
  229. package/dist/types/BuiltInInterfaceAdder.spec.js.map +1 -1
  230. package/dist/types/ClassType.d.ts +4 -3
  231. package/dist/types/ClassType.js +6 -3
  232. package/dist/types/ClassType.js.map +1 -1
  233. package/dist/types/ClassType.spec.js +5 -3
  234. package/dist/types/ClassType.spec.js.map +1 -1
  235. package/dist/types/ComponentType.d.ts +1 -1
  236. package/dist/types/ComponentType.js +3 -0
  237. package/dist/types/ComponentType.js.map +1 -1
  238. package/dist/types/DoubleType.js +3 -1
  239. package/dist/types/DoubleType.js.map +1 -1
  240. package/dist/types/EnumType.d.ts +1 -1
  241. package/dist/types/EnumType.js +7 -2
  242. package/dist/types/EnumType.js.map +1 -1
  243. package/dist/types/FloatType.js +3 -1
  244. package/dist/types/FloatType.js.map +1 -1
  245. package/dist/types/InheritableType.d.ts +7 -4
  246. package/dist/types/InheritableType.js +67 -3
  247. package/dist/types/InheritableType.js.map +1 -1
  248. package/dist/types/IntegerType.js +3 -1
  249. package/dist/types/IntegerType.js.map +1 -1
  250. package/dist/types/InterfaceType.d.ts +5 -4
  251. package/dist/types/InterfaceType.js +5 -12
  252. package/dist/types/InterfaceType.js.map +1 -1
  253. package/dist/types/InterfaceType.spec.js +23 -0
  254. package/dist/types/InterfaceType.spec.js.map +1 -1
  255. package/dist/types/LongIntegerType.js +3 -1
  256. package/dist/types/LongIntegerType.js.map +1 -1
  257. package/dist/types/NamespaceType.d.ts +2 -1
  258. package/dist/types/NamespaceType.js +3 -0
  259. package/dist/types/NamespaceType.js.map +1 -1
  260. package/dist/types/ObjectType.d.ts +1 -1
  261. package/dist/types/ReferenceType.js +40 -6
  262. package/dist/types/ReferenceType.js.map +1 -1
  263. package/dist/types/StringType.js +2 -2
  264. package/dist/types/StringType.js.map +1 -1
  265. package/dist/types/TypedFunctionType.d.ts +6 -1
  266. package/dist/types/TypedFunctionType.js +46 -16
  267. package/dist/types/TypedFunctionType.js.map +1 -1
  268. package/dist/types/TypedFunctionType.spec.js +99 -0
  269. package/dist/types/TypedFunctionType.spec.js.map +1 -1
  270. package/dist/types/UnionType.js +8 -0
  271. package/dist/types/UnionType.js.map +1 -1
  272. package/dist/types/helper.spec.js +15 -0
  273. package/dist/types/helper.spec.js.map +1 -1
  274. package/dist/types/helpers.d.ts +3 -0
  275. package/dist/types/helpers.js +33 -1
  276. package/dist/types/helpers.js.map +1 -1
  277. package/dist/util.d.ts +25 -9
  278. package/dist/util.js +165 -72
  279. package/dist/util.js.map +1 -1
  280. package/dist/validators/ClassValidator.js.map +1 -1
  281. package/package.json +2 -2
  282. package/dist/astUtils/AstEditor.js.map +0 -1
  283. package/dist/astUtils/AstEditor.spec.js.map +0 -1
  284. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js.map +0 -1
  285. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js +0 -31
  286. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js.map +0 -1
  287. /package/dist/astUtils/{AstEditor.spec.d.ts → Editor.spec.d.ts} +0 -0
  288. /package/dist/bscPlugin/{transpile/BrsFilePreTranspileProcessor.spec.d.ts → serialize/BslibInjector.spec.d.ts} +0 -0
@@ -64,6 +64,27 @@ describe('BrsFile BrighterScript classes', () => {
64
64
  DiagnosticMessages_1.DiagnosticMessages.classConstructorMissingSuperCall()
65
65
  ]);
66
66
  });
67
+ it('allows class named `optional`', () => {
68
+ program.setFile('source/main.bs', `
69
+ class optional
70
+ thing = 1
71
+ end class
72
+ `);
73
+ program.validate();
74
+ (0, testHelpers_spec_1.expectZeroDiagnostics)(program);
75
+ });
76
+ it('supports optional fields', () => {
77
+ program.setFile('source/main.bs', `
78
+ class Movie
79
+ name as string
80
+ optional subtitles as string
81
+ public optional isRepeatEnabled as boolean
82
+ private optional wasPlayed
83
+ end class
84
+ `);
85
+ program.validate();
86
+ (0, testHelpers_spec_1.expectZeroDiagnostics)(program);
87
+ });
67
88
  it('access modifier is option for override', () => {
68
89
  let file = program.setFile({ src: `${testHelpers_spec_2.rootDir}/source/main.bs`, dest: 'source/main.bs' }, `
69
90
  class Animal
@@ -186,11 +207,11 @@ describe('BrsFile BrighterScript classes', () => {
186
207
  end class
187
208
  `);
188
209
  (0, chai_config_spec_1.expect)(file.ast.statements[1].body[0].func.body.statements[0].expression.callee.name.text).to.eql('super');
189
- await program.transpile([], testHelpers_spec_2.stagingDir);
210
+ await program.getTranspiledFileContents(file.srcPath);
190
211
  (0, chai_config_spec_1.expect)(file.ast.statements[1].body[0].func.body.statements[0].expression.callee.name.text).to.eql('super');
191
212
  });
192
- it('follows correct sequence for property initializers', () => {
193
- testTranspile(`
213
+ it('follows correct sequence for property initializers', async () => {
214
+ await testTranspile(`
194
215
  class Animal
195
216
  species1 = "Animal"
196
217
  sub new()
@@ -235,8 +256,8 @@ describe('BrsFile BrighterScript classes', () => {
235
256
  end function
236
257
  `, 'trim', 'source/main.bs');
237
258
  });
238
- it('allows comments as first line of constructor', () => {
239
- testTranspile(`
259
+ it('allows comments as first line of constructor', async () => {
260
+ await testTranspile(`
240
261
  class Animal
241
262
  end class
242
263
  class Duck extends Animal
@@ -273,8 +294,8 @@ describe('BrsFile BrighterScript classes', () => {
273
294
  end function
274
295
  `);
275
296
  });
276
- it('does not inject a call to super if one exists', () => {
277
- testTranspile(`
297
+ it('does not inject a call to super if one exists', async () => {
298
+ await testTranspile(`
278
299
  class Animal
279
300
  end class
280
301
  class Duck extends Animal
@@ -311,8 +332,8 @@ describe('BrsFile BrighterScript classes', () => {
311
332
  end function
312
333
  `);
313
334
  });
314
- it('handles class inheritance inferred constructor calls', () => {
315
- testTranspile(`
335
+ it('handles class inheritance inferred constructor calls', async () => {
336
+ await testTranspile(`
316
337
  class Animal
317
338
  className1 = "Animal"
318
339
  end class
@@ -365,8 +386,8 @@ describe('BrsFile BrighterScript classes', () => {
365
386
  end function
366
387
  `, undefined, 'source/main.bs');
367
388
  });
368
- it('works with namespaces', () => {
369
- testTranspile(`
389
+ it('works with namespaces', async () => {
390
+ await testTranspile(`
370
391
  namespace Birds.WaterFowl
371
392
  class Duck
372
393
  end class
@@ -400,8 +421,8 @@ describe('BrsFile BrighterScript classes', () => {
400
421
  end function
401
422
  `, undefined, 'source/main.bs');
402
423
  });
403
- it('works for simple class', () => {
404
- testTranspile(`
424
+ it('works for simple class', async () => {
425
+ await testTranspile(`
405
426
  class Duck
406
427
  end class
407
428
  `, `
@@ -418,8 +439,8 @@ describe('BrsFile BrighterScript classes', () => {
418
439
  end function
419
440
  `, undefined, 'source/main.bs');
420
441
  });
421
- it('registers the constructor and properly handles its parameters', () => {
422
- testTranspile(`
442
+ it('registers the constructor and properly handles its parameters', async () => {
443
+ await testTranspile(`
423
444
  class Duck
424
445
  sub new(name as string, age as integer)
425
446
  end sub
@@ -438,8 +459,8 @@ describe('BrsFile BrighterScript classes', () => {
438
459
  end function
439
460
  `, undefined, 'source/main.bs');
440
461
  });
441
- it('properly handles child class constructor override and super calls', () => {
442
- testTranspile(`
462
+ it('properly handles child class constructor override and super calls', async () => {
463
+ await testTranspile(`
443
464
  class Animal
444
465
  sub new(name as string)
445
466
  end sub
@@ -484,8 +505,8 @@ describe('BrsFile BrighterScript classes', () => {
484
505
  end function
485
506
  `, undefined, 'source/main.bs');
486
507
  });
487
- it('transpiles super in nested blocks', () => {
488
- testTranspile(`
508
+ it('transpiles super in nested blocks', async () => {
509
+ await testTranspile(`
489
510
  class Creature
490
511
  sub new(name as string)
491
512
  end sub
@@ -539,7 +560,7 @@ describe('BrsFile BrighterScript classes', () => {
539
560
  end function
540
561
  `, 'trim', 'source/main.bs');
541
562
  });
542
- it('properly transpiles classes from outside current namespace', () => {
563
+ it('properly transpiles classes from outside current namespace', async () => {
543
564
  addFile('source/Animals.bs', `
544
565
  namespace Animals
545
566
  class Duck
@@ -548,7 +569,7 @@ describe('BrsFile BrighterScript classes', () => {
548
569
  class Bird
549
570
  end class
550
571
  `);
551
- testTranspile(`
572
+ await testTranspile(`
552
573
  namespace Animals
553
574
  sub init()
554
575
  donaldDuck = new Duck()
@@ -564,8 +585,8 @@ describe('BrsFile BrighterScript classes', () => {
564
585
  end sub
565
586
  `, undefined, 'source/main.bs');
566
587
  });
567
- it('properly transpiles new statement for missing class ', () => {
568
- testTranspile(`
588
+ it('properly transpiles new statement for missing class ', async () => {
589
+ await testTranspile(`
569
590
  sub main()
570
591
  bob = new Human()
571
592
  end sub
@@ -575,14 +596,14 @@ describe('BrsFile BrighterScript classes', () => {
575
596
  end sub
576
597
  `, undefined, 'source/main.bs', false);
577
598
  });
578
- it('new keyword transpiles correctly', () => {
599
+ it('new keyword transpiles correctly', async () => {
579
600
  addFile('source/Animal.bs', `
580
601
  class Animal
581
602
  sub new(name as string)
582
603
  end sub
583
604
  end class
584
605
  `);
585
- testTranspile(`
606
+ await testTranspile(`
586
607
  sub main()
587
608
  a = new Animal("donald")
588
609
  end sub
@@ -592,8 +613,8 @@ describe('BrsFile BrighterScript classes', () => {
592
613
  end sub
593
614
  `, undefined, 'source/main.bs');
594
615
  });
595
- it('calls super ', () => {
596
- const { file } = testTranspile(`
616
+ it('calls super ', async () => {
617
+ const { file } = await testTranspile(`
597
618
  class Parent
598
619
  sub new()
599
620
  end sub
@@ -632,8 +653,8 @@ describe('BrsFile BrighterScript classes', () => {
632
653
  const constructor = file.ast.statements[0].body[0];
633
654
  (0, chai_config_spec_1.expect)(constructor.func.body.statements).to.be.lengthOf(0);
634
655
  });
635
- it('adds field initializers', () => {
636
- const { file } = testTranspile(`
656
+ it('adds field initializers', async () => {
657
+ const { file } = await testTranspile(`
637
658
  class Person
638
659
  sub new()
639
660
  end sub
@@ -657,8 +678,8 @@ describe('BrsFile BrighterScript classes', () => {
657
678
  const constructor = file.ast.statements[0].body[0];
658
679
  (0, chai_config_spec_1.expect)(constructor.func.body.statements).to.be.lengthOf(0);
659
680
  });
660
- it('does not screw up local variable references', () => {
661
- testTranspile(`
681
+ it('does not screw up local variable references', async () => {
682
+ await testTranspile(`
662
683
  class Animal
663
684
  sub new(name as string)
664
685
  m.name = name
@@ -765,8 +786,8 @@ describe('BrsFile BrighterScript classes', () => {
765
786
  end sub
766
787
  `, 'trim', 'source/main.bs');
767
788
  });
768
- it('calculates the proper super index', () => {
769
- testTranspile(`
789
+ it('calculates the proper super index', async () => {
790
+ await testTranspile(`
770
791
  class Duck
771
792
  public sub walk(meters as integer)
772
793
  print "Walked " + meters.ToStr() + " meters"
@@ -814,6 +835,186 @@ describe('BrsFile BrighterScript classes', () => {
814
835
  end function
815
836
  `, 'trim', 'source/main.bs');
816
837
  });
838
+ it('adds namespacing to constructors on field definitions', async () => {
839
+ await testTranspile(`
840
+ namespace MyNS
841
+ class KlassOne
842
+ other = new KlassTwo()
843
+ end class
844
+
845
+ class KlassTwo
846
+ end class
847
+ end namespace
848
+ `, `
849
+ function __MyNS_KlassOne_builder()
850
+ instance = {}
851
+ instance.new = sub()
852
+ m.other = MyNS_KlassTwo()
853
+ end sub
854
+ return instance
855
+ end function
856
+ function MyNS_KlassOne()
857
+ instance = __MyNS_KlassOne_builder()
858
+ instance.new()
859
+ return instance
860
+ end function
861
+ function __MyNS_KlassTwo_builder()
862
+ instance = {}
863
+ instance.new = sub()
864
+ end sub
865
+ return instance
866
+ end function
867
+ function MyNS_KlassTwo()
868
+ instance = __MyNS_KlassTwo_builder()
869
+ instance.new()
870
+ return instance
871
+ end function
872
+ `, 'trim', 'source/main.bs');
873
+ });
874
+ it('works with enums as field initial values inside a namespace', async () => {
875
+ await testTranspile(`
876
+ namespace MyNS
877
+ class HasEnumKlass
878
+ enumValue = MyEnum.A
879
+ end class
880
+ enum MyEnum
881
+ A = "A"
882
+ B = "B"
883
+ end enum
884
+ end namespace
885
+ `, `
886
+ function __MyNS_HasEnumKlass_builder()
887
+ instance = {}
888
+ instance.new = sub()
889
+ m.enumValue = "A"
890
+ end sub
891
+ return instance
892
+ end function
893
+ function MyNS_HasEnumKlass()
894
+ instance = __MyNS_HasEnumKlass_builder()
895
+ instance.new()
896
+ return instance
897
+ end function
898
+ `, 'trim', 'source/main.bs');
899
+ });
900
+ it('allows enums as super args inside a namespace', async () => {
901
+ await testTranspile(`
902
+ namespace MyNS
903
+ class SubKlass extends SuperKlass
904
+ sub new()
905
+ super(MyEnum.B)
906
+ end sub
907
+ end class
908
+
909
+ class SuperKlass
910
+ sub new(enumVal as MyEnum)
911
+ print enumVal
912
+ end sub
913
+ end class
914
+
915
+ enum MyEnum
916
+ A = "A"
917
+ B = "B"
918
+ end enum
919
+ end namespace
920
+ `, `
921
+ function __MyNS_SubKlass_builder()
922
+ instance = __MyNS_SuperKlass_builder()
923
+ instance.super0_new = instance.new
924
+ instance.new = sub()
925
+ m.super0_new("B")
926
+ end sub
927
+ return instance
928
+ end function
929
+ function MyNS_SubKlass()
930
+ instance = __MyNS_SubKlass_builder()
931
+ instance.new()
932
+ return instance
933
+ end function
934
+ function __MyNS_SuperKlass_builder()
935
+ instance = {}
936
+ instance.new = sub(enumVal as dynamic)
937
+ print enumVal
938
+ end sub
939
+ return instance
940
+ end function
941
+ function MyNS_SuperKlass(enumVal as dynamic)
942
+ instance = __MyNS_SuperKlass_builder()
943
+ instance.new(enumVal)
944
+ return instance
945
+ end function
946
+ `, 'trim', 'source/main.bs');
947
+ });
948
+ it('works with enums as values referenced in a namespace directly', async () => {
949
+ await testTranspile(`
950
+ namespace MyNS
951
+ class HasEnumKlass
952
+ myArray = [true, true] as boolean[]
953
+ sub new()
954
+ m.myArray[MyEnum.A] = true
955
+ m.myArray[MyEnum.B] = false
956
+ end sub
957
+ end class
958
+ enum MyEnum
959
+ A = 0
960
+ B = 1
961
+ end enum
962
+ end namespace
963
+ `, `
964
+ function __MyNS_HasEnumKlass_builder()
965
+ instance = {}
966
+ instance.new = sub()
967
+ m.myArray = [
968
+ true
969
+ true
970
+ ]
971
+ m.myArray[0] = true
972
+ m.myArray[1] = false
973
+ end sub
974
+ return instance
975
+ end function
976
+ function MyNS_HasEnumKlass()
977
+ instance = __MyNS_HasEnumKlass_builder()
978
+ instance.new()
979
+ return instance
980
+ end function
981
+ `, 'trim', 'source/main.bs');
982
+ });
983
+ it('works with enums as values referenced in a namespace with namespace', async () => {
984
+ await testTranspile(`
985
+ namespace MyNS
986
+ class HasEnumKlass
987
+ myArray = [true, true] as boolean[]
988
+ sub new()
989
+ m.myArray[MyNS.MyEnum.A] = true
990
+ m.myArray[MyNS.MyEnum.B] = false
991
+ end sub
992
+ end class
993
+ enum MyEnum
994
+ A = 0
995
+ B = 1
996
+ end enum
997
+ end namespace
998
+ `, `
999
+ function __MyNS_HasEnumKlass_builder()
1000
+ instance = {}
1001
+ instance.new = sub()
1002
+ m.myArray = [
1003
+ true
1004
+ true
1005
+ ]
1006
+ m.myArray[0] = true
1007
+ m.myArray[1] = false
1008
+ end sub
1009
+ return instance
1010
+ end function
1011
+ function MyNS_HasEnumKlass()
1012
+ instance = __MyNS_HasEnumKlass_builder()
1013
+ instance.new()
1014
+ return instance
1015
+ end function
1016
+ `, 'trim', 'source/main.bs');
1017
+ });
817
1018
  });
818
1019
  it('detects using `new` keyword on non-classes', () => {
819
1020
  program.setFile('source/main.bs', `
@@ -905,9 +1106,9 @@ describe('BrsFile BrighterScript classes', () => {
905
1106
  end function
906
1107
  end class
907
1108
  `);
908
- await program.transpile([], testHelpers_spec_2.stagingDir);
1109
+ await program.build({ stagingDir: testHelpers_spec_2.stagingDir });
909
1110
  fsExtra.emptyDirSync(testHelpers_spec_2.stagingDir);
910
- await program.transpile([], testHelpers_spec_2.stagingDir);
1111
+ await program.build({ stagingDir: testHelpers_spec_2.stagingDir });
911
1112
  (0, chai_config_spec_1.expect)(fsExtra.readFileSync((0, util_1.standardizePath) `${testHelpers_spec_2.stagingDir}/source/lib.brs`).toString().trimEnd()).to.eql((0, testHelpers_spec_1.trim) `
912
1113
  function __Being_builder()
913
1114
  instance = {}
@@ -1144,7 +1345,7 @@ describe('BrsFile BrighterScript classes', () => {
1144
1345
  `);
1145
1346
  program.validate();
1146
1347
  (0, testHelpers_spec_1.expectDiagnostics)(program, [Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.cannotFindName('GroundedBird', 'Vertibrates.GroundedBird')), { relatedInformation: [{
1147
- message: `Not defined in scope 'source'`
1348
+ message: `In scope 'source'`
1148
1349
  }] })]);
1149
1350
  });
1150
1351
  it('namespaced parent class from inside namespace', () => {
@@ -1328,7 +1529,7 @@ describe('BrsFile BrighterScript classes', () => {
1328
1529
  program.validate();
1329
1530
  (0, testHelpers_spec_1.expectZeroDiagnostics)(program);
1330
1531
  });
1331
- it('computes correct super index for grandchild class', () => {
1532
+ it('computes correct super index for grandchild class', async () => {
1332
1533
  program.setFile('source/main.bs', `
1333
1534
  sub Main()
1334
1535
  c = new App.ClassC()
@@ -1342,7 +1543,7 @@ describe('BrsFile BrighterScript classes', () => {
1342
1543
  end class
1343
1544
  end namespace
1344
1545
  `);
1345
- testTranspile(`
1546
+ await testTranspile(`
1346
1547
  namespace App
1347
1548
  class ClassC extends ClassB
1348
1549
  sub new()
@@ -1366,12 +1567,12 @@ describe('BrsFile BrighterScript classes', () => {
1366
1567
  end function
1367
1568
  `, 'trim', 'source/App.ClassC.bs');
1368
1569
  });
1369
- it('computes correct super index for namespaced child class and global parent class', () => {
1570
+ it('computes correct super index for namespaced child class and global parent class', async () => {
1370
1571
  program.setFile('source/ClassA.bs', `
1371
1572
  class ClassA
1372
1573
  end class
1373
1574
  `);
1374
- testTranspile(`
1575
+ await testTranspile(`
1375
1576
  namespace App
1376
1577
  class ClassB extends ClassA
1377
1578
  end class
@@ -1 +1 @@
1
- {"version":3,"file":"BrsFile.Class.spec.js","sourceRoot":"","sources":["../../src/files/BrsFile.Class.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"BrsFile.Class.spec.js","sourceRoot":"","sources":["../../src/files/BrsFile.Class.spec.ts"],"names":[],"mappings":"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"}