brighterscript 1.0.0-alpha.25 → 1.0.0-alpha.27

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 (183) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/bsconfig.schema.json +5 -0
  3. package/dist/AstValidationSegmenter.d.ts +1 -1
  4. package/dist/AstValidationSegmenter.js +6 -7
  5. package/dist/AstValidationSegmenter.js.map +1 -1
  6. package/dist/BsConfig.d.ts +1 -0
  7. package/dist/DiagnosticMessages.d.ts +1 -3
  8. package/dist/DiagnosticMessages.js +5 -8
  9. package/dist/DiagnosticMessages.js.map +1 -1
  10. package/dist/Program.d.ts +1 -1
  11. package/dist/Program.js +40 -42
  12. package/dist/Program.js.map +1 -1
  13. package/dist/Scope.d.ts +2 -13
  14. package/dist/Scope.js +27 -35
  15. package/dist/Scope.js.map +1 -1
  16. package/dist/SymbolTable.d.ts +1 -8
  17. package/dist/SymbolTable.js +1 -10
  18. package/dist/SymbolTable.js.map +1 -1
  19. package/dist/SymbolTableFlag.d.ts +8 -0
  20. package/dist/SymbolTableFlag.js +13 -0
  21. package/dist/SymbolTableFlag.js.map +1 -0
  22. package/dist/XmlScope.d.ts +1 -6
  23. package/dist/XmlScope.js +6 -25
  24. package/dist/XmlScope.js.map +1 -1
  25. package/dist/astUtils/CachedLookups.d.ts +1 -2
  26. package/dist/astUtils/CachedLookups.js +3 -14
  27. package/dist/astUtils/CachedLookups.js.map +1 -1
  28. package/dist/astUtils/Editor.spec.js +1 -1
  29. package/dist/astUtils/Editor.spec.js.map +1 -1
  30. package/dist/astUtils/creators.js +77 -18
  31. package/dist/astUtils/creators.js.map +1 -1
  32. package/dist/astUtils/creators.spec.js +4 -4
  33. package/dist/astUtils/creators.spec.js.map +1 -1
  34. package/dist/astUtils/reflection.d.ts +3 -1
  35. package/dist/astUtils/reflection.js +12 -4
  36. package/dist/astUtils/reflection.js.map +1 -1
  37. package/dist/astUtils/reflection.spec.js +59 -42
  38. package/dist/astUtils/reflection.spec.js.map +1 -1
  39. package/dist/astUtils/visitors.spec.js +30 -19
  40. package/dist/astUtils/visitors.spec.js.map +1 -1
  41. package/dist/bscPlugin/BscPlugin.d.ts +2 -1
  42. package/dist/bscPlugin/BscPlugin.js +7 -3
  43. package/dist/bscPlugin/BscPlugin.js.map +1 -1
  44. package/dist/bscPlugin/CallExpressionInfo.js +7 -7
  45. package/dist/bscPlugin/CallExpressionInfo.js.map +1 -1
  46. package/dist/bscPlugin/SignatureHelpUtil.js +5 -4
  47. package/dist/bscPlugin/SignatureHelpUtil.js.map +1 -1
  48. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +2 -2
  49. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
  50. package/dist/bscPlugin/completions/CompletionsProcessor.js +23 -23
  51. package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
  52. package/dist/bscPlugin/definition/DefinitionProvider.d.ts +13 -0
  53. package/dist/bscPlugin/definition/DefinitionProvider.js +210 -0
  54. package/dist/bscPlugin/definition/DefinitionProvider.js.map +1 -0
  55. package/dist/bscPlugin/definition/DefinitionProvider.spec.d.ts +1 -0
  56. package/dist/bscPlugin/definition/DefinitionProvider.spec.js +88 -0
  57. package/dist/bscPlugin/definition/DefinitionProvider.spec.js.map +1 -0
  58. package/dist/bscPlugin/hover/HoverProcessor.d.ts +1 -0
  59. package/dist/bscPlugin/hover/HoverProcessor.js +28 -8
  60. package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -1
  61. package/dist/bscPlugin/hover/HoverProcessor.spec.js +74 -2
  62. package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +1 -1
  63. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +2 -5
  64. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -1
  65. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js +8 -6
  66. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js.map +1 -1
  67. package/dist/bscPlugin/validation/BrsFileValidator.js +46 -47
  68. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
  69. package/dist/bscPlugin/validation/ScopeValidator.d.ts +10 -0
  70. package/dist/bscPlugin/validation/ScopeValidator.js +120 -39
  71. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
  72. package/dist/bscPlugin/validation/ScopeValidator.spec.js +165 -10
  73. package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +1 -1
  74. package/dist/diagnosticUtils.d.ts +1 -1
  75. package/dist/files/BrsFile.Class.spec.js +7 -6
  76. package/dist/files/BrsFile.Class.spec.js.map +1 -1
  77. package/dist/files/BrsFile.d.ts +7 -15
  78. package/dist/files/BrsFile.js +49 -309
  79. package/dist/files/BrsFile.js.map +1 -1
  80. package/dist/files/BrsFile.spec.js +111 -157
  81. package/dist/files/BrsFile.spec.js.map +1 -1
  82. package/dist/files/XmlFile.d.ts +2 -3
  83. package/dist/files/XmlFile.js +0 -2
  84. package/dist/files/XmlFile.js.map +1 -1
  85. package/dist/interfaces.d.ts +109 -84
  86. package/dist/interfaces.js +9 -9
  87. package/dist/interfaces.js.map +1 -1
  88. package/dist/parser/AstNode.spec.js +6 -6
  89. package/dist/parser/AstNode.spec.js.map +1 -1
  90. package/dist/parser/Expression.d.ts +301 -164
  91. package/dist/parser/Expression.js +355 -294
  92. package/dist/parser/Expression.js.map +1 -1
  93. package/dist/parser/Parser.Class.spec.js +26 -27
  94. package/dist/parser/Parser.Class.spec.js.map +1 -1
  95. package/dist/parser/Parser.d.ts +6 -2
  96. package/dist/parser/Parser.js +361 -160
  97. package/dist/parser/Parser.js.map +1 -1
  98. package/dist/parser/Parser.spec.js +69 -213
  99. package/dist/parser/Parser.spec.js.map +1 -1
  100. package/dist/parser/SGParser.js +49 -35
  101. package/dist/parser/SGParser.js.map +1 -1
  102. package/dist/parser/SGTypes.d.ts +36 -24
  103. package/dist/parser/SGTypes.js +26 -55
  104. package/dist/parser/SGTypes.js.map +1 -1
  105. package/dist/parser/Statement.d.ts +381 -238
  106. package/dist/parser/Statement.js +510 -386
  107. package/dist/parser/Statement.js.map +1 -1
  108. package/dist/parser/Statement.spec.js +2 -2
  109. package/dist/parser/Statement.spec.js.map +1 -1
  110. package/dist/parser/tests/controlFlow/For.spec.js +1 -1
  111. package/dist/parser/tests/controlFlow/For.spec.js.map +1 -1
  112. package/dist/parser/tests/controlFlow/ForEach.spec.js +2 -2
  113. package/dist/parser/tests/controlFlow/ForEach.spec.js.map +1 -1
  114. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +1 -1
  115. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js.map +1 -1
  116. package/dist/parser/tests/expression/Call.spec.js +11 -11
  117. package/dist/parser/tests/expression/Call.spec.js.map +1 -1
  118. package/dist/parser/tests/expression/Indexing.spec.js +30 -5
  119. package/dist/parser/tests/expression/Indexing.spec.js.map +1 -1
  120. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +2 -2
  121. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
  122. package/dist/parser/tests/expression/TernaryExpression.spec.js +2 -2
  123. package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
  124. package/dist/parser/tests/expression/TypeExpression.spec.js +8 -9
  125. package/dist/parser/tests/expression/TypeExpression.spec.js.map +1 -1
  126. package/dist/parser/tests/statement/ConstStatement.spec.js +1 -1
  127. package/dist/parser/tests/statement/ConstStatement.spec.js.map +1 -1
  128. package/dist/parser/tests/statement/Dim.spec.js +8 -8
  129. package/dist/parser/tests/statement/Dim.spec.js.map +1 -1
  130. package/dist/parser/tests/statement/Enum.spec.js +2 -2
  131. package/dist/parser/tests/statement/Enum.spec.js.map +1 -1
  132. package/dist/parser/tests/statement/LibraryStatement.spec.js +2 -2
  133. package/dist/parser/tests/statement/LibraryStatement.spec.js.map +1 -1
  134. package/dist/parser/tests/statement/Misc.spec.js +2 -2
  135. package/dist/parser/tests/statement/Misc.spec.js.map +1 -1
  136. package/dist/parser/tests/statement/PrintStatement.spec.js +1 -1
  137. package/dist/parser/tests/statement/TryCatch.spec.js +10 -3
  138. package/dist/parser/tests/statement/TryCatch.spec.js.map +1 -1
  139. package/dist/roku-types/data.json +70 -52
  140. package/dist/roku-types/index.d.ts +43 -21
  141. package/dist/types/ArrayType.js +1 -2
  142. package/dist/types/ArrayType.js.map +1 -1
  143. package/dist/types/ArrayType.spec.js +7 -8
  144. package/dist/types/ArrayType.spec.js.map +1 -1
  145. package/dist/types/AssociativeArrayType.js +2 -3
  146. package/dist/types/AssociativeArrayType.js.map +1 -1
  147. package/dist/types/BscType.d.ts +1 -1
  148. package/dist/types/BscType.js +2 -3
  149. package/dist/types/BscType.js.map +1 -1
  150. package/dist/types/BuiltInInterfaceAdder.js +15 -9
  151. package/dist/types/BuiltInInterfaceAdder.js.map +1 -1
  152. package/dist/types/BuiltInInterfaceAdder.spec.js +31 -32
  153. package/dist/types/BuiltInInterfaceAdder.spec.js.map +1 -1
  154. package/dist/types/ClassType.spec.js +10 -11
  155. package/dist/types/ClassType.spec.js.map +1 -1
  156. package/dist/types/ComponentType.d.ts +2 -1
  157. package/dist/types/ComponentType.js.map +1 -1
  158. package/dist/types/EnumType.js +2 -3
  159. package/dist/types/EnumType.js.map +1 -1
  160. package/dist/types/InheritableType.js +3 -4
  161. package/dist/types/InheritableType.js.map +1 -1
  162. package/dist/types/InterfaceType.js +2 -3
  163. package/dist/types/InterfaceType.js.map +1 -1
  164. package/dist/types/InterfaceType.spec.js +3 -4
  165. package/dist/types/InterfaceType.spec.js.map +1 -1
  166. package/dist/types/ObjectType.js +1 -2
  167. package/dist/types/ObjectType.js.map +1 -1
  168. package/dist/types/ReferenceType.d.ts +1 -1
  169. package/dist/types/ReferenceType.spec.js +21 -22
  170. package/dist/types/ReferenceType.spec.js.map +1 -1
  171. package/dist/types/UnionType.js +3 -3
  172. package/dist/types/UnionType.js.map +1 -1
  173. package/dist/types/UnionType.spec.js +37 -38
  174. package/dist/types/UnionType.spec.js.map +1 -1
  175. package/dist/types/helper.spec.js +4 -5
  176. package/dist/types/helper.spec.js.map +1 -1
  177. package/dist/util.d.ts +16 -7
  178. package/dist/util.js +89 -43
  179. package/dist/util.js.map +1 -1
  180. package/dist/validators/ClassValidator.d.ts +0 -9
  181. package/dist/validators/ClassValidator.js +9 -52
  182. package/dist/validators/ClassValidator.js.map +1 -1
  183. package/package.json +1 -1
@@ -1,25 +1,25 @@
1
1
  import { SourceNode } from 'source-map';
2
2
  import type { Range } from 'vscode-languageserver';
3
3
  import type { FileReference } from '../interfaces';
4
- import { BooleanType } from '../types/BooleanType';
5
- import { DynamicType } from '../types/DynamicType';
6
- import { FloatType } from '../types/FloatType';
7
- import { IntegerType } from '../types/IntegerType';
8
- import { LongIntegerType } from '../types/LongIntegerType';
9
- import { StringType } from '../types/StringType';
10
4
  import type { TranspileState } from './TranspileState';
11
5
  export interface SGToken {
12
6
  text: string;
13
7
  range?: Range;
14
8
  }
15
9
  export declare class SGAttribute {
16
- constructor(key: SGToken, equals?: SGToken, openingQuote?: SGToken, value?: SGToken, closingQuote?: SGToken);
17
- tokens: {
10
+ constructor(options: {
18
11
  key: SGToken;
19
12
  equals?: SGToken;
20
13
  openingQuote?: SGToken;
21
14
  value?: SGToken;
22
15
  closingQuote?: SGToken;
16
+ });
17
+ readonly tokens: {
18
+ readonly key: SGToken;
19
+ equals?: SGToken;
20
+ openingQuote?: SGToken;
21
+ value?: SGToken;
22
+ closingQuote?: SGToken;
23
23
  };
24
24
  get key(): string;
25
25
  /**
@@ -33,41 +33,50 @@ export declare class SGAttribute {
33
33
  clone(): SGAttribute;
34
34
  }
35
35
  export declare class SGElement {
36
- constructor(startTagOpen: SGToken, startTagName: SGToken, attributes?: SGAttribute[], startTagClose?: SGToken, elements?: SGElement[], endTagOpen?: SGToken, endTagName?: SGToken, endTagClose?: SGToken);
37
- tokens: {
36
+ constructor(options: {
37
+ startTagOpen?: SGToken;
38
+ startTagName: SGToken;
39
+ attributes?: SGAttribute[];
40
+ startTagClose?: SGToken;
41
+ elements?: SGElement[];
42
+ endTagOpen?: SGToken;
43
+ endTagName?: SGToken;
44
+ endTagClose?: SGToken;
45
+ });
46
+ readonly tokens: {
38
47
  /**
39
48
  * The first portion of the startTag. (i.e. `<` or `<?`)
40
49
  */
41
- startTagOpen: SGToken;
50
+ readonly startTagOpen?: SGToken;
42
51
  /**
43
52
  * The name of the opening tag (i.e. CoolTag in `<CoolTag>`).
44
53
  */
45
- startTagName: SGToken;
54
+ readonly startTagName: SGToken;
46
55
  /**
47
- * The last bit of the startTag (i.e. `/>` for self-closing, `?>` for xml prologue, or `>` for tag with children)
56
+ * The last bit of the startTag (i.e. `/>` for self-closing, `?>` for xml prolog, or `>` for tag with children)
48
57
  */
49
- startTagClose?: SGToken;
58
+ readonly startTagClose?: SGToken;
50
59
  /**
51
60
  * The endTag opening char `<`
52
61
  */
53
- endTagOpen?: SGToken;
62
+ readonly endTagOpen?: SGToken;
54
63
  /**
55
64
  * The name of the ending tag (i.e. CoolTag in `</CoolTag>`)
56
65
  */
57
- endTagName?: SGToken;
66
+ readonly endTagName?: SGToken;
58
67
  /**
59
68
  * The endTag closing char `>`
60
69
  */
61
- endTagClose?: SGToken;
70
+ readonly endTagClose?: SGToken;
62
71
  };
63
72
  /**
64
73
  * Array of attributes found on this tag
65
74
  */
66
- attributes: SGAttribute[];
75
+ readonly attributes: SGAttribute[];
67
76
  /**
68
77
  * The array of direct children AST elements of this AST node
69
78
  */
70
- elements: SGElement[];
79
+ readonly elements: SGElement[];
71
80
  get range(): Range;
72
81
  private _range;
73
82
  /**
@@ -178,7 +187,6 @@ export declare enum SGFieldType {
178
187
  rect2darray = "rect2darray"
179
188
  }
180
189
  export declare const SGFieldTypes: string[];
181
- export declare function getBscTypeFromSGFieldType(sgFieldType: string): DynamicType | StringType | IntegerType | BooleanType | FloatType | LongIntegerType;
182
190
  export declare class SGInterfaceFunction extends SGElement {
183
191
  get name(): string;
184
192
  set name(value: string);
@@ -323,9 +331,13 @@ export interface SGReferences {
323
331
  scriptTagImports: Pick<FileReference, 'destPath' | 'text' | 'filePathRange'>[];
324
332
  }
325
333
  export declare class SGAst {
326
- prologElement?: SGProlog;
327
- rootElement?: SGElement;
328
- componentElement?: SGComponent;
329
- constructor(prologElement?: SGProlog, rootElement?: SGElement, componentElement?: SGComponent);
334
+ constructor(options?: {
335
+ prologElement?: SGProlog;
336
+ rootElement?: SGElement;
337
+ componentElement?: SGComponent;
338
+ });
339
+ readonly prologElement?: SGProlog;
340
+ readonly rootElement?: SGElement;
341
+ readonly componentElement?: SGComponent;
330
342
  transpile(state: TranspileState): SourceNode;
331
343
  }
@@ -1,24 +1,19 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.SGAst = exports.SGComponent = exports.SGInterface = exports.SGInterfaceFunction = exports.getBscTypeFromSGFieldType = exports.SGFieldTypes = exports.SGFieldType = exports.SGInterfaceField = exports.SGScript = exports.SGCustomization = exports.SGChildren = exports.SGNode = exports.SGProlog = exports.SGElement = exports.SGAttribute = void 0;
3
+ exports.SGAst = exports.SGComponent = exports.SGInterface = exports.SGInterfaceFunction = exports.SGFieldTypes = exports.SGFieldType = exports.SGInterfaceField = exports.SGScript = exports.SGCustomization = exports.SGChildren = exports.SGNode = exports.SGProlog = exports.SGElement = exports.SGAttribute = void 0;
4
4
  const source_map_1 = require("source-map");
5
5
  const creators_1 = require("../astUtils/creators");
6
- const BooleanType_1 = require("../types/BooleanType");
7
- const DynamicType_1 = require("../types/DynamicType");
8
- const FloatType_1 = require("../types/FloatType");
9
- const IntegerType_1 = require("../types/IntegerType");
10
- const LongIntegerType_1 = require("../types/LongIntegerType");
11
- const StringType_1 = require("../types/StringType");
12
6
  const util_1 = require("../util");
13
7
  class SGAttribute {
14
- constructor(key, equals, openingQuote, value, closingQuote) {
15
- this.tokens = {};
8
+ constructor(options) {
16
9
  this._range = null;
17
- this.tokens.key = key;
18
- this.tokens.equals = equals;
19
- this.tokens.openingQuote = openingQuote;
20
- this.tokens.value = value;
21
- this.tokens.closingQuote = closingQuote;
10
+ this.tokens = {
11
+ key: options.key,
12
+ equals: options.equals,
13
+ openingQuote: options.openingQuote,
14
+ value: options.value,
15
+ closingQuote: options.closingQuote
16
+ };
22
17
  }
23
18
  get key() {
24
19
  return this.tokens.key.text;
@@ -60,13 +55,13 @@ class SGAttribute {
60
55
  return new source_map_1.SourceNode(null, null, null, result);
61
56
  }
62
57
  clone() {
63
- return new SGAttribute(Object.assign({}, this.tokens.key), Object.assign({}, this.tokens.equals), Object.assign({}, this.tokens.openingQuote), Object.assign({}, this.tokens.value), Object.assign({}, this.tokens.closingQuote));
58
+ return new SGAttribute(this.tokens);
64
59
  }
65
60
  }
66
61
  exports.SGAttribute = SGAttribute;
67
62
  class SGElement {
68
- constructor(startTagOpen, startTagName, attributes = [], startTagClose, elements = [], endTagOpen, endTagName, endTagClose) {
69
- this.tokens = {};
63
+ constructor(options) {
64
+ var _a, _b;
70
65
  /**
71
66
  * Array of attributes found on this tag
72
67
  */
@@ -76,14 +71,16 @@ class SGElement {
76
71
  */
77
72
  this.elements = [];
78
73
  this._range = null;
79
- this.tokens.startTagOpen = startTagOpen;
80
- this.tokens.startTagName = startTagName;
81
- this.attributes = attributes;
82
- this.tokens.startTagClose = startTagClose;
83
- this.elements = elements;
84
- this.tokens.endTagOpen = endTagOpen;
85
- this.tokens.endTagName = endTagName;
86
- this.tokens.endTagClose = endTagClose;
74
+ this.tokens = {
75
+ startTagOpen: options.startTagOpen,
76
+ startTagName: options.startTagName,
77
+ startTagClose: options.startTagClose,
78
+ endTagOpen: options.endTagOpen,
79
+ endTagName: options.endTagName,
80
+ endTagClose: options.endTagClose
81
+ };
82
+ this.attributes = (_a = options.attributes) !== null && _a !== void 0 ? _a : [];
83
+ this.elements = (_b = options.elements) !== null && _b !== void 0 ? _b : [];
87
84
  }
88
85
  get range() {
89
86
  var _a, _b, _c, _d;
@@ -378,32 +375,6 @@ var SGFieldType;
378
375
  SGFieldType["rect2darray"] = "rect2darray";
379
376
  })(SGFieldType = exports.SGFieldType || (exports.SGFieldType = {}));
380
377
  exports.SGFieldTypes = Object.keys(SGFieldType);
381
- function getBscTypeFromSGFieldType(sgFieldType) {
382
- switch (sgFieldType) {
383
- case SGFieldType.integer:
384
- case SGFieldType.int: {
385
- return new IntegerType_1.IntegerType();
386
- }
387
- case SGFieldType.longinteger: {
388
- return new LongIntegerType_1.LongIntegerType();
389
- }
390
- case SGFieldType.float: {
391
- return new FloatType_1.FloatType();
392
- }
393
- case SGFieldType.string:
394
- case SGFieldType.str: {
395
- return new StringType_1.StringType();
396
- }
397
- case SGFieldType.boolean:
398
- case SGFieldType.bool: {
399
- return new BooleanType_1.BooleanType();
400
- }
401
- default: {
402
- return new DynamicType_1.DynamicType();
403
- }
404
- }
405
- }
406
- exports.getBscTypeFromSGFieldType = getBscTypeFromSGFieldType;
407
378
  class SGInterfaceFunction extends SGElement {
408
379
  get name() {
409
380
  return this.getAttributeValue('name');
@@ -712,10 +683,10 @@ class SGComponent extends SGElement {
712
683
  }
713
684
  exports.SGComponent = SGComponent;
714
685
  class SGAst {
715
- constructor(prologElement, rootElement, componentElement) {
716
- this.prologElement = prologElement;
717
- this.rootElement = rootElement;
718
- this.componentElement = componentElement;
686
+ constructor(options = {}) {
687
+ this.prologElement = options.prologElement;
688
+ this.rootElement = options.rootElement;
689
+ this.componentElement = options.componentElement;
719
690
  }
720
691
  transpile(state) {
721
692
  const chunks = [];
@@ -1 +1 @@
1
- {"version":3,"file":"SGTypes.js","sourceRoot":"","sources":["../../src/parser/SGTypes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SGTypes.js","sourceRoot":"","sources":["../../src/parser/SGTypes.ts"],"names":[],"mappings":"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"}