brighterscript 0.57.2 → 0.59.0

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 (124) hide show
  1. package/CHANGELOG.md +31 -0
  2. package/README.md +16 -6
  3. package/bsconfig.schema.json +11 -0
  4. package/dist/BsConfig.d.ts +11 -0
  5. package/dist/DiagnosticMessages.d.ts +7 -2
  6. package/dist/DiagnosticMessages.js +7 -2
  7. package/dist/DiagnosticMessages.js.map +1 -1
  8. package/dist/Program.d.ts +12 -2
  9. package/dist/Program.js +69 -24
  10. package/dist/Program.js.map +1 -1
  11. package/dist/ProgramBuilder.js +1 -1
  12. package/dist/ProgramBuilder.js.map +1 -1
  13. package/dist/Scope.d.ts +6 -3
  14. package/dist/Scope.js +24 -17
  15. package/dist/Scope.js.map +1 -1
  16. package/dist/astUtils/AstEditor.d.ts +2 -3
  17. package/dist/astUtils/AstEditor.js.map +1 -1
  18. package/dist/astUtils/creators.d.ts +4 -4
  19. package/dist/astUtils/creators.js +6 -6
  20. package/dist/astUtils/creators.js.map +1 -1
  21. package/dist/astUtils/reflection.d.ts +67 -64
  22. package/dist/astUtils/reflection.js +10 -2
  23. package/dist/astUtils/reflection.js.map +1 -1
  24. package/dist/astUtils/reflection.spec.js +8 -3
  25. package/dist/astUtils/reflection.spec.js.map +1 -1
  26. package/dist/astUtils/visitors.d.ts +33 -31
  27. package/dist/astUtils/visitors.js.map +1 -1
  28. package/dist/astUtils/visitors.spec.js.map +1 -1
  29. package/dist/bscPlugin/BscPlugin.js +4 -0
  30. package/dist/bscPlugin/BscPlugin.js.map +1 -1
  31. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +6 -6
  32. package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +1 -1
  33. package/dist/bscPlugin/hover/HoverProcessor.spec.js +40 -34
  34. package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +1 -1
  35. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +2 -2
  36. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -1
  37. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +2 -2
  38. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +1 -1
  39. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js +4 -5
  40. package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js.map +1 -1
  41. package/dist/bscPlugin/validation/BrsFileValidator.d.ts +2 -0
  42. package/dist/bscPlugin/validation/BrsFileValidator.js +166 -12
  43. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
  44. package/dist/bscPlugin/validation/ScopeValidator.d.ts +21 -19
  45. package/dist/bscPlugin/validation/ScopeValidator.js +164 -179
  46. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
  47. package/dist/bscPlugin/validation/XmlFileValidator.d.ts +8 -0
  48. package/dist/bscPlugin/validation/XmlFileValidator.js +44 -0
  49. package/dist/bscPlugin/validation/XmlFileValidator.js.map +1 -0
  50. package/dist/files/BrsFile.Class.spec.js +33 -35
  51. package/dist/files/BrsFile.Class.spec.js.map +1 -1
  52. package/dist/files/BrsFile.d.ts +11 -5
  53. package/dist/files/BrsFile.js +15 -47
  54. package/dist/files/BrsFile.js.map +1 -1
  55. package/dist/files/BrsFile.spec.js +107 -79
  56. package/dist/files/BrsFile.spec.js.map +1 -1
  57. package/dist/files/XmlFile.d.ts +9 -4
  58. package/dist/files/XmlFile.js +6 -30
  59. package/dist/files/XmlFile.js.map +1 -1
  60. package/dist/files/XmlFile.spec.js +57 -90
  61. package/dist/files/XmlFile.spec.js.map +1 -1
  62. package/dist/files/tests/imports.spec.js +13 -15
  63. package/dist/files/tests/imports.spec.js.map +1 -1
  64. package/dist/files/tests/optionalChaning.spec.js +10 -12
  65. package/dist/files/tests/optionalChaning.spec.js.map +1 -1
  66. package/dist/index.d.ts +1 -0
  67. package/dist/index.js +1 -0
  68. package/dist/index.js.map +1 -1
  69. package/dist/interfaces.d.ts +2 -3
  70. package/dist/lexer/Lexer.spec.js +6 -0
  71. package/dist/lexer/Lexer.spec.js.map +1 -1
  72. package/dist/lexer/TokenKind.d.ts +1 -0
  73. package/dist/lexer/TokenKind.js +6 -2
  74. package/dist/lexer/TokenKind.js.map +1 -1
  75. package/dist/parser/AstNode.d.ts +65 -0
  76. package/dist/parser/AstNode.js +93 -0
  77. package/dist/parser/AstNode.js.map +1 -0
  78. package/dist/parser/AstNode.spec.d.ts +1 -0
  79. package/dist/parser/AstNode.spec.js +42 -0
  80. package/dist/parser/AstNode.spec.js.map +1 -0
  81. package/dist/parser/Expression.d.ts +6 -43
  82. package/dist/parser/Expression.js +53 -81
  83. package/dist/parser/Expression.js.map +1 -1
  84. package/dist/parser/Parser.d.ts +15 -12
  85. package/dist/parser/Parser.js +130 -117
  86. package/dist/parser/Parser.js.map +1 -1
  87. package/dist/parser/Parser.spec.d.ts +1 -1
  88. package/dist/parser/Parser.spec.js.map +1 -1
  89. package/dist/parser/SGParser.spec.js +2 -3
  90. package/dist/parser/SGParser.spec.js.map +1 -1
  91. package/dist/parser/Statement.d.ts +28 -44
  92. package/dist/parser/Statement.js +118 -104
  93. package/dist/parser/Statement.js.map +1 -1
  94. package/dist/parser/Statement.spec.js +16 -10
  95. package/dist/parser/Statement.spec.js.map +1 -1
  96. package/dist/parser/tests/expression/ArrayLiterals.spec.js +37 -0
  97. package/dist/parser/tests/expression/ArrayLiterals.spec.js.map +1 -1
  98. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +41 -0
  99. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js.map +1 -1
  100. package/dist/parser/tests/expression/Call.spec.js +109 -1
  101. package/dist/parser/tests/expression/Call.spec.js.map +1 -1
  102. package/dist/parser/tests/expression/Indexing.spec.js +49 -4
  103. package/dist/parser/tests/expression/Indexing.spec.js.map +1 -1
  104. package/dist/parser/tests/statement/ConstStatement.spec.js +7 -7
  105. package/dist/parser/tests/statement/ConstStatement.spec.js.map +1 -1
  106. package/dist/parser/tests/statement/Continue.spec.d.ts +1 -0
  107. package/dist/parser/tests/statement/Continue.spec.js +92 -0
  108. package/dist/parser/tests/statement/Continue.spec.js.map +1 -0
  109. package/dist/parser/tests/statement/Enum.spec.js +36 -9
  110. package/dist/parser/tests/statement/Enum.spec.js.map +1 -1
  111. package/dist/parser/tests/statement/For.spec.js +3 -4
  112. package/dist/parser/tests/statement/For.spec.js.map +1 -1
  113. package/dist/parser/tests/statement/ForEach.spec.js +4 -5
  114. package/dist/parser/tests/statement/ForEach.spec.js.map +1 -1
  115. package/dist/parser/tests/statement/InterfaceStatement.spec.js +4 -5
  116. package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +1 -1
  117. package/dist/parser/tests/statement/PrintStatement.spec.js +3 -4
  118. package/dist/parser/tests/statement/PrintStatement.spec.js.map +1 -1
  119. package/dist/util.d.ts +11 -5
  120. package/dist/util.js +57 -6
  121. package/dist/util.js.map +1 -1
  122. package/dist/validators/ClassValidator.js +22 -19
  123. package/dist/validators/ClassValidator.js.map +1 -1
  124. package/package.json +2 -2
@@ -1 +1 @@
1
- {"version":3,"file":"SGParser.spec.js","sourceRoot":"","sources":["../../src/parser/SGParser.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"SGParser.spec.js","sourceRoot":"","sources":["../../src/parser/SGParser.spec.ts"],"names":[],"mappings":"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"}
@@ -1,43 +1,17 @@
1
1
  import type { Token, Identifier } from '../lexer/Token';
2
2
  import { TokenKind } from '../lexer/TokenKind';
3
- import type { Expression, NamespacedVariableNameExpression, FunctionExpression, AnnotationExpression, FunctionParameterExpression } from './Expression';
3
+ import type { NamespacedVariableNameExpression, FunctionExpression, FunctionParameterExpression } from './Expression';
4
4
  import type { Range } from 'vscode-languageserver';
5
5
  import type { BrsTranspileState } from './BrsTranspileState';
6
6
  import { ParseMode } from './Parser';
7
7
  import type { WalkVisitor, WalkOptions } from '../astUtils/visitors';
8
- import { InternalWalkMode } from '../astUtils/visitors';
9
8
  import type { TranspileResult, TypedefProvider } from '../interfaces';
10
9
  import type { BscType } from '../types/BscType';
11
10
  import type { SourceNode } from 'source-map';
12
11
  import type { TranspileState } from './TranspileState';
13
12
  import { SymbolTable } from '../SymbolTable';
14
- /**
15
- * A BrightScript statement
16
- */
17
- export declare abstract class Statement {
18
- /**
19
- * The starting and ending location of the statement.
20
- **/
21
- abstract range: Range;
22
- /**
23
- * Statement annotations
24
- */
25
- annotations: AnnotationExpression[];
26
- abstract transpile(state: BrsTranspileState): TranspileResult;
27
- /**
28
- * When being considered by the walk visitor, this describes what type of element the current class is.
29
- */
30
- visitMode: InternalWalkMode;
31
- abstract walk(visitor: WalkVisitor, options: WalkOptions): any;
32
- /**
33
- * The parent node for this statement. This is set dynamically during `onFileValidate`, and should not be set directly.
34
- */
35
- parent?: Statement | Expression;
36
- /**
37
- * Get the closest symbol table for this node. Should be overridden in children that directly contain a symbol table
38
- */
39
- getSymbolTable(): SymbolTable;
40
- }
13
+ import type { Expression } from './AstNode';
14
+ import { Statement } from './AstNode';
41
15
  export declare class EmptyStatement extends Statement {
42
16
  /**
43
17
  * Create a negative range to indicate this is an interpolated location
@@ -56,9 +30,8 @@ export declare class EmptyStatement extends Statement {
56
30
  */
57
31
  export declare class Body extends Statement implements TypedefProvider {
58
32
  statements: Statement[];
33
+ constructor(statements?: Statement[]);
59
34
  symbolTable: SymbolTable;
60
- constructor(statements?: Statement[], symbolTable?: SymbolTable);
61
- getSymbolTable(): SymbolTable;
62
35
  get range(): Range;
63
36
  transpile(state: BrsTranspileState): TranspileResult;
64
37
  getTypedef(state: BrsTranspileState): any[];
@@ -79,6 +52,7 @@ export declare class Block extends Statement {
79
52
  readonly startingRange: Range;
80
53
  constructor(statements: Statement[], startingRange: Range);
81
54
  readonly range: Range;
55
+ symbolTable: SymbolTable;
82
56
  transpile(state: BrsTranspileState): TranspileResult;
83
57
  walk(visitor: WalkVisitor, options: WalkOptions): void;
84
58
  }
@@ -123,8 +97,7 @@ export declare class ExitWhileStatement extends Statement {
123
97
  export declare class FunctionStatement extends Statement implements TypedefProvider {
124
98
  name: Identifier;
125
99
  func: FunctionExpression;
126
- namespaceName: NamespacedVariableNameExpression;
127
- constructor(name: Identifier, func: FunctionExpression, namespaceName: NamespacedVariableNameExpression);
100
+ constructor(name: Identifier, func: FunctionExpression);
128
101
  readonly range: Range;
129
102
  /**
130
103
  * Get the name of this expression based on the parse mode
@@ -348,9 +321,7 @@ export declare class NamespaceStatement extends Statement implements TypedefProv
348
321
  nameExpression: NamespacedVariableNameExpression;
349
322
  body: Body;
350
323
  endKeyword: Token;
351
- readonly parentSymbolTable?: SymbolTable;
352
- constructor(keyword: Token, nameExpression: NamespacedVariableNameExpression, body: Body, endKeyword: Token, parentSymbolTable?: SymbolTable);
353
- symbolTable: SymbolTable;
324
+ constructor(keyword: Token, nameExpression: NamespacedVariableNameExpression, body: Body, endKeyword: Token);
354
325
  getSymbolTable(): SymbolTable;
355
326
  /**
356
327
  * The string name for this namespace
@@ -380,8 +351,7 @@ export declare class ImportStatement extends Statement implements TypedefProvide
380
351
  export declare class InterfaceStatement extends Statement implements TypedefProvider {
381
352
  parentInterfaceName: NamespacedVariableNameExpression;
382
353
  body: Statement[];
383
- namespaceName: NamespacedVariableNameExpression;
384
- constructor(interfaceToken: Token, name: Identifier, extendsToken: Token, parentInterfaceName: NamespacedVariableNameExpression, body: Statement[], endInterfaceToken: Token, namespaceName: NamespacedVariableNameExpression);
354
+ constructor(interfaceToken: Token, name: Identifier, extendsToken: Token, parentInterfaceName: NamespacedVariableNameExpression, body: Statement[], endInterfaceToken: Token);
385
355
  tokens: {
386
356
  interface: Token;
387
357
  name: Identifier;
@@ -448,12 +418,11 @@ export declare class ClassStatement extends Statement implements TypedefProvider
448
418
  readonly end: Token;
449
419
  readonly extendsKeyword?: Token;
450
420
  readonly parentClassName?: NamespacedVariableNameExpression;
451
- readonly namespaceName?: NamespacedVariableNameExpression;
452
421
  constructor(classKeyword: Token,
453
422
  /**
454
423
  * The name of the class (without namespace prefix)
455
424
  */
456
- name: Identifier, body: Statement[], end: Token, extendsKeyword?: Token, parentClassName?: NamespacedVariableNameExpression, namespaceName?: NamespacedVariableNameExpression);
425
+ name: Identifier, body: Statement[], end: Token, extendsKeyword?: Token, parentClassName?: NamespacedVariableNameExpression);
457
426
  getName(parseMode: ParseMode): string;
458
427
  memberMap: Record<string, MemberStatement>;
459
428
  methods: MethodStatement[];
@@ -502,6 +471,10 @@ export declare class MethodStatement extends FunctionStatement {
502
471
  modifiers: Token[];
503
472
  get accessModifier(): Token;
504
473
  readonly range: Range;
474
+ /**
475
+ * Get the name of this method.
476
+ */
477
+ getName(parseMode: ParseMode): string;
505
478
  transpile(state: BrsTranspileState): any[];
506
479
  getTypedef(state: BrsTranspileState): string[];
507
480
  /**
@@ -591,12 +564,11 @@ export declare class EnumStatement extends Statement implements TypedefProvider
591
564
  endEnum: Token;
592
565
  };
593
566
  body: Array<EnumMemberStatement | CommentStatement>;
594
- namespaceName?: NamespacedVariableNameExpression;
595
567
  constructor(tokens: {
596
568
  enum: Token;
597
569
  name: Identifier;
598
570
  endEnum: Token;
599
- }, body: Array<EnumMemberStatement | CommentStatement>, namespaceName?: NamespacedVariableNameExpression);
571
+ }, body: Array<EnumMemberStatement | CommentStatement>);
600
572
  get range(): Range;
601
573
  getMembers(): EnumMemberStatement[];
602
574
  /**
@@ -643,12 +615,11 @@ export declare class ConstStatement extends Statement implements TypedefProvider
643
615
  equals: Token;
644
616
  };
645
617
  value: Expression;
646
- readonly namespaceName?: NamespacedVariableNameExpression;
647
618
  constructor(tokens: {
648
619
  const: Token;
649
620
  name: Identifier;
650
621
  equals: Token;
651
- }, value: Expression, namespaceName?: NamespacedVariableNameExpression);
622
+ }, value: Expression);
652
623
  range: Range;
653
624
  get name(): string;
654
625
  /**
@@ -659,3 +630,16 @@ export declare class ConstStatement extends Statement implements TypedefProvider
659
630
  getTypedef(state: BrsTranspileState): (string | SourceNode)[];
660
631
  walk(visitor: WalkVisitor, options: WalkOptions): void;
661
632
  }
633
+ export declare class ContinueStatement extends Statement {
634
+ tokens: {
635
+ continue: Token;
636
+ loopType: Token;
637
+ };
638
+ constructor(tokens: {
639
+ continue: Token;
640
+ loopType: Token;
641
+ });
642
+ get range(): Range;
643
+ transpile(state: BrsTranspileState): (string | SourceNode)[];
644
+ walk(visitor: WalkVisitor, options: WalkOptions): void;
645
+ }