brighterscript 1.0.0-alpha.15 → 1.0.0-alpha.18
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.
- package/CHANGELOG.md +83 -0
- package/README.md +28 -9
- package/dist/DependencyGraph.js +5 -4
- package/dist/DependencyGraph.js.map +1 -1
- package/dist/DiagnosticMessages.d.ts +16 -1
- package/dist/DiagnosticMessages.js +15 -0
- package/dist/DiagnosticMessages.js.map +1 -1
- package/dist/Logger.js +5 -5
- package/dist/Logger.js.map +1 -1
- package/dist/Program.d.ts +2 -2
- package/dist/Program.js +5 -3
- package/dist/Program.js.map +1 -1
- package/dist/ProgramBuilder.js +1 -1
- package/dist/ProgramBuilder.js.map +1 -1
- package/dist/Scope.d.ts +58 -8
- package/dist/Scope.js +142 -23
- package/dist/Scope.js.map +1 -1
- package/dist/XmlScope.js +1 -1
- package/dist/XmlScope.js.map +1 -1
- package/dist/astUtils/creators.d.ts +10 -6
- package/dist/astUtils/creators.js +93 -12
- package/dist/astUtils/creators.js.map +1 -1
- package/dist/astUtils/creators.spec.js +10 -0
- package/dist/astUtils/creators.spec.js.map +1 -1
- package/dist/astUtils/reflection.d.ts +8 -3
- package/dist/astUtils/reflection.js +18 -2
- package/dist/astUtils/reflection.js.map +1 -1
- package/dist/astUtils/reflection.spec.js +15 -4
- package/dist/astUtils/reflection.spec.js.map +1 -1
- package/dist/astUtils/visitors.d.ts +4 -1
- package/dist/astUtils/visitors.js.map +1 -1
- package/dist/astUtils/visitors.spec.js +2 -0
- package/dist/astUtils/visitors.spec.js.map +1 -1
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +2 -2
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -1
- package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js +7 -3
- package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js.map +1 -1
- package/dist/{types/FunctionType.spec.d.ts → bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.d.ts} +0 -0
- package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js +32 -0
- package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js.map +1 -0
- package/dist/diagnosticUtils.js +3 -3
- package/dist/diagnosticUtils.js.map +1 -1
- package/dist/examples/plugins/removePrint.js +12 -14
- package/dist/examples/plugins/removePrint.js.map +1 -1
- package/dist/files/BrsFile.Class.spec.js +3 -3
- package/dist/files/BrsFile.Class.spec.js.map +1 -1
- package/dist/files/BrsFile.d.ts +2 -2
- package/dist/files/BrsFile.js +99 -63
- package/dist/files/BrsFile.js.map +1 -1
- package/dist/files/BrsFile.spec.js +187 -67
- package/dist/files/BrsFile.spec.js.map +1 -1
- package/dist/files/XmlFile.js +3 -3
- package/dist/files/XmlFile.js.map +1 -1
- package/dist/globalCallables.js +79 -79
- package/dist/globalCallables.js.map +1 -1
- package/dist/interfaces.d.ts +43 -4
- package/dist/parser/Expression.d.ts +91 -22
- package/dist/parser/Expression.js +191 -57
- package/dist/parser/Expression.js.map +1 -1
- package/dist/parser/Parser.Class.spec.js +6 -6
- package/dist/parser/Parser.Class.spec.js.map +1 -1
- package/dist/parser/Parser.d.ts +3 -6
- package/dist/parser/Parser.js +166 -155
- package/dist/parser/Parser.js.map +1 -1
- package/dist/parser/Parser.spec.js +61 -6
- package/dist/parser/Parser.spec.js.map +1 -1
- package/dist/parser/SGTypes.d.ts +2 -2
- package/dist/parser/SGTypes.js +2 -2
- package/dist/parser/SGTypes.js.map +1 -1
- package/dist/parser/Statement.d.ts +85 -57
- package/dist/parser/Statement.js +228 -173
- package/dist/parser/Statement.js.map +1 -1
- package/dist/parser/tests/statement/For.spec.d.ts +1 -0
- package/dist/parser/tests/statement/For.spec.js +46 -0
- package/dist/parser/tests/statement/For.spec.js.map +1 -0
- package/dist/parser/tests/statement/ForEach.spec.d.ts +1 -0
- package/dist/parser/tests/statement/ForEach.spec.js +37 -0
- package/dist/parser/tests/statement/ForEach.spec.js.map +1 -0
- package/dist/parser/tests/statement/InterfaceStatement.spec.js +181 -0
- package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/TryCatch.spec.js +7 -5
- package/dist/parser/tests/statement/TryCatch.spec.js.map +1 -1
- package/dist/types/ArrayType.js +4 -1
- package/dist/types/ArrayType.js.map +1 -1
- package/dist/types/ArrayType.spec.js +3 -1
- package/dist/types/ArrayType.spec.js.map +1 -1
- package/dist/types/BooleanType.d.ts +4 -2
- package/dist/types/BooleanType.js +7 -2
- package/dist/types/BooleanType.js.map +1 -1
- package/dist/types/BooleanType.spec.js +3 -1
- package/dist/types/BooleanType.spec.js.map +1 -1
- package/dist/types/BscType.d.ts +1 -0
- package/dist/types/BscType.js +16 -1
- package/dist/types/BscType.js.map +1 -1
- package/dist/types/CustomType.js +10 -0
- package/dist/types/CustomType.js.map +1 -1
- package/dist/types/DoubleType.d.ts +2 -0
- package/dist/types/DoubleType.js +7 -2
- package/dist/types/DoubleType.js.map +1 -1
- package/dist/types/DoubleType.spec.js +3 -1
- package/dist/types/DoubleType.spec.js.map +1 -1
- package/dist/types/DynamicType.d.ts +2 -0
- package/dist/types/DynamicType.js +5 -1
- package/dist/types/DynamicType.js.map +1 -1
- package/dist/types/FloatType.d.ts +3 -1
- package/dist/types/FloatType.js +7 -2
- package/dist/types/FloatType.js.map +1 -1
- package/dist/types/FloatType.spec.js +2 -0
- package/dist/types/FloatType.spec.js.map +1 -1
- package/dist/types/FunctionType.d.ts +3 -21
- package/dist/types/FunctionType.js +8 -65
- package/dist/types/FunctionType.js.map +1 -1
- package/dist/types/IntegerType.d.ts +3 -1
- package/dist/types/IntegerType.js +7 -2
- package/dist/types/IntegerType.js.map +1 -1
- package/dist/types/IntegerType.spec.js +3 -1
- package/dist/types/IntegerType.spec.js.map +1 -1
- package/dist/types/InterfaceType.d.ts +13 -10
- package/dist/types/InterfaceType.js +33 -29
- package/dist/types/InterfaceType.js.map +1 -1
- package/dist/types/InterfaceType.spec.js +36 -16
- package/dist/types/InterfaceType.spec.js.map +1 -1
- package/dist/types/InvalidType.d.ts +4 -2
- package/dist/types/InvalidType.js +7 -2
- package/dist/types/InvalidType.js.map +1 -1
- package/dist/types/InvalidType.spec.js +2 -0
- package/dist/types/InvalidType.spec.js.map +1 -1
- package/dist/types/LazyType.js +4 -0
- package/dist/types/LazyType.js.map +1 -1
- package/dist/types/LongIntegerType.d.ts +3 -1
- package/dist/types/LongIntegerType.js +7 -2
- package/dist/types/LongIntegerType.js.map +1 -1
- package/dist/types/LongIntegerType.spec.js +2 -0
- package/dist/types/LongIntegerType.spec.js.map +1 -1
- package/dist/types/ObjectType.d.ts +2 -1
- package/dist/types/ObjectType.js +4 -2
- package/dist/types/ObjectType.js.map +1 -1
- package/dist/types/StringType.d.ts +4 -2
- package/dist/types/StringType.js +7 -2
- package/dist/types/StringType.js.map +1 -1
- package/dist/types/StringType.spec.js +2 -0
- package/dist/types/StringType.spec.js.map +1 -1
- package/dist/types/TypedFunctionType.d.ts +28 -0
- package/dist/types/TypedFunctionType.js +88 -0
- package/dist/types/TypedFunctionType.js.map +1 -0
- package/dist/types/TypedFunctionType.spec.d.ts +1 -0
- package/dist/types/TypedFunctionType.spec.js +37 -0
- package/dist/types/TypedFunctionType.spec.js.map +1 -0
- package/dist/types/UninitializedType.js.map +1 -1
- package/dist/types/VoidType.d.ts +4 -2
- package/dist/types/VoidType.js +5 -1
- package/dist/types/VoidType.js.map +1 -1
- package/dist/types/helpers.js +7 -2
- package/dist/types/helpers.js.map +1 -1
- package/dist/util.d.ts +2 -2
- package/dist/util.js +39 -46
- package/dist/util.js.map +1 -1
- package/dist/validators/ClassValidator.d.ts +14 -1
- package/dist/validators/ClassValidator.js +129 -82
- package/dist/validators/ClassValidator.js.map +1 -1
- package/package.json +2 -3
- package/dist/types/FunctionType.spec.js +0 -29
- package/dist/types/FunctionType.spec.js.map +0 -1
|
@@ -1,18 +1,18 @@
|
|
|
1
1
|
import type { Token, Identifier } from '../lexer/Token';
|
|
2
2
|
import { TokenKind } from '../lexer/TokenKind';
|
|
3
|
-
import type { Expression, NamespacedVariableNameExpression, FunctionExpression, AnnotationExpression,
|
|
3
|
+
import type { Expression, NamespacedVariableNameExpression, FunctionExpression, AnnotationExpression, TypeExpression } 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
8
|
import { InternalWalkMode } from '../astUtils/visitors';
|
|
9
|
-
import type { TranspileResult, TypedefProvider } from '../interfaces';
|
|
9
|
+
import type { TranspileResult, TypedefProvider, MemberSymbolTableProvider, InheritableStatement } from '../interfaces';
|
|
10
10
|
import { DynamicType } from '../types/DynamicType';
|
|
11
|
-
import type { BscType, SymbolContainer } from '../types/BscType';
|
|
12
11
|
import type { SourceNode } from 'source-map';
|
|
13
12
|
import type { TranspileState } from './TranspileState';
|
|
14
13
|
import { SymbolTable } from '../SymbolTable';
|
|
15
14
|
import { CustomType } from '../types/CustomType';
|
|
15
|
+
import { InterfaceType } from '../types/InterfaceType';
|
|
16
16
|
/**
|
|
17
17
|
* A BrightScript statement
|
|
18
18
|
*/
|
|
@@ -20,7 +20,7 @@ export declare abstract class Statement {
|
|
|
20
20
|
/**
|
|
21
21
|
* The starting and ending location of the statement.
|
|
22
22
|
**/
|
|
23
|
-
abstract range: Range;
|
|
23
|
+
abstract readonly range: Range;
|
|
24
24
|
/**
|
|
25
25
|
* Statement annotations
|
|
26
26
|
*/
|
|
@@ -51,7 +51,7 @@ export declare class EmptyStatement extends Statement {
|
|
|
51
51
|
export declare class Body extends Statement implements TypedefProvider {
|
|
52
52
|
statements: Statement[];
|
|
53
53
|
constructor(statements?: Statement[]);
|
|
54
|
-
|
|
54
|
+
readonly range: Range;
|
|
55
55
|
transpile(state: BrsTranspileState): TranspileResult;
|
|
56
56
|
getTypedef(state: BrsTranspileState): any[];
|
|
57
57
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
@@ -84,7 +84,7 @@ export declare class ExpressionStatement extends Statement {
|
|
|
84
84
|
export declare class CommentStatement extends Statement implements Expression, TypedefProvider {
|
|
85
85
|
comments: Token[];
|
|
86
86
|
constructor(comments: Token[]);
|
|
87
|
-
range: Range;
|
|
87
|
+
readonly range: Range;
|
|
88
88
|
get text(): string;
|
|
89
89
|
transpile(state: BrsTranspileState): any[];
|
|
90
90
|
getTypedef(state: TranspileState): any[];
|
|
@@ -117,7 +117,9 @@ export declare class FunctionStatement extends Statement implements TypedefProvi
|
|
|
117
117
|
func: FunctionExpression;
|
|
118
118
|
namespaceName: NamespacedVariableNameExpression;
|
|
119
119
|
constructor(name: Identifier, func: FunctionExpression, namespaceName: NamespacedVariableNameExpression);
|
|
120
|
-
|
|
120
|
+
get range(): Range;
|
|
121
|
+
cacheRange(): Range;
|
|
122
|
+
protected _range: Range;
|
|
121
123
|
/**
|
|
122
124
|
* Get the name of this expression based on the parse mode
|
|
123
125
|
*/
|
|
@@ -190,7 +192,7 @@ export declare class DimStatement extends Statement {
|
|
|
190
192
|
dimensions?: Expression[];
|
|
191
193
|
closingSquare?: Token;
|
|
192
194
|
constructor(dimToken: Token, identifier?: Identifier, openingSquare?: Token, dimensions?: Expression[], closingSquare?: Token);
|
|
193
|
-
range: Range;
|
|
195
|
+
readonly range: Range;
|
|
194
196
|
transpile(state: BrsTranspileState): (string | SourceNode)[];
|
|
195
197
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
196
198
|
}
|
|
@@ -299,7 +301,9 @@ export declare class DottedSetStatement extends Statement {
|
|
|
299
301
|
readonly obj: Expression;
|
|
300
302
|
readonly name: Identifier;
|
|
301
303
|
readonly value: Expression;
|
|
302
|
-
|
|
304
|
+
dot: Token;
|
|
305
|
+
operator: Token;
|
|
306
|
+
constructor(obj: Expression, name: Identifier, value: Expression, dot: Token, operator: Token);
|
|
303
307
|
readonly range: Range;
|
|
304
308
|
transpile(state: BrsTranspileState): TranspileResult;
|
|
305
309
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
@@ -310,7 +314,8 @@ export declare class IndexedSetStatement extends Statement {
|
|
|
310
314
|
readonly value: Expression;
|
|
311
315
|
readonly openingSquare: Token;
|
|
312
316
|
readonly closingSquare: Token;
|
|
313
|
-
|
|
317
|
+
operator: Token;
|
|
318
|
+
constructor(obj: Expression, index: Expression, value: Expression, openingSquare: Token, closingSquare: Token, operator: Token);
|
|
314
319
|
readonly range: Range;
|
|
315
320
|
transpile(state: BrsTranspileState): TranspileResult;
|
|
316
321
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
@@ -337,11 +342,13 @@ export declare class NamespaceStatement extends Statement implements TypedefProv
|
|
|
337
342
|
readonly parentSymbolTable?: SymbolTable;
|
|
338
343
|
readonly symbolTable: SymbolTable;
|
|
339
344
|
constructor(keyword: Token, nameExpression: NamespacedVariableNameExpression, body: Body, endKeyword: Token, parentSymbolTable?: SymbolTable);
|
|
345
|
+
get range(): Range;
|
|
346
|
+
cacheRange(): Range;
|
|
347
|
+
private _range;
|
|
340
348
|
/**
|
|
341
349
|
* The string name for this namespace
|
|
342
350
|
*/
|
|
343
351
|
name: string;
|
|
344
|
-
get range(): Range;
|
|
345
352
|
getName(parseMode: ParseMode): string;
|
|
346
353
|
transpile(state: BrsTranspileState): TranspileResult;
|
|
347
354
|
getTypedef(state: BrsTranspileState): string[];
|
|
@@ -352,7 +359,7 @@ export declare class ImportStatement extends Statement implements TypedefProvide
|
|
|
352
359
|
readonly filePathToken: Token;
|
|
353
360
|
constructor(importToken: Token, filePathToken: Token);
|
|
354
361
|
filePath: string;
|
|
355
|
-
range: Range;
|
|
362
|
+
readonly range: Range;
|
|
356
363
|
transpile(state: BrsTranspileState): (string | SourceNode)[];
|
|
357
364
|
/**
|
|
358
365
|
* Get the typedef for this statement
|
|
@@ -360,10 +367,12 @@ export declare class ImportStatement extends Statement implements TypedefProvide
|
|
|
360
367
|
getTypedef(state: BrsTranspileState): string[];
|
|
361
368
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
362
369
|
}
|
|
363
|
-
export declare class InterfaceStatement extends Statement implements TypedefProvider {
|
|
370
|
+
export declare class InterfaceStatement extends Statement implements TypedefProvider, MemberSymbolTableProvider {
|
|
371
|
+
name: Identifier;
|
|
364
372
|
parentInterfaceName: NamespacedVariableNameExpression;
|
|
365
373
|
body: Statement[];
|
|
366
374
|
namespaceName: NamespacedVariableNameExpression;
|
|
375
|
+
readonly memberTable: SymbolTable;
|
|
367
376
|
constructor(interfaceToken: Token, name: Identifier, extendsToken: Token, parentInterfaceName: NamespacedVariableNameExpression, body: Statement[], endInterfaceToken: Token, namespaceName: NamespacedVariableNameExpression);
|
|
368
377
|
tokens: {
|
|
369
378
|
interface: Token;
|
|
@@ -371,53 +380,48 @@ export declare class InterfaceStatement extends Statement implements TypedefProv
|
|
|
371
380
|
extends: Token;
|
|
372
381
|
endInterface: Token;
|
|
373
382
|
};
|
|
374
|
-
range: Range;
|
|
375
|
-
|
|
376
|
-
|
|
383
|
+
readonly range: Range;
|
|
384
|
+
memberMap: Record<string, InterfaceMemberStatement>;
|
|
385
|
+
methods: InterfaceMethodStatement[];
|
|
386
|
+
fields: InterfaceFieldStatement[];
|
|
377
387
|
/**
|
|
378
388
|
* The name of the interface WITH its leading namespace (if applicable)
|
|
379
389
|
*/
|
|
380
|
-
|
|
390
|
+
getName(parseMode: ParseMode): string;
|
|
391
|
+
buildSymbolTable(parentIface?: InheritableStatement): void;
|
|
392
|
+
hasParent(): boolean;
|
|
393
|
+
getParentName(): boolean;
|
|
381
394
|
/**
|
|
382
|
-
*
|
|
395
|
+
* Gets an array of possible parent interface names, taking into account the namespace this interface was created under
|
|
396
|
+
* @returns array of possible parent interface names
|
|
383
397
|
*/
|
|
384
|
-
|
|
398
|
+
getPossibleFullParentNames(): string[];
|
|
399
|
+
getThisBscType(): InterfaceType;
|
|
385
400
|
transpile(state: BrsTranspileState): TranspileResult;
|
|
386
401
|
getTypedef(state: BrsTranspileState): TranspileResult;
|
|
387
402
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
388
403
|
}
|
|
389
404
|
export declare class InterfaceFieldStatement extends Statement implements TypedefProvider {
|
|
390
|
-
type
|
|
405
|
+
type?: TypeExpression;
|
|
406
|
+
namespaceName?: NamespacedVariableNameExpression;
|
|
391
407
|
transpile(state: BrsTranspileState): TranspileResult;
|
|
392
|
-
constructor(nameToken: Identifier, asToken: Token,
|
|
393
|
-
|
|
408
|
+
constructor(nameToken: Identifier, asToken: Token, type?: TypeExpression, namespaceName?: NamespacedVariableNameExpression);
|
|
409
|
+
readonly range: Range;
|
|
394
410
|
tokens: {
|
|
395
411
|
name: Identifier;
|
|
396
412
|
as: Token;
|
|
397
|
-
type: Token;
|
|
398
413
|
};
|
|
399
|
-
|
|
414
|
+
getType(): import("../types/BscType").BscType;
|
|
415
|
+
get name(): Identifier;
|
|
400
416
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
401
417
|
getTypedef(state: BrsTranspileState): (string | SourceNode)[];
|
|
402
418
|
}
|
|
403
|
-
export declare class InterfaceMethodStatement extends
|
|
404
|
-
params: FunctionParameterExpression[];
|
|
405
|
-
returnType?: BscType;
|
|
419
|
+
export declare class InterfaceMethodStatement extends FunctionStatement implements TypedefProvider {
|
|
406
420
|
transpile(state: BrsTranspileState): TranspileResult;
|
|
407
|
-
constructor(
|
|
408
|
-
get range(): Range;
|
|
409
|
-
tokens: {
|
|
410
|
-
functionType: Token;
|
|
411
|
-
name: Identifier;
|
|
412
|
-
leftParen: Token;
|
|
413
|
-
rightParen: Token;
|
|
414
|
-
as: Token;
|
|
415
|
-
returnType: Token;
|
|
416
|
-
};
|
|
421
|
+
constructor(name: Identifier, func: FunctionExpression);
|
|
417
422
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
418
|
-
getTypedef(state: BrsTranspileState): TranspileResult;
|
|
419
423
|
}
|
|
420
|
-
export declare class ClassStatement extends Statement implements TypedefProvider,
|
|
424
|
+
export declare class ClassStatement extends Statement implements TypedefProvider, MemberSymbolTableProvider {
|
|
421
425
|
readonly classKeyword: Token;
|
|
422
426
|
/**
|
|
423
427
|
* The name of the class (without namespace prefix)
|
|
@@ -441,9 +445,9 @@ export declare class ClassStatement extends Statement implements TypedefProvider
|
|
|
441
445
|
methods: ClassMethodStatement[];
|
|
442
446
|
fields: ClassFieldStatement[];
|
|
443
447
|
readonly range: Range;
|
|
444
|
-
|
|
445
|
-
getConstructorFunctionType(): import("../types/
|
|
446
|
-
buildSymbolTable(parentClass?:
|
|
448
|
+
getThisBscType(): CustomType;
|
|
449
|
+
getConstructorFunctionType(): import("../types/TypedFunctionType").TypedFunctionType;
|
|
450
|
+
buildSymbolTable(parentClass?: InheritableStatement): void;
|
|
447
451
|
transpile(state: BrsTranspileState): any[];
|
|
448
452
|
getTypedef(state: BrsTranspileState): TranspileResult;
|
|
449
453
|
/**
|
|
@@ -452,7 +456,7 @@ export declare class ClassStatement extends Statement implements TypedefProvider
|
|
|
452
456
|
* The base class is index 0, its child is index 1, and so on.
|
|
453
457
|
*/
|
|
454
458
|
getParentClassIndex(state: BrsTranspileState): number;
|
|
455
|
-
|
|
459
|
+
hasParent(): boolean;
|
|
456
460
|
/**
|
|
457
461
|
* Gets an array of possible parent class names, taking into account the namespace this class was created under
|
|
458
462
|
* @returns array of possible parent class names
|
|
@@ -469,6 +473,10 @@ export declare class ClassStatement extends Statement implements TypedefProvider
|
|
|
469
473
|
*/
|
|
470
474
|
private getConstructorFunction;
|
|
471
475
|
private getEmptyNewFunction;
|
|
476
|
+
/**
|
|
477
|
+
* Create an empty `new` function if class is missing it (simplifies transpile logic)
|
|
478
|
+
*/
|
|
479
|
+
private ensureConstructorFunctionExists;
|
|
472
480
|
/**
|
|
473
481
|
* Determine if the specified field was declared in one of the ancestor classes
|
|
474
482
|
*/
|
|
@@ -488,10 +496,11 @@ export declare class ClassStatement extends Statement implements TypedefProvider
|
|
|
488
496
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
489
497
|
}
|
|
490
498
|
export declare class ClassMethodStatement extends FunctionStatement {
|
|
491
|
-
|
|
492
|
-
|
|
499
|
+
accessModifier: Token;
|
|
500
|
+
override: Token;
|
|
493
501
|
constructor(accessModifier: Token, name: Identifier, func: FunctionExpression, override: Token);
|
|
494
|
-
|
|
502
|
+
get range(): Range;
|
|
503
|
+
cacheRange(): Range;
|
|
495
504
|
transpile(state: BrsTranspileState): any[];
|
|
496
505
|
getTypedef(state: BrsTranspileState): string[];
|
|
497
506
|
/**
|
|
@@ -509,30 +518,49 @@ export declare class ClassFieldStatement extends Statement implements TypedefPro
|
|
|
509
518
|
readonly accessModifier?: Token;
|
|
510
519
|
readonly name?: Identifier;
|
|
511
520
|
readonly as?: Token;
|
|
512
|
-
readonly type?:
|
|
521
|
+
readonly type?: TypeExpression;
|
|
513
522
|
readonly equal?: Token;
|
|
514
523
|
readonly initialValue?: Expression;
|
|
515
524
|
readonly namespaceName?: NamespacedVariableNameExpression;
|
|
516
|
-
constructor(accessModifier?: Token, name?: Identifier, as?: Token, type?:
|
|
525
|
+
constructor(accessModifier?: Token, name?: Identifier, as?: Token, type?: TypeExpression, equal?: Token, initialValue?: Expression, namespaceName?: NamespacedVariableNameExpression);
|
|
526
|
+
readonly range: Range;
|
|
517
527
|
/**
|
|
518
528
|
* Derive a ValueKind from the type token, or the initial value.
|
|
519
529
|
* Defaults to `DynamicType`
|
|
520
530
|
*/
|
|
521
|
-
getType(parseMode?: ParseMode): DynamicType |
|
|
522
|
-
readonly range: Range;
|
|
531
|
+
getType(parseMode?: ParseMode): DynamicType | import("../types/BscType").BscType;
|
|
523
532
|
transpile(state: BrsTranspileState): TranspileResult;
|
|
524
533
|
getTypedef(state: BrsTranspileState): any[];
|
|
525
534
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
526
535
|
}
|
|
527
536
|
export declare type ClassMemberStatement = ClassFieldStatement | ClassMethodStatement;
|
|
537
|
+
export declare type InterfaceMemberStatement = InterfaceFieldStatement | InterfaceMethodStatement;
|
|
538
|
+
export declare type MemberFieldStatement = ClassFieldStatement | InterfaceFieldStatement;
|
|
539
|
+
export declare type MemberMethodStatement = ClassMethodStatement | InterfaceMethodStatement;
|
|
528
540
|
export declare class TryCatchStatement extends Statement {
|
|
529
|
-
|
|
541
|
+
tokens: {
|
|
542
|
+
try: Token;
|
|
543
|
+
endTry?: Token;
|
|
544
|
+
};
|
|
530
545
|
tryBranch?: Block;
|
|
531
|
-
|
|
546
|
+
catchStatement?: CatchStatement;
|
|
547
|
+
constructor(tokens: {
|
|
548
|
+
try: Token;
|
|
549
|
+
endTry?: Token;
|
|
550
|
+
}, tryBranch?: Block, catchStatement?: CatchStatement);
|
|
551
|
+
readonly range: Range;
|
|
552
|
+
transpile(state: BrsTranspileState): TranspileResult;
|
|
553
|
+
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
554
|
+
}
|
|
555
|
+
export declare class CatchStatement extends Statement {
|
|
556
|
+
tokens: {
|
|
557
|
+
catch: Token;
|
|
558
|
+
};
|
|
532
559
|
exceptionVariable?: Identifier;
|
|
533
560
|
catchBranch?: Block;
|
|
534
|
-
|
|
535
|
-
|
|
561
|
+
constructor(tokens: {
|
|
562
|
+
catch: Token;
|
|
563
|
+
}, exceptionVariable?: Identifier, catchBranch?: Block);
|
|
536
564
|
get range(): Range;
|
|
537
565
|
transpile(state: BrsTranspileState): TranspileResult;
|
|
538
566
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
@@ -541,7 +569,7 @@ export declare class ThrowStatement extends Statement {
|
|
|
541
569
|
throwToken: Token;
|
|
542
570
|
expression?: Expression;
|
|
543
571
|
constructor(throwToken: Token, expression?: Expression);
|
|
544
|
-
range: Range;
|
|
572
|
+
readonly range: Range;
|
|
545
573
|
transpile(state: BrsTranspileState): (string | SourceNode)[];
|
|
546
574
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
547
575
|
}
|
|
@@ -558,7 +586,7 @@ export declare class EnumStatement extends Statement implements TypedefProvider
|
|
|
558
586
|
name: Identifier;
|
|
559
587
|
endEnum: Token;
|
|
560
588
|
}, body: Array<EnumMemberStatement | CommentStatement>, namespaceName?: NamespacedVariableNameExpression);
|
|
561
|
-
|
|
589
|
+
readonly range: Range;
|
|
562
590
|
getMembers(): EnumMemberStatement[];
|
|
563
591
|
/**
|
|
564
592
|
* Get a map of member names and their values.
|
|
@@ -588,11 +616,11 @@ export declare class EnumMemberStatement extends Statement implements TypedefPro
|
|
|
588
616
|
name: Identifier;
|
|
589
617
|
equal?: Token;
|
|
590
618
|
}, value?: Expression);
|
|
619
|
+
readonly range: Range;
|
|
591
620
|
/**
|
|
592
621
|
* The name of the member
|
|
593
622
|
*/
|
|
594
623
|
get name(): string;
|
|
595
|
-
get range(): Range;
|
|
596
624
|
transpile(state: BrsTranspileState): TranspileResult;
|
|
597
625
|
getTypedef(state: BrsTranspileState): (string | SourceNode)[];
|
|
598
626
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|