brighterscript 1.0.0-alpha.2 → 1.0.0-alpha.22
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 +643 -253
- package/README.md +33 -9
- package/bsconfig.schema.json +22 -2
- package/dist/BsConfig.d.ts +9 -0
- package/dist/Cache.d.ts +5 -6
- package/dist/Cache.js +12 -11
- package/dist/Cache.js.map +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.d.ts +2 -2
- package/dist/DependencyGraph.js +20 -7
- package/dist/DependencyGraph.js.map +1 -1
- package/dist/DiagnosticCollection.d.ts +3 -3
- package/dist/DiagnosticCollection.js +11 -11
- package/dist/DiagnosticCollection.js.map +1 -1
- package/dist/DiagnosticFilterer.js +5 -4
- package/dist/DiagnosticFilterer.js.map +1 -1
- package/dist/DiagnosticMessages.d.ts +59 -4
- package/dist/DiagnosticMessages.js +65 -7
- package/dist/DiagnosticMessages.js.map +1 -1
- package/dist/LanguageServer.d.ts +51 -39
- package/dist/LanguageServer.js +316 -232
- package/dist/LanguageServer.js.map +1 -1
- package/dist/Logger.d.ts +2 -0
- package/dist/Logger.js +10 -8
- package/dist/Logger.js.map +1 -1
- package/dist/PluginInterface.d.ts +7 -3
- package/dist/PluginInterface.js +9 -0
- package/dist/PluginInterface.js.map +1 -1
- package/dist/Program.d.ts +43 -25
- package/dist/Program.js +212 -95
- package/dist/Program.js.map +1 -1
- package/dist/ProgramBuilder.d.ts +4 -0
- package/dist/ProgramBuilder.js +36 -20
- package/dist/ProgramBuilder.js.map +1 -1
- package/dist/Scope.d.ts +126 -29
- package/dist/Scope.js +433 -156
- 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 +10 -4
- package/dist/SymbolTable.js +55 -13
- package/dist/SymbolTable.js.map +1 -1
- package/dist/XmlScope.d.ts +7 -2
- package/dist/XmlScope.js +65 -27
- package/dist/XmlScope.js.map +1 -1
- package/dist/astUtils/AstEditor.d.ts +65 -0
- package/dist/astUtils/AstEditor.js +239 -0
- package/dist/astUtils/AstEditor.js.map +1 -0
- package/dist/{types/FunctionType.spec.d.ts → astUtils/AstEditor.spec.d.ts} +0 -0
- package/dist/astUtils/AstEditor.spec.js +254 -0
- package/dist/astUtils/AstEditor.spec.js.map +1 -0
- package/dist/astUtils/creators.d.ts +28 -6
- package/dist/astUtils/creators.js +137 -19
- package/dist/astUtils/creators.js.map +1 -1
- package/dist/astUtils/creators.spec.js +14 -4
- package/dist/astUtils/creators.spec.js.map +1 -1
- package/dist/astUtils/reflection.d.ts +32 -10
- package/dist/astUtils/reflection.js +82 -7
- package/dist/astUtils/reflection.js.map +1 -1
- package/dist/astUtils/reflection.spec.js +130 -119
- 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.d.ts +76 -51
- package/dist/astUtils/visitors.js +31 -11
- package/dist/astUtils/visitors.js.map +1 -1
- package/dist/astUtils/visitors.spec.js +126 -32
- 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 +7 -1
- package/dist/bscPlugin/BscPlugin.js +28 -0
- package/dist/bscPlugin/BscPlugin.js.map +1 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +4 -4
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +26 -26
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.d.ts +9 -0
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +108 -0
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -0
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.d.ts +1 -0
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +130 -0
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +1 -0
- package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.d.ts +8 -0
- package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js +52 -0
- package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js.map +1 -0
- package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.d.ts +1 -0
- package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js +32 -0
- package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js.map +1 -0
- package/dist/bscPlugin/validation/BrsFileValidator.d.ts +9 -0
- package/dist/bscPlugin/validation/BrsFileValidator.js +66 -0
- package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -0
- package/dist/bscPlugin/validation/ScopeValidator.d.ts +29 -0
- package/dist/bscPlugin/validation/ScopeValidator.js +183 -0
- package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -0
- package/dist/cli.js +10 -3
- package/dist/cli.js.map +1 -1
- package/dist/diagnosticUtils.d.ts +1 -0
- package/dist/diagnosticUtils.js +15 -8
- 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 +717 -147
- package/dist/files/BrsFile.Class.spec.js.map +1 -1
- package/dist/files/BrsFile.d.ts +70 -30
- package/dist/files/BrsFile.js +719 -353
- package/dist/files/BrsFile.js.map +1 -1
- package/dist/files/BrsFile.spec.js +1238 -449
- package/dist/files/BrsFile.spec.js.map +1 -1
- package/dist/files/XmlFile.d.ts +6 -5
- package/dist/files/XmlFile.js +38 -30
- package/dist/files/XmlFile.js.map +1 -1
- package/dist/files/XmlFile.spec.js +302 -237
- package/dist/files/XmlFile.spec.js.map +1 -1
- package/dist/files/tests/imports.spec.js +44 -42
- package/dist/files/tests/imports.spec.js.map +1 -1
- package/dist/files/tests/optionalChaning.spec.d.ts +1 -0
- package/dist/files/tests/optionalChaning.spec.js +88 -0
- package/dist/files/tests/optionalChaning.spec.js.map +1 -0
- package/dist/globalCallables.d.ts +3 -1
- package/dist/globalCallables.js +424 -152
- package/dist/globalCallables.js.map +1 -1
- package/dist/index.d.ts +13 -3
- package/dist/index.js +28 -5
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +133 -16
- package/dist/lexer/Lexer.d.ts +19 -1
- package/dist/lexer/Lexer.js +127 -21
- package/dist/lexer/Lexer.js.map +1 -1
- package/dist/lexer/Lexer.spec.js +657 -536
- package/dist/lexer/Lexer.spec.js.map +1 -1
- package/dist/lexer/Token.d.ts +2 -2
- package/dist/lexer/TokenKind.d.ts +13 -1
- package/dist/lexer/TokenKind.js +60 -3
- package/dist/lexer/TokenKind.js.map +1 -1
- package/dist/parser/BrsTranspileState.d.ts +9 -0
- package/dist/parser/BrsTranspileState.js +14 -0
- package/dist/parser/BrsTranspileState.js.map +1 -1
- package/dist/parser/Expression.d.ts +150 -34
- package/dist/parser/Expression.js +335 -165
- package/dist/parser/Expression.js.map +1 -1
- package/dist/parser/Parser.Class.spec.js +189 -89
- package/dist/parser/Parser.Class.spec.js.map +1 -1
- package/dist/parser/Parser.d.ts +153 -30
- package/dist/parser/Parser.js +1100 -503
- package/dist/parser/Parser.js.map +1 -1
- package/dist/parser/Parser.spec.js +687 -266
- 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 +202 -48
- package/dist/parser/Statement.js +648 -193
- 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/tests/Parser.spec.d.ts +10 -9
- package/dist/parser/tests/Parser.spec.js +15 -11
- package/dist/parser/tests/Parser.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/For.spec.js +60 -60
- package/dist/parser/tests/controlFlow/For.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/ForEach.spec.js +40 -39
- package/dist/parser/tests/controlFlow/ForEach.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/If.spec.js +213 -194
- package/dist/parser/tests/controlFlow/If.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/While.spec.js +37 -37
- package/dist/parser/tests/controlFlow/While.spec.js.map +1 -1
- package/dist/parser/tests/expression/Additive.spec.js +30 -30
- package/dist/parser/tests/expression/Additive.spec.js.map +1 -1
- package/dist/parser/tests/expression/ArrayLiterals.spec.js +119 -119
- package/dist/parser/tests/expression/ArrayLiterals.spec.js.map +1 -1
- package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +162 -138
- package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js.map +1 -1
- package/dist/parser/tests/expression/Boolean.spec.js +24 -24
- package/dist/parser/tests/expression/Boolean.spec.js.map +1 -1
- package/dist/parser/tests/expression/Call.spec.js +41 -40
- package/dist/parser/tests/expression/Call.spec.js.map +1 -1
- package/dist/parser/tests/expression/Exponential.spec.js +17 -17
- package/dist/parser/tests/expression/Exponential.spec.js.map +1 -1
- package/dist/parser/tests/expression/Function.spec.js +256 -256
- package/dist/parser/tests/expression/Function.spec.js.map +1 -1
- package/dist/parser/tests/expression/Indexing.spec.js +87 -87
- package/dist/parser/tests/expression/Indexing.spec.js.map +1 -1
- package/dist/parser/tests/expression/Multiplicative.spec.js +37 -37
- package/dist/parser/tests/expression/Multiplicative.spec.js.map +1 -1
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +75 -63
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/PrefixUnary.spec.js +41 -41
- package/dist/parser/tests/expression/PrefixUnary.spec.js.map +1 -1
- package/dist/parser/tests/expression/Primary.spec.js +41 -41
- 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 +171 -0
- package/dist/parser/tests/expression/RegexLiteralExpression.spec.js.map +1 -0
- package/dist/parser/tests/expression/Relational.spec.js +43 -43
- package/dist/parser/tests/expression/Relational.spec.js.map +1 -1
- package/dist/parser/tests/expression/SourceLiteralExpression.spec.js +9 -9
- package/dist/parser/tests/expression/SourceLiteralExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js +28 -28
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/TernaryExpression.spec.js +102 -102
- package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
- package/dist/parser/tests/statement/AssignmentOperators.spec.js +36 -36
- package/dist/parser/tests/statement/AssignmentOperators.spec.js.map +1 -1
- package/dist/parser/tests/statement/Declaration.spec.js +44 -44
- 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/Enum.spec.d.ts +1 -0
- package/dist/parser/tests/statement/Enum.spec.js +840 -0
- package/dist/parser/tests/statement/Enum.spec.js.map +1 -0
- 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/Function.spec.js +198 -197
- package/dist/parser/tests/statement/Function.spec.js.map +1 -1
- package/dist/parser/tests/statement/Goto.spec.js +15 -14
- package/dist/parser/tests/statement/Goto.spec.js.map +1 -1
- package/dist/parser/tests/statement/Increment.spec.js +50 -50
- 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 +254 -0
- package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +1 -0
- package/dist/parser/tests/statement/LibraryStatement.spec.js +17 -17
- package/dist/parser/tests/statement/LibraryStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/Misc.spec.js +108 -106
- package/dist/parser/tests/statement/Misc.spec.js.map +1 -1
- package/dist/parser/tests/statement/PrintStatement.spec.js +40 -40
- package/dist/parser/tests/statement/PrintStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/ReturnStatement.spec.js +46 -46
- package/dist/parser/tests/statement/ReturnStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/Set.spec.js +83 -83
- package/dist/parser/tests/statement/Set.spec.js.map +1 -1
- package/dist/parser/tests/statement/Stop.spec.js +12 -11
- 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 +15 -13
- package/dist/parser/tests/statement/TryCatch.spec.js.map +1 -1
- package/dist/preprocessor/Chunk.d.ts +1 -1
- package/dist/preprocessor/Chunk.js.map +1 -1
- package/dist/preprocessor/Manifest.d.ts +5 -5
- package/dist/preprocessor/Manifest.js +14 -35
- package/dist/preprocessor/Manifest.js.map +1 -1
- package/dist/preprocessor/Manifest.spec.d.ts +1 -0
- package/dist/preprocessor/Manifest.spec.js +78 -103
- package/dist/preprocessor/Manifest.spec.js.map +1 -1
- package/dist/preprocessor/Preprocessor.d.ts +1 -1
- package/dist/preprocessor/Preprocessor.js +8 -8
- 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/roku-types/data.json +21891 -0
- package/dist/roku-types/index.d.ts +6776 -0
- package/dist/roku-types/index.js +11 -0
- package/dist/roku-types/index.js.map +1 -0
- package/dist/types/ArrayType.d.ts +8 -5
- package/dist/types/ArrayType.js +52 -12
- package/dist/types/ArrayType.js.map +1 -1
- package/dist/types/ArrayType.spec.js +72 -11
- package/dist/types/ArrayType.spec.js.map +1 -1
- package/dist/types/BooleanType.d.ts +4 -2
- package/dist/types/BooleanType.js +9 -4
- package/dist/types/BooleanType.js.map +1 -1
- package/dist/types/BooleanType.spec.js +5 -3
- package/dist/types/BooleanType.spec.js.map +1 -1
- package/dist/types/BscType.d.ts +20 -5
- package/dist/types/BscType.js +24 -0
- package/dist/types/BscType.js.map +1 -1
- package/dist/types/CustomType.d.ts +8 -6
- package/dist/types/CustomType.js +20 -11
- package/dist/types/CustomType.js.map +1 -1
- package/dist/types/DoubleType.d.ts +2 -0
- package/dist/types/DoubleType.js +14 -9
- package/dist/types/DoubleType.js.map +1 -1
- package/dist/types/DoubleType.spec.js +5 -3
- package/dist/types/DoubleType.spec.js.map +1 -1
- package/dist/types/DynamicType.d.ts +2 -0
- package/dist/types/DynamicType.js +6 -2
- 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/EnumType.d.ts +22 -0
- package/dist/types/EnumType.js +55 -0
- package/dist/types/EnumType.js.map +1 -0
- package/dist/types/FloatType.d.ts +2 -0
- package/dist/types/FloatType.js +14 -9
- package/dist/types/FloatType.js.map +1 -1
- package/dist/types/FloatType.spec.js +4 -2
- package/dist/types/FloatType.spec.js.map +1 -1
- package/dist/types/FunctionType.d.ts +7 -31
- package/dist/types/FunctionType.js +11 -57
- package/dist/types/FunctionType.js.map +1 -1
- package/dist/types/IntegerType.d.ts +2 -0
- package/dist/types/IntegerType.js +14 -9
- package/dist/types/IntegerType.js.map +1 -1
- package/dist/types/IntegerType.spec.js +5 -3
- package/dist/types/IntegerType.spec.js.map +1 -1
- package/dist/types/InterfaceType.d.ts +13 -4
- package/dist/types/InterfaceType.js +48 -8
- package/dist/types/InterfaceType.js.map +1 -1
- package/dist/types/InterfaceType.spec.d.ts +1 -0
- package/dist/types/InterfaceType.spec.js +194 -0
- package/dist/types/InterfaceType.spec.js.map +1 -0
- package/dist/types/InvalidType.d.ts +4 -2
- package/dist/types/InvalidType.js +10 -5
- package/dist/types/InvalidType.js.map +1 -1
- package/dist/types/InvalidType.spec.js +4 -2
- package/dist/types/InvalidType.spec.js.map +1 -1
- package/dist/types/LazyType.d.ts +8 -7
- package/dist/types/LazyType.js +22 -10
- package/dist/types/LazyType.js.map +1 -1
- package/dist/types/LongIntegerType.d.ts +2 -0
- package/dist/types/LongIntegerType.js +14 -9
- package/dist/types/LongIntegerType.js.map +1 -1
- package/dist/types/LongIntegerType.spec.js +4 -2
- package/dist/types/LongIntegerType.spec.js.map +1 -1
- package/dist/types/ObjectType.d.ts +8 -4
- package/dist/types/ObjectType.js +9 -4
- 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.d.ts +4 -2
- package/dist/types/StringType.js +9 -4
- package/dist/types/StringType.js.map +1 -1
- package/dist/types/StringType.spec.js +4 -2
- 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 +3 -3
- package/dist/types/UninitializedType.js.map +1 -1
- package/dist/types/VoidType.d.ts +4 -2
- package/dist/types/VoidType.js +8 -4
- 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 +118 -0
- package/dist/types/helpers.js.map +1 -0
- package/dist/util.d.ts +91 -21
- package/dist/util.js +364 -114
- package/dist/util.js.map +1 -1
- package/dist/validators/ClassValidator.d.ts +19 -2
- package/dist/validators/ClassValidator.js +164 -103
- package/dist/validators/ClassValidator.js.map +1 -1
- package/package.json +30 -19
- package/dist/astUtils/index.d.ts +0 -7
- package/dist/astUtils/index.js +0 -26
- package/dist/astUtils/index.js.map +0 -1
- package/dist/lexer/index.d.ts +0 -3
- package/dist/lexer/index.js +0 -17
- package/dist/lexer/index.js.map +0 -1
- package/dist/parser/index.d.ts +0 -3
- package/dist/parser/index.js +0 -16
- package/dist/parser/index.js.map +0 -1
- package/dist/preprocessor/index.d.ts +0 -3
- package/dist/preprocessor/index.js +0 -16
- package/dist/preprocessor/index.js.map +0 -1
- package/dist/types/FunctionType.spec.js +0 -23
- package/dist/types/FunctionType.spec.js.map +0 -1
|
@@ -1,13 +1,19 @@
|
|
|
1
|
-
import type { Token, Identifier } from '../lexer';
|
|
2
|
-
import { TokenKind } from '../lexer';
|
|
3
|
-
import type { Expression, NamespacedVariableNameExpression, FunctionExpression, AnnotationExpression } from './Expression';
|
|
1
|
+
import type { Token, Identifier } from '../lexer/Token';
|
|
2
|
+
import { TokenKind } from '../lexer/TokenKind';
|
|
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 { InheritableStatement, MemberSymbolTableProvider, TranspileResult, TypedefProvider } from '../interfaces';
|
|
10
|
+
import { DynamicType } from '../types/DynamicType';
|
|
11
|
+
import type { SourceNode } from 'source-map';
|
|
12
|
+
import type { TranspileState } from './TranspileState';
|
|
10
13
|
import { SymbolTable } from '../SymbolTable';
|
|
14
|
+
import { CustomType } from '../types/CustomType';
|
|
15
|
+
import { InterfaceType } from '../types/InterfaceType';
|
|
16
|
+
import { EnumType } from '../types/EnumType';
|
|
11
17
|
/**
|
|
12
18
|
* A BrightScript statement
|
|
13
19
|
*/
|
|
@@ -15,7 +21,7 @@ export declare abstract class Statement {
|
|
|
15
21
|
/**
|
|
16
22
|
* The starting and ending location of the statement.
|
|
17
23
|
**/
|
|
18
|
-
abstract range: Range;
|
|
24
|
+
abstract readonly range: Range;
|
|
19
25
|
/**
|
|
20
26
|
* Statement annotations
|
|
21
27
|
*/
|
|
@@ -46,7 +52,7 @@ export declare class EmptyStatement extends Statement {
|
|
|
46
52
|
export declare class Body extends Statement implements TypedefProvider {
|
|
47
53
|
statements: Statement[];
|
|
48
54
|
constructor(statements?: Statement[]);
|
|
49
|
-
|
|
55
|
+
readonly range: Range;
|
|
50
56
|
transpile(state: BrsTranspileState): TranspileResult;
|
|
51
57
|
getTypedef(state: BrsTranspileState): any[];
|
|
52
58
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
@@ -79,10 +85,10 @@ export declare class ExpressionStatement extends Statement {
|
|
|
79
85
|
export declare class CommentStatement extends Statement implements Expression, TypedefProvider {
|
|
80
86
|
comments: Token[];
|
|
81
87
|
constructor(comments: Token[]);
|
|
82
|
-
range: Range;
|
|
88
|
+
readonly range: Range;
|
|
83
89
|
get text(): string;
|
|
84
90
|
transpile(state: BrsTranspileState): any[];
|
|
85
|
-
getTypedef(state:
|
|
91
|
+
getTypedef(state: TranspileState): any[];
|
|
86
92
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
87
93
|
}
|
|
88
94
|
export declare class ExitForStatement extends Statement {
|
|
@@ -93,7 +99,7 @@ export declare class ExitForStatement extends Statement {
|
|
|
93
99
|
exitFor: Token;
|
|
94
100
|
});
|
|
95
101
|
readonly range: Range;
|
|
96
|
-
transpile(state: BrsTranspileState):
|
|
102
|
+
transpile(state: BrsTranspileState): SourceNode[];
|
|
97
103
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
98
104
|
}
|
|
99
105
|
export declare class ExitWhileStatement extends Statement {
|
|
@@ -104,7 +110,7 @@ export declare class ExitWhileStatement extends Statement {
|
|
|
104
110
|
exitWhile: Token;
|
|
105
111
|
});
|
|
106
112
|
readonly range: Range;
|
|
107
|
-
transpile(state: BrsTranspileState):
|
|
113
|
+
transpile(state: BrsTranspileState): SourceNode[];
|
|
108
114
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
109
115
|
}
|
|
110
116
|
export declare class FunctionStatement extends Statement implements TypedefProvider {
|
|
@@ -112,7 +118,9 @@ export declare class FunctionStatement extends Statement implements TypedefProvi
|
|
|
112
118
|
func: FunctionExpression;
|
|
113
119
|
namespaceName: NamespacedVariableNameExpression;
|
|
114
120
|
constructor(name: Identifier, func: FunctionExpression, namespaceName: NamespacedVariableNameExpression);
|
|
115
|
-
|
|
121
|
+
get range(): Range;
|
|
122
|
+
cacheRange(): Range;
|
|
123
|
+
protected _range: Range;
|
|
116
124
|
/**
|
|
117
125
|
* Get the name of this expression based on the parse mode
|
|
118
126
|
*/
|
|
@@ -147,7 +155,7 @@ export declare class IncrementStatement extends Statement {
|
|
|
147
155
|
readonly operator: Token;
|
|
148
156
|
constructor(value: Expression, operator: Token);
|
|
149
157
|
readonly range: Range;
|
|
150
|
-
transpile(state: BrsTranspileState): (string |
|
|
158
|
+
transpile(state: BrsTranspileState): (string | SourceNode)[];
|
|
151
159
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
152
160
|
}
|
|
153
161
|
/** Used to indent the current `print` position to the next 16-character-width output zone. */
|
|
@@ -175,7 +183,7 @@ export declare class PrintStatement extends Statement {
|
|
|
175
183
|
print: Token;
|
|
176
184
|
}, expressions: Array<Expression | PrintSeparatorTab | PrintSeparatorSpace>);
|
|
177
185
|
readonly range: Range;
|
|
178
|
-
transpile(state: BrsTranspileState): (string |
|
|
186
|
+
transpile(state: BrsTranspileState): (string | SourceNode)[];
|
|
179
187
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
180
188
|
}
|
|
181
189
|
export declare class DimStatement extends Statement {
|
|
@@ -185,8 +193,8 @@ export declare class DimStatement extends Statement {
|
|
|
185
193
|
dimensions?: Expression[];
|
|
186
194
|
closingSquare?: Token;
|
|
187
195
|
constructor(dimToken: Token, identifier?: Identifier, openingSquare?: Token, dimensions?: Expression[], closingSquare?: Token);
|
|
188
|
-
range: Range;
|
|
189
|
-
transpile(state: BrsTranspileState): (string |
|
|
196
|
+
readonly range: Range;
|
|
197
|
+
transpile(state: BrsTranspileState): (string | SourceNode)[];
|
|
190
198
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
191
199
|
}
|
|
192
200
|
export declare class GotoStatement extends Statement {
|
|
@@ -199,7 +207,7 @@ export declare class GotoStatement extends Statement {
|
|
|
199
207
|
label: Token;
|
|
200
208
|
});
|
|
201
209
|
readonly range: Range;
|
|
202
|
-
transpile(state: BrsTranspileState): (string |
|
|
210
|
+
transpile(state: BrsTranspileState): (string | SourceNode)[];
|
|
203
211
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
204
212
|
}
|
|
205
213
|
export declare class LabelStatement extends Statement {
|
|
@@ -212,7 +220,7 @@ export declare class LabelStatement extends Statement {
|
|
|
212
220
|
colon: Token;
|
|
213
221
|
});
|
|
214
222
|
readonly range: Range;
|
|
215
|
-
transpile(state: BrsTranspileState):
|
|
223
|
+
transpile(state: BrsTranspileState): SourceNode[];
|
|
216
224
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
217
225
|
}
|
|
218
226
|
export declare class ReturnStatement extends Statement {
|
|
@@ -235,7 +243,7 @@ export declare class EndStatement extends Statement {
|
|
|
235
243
|
end: Token;
|
|
236
244
|
});
|
|
237
245
|
readonly range: Range;
|
|
238
|
-
transpile(state: BrsTranspileState):
|
|
246
|
+
transpile(state: BrsTranspileState): SourceNode[];
|
|
239
247
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
240
248
|
}
|
|
241
249
|
export declare class StopStatement extends Statement {
|
|
@@ -246,7 +254,7 @@ export declare class StopStatement extends Statement {
|
|
|
246
254
|
stop: Token;
|
|
247
255
|
});
|
|
248
256
|
readonly range: Range;
|
|
249
|
-
transpile(state: BrsTranspileState):
|
|
257
|
+
transpile(state: BrsTranspileState): SourceNode[];
|
|
250
258
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
251
259
|
}
|
|
252
260
|
export declare class ForStatement extends Statement {
|
|
@@ -294,7 +302,9 @@ export declare class DottedSetStatement extends Statement {
|
|
|
294
302
|
readonly obj: Expression;
|
|
295
303
|
readonly name: Identifier;
|
|
296
304
|
readonly value: Expression;
|
|
297
|
-
|
|
305
|
+
dot: Token;
|
|
306
|
+
operator: Token;
|
|
307
|
+
constructor(obj: Expression, name: Identifier, value: Expression, dot: Token, operator: Token);
|
|
298
308
|
readonly range: Range;
|
|
299
309
|
transpile(state: BrsTranspileState): TranspileResult;
|
|
300
310
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
@@ -305,7 +315,8 @@ export declare class IndexedSetStatement extends Statement {
|
|
|
305
315
|
readonly value: Expression;
|
|
306
316
|
readonly openingSquare: Token;
|
|
307
317
|
readonly closingSquare: Token;
|
|
308
|
-
|
|
318
|
+
operator: Token;
|
|
319
|
+
constructor(obj: Expression, index: Expression, value: Expression, openingSquare: Token, closingSquare: Token, operator: Token);
|
|
309
320
|
readonly range: Range;
|
|
310
321
|
transpile(state: BrsTranspileState): TranspileResult;
|
|
311
322
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
@@ -332,11 +343,13 @@ export declare class NamespaceStatement extends Statement implements TypedefProv
|
|
|
332
343
|
readonly parentSymbolTable?: SymbolTable;
|
|
333
344
|
readonly symbolTable: SymbolTable;
|
|
334
345
|
constructor(keyword: Token, nameExpression: NamespacedVariableNameExpression, body: Body, endKeyword: Token, parentSymbolTable?: SymbolTable);
|
|
346
|
+
get range(): Range;
|
|
347
|
+
cacheRange(): Range;
|
|
348
|
+
private _range;
|
|
335
349
|
/**
|
|
336
350
|
* The string name for this namespace
|
|
337
351
|
*/
|
|
338
352
|
name: string;
|
|
339
|
-
get range(): Range;
|
|
340
353
|
getName(parseMode: ParseMode): string;
|
|
341
354
|
transpile(state: BrsTranspileState): TranspileResult;
|
|
342
355
|
getTypedef(state: BrsTranspileState): string[];
|
|
@@ -347,15 +360,69 @@ export declare class ImportStatement extends Statement implements TypedefProvide
|
|
|
347
360
|
readonly filePathToken: Token;
|
|
348
361
|
constructor(importToken: Token, filePathToken: Token);
|
|
349
362
|
filePath: string;
|
|
350
|
-
range: Range;
|
|
351
|
-
transpile(state: BrsTranspileState): (string |
|
|
363
|
+
readonly range: Range;
|
|
364
|
+
transpile(state: BrsTranspileState): (string | SourceNode)[];
|
|
352
365
|
/**
|
|
353
366
|
* Get the typedef for this statement
|
|
354
367
|
*/
|
|
355
368
|
getTypedef(state: BrsTranspileState): string[];
|
|
356
369
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
357
370
|
}
|
|
358
|
-
export declare class
|
|
371
|
+
export declare class InterfaceStatement extends Statement implements TypedefProvider, MemberSymbolTableProvider {
|
|
372
|
+
name: Identifier;
|
|
373
|
+
parentInterfaceName: NamespacedVariableNameExpression;
|
|
374
|
+
body: Statement[];
|
|
375
|
+
namespaceName: NamespacedVariableNameExpression;
|
|
376
|
+
readonly memberTable: SymbolTable;
|
|
377
|
+
constructor(interfaceToken: Token, name: Identifier, extendsToken: Token, parentInterfaceName: NamespacedVariableNameExpression, body: Statement[], endInterfaceToken: Token, namespaceName: NamespacedVariableNameExpression);
|
|
378
|
+
tokens: {
|
|
379
|
+
interface: Token;
|
|
380
|
+
name: Identifier;
|
|
381
|
+
extends: Token;
|
|
382
|
+
endInterface: Token;
|
|
383
|
+
};
|
|
384
|
+
readonly range: Range;
|
|
385
|
+
memberMap: Record<string, InterfaceMemberStatement>;
|
|
386
|
+
methods: InterfaceMethodStatement[];
|
|
387
|
+
fields: InterfaceFieldStatement[];
|
|
388
|
+
buildSymbolTable(parentIface?: InheritableStatement): void;
|
|
389
|
+
hasParent(): boolean;
|
|
390
|
+
getParentName(): boolean;
|
|
391
|
+
/**
|
|
392
|
+
* Gets an array of possible parent interface names, taking into account the namespace this interface was created under
|
|
393
|
+
* @returns array of possible parent interface names
|
|
394
|
+
*/
|
|
395
|
+
getPossibleFullParentNames(): string[];
|
|
396
|
+
getThisBscType(): InterfaceType;
|
|
397
|
+
/**
|
|
398
|
+
* The name of the interface WITH its leading namespace (if applicable)
|
|
399
|
+
*/
|
|
400
|
+
getName(parseMode: ParseMode): string;
|
|
401
|
+
transpile(state: BrsTranspileState): TranspileResult;
|
|
402
|
+
getTypedef(state: BrsTranspileState): TranspileResult;
|
|
403
|
+
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
404
|
+
}
|
|
405
|
+
export declare class InterfaceFieldStatement extends Statement implements TypedefProvider {
|
|
406
|
+
type?: TypeExpression;
|
|
407
|
+
namespaceName?: NamespacedVariableNameExpression;
|
|
408
|
+
transpile(state: BrsTranspileState): TranspileResult;
|
|
409
|
+
constructor(nameToken: Identifier, asToken: Token, type?: TypeExpression, namespaceName?: NamespacedVariableNameExpression);
|
|
410
|
+
readonly range: Range;
|
|
411
|
+
tokens: {
|
|
412
|
+
name: Identifier;
|
|
413
|
+
as: Token;
|
|
414
|
+
};
|
|
415
|
+
getType(): import("../types/BscType").BscType;
|
|
416
|
+
get name(): Identifier;
|
|
417
|
+
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
418
|
+
getTypedef(state: BrsTranspileState): (string | SourceNode)[];
|
|
419
|
+
}
|
|
420
|
+
export declare class InterfaceMethodStatement extends FunctionStatement implements TypedefProvider {
|
|
421
|
+
transpile(state: BrsTranspileState): TranspileResult;
|
|
422
|
+
constructor(name: Identifier, func: FunctionExpression);
|
|
423
|
+
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
424
|
+
}
|
|
425
|
+
export declare class ClassStatement extends Statement implements TypedefProvider, MemberSymbolTableProvider {
|
|
359
426
|
readonly classKeyword: Token;
|
|
360
427
|
/**
|
|
361
428
|
* The name of the class (without namespace prefix)
|
|
@@ -366,16 +433,22 @@ export declare class ClassStatement extends Statement implements TypedefProvider
|
|
|
366
433
|
readonly extendsKeyword?: Token;
|
|
367
434
|
readonly parentClassName?: NamespacedVariableNameExpression;
|
|
368
435
|
readonly namespaceName?: NamespacedVariableNameExpression;
|
|
436
|
+
readonly currentSymbolTable?: SymbolTable;
|
|
437
|
+
readonly symbolTable: SymbolTable;
|
|
438
|
+
readonly memberTable: SymbolTable;
|
|
369
439
|
constructor(classKeyword: Token,
|
|
370
440
|
/**
|
|
371
441
|
* The name of the class (without namespace prefix)
|
|
372
442
|
*/
|
|
373
|
-
name: Identifier, body: Statement[], end: Token, extendsKeyword?: Token, parentClassName?: NamespacedVariableNameExpression, namespaceName?: NamespacedVariableNameExpression);
|
|
443
|
+
name: Identifier, body: Statement[], end: Token, extendsKeyword?: Token, parentClassName?: NamespacedVariableNameExpression, namespaceName?: NamespacedVariableNameExpression, currentSymbolTable?: SymbolTable);
|
|
374
444
|
getName(parseMode: ParseMode): string;
|
|
375
|
-
memberMap: Record<string,
|
|
376
|
-
methods:
|
|
377
|
-
fields:
|
|
445
|
+
memberMap: Record<string, MemberStatement>;
|
|
446
|
+
methods: MethodStatement[];
|
|
447
|
+
fields: FieldStatement[];
|
|
378
448
|
readonly range: Range;
|
|
449
|
+
getThisBscType(): CustomType;
|
|
450
|
+
getConstructorFunctionType(): import("../types/TypedFunctionType").TypedFunctionType;
|
|
451
|
+
buildSymbolTable(parentClass?: InheritableStatement): void;
|
|
379
452
|
transpile(state: BrsTranspileState): any[];
|
|
380
453
|
getTypedef(state: BrsTranspileState): TranspileResult;
|
|
381
454
|
/**
|
|
@@ -384,7 +457,12 @@ export declare class ClassStatement extends Statement implements TypedefProvider
|
|
|
384
457
|
* The base class is index 0, its child is index 1, and so on.
|
|
385
458
|
*/
|
|
386
459
|
getParentClassIndex(state: BrsTranspileState): number;
|
|
387
|
-
|
|
460
|
+
hasParent(): boolean;
|
|
461
|
+
/**
|
|
462
|
+
* Gets an array of possible parent class names, taking into account the namespace this class was created under
|
|
463
|
+
* @returns array of possible parent class names
|
|
464
|
+
*/
|
|
465
|
+
getPossibleFullParentNames(): string[];
|
|
388
466
|
/**
|
|
389
467
|
* Get all ancestor classes, in closest-to-furthest order (i.e. 0 is parent, 1 is grandparent, etc...).
|
|
390
468
|
* This will return an empty array if no ancestors were found
|
|
@@ -395,7 +473,6 @@ export declare class ClassStatement extends Statement implements TypedefProvider
|
|
|
395
473
|
* Get the constructor function for this class (if exists), or undefined if not exist
|
|
396
474
|
*/
|
|
397
475
|
private getConstructorFunction;
|
|
398
|
-
private getEmptyNewFunction;
|
|
399
476
|
/**
|
|
400
477
|
* Determine if the specified field was declared in one of the ancestor classes
|
|
401
478
|
*/
|
|
@@ -414,11 +491,13 @@ export declare class ClassStatement extends Statement implements TypedefProvider
|
|
|
414
491
|
private getTranspiledClassFunction;
|
|
415
492
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
416
493
|
}
|
|
417
|
-
export declare class
|
|
418
|
-
|
|
419
|
-
|
|
420
|
-
|
|
421
|
-
|
|
494
|
+
export declare class MethodStatement extends FunctionStatement {
|
|
495
|
+
override: Token;
|
|
496
|
+
constructor(modifiers: Token | Token[], name: Identifier, func: FunctionExpression, override: Token);
|
|
497
|
+
modifiers: Token[];
|
|
498
|
+
get accessModifier(): Token;
|
|
499
|
+
get range(): Range;
|
|
500
|
+
cacheRange(): Range;
|
|
422
501
|
transpile(state: BrsTranspileState): any[];
|
|
423
502
|
getTypedef(state: BrsTranspileState): string[];
|
|
424
503
|
/**
|
|
@@ -432,33 +511,53 @@ export declare class ClassMethodStatement extends FunctionStatement {
|
|
|
432
511
|
private injectFieldInitializersForConstructor;
|
|
433
512
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
434
513
|
}
|
|
435
|
-
export declare class
|
|
514
|
+
export declare class FieldStatement extends Statement implements TypedefProvider {
|
|
436
515
|
readonly accessModifier?: Token;
|
|
437
516
|
readonly name?: Identifier;
|
|
438
517
|
readonly as?: Token;
|
|
439
|
-
readonly type?:
|
|
518
|
+
readonly type?: TypeExpression;
|
|
440
519
|
readonly equal?: Token;
|
|
441
520
|
readonly initialValue?: Expression;
|
|
442
|
-
|
|
521
|
+
readonly namespaceName?: NamespacedVariableNameExpression;
|
|
522
|
+
constructor(accessModifier?: Token, name?: Identifier, as?: Token, type?: TypeExpression, equal?: Token, initialValue?: Expression, namespaceName?: NamespacedVariableNameExpression);
|
|
523
|
+
readonly range: Range;
|
|
443
524
|
/**
|
|
444
525
|
* Derive a ValueKind from the type token, or the initial value.
|
|
445
526
|
* Defaults to `DynamicType`
|
|
446
527
|
*/
|
|
447
|
-
getType():
|
|
448
|
-
readonly range: Range;
|
|
528
|
+
getType(parseMode?: ParseMode): DynamicType | import("../types/BscType").BscType;
|
|
449
529
|
transpile(state: BrsTranspileState): TranspileResult;
|
|
450
530
|
getTypedef(state: BrsTranspileState): any[];
|
|
451
531
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
452
532
|
}
|
|
453
|
-
export declare type
|
|
533
|
+
export declare type MemberStatement = FieldStatement | MethodStatement;
|
|
534
|
+
export declare type InterfaceMemberStatement = InterfaceFieldStatement | InterfaceMethodStatement;
|
|
535
|
+
export declare type MemberFieldStatement = FieldStatement | InterfaceFieldStatement;
|
|
536
|
+
export declare type MemberMethodStatement = MethodStatement | InterfaceMethodStatement;
|
|
454
537
|
export declare class TryCatchStatement extends Statement {
|
|
455
|
-
|
|
538
|
+
tokens: {
|
|
539
|
+
try: Token;
|
|
540
|
+
endTry?: Token;
|
|
541
|
+
};
|
|
456
542
|
tryBranch?: Block;
|
|
457
|
-
|
|
543
|
+
catchStatement?: CatchStatement;
|
|
544
|
+
constructor(tokens: {
|
|
545
|
+
try: Token;
|
|
546
|
+
endTry?: Token;
|
|
547
|
+
}, tryBranch?: Block, catchStatement?: CatchStatement);
|
|
548
|
+
readonly range: Range;
|
|
549
|
+
transpile(state: BrsTranspileState): TranspileResult;
|
|
550
|
+
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
551
|
+
}
|
|
552
|
+
export declare class CatchStatement extends Statement {
|
|
553
|
+
tokens: {
|
|
554
|
+
catch: Token;
|
|
555
|
+
};
|
|
458
556
|
exceptionVariable?: Identifier;
|
|
459
557
|
catchBranch?: Block;
|
|
460
|
-
|
|
461
|
-
|
|
558
|
+
constructor(tokens: {
|
|
559
|
+
catch: Token;
|
|
560
|
+
}, exceptionVariable?: Identifier, catchBranch?: Block);
|
|
462
561
|
get range(): Range;
|
|
463
562
|
transpile(state: BrsTranspileState): TranspileResult;
|
|
464
563
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
@@ -467,7 +566,62 @@ export declare class ThrowStatement extends Statement {
|
|
|
467
566
|
throwToken: Token;
|
|
468
567
|
expression?: Expression;
|
|
469
568
|
constructor(throwToken: Token, expression?: Expression);
|
|
470
|
-
range: Range;
|
|
471
|
-
transpile(state: BrsTranspileState): (string |
|
|
569
|
+
readonly range: Range;
|
|
570
|
+
transpile(state: BrsTranspileState): (string | SourceNode)[];
|
|
571
|
+
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
572
|
+
}
|
|
573
|
+
export declare class EnumStatement extends Statement implements TypedefProvider {
|
|
574
|
+
tokens: {
|
|
575
|
+
enum: Token;
|
|
576
|
+
name: Identifier;
|
|
577
|
+
endEnum: Token;
|
|
578
|
+
};
|
|
579
|
+
body: Array<EnumMemberStatement | CommentStatement>;
|
|
580
|
+
namespaceName?: NamespacedVariableNameExpression;
|
|
581
|
+
readonly symbolTable: SymbolTable;
|
|
582
|
+
constructor(tokens: {
|
|
583
|
+
enum: Token;
|
|
584
|
+
name: Identifier;
|
|
585
|
+
endEnum: Token;
|
|
586
|
+
}, body: Array<EnumMemberStatement | CommentStatement>, namespaceName?: NamespacedVariableNameExpression);
|
|
587
|
+
readonly range: Range;
|
|
588
|
+
getMembers(): EnumMemberStatement[];
|
|
589
|
+
/**
|
|
590
|
+
* Get a map of member names and their values.
|
|
591
|
+
* All values are stored as their AST LiteralExpression representation (i.e. string enum values include the wrapping quotes)
|
|
592
|
+
*/
|
|
593
|
+
getMemberValueMap(): Map<string, string>;
|
|
594
|
+
getMemberValue(name: string): string;
|
|
595
|
+
buildSymbolTable(): void;
|
|
596
|
+
/**
|
|
597
|
+
* The name of the enum (without the namespace prefix)
|
|
598
|
+
*/
|
|
599
|
+
get name(): string;
|
|
600
|
+
/**
|
|
601
|
+
* The name of the enum WITH its leading namespace (if applicable)
|
|
602
|
+
*/
|
|
603
|
+
get fullName(): string;
|
|
604
|
+
getThisBscType(): EnumType;
|
|
605
|
+
transpile(state: BrsTranspileState): any[];
|
|
606
|
+
getTypedef(state: BrsTranspileState): TranspileResult;
|
|
607
|
+
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
608
|
+
}
|
|
609
|
+
export declare class EnumMemberStatement extends Statement implements TypedefProvider {
|
|
610
|
+
tokens: {
|
|
611
|
+
name: Identifier;
|
|
612
|
+
equal?: Token;
|
|
613
|
+
};
|
|
614
|
+
value?: Expression;
|
|
615
|
+
constructor(tokens: {
|
|
616
|
+
name: Identifier;
|
|
617
|
+
equal?: Token;
|
|
618
|
+
}, value?: Expression);
|
|
619
|
+
readonly range: Range;
|
|
620
|
+
/**
|
|
621
|
+
* The name of the member
|
|
622
|
+
*/
|
|
623
|
+
get name(): string;
|
|
624
|
+
transpile(state: BrsTranspileState): TranspileResult;
|
|
625
|
+
getTypedef(state: BrsTranspileState): (string | SourceNode)[];
|
|
472
626
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
473
627
|
}
|