brighterscript 1.0.0-alpha.1 → 1.0.0-alpha.13
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 +362 -248
- package/README.md +2 -2
- package/bsconfig.schema.json +1 -1
- package/dist/CodeActionUtil.d.ts +11 -2
- package/dist/CodeActionUtil.js +17 -3
- package/dist/CodeActionUtil.js.map +1 -1
- package/dist/CommentFlagProcessor.d.ts +4 -4
- package/dist/CommentFlagProcessor.js +5 -3
- package/dist/CommentFlagProcessor.js.map +1 -1
- package/dist/DependencyGraph.js.map +1 -1
- package/dist/DiagnosticCollection.js +2 -2
- package/dist/DiagnosticCollection.js.map +1 -1
- package/dist/DiagnosticFilterer.js +3 -3
- package/dist/DiagnosticFilterer.js.map +1 -1
- package/dist/DiagnosticMessages.d.ts +15 -5
- package/dist/DiagnosticMessages.js +19 -9
- package/dist/DiagnosticMessages.js.map +1 -1
- package/dist/LanguageServer.d.ts +11 -10
- package/dist/LanguageServer.js +87 -58
- package/dist/LanguageServer.js.map +1 -1
- package/dist/Logger.d.ts +2 -0
- package/dist/Logger.js +5 -3
- package/dist/Logger.js.map +1 -1
- package/dist/Program.d.ts +76 -46
- package/dist/Program.js +254 -180
- package/dist/Program.js.map +1 -1
- package/dist/ProgramBuilder.d.ts +7 -7
- package/dist/ProgramBuilder.js +37 -43
- package/dist/ProgramBuilder.js.map +1 -1
- package/dist/Scope.d.ts +33 -23
- package/dist/Scope.js +222 -147
- package/dist/Scope.js.map +1 -1
- package/dist/SemanticTokenUtils.d.ts +14 -0
- package/dist/SemanticTokenUtils.js +81 -0
- package/dist/SemanticTokenUtils.js.map +1 -0
- package/dist/SymbolTable.d.ts +9 -3
- package/dist/SymbolTable.js +40 -13
- package/dist/SymbolTable.js.map +1 -1
- package/dist/XmlScope.d.ts +7 -2
- package/dist/XmlScope.js +67 -29
- package/dist/XmlScope.js.map +1 -1
- package/dist/astUtils/AstEditor.d.ts +27 -0
- package/dist/astUtils/AstEditor.js +97 -0
- package/dist/astUtils/AstEditor.js.map +1 -0
- package/dist/astUtils/AstEditor.spec.d.ts +1 -0
- package/dist/astUtils/AstEditor.spec.js +133 -0
- package/dist/astUtils/AstEditor.spec.js.map +1 -0
- package/dist/astUtils/creators.d.ts +15 -1
- package/dist/astUtils/creators.js +39 -9
- package/dist/astUtils/creators.js.map +1 -1
- package/dist/astUtils/creators.spec.js +4 -4
- package/dist/astUtils/creators.spec.js.map +1 -1
- package/dist/astUtils/index.js +1 -1
- package/dist/astUtils/reflection.d.ts +20 -8
- package/dist/astUtils/reflection.js +42 -1
- package/dist/astUtils/reflection.js.map +1 -1
- package/dist/astUtils/reflection.spec.js +115 -115
- package/dist/astUtils/reflection.spec.js.map +1 -1
- package/dist/astUtils/stackedVisitor.js.map +1 -1
- package/dist/astUtils/stackedVisitor.spec.js +13 -13
- package/dist/astUtils/stackedVisitor.spec.js.map +1 -1
- package/dist/astUtils/visitors.js +1 -1
- package/dist/astUtils/visitors.js.map +1 -1
- package/dist/astUtils/visitors.spec.js +28 -28
- package/dist/astUtils/visitors.spec.js.map +1 -1
- package/dist/astUtils/xml.d.ts +4 -3
- package/dist/astUtils/xml.js +8 -3
- package/dist/astUtils/xml.js.map +1 -1
- package/dist/bscPlugin/BscPlugin.d.ts +2 -1
- package/dist/bscPlugin/BscPlugin.js +4 -0
- package/dist/bscPlugin/BscPlugin.js.map +1 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +5 -6
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +30 -30
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.d.ts +7 -0
- package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.js +63 -0
- package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.js.map +1 -0
- package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.spec.d.ts +1 -0
- package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.spec.js +45 -0
- package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.spec.js.map +1 -0
- package/dist/diagnosticUtils.d.ts +1 -0
- package/dist/diagnosticUtils.js +14 -7
- package/dist/diagnosticUtils.js.map +1 -1
- package/dist/examples/plugins/removePrint.js +2 -2
- package/dist/examples/plugins/removePrint.js.map +1 -1
- package/dist/files/BrsFile.Class.spec.js +486 -71
- package/dist/files/BrsFile.Class.spec.js.map +1 -1
- package/dist/files/BrsFile.d.ts +48 -23
- package/dist/files/BrsFile.js +403 -233
- package/dist/files/BrsFile.js.map +1 -1
- package/dist/files/BrsFile.spec.js +367 -316
- package/dist/files/BrsFile.spec.js.map +1 -1
- package/dist/files/XmlFile.d.ts +13 -6
- package/dist/files/XmlFile.js +27 -21
- package/dist/files/XmlFile.js.map +1 -1
- package/dist/files/XmlFile.spec.js +274 -228
- package/dist/files/XmlFile.spec.js.map +1 -1
- package/dist/files/tests/imports.spec.js +49 -49
- package/dist/files/tests/imports.spec.js.map +1 -1
- package/dist/globalCallables.d.ts +3 -1
- package/dist/globalCallables.js +359 -87
- package/dist/globalCallables.js.map +1 -1
- package/dist/index.js +2 -1
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +51 -14
- package/dist/lexer/Lexer.d.ts +14 -1
- package/dist/lexer/Lexer.js +91 -21
- package/dist/lexer/Lexer.js.map +1 -1
- package/dist/lexer/Lexer.spec.js +187 -132
- package/dist/lexer/Lexer.spec.js.map +1 -1
- package/dist/lexer/Token.d.ts +2 -2
- package/dist/lexer/TokenKind.d.ts +7 -1
- package/dist/lexer/TokenKind.js +51 -3
- package/dist/lexer/TokenKind.js.map +1 -1
- package/dist/lexer/index.js +2 -1
- package/dist/lexer/index.js.map +1 -1
- package/dist/parser/BrsTranspileState.d.ts +7 -0
- package/dist/parser/BrsTranspileState.js +10 -1
- package/dist/parser/BrsTranspileState.js.map +1 -1
- package/dist/parser/Expression.d.ts +23 -5
- package/dist/parser/Expression.js +124 -75
- package/dist/parser/Expression.js.map +1 -1
- package/dist/parser/Parser.Class.spec.js +159 -60
- package/dist/parser/Parser.Class.spec.js.map +1 -1
- package/dist/parser/Parser.d.ts +114 -26
- package/dist/parser/Parser.js +471 -126
- package/dist/parser/Parser.js.map +1 -1
- package/dist/parser/Parser.spec.js +396 -235
- package/dist/parser/Parser.spec.js.map +1 -1
- package/dist/parser/SGParser.d.ts +41 -4
- package/dist/parser/SGParser.js +186 -175
- package/dist/parser/SGParser.js.map +1 -1
- package/dist/parser/SGParser.spec.js +35 -22
- package/dist/parser/SGParser.spec.js.map +1 -1
- package/dist/parser/SGTypes.d.ts +206 -38
- package/dist/parser/SGTypes.js +470 -161
- package/dist/parser/SGTypes.js.map +1 -1
- package/dist/parser/SGTypes.spec.d.ts +1 -0
- package/dist/parser/SGTypes.spec.js +351 -0
- package/dist/parser/SGTypes.spec.js.map +1 -0
- package/dist/parser/Statement.d.ts +92 -18
- package/dist/parser/Statement.js +287 -58
- package/dist/parser/Statement.js.map +1 -1
- package/dist/parser/Statement.spec.js +11 -11
- package/dist/parser/Statement.spec.js.map +1 -1
- package/dist/parser/TranspileState.d.ts +1 -1
- package/dist/parser/TranspileState.js +15 -7
- package/dist/parser/TranspileState.js.map +1 -1
- package/dist/parser/index.js +1 -1
- package/dist/parser/tests/Parser.spec.d.ts +8 -7
- package/dist/parser/tests/Parser.spec.js +12 -8
- package/dist/parser/tests/Parser.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/For.spec.js +50 -50
- package/dist/parser/tests/controlFlow/For.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/ForEach.spec.js +31 -31
- package/dist/parser/tests/controlFlow/ForEach.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/If.spec.js +174 -156
- package/dist/parser/tests/controlFlow/If.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/While.spec.js +32 -32
- package/dist/parser/tests/controlFlow/While.spec.js.map +1 -1
- package/dist/parser/tests/expression/Additive.spec.js +21 -21
- package/dist/parser/tests/expression/Additive.spec.js.map +1 -1
- package/dist/parser/tests/expression/ArrayLiterals.spec.js +105 -105
- package/dist/parser/tests/expression/ArrayLiterals.spec.js.map +1 -1
- package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +148 -124
- package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js.map +1 -1
- package/dist/parser/tests/expression/Boolean.spec.js +17 -17
- package/dist/parser/tests/expression/Boolean.spec.js.map +1 -1
- package/dist/parser/tests/expression/Call.spec.js +30 -30
- package/dist/parser/tests/expression/Call.spec.js.map +1 -1
- package/dist/parser/tests/expression/Exponential.spec.js +16 -16
- package/dist/parser/tests/expression/Exponential.spec.js.map +1 -1
- package/dist/parser/tests/expression/Function.spec.js +247 -247
- package/dist/parser/tests/expression/Function.spec.js.map +1 -1
- package/dist/parser/tests/expression/Indexing.spec.js +73 -73
- package/dist/parser/tests/expression/Indexing.spec.js.map +1 -1
- package/dist/parser/tests/expression/Multiplicative.spec.js +36 -36
- package/dist/parser/tests/expression/Multiplicative.spec.js.map +1 -1
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +59 -47
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/PrefixUnary.spec.js +35 -35
- package/dist/parser/tests/expression/PrefixUnary.spec.js.map +1 -1
- package/dist/parser/tests/expression/Primary.spec.js +26 -26
- package/dist/parser/tests/expression/Primary.spec.js.map +1 -1
- package/dist/parser/tests/expression/RegexLiteralExpression.spec.d.ts +1 -0
- package/dist/parser/tests/expression/RegexLiteralExpression.spec.js +170 -0
- package/dist/parser/tests/expression/RegexLiteralExpression.spec.js.map +1 -0
- package/dist/parser/tests/expression/Relational.spec.js +42 -42
- package/dist/parser/tests/expression/Relational.spec.js.map +1 -1
- package/dist/parser/tests/expression/SourceLiteralExpression.spec.js +8 -8
- package/dist/parser/tests/expression/SourceLiteralExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js +12 -12
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/TernaryExpression.spec.js +100 -100
- package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
- package/dist/parser/tests/statement/AssignmentOperators.spec.js +35 -35
- package/dist/parser/tests/statement/AssignmentOperators.spec.js.map +1 -1
- package/dist/parser/tests/statement/Declaration.spec.js +39 -39
- package/dist/parser/tests/statement/Declaration.spec.js.map +1 -1
- package/dist/parser/tests/statement/Dim.spec.js +21 -21
- package/dist/parser/tests/statement/Dim.spec.js.map +1 -1
- package/dist/parser/tests/statement/Function.spec.js +192 -192
- package/dist/parser/tests/statement/Function.spec.js.map +1 -1
- package/dist/parser/tests/statement/Goto.spec.js +11 -11
- package/dist/parser/tests/statement/Goto.spec.js.map +1 -1
- package/dist/parser/tests/statement/Increment.spec.js +46 -46
- package/dist/parser/tests/statement/Increment.spec.js.map +1 -1
- package/dist/parser/tests/statement/InterfaceStatement.spec.d.ts +1 -0
- package/dist/parser/tests/statement/InterfaceStatement.spec.js +61 -0
- package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +1 -0
- package/dist/parser/tests/statement/LibraryStatement.spec.js +10 -10
- package/dist/parser/tests/statement/LibraryStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/Misc.spec.js +37 -36
- package/dist/parser/tests/statement/Misc.spec.js.map +1 -1
- package/dist/parser/tests/statement/PrintStatement.spec.js +30 -30
- package/dist/parser/tests/statement/PrintStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/ReturnStatement.spec.js +43 -43
- package/dist/parser/tests/statement/ReturnStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/Set.spec.js +69 -69
- package/dist/parser/tests/statement/Set.spec.js.map +1 -1
- package/dist/parser/tests/statement/Stop.spec.js +9 -9
- package/dist/parser/tests/statement/Stop.spec.js.map +1 -1
- package/dist/parser/tests/statement/Throw.spec.js +5 -5
- package/dist/parser/tests/statement/Throw.spec.js.map +1 -1
- package/dist/parser/tests/statement/TryCatch.spec.js +13 -13
- package/dist/parser/tests/statement/TryCatch.spec.js.map +1 -1
- package/dist/preprocessor/Chunk.js.map +1 -1
- package/dist/preprocessor/Manifest.d.ts +1 -1
- package/dist/preprocessor/Preprocessor.js +1 -1
- package/dist/preprocessor/Preprocessor.js.map +1 -1
- package/dist/preprocessor/Preprocessor.spec.js +49 -49
- package/dist/preprocessor/Preprocessor.spec.js.map +1 -1
- package/dist/preprocessor/PreprocessorParser.spec.js +72 -72
- package/dist/preprocessor/PreprocessorParser.spec.js.map +1 -1
- package/dist/preprocessor/index.js +1 -1
- package/dist/types/ArrayType.js +5 -4
- package/dist/types/ArrayType.js.map +1 -1
- package/dist/types/ArrayType.spec.js +8 -8
- package/dist/types/ArrayType.spec.js.map +1 -1
- package/dist/types/BooleanType.js +3 -3
- package/dist/types/BooleanType.js.map +1 -1
- package/dist/types/BooleanType.spec.js +2 -2
- package/dist/types/BooleanType.spec.js.map +1 -1
- package/dist/types/BscType.d.ts +19 -5
- package/dist/types/BscType.js +9 -0
- package/dist/types/BscType.js.map +1 -1
- package/dist/types/CustomType.d.ts +8 -5
- package/dist/types/CustomType.js +17 -6
- package/dist/types/CustomType.js.map +1 -1
- package/dist/types/DoubleType.js +8 -8
- package/dist/types/DoubleType.js.map +1 -1
- package/dist/types/DoubleType.spec.js +2 -2
- package/dist/types/DoubleType.spec.js.map +1 -1
- package/dist/types/DynamicType.js +1 -1
- package/dist/types/DynamicType.js.map +1 -1
- package/dist/types/DynamicType.spec.js +2 -2
- package/dist/types/DynamicType.spec.js.map +1 -1
- package/dist/types/FloatType.d.ts +1 -1
- package/dist/types/FloatType.js +8 -8
- package/dist/types/FloatType.js.map +1 -1
- package/dist/types/FloatType.spec.js +2 -2
- package/dist/types/FloatType.spec.js.map +1 -1
- package/dist/types/FunctionType.d.ts +5 -11
- package/dist/types/FunctionType.js +24 -13
- package/dist/types/FunctionType.js.map +1 -1
- package/dist/types/FunctionType.spec.js +11 -5
- package/dist/types/FunctionType.spec.js.map +1 -1
- package/dist/types/IntegerType.d.ts +1 -1
- package/dist/types/IntegerType.js +8 -8
- package/dist/types/IntegerType.js.map +1 -1
- package/dist/types/IntegerType.spec.js +2 -2
- package/dist/types/IntegerType.spec.js.map +1 -1
- package/dist/types/InterfaceType.d.ts +8 -2
- package/dist/types/InterfaceType.js +42 -6
- package/dist/types/InterfaceType.js.map +1 -1
- package/dist/types/InterfaceType.spec.d.ts +1 -0
- package/dist/types/InterfaceType.spec.js +174 -0
- package/dist/types/InterfaceType.spec.js.map +1 -0
- package/dist/types/InvalidType.js +4 -4
- package/dist/types/InvalidType.js.map +1 -1
- package/dist/types/InvalidType.spec.js +2 -2
- package/dist/types/InvalidType.spec.js.map +1 -1
- package/dist/types/LazyType.d.ts +9 -7
- package/dist/types/LazyType.js +22 -10
- package/dist/types/LazyType.js.map +1 -1
- package/dist/types/LongIntegerType.d.ts +1 -1
- package/dist/types/LongIntegerType.js +8 -8
- package/dist/types/LongIntegerType.js.map +1 -1
- package/dist/types/LongIntegerType.spec.js +2 -2
- package/dist/types/LongIntegerType.spec.js.map +1 -1
- package/dist/types/ObjectType.d.ts +7 -4
- package/dist/types/ObjectType.js +6 -3
- package/dist/types/ObjectType.js.map +1 -1
- package/dist/types/ObjectType.spec.js +2 -2
- package/dist/types/ObjectType.spec.js.map +1 -1
- package/dist/types/StringType.js +3 -3
- package/dist/types/StringType.js.map +1 -1
- package/dist/types/StringType.spec.js +2 -2
- package/dist/types/StringType.spec.js.map +1 -1
- package/dist/types/UninitializedType.js +3 -3
- package/dist/types/UninitializedType.js.map +1 -1
- package/dist/types/VoidType.js +3 -3
- package/dist/types/VoidType.js.map +1 -1
- package/dist/types/VoidType.spec.js +2 -2
- package/dist/types/VoidType.spec.js.map +1 -1
- package/dist/types/helpers.d.ts +42 -0
- package/dist/types/helpers.js +113 -0
- package/dist/types/helpers.js.map +1 -0
- package/dist/util.d.ts +77 -17
- package/dist/util.js +247 -59
- package/dist/util.js.map +1 -1
- package/dist/validators/ClassValidator.d.ts +5 -1
- package/dist/validators/ClassValidator.js +59 -24
- package/dist/validators/ClassValidator.js.map +1 -1
- package/package.json +13 -13
|
@@ -1,13 +1,18 @@
|
|
|
1
1
|
import type { Token, Identifier } from '../lexer';
|
|
2
2
|
import { TokenKind } from '../lexer';
|
|
3
|
-
import type { Expression, NamespacedVariableNameExpression, FunctionExpression, AnnotationExpression } from './Expression';
|
|
3
|
+
import type { Expression, NamespacedVariableNameExpression, FunctionExpression, AnnotationExpression, 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
8
|
import { InternalWalkMode } from '../astUtils/visitors';
|
|
9
9
|
import type { TranspileResult, TypedefProvider } from '../interfaces';
|
|
10
|
+
import { DynamicType } from '../types/DynamicType';
|
|
11
|
+
import type { BscType, SymbolContainer } from '../types/BscType';
|
|
12
|
+
import type { SourceNode } from 'source-map';
|
|
13
|
+
import type { TranspileState } from './TranspileState';
|
|
10
14
|
import { SymbolTable } from '../SymbolTable';
|
|
15
|
+
import { CustomType } from '../types/CustomType';
|
|
11
16
|
/**
|
|
12
17
|
* A BrightScript statement
|
|
13
18
|
*/
|
|
@@ -82,7 +87,7 @@ export declare class CommentStatement extends Statement implements Expression, T
|
|
|
82
87
|
range: Range;
|
|
83
88
|
get text(): string;
|
|
84
89
|
transpile(state: BrsTranspileState): any[];
|
|
85
|
-
getTypedef(state:
|
|
90
|
+
getTypedef(state: TranspileState): any[];
|
|
86
91
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
87
92
|
}
|
|
88
93
|
export declare class ExitForStatement extends Statement {
|
|
@@ -93,7 +98,7 @@ export declare class ExitForStatement extends Statement {
|
|
|
93
98
|
exitFor: Token;
|
|
94
99
|
});
|
|
95
100
|
readonly range: Range;
|
|
96
|
-
transpile(state: BrsTranspileState):
|
|
101
|
+
transpile(state: BrsTranspileState): SourceNode[];
|
|
97
102
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
98
103
|
}
|
|
99
104
|
export declare class ExitWhileStatement extends Statement {
|
|
@@ -104,7 +109,7 @@ export declare class ExitWhileStatement extends Statement {
|
|
|
104
109
|
exitWhile: Token;
|
|
105
110
|
});
|
|
106
111
|
readonly range: Range;
|
|
107
|
-
transpile(state: BrsTranspileState):
|
|
112
|
+
transpile(state: BrsTranspileState): SourceNode[];
|
|
108
113
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
109
114
|
}
|
|
110
115
|
export declare class FunctionStatement extends Statement implements TypedefProvider {
|
|
@@ -147,7 +152,7 @@ export declare class IncrementStatement extends Statement {
|
|
|
147
152
|
readonly operator: Token;
|
|
148
153
|
constructor(value: Expression, operator: Token);
|
|
149
154
|
readonly range: Range;
|
|
150
|
-
transpile(state: BrsTranspileState): (string |
|
|
155
|
+
transpile(state: BrsTranspileState): (string | SourceNode)[];
|
|
151
156
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
152
157
|
}
|
|
153
158
|
/** Used to indent the current `print` position to the next 16-character-width output zone. */
|
|
@@ -175,7 +180,7 @@ export declare class PrintStatement extends Statement {
|
|
|
175
180
|
print: Token;
|
|
176
181
|
}, expressions: Array<Expression | PrintSeparatorTab | PrintSeparatorSpace>);
|
|
177
182
|
readonly range: Range;
|
|
178
|
-
transpile(state: BrsTranspileState): (string |
|
|
183
|
+
transpile(state: BrsTranspileState): (string | SourceNode)[];
|
|
179
184
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
180
185
|
}
|
|
181
186
|
export declare class DimStatement extends Statement {
|
|
@@ -186,7 +191,7 @@ export declare class DimStatement extends Statement {
|
|
|
186
191
|
closingSquare?: Token;
|
|
187
192
|
constructor(dimToken: Token, identifier?: Identifier, openingSquare?: Token, dimensions?: Expression[], closingSquare?: Token);
|
|
188
193
|
range: Range;
|
|
189
|
-
transpile(state: BrsTranspileState): (string |
|
|
194
|
+
transpile(state: BrsTranspileState): (string | SourceNode)[];
|
|
190
195
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
191
196
|
}
|
|
192
197
|
export declare class GotoStatement extends Statement {
|
|
@@ -199,7 +204,7 @@ export declare class GotoStatement extends Statement {
|
|
|
199
204
|
label: Token;
|
|
200
205
|
});
|
|
201
206
|
readonly range: Range;
|
|
202
|
-
transpile(state: BrsTranspileState): (string |
|
|
207
|
+
transpile(state: BrsTranspileState): (string | SourceNode)[];
|
|
203
208
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
204
209
|
}
|
|
205
210
|
export declare class LabelStatement extends Statement {
|
|
@@ -212,7 +217,7 @@ export declare class LabelStatement extends Statement {
|
|
|
212
217
|
colon: Token;
|
|
213
218
|
});
|
|
214
219
|
readonly range: Range;
|
|
215
|
-
transpile(state: BrsTranspileState):
|
|
220
|
+
transpile(state: BrsTranspileState): SourceNode[];
|
|
216
221
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
217
222
|
}
|
|
218
223
|
export declare class ReturnStatement extends Statement {
|
|
@@ -235,7 +240,7 @@ export declare class EndStatement extends Statement {
|
|
|
235
240
|
end: Token;
|
|
236
241
|
});
|
|
237
242
|
readonly range: Range;
|
|
238
|
-
transpile(state: BrsTranspileState):
|
|
243
|
+
transpile(state: BrsTranspileState): SourceNode[];
|
|
239
244
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
240
245
|
}
|
|
241
246
|
export declare class StopStatement extends Statement {
|
|
@@ -246,7 +251,7 @@ export declare class StopStatement extends Statement {
|
|
|
246
251
|
stop: Token;
|
|
247
252
|
});
|
|
248
253
|
readonly range: Range;
|
|
249
|
-
transpile(state: BrsTranspileState):
|
|
254
|
+
transpile(state: BrsTranspileState): SourceNode[];
|
|
250
255
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
251
256
|
}
|
|
252
257
|
export declare class ForStatement extends Statement {
|
|
@@ -348,14 +353,71 @@ export declare class ImportStatement extends Statement implements TypedefProvide
|
|
|
348
353
|
constructor(importToken: Token, filePathToken: Token);
|
|
349
354
|
filePath: string;
|
|
350
355
|
range: Range;
|
|
351
|
-
transpile(state: BrsTranspileState): (string |
|
|
356
|
+
transpile(state: BrsTranspileState): (string | SourceNode)[];
|
|
352
357
|
/**
|
|
353
358
|
* Get the typedef for this statement
|
|
354
359
|
*/
|
|
355
360
|
getTypedef(state: BrsTranspileState): string[];
|
|
356
361
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
357
362
|
}
|
|
358
|
-
export declare class
|
|
363
|
+
export declare class InterfaceStatement extends Statement implements TypedefProvider {
|
|
364
|
+
parentInterfaceName: NamespacedVariableNameExpression;
|
|
365
|
+
body: Statement[];
|
|
366
|
+
namespaceName: NamespacedVariableNameExpression;
|
|
367
|
+
constructor(interfaceToken: Token, name: Identifier, extendsToken: Token, parentInterfaceName: NamespacedVariableNameExpression, body: Statement[], endInterfaceToken: Token, namespaceName: NamespacedVariableNameExpression);
|
|
368
|
+
tokens: {
|
|
369
|
+
interface: Token;
|
|
370
|
+
name: Identifier;
|
|
371
|
+
extends: Token;
|
|
372
|
+
endInterface: Token;
|
|
373
|
+
};
|
|
374
|
+
range: Range;
|
|
375
|
+
get fields(): Statement[];
|
|
376
|
+
get methods(): Statement[];
|
|
377
|
+
/**
|
|
378
|
+
* The name of the interface WITH its leading namespace (if applicable)
|
|
379
|
+
*/
|
|
380
|
+
get fullName(): string;
|
|
381
|
+
/**
|
|
382
|
+
* The name of the interface (without the namespace prefix)
|
|
383
|
+
*/
|
|
384
|
+
get name(): string;
|
|
385
|
+
transpile(state: BrsTranspileState): TranspileResult;
|
|
386
|
+
getTypedef(state: BrsTranspileState): TranspileResult;
|
|
387
|
+
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
388
|
+
}
|
|
389
|
+
export declare class InterfaceFieldStatement extends Statement implements TypedefProvider {
|
|
390
|
+
type: BscType;
|
|
391
|
+
transpile(state: BrsTranspileState): TranspileResult;
|
|
392
|
+
constructor(nameToken: Identifier, asToken: Token, typeToken: Token, type: BscType);
|
|
393
|
+
get range(): Range;
|
|
394
|
+
tokens: {
|
|
395
|
+
name: Identifier;
|
|
396
|
+
as: Token;
|
|
397
|
+
type: Token;
|
|
398
|
+
};
|
|
399
|
+
get name(): string;
|
|
400
|
+
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
401
|
+
getTypedef(state: BrsTranspileState): (string | SourceNode)[];
|
|
402
|
+
}
|
|
403
|
+
export declare class InterfaceMethodStatement extends Statement implements TypedefProvider {
|
|
404
|
+
params: FunctionParameterExpression[];
|
|
405
|
+
returnType?: BscType;
|
|
406
|
+
transpile(state: BrsTranspileState): TranspileResult;
|
|
407
|
+
constructor(functionTypeToken: Token, nameToken: Identifier, leftParen: Token, params: FunctionParameterExpression[], rightParen: Token, asToken?: Token, returnTypeToken?: Token, returnType?: BscType);
|
|
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
|
+
};
|
|
417
|
+
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
418
|
+
getTypedef(state: BrsTranspileState): TranspileResult;
|
|
419
|
+
}
|
|
420
|
+
export declare class ClassStatement extends Statement implements TypedefProvider, SymbolContainer {
|
|
359
421
|
readonly classKeyword: Token;
|
|
360
422
|
/**
|
|
361
423
|
* The name of the class (without namespace prefix)
|
|
@@ -366,16 +428,22 @@ export declare class ClassStatement extends Statement implements TypedefProvider
|
|
|
366
428
|
readonly extendsKeyword?: Token;
|
|
367
429
|
readonly parentClassName?: NamespacedVariableNameExpression;
|
|
368
430
|
readonly namespaceName?: NamespacedVariableNameExpression;
|
|
431
|
+
readonly currentSymbolTable?: SymbolTable;
|
|
432
|
+
readonly symbolTable: SymbolTable;
|
|
433
|
+
readonly memberTable: SymbolTable;
|
|
369
434
|
constructor(classKeyword: Token,
|
|
370
435
|
/**
|
|
371
436
|
* The name of the class (without namespace prefix)
|
|
372
437
|
*/
|
|
373
|
-
name: Identifier, body: Statement[], end: Token, extendsKeyword?: Token, parentClassName?: NamespacedVariableNameExpression, namespaceName?: NamespacedVariableNameExpression);
|
|
438
|
+
name: Identifier, body: Statement[], end: Token, extendsKeyword?: Token, parentClassName?: NamespacedVariableNameExpression, namespaceName?: NamespacedVariableNameExpression, currentSymbolTable?: SymbolTable);
|
|
374
439
|
getName(parseMode: ParseMode): string;
|
|
375
440
|
memberMap: Record<string, ClassMemberStatement>;
|
|
376
441
|
methods: ClassMethodStatement[];
|
|
377
442
|
fields: ClassFieldStatement[];
|
|
378
443
|
readonly range: Range;
|
|
444
|
+
getCustomType(): CustomType;
|
|
445
|
+
getConstructorFunctionType(): import("../types/FunctionType").FunctionType;
|
|
446
|
+
buildSymbolTable(parentClass?: ClassStatement): void;
|
|
379
447
|
transpile(state: BrsTranspileState): any[];
|
|
380
448
|
getTypedef(state: BrsTranspileState): TranspileResult;
|
|
381
449
|
/**
|
|
@@ -385,6 +453,11 @@ export declare class ClassStatement extends Statement implements TypedefProvider
|
|
|
385
453
|
*/
|
|
386
454
|
getParentClassIndex(state: BrsTranspileState): number;
|
|
387
455
|
hasParentClass(): boolean;
|
|
456
|
+
/**
|
|
457
|
+
* Gets an array of possible parent class names, taking into account the namespace this class was created under
|
|
458
|
+
* @returns array of possible parent class names
|
|
459
|
+
*/
|
|
460
|
+
getPossibleFullParentNames(): string[];
|
|
388
461
|
/**
|
|
389
462
|
* Get all ancestor classes, in closest-to-furthest order (i.e. 0 is parent, 1 is grandparent, etc...).
|
|
390
463
|
* This will return an empty array if no ancestors were found
|
|
@@ -439,12 +512,13 @@ export declare class ClassFieldStatement extends Statement implements TypedefPro
|
|
|
439
512
|
readonly type?: Token;
|
|
440
513
|
readonly equal?: Token;
|
|
441
514
|
readonly initialValue?: Expression;
|
|
442
|
-
|
|
515
|
+
readonly namespaceName?: NamespacedVariableNameExpression;
|
|
516
|
+
constructor(accessModifier?: Token, name?: Identifier, as?: Token, type?: Token, equal?: Token, initialValue?: Expression, namespaceName?: NamespacedVariableNameExpression);
|
|
443
517
|
/**
|
|
444
518
|
* Derive a ValueKind from the type token, or the initial value.
|
|
445
|
-
* Defaults to `
|
|
519
|
+
* Defaults to `DynamicType`
|
|
446
520
|
*/
|
|
447
|
-
getType(): import("../types/
|
|
521
|
+
getType(parseMode?: ParseMode): DynamicType | BscType | import("../types/FloatType").FloatType | import("../types/FunctionType").FunctionType | import("../types/IntegerType").IntegerType | import("../types/LongIntegerType").LongIntegerType | import("../types/StringType").StringType | import("../types/BooleanType").BooleanType | import("../types/LazyType").LazyType | import("../types/DoubleType").DoubleType | import("../types/InvalidType").InvalidType | import("../types/VoidType").VoidType;
|
|
448
522
|
readonly range: Range;
|
|
449
523
|
transpile(state: BrsTranspileState): TranspileResult;
|
|
450
524
|
getTypedef(state: BrsTranspileState): any[];
|
|
@@ -468,6 +542,6 @@ export declare class ThrowStatement extends Statement {
|
|
|
468
542
|
expression?: Expression;
|
|
469
543
|
constructor(throwToken: Token, expression?: Expression);
|
|
470
544
|
range: Range;
|
|
471
|
-
transpile(state: BrsTranspileState): (string |
|
|
545
|
+
transpile(state: BrsTranspileState): (string | SourceNode)[];
|
|
472
546
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
473
547
|
}
|