brighterscript 1.0.0-alpha.10 → 1.0.0-alpha.14

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 (299) hide show
  1. package/CHANGELOG.md +247 -267
  2. package/README.md +2 -2
  3. package/dist/Cache.d.ts +3 -3
  4. package/dist/Cache.js +10 -6
  5. package/dist/Cache.js.map +1 -1
  6. package/dist/CodeActionUtil.js.map +1 -1
  7. package/dist/CommentFlagProcessor.d.ts +4 -4
  8. package/dist/CommentFlagProcessor.js +5 -3
  9. package/dist/CommentFlagProcessor.js.map +1 -1
  10. package/dist/DependencyGraph.js.map +1 -1
  11. package/dist/DiagnosticFilterer.js +1 -1
  12. package/dist/DiagnosticFilterer.js.map +1 -1
  13. package/dist/LanguageServer.d.ts +1 -6
  14. package/dist/LanguageServer.js +5 -14
  15. package/dist/LanguageServer.js.map +1 -1
  16. package/dist/Logger.js.map +1 -1
  17. package/dist/PluginInterface.d.ts +3 -3
  18. package/dist/PluginInterface.js +3 -0
  19. package/dist/PluginInterface.js.map +1 -1
  20. package/dist/Program.d.ts +35 -20
  21. package/dist/Program.js +132 -67
  22. package/dist/Program.js.map +1 -1
  23. package/dist/ProgramBuilder.js +4 -4
  24. package/dist/ProgramBuilder.js.map +1 -1
  25. package/dist/Scope.d.ts +22 -13
  26. package/dist/Scope.js +85 -70
  27. package/dist/Scope.js.map +1 -1
  28. package/dist/SymbolTable.d.ts +1 -1
  29. package/dist/SymbolTable.js +2 -2
  30. package/dist/SymbolTable.js.map +1 -1
  31. package/dist/XmlScope.d.ts +2 -2
  32. package/dist/XmlScope.js +5 -5
  33. package/dist/XmlScope.js.map +1 -1
  34. package/dist/astUtils/AstEditor.d.ts +27 -0
  35. package/dist/astUtils/AstEditor.js +97 -0
  36. package/dist/astUtils/AstEditor.js.map +1 -0
  37. package/dist/{bscPlugin/semanticTokens/SemanticTokensProcessor.spec.d.ts → astUtils/AstEditor.spec.d.ts} +0 -0
  38. package/dist/astUtils/AstEditor.spec.js +133 -0
  39. package/dist/astUtils/AstEditor.spec.js.map +1 -0
  40. package/dist/astUtils/creators.spec.js +4 -4
  41. package/dist/astUtils/creators.spec.js.map +1 -1
  42. package/dist/astUtils/reflection.d.ts +4 -2
  43. package/dist/astUtils/reflection.js +10 -1
  44. package/dist/astUtils/reflection.js.map +1 -1
  45. package/dist/astUtils/reflection.spec.js +116 -116
  46. package/dist/astUtils/reflection.spec.js.map +1 -1
  47. package/dist/astUtils/stackedVisitor.js.map +1 -1
  48. package/dist/astUtils/stackedVisitor.spec.js +13 -13
  49. package/dist/astUtils/stackedVisitor.spec.js.map +1 -1
  50. package/dist/astUtils/visitors.js +1 -1
  51. package/dist/astUtils/visitors.js.map +1 -1
  52. package/dist/astUtils/visitors.spec.js +26 -26
  53. package/dist/astUtils/visitors.spec.js.map +1 -1
  54. package/dist/astUtils/xml.d.ts +1 -0
  55. package/dist/astUtils/xml.js +6 -1
  56. package/dist/astUtils/xml.js.map +1 -1
  57. package/dist/bscPlugin/BscPlugin.js +5 -2
  58. package/dist/bscPlugin/BscPlugin.js.map +1 -1
  59. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +3 -3
  60. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
  61. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +17 -17
  62. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +1 -1
  63. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.d.ts +8 -0
  64. package/dist/bscPlugin/semanticTokens/{SemanticTokensProcessor.js → BrsFileSemanticTokensProcessor.js} +13 -15
  65. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -0
  66. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.d.ts +1 -0
  67. package/dist/bscPlugin/semanticTokens/{SemanticTokensProcessor.spec.js → BrsFileSemanticTokensProcessor.spec.js} +5 -5
  68. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +1 -0
  69. package/dist/diagnosticUtils.d.ts +1 -0
  70. package/dist/diagnosticUtils.js +14 -7
  71. package/dist/diagnosticUtils.js.map +1 -1
  72. package/dist/examples/plugins/removePrint.js +2 -2
  73. package/dist/examples/plugins/removePrint.js.map +1 -1
  74. package/dist/files/BrsFile.Class.spec.js +444 -269
  75. package/dist/files/BrsFile.Class.spec.js.map +1 -1
  76. package/dist/files/BrsFile.d.ts +17 -11
  77. package/dist/files/BrsFile.js +220 -153
  78. package/dist/files/BrsFile.js.map +1 -1
  79. package/dist/files/BrsFile.spec.js +620 -272
  80. package/dist/files/BrsFile.spec.js.map +1 -1
  81. package/dist/files/XmlFile.d.ts +6 -5
  82. package/dist/files/XmlFile.js +14 -9
  83. package/dist/files/XmlFile.js.map +1 -1
  84. package/dist/files/XmlFile.spec.js +238 -191
  85. package/dist/files/XmlFile.spec.js.map +1 -1
  86. package/dist/files/tests/imports.spec.js +29 -27
  87. package/dist/files/tests/imports.spec.js.map +1 -1
  88. package/dist/globalCallables.d.ts +3 -1
  89. package/dist/globalCallables.js +198 -99
  90. package/dist/globalCallables.js.map +1 -1
  91. package/dist/index.d.ts +12 -3
  92. package/dist/index.js +22 -4
  93. package/dist/index.js.map +1 -1
  94. package/dist/interfaces.d.ts +71 -10
  95. package/dist/lexer/Lexer.d.ts +5 -1
  96. package/dist/lexer/Lexer.js +52 -35
  97. package/dist/lexer/Lexer.js.map +1 -1
  98. package/dist/lexer/Lexer.spec.js +564 -534
  99. package/dist/lexer/Lexer.spec.js.map +1 -1
  100. package/dist/lexer/TokenKind.d.ts +4 -0
  101. package/dist/lexer/TokenKind.js +44 -1
  102. package/dist/lexer/TokenKind.js.map +1 -1
  103. package/dist/parser/Expression.d.ts +1 -1
  104. package/dist/parser/Expression.js +66 -66
  105. package/dist/parser/Expression.js.map +1 -1
  106. package/dist/parser/Parser.Class.spec.js +107 -106
  107. package/dist/parser/Parser.Class.spec.js.map +1 -1
  108. package/dist/parser/Parser.d.ts +17 -5
  109. package/dist/parser/Parser.js +431 -315
  110. package/dist/parser/Parser.js.map +1 -1
  111. package/dist/parser/Parser.spec.js +418 -296
  112. package/dist/parser/Parser.spec.js.map +1 -1
  113. package/dist/parser/SGParser.js +2 -2
  114. package/dist/parser/SGParser.js.map +1 -1
  115. package/dist/parser/SGParser.spec.js +22 -22
  116. package/dist/parser/SGParser.spec.js.map +1 -1
  117. package/dist/parser/SGTypes.d.ts +3 -0
  118. package/dist/parser/SGTypes.js +12 -7
  119. package/dist/parser/SGTypes.js.map +1 -1
  120. package/dist/parser/SGTypes.spec.js +84 -84
  121. package/dist/parser/SGTypes.spec.js.map +1 -1
  122. package/dist/parser/Statement.d.ts +3 -3
  123. package/dist/parser/Statement.js +61 -61
  124. package/dist/parser/Statement.js.map +1 -1
  125. package/dist/parser/Statement.spec.js +10 -10
  126. package/dist/parser/Statement.spec.js.map +1 -1
  127. package/dist/parser/tests/Parser.spec.d.ts +3 -3
  128. package/dist/parser/tests/Parser.spec.js +4 -4
  129. package/dist/parser/tests/Parser.spec.js.map +1 -1
  130. package/dist/parser/tests/controlFlow/For.spec.js +58 -58
  131. package/dist/parser/tests/controlFlow/For.spec.js.map +1 -1
  132. package/dist/parser/tests/controlFlow/ForEach.spec.js +40 -39
  133. package/dist/parser/tests/controlFlow/ForEach.spec.js.map +1 -1
  134. package/dist/parser/tests/controlFlow/If.spec.js +201 -200
  135. package/dist/parser/tests/controlFlow/If.spec.js.map +1 -1
  136. package/dist/parser/tests/controlFlow/While.spec.js +37 -37
  137. package/dist/parser/tests/controlFlow/While.spec.js.map +1 -1
  138. package/dist/parser/tests/expression/Additive.spec.js +30 -30
  139. package/dist/parser/tests/expression/Additive.spec.js.map +1 -1
  140. package/dist/parser/tests/expression/ArrayLiterals.spec.js +119 -119
  141. package/dist/parser/tests/expression/ArrayLiterals.spec.js.map +1 -1
  142. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +141 -141
  143. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js.map +1 -1
  144. package/dist/parser/tests/expression/Boolean.spec.js +24 -24
  145. package/dist/parser/tests/expression/Boolean.spec.js.map +1 -1
  146. package/dist/parser/tests/expression/Call.spec.js +41 -40
  147. package/dist/parser/tests/expression/Call.spec.js.map +1 -1
  148. package/dist/parser/tests/expression/Exponential.spec.js +17 -17
  149. package/dist/parser/tests/expression/Exponential.spec.js.map +1 -1
  150. package/dist/parser/tests/expression/Function.spec.js +256 -256
  151. package/dist/parser/tests/expression/Function.spec.js.map +1 -1
  152. package/dist/parser/tests/expression/Indexing.spec.js +87 -87
  153. package/dist/parser/tests/expression/Indexing.spec.js.map +1 -1
  154. package/dist/parser/tests/expression/Multiplicative.spec.js +37 -37
  155. package/dist/parser/tests/expression/Multiplicative.spec.js.map +1 -1
  156. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +74 -62
  157. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
  158. package/dist/parser/tests/expression/PrefixUnary.spec.js +41 -41
  159. package/dist/parser/tests/expression/PrefixUnary.spec.js.map +1 -1
  160. package/dist/parser/tests/expression/Primary.spec.js +41 -41
  161. package/dist/parser/tests/expression/Primary.spec.js.map +1 -1
  162. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js +110 -2
  163. package/dist/parser/tests/expression/RegexLiteralExpression.spec.js.map +1 -1
  164. package/dist/parser/tests/expression/Relational.spec.js +43 -43
  165. package/dist/parser/tests/expression/Relational.spec.js.map +1 -1
  166. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js +6 -6
  167. package/dist/parser/tests/expression/SourceLiteralExpression.spec.js.map +1 -1
  168. package/dist/parser/tests/expression/TemplateStringExpression.spec.js +18 -18
  169. package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +1 -1
  170. package/dist/parser/tests/expression/TernaryExpression.spec.js +100 -100
  171. package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
  172. package/dist/parser/tests/statement/AssignmentOperators.spec.js +36 -36
  173. package/dist/parser/tests/statement/AssignmentOperators.spec.js.map +1 -1
  174. package/dist/parser/tests/statement/Declaration.spec.js +44 -44
  175. package/dist/parser/tests/statement/Declaration.spec.js.map +1 -1
  176. package/dist/parser/tests/statement/Dim.spec.js +21 -21
  177. package/dist/parser/tests/statement/Dim.spec.js.map +1 -1
  178. package/dist/parser/tests/statement/Function.spec.js +198 -197
  179. package/dist/parser/tests/statement/Function.spec.js.map +1 -1
  180. package/dist/parser/tests/statement/Goto.spec.js +15 -14
  181. package/dist/parser/tests/statement/Goto.spec.js.map +1 -1
  182. package/dist/parser/tests/statement/Increment.spec.js +50 -50
  183. package/dist/parser/tests/statement/Increment.spec.js.map +1 -1
  184. package/dist/parser/tests/statement/InterfaceStatement.spec.js +14 -2
  185. package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +1 -1
  186. package/dist/parser/tests/statement/LibraryStatement.spec.js +17 -17
  187. package/dist/parser/tests/statement/LibraryStatement.spec.js.map +1 -1
  188. package/dist/parser/tests/statement/Misc.spec.js +91 -90
  189. package/dist/parser/tests/statement/Misc.spec.js.map +1 -1
  190. package/dist/parser/tests/statement/PrintStatement.spec.js +34 -34
  191. package/dist/parser/tests/statement/PrintStatement.spec.js.map +1 -1
  192. package/dist/parser/tests/statement/ReturnStatement.spec.js +46 -46
  193. package/dist/parser/tests/statement/ReturnStatement.spec.js.map +1 -1
  194. package/dist/parser/tests/statement/Set.spec.js +83 -83
  195. package/dist/parser/tests/statement/Set.spec.js.map +1 -1
  196. package/dist/parser/tests/statement/Stop.spec.js +12 -11
  197. package/dist/parser/tests/statement/Stop.spec.js.map +1 -1
  198. package/dist/parser/tests/statement/Throw.spec.js +5 -5
  199. package/dist/parser/tests/statement/Throw.spec.js.map +1 -1
  200. package/dist/parser/tests/statement/TryCatch.spec.js +13 -13
  201. package/dist/parser/tests/statement/TryCatch.spec.js.map +1 -1
  202. package/dist/preprocessor/Chunk.d.ts +1 -1
  203. package/dist/preprocessor/Chunk.js.map +1 -1
  204. package/dist/preprocessor/Manifest.d.ts +1 -1
  205. package/dist/preprocessor/Preprocessor.d.ts +1 -1
  206. package/dist/preprocessor/Preprocessor.js +8 -8
  207. package/dist/preprocessor/Preprocessor.js.map +1 -1
  208. package/dist/preprocessor/Preprocessor.spec.js +49 -49
  209. package/dist/preprocessor/Preprocessor.spec.js.map +1 -1
  210. package/dist/preprocessor/PreprocessorParser.spec.js +72 -72
  211. package/dist/preprocessor/PreprocessorParser.spec.js.map +1 -1
  212. package/dist/types/ArrayType.d.ts +8 -5
  213. package/dist/types/ArrayType.js +48 -12
  214. package/dist/types/ArrayType.js.map +1 -1
  215. package/dist/types/ArrayType.spec.js +69 -10
  216. package/dist/types/ArrayType.spec.js.map +1 -1
  217. package/dist/types/BooleanType.js +3 -3
  218. package/dist/types/BooleanType.js.map +1 -1
  219. package/dist/types/BooleanType.spec.js +2 -2
  220. package/dist/types/BooleanType.spec.js.map +1 -1
  221. package/dist/types/BscType.d.ts +1 -1
  222. package/dist/types/BscType.js +1 -1
  223. package/dist/types/BscType.js.map +1 -1
  224. package/dist/types/CustomType.d.ts +1 -1
  225. package/dist/types/CustomType.js +6 -4
  226. package/dist/types/CustomType.js.map +1 -1
  227. package/dist/types/DoubleType.js +7 -7
  228. package/dist/types/DoubleType.js.map +1 -1
  229. package/dist/types/DoubleType.spec.js +2 -2
  230. package/dist/types/DoubleType.spec.js.map +1 -1
  231. package/dist/types/DynamicType.js +1 -1
  232. package/dist/types/DynamicType.js.map +1 -1
  233. package/dist/types/DynamicType.spec.js +2 -2
  234. package/dist/types/DynamicType.spec.js.map +1 -1
  235. package/dist/types/FloatType.js +7 -7
  236. package/dist/types/FloatType.js.map +1 -1
  237. package/dist/types/FloatType.spec.js +2 -2
  238. package/dist/types/FloatType.spec.js.map +1 -1
  239. package/dist/types/FunctionType.d.ts +5 -5
  240. package/dist/types/FunctionType.js +13 -13
  241. package/dist/types/FunctionType.js.map +1 -1
  242. package/dist/types/FunctionType.spec.js +7 -7
  243. package/dist/types/FunctionType.spec.js.map +1 -1
  244. package/dist/types/IntegerType.js +7 -7
  245. package/dist/types/IntegerType.js.map +1 -1
  246. package/dist/types/IntegerType.spec.js +2 -2
  247. package/dist/types/IntegerType.spec.js.map +1 -1
  248. package/dist/types/InterfaceType.js +3 -3
  249. package/dist/types/InterfaceType.js.map +1 -1
  250. package/dist/types/InterfaceType.spec.js +7 -7
  251. package/dist/types/InterfaceType.spec.js.map +1 -1
  252. package/dist/types/InvalidType.js +4 -4
  253. package/dist/types/InvalidType.js.map +1 -1
  254. package/dist/types/InvalidType.spec.js +2 -2
  255. package/dist/types/InvalidType.spec.js.map +1 -1
  256. package/dist/types/LazyType.d.ts +1 -2
  257. package/dist/types/LazyType.js +1 -5
  258. package/dist/types/LazyType.js.map +1 -1
  259. package/dist/types/LongIntegerType.js +8 -8
  260. package/dist/types/LongIntegerType.js.map +1 -1
  261. package/dist/types/LongIntegerType.spec.js +2 -2
  262. package/dist/types/LongIntegerType.spec.js.map +1 -1
  263. package/dist/types/ObjectType.js +3 -3
  264. package/dist/types/ObjectType.js.map +1 -1
  265. package/dist/types/ObjectType.spec.js +2 -2
  266. package/dist/types/ObjectType.spec.js.map +1 -1
  267. package/dist/types/StringType.js +3 -3
  268. package/dist/types/StringType.js.map +1 -1
  269. package/dist/types/StringType.spec.js +2 -2
  270. package/dist/types/StringType.spec.js.map +1 -1
  271. package/dist/types/UninitializedType.js +3 -3
  272. package/dist/types/UninitializedType.js.map +1 -1
  273. package/dist/types/VoidType.js +3 -3
  274. package/dist/types/VoidType.js.map +1 -1
  275. package/dist/types/VoidType.spec.js +2 -2
  276. package/dist/types/VoidType.spec.js.map +1 -1
  277. package/dist/types/helpers.js +6 -6
  278. package/dist/types/helpers.js.map +1 -1
  279. package/dist/util.d.ts +15 -9
  280. package/dist/util.js +104 -57
  281. package/dist/util.js.map +1 -1
  282. package/dist/validators/ClassValidator.js +40 -40
  283. package/dist/validators/ClassValidator.js.map +1 -1
  284. package/package.json +10 -9
  285. package/dist/astUtils/index.d.ts +0 -7
  286. package/dist/astUtils/index.js +0 -26
  287. package/dist/astUtils/index.js.map +0 -1
  288. package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.d.ts +0 -7
  289. package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.js.map +0 -1
  290. package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.spec.js.map +0 -1
  291. package/dist/lexer/index.d.ts +0 -3
  292. package/dist/lexer/index.js +0 -17
  293. package/dist/lexer/index.js.map +0 -1
  294. package/dist/parser/index.d.ts +0 -3
  295. package/dist/parser/index.js +0 -16
  296. package/dist/parser/index.js.map +0 -1
  297. package/dist/preprocessor/index.d.ts +0 -3
  298. package/dist/preprocessor/index.js +0 -16
  299. package/dist/preprocessor/index.js.map +0 -1
@@ -8,7 +8,8 @@ const vscode_uri_1 = require("vscode-uri");
8
8
  const util_1 = require("../util");
9
9
  const reflection_1 = require("../astUtils/reflection");
10
10
  const visitors_1 = require("../astUtils/visitors");
11
- const lexer_1 = require("../lexer");
11
+ const TokenKind_1 = require("../lexer/TokenKind");
12
+ const DynamicType_1 = require("../types/DynamicType");
12
13
  const BscType_1 = require("../types/BscType");
13
14
  class BsClassValidator {
14
15
  get typeContext() {
@@ -18,7 +19,6 @@ class BsClassValidator {
18
19
  this.scope = scope;
19
20
  this.file = file;
20
21
  this.diagnostics = [];
21
- this.classes = {};
22
22
  this.findClasses();
23
23
  this.findNamespaceNonNamespaceCollisions();
24
24
  this.linkClassesWithParents();
@@ -33,10 +33,10 @@ class BsClassValidator {
33
33
  */
34
34
  getClassByName(className, namespaceName) {
35
35
  let fullName = util_1.default.getFullyQualifiedClassName(className, namespaceName);
36
- let cls = this.classes[fullName.toLowerCase()];
36
+ let cls = this.classes.get(fullName.toLowerCase());
37
37
  //if we couldn't find the class by its full namespaced name, look for a global class with that name
38
38
  if (!cls) {
39
- cls = this.classes[className.toLowerCase()];
39
+ cls = this.classes.get(className.toLowerCase());
40
40
  }
41
41
  return cls;
42
42
  }
@@ -68,10 +68,9 @@ class BsClassValidator {
68
68
  });
69
69
  }
70
70
  findNamespaceNonNamespaceCollisions() {
71
- for (let name in this.classes) {
72
- let classStatement = this.classes[name];
71
+ for (const [className, classStatement] of this.classes) {
73
72
  //catch namespace class collision with global class
74
- let nonNamespaceClass = this.classes[util_1.default.getTextAfterFinalDot(name).toLowerCase()];
73
+ let nonNamespaceClass = this.classes.get(util_1.default.getTextAfterFinalDot(className).toLowerCase());
75
74
  if (classStatement.namespaceName && nonNamespaceClass) {
76
75
  this.diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.namespacedClassCannotShareNamewithNonNamespacedClass(nonNamespaceClass.name.text)), { file: classStatement.file, range: classStatement.name.range, relatedInformation: [{
77
76
  location: vscode_languageserver_1.Location.create(vscode_uri_1.URI.file(nonNamespaceClass.file.srcPath).toString(), nonNamespaceClass.name.range),
@@ -81,8 +80,7 @@ class BsClassValidator {
81
80
  }
82
81
  }
83
82
  verifyChildConstructor() {
84
- for (let key in this.classes) {
85
- let classStatement = this.classes[key];
83
+ for (const [, classStatement] of this.classes) {
86
84
  const newMethod = classStatement.memberMap.new;
87
85
  if (
88
86
  //this class has a "new method"
@@ -92,14 +90,14 @@ class BsClassValidator {
92
90
  //prevent use of `m.` anywhere before the `super()` call
93
91
  const cancellationToken = new vscode_languageserver_1.CancellationTokenSource();
94
92
  let superCall;
95
- newMethod.func.body.walk(visitors_1.createVisitor({
93
+ newMethod.func.body.walk((0, visitors_1.createVisitor)({
96
94
  VariableExpression: (expression, parent) => {
97
95
  var _a;
98
96
  const expressionNameLower = (_a = expression === null || expression === void 0 ? void 0 : expression.name) === null || _a === void 0 ? void 0 : _a.text.toLowerCase();
99
97
  if (expressionNameLower === 'm') {
100
98
  this.diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.classConstructorIllegalUseOfMBeforeSuperCall()), { file: classStatement.file, range: expression.range }));
101
99
  }
102
- if (reflection_1.isCallExpression(parent) && expressionNameLower === 'super') {
100
+ if ((0, reflection_1.isCallExpression)(parent) && expressionNameLower === 'super') {
103
101
  superCall = parent;
104
102
  //stop walking
105
103
  cancellationToken.cancel();
@@ -118,41 +116,46 @@ class BsClassValidator {
118
116
  }
119
117
  validateMemberCollisions() {
120
118
  var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k;
121
- for (let key in this.classes) {
122
- let classStatement = this.classes[key];
119
+ for (const [, classStatement] of this.classes) {
123
120
  let methods = {};
124
121
  let fields = {};
125
122
  for (let statement of classStatement.body) {
126
- if (reflection_1.isClassMethodStatement(statement) || reflection_1.isClassFieldStatement(statement)) {
123
+ if ((0, reflection_1.isClassMethodStatement)(statement) || (0, reflection_1.isClassFieldStatement)(statement)) {
127
124
  let member = statement;
128
125
  let lowerMemberName = member.name.text.toLowerCase();
129
126
  //catch duplicate member names on same class
130
127
  if (methods[lowerMemberName] || fields[lowerMemberName]) {
131
128
  this.diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.duplicateIdentifier(member.name.text)), { file: classStatement.file, range: member.name.range }));
132
129
  }
133
- let memberType = reflection_1.isClassFieldStatement(member) ? 'field' : 'method';
130
+ let memberType = (0, reflection_1.isClassFieldStatement)(member) ? 'field' : 'method';
134
131
  let ancestorAndMember = this.getAncestorMember(classStatement, lowerMemberName);
135
132
  if (ancestorAndMember) {
136
- let ancestorMemberKind = reflection_1.isClassFieldStatement(ancestorAndMember.member) ? 'field' : 'method';
133
+ let ancestorMemberKind = (0, reflection_1.isClassFieldStatement)(ancestorAndMember.member) ? 'field' : 'method';
137
134
  //mismatched member type (field/method in child, opposite in ancestor)
138
135
  if (memberType !== ancestorMemberKind) {
139
136
  this.diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.classChildMemberDifferentMemberTypeThanAncestor(memberType, ancestorMemberKind, ancestorAndMember.classStatement.getName(Parser_1.ParseMode.BrighterScript))), { file: classStatement.file, range: member.range }));
140
137
  }
141
138
  //child field has same name as parent
142
- if (reflection_1.isClassFieldStatement(member)) {
143
- const ancestorFieldType = ancestorAndMember.member.getType();
139
+ if ((0, reflection_1.isClassFieldStatement)(member)) {
140
+ let ancestorMemberType = new DynamicType_1.DynamicType();
141
+ if ((0, reflection_1.isClassFieldStatement)(ancestorAndMember.member)) {
142
+ ancestorMemberType = ancestorAndMember.member.getType();
143
+ }
144
+ else if ((0, reflection_1.isClassMethodStatement)(ancestorAndMember.member)) {
145
+ ancestorMemberType = ancestorAndMember.member.func.getFunctionType();
146
+ }
144
147
  const childFieldType = member.getType();
145
- if (!childFieldType.isAssignableTo(ancestorFieldType, this.typeContext)) {
148
+ if (!childFieldType.isAssignableTo(ancestorMemberType, this.typeContext)) {
146
149
  //flag incompatible child field type to ancestor field type
147
150
  const childFieldTypeName = (_a = childFieldType === null || childFieldType === void 0 ? void 0 : childFieldType.toString(this.typeContext)) !== null && _a !== void 0 ? _a : (_b = member.type) === null || _b === void 0 ? void 0 : _b.text;
148
- const ancestorFieldTypeName = (_c = ancestorFieldType === null || ancestorFieldType === void 0 ? void 0 : ancestorFieldType.toString(this.typeContext)) !== null && _c !== void 0 ? _c : ancestorAndMember.member.type.text;
151
+ const ancestorFieldTypeName = (_c = ancestorMemberType === null || ancestorMemberType === void 0 ? void 0 : ancestorMemberType.toString(this.typeContext)) !== null && _c !== void 0 ? _c : ancestorAndMember.member.type.text;
149
152
  this.diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.childFieldTypeNotAssignableToBaseProperty(classStatement.getName(Parser_1.ParseMode.BrighterScript), ancestorAndMember.classStatement.getName(Parser_1.ParseMode.BrighterScript), member.name.text, childFieldTypeName, ancestorFieldTypeName)), { file: classStatement.file, range: member.range }));
150
153
  }
151
154
  }
152
155
  //child method missing the override keyword
153
156
  if (
154
157
  //is a method
155
- reflection_1.isClassMethodStatement(member) &&
158
+ (0, reflection_1.isClassMethodStatement)(member) &&
156
159
  //does not have an override keyword
157
160
  !member.override &&
158
161
  //is not the constructur function
@@ -162,15 +165,15 @@ class BsClassValidator {
162
165
  //child member has different visiblity
163
166
  if (
164
167
  //is a method
165
- reflection_1.isClassMethodStatement(member) &&
166
- ((_e = (_d = member.accessModifier) === null || _d === void 0 ? void 0 : _d.kind) !== null && _e !== void 0 ? _e : lexer_1.TokenKind.Public) !== ((_g = (_f = ancestorAndMember.member.accessModifier) === null || _f === void 0 ? void 0 : _f.kind) !== null && _g !== void 0 ? _g : lexer_1.TokenKind.Public)) {
168
+ (0, reflection_1.isClassMethodStatement)(member) &&
169
+ ((_e = (_d = member.accessModifier) === null || _d === void 0 ? void 0 : _d.kind) !== null && _e !== void 0 ? _e : TokenKind_1.TokenKind.Public) !== ((_g = (_f = ancestorAndMember.member.accessModifier) === null || _f === void 0 ? void 0 : _f.kind) !== null && _g !== void 0 ? _g : TokenKind_1.TokenKind.Public)) {
167
170
  this.diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.mismatchedOverriddenMemberVisibility(classStatement.name.text, (_h = ancestorAndMember.member.name) === null || _h === void 0 ? void 0 : _h.text, ((_j = member.accessModifier) === null || _j === void 0 ? void 0 : _j.text) || 'public', ((_k = ancestorAndMember.member.accessModifier) === null || _k === void 0 ? void 0 : _k.text) || 'public', ancestorAndMember.classStatement.getName(Parser_1.ParseMode.BrighterScript))), { file: classStatement.file, range: member.range }));
168
171
  }
169
172
  }
170
- if (reflection_1.isClassMethodStatement(member)) {
173
+ if ((0, reflection_1.isClassMethodStatement)(member)) {
171
174
  methods[lowerMemberName] = member;
172
175
  }
173
- else if (reflection_1.isClassFieldStatement(member)) {
176
+ else if ((0, reflection_1.isClassFieldStatement)(member)) {
174
177
  fields[lowerMemberName] = member;
175
178
  }
176
179
  }
@@ -182,15 +185,14 @@ class BsClassValidator {
182
185
  */
183
186
  validateFieldTypes() {
184
187
  var _a, _b, _c;
185
- for (let key in this.classes) {
186
- let classStatement = this.classes[key];
188
+ for (const [, classStatement] of this.classes) {
187
189
  for (let statement of classStatement.body) {
188
- if (reflection_1.isClassFieldStatement(statement)) {
189
- let fieldType = BscType_1.getTypeFromContext(statement.getType(), this.typeContext);
190
+ if ((0, reflection_1.isClassFieldStatement)(statement)) {
191
+ let fieldType = (0, BscType_1.getTypeFromContext)(statement.getType(), this.typeContext);
190
192
  const fieldTypeName = (_a = fieldType === null || fieldType === void 0 ? void 0 : fieldType.toString(this.typeContext)) !== null && _a !== void 0 ? _a : (_b = statement.type) === null || _b === void 0 ? void 0 : _b.text;
191
193
  const lowerFieldTypeName = fieldTypeName === null || fieldTypeName === void 0 ? void 0 : fieldTypeName.toLowerCase();
192
194
  let addDiagnostic = false;
193
- if (reflection_1.isCustomType(fieldType)) {
195
+ if ((0, reflection_1.isCustomType)(fieldType)) {
194
196
  if (lowerFieldTypeName) {
195
197
  const currentNamespaceName = (_c = classStatement.namespaceName) === null || _c === void 0 ? void 0 : _c.getName(Parser_1.ParseMode.BrighterScript);
196
198
  //check if this custom type is in our class map
@@ -228,14 +230,13 @@ class BsClassValidator {
228
230
  }
229
231
  cleanUp() {
230
232
  //unlink all classes from their parents so it doesn't mess up the next scope
231
- for (let key in this.classes) {
232
- let classStatement = this.classes[key];
233
+ for (const [, classStatement] of this.classes) {
233
234
  delete classStatement.parentClass;
234
235
  delete classStatement.file;
235
236
  }
236
237
  }
237
238
  findClasses() {
238
- this.classes = {};
239
+ this.classes = new Map();
239
240
  this.scope.enumerateBrsFiles((file) => {
240
241
  var _a;
241
242
  for (let x of (_a = file.parser.references.classStatements) !== null && _a !== void 0 ? _a : []) {
@@ -247,16 +248,16 @@ class BsClassValidator {
247
248
  }
248
249
  let lowerName = name.toLowerCase();
249
250
  //see if this class was already defined
250
- let alreadyDefinedClass = this.classes[lowerName];
251
+ let alreadyDefinedClass = this.classes.get(lowerName);
251
252
  //if we don't already have this class, register it
252
253
  if (!alreadyDefinedClass) {
253
- this.classes[lowerName] = classStatement;
254
+ this.classes.set(lowerName, classStatement);
254
255
  classStatement.file = file;
255
256
  //add a diagnostic about this class already existing
256
257
  }
257
258
  else {
258
259
  this.diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.duplicateClassDeclaration(this.scope.name, name)), { file: file, range: classStatement.name.range, relatedInformation: [{
259
- location: vscode_languageserver_1.Location.create(vscode_uri_1.URI.file(alreadyDefinedClass.file.srcPath).toString(), this.classes[lowerName].range),
260
+ location: vscode_languageserver_1.Location.create(vscode_uri_1.URI.file(alreadyDefinedClass.file.srcPath).toString(), this.classes.get(lowerName).range),
260
261
  message: ''
261
262
  }] }));
262
263
  }
@@ -266,8 +267,7 @@ class BsClassValidator {
266
267
  linkClassesWithParents() {
267
268
  var _a;
268
269
  //link all classes with their parents
269
- for (let key in this.classes) {
270
- let classStatement = this.classes[key];
270
+ for (const [, classStatement] of this.classes) {
271
271
  let parentClassName = (_a = classStatement.parentClassName) === null || _a === void 0 ? void 0 : _a.getName(Parser_1.ParseMode.BrighterScript);
272
272
  if (parentClassName) {
273
273
  let relativeName;
@@ -291,8 +291,8 @@ class BsClassValidator {
291
291
  }
292
292
  relativeName = parentClassName;
293
293
  }
294
- let relativeParent = this.classes[relativeName.toLowerCase()];
295
- let absoluteParent = this.classes[absoluteName.toLowerCase()];
294
+ let relativeParent = this.classes.get(relativeName.toLowerCase());
295
+ let absoluteParent = this.classes.get(absoluteName.toLowerCase());
296
296
  let parentClass;
297
297
  //if we found a relative parent class
298
298
  if (relativeParent) {
@@ -1 +1 @@
1
- {"version":3,"file":"ClassValidator.js","sourceRoot":"","sources":["../../src/validators/ClassValidator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"ClassValidator.js","sourceRoot":"","sources":["../../src/validators/ClassValidator.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "brighterscript",
3
- "version": "1.0.0-alpha.10",
3
+ "version": "1.0.0-alpha.14",
4
4
  "description": "A superset of Roku's BrightScript language.",
5
5
  "scripts": {
6
6
  "preversion": "npm run build && npm run lint && npm run test",
@@ -82,17 +82,17 @@
82
82
  "@types/request": "^2.47.0",
83
83
  "@types/sinon": "^9.0.4",
84
84
  "@types/yargs": "^15.0.5",
85
- "@typescript-eslint/eslint-plugin": "^4.4.1",
86
- "@typescript-eslint/parser": "^4.4.1",
85
+ "@typescript-eslint/eslint-plugin": "4.32.0",
86
+ "@typescript-eslint/parser": "4.32.0",
87
87
  "benchmark": "^2.1.4",
88
88
  "chai": "^4.2.0",
89
89
  "chai-files": "^1.4.0",
90
90
  "coveralls": "^3.0.0",
91
- "eslint": "^7.11.0",
92
- "eslint-plugin-github": "^4.1.1",
93
- "eslint-plugin-no-only-tests": "^2.4.0",
91
+ "eslint": "^7.32.0",
92
+ "eslint-plugin-github": "4.3.0",
93
+ "eslint-plugin-no-only-tests": "2.6.0",
94
94
  "madge": "^4.0.2",
95
- "mocha": "^8.3.2",
95
+ "mocha": "^9.1.3",
96
96
  "node-run-cmd": "^1.0.1",
97
97
  "nyc": "^15.1.0",
98
98
  "object.pick": "^1.3.0",
@@ -102,8 +102,9 @@
102
102
  "source-map-support": "^0.5.13",
103
103
  "sync-request": "^6.1.0",
104
104
  "testdouble": "^3.5.2",
105
+ "thenby": "^1.3.4",
105
106
  "ts-node": "8.9.1",
106
- "typescript": "^3.9.2",
107
+ "typescript": "^4.4.3",
107
108
  "typescript-formatter": "^7.2.2",
108
109
  "vscode-jsonrpc": "^5.0.1"
109
110
  },
@@ -128,7 +129,7 @@
128
129
  "moment": "^2.23.0",
129
130
  "p-settle": "^2.1.0",
130
131
  "parse-ms": "^2.1.0",
131
- "roku-deploy": "^3.4.2",
132
+ "roku-deploy": "^3.5.0",
132
133
  "serialize-error": "^7.0.1",
133
134
  "source-map": "^0.7.3",
134
135
  "vscode-languageserver": "7.0.0",
@@ -1,7 +0,0 @@
1
- import { Range, Position, CancellationToken, CancellationTokenSource, DiagnosticSeverity, DiagnosticTag } from 'vscode-languageserver';
2
- export { Range, Position, CancellationToken, CancellationTokenSource, DiagnosticSeverity, DiagnosticTag };
3
- export * from './visitors';
4
- export * from './stackedVisitor';
5
- export * from './reflection';
6
- export * from './creators';
7
- export * from './xml';
@@ -1,26 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
11
- };
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- exports.DiagnosticTag = exports.DiagnosticSeverity = exports.CancellationTokenSource = exports.CancellationToken = exports.Position = exports.Range = void 0;
14
- const vscode_languageserver_1 = require("vscode-languageserver");
15
- Object.defineProperty(exports, "Range", { enumerable: true, get: function () { return vscode_languageserver_1.Range; } });
16
- Object.defineProperty(exports, "Position", { enumerable: true, get: function () { return vscode_languageserver_1.Position; } });
17
- Object.defineProperty(exports, "CancellationToken", { enumerable: true, get: function () { return vscode_languageserver_1.CancellationToken; } });
18
- Object.defineProperty(exports, "CancellationTokenSource", { enumerable: true, get: function () { return vscode_languageserver_1.CancellationTokenSource; } });
19
- Object.defineProperty(exports, "DiagnosticSeverity", { enumerable: true, get: function () { return vscode_languageserver_1.DiagnosticSeverity; } });
20
- Object.defineProperty(exports, "DiagnosticTag", { enumerable: true, get: function () { return vscode_languageserver_1.DiagnosticTag; } });
21
- __exportStar(require("./visitors"), exports);
22
- __exportStar(require("./stackedVisitor"), exports);
23
- __exportStar(require("./reflection"), exports);
24
- __exportStar(require("./creators"), exports);
25
- __exportStar(require("./xml"), exports);
26
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/astUtils/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;AAAA,iEAAuI;AAG9H,sFAHA,6BAAK,OAGA;AAAE,yFAHA,gCAAQ,OAGA;AAAE,kGAHA,yCAAiB,OAGA;AAAE,wGAHA,+CAAuB,OAGA;AAAE,mGAHA,0CAAkB,OAGA;AAAE,8FAHA,qCAAa,OAGA;AAEvG,6CAA2B;AAC3B,mDAAiC;AACjC,+CAA6B;AAC7B,6CAA2B;AAC3B,wCAAsB"}
@@ -1,7 +0,0 @@
1
- import type { OnGetSemanticTokensEvent } from '../../interfaces';
2
- export declare class SemanticTokensProcessor {
3
- event: OnGetSemanticTokensEvent;
4
- constructor(event: OnGetSemanticTokensEvent);
5
- process(): void;
6
- private processBrsFile;
7
- }
@@ -1 +0,0 @@
1
- {"version":3,"file":"SemanticTokensProcessor.js","sourceRoot":"","sources":["../../../src/bscPlugin/semanticTokens/SemanticTokensProcessor.ts"],"names":[],"mappings":";;;AACA,mFAAoE;AACpE,0DAAoE;AAGpE,yCAAyC;AACzC,qCAA8B;AAE9B,MAAa,uBAAuB;IAChC,YACW,KAA+B;QAA/B,UAAK,GAAL,KAAK,CAA0B;IAG1C,CAAC;IAEM,OAAO;QACV,IAAI,sBAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE;YAC5B,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;SACxC;IACL,CAAC;IAEO,cAAc,CAAC,IAAa;;QAEhC,MAAM,OAAO,GAAG,EAAuE,CAAC;QAExF,sCAAsC;QACtC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,mBAAmB,EAAE;YAC3D,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,UAAU,EAAE;gBAChC,IAAI,yBAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE;oBACzB,OAAO,CAAC,IAAI,CAAC;wBACT,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,IAAI;wBAC9B,aAAa,QAAE,IAAI,CAAC,aAAa,0CAAE,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC;wBACpE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK;qBAC9B,CAAC,CAAC;iBACN;aACJ;SACJ;QACD,mCAAmC;QACnC,KAAK,MAAM,IAAI,IAAI,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,cAAc,EAAE;YACtD,OAAO,CAAC,IAAI,CAAC;gBACT,SAAS,EAAE,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC;gBAC3D,aAAa,QAAE,IAAI,CAAC,aAAa,0CAAE,OAAO,CAAC,kBAAS,CAAC,cAAc,CAAC;gBACpE,KAAK,EAAE,IAAI,CAAC,SAAS,CAAC,KAAK;aAC9B,CAAC,CAAC;SACN;QAED,KAAK,MAAM,GAAG,IAAI,OAAO,EAAE;YACvB,IACI,GAAG,CAAC,SAAS,CAAC,MAAM,GAAG,CAAC;gBACxB,0CAA0C;gBAC1C,IAAI,CAAC,KAAK,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,aAAa,CAAC,CAAC,EAC3E;gBACE,MAAM,MAAM,GAAG,cAAI,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,SAAS,EAAE,GAAG,CAAC,KAAK,CAAC,CAAC;gBACjE,8CAA8C;gBAC9C,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,EAAE,EAAE;oBACxC,MAAM,KAAK,GAAG,MAAM,CAAC,CAAC,CAAC,CAAC;oBACxB,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;wBAC3B,KAAK,EAAE,KAAK,CAAC,KAAK;wBAClB,SAAS,EAAE,mDAAkB,CAAC,SAAS;qBAC1C,CAAC,CAAC;iBACN;gBACD,YAAY;gBACZ,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,IAAI,CAAC;oBAC3B,KAAK,EAAE,MAAM,CAAC,GAAG,EAAE,CAAC,KAAK;oBACzB,SAAS,EAAE,mDAAkB,CAAC,KAAK;iBACtC,CAAC,CAAC;aACN;SACJ;IAEL,CAAC;CACJ;AA9DD,0DA8DC"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"SemanticTokensProcessor.spec.js","sourceRoot":"","sources":["../../../src/bscPlugin/semanticTokens/SemanticTokensProcessor.spec.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,mFAAoE;AAEpE,2CAAwC;AACxC,6DAA+D;AAC/D,qCAAwD;AAExD,MAAM,OAAO,GAAG,sBAAC,CAAA,GAAG,OAAO,CAAC,GAAG,EAAE,eAAe,CAAC;AAEjD,QAAQ,CAAC,yBAAyB,EAAE,GAAG,EAAE;IACrC,IAAI,OAAgB,CAAC;IACrB,UAAU,CAAC,GAAG,EAAE;QACZ,OAAO,GAAG,IAAI,iBAAO,CAAC;YAClB,OAAO,EAAE,OAAO;SACnB,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;IACH,SAAS,CAAC,GAAG,EAAE;QACX,OAAO,CAAC,OAAO,EAAE,CAAC;IACtB,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAU,gBAAgB,EAAE;;;;;;;;;;SAUvD,CAAC,CAAC;QACH,OAAO,CAAC,QAAQ,EAAE,CAAC;QACnB,wCAAqB,CAAC,OAAO,CAAC,CAAC;QAC/B,aAAM,CACF,OAAO,CAAC,iBAAiB,CAAC,IAAI,CAAC,OAAO,CAAC,CAC1C,CAAC,EAAE,CAAC,GAAG,CAAC,CAAC;gBACN,KAAK,EAAE,WAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,SAAS,EAAE,mDAAkB,CAAC,SAAS;aAC1C,EAAE;gBACC,KAAK,EAAE,WAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,SAAS,EAAE,mDAAkB,CAAC,SAAS;aAC1C,EAAE;gBACC,KAAK,EAAE,WAAI,CAAC,WAAW,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,CAAC;gBACrC,SAAS,EAAE,mDAAkB,CAAC,KAAK;aACtC,CAAC,CAAC,CAAC;IACR,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
@@ -1,3 +0,0 @@
1
- export * from './TokenKind';
2
- export * from './Token';
3
- export { Lexer } from './Lexer';
@@ -1,17 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
11
- };
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./TokenKind"), exports);
14
- __exportStar(require("./Token"), exports);
15
- var Lexer_1 = require("./Lexer");
16
- Object.defineProperty(exports, "Lexer", { enumerable: true, get: function () { return Lexer_1.Lexer; } });
17
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/lexer/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,8CAA4B;AAC5B,0CAAwB;AACxB,iCAAgC;AAAvB,8FAAA,KAAK,OAAA"}
@@ -1,3 +0,0 @@
1
- export * from './Parser';
2
- export * from './Expression';
3
- export * from './Statement';
@@ -1,16 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
11
- };
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./Parser"), exports);
14
- __exportStar(require("./Expression"), exports);
15
- __exportStar(require("./Statement"), exports);
16
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/parser/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,2CAAyB;AACzB,+CAA6B;AAC7B,8CAA4B"}
@@ -1,3 +0,0 @@
1
- export * from './Chunk';
2
- export * from './PreprocessorParser';
3
- export * from './Manifest';
@@ -1,16 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- Object.defineProperty(o, k2, { enumerable: true, get: function() { return m[k]; } });
5
- }) : (function(o, m, k, k2) {
6
- if (k2 === undefined) k2 = k;
7
- o[k2] = m[k];
8
- }));
9
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
10
- for (var p in m) if (p !== "default" && !exports.hasOwnProperty(p)) __createBinding(exports, m, p);
11
- };
12
- Object.defineProperty(exports, "__esModule", { value: true });
13
- __exportStar(require("./Chunk"), exports);
14
- __exportStar(require("./PreprocessorParser"), exports);
15
- __exportStar(require("./Manifest"), exports);
16
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/preprocessor/index.ts"],"names":[],"mappings":";;;;;;;;;;;;AAAA,0CAAwB;AACxB,uDAAqC;AACrC,6CAA2B"}