brighterscript 1.0.0-alpha.50 → 1.0.0-alpha.51
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/README.md +3 -0
- package/bsconfig.schema.json +75 -0
- package/dist/BsConfig.d.ts +90 -5
- package/dist/CodeActionUtil.d.ts +17 -0
- package/dist/CodeActionUtil.js.map +1 -1
- package/dist/CommentFlagProcessor.d.ts +16 -12
- package/dist/CommentFlagProcessor.js +141 -59
- package/dist/CommentFlagProcessor.js.map +1 -1
- package/dist/CrossScopeValidator.js +13 -5
- package/dist/CrossScopeValidator.js.map +1 -1
- package/dist/DiagnosticManager.d.ts +1 -0
- package/dist/DiagnosticManager.js +25 -9
- package/dist/DiagnosticManager.js.map +1 -1
- package/dist/DiagnosticMessages.d.ts +61 -17
- package/dist/DiagnosticMessages.js +78 -24
- package/dist/DiagnosticMessages.js.map +1 -1
- package/dist/LanguageServer.d.ts +39 -2
- package/dist/LanguageServer.js +142 -5
- package/dist/LanguageServer.js.map +1 -1
- package/dist/Program.d.ts +62 -1
- package/dist/Program.js +185 -13
- package/dist/Program.js.map +1 -1
- package/dist/ProgramBuilder.d.ts +1 -8
- package/dist/ProgramBuilder.js +31 -11
- package/dist/ProgramBuilder.js.map +1 -1
- package/dist/Scope.d.ts +87 -6
- package/dist/Scope.js +76 -31
- package/dist/Scope.js.map +1 -1
- package/dist/ScopeNamespaceLookup.d.ts +73 -0
- package/dist/ScopeNamespaceLookup.js +242 -0
- package/dist/ScopeNamespaceLookup.js.map +1 -0
- package/dist/SymbolTable.d.ts +9 -2
- package/dist/SymbolTable.js +24 -14
- package/dist/SymbolTable.js.map +1 -1
- package/dist/astUtils/CachedLookups.js +3 -0
- package/dist/astUtils/CachedLookups.js.map +1 -1
- package/dist/astUtils/reflection.d.ts +4 -1
- package/dist/astUtils/reflection.js +24 -4
- package/dist/astUtils/reflection.js.map +1 -1
- package/dist/astUtils/visitors.d.ts +2 -1
- package/dist/astUtils/visitors.js.map +1 -1
- package/dist/bscPlugin/BscPlugin.d.ts +4 -2
- package/dist/bscPlugin/BscPlugin.js +10 -2
- package/dist/bscPlugin/BscPlugin.js.map +1 -1
- package/dist/bscPlugin/CallExpressionInfo.d.ts +1 -1
- package/dist/bscPlugin/CallExpressionInfo.js +1 -2
- package/dist/bscPlugin/CallExpressionInfo.js.map +1 -1
- package/dist/bscPlugin/FileWriter.d.ts +13 -0
- package/dist/bscPlugin/FileWriter.js +56 -1
- package/dist/bscPlugin/FileWriter.js.map +1 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.d.ts +106 -5
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +630 -126
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
- package/dist/bscPlugin/codeActions/FixAllCodeActionsProcessor.d.ts +17 -0
- package/dist/bscPlugin/codeActions/FixAllCodeActionsProcessor.js +66 -0
- package/dist/bscPlugin/codeActions/FixAllCodeActionsProcessor.js.map +1 -0
- package/dist/bscPlugin/codeActions/codeActionHelpers.d.ts +18 -0
- package/dist/bscPlugin/codeActions/codeActionHelpers.js +31 -0
- package/dist/bscPlugin/codeActions/codeActionHelpers.js.map +1 -0
- package/dist/bscPlugin/completions/CompletionsProcessor.d.ts +1 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.js +5 -5
- package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
- package/dist/bscPlugin/definition/DefinitionProvider.js +8 -0
- package/dist/bscPlugin/definition/DefinitionProvider.js.map +1 -1
- package/dist/bscPlugin/hover/HoverProcessor.js +11 -3
- package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -1
- package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.d.ts +7 -0
- package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.js +77 -0
- package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.js.map +1 -0
- package/dist/bscPlugin/serialize/FileSerializer.d.ts +1 -1
- package/dist/bscPlugin/serialize/FileSerializer.js +12 -7
- package/dist/bscPlugin/serialize/FileSerializer.js.map +1 -1
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.d.ts +7 -0
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js +87 -1
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js.map +1 -1
- package/dist/bscPlugin/validation/BrsFileValidator.d.ts +14 -0
- package/dist/bscPlugin/validation/BrsFileValidator.js +97 -21
- package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
- package/dist/bscPlugin/validation/ScopeValidator.d.ts +17 -0
- package/dist/bscPlugin/validation/ScopeValidator.js +162 -4
- package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
- package/dist/bscPlugin/validation/XmlFileValidator.js +14 -0
- package/dist/bscPlugin/validation/XmlFileValidator.js.map +1 -1
- package/dist/cli.js +13 -0
- package/dist/cli.js.map +1 -1
- package/dist/diagnosticUtils.d.ts +51 -1
- package/dist/diagnosticUtils.js +222 -1
- package/dist/diagnosticUtils.js.map +1 -1
- package/dist/files/BrsFile.d.ts +18 -2
- package/dist/files/BrsFile.js +87 -6
- package/dist/files/BrsFile.js.map +1 -1
- package/dist/files/XmlFile.js +2 -1
- package/dist/files/XmlFile.js.map +1 -1
- package/dist/interfaces.d.ts +68 -23
- package/dist/interfaces.js.map +1 -1
- package/dist/lexer/Lexer.js +4 -5
- package/dist/lexer/Lexer.js.map +1 -1
- package/dist/lexer/Token.d.ts +1 -1
- package/dist/lexer/TokenKind.d.ts +8 -0
- package/dist/lexer/TokenKind.js +21 -1
- package/dist/lexer/TokenKind.js.map +1 -1
- package/dist/lsp/LspProject.d.ts +49 -1
- package/dist/lsp/Project.d.ts +33 -1
- package/dist/lsp/Project.js +129 -4
- package/dist/lsp/Project.js.map +1 -1
- package/dist/lsp/ProjectManager.d.ts +48 -2
- package/dist/lsp/ProjectManager.js +152 -9
- package/dist/lsp/ProjectManager.js.map +1 -1
- package/dist/lsp/worker/WorkerThreadProject.d.ts +27 -2
- package/dist/lsp/worker/WorkerThreadProject.js +16 -0
- package/dist/lsp/worker/WorkerThreadProject.js.map +1 -1
- package/dist/parser/AstNode.d.ts +3 -1
- package/dist/parser/AstNode.js +2 -0
- package/dist/parser/AstNode.js.map +1 -1
- package/dist/parser/Expression.d.ts +54 -5
- package/dist/parser/Expression.js +112 -7
- package/dist/parser/Expression.js.map +1 -1
- package/dist/parser/Parser.d.ts +24 -1
- package/dist/parser/Parser.js +180 -41
- package/dist/parser/Parser.js.map +1 -1
- package/dist/parser/SGParser.d.ts +1 -0
- package/dist/parser/SGParser.js +9 -0
- package/dist/parser/SGParser.js.map +1 -1
- package/dist/parser/Statement.d.ts +6 -1
- package/dist/parser/Statement.js +22 -14
- package/dist/parser/Statement.js.map +1 -1
- package/dist/parser/TranspileState.d.ts +4 -2
- package/dist/parser/TranspileState.js +10 -4
- package/dist/parser/TranspileState.js.map +1 -1
- package/dist/roku-types/data.json +210 -3
- package/dist/types/ArrayType.js +6 -1
- package/dist/types/ArrayType.js.map +1 -1
- package/dist/types/BooleanType.js +1 -1
- package/dist/types/BooleanType.js.map +1 -1
- package/dist/types/CallFuncableType.d.ts +1 -1
- package/dist/types/ClassType.js +3 -0
- package/dist/types/ClassType.js.map +1 -1
- package/dist/types/ComponentType.js +3 -0
- package/dist/types/ComponentType.js.map +1 -1
- package/dist/types/EnumType.js +3 -0
- package/dist/types/EnumType.js.map +1 -1
- package/dist/types/IntersectionType.js +3 -0
- package/dist/types/IntersectionType.js.map +1 -1
- package/dist/types/ReferenceType.js +6 -0
- package/dist/types/ReferenceType.js.map +1 -1
- package/dist/types/TypeStatementType.d.ts +1 -0
- package/dist/types/TypeStatementType.js +12 -1
- package/dist/types/TypeStatementType.js.map +1 -1
- package/dist/types/TypedFunctionType.js +20 -10
- package/dist/types/TypedFunctionType.js.map +1 -1
- package/dist/types/UnionType.js +3 -0
- package/dist/types/UnionType.js.map +1 -1
- package/dist/types/helpers.js +6 -0
- package/dist/types/helpers.js.map +1 -1
- package/dist/util.d.ts +42 -3
- package/dist/util.js +131 -7
- package/dist/util.js.map +1 -1
- package/package.json +24 -26
- package/dist/astUtils/CachedLookups.spec.d.ts +0 -1
- package/dist/astUtils/CachedLookups.spec.js +0 -39
- package/dist/astUtils/CachedLookups.spec.js.map +0 -1
- package/dist/astUtils/Editor.spec.d.ts +0 -1
- package/dist/astUtils/Editor.spec.js +0 -258
- package/dist/astUtils/Editor.spec.js.map +0 -1
- package/dist/astUtils/creators.spec.d.ts +0 -1
- package/dist/astUtils/creators.spec.js +0 -21
- package/dist/astUtils/creators.spec.js.map +0 -1
- package/dist/astUtils/reflection.spec.d.ts +0 -1
- package/dist/astUtils/reflection.spec.js +0 -392
- package/dist/astUtils/reflection.spec.js.map +0 -1
- package/dist/astUtils/stackedVisitor.spec.d.ts +0 -1
- package/dist/astUtils/stackedVisitor.spec.js +0 -79
- package/dist/astUtils/stackedVisitor.spec.js.map +0 -1
- package/dist/astUtils/visitors.spec.d.ts +0 -1
- package/dist/astUtils/visitors.spec.js +0 -1432
- package/dist/astUtils/visitors.spec.js.map +0 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.d.ts +0 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +0 -311
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +0 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.spec.d.ts +0 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.spec.js +0 -2512
- package/dist/bscPlugin/completions/CompletionsProcessor.spec.js.map +0 -1
- package/dist/bscPlugin/definition/DefinitionProvider.spec.d.ts +0 -1
- package/dist/bscPlugin/definition/DefinitionProvider.spec.js +0 -87
- package/dist/bscPlugin/definition/DefinitionProvider.spec.js.map +0 -1
- package/dist/bscPlugin/hover/HoverProcessor.spec.d.ts +0 -1
- package/dist/bscPlugin/hover/HoverProcessor.spec.js +0 -991
- package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +0 -1
- package/dist/bscPlugin/references/ReferencesProvider.spec.d.ts +0 -1
- package/dist/bscPlugin/references/ReferencesProvider.spec.js +0 -51
- package/dist/bscPlugin/references/ReferencesProvider.spec.js.map +0 -1
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.d.ts +0 -1
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +0 -564
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +0 -1
- package/dist/bscPlugin/serialize/BslibInjector.spec.d.ts +0 -1
- package/dist/bscPlugin/serialize/BslibInjector.spec.js +0 -33
- package/dist/bscPlugin/serialize/BslibInjector.spec.js.map +0 -1
- package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.d.ts +0 -1
- package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.js +0 -291
- package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.js.map +0 -1
- package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.d.ts +0 -1
- package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.js +0 -245
- package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.js.map +0 -1
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.d.ts +0 -1
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js +0 -75
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js.map +0 -1
- package/dist/bscPlugin/validation/BrsFileValidator.spec.d.ts +0 -1
- package/dist/bscPlugin/validation/BrsFileValidator.spec.js +0 -1517
- package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +0 -1
- package/dist/bscPlugin/validation/ScopeValidator.spec.d.ts +0 -1
- package/dist/bscPlugin/validation/ScopeValidator.spec.js +0 -6135
- package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +0 -1
- package/dist/common/Sequencer.spec.d.ts +0 -1
- package/dist/common/Sequencer.spec.js +0 -75
- package/dist/common/Sequencer.spec.js.map +0 -1
- package/dist/files/BrsFile.Class.spec.d.ts +0 -1
- package/dist/files/BrsFile.Class.spec.js +0 -2035
- package/dist/files/BrsFile.Class.spec.js.map +0 -1
- package/dist/files/BrsFile.spec.d.ts +0 -1
- package/dist/files/BrsFile.spec.js +0 -5848
- package/dist/files/BrsFile.spec.js.map +0 -1
- package/dist/files/LazyFileData.spec.d.ts +0 -1
- package/dist/files/LazyFileData.spec.js +0 -27
- package/dist/files/LazyFileData.spec.js.map +0 -1
- package/dist/files/XmlFile.spec.d.ts +0 -1
- package/dist/files/XmlFile.spec.js +0 -1173
- package/dist/files/XmlFile.spec.js.map +0 -1
- package/dist/files/tests/imports.spec.d.ts +0 -1
- package/dist/files/tests/imports.spec.js +0 -251
- package/dist/files/tests/imports.spec.js.map +0 -1
- package/dist/files/tests/optionalChaning.spec.d.ts +0 -1
- package/dist/files/tests/optionalChaning.spec.js +0 -152
- package/dist/files/tests/optionalChaning.spec.js.map +0 -1
- package/dist/lexer/Character.spec.d.ts +0 -1
- package/dist/lexer/Character.spec.js +0 -27
- package/dist/lexer/Character.spec.js.map +0 -1
- package/dist/lexer/Lexer.spec.d.ts +0 -1
- package/dist/lexer/Lexer.spec.js +0 -1345
- package/dist/lexer/Lexer.spec.js.map +0 -1
- package/dist/lsp/ActionQueue.spec.d.ts +0 -1
- package/dist/lsp/ActionQueue.spec.js +0 -80
- package/dist/lsp/ActionQueue.spec.js.map +0 -1
- package/dist/lsp/DocumentManager.spec.d.ts +0 -1
- package/dist/lsp/DocumentManager.spec.js +0 -103
- package/dist/lsp/DocumentManager.spec.js.map +0 -1
- package/dist/lsp/PathFilterer.spec.d.ts +0 -1
- package/dist/lsp/PathFilterer.spec.js +0 -182
- package/dist/lsp/PathFilterer.spec.js.map +0 -1
- package/dist/lsp/Project.spec.d.ts +0 -1
- package/dist/lsp/Project.spec.js +0 -267
- package/dist/lsp/Project.spec.js.map +0 -1
- package/dist/lsp/ProjectManager.spec.d.ts +0 -1
- package/dist/lsp/ProjectManager.spec.js +0 -913
- package/dist/lsp/ProjectManager.spec.js.map +0 -1
- package/dist/lsp/worker/MessageHandler.spec.d.ts +0 -1
- package/dist/lsp/worker/MessageHandler.spec.js +0 -64
- package/dist/lsp/worker/MessageHandler.spec.js.map +0 -1
- package/dist/lsp/worker/WorkerPool.spec.d.ts +0 -1
- package/dist/lsp/worker/WorkerPool.spec.js +0 -59
- package/dist/lsp/worker/WorkerPool.spec.js.map +0 -1
- package/dist/lsp/worker/WorkerThreadProject.spec.d.ts +0 -2
- package/dist/lsp/worker/WorkerThreadProject.spec.js +0 -71
- package/dist/lsp/worker/WorkerThreadProject.spec.js.map +0 -1
- package/dist/parser/AstNode.spec.d.ts +0 -1
- package/dist/parser/AstNode.spec.js +0 -1455
- package/dist/parser/AstNode.spec.js.map +0 -1
- package/dist/parser/BrightScriptDocParser.spec.d.ts +0 -1
- package/dist/parser/BrightScriptDocParser.spec.js +0 -310
- package/dist/parser/BrightScriptDocParser.spec.js.map +0 -1
- package/dist/parser/Expression.spec.d.ts +0 -1
- package/dist/parser/Expression.spec.js +0 -40
- package/dist/parser/Expression.spec.js.map +0 -1
- package/dist/parser/Parser.Class.spec.d.ts +0 -1
- package/dist/parser/Parser.Class.spec.js +0 -520
- package/dist/parser/Parser.Class.spec.js.map +0 -1
- package/dist/parser/Parser.spec.d.ts +0 -6
- package/dist/parser/Parser.spec.js +0 -2802
- package/dist/parser/Parser.spec.js.map +0 -1
- package/dist/parser/SGParser.spec.d.ts +0 -1
- package/dist/parser/SGParser.spec.js +0 -130
- package/dist/parser/SGParser.spec.js.map +0 -1
- package/dist/parser/Statement.spec.d.ts +0 -1
- package/dist/parser/Statement.spec.js +0 -191
- package/dist/parser/Statement.spec.js.map +0 -1
- package/dist/parser/tests/Parser.spec.d.ts +0 -12
- package/dist/parser/tests/Parser.spec.js +0 -29
- package/dist/parser/tests/Parser.spec.js.map +0 -1
- package/dist/parser/tests/controlFlow/For.spec.d.ts +0 -1
- package/dist/parser/tests/controlFlow/For.spec.js +0 -169
- package/dist/parser/tests/controlFlow/For.spec.js.map +0 -1
- package/dist/parser/tests/controlFlow/ForEach.spec.d.ts +0 -1
- package/dist/parser/tests/controlFlow/ForEach.spec.js +0 -140
- package/dist/parser/tests/controlFlow/ForEach.spec.js.map +0 -1
- package/dist/parser/tests/controlFlow/If.spec.d.ts +0 -1
- package/dist/parser/tests/controlFlow/If.spec.js +0 -694
- package/dist/parser/tests/controlFlow/If.spec.js.map +0 -1
- package/dist/parser/tests/controlFlow/While.spec.d.ts +0 -1
- package/dist/parser/tests/controlFlow/While.spec.js +0 -114
- package/dist/parser/tests/controlFlow/While.spec.js.map +0 -1
- package/dist/parser/tests/expression/Additive.spec.d.ts +0 -1
- package/dist/parser/tests/expression/Additive.spec.js +0 -107
- package/dist/parser/tests/expression/Additive.spec.js.map +0 -1
- package/dist/parser/tests/expression/ArrayLiterals.spec.d.ts +0 -1
- package/dist/parser/tests/expression/ArrayLiterals.spec.js +0 -304
- package/dist/parser/tests/expression/ArrayLiterals.spec.js.map +0 -1
- package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.d.ts +0 -1
- package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +0 -342
- package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js.map +0 -1
- package/dist/parser/tests/expression/Boolean.spec.d.ts +0 -1
- package/dist/parser/tests/expression/Boolean.spec.js +0 -90
- package/dist/parser/tests/expression/Boolean.spec.js.map +0 -1
- package/dist/parser/tests/expression/Call.spec.d.ts +0 -1
- package/dist/parser/tests/expression/Call.spec.js +0 -252
- package/dist/parser/tests/expression/Call.spec.js.map +0 -1
- package/dist/parser/tests/expression/Exponential.spec.d.ts +0 -1
- package/dist/parser/tests/expression/Exponential.spec.js +0 -37
- package/dist/parser/tests/expression/Exponential.spec.js.map +0 -1
- package/dist/parser/tests/expression/Function.spec.d.ts +0 -1
- package/dist/parser/tests/expression/Function.spec.js +0 -412
- package/dist/parser/tests/expression/Function.spec.js.map +0 -1
- package/dist/parser/tests/expression/Indexing.spec.d.ts +0 -1
- package/dist/parser/tests/expression/Indexing.spec.js +0 -302
- package/dist/parser/tests/expression/Indexing.spec.js.map +0 -1
- package/dist/parser/tests/expression/Multiplicative.spec.d.ts +0 -1
- package/dist/parser/tests/expression/Multiplicative.spec.js +0 -67
- package/dist/parser/tests/expression/Multiplicative.spec.js.map +0 -1
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.d.ts +0 -1
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +0 -346
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +0 -1
- package/dist/parser/tests/expression/PrefixUnary.spec.d.ts +0 -1
- package/dist/parser/tests/expression/PrefixUnary.spec.js +0 -111
- package/dist/parser/tests/expression/PrefixUnary.spec.js.map +0 -1
- package/dist/parser/tests/expression/Primary.spec.d.ts +0 -1
- package/dist/parser/tests/expression/Primary.spec.js +0 -165
- package/dist/parser/tests/expression/Primary.spec.js.map +0 -1
- package/dist/parser/tests/expression/RegexLiteralExpression.spec.d.ts +0 -1
- package/dist/parser/tests/expression/RegexLiteralExpression.spec.js +0 -171
- package/dist/parser/tests/expression/RegexLiteralExpression.spec.js.map +0 -1
- package/dist/parser/tests/expression/Relational.spec.d.ts +0 -1
- package/dist/parser/tests/expression/Relational.spec.js +0 -83
- package/dist/parser/tests/expression/Relational.spec.js.map +0 -1
- package/dist/parser/tests/expression/SourceLiteralExpression.spec.d.ts +0 -1
- package/dist/parser/tests/expression/SourceLiteralExpression.spec.js +0 -201
- package/dist/parser/tests/expression/SourceLiteralExpression.spec.js.map +0 -1
- package/dist/parser/tests/expression/TemplateStringExpression.spec.d.ts +0 -1
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js +0 -389
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +0 -1
- package/dist/parser/tests/expression/TernaryExpression.spec.d.ts +0 -1
- package/dist/parser/tests/expression/TernaryExpression.spec.js +0 -878
- package/dist/parser/tests/expression/TernaryExpression.spec.js.map +0 -1
- package/dist/parser/tests/expression/TypeExpression.spec.d.ts +0 -1
- package/dist/parser/tests/expression/TypeExpression.spec.js +0 -126
- package/dist/parser/tests/expression/TypeExpression.spec.js.map +0 -1
- package/dist/parser/tests/expression/UnaryExpression.spec.d.ts +0 -1
- package/dist/parser/tests/expression/UnaryExpression.spec.js +0 -52
- package/dist/parser/tests/expression/UnaryExpression.spec.js.map +0 -1
- package/dist/parser/tests/statement/AssignmentOperators.spec.d.ts +0 -1
- package/dist/parser/tests/statement/AssignmentOperators.spec.js +0 -79
- package/dist/parser/tests/statement/AssignmentOperators.spec.js.map +0 -1
- package/dist/parser/tests/statement/ConstStatement.spec.d.ts +0 -1
- package/dist/parser/tests/statement/ConstStatement.spec.js +0 -500
- package/dist/parser/tests/statement/ConstStatement.spec.js.map +0 -1
- package/dist/parser/tests/statement/Continue.spec.d.ts +0 -1
- package/dist/parser/tests/statement/Continue.spec.js +0 -119
- package/dist/parser/tests/statement/Continue.spec.js.map +0 -1
- package/dist/parser/tests/statement/Declaration.spec.d.ts +0 -1
- package/dist/parser/tests/statement/Declaration.spec.js +0 -114
- package/dist/parser/tests/statement/Declaration.spec.js.map +0 -1
- package/dist/parser/tests/statement/Dim.spec.d.ts +0 -1
- package/dist/parser/tests/statement/Dim.spec.js +0 -80
- package/dist/parser/tests/statement/Dim.spec.js.map +0 -1
- package/dist/parser/tests/statement/Enum.spec.d.ts +0 -1
- package/dist/parser/tests/statement/Enum.spec.js +0 -744
- package/dist/parser/tests/statement/Enum.spec.js.map +0 -1
- package/dist/parser/tests/statement/For.spec.d.ts +0 -1
- package/dist/parser/tests/statement/For.spec.js +0 -45
- package/dist/parser/tests/statement/For.spec.js.map +0 -1
- package/dist/parser/tests/statement/ForEach.spec.d.ts +0 -1
- package/dist/parser/tests/statement/ForEach.spec.js +0 -36
- package/dist/parser/tests/statement/ForEach.spec.js.map +0 -1
- package/dist/parser/tests/statement/Function.spec.d.ts +0 -1
- package/dist/parser/tests/statement/Function.spec.js +0 -343
- package/dist/parser/tests/statement/Function.spec.js.map +0 -1
- package/dist/parser/tests/statement/Goto.spec.d.ts +0 -1
- package/dist/parser/tests/statement/Goto.spec.js +0 -51
- package/dist/parser/tests/statement/Goto.spec.js.map +0 -1
- package/dist/parser/tests/statement/Increment.spec.d.ts +0 -1
- package/dist/parser/tests/statement/Increment.spec.js +0 -120
- package/dist/parser/tests/statement/Increment.spec.js.map +0 -1
- package/dist/parser/tests/statement/InterfaceStatement.spec.d.ts +0 -1
- package/dist/parser/tests/statement/InterfaceStatement.spec.js +0 -110
- package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +0 -1
- package/dist/parser/tests/statement/LibraryStatement.spec.d.ts +0 -1
- package/dist/parser/tests/statement/LibraryStatement.spec.js +0 -74
- package/dist/parser/tests/statement/LibraryStatement.spec.js.map +0 -1
- package/dist/parser/tests/statement/Misc.spec.d.ts +0 -1
- package/dist/parser/tests/statement/Misc.spec.js +0 -292
- package/dist/parser/tests/statement/Misc.spec.js.map +0 -1
- package/dist/parser/tests/statement/PrintStatement.spec.d.ts +0 -1
- package/dist/parser/tests/statement/PrintStatement.spec.js +0 -200
- package/dist/parser/tests/statement/PrintStatement.spec.js.map +0 -1
- package/dist/parser/tests/statement/ReturnStatement.spec.d.ts +0 -1
- package/dist/parser/tests/statement/ReturnStatement.spec.js +0 -97
- package/dist/parser/tests/statement/ReturnStatement.spec.js.map +0 -1
- package/dist/parser/tests/statement/Set.spec.d.ts +0 -1
- package/dist/parser/tests/statement/Set.spec.js +0 -232
- package/dist/parser/tests/statement/Set.spec.js.map +0 -1
- package/dist/parser/tests/statement/Stop.spec.d.ts +0 -1
- package/dist/parser/tests/statement/Stop.spec.js +0 -38
- package/dist/parser/tests/statement/Stop.spec.js.map +0 -1
- package/dist/parser/tests/statement/Throw.spec.d.ts +0 -1
- package/dist/parser/tests/statement/Throw.spec.js +0 -38
- package/dist/parser/tests/statement/Throw.spec.js.map +0 -1
- package/dist/parser/tests/statement/TryCatch.spec.d.ts +0 -1
- package/dist/parser/tests/statement/TryCatch.spec.js +0 -151
- package/dist/parser/tests/statement/TryCatch.spec.js.map +0 -1
- package/dist/preprocessor/Manifest.spec.d.ts +0 -1
- package/dist/preprocessor/Manifest.spec.js +0 -80
- package/dist/preprocessor/Manifest.spec.js.map +0 -1
- package/dist/types/ArrayType.spec.d.ts +0 -1
- package/dist/types/ArrayType.spec.js +0 -58
- package/dist/types/ArrayType.spec.js.map +0 -1
- package/dist/types/BooleanType.spec.d.ts +0 -1
- package/dist/types/BooleanType.spec.js +0 -18
- package/dist/types/BooleanType.spec.js.map +0 -1
- package/dist/types/BuiltInInterfaceAdder.spec.d.ts +0 -1
- package/dist/types/BuiltInInterfaceAdder.spec.js +0 -115
- package/dist/types/BuiltInInterfaceAdder.spec.js.map +0 -1
- package/dist/types/ClassType.spec.d.ts +0 -1
- package/dist/types/ClassType.spec.js +0 -76
- package/dist/types/ClassType.spec.js.map +0 -1
- package/dist/types/DoubleType.spec.d.ts +0 -1
- package/dist/types/DoubleType.spec.js +0 -20
- package/dist/types/DoubleType.spec.js.map +0 -1
- package/dist/types/DynamicType.spec.d.ts +0 -1
- package/dist/types/DynamicType.spec.js +0 -23
- package/dist/types/DynamicType.spec.js.map +0 -1
- package/dist/types/EnumType.spec.d.ts +0 -1
- package/dist/types/EnumType.spec.js +0 -33
- package/dist/types/EnumType.spec.js.map +0 -1
- package/dist/types/FloatType.spec.d.ts +0 -1
- package/dist/types/FloatType.spec.js +0 -12
- package/dist/types/FloatType.spec.js.map +0 -1
- package/dist/types/IntegerType.spec.d.ts +0 -1
- package/dist/types/IntegerType.spec.js +0 -16
- package/dist/types/IntegerType.spec.js.map +0 -1
- package/dist/types/InterfaceType.spec.d.ts +0 -1
- package/dist/types/InterfaceType.spec.js +0 -227
- package/dist/types/InterfaceType.spec.js.map +0 -1
- package/dist/types/IntersectionType.spec.d.ts +0 -1
- package/dist/types/IntersectionType.spec.js +0 -150
- package/dist/types/IntersectionType.spec.js.map +0 -1
- package/dist/types/InvalidType.spec.d.ts +0 -1
- package/dist/types/InvalidType.spec.js +0 -16
- package/dist/types/InvalidType.spec.js.map +0 -1
- package/dist/types/LongIntegerType.spec.d.ts +0 -1
- package/dist/types/LongIntegerType.spec.js +0 -18
- package/dist/types/LongIntegerType.spec.js.map +0 -1
- package/dist/types/ObjectType.spec.d.ts +0 -1
- package/dist/types/ObjectType.spec.js +0 -12
- package/dist/types/ObjectType.spec.js.map +0 -1
- package/dist/types/ReferenceType.spec.d.ts +0 -1
- package/dist/types/ReferenceType.spec.js +0 -151
- package/dist/types/ReferenceType.spec.js.map +0 -1
- package/dist/types/StringType.spec.d.ts +0 -1
- package/dist/types/StringType.spec.js +0 -12
- package/dist/types/StringType.spec.js.map +0 -1
- package/dist/types/TypedFunctionType.spec.d.ts +0 -1
- package/dist/types/TypedFunctionType.spec.js +0 -122
- package/dist/types/TypedFunctionType.spec.js.map +0 -1
- package/dist/types/UnionType.spec.d.ts +0 -1
- package/dist/types/UnionType.spec.js +0 -205
- package/dist/types/UnionType.spec.js.map +0 -1
- package/dist/types/VoidType.spec.d.ts +0 -1
- package/dist/types/VoidType.spec.js +0 -12
- package/dist/types/VoidType.spec.js.map +0 -1
- package/dist/types/helper.spec.d.ts +0 -1
- package/dist/types/helper.spec.js +0 -174
- package/dist/types/helper.spec.js.map +0 -1
- package/dist/types/roFunctionType.spec.d.ts +0 -1
- package/dist/types/roFunctionType.spec.js +0 -20
- package/dist/types/roFunctionType.spec.js.map +0 -1
|
@@ -229,7 +229,7 @@ export declare class LiteralExpression extends Expression {
|
|
|
229
229
|
};
|
|
230
230
|
readonly kind = AstNodeKind.LiteralExpression;
|
|
231
231
|
get location(): Location;
|
|
232
|
-
getType(options?: GetTypeOptions): DynamicType | import("..").ObjectType |
|
|
232
|
+
getType(options?: GetTypeOptions): DynamicType | VoidType | import("..").ObjectType | InvalidType | import("..").BooleanType | import("..").DoubleType | import("..").FloatType | FunctionType | import("..").IntegerType | import("..").LongIntegerType | StringType;
|
|
233
233
|
transpile(state: BrsTranspileState): TranspileResult[];
|
|
234
234
|
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
235
235
|
get leadingTrivia(): Token[];
|
|
@@ -317,13 +317,38 @@ export declare class AAMemberExpression extends Expression {
|
|
|
317
317
|
get leadingTrivia(): Token[];
|
|
318
318
|
clone(): AAMemberExpression;
|
|
319
319
|
}
|
|
320
|
+
export declare class AAIndexedMemberExpression extends Expression {
|
|
321
|
+
constructor(options: {
|
|
322
|
+
leftBracket?: Token;
|
|
323
|
+
key: Expression;
|
|
324
|
+
rightBracket?: Token;
|
|
325
|
+
colon?: Token;
|
|
326
|
+
/** The expression evaluated to determine the member's initial value. */
|
|
327
|
+
value: Expression;
|
|
328
|
+
comma?: Token;
|
|
329
|
+
});
|
|
330
|
+
readonly tokens: {
|
|
331
|
+
readonly leftBracket?: Token;
|
|
332
|
+
readonly rightBracket?: Token;
|
|
333
|
+
readonly colon?: Token;
|
|
334
|
+
readonly comma?: Token;
|
|
335
|
+
};
|
|
336
|
+
key: Expression;
|
|
337
|
+
/** The expression evaluated to determine the member's initial value. */
|
|
338
|
+
value: Expression;
|
|
339
|
+
readonly kind = AstNodeKind.AAIndexedMemberExpression;
|
|
340
|
+
readonly location: Location | undefined;
|
|
341
|
+
transpile(state: BrsTranspileState): any[];
|
|
342
|
+
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
343
|
+
clone(): AAIndexedMemberExpression;
|
|
344
|
+
}
|
|
320
345
|
export declare class AALiteralExpression extends Expression {
|
|
321
346
|
constructor(options: {
|
|
322
|
-
elements: Array<AAMemberExpression>;
|
|
323
|
-
open?: Token;
|
|
324
|
-
close?: Token;
|
|
347
|
+
readonly elements: Array<AAMemberExpression | AAIndexedMemberExpression>;
|
|
348
|
+
readonly open?: Token;
|
|
349
|
+
readonly close?: Token;
|
|
325
350
|
});
|
|
326
|
-
readonly elements: Array<AAMemberExpression>;
|
|
351
|
+
readonly elements: Array<AAMemberExpression | AAIndexedMemberExpression>;
|
|
327
352
|
readonly tokens: {
|
|
328
353
|
readonly open?: Token;
|
|
329
354
|
readonly close?: Token;
|
|
@@ -681,4 +706,28 @@ export declare class InlineInterfaceMemberExpression extends Expression {
|
|
|
681
706
|
get isOptional(): boolean;
|
|
682
707
|
clone(): InlineInterfaceMemberExpression;
|
|
683
708
|
}
|
|
709
|
+
export declare class TypedFunctionTypeExpression extends Expression {
|
|
710
|
+
constructor(options: {
|
|
711
|
+
functionType?: Token;
|
|
712
|
+
leftParen?: Token;
|
|
713
|
+
params?: FunctionParameterExpression[];
|
|
714
|
+
rightParen?: Token;
|
|
715
|
+
as?: Token;
|
|
716
|
+
returnType?: TypeExpression;
|
|
717
|
+
});
|
|
718
|
+
readonly kind = AstNodeKind.TypedFunctionTypeExpression;
|
|
719
|
+
readonly tokens: {
|
|
720
|
+
readonly functionType?: Token;
|
|
721
|
+
readonly leftParen?: Token;
|
|
722
|
+
readonly rightParen?: Token;
|
|
723
|
+
readonly as?: Token;
|
|
724
|
+
};
|
|
725
|
+
readonly params: FunctionParameterExpression[];
|
|
726
|
+
readonly returnType?: TypeExpression;
|
|
727
|
+
readonly location: Location;
|
|
728
|
+
transpile(state: BrsTranspileState): TranspileResult;
|
|
729
|
+
walk(visitor: WalkVisitor, options: WalkOptions): void;
|
|
730
|
+
getType(options: GetTypeOptions): BscType;
|
|
731
|
+
clone(): TypedFunctionTypeExpression;
|
|
732
|
+
}
|
|
684
733
|
export {};
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.InlineInterfaceMemberExpression = exports.InlineInterfaceExpression = exports.TypedArrayExpression = exports.TypecastExpression = exports.TypeExpression = exports.RegexLiteralExpression = exports.NullCoalescingExpression = exports.TernaryExpression = exports.AnnotationExpression = exports.TaggedTemplateStringExpression = exports.TemplateStringExpression = exports.TemplateStringQuasiExpression = exports.CallfuncExpression = exports.NewExpression = exports.SourceLiteralExpression = exports.VariableExpression = exports.UnaryExpression = exports.AALiteralExpression = exports.AAMemberExpression = exports.ArrayLiteralExpression = exports.EscapedCharCodeLiteralExpression = exports.PrintSeparatorExpression = exports.LiteralExpression = exports.GroupingExpression = exports.IndexedGetExpression = exports.XmlAttributeGetExpression = exports.DottedGetExpression = exports.FunctionParameterExpression = exports.FunctionExpression = exports.CallExpression = exports.BinaryExpression = void 0;
|
|
3
|
+
exports.TypedFunctionTypeExpression = exports.InlineInterfaceMemberExpression = exports.InlineInterfaceExpression = exports.TypedArrayExpression = exports.TypecastExpression = exports.TypeExpression = exports.RegexLiteralExpression = exports.NullCoalescingExpression = exports.TernaryExpression = exports.AnnotationExpression = exports.TaggedTemplateStringExpression = exports.TemplateStringExpression = exports.TemplateStringQuasiExpression = exports.CallfuncExpression = exports.NewExpression = exports.SourceLiteralExpression = exports.VariableExpression = exports.UnaryExpression = exports.AALiteralExpression = exports.AAIndexedMemberExpression = exports.AAMemberExpression = exports.ArrayLiteralExpression = exports.EscapedCharCodeLiteralExpression = exports.PrintSeparatorExpression = exports.LiteralExpression = exports.GroupingExpression = exports.IndexedGetExpression = exports.XmlAttributeGetExpression = exports.DottedGetExpression = exports.FunctionParameterExpression = exports.FunctionExpression = exports.CallExpression = exports.BinaryExpression = void 0;
|
|
4
4
|
const TokenKind_1 = require("../lexer/TokenKind");
|
|
5
5
|
const util_1 = require("../util");
|
|
6
6
|
const Parser_1 = require("./Parser");
|
|
@@ -127,7 +127,10 @@ class CallExpression extends AstNode_1.Expression {
|
|
|
127
127
|
}
|
|
128
128
|
getType(options) {
|
|
129
129
|
var _a, _b, _c;
|
|
130
|
-
|
|
130
|
+
let calleeType = this.callee.getType(options);
|
|
131
|
+
while ((0, reflection_1.isTypeStatementType)(calleeType)) {
|
|
132
|
+
calleeType = calleeType.wrappedType;
|
|
133
|
+
}
|
|
131
134
|
if (options.ignoreCall) {
|
|
132
135
|
return calleeType;
|
|
133
136
|
}
|
|
@@ -502,7 +505,7 @@ class DottedGetExpression extends AstNode_1.Expression {
|
|
|
502
505
|
getTypedef(state) {
|
|
503
506
|
//always transpile the dots for typedefs
|
|
504
507
|
return [
|
|
505
|
-
...this.obj.transpile(state),
|
|
508
|
+
...(this.obj.getTypedef ? this.obj.getTypedef(state) : this.obj.transpile(state)),
|
|
506
509
|
state.transpileToken(this.tokens.dot),
|
|
507
510
|
state.transpileToken(this.tokens.name)
|
|
508
511
|
];
|
|
@@ -869,7 +872,6 @@ class AAMemberExpression extends AstNode_1.Expression {
|
|
|
869
872
|
this.location = util_1.default.createBoundingLocation(this.tokens.key, this.tokens.colon, this.value);
|
|
870
873
|
}
|
|
871
874
|
transpile(state) {
|
|
872
|
-
//TODO move the logic from AALiteralExpression loop into this function
|
|
873
875
|
return [];
|
|
874
876
|
}
|
|
875
877
|
walk(visitor, options) {
|
|
@@ -891,6 +893,40 @@ class AAMemberExpression extends AstNode_1.Expression {
|
|
|
891
893
|
}
|
|
892
894
|
}
|
|
893
895
|
exports.AAMemberExpression = AAMemberExpression;
|
|
896
|
+
class AAIndexedMemberExpression extends AstNode_1.Expression {
|
|
897
|
+
constructor(options) {
|
|
898
|
+
super();
|
|
899
|
+
this.kind = AstNode_1.AstNodeKind.AAIndexedMemberExpression;
|
|
900
|
+
this.key = options.key;
|
|
901
|
+
this.tokens = {
|
|
902
|
+
leftBracket: options.leftBracket,
|
|
903
|
+
rightBracket: options.rightBracket,
|
|
904
|
+
colon: options.colon,
|
|
905
|
+
comma: options.comma
|
|
906
|
+
};
|
|
907
|
+
this.value = options.value;
|
|
908
|
+
this.location = util_1.default.createBoundingLocation(this.tokens.leftBracket, this.key, this.tokens.rightBracket, this.tokens.colon, this.value, this.tokens.comma);
|
|
909
|
+
}
|
|
910
|
+
transpile(state) {
|
|
911
|
+
return [];
|
|
912
|
+
}
|
|
913
|
+
walk(visitor, options) {
|
|
914
|
+
(0, visitors_2.walk)(this, 'key', visitor, options);
|
|
915
|
+
(0, visitors_2.walk)(this, 'value', visitor, options);
|
|
916
|
+
}
|
|
917
|
+
clone() {
|
|
918
|
+
var _a, _b;
|
|
919
|
+
return this.finalizeClone(new AAIndexedMemberExpression({
|
|
920
|
+
leftBracket: util_1.default.cloneToken(this.tokens.leftBracket),
|
|
921
|
+
key: (_a = this.key) === null || _a === void 0 ? void 0 : _a.clone(),
|
|
922
|
+
rightBracket: util_1.default.cloneToken(this.tokens.rightBracket),
|
|
923
|
+
colon: util_1.default.cloneToken(this.tokens.colon),
|
|
924
|
+
value: (_b = this.value) === null || _b === void 0 ? void 0 : _b.clone(),
|
|
925
|
+
comma: util_1.default.cloneToken(this.tokens.comma)
|
|
926
|
+
}), ['key', 'value']);
|
|
927
|
+
}
|
|
928
|
+
}
|
|
929
|
+
exports.AAIndexedMemberExpression = AAIndexedMemberExpression;
|
|
894
930
|
class AALiteralExpression extends AstNode_1.Expression {
|
|
895
931
|
constructor(options) {
|
|
896
932
|
var _a;
|
|
@@ -928,7 +964,13 @@ class AALiteralExpression extends AstNode_1.Expression {
|
|
|
928
964
|
result.push(state.indent());
|
|
929
965
|
}
|
|
930
966
|
//key
|
|
931
|
-
|
|
967
|
+
if ((0, reflection_1.isAAIndexedMemberExpression)(element)) {
|
|
968
|
+
//computed key: transpile the resolved expression (pre-transpile overrides it to a literal)
|
|
969
|
+
result.push(...element.key.transpile(state));
|
|
970
|
+
}
|
|
971
|
+
else {
|
|
972
|
+
result.push(state.transpileToken(element.tokens.key));
|
|
973
|
+
}
|
|
932
974
|
//colon
|
|
933
975
|
result.push(state.transpileToken(element.tokens.colon, ':'), ' ');
|
|
934
976
|
//value
|
|
@@ -1769,7 +1811,9 @@ function expressionToValue(expr, strict) {
|
|
|
1769
1811
|
}
|
|
1770
1812
|
if ((0, reflection_1.isAALiteralExpression)(expr)) {
|
|
1771
1813
|
return expr.elements.reduce((acc, e) => {
|
|
1772
|
-
|
|
1814
|
+
if (!((0, reflection_1.isAAIndexedMemberExpression)(e))) {
|
|
1815
|
+
acc[e.tokens.key.text] = expressionToValue(e.value, strict);
|
|
1816
|
+
}
|
|
1773
1817
|
return acc;
|
|
1774
1818
|
}, {});
|
|
1775
1819
|
}
|
|
@@ -1798,6 +1842,13 @@ class TypeExpression extends AstNode_1.Expression {
|
|
|
1798
1842
|
this.location = util_1.default.cloneLocation((_a = this.expression) === null || _a === void 0 ? void 0 : _a.location);
|
|
1799
1843
|
}
|
|
1800
1844
|
transpile(state) {
|
|
1845
|
+
//roku built-in names (rosgnode*, etc.) collapse to `dynamic` at transpile.
|
|
1846
|
+
//Check before isNativeType, since unresolved built-ins resolve to DynamicType
|
|
1847
|
+
//(a native type) which would otherwise pass-through their original text.
|
|
1848
|
+
const name = this.getName(Parser_1.ParseMode.BrighterScript);
|
|
1849
|
+
if (name && util_1.default.isBuiltInType(name)) {
|
|
1850
|
+
return ['dynamic'];
|
|
1851
|
+
}
|
|
1801
1852
|
const exprType = this.getType({ flags: 2 /* SymbolTypeFlag.typetime */ });
|
|
1802
1853
|
if ((0, reflection_1.isNativeType)(exprType)) {
|
|
1803
1854
|
return this.expression.transpile(state);
|
|
@@ -1885,7 +1936,9 @@ class TypedArrayExpression extends AstNode_1.Expression {
|
|
|
1885
1936
|
this.location = util_1.default.createBoundingLocation(this.innerType, this.tokens.leftBracket, this.tokens.rightBracket);
|
|
1886
1937
|
}
|
|
1887
1938
|
transpile(state) {
|
|
1888
|
-
|
|
1939
|
+
//typed arrays (e.g. `float[]`, `float[][][]`) collapse to `dynamic` since
|
|
1940
|
+
//BrightScript has no array-of-T type at the language level.
|
|
1941
|
+
return ['dynamic'];
|
|
1889
1942
|
}
|
|
1890
1943
|
walk(visitor, options) {
|
|
1891
1944
|
if (options.walkMode & visitors_2.InternalWalkMode.walkExpressions) {
|
|
@@ -1999,6 +2052,58 @@ class InlineInterfaceMemberExpression extends AstNode_1.Expression {
|
|
|
1999
2052
|
}
|
|
2000
2053
|
}
|
|
2001
2054
|
exports.InlineInterfaceMemberExpression = InlineInterfaceMemberExpression;
|
|
2055
|
+
class TypedFunctionTypeExpression extends AstNode_1.Expression {
|
|
2056
|
+
constructor(options) {
|
|
2057
|
+
super();
|
|
2058
|
+
this.kind = AstNode_1.AstNodeKind.TypedFunctionTypeExpression;
|
|
2059
|
+
this.tokens = {
|
|
2060
|
+
functionType: options.functionType,
|
|
2061
|
+
leftParen: options.leftParen,
|
|
2062
|
+
rightParen: options.rightParen,
|
|
2063
|
+
as: options.as
|
|
2064
|
+
};
|
|
2065
|
+
this.params = options.params;
|
|
2066
|
+
this.returnType = options.returnType;
|
|
2067
|
+
this.location = util_1.default.createBoundingLocation(this.tokens.functionType, this.tokens.leftParen, ...this.params, this.tokens.rightParen, this.tokens.as, this.returnType);
|
|
2068
|
+
}
|
|
2069
|
+
transpile(state) {
|
|
2070
|
+
return [this.getType({ flags: 2 /* SymbolTypeFlag.typetime */ }).toTypeString()];
|
|
2071
|
+
}
|
|
2072
|
+
walk(visitor, options) {
|
|
2073
|
+
if (options.walkMode & visitors_2.InternalWalkMode.walkExpressions) {
|
|
2074
|
+
(0, visitors_2.walkArray)(this.params, visitor, options, this);
|
|
2075
|
+
(0, visitors_2.walk)(this, 'returnType', visitor, options);
|
|
2076
|
+
}
|
|
2077
|
+
}
|
|
2078
|
+
getType(options) {
|
|
2079
|
+
var _a, _b, _c, _d;
|
|
2080
|
+
const returnType = (_b = (_a = this.returnType) === null || _a === void 0 ? void 0 : _a.getType(Object.assign(Object.assign({}, options), { typeChain: undefined }))) !== null && _b !== void 0 ? _b : DynamicType_1.DynamicType.instance;
|
|
2081
|
+
const functionType = new TypedFunctionType_1.TypedFunctionType(returnType);
|
|
2082
|
+
for (const param of this.params) {
|
|
2083
|
+
functionType.addParameter(param.tokens.name.text, param.getType(Object.assign(Object.assign({}, options), { typeChain: undefined })), !!param.defaultValue);
|
|
2084
|
+
}
|
|
2085
|
+
functionType.setSub(((_c = this.tokens.functionType) === null || _c === void 0 ? void 0 : _c.kind) === TokenKind_1.TokenKind.Sub);
|
|
2086
|
+
(_d = options.typeChain) === null || _d === void 0 ? void 0 : _d.push(new interfaces_1.TypeChainEntry({
|
|
2087
|
+
name: '',
|
|
2088
|
+
type: functionType,
|
|
2089
|
+
astNode: this,
|
|
2090
|
+
data: options.data
|
|
2091
|
+
}));
|
|
2092
|
+
return functionType;
|
|
2093
|
+
}
|
|
2094
|
+
clone() {
|
|
2095
|
+
var _a, _b;
|
|
2096
|
+
return this.finalizeClone(new TypedFunctionTypeExpression({
|
|
2097
|
+
functionType: util_1.default.cloneToken(this.tokens.functionType),
|
|
2098
|
+
leftParen: util_1.default.cloneToken(this.tokens.leftParen),
|
|
2099
|
+
params: (_a = this.params) === null || _a === void 0 ? void 0 : _a.map(x => x === null || x === void 0 ? void 0 : x.clone()),
|
|
2100
|
+
rightParen: util_1.default.cloneToken(this.tokens.rightParen),
|
|
2101
|
+
as: util_1.default.cloneToken(this.tokens.as),
|
|
2102
|
+
returnType: (_b = this.returnType) === null || _b === void 0 ? void 0 : _b.clone()
|
|
2103
|
+
}), ['params', 'returnType']);
|
|
2104
|
+
}
|
|
2105
|
+
}
|
|
2106
|
+
exports.TypedFunctionTypeExpression = TypedFunctionTypeExpression;
|
|
2002
2107
|
/**
|
|
2003
2108
|
* A list of names of functions that are restricted from being stored to a
|
|
2004
2109
|
* variable, property, or passed as an argument. (i.e. `type` or `createobject`).
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Expression.js","sourceRoot":"","sources":["../../src/parser/Expression.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Expression.js","sourceRoot":"","sources":["../../src/parser/Expression.ts"],"names":[],"mappings":"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"}
|