brighterscript 1.0.0-alpha.25 → 1.0.0-alpha.26

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 (120) hide show
  1. package/CHANGELOG.md +28 -0
  2. package/bsconfig.schema.json +5 -0
  3. package/dist/AstValidationSegmenter.js +4 -4
  4. package/dist/AstValidationSegmenter.js.map +1 -1
  5. package/dist/BsConfig.d.ts +1 -0
  6. package/dist/Program.d.ts +1 -1
  7. package/dist/Program.js +18 -19
  8. package/dist/Program.js.map +1 -1
  9. package/dist/Scope.d.ts +0 -5
  10. package/dist/Scope.js +8 -14
  11. package/dist/Scope.js.map +1 -1
  12. package/dist/XmlScope.d.ts +0 -5
  13. package/dist/XmlScope.js +3 -21
  14. package/dist/XmlScope.js.map +1 -1
  15. package/dist/astUtils/CachedLookups.js +3 -3
  16. package/dist/astUtils/CachedLookups.js.map +1 -1
  17. package/dist/astUtils/Editor.spec.js +1 -1
  18. package/dist/astUtils/Editor.spec.js.map +1 -1
  19. package/dist/astUtils/creators.js +32 -12
  20. package/dist/astUtils/creators.js.map +1 -1
  21. package/dist/astUtils/creators.spec.js +4 -4
  22. package/dist/astUtils/creators.spec.js.map +1 -1
  23. package/dist/astUtils/reflection.d.ts +1 -1
  24. package/dist/astUtils/reflection.js +1 -1
  25. package/dist/astUtils/reflection.js.map +1 -1
  26. package/dist/astUtils/reflection.spec.js +59 -42
  27. package/dist/astUtils/reflection.spec.js.map +1 -1
  28. package/dist/astUtils/visitors.spec.js +30 -19
  29. package/dist/astUtils/visitors.spec.js.map +1 -1
  30. package/dist/bscPlugin/BscPlugin.d.ts +2 -1
  31. package/dist/bscPlugin/BscPlugin.js +7 -3
  32. package/dist/bscPlugin/BscPlugin.js.map +1 -1
  33. package/dist/bscPlugin/CallExpressionInfo.js +7 -7
  34. package/dist/bscPlugin/CallExpressionInfo.js.map +1 -1
  35. package/dist/bscPlugin/SignatureHelpUtil.js +5 -4
  36. package/dist/bscPlugin/SignatureHelpUtil.js.map +1 -1
  37. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +2 -2
  38. package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
  39. package/dist/bscPlugin/completions/CompletionsProcessor.js +3 -3
  40. package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
  41. package/dist/bscPlugin/definition/DefinitionProvider.d.ts +13 -0
  42. package/dist/bscPlugin/definition/DefinitionProvider.js +210 -0
  43. package/dist/bscPlugin/definition/DefinitionProvider.js.map +1 -0
  44. package/dist/bscPlugin/definition/DefinitionProvider.spec.d.ts +1 -0
  45. package/dist/bscPlugin/definition/DefinitionProvider.spec.js +88 -0
  46. package/dist/bscPlugin/definition/DefinitionProvider.spec.js.map +1 -0
  47. package/dist/bscPlugin/hover/HoverProcessor.js +2 -2
  48. package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -1
  49. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +0 -2
  50. package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -1
  51. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js +8 -6
  52. package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js.map +1 -1
  53. package/dist/bscPlugin/validation/BrsFileValidator.js +28 -28
  54. package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
  55. package/dist/bscPlugin/validation/ScopeValidator.d.ts +4 -0
  56. package/dist/bscPlugin/validation/ScopeValidator.js +51 -20
  57. package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
  58. package/dist/bscPlugin/validation/ScopeValidator.spec.js +73 -0
  59. package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +1 -1
  60. package/dist/files/BrsFile.Class.spec.js +3 -3
  61. package/dist/files/BrsFile.Class.spec.js.map +1 -1
  62. package/dist/files/BrsFile.d.ts +4 -11
  63. package/dist/files/BrsFile.js +39 -206
  64. package/dist/files/BrsFile.js.map +1 -1
  65. package/dist/files/BrsFile.spec.js +56 -2
  66. package/dist/files/BrsFile.spec.js.map +1 -1
  67. package/dist/interfaces.d.ts +32 -1
  68. package/dist/interfaces.js.map +1 -1
  69. package/dist/parser/AstNode.spec.js +6 -6
  70. package/dist/parser/AstNode.spec.js.map +1 -1
  71. package/dist/parser/Expression.d.ts +288 -145
  72. package/dist/parser/Expression.js +310 -271
  73. package/dist/parser/Expression.js.map +1 -1
  74. package/dist/parser/Parser.Class.spec.js +11 -11
  75. package/dist/parser/Parser.Class.spec.js.map +1 -1
  76. package/dist/parser/Parser.d.ts +5 -0
  77. package/dist/parser/Parser.js +315 -120
  78. package/dist/parser/Parser.js.map +1 -1
  79. package/dist/parser/Parser.spec.js +42 -185
  80. package/dist/parser/Parser.spec.js.map +1 -1
  81. package/dist/parser/Statement.d.ts +332 -188
  82. package/dist/parser/Statement.js +475 -364
  83. package/dist/parser/Statement.js.map +1 -1
  84. package/dist/parser/Statement.spec.js +2 -2
  85. package/dist/parser/Statement.spec.js.map +1 -1
  86. package/dist/parser/tests/controlFlow/For.spec.js +1 -1
  87. package/dist/parser/tests/controlFlow/For.spec.js.map +1 -1
  88. package/dist/parser/tests/controlFlow/ForEach.spec.js +2 -2
  89. package/dist/parser/tests/controlFlow/ForEach.spec.js.map +1 -1
  90. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +1 -1
  91. package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js.map +1 -1
  92. package/dist/parser/tests/expression/Call.spec.js +11 -11
  93. package/dist/parser/tests/expression/Call.spec.js.map +1 -1
  94. package/dist/parser/tests/expression/Indexing.spec.js +30 -5
  95. package/dist/parser/tests/expression/Indexing.spec.js.map +1 -1
  96. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +2 -2
  97. package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
  98. package/dist/parser/tests/expression/TernaryExpression.spec.js +2 -2
  99. package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
  100. package/dist/parser/tests/statement/ConstStatement.spec.js +1 -1
  101. package/dist/parser/tests/statement/ConstStatement.spec.js.map +1 -1
  102. package/dist/parser/tests/statement/Dim.spec.js +8 -8
  103. package/dist/parser/tests/statement/Dim.spec.js.map +1 -1
  104. package/dist/parser/tests/statement/Enum.spec.js +2 -2
  105. package/dist/parser/tests/statement/Enum.spec.js.map +1 -1
  106. package/dist/parser/tests/statement/LibraryStatement.spec.js +2 -2
  107. package/dist/parser/tests/statement/LibraryStatement.spec.js.map +1 -1
  108. package/dist/parser/tests/statement/Misc.spec.js +2 -2
  109. package/dist/parser/tests/statement/Misc.spec.js.map +1 -1
  110. package/dist/parser/tests/statement/PrintStatement.spec.js +1 -1
  111. package/dist/parser/tests/statement/TryCatch.spec.js +1 -1
  112. package/dist/parser/tests/statement/TryCatch.spec.js.map +1 -1
  113. package/dist/types/BuiltInInterfaceAdder.js +11 -4
  114. package/dist/types/BuiltInInterfaceAdder.js.map +1 -1
  115. package/dist/util.d.ts +17 -8
  116. package/dist/util.js +96 -51
  117. package/dist/util.js.map +1 -1
  118. package/dist/validators/ClassValidator.js +6 -6
  119. package/dist/validators/ClassValidator.js.map +1 -1
  120. package/package.json +1 -1
@@ -1 +1 @@
1
- {"version":3,"file":"AstNode.spec.js","sourceRoot":"","sources":["../../src/parser/AstNode.spec.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"AstNode.spec.js","sourceRoot":"","sources":["../../src/parser/AstNode.spec.ts"],"names":[],"mappings":"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"}
@@ -4,21 +4,28 @@ import type { Range } from 'vscode-languageserver';
4
4
  import type { BrsTranspileState } from './BrsTranspileState';
5
5
  import { ParseMode } from './Parser';
6
6
  import type { WalkOptions, WalkVisitor } from '../astUtils/visitors';
7
- import type { GetTypeOptions, TranspileResult, TypedefProvider } from '../interfaces';
7
+ import type { GetTypeOptions } from '../interfaces';
8
+ import { type TranspileResult, type TypedefProvider } from '../interfaces';
9
+ import { VoidType } from '../types/VoidType';
10
+ import { DynamicType } from '../types/DynamicType';
8
11
  import type { BscType } from '../types/BscType';
9
12
  import { TypedFunctionType } from '../types/TypedFunctionType';
10
13
  import { AstNodeKind, Expression } from './AstNode';
11
14
  import { SourceNode } from 'source-map';
12
15
  import type { TranspileState } from './TranspileState';
13
16
  import { StringType } from '../types/StringType';
14
- import { DynamicType } from '../types/DynamicType';
15
- import { VoidType } from '../types/VoidType';
16
17
  export declare type ExpressionVisitor = (expression: Expression, parent: Expression) => void;
17
18
  export declare class BinaryExpression extends Expression {
19
+ constructor(options: {
20
+ left: Expression;
21
+ operator: Token;
22
+ right: Expression;
23
+ });
24
+ tokens: {
25
+ operator: Token;
26
+ };
18
27
  left: Expression;
19
- operator: Token;
20
28
  right: Expression;
21
- constructor(left: Expression, operator: Token, right: Expression);
22
29
  readonly kind = AstNodeKind.BinaryExpression;
23
30
  readonly range: Range;
24
31
  transpile(state: BrsTranspileState): (string | SourceNode)[];
@@ -26,19 +33,22 @@ export declare class BinaryExpression extends Expression {
26
33
  getType(options: GetTypeOptions): BscType;
27
34
  }
28
35
  export declare class CallExpression extends Expression {
36
+ static MaximumArguments: number;
37
+ constructor(options: {
38
+ callee: Expression;
39
+ openingParen: Token;
40
+ args?: Expression[];
41
+ closingParen: Token;
42
+ });
29
43
  readonly callee: Expression;
30
- /**
31
- * Can either be `(`, or `?(` for optional chaining
32
- */
33
- readonly openingParen: Token;
34
- readonly closingParen: Token;
35
44
  readonly args: Expression[];
36
- static MaximumArguments: number;
37
- constructor(callee: Expression,
38
- /**
39
- * Can either be `(`, or `?(` for optional chaining
40
- */
41
- openingParen: Token, closingParen: Token, args: Expression[], unused?: any);
45
+ tokens: {
46
+ /**
47
+ * Can either be `(`, or `?(` for optional chaining - defaults to '('
48
+ */
49
+ readonly openingParen?: Token;
50
+ readonly closingParen?: Token;
51
+ };
42
52
  readonly kind = AstNodeKind.CallExpression;
43
53
  readonly range: Range;
44
54
  transpile(state: BrsTranspileState, nameOverride?: string): (string | SourceNode)[];
@@ -46,16 +56,27 @@ export declare class CallExpression extends Expression {
46
56
  getType(options: GetTypeOptions): any;
47
57
  }
48
58
  export declare class FunctionExpression extends Expression implements TypedefProvider {
59
+ constructor(options: {
60
+ functionType?: Token;
61
+ leftParen?: Token;
62
+ parameters?: FunctionParameterExpression[];
63
+ rightParen?: Token;
64
+ as?: Token;
65
+ returnTypeExpression?: TypeExpression;
66
+ body: Block;
67
+ endFunctionType?: Token;
68
+ });
69
+ readonly kind = AstNodeKind.FunctionExpression;
49
70
  readonly parameters: FunctionParameterExpression[];
50
71
  body: Block;
51
- readonly functionType: Token | null;
52
- end: Token;
53
- readonly leftParen: Token;
54
- readonly rightParen: Token;
55
- readonly asToken?: Token;
56
72
  returnTypeExpression?: TypeExpression;
57
- constructor(parameters: FunctionParameterExpression[], body: Block, functionType: Token | null, end: Token, leftParen: Token, rightParen: Token, asToken?: Token, returnTypeExpression?: TypeExpression);
58
- readonly kind = AstNodeKind.FunctionExpression;
73
+ readonly tokens: {
74
+ functionType?: Token;
75
+ endFunctionType?: Token;
76
+ leftParen?: Token;
77
+ rightParen?: Token;
78
+ as?: Token;
79
+ };
59
80
  /**
60
81
  * The list of function calls that are declared within this function scope. This excludes CallExpressions
61
82
  * declared in child functions
@@ -77,13 +98,21 @@ export declare class FunctionExpression extends Expression implements TypedefPro
77
98
  getType(options: GetTypeOptions): TypedFunctionType;
78
99
  }
79
100
  export declare class FunctionParameterExpression extends Expression {
80
- name: Identifier;
81
- equalToken?: Token;
101
+ constructor(options: {
102
+ name: Identifier;
103
+ equals?: Token;
104
+ defaultValue?: Expression;
105
+ as?: Token;
106
+ typeExpression?: TypeExpression;
107
+ });
108
+ readonly kind = AstNodeKind.FunctionParameterExpression;
109
+ tokens: {
110
+ name: Identifier;
111
+ equals?: Token;
112
+ as?: Token;
113
+ };
82
114
  defaultValue?: Expression;
83
- asToken?: Token;
84
115
  typeExpression?: TypeExpression;
85
- constructor(name: Identifier, equalToken?: Token, defaultValue?: Expression, asToken?: Token, typeExpression?: TypeExpression);
86
- readonly kind = AstNodeKind.FunctionParameterExpression;
87
116
  getType(options: GetTypeOptions): BscType;
88
117
  get range(): Range;
89
118
  transpile(state: BrsTranspileState): any[];
@@ -91,17 +120,19 @@ export declare class FunctionParameterExpression extends Expression {
91
120
  walk(visitor: WalkVisitor, options: WalkOptions): void;
92
121
  }
93
122
  export declare class DottedGetExpression extends Expression {
123
+ constructor(options: {
124
+ obj: Expression;
125
+ name: Identifier;
126
+ /**
127
+ * Can either be `.`, or `?.` for optional chaining - defaults in transpile to '.'
128
+ */
129
+ dot?: Token;
130
+ });
131
+ readonly tokens: {
132
+ name: Identifier;
133
+ dot?: Token;
134
+ };
94
135
  readonly obj: Expression;
95
- readonly name: Identifier;
96
- /**
97
- * Can either be `.`, or `?.` for optional chaining
98
- */
99
- readonly dot: Token;
100
- constructor(obj: Expression, name: Identifier,
101
- /**
102
- * Can either be `.`, or `?.` for optional chaining
103
- */
104
- dot: Token);
105
136
  readonly kind = AstNodeKind.DottedGetExpression;
106
137
  readonly range: Range;
107
138
  transpile(state: BrsTranspileState): (string | SourceNode)[];
@@ -110,52 +141,62 @@ export declare class DottedGetExpression extends Expression {
110
141
  getName(parseMode: ParseMode): string;
111
142
  }
112
143
  export declare class XmlAttributeGetExpression extends Expression {
113
- readonly obj: Expression;
114
- readonly name: Identifier;
115
- /**
116
- * Can either be `@`, or `?@` for optional chaining
117
- */
118
- readonly at: Token;
119
- constructor(obj: Expression, name: Identifier,
120
- /**
121
- * Can either be `@`, or `?@` for optional chaining
122
- */
123
- at: Token);
144
+ constructor(options: {
145
+ obj: Expression;
146
+ /**
147
+ * Can either be `@`, or `?@` for optional chaining - defaults to '@'
148
+ */
149
+ at?: Token;
150
+ name: Identifier;
151
+ });
124
152
  readonly kind = AstNodeKind.XmlAttributeGetExpression;
153
+ tokens: {
154
+ name: Identifier;
155
+ at?: Token;
156
+ };
157
+ readonly obj: Expression;
125
158
  readonly range: Range;
126
159
  transpile(state: BrsTranspileState): (string | SourceNode)[];
127
160
  walk(visitor: WalkVisitor, options: WalkOptions): void;
128
161
  }
129
162
  export declare class IndexedGetExpression extends Expression {
130
- obj: Expression;
131
- index: Expression;
132
- /**
133
- * Can either be `[` or `?[`. If `?.[` is used, this will be `[` and `optionalChainingToken` will be `?.`
134
- */
135
- openingSquare: Token;
136
- closingSquare: Token;
137
- questionDotToken?: Token;
138
- constructor(obj: Expression, index: Expression,
139
- /**
140
- * Can either be `[` or `?[`. If `?.[` is used, this will be `[` and `optionalChainingToken` will be `?.`
141
- */
142
- openingSquare: Token, closingSquare: Token, questionDotToken?: Token);
163
+ constructor(options: {
164
+ obj: Expression;
165
+ indexes: Expression[];
166
+ /**
167
+ * Can either be `[` or `?[`. If `?.[` is used, this will be `[` and `optionalChainingToken` will be `?.` - defaults to '[' in transpile
168
+ */
169
+ openingSquare?: Token;
170
+ closingSquare?: Token;
171
+ questionDot?: Token;
172
+ });
143
173
  readonly kind = AstNodeKind.IndexedGetExpression;
174
+ obj: Expression;
175
+ indexes: Expression[];
176
+ tokens: {
177
+ /**
178
+ * Can either be `[` or `?[`. If `?.[` is used, this will be `[` and `optionalChainingToken` will be `?.` - defaults to '[' in transpile
179
+ */
180
+ openingSquare?: Token;
181
+ closingSquare?: Token;
182
+ questionDot?: Token;
183
+ };
144
184
  readonly range: Range;
145
- transpile(state: BrsTranspileState): (string | SourceNode)[];
185
+ transpile(state: BrsTranspileState): any[];
146
186
  walk(visitor: WalkVisitor, options: WalkOptions): void;
147
187
  getType(options: GetTypeOptions): BscType;
148
188
  }
149
189
  export declare class GroupingExpression extends Expression {
190
+ constructor(options: {
191
+ leftParen?: Token;
192
+ rightParen?: Token;
193
+ expression: Expression;
194
+ });
150
195
  readonly tokens: {
151
- left: Token;
152
- right: Token;
196
+ leftParen?: Token;
197
+ rightParen?: Token;
153
198
  };
154
199
  expression: Expression;
155
- constructor(tokens: {
156
- left: Token;
157
- right: Token;
158
- }, expression: Expression);
159
200
  readonly kind = AstNodeKind.GroupingExpression;
160
201
  readonly range: Range;
161
202
  transpile(state: BrsTranspileState): TranspileResult;
@@ -163,8 +204,12 @@ export declare class GroupingExpression extends Expression {
163
204
  getType(options: GetTypeOptions): BscType;
164
205
  }
165
206
  export declare class LiteralExpression extends Expression {
166
- token: Token;
167
- constructor(token: Token);
207
+ constructor(options: {
208
+ value: Token;
209
+ });
210
+ tokens: {
211
+ value: Token;
212
+ };
168
213
  readonly kind = AstNodeKind.LiteralExpression;
169
214
  get range(): Range;
170
215
  getType(options?: GetTypeOptions): DynamicType | import("../types").ObjectType | StringType | import("../types").IntegerType | import("../types").BooleanType | import("../types").FloatType | import("../types").DoubleType | import("../types").LongIntegerType | VoidType | import("../types/FunctionType").FunctionType;
@@ -176,23 +221,32 @@ export declare class LiteralExpression extends Expression {
176
221
  * during template string transpile by identifying these expressions explicitly and skipping the bslib_toString around them
177
222
  */
178
223
  export declare class EscapedCharCodeLiteralExpression extends Expression {
179
- readonly token: Token & {
180
- charCode: number;
181
- };
182
- constructor(token: Token & {
183
- charCode: number;
224
+ constructor(options: {
225
+ value: Token & {
226
+ charCode: number;
227
+ };
184
228
  });
185
229
  readonly kind = AstNodeKind.EscapedCharCodeLiteralExpression;
230
+ tokens: {
231
+ value: Token & {
232
+ charCode: number;
233
+ };
234
+ };
186
235
  readonly range: Range;
187
236
  transpile(state: BrsTranspileState): SourceNode[];
188
237
  walk(visitor: WalkVisitor, options: WalkOptions): void;
189
238
  }
190
239
  export declare class ArrayLiteralExpression extends Expression {
240
+ constructor(options: {
241
+ elements: Array<Expression | CommentStatement>;
242
+ open?: Token;
243
+ close?: Token;
244
+ });
191
245
  readonly elements: Array<Expression | CommentStatement>;
192
- readonly open: Token;
193
- readonly close: Token;
194
- readonly hasSpread: boolean;
195
- constructor(elements: Array<Expression | CommentStatement>, open: Token, close: Token, hasSpread?: boolean);
246
+ readonly tokens: {
247
+ open?: Token;
248
+ close?: Token;
249
+ };
196
250
  readonly kind = AstNodeKind.ArrayLiteralExpression;
197
251
  readonly range: Range;
198
252
  transpile(state: BrsTranspileState): any[];
@@ -200,25 +254,37 @@ export declare class ArrayLiteralExpression extends Expression {
200
254
  getType(options: GetTypeOptions): BscType;
201
255
  }
202
256
  export declare class AAMemberExpression extends Expression {
203
- keyToken: Token;
204
- colonToken: Token;
205
- /** The expression evaluated to determine the member's initial value. */
206
- value: Expression;
207
- constructor(keyToken: Token, colonToken: Token,
208
- /** The expression evaluated to determine the member's initial value. */
209
- value: Expression);
257
+ constructor(options: {
258
+ key: Token;
259
+ colon?: Token;
260
+ /** The expression evaluated to determine the member's initial value. */
261
+ value: Expression;
262
+ comma?: Token;
263
+ });
210
264
  readonly kind = AstNodeKind.AAMemberExpression;
211
265
  range: Range;
212
- commaToken?: Token;
266
+ tokens: {
267
+ key: Token;
268
+ colon?: Token;
269
+ comma?: Token;
270
+ };
271
+ /** The expression evaluated to determine the member's initial value. */
272
+ value: Expression;
213
273
  transpile(state: BrsTranspileState): any[];
214
274
  walk(visitor: WalkVisitor, options: WalkOptions): void;
215
275
  getType(options: GetTypeOptions): BscType;
216
276
  }
217
277
  export declare class AALiteralExpression extends Expression {
278
+ constructor(options: {
279
+ elements: Array<AAMemberExpression | CommentStatement>;
280
+ open?: Token;
281
+ close?: Token;
282
+ });
218
283
  readonly elements: Array<AAMemberExpression | CommentStatement>;
219
- readonly open: Token;
220
- readonly close: Token;
221
- constructor(elements: Array<AAMemberExpression | CommentStatement>, open: Token, close: Token);
284
+ readonly tokens: {
285
+ open?: Token;
286
+ close?: Token;
287
+ };
222
288
  readonly kind = AstNodeKind.AALiteralExpression;
223
289
  readonly range: Range;
224
290
  transpile(state: BrsTranspileState): any[];
@@ -226,30 +292,43 @@ export declare class AALiteralExpression extends Expression {
226
292
  getType(options: GetTypeOptions): BscType;
227
293
  }
228
294
  export declare class UnaryExpression extends Expression {
229
- operator: Token;
230
- right: Expression;
231
- constructor(operator: Token, right: Expression);
295
+ constructor(options: {
296
+ operator: Token;
297
+ right: Expression;
298
+ });
232
299
  readonly kind = AstNodeKind.UnaryExpression;
233
300
  readonly range: Range;
301
+ tokens: {
302
+ operator: Token;
303
+ };
304
+ right: Expression;
234
305
  transpile(state: BrsTranspileState): (string | SourceNode)[];
235
306
  walk(visitor: WalkVisitor, options: WalkOptions): void;
236
307
  getType(options: GetTypeOptions): BscType;
237
308
  }
238
309
  export declare class VariableExpression extends Expression {
239
- readonly name: Identifier;
240
- constructor(name: Identifier);
310
+ constructor(options: {
311
+ name: Identifier;
312
+ });
313
+ readonly tokens: {
314
+ name: Identifier;
315
+ };
241
316
  readonly kind = AstNodeKind.VariableExpression;
242
317
  readonly range: Range;
243
- getName(parseMode: ParseMode): string;
318
+ getName(parseMode?: ParseMode): string;
244
319
  transpile(state: BrsTranspileState): any[];
245
320
  walk(visitor: WalkVisitor, options: WalkOptions): void;
246
321
  getType(options: GetTypeOptions): BscType;
247
322
  }
248
323
  export declare class SourceLiteralExpression extends Expression {
249
- readonly token: Token;
250
- constructor(token: Token);
324
+ constructor(options: {
325
+ value: Token;
326
+ });
251
327
  readonly range: Range;
252
328
  readonly kind = AstNodeKind.SourceLiteralExpression;
329
+ readonly tokens: {
330
+ value: Token;
331
+ };
253
332
  /**
254
333
  * Find the index of the function in its parent
255
334
  */
@@ -264,11 +343,16 @@ export declare class SourceLiteralExpression extends Expression {
264
343
  * do more type checking.
265
344
  */
266
345
  export declare class NewExpression extends Expression {
267
- readonly newKeyword: Token;
268
- readonly call: CallExpression;
269
- constructor(newKeyword: Token, call: CallExpression);
346
+ constructor(options: {
347
+ new?: Token;
348
+ call: CallExpression;
349
+ });
270
350
  readonly kind = AstNodeKind.NewExpression;
271
351
  readonly range: Range;
352
+ readonly tokens: {
353
+ new?: Token;
354
+ };
355
+ readonly call: CallExpression;
272
356
  /**
273
357
  * The name of the class to initialize (with optional namespace prefixed)
274
358
  */
@@ -278,13 +362,22 @@ export declare class NewExpression extends Expression {
278
362
  getType(options: GetTypeOptions): any;
279
363
  }
280
364
  export declare class CallfuncExpression extends Expression {
365
+ constructor(options: {
366
+ callee: Expression;
367
+ operator?: Token;
368
+ methodName: Identifier;
369
+ openingParen?: Token;
370
+ args?: Expression[];
371
+ closingParen?: Token;
372
+ });
281
373
  readonly callee: Expression;
282
- readonly operator: Token;
283
- readonly methodName: Identifier;
284
- readonly openingParen: Token;
285
374
  readonly args: Expression[];
286
- readonly closingParen: Token;
287
- constructor(callee: Expression, operator: Token, methodName: Identifier, openingParen: Token, args: Expression[], closingParen: Token);
375
+ readonly tokens: {
376
+ operator: Token;
377
+ methodName: Identifier;
378
+ openingParen?: Token;
379
+ closingParen?: Token;
380
+ };
288
381
  readonly kind = AstNodeKind.CallfuncExpression;
289
382
  readonly range: Range;
290
383
  transpile(state: BrsTranspileState): any[];
@@ -296,42 +389,65 @@ export declare class CallfuncExpression extends Expression {
296
389
  * This is a single expression that represents the string contatenation of all parts of a single quasi.
297
390
  */
298
391
  export declare class TemplateStringQuasiExpression extends Expression {
392
+ constructor(options: {
393
+ expressions: Array<LiteralExpression | EscapedCharCodeLiteralExpression>;
394
+ });
299
395
  readonly expressions: Array<LiteralExpression | EscapedCharCodeLiteralExpression>;
300
- constructor(expressions: Array<LiteralExpression | EscapedCharCodeLiteralExpression>);
301
396
  readonly kind = AstNodeKind.TemplateStringQuasiExpression;
302
397
  readonly range: Range;
303
398
  transpile(state: BrsTranspileState, skipEmptyStrings?: boolean): any[];
304
399
  walk(visitor: WalkVisitor, options: WalkOptions): void;
305
400
  }
306
401
  export declare class TemplateStringExpression extends Expression {
307
- readonly openingBacktick: Token;
402
+ constructor(options: {
403
+ openingBacktick?: Token;
404
+ quasis: TemplateStringQuasiExpression[];
405
+ expressions: Expression[];
406
+ closingBacktick?: Token;
407
+ });
408
+ readonly kind = AstNodeKind.TemplateStringExpression;
409
+ readonly tokens: {
410
+ openingBacktick?: Token;
411
+ closingBacktick?: Token;
412
+ };
308
413
  readonly quasis: TemplateStringQuasiExpression[];
309
414
  readonly expressions: Expression[];
310
- readonly closingBacktick: Token;
311
- constructor(openingBacktick: Token, quasis: TemplateStringQuasiExpression[], expressions: Expression[], closingBacktick: Token);
312
- readonly kind = AstNodeKind.TemplateStringExpression;
313
415
  readonly range: Range;
314
416
  getType(options: GetTypeOptions): StringType;
315
417
  transpile(state: BrsTranspileState): any[];
316
418
  walk(visitor: WalkVisitor, options: WalkOptions): void;
317
419
  }
318
420
  export declare class TaggedTemplateStringExpression extends Expression {
319
- readonly tagName: Identifier;
320
- readonly openingBacktick: Token;
421
+ constructor(options: {
422
+ tagName: Identifier;
423
+ openingBacktick?: Token;
424
+ quasis: TemplateStringQuasiExpression[];
425
+ expressions: Expression[];
426
+ closingBacktick?: Token;
427
+ });
428
+ readonly kind = AstNodeKind.TaggedTemplateStringExpression;
429
+ tokens: {
430
+ tagName: Identifier;
431
+ openingBacktick?: Token;
432
+ closingBacktick?: Token;
433
+ };
321
434
  readonly quasis: TemplateStringQuasiExpression[];
322
435
  readonly expressions: Expression[];
323
- readonly closingBacktick: Token;
324
- constructor(tagName: Identifier, openingBacktick: Token, quasis: TemplateStringQuasiExpression[], expressions: Expression[], closingBacktick: Token);
325
- readonly kind = AstNodeKind.TaggedTemplateStringExpression;
326
436
  readonly range: Range;
327
437
  transpile(state: BrsTranspileState): any[];
328
438
  walk(visitor: WalkVisitor, options: WalkOptions): void;
329
439
  }
330
440
  export declare class AnnotationExpression extends Expression {
331
- readonly atToken: Token;
332
- readonly nameToken: Token;
333
- constructor(atToken: Token, nameToken: Token);
441
+ constructor(options: {
442
+ at?: Token;
443
+ name: Token;
444
+ call?: CallExpression;
445
+ });
334
446
  readonly kind = AstNodeKind.AnnotationExpression;
447
+ readonly tokens: {
448
+ at: Token;
449
+ name: Token;
450
+ };
335
451
  get range(): Range;
336
452
  name: string;
337
453
  call: CallExpression;
@@ -346,35 +462,49 @@ export declare class AnnotationExpression extends Expression {
346
462
  getTypedef(state: BrsTranspileState): (string | SourceNode)[];
347
463
  }
348
464
  export declare class TernaryExpression extends Expression {
465
+ constructor(options: {
466
+ test: Expression;
467
+ questionMark?: Token;
468
+ consequent?: Expression;
469
+ colon?: Token;
470
+ alternate?: Expression;
471
+ });
472
+ readonly kind = AstNodeKind.TernaryExpression;
473
+ range: Range;
474
+ readonly tokens: {
475
+ questionMark?: Token;
476
+ colon?: Token;
477
+ };
349
478
  readonly test: Expression;
350
- readonly questionMarkToken: Token;
351
479
  readonly consequent?: Expression;
352
- readonly colonToken?: Token;
353
480
  readonly alternate?: Expression;
354
- constructor(test: Expression, questionMarkToken: Token, consequent?: Expression, colonToken?: Token, alternate?: Expression);
355
- readonly kind = AstNodeKind.TernaryExpression;
356
- range: Range;
357
481
  transpile(state: BrsTranspileState): any[];
358
482
  walk(visitor: WalkVisitor, options: WalkOptions): void;
359
483
  }
360
484
  export declare class NullCoalescingExpression extends Expression {
361
- consequent: Expression;
362
- questionQuestionToken: Token;
363
- alternate: Expression;
364
- constructor(consequent: Expression, questionQuestionToken: Token, alternate: Expression);
485
+ constructor(options: {
486
+ consequent: Expression;
487
+ questionQuestion?: Token;
488
+ alternate: Expression;
489
+ });
365
490
  readonly kind = AstNodeKind.NullCoalescingExpression;
366
491
  readonly range: Range;
492
+ tokens: {
493
+ questionQuestion?: Token;
494
+ };
495
+ consequent: Expression;
496
+ alternate: Expression;
367
497
  transpile(state: BrsTranspileState): any[];
368
498
  walk(visitor: WalkVisitor, options: WalkOptions): void;
369
499
  }
370
500
  export declare class RegexLiteralExpression extends Expression {
371
- tokens: {
372
- regexLiteral: Token;
373
- };
374
- constructor(tokens: {
501
+ constructor(options: {
375
502
  regexLiteral: Token;
376
503
  });
377
504
  readonly kind = AstNodeKind.RegexLiteralExpression;
505
+ tokens: {
506
+ regexLiteral: Token;
507
+ };
378
508
  get range(): Range;
379
509
  transpile(state: BrsTranspileState): TranspileResult;
380
510
  walk(visitor: WalkVisitor, options: WalkOptions): void;
@@ -383,16 +513,17 @@ declare type ExpressionValue = string | number | boolean | Expression | Expressi
383
513
  [key: string]: ExpressionValue;
384
514
  };
385
515
  export declare class TypeExpression extends Expression implements TypedefProvider {
516
+ constructor(options: {
517
+ /**
518
+ * The standard AST expression that represents the type for this TypeExpression.
519
+ */
520
+ expression: Expression;
521
+ });
522
+ readonly kind = AstNodeKind.TypeExpression;
386
523
  /**
387
524
  * The standard AST expression that represents the type for this TypeExpression.
388
525
  */
389
526
  expression: Expression;
390
- constructor(
391
- /**
392
- * The standard AST expression that represents the type for this TypeExpression.
393
- */
394
- expression: Expression);
395
- readonly kind = AstNodeKind.TypeExpression;
396
527
  range: Range;
397
528
  transpile(state: BrsTranspileState): TranspileResult;
398
529
  walk(visitor: WalkVisitor, options: WalkOptions): void;
@@ -402,21 +533,33 @@ export declare class TypeExpression extends Expression implements TypedefProvide
402
533
  getNameParts(): string[];
403
534
  }
404
535
  export declare class TypeCastExpression extends Expression {
536
+ constructor(options: {
537
+ obj: Expression;
538
+ as?: Token;
539
+ typeExpression?: TypeExpression;
540
+ });
541
+ readonly kind = AstNodeKind.TypeCastExpression;
405
542
  obj: Expression;
406
- asToken?: Token;
543
+ tokens: {
544
+ as?: Token;
545
+ };
407
546
  typeExpression?: TypeExpression;
408
- constructor(obj: Expression, asToken?: Token, typeExpression?: TypeExpression);
409
- readonly kind = AstNodeKind.TypeCastExpression;
410
547
  range: Range;
411
548
  transpile(state: BrsTranspileState): TranspileResult;
412
549
  walk(visitor: WalkVisitor, options: WalkOptions): void;
413
550
  getType(options: GetTypeOptions): BscType;
414
551
  }
415
552
  export declare class TypedArrayExpression extends Expression {
553
+ constructor(options: {
554
+ innerType: Expression;
555
+ leftBracket?: Token;
556
+ rightBracket?: Token;
557
+ });
558
+ tokens: {
559
+ leftBracket?: Token;
560
+ rightBracket?: Token;
561
+ };
416
562
  innerType: Expression;
417
- leftBracket: Token;
418
- rightBracket: Token;
419
- constructor(innerType: Expression, leftBracket: Token, rightBracket: Token);
420
563
  readonly kind = AstNodeKind.TypedArrayExpression;
421
564
  range: Range;
422
565
  transpile(state: BrsTranspileState): TranspileResult;