brighterscript 1.0.0-alpha.5 → 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 +79 -138
- package/bsconfig.schema.json +196 -5
- package/dist/ActionPipeline.d.ts +10 -0
- package/dist/ActionPipeline.js +40 -0
- package/dist/ActionPipeline.js.map +1 -0
- package/dist/AstValidationSegmenter.d.ts +45 -0
- package/dist/AstValidationSegmenter.js +322 -0
- package/dist/AstValidationSegmenter.js.map +1 -0
- package/dist/BsConfig.d.ts +161 -43
- package/dist/BusyStatusTracker.d.ts +61 -0
- package/dist/BusyStatusTracker.js +148 -0
- package/dist/BusyStatusTracker.js.map +1 -0
- package/dist/Cache.d.ts +3 -8
- package/dist/Cache.js +9 -14
- package/dist/Cache.js.map +1 -1
- package/dist/CacheVerifier.d.ts +7 -0
- package/dist/CacheVerifier.js +20 -0
- package/dist/CacheVerifier.js.map +1 -0
- package/dist/CodeActionUtil.d.ts +29 -4
- package/dist/CodeActionUtil.js +22 -5
- package/dist/CodeActionUtil.js.map +1 -1
- package/dist/CommentFlagProcessor.d.ts +20 -15
- package/dist/CommentFlagProcessor.js +143 -58
- package/dist/CommentFlagProcessor.js.map +1 -1
- package/dist/CrossScopeValidator.d.ts +68 -0
- package/dist/CrossScopeValidator.js +650 -0
- package/dist/CrossScopeValidator.js.map +1 -0
- package/dist/DependencyGraph.d.ts +8 -3
- package/dist/DependencyGraph.js +49 -16
- package/dist/DependencyGraph.js.map +1 -1
- package/dist/DiagnosticCollection.d.ts +21 -5
- package/dist/DiagnosticCollection.js +77 -24
- package/dist/DiagnosticCollection.js.map +1 -1
- package/dist/DiagnosticFilterer.d.ts +27 -6
- package/dist/DiagnosticFilterer.js +273 -60
- package/dist/DiagnosticFilterer.js.map +1 -1
- package/dist/DiagnosticManager.d.ts +83 -0
- package/dist/DiagnosticManager.js +422 -0
- package/dist/DiagnosticManager.js.map +1 -0
- package/dist/DiagnosticMessages.d.ts +602 -196
- package/dist/DiagnosticMessages.js +926 -342
- package/dist/DiagnosticMessages.js.map +1 -1
- package/dist/DiagnosticSeverityAdjuster.d.ts +7 -0
- package/dist/DiagnosticSeverityAdjuster.js +45 -0
- package/dist/DiagnosticSeverityAdjuster.js.map +1 -0
- package/dist/FunctionScope.d.ts +28 -0
- package/dist/FunctionScope.js +52 -0
- package/dist/FunctionScope.js.map +1 -0
- package/dist/KeyedThrottler.d.ts +3 -3
- package/dist/KeyedThrottler.js +3 -3
- package/dist/KeyedThrottler.js.map +1 -1
- package/dist/LanguageServer.d.ts +136 -104
- package/dist/LanguageServer.js +577 -741
- package/dist/LanguageServer.js.map +1 -1
- package/dist/Logger.d.ts +17 -13
- package/dist/Logger.js +64 -34
- package/dist/Logger.js.map +1 -1
- package/dist/PluginInterface.d.ts +32 -10
- package/dist/PluginInterface.js +117 -7
- package/dist/PluginInterface.js.map +1 -1
- package/dist/Program.d.ts +302 -98
- package/dist/Program.js +1613 -726
- package/dist/Program.js.map +1 -1
- package/dist/ProgramBuilder.d.ts +39 -22
- package/dist/ProgramBuilder.js +245 -179
- package/dist/ProgramBuilder.js.map +1 -1
- package/dist/Scope.d.ts +227 -106
- package/dist/Scope.js +609 -557
- 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/SemanticTokenUtils.js +5 -1
- package/dist/SemanticTokenUtils.js.map +1 -1
- package/dist/Stopwatch.d.ts +4 -0
- package/dist/Stopwatch.js +8 -1
- package/dist/Stopwatch.js.map +1 -1
- package/dist/SymbolTable.d.ts +145 -26
- package/dist/SymbolTable.js +575 -64
- package/dist/SymbolTable.js.map +1 -1
- package/dist/SymbolTypeFlag.d.ts +9 -0
- package/dist/SymbolTypeFlag.js +14 -0
- package/dist/SymbolTypeFlag.js.map +1 -0
- package/dist/Throttler.d.ts +12 -0
- package/dist/Throttler.js +39 -0
- package/dist/Throttler.js.map +1 -1
- package/dist/Watcher.d.ts +0 -3
- package/dist/Watcher.js +0 -3
- package/dist/Watcher.js.map +1 -1
- package/dist/XmlScope.d.ts +5 -15
- package/dist/XmlScope.js +34 -90
- package/dist/XmlScope.js.map +1 -1
- package/dist/astUtils/CachedLookups.d.ts +50 -0
- package/dist/astUtils/CachedLookups.js +337 -0
- package/dist/astUtils/CachedLookups.js.map +1 -0
- package/dist/astUtils/Editor.d.ts +69 -0
- package/dist/astUtils/Editor.js +245 -0
- package/dist/astUtils/Editor.js.map +1 -0
- package/dist/astUtils/creators.d.ts +54 -19
- package/dist/astUtils/creators.js +242 -42
- package/dist/astUtils/creators.js.map +1 -1
- package/dist/astUtils/reflection.d.ts +199 -85
- package/dist/astUtils/reflection.js +518 -145
- package/dist/astUtils/reflection.js.map +1 -1
- package/dist/astUtils/stackedVisitor.js.map +1 -1
- package/dist/astUtils/visitors.d.ts +117 -53
- package/dist/astUtils/visitors.js +95 -15
- package/dist/astUtils/visitors.js.map +1 -1
- package/dist/astUtils/xml.d.ts +9 -8
- package/dist/astUtils/xml.js +12 -7
- package/dist/astUtils/xml.js.map +1 -1
- package/dist/bscPlugin/BscPlugin.d.ts +26 -4
- package/dist/bscPlugin/BscPlugin.js +96 -4
- package/dist/bscPlugin/BscPlugin.js.map +1 -1
- package/dist/bscPlugin/CallExpressionInfo.d.ts +36 -0
- package/dist/bscPlugin/CallExpressionInfo.js +142 -0
- package/dist/bscPlugin/CallExpressionInfo.js.map +1 -0
- package/dist/bscPlugin/FileWriter.d.ts +19 -0
- package/dist/bscPlugin/FileWriter.js +79 -0
- package/dist/bscPlugin/FileWriter.js.map +1 -0
- package/dist/bscPlugin/SignatureHelpUtil.d.ts +10 -0
- package/dist/bscPlugin/SignatureHelpUtil.js +137 -0
- package/dist/bscPlugin/SignatureHelpUtil.js.map +1 -0
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.d.ts +109 -7
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +676 -26
- 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 +65 -0
- package/dist/bscPlugin/completions/CompletionsProcessor.js +633 -0
- package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -0
- package/dist/bscPlugin/definition/DefinitionProvider.d.ts +13 -0
- package/dist/bscPlugin/definition/DefinitionProvider.js +220 -0
- package/dist/bscPlugin/definition/DefinitionProvider.js.map +1 -0
- package/dist/bscPlugin/fileProviders/FileProvider.d.ts +9 -0
- package/dist/bscPlugin/fileProviders/FileProvider.js +51 -0
- package/dist/bscPlugin/fileProviders/FileProvider.js.map +1 -0
- package/dist/bscPlugin/hover/HoverProcessor.d.ts +18 -0
- package/dist/bscPlugin/hover/HoverProcessor.js +238 -0
- package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -0
- package/dist/bscPlugin/references/ReferencesProvider.d.ts +12 -0
- package/dist/bscPlugin/references/ReferencesProvider.js +57 -0
- package/dist/bscPlugin/references/ReferencesProvider.js.map +1 -0
- 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/semanticTokens/BrsFileSemanticTokensProcessor.d.ts +14 -0
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +164 -0
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -0
- package/dist/bscPlugin/serialize/BslibManager.d.ts +12 -0
- package/dist/bscPlugin/serialize/BslibManager.js +46 -0
- package/dist/bscPlugin/serialize/BslibManager.js.map +1 -0
- package/dist/bscPlugin/serialize/FileSerializer.d.ts +9 -0
- package/dist/bscPlugin/serialize/FileSerializer.js +80 -0
- package/dist/bscPlugin/serialize/FileSerializer.js.map +1 -0
- package/dist/bscPlugin/symbols/DocumentSymbolProcessor.d.ts +7 -0
- package/dist/bscPlugin/symbols/DocumentSymbolProcessor.js +22 -0
- package/dist/bscPlugin/symbols/DocumentSymbolProcessor.js.map +1 -0
- package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.d.ts +7 -0
- package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.js +26 -0
- package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.js.map +1 -0
- package/dist/bscPlugin/symbols/symbolUtils.d.ts +5 -0
- package/dist/bscPlugin/symbols/symbolUtils.js +141 -0
- package/dist/bscPlugin/symbols/symbolUtils.js.map +1 -0
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.d.ts +34 -0
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js +504 -0
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js.map +1 -0
- package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.d.ts +12 -0
- package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.js +99 -0
- package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.js.map +1 -0
- package/dist/bscPlugin/validation/BrsFileAfterValidator.d.ts +7 -0
- package/dist/bscPlugin/validation/BrsFileAfterValidator.js +18 -0
- package/dist/bscPlugin/validation/BrsFileAfterValidator.js.map +1 -0
- package/dist/bscPlugin/validation/BrsFileValidator.d.ts +51 -0
- package/dist/bscPlugin/validation/BrsFileValidator.js +714 -0
- package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -0
- package/dist/bscPlugin/validation/ProgramValidator.d.ts +11 -0
- package/dist/bscPlugin/validation/ProgramValidator.js +33 -0
- package/dist/bscPlugin/validation/ProgramValidator.js.map +1 -0
- package/dist/bscPlugin/validation/ScopeValidator.d.ts +158 -0
- package/dist/bscPlugin/validation/ScopeValidator.js +1481 -0
- package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -0
- package/dist/bscPlugin/validation/XmlFileValidator.d.ts +8 -0
- package/dist/bscPlugin/validation/XmlFileValidator.js +50 -0
- package/dist/bscPlugin/validation/XmlFileValidator.js.map +1 -0
- package/dist/cli.js +140 -28
- package/dist/cli.js.map +1 -1
- package/dist/common/Sequencer.d.ts +53 -0
- package/dist/common/Sequencer.js +233 -0
- package/dist/common/Sequencer.js.map +1 -0
- package/dist/deferred.d.ts +5 -3
- package/dist/deferred.js +10 -0
- package/dist/deferred.js.map +1 -1
- package/dist/diagnosticUtils.d.ts +61 -4
- package/dist/diagnosticUtils.js +285 -25
- package/dist/diagnosticUtils.js.map +1 -1
- package/dist/examples/plugins/removePrint.d.ts +2 -2
- package/dist/examples/plugins/removePrint.js +8 -12
- package/dist/examples/plugins/removePrint.js.map +1 -1
- package/dist/files/AssetFile.d.ts +24 -0
- package/dist/files/AssetFile.js +25 -0
- package/dist/files/AssetFile.js.map +1 -0
- package/dist/files/BrsFile.d.ts +161 -87
- package/dist/files/BrsFile.js +919 -936
- package/dist/files/BrsFile.js.map +1 -1
- package/dist/files/BscFile.d.ts +102 -0
- package/dist/files/BscFile.js +15 -0
- package/dist/files/BscFile.js.map +1 -0
- package/dist/files/Factory.d.ts +25 -0
- package/dist/files/Factory.js +22 -0
- package/dist/files/Factory.js.map +1 -0
- package/dist/files/LazyFileData.d.ts +21 -0
- package/dist/files/LazyFileData.js +54 -0
- package/dist/files/LazyFileData.js.map +1 -0
- package/dist/files/XmlFile.d.ts +80 -41
- package/dist/files/XmlFile.js +162 -137
- package/dist/files/XmlFile.js.map +1 -1
- package/dist/globalCallables.d.ts +3 -1
- package/dist/globalCallables.js +424 -184
- package/dist/globalCallables.js.map +1 -1
- package/dist/index.d.ts +32 -4
- package/dist/index.js +54 -7
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +987 -125
- package/dist/interfaces.js +21 -0
- package/dist/interfaces.js.map +1 -1
- package/dist/lexer/Lexer.d.ts +51 -12
- package/dist/lexer/Lexer.js +214 -65
- package/dist/lexer/Lexer.js.map +1 -1
- package/dist/lexer/Token.d.ts +27 -11
- package/dist/lexer/Token.js +10 -2
- package/dist/lexer/Token.js.map +1 -1
- package/dist/lexer/TokenKind.d.ts +48 -2
- package/dist/lexer/TokenKind.js +167 -10
- package/dist/lexer/TokenKind.js.map +1 -1
- package/dist/logging.d.ts +14 -0
- package/dist/logging.js +29 -0
- package/dist/logging.js.map +1 -0
- package/dist/lsp/ActionQueue.d.ts +35 -0
- package/dist/lsp/ActionQueue.js +115 -0
- package/dist/lsp/ActionQueue.js.map +1 -0
- package/dist/lsp/DocumentManager.d.ts +63 -0
- package/dist/lsp/DocumentManager.js +122 -0
- package/dist/lsp/DocumentManager.js.map +1 -0
- package/dist/lsp/LspProject.d.ts +287 -0
- package/dist/lsp/LspProject.js +3 -0
- package/dist/lsp/LspProject.js.map +1 -0
- package/dist/lsp/PathFilterer.d.ts +75 -0
- package/dist/lsp/PathFilterer.js +196 -0
- package/dist/lsp/PathFilterer.js.map +1 -0
- package/dist/lsp/Project.d.ts +200 -0
- package/dist/lsp/Project.js +562 -0
- package/dist/lsp/Project.js.map +1 -0
- package/dist/lsp/ProjectManager.d.ts +288 -0
- package/dist/lsp/ProjectManager.js +967 -0
- package/dist/lsp/ProjectManager.js.map +1 -0
- package/dist/lsp/ReaderWriterManager.d.ts +21 -0
- package/dist/lsp/ReaderWriterManager.js +60 -0
- package/dist/lsp/ReaderWriterManager.js.map +1 -0
- package/dist/lsp/worker/MessageHandler.d.ts +99 -0
- package/dist/lsp/worker/MessageHandler.js +138 -0
- package/dist/lsp/worker/MessageHandler.js.map +1 -0
- package/dist/lsp/worker/WorkerPool.d.ts +38 -0
- package/dist/lsp/worker/WorkerPool.js +78 -0
- package/dist/lsp/worker/WorkerPool.js.map +1 -0
- package/dist/lsp/worker/WorkerThreadProject.d.ts +168 -0
- package/dist/lsp/worker/WorkerThreadProject.js +205 -0
- package/dist/lsp/worker/WorkerThreadProject.js.map +1 -0
- package/dist/lsp/worker/WorkerThreadProjectRunner.d.ts +15 -0
- package/dist/lsp/worker/WorkerThreadProjectRunner.js +58 -0
- package/dist/lsp/worker/WorkerThreadProjectRunner.js.map +1 -0
- package/dist/lsp/worker/run.js +14 -0
- package/dist/lsp/worker/run.js.map +1 -0
- package/dist/parser/AstNode.d.ts +205 -0
- package/dist/parser/AstNode.js +305 -0
- package/dist/parser/AstNode.js.map +1 -0
- package/dist/parser/BrightScriptDocParser.d.ts +56 -0
- package/dist/parser/BrightScriptDocParser.js +294 -0
- package/dist/parser/BrightScriptDocParser.js.map +1 -0
- package/dist/parser/BrsTranspileState.d.ts +22 -3
- package/dist/parser/BrsTranspileState.js +19 -0
- package/dist/parser/BrsTranspileState.js.map +1 -1
- package/dist/parser/Expression.d.ts +601 -220
- package/dist/parser/Expression.js +1516 -502
- package/dist/parser/Expression.js.map +1 -1
- package/dist/parser/Parser.d.ts +137 -121
- package/dist/parser/Parser.js +1808 -982
- package/dist/parser/Parser.js.map +1 -1
- package/dist/parser/SGParser.d.ts +30 -13
- package/dist/parser/SGParser.js +94 -56
- package/dist/parser/SGParser.js.map +1 -1
- package/dist/parser/SGTypes.d.ts +134 -46
- package/dist/parser/SGTypes.js +206 -115
- package/dist/parser/SGTypes.js.map +1 -1
- package/dist/parser/Statement.d.ts +854 -267
- package/dist/parser/Statement.js +2416 -621
- package/dist/parser/Statement.js.map +1 -1
- package/dist/parser/TranspileState.d.ts +30 -14
- package/dist/parser/TranspileState.js +124 -27
- package/dist/parser/TranspileState.js.map +1 -1
- package/dist/preprocessor/Manifest.d.ts +6 -6
- package/dist/preprocessor/Manifest.js +17 -38
- package/dist/preprocessor/Manifest.js.map +1 -1
- package/dist/roku-types/data.json +20554 -0
- package/dist/roku-types/index.d.ts +5726 -0
- package/dist/roku-types/index.js +11 -0
- package/dist/roku-types/index.js.map +1 -0
- package/dist/types/ArrayType.d.ts +12 -5
- package/dist/types/ArrayType.js +95 -25
- package/dist/types/ArrayType.js.map +1 -1
- package/dist/types/AssociativeArrayType.d.ts +15 -0
- package/dist/types/AssociativeArrayType.js +64 -0
- package/dist/types/AssociativeArrayType.js.map +1 -0
- package/dist/types/BaseFunctionType.d.ts +10 -0
- package/dist/types/BaseFunctionType.js +26 -0
- package/dist/types/BaseFunctionType.js.map +1 -0
- package/dist/types/BooleanType.d.ts +9 -5
- package/dist/types/BooleanType.js +19 -8
- package/dist/types/BooleanType.js.map +1 -1
- package/dist/types/BscType.d.ts +41 -3
- package/dist/types/BscType.js +152 -0
- package/dist/types/BscType.js.map +1 -1
- package/dist/types/BscTypeKind.d.ts +28 -0
- package/dist/types/BscTypeKind.js +33 -0
- package/dist/types/BscTypeKind.js.map +1 -0
- package/dist/types/BuiltInInterfaceAdder.d.ts +28 -0
- package/dist/types/BuiltInInterfaceAdder.js +212 -0
- package/dist/types/BuiltInInterfaceAdder.js.map +1 -0
- package/dist/types/CallFuncableType.d.ts +24 -0
- package/dist/types/CallFuncableType.js +91 -0
- package/dist/types/CallFuncableType.js.map +1 -0
- package/dist/types/ClassType.d.ts +17 -0
- package/dist/types/ClassType.js +63 -0
- package/dist/types/ClassType.js.map +1 -0
- package/dist/types/ComponentType.d.ts +22 -0
- package/dist/types/ComponentType.js +110 -0
- package/dist/types/ComponentType.js.map +1 -0
- package/dist/types/DoubleType.d.ts +10 -5
- package/dist/types/DoubleType.js +21 -17
- package/dist/types/DoubleType.js.map +1 -1
- package/dist/types/DynamicType.d.ts +13 -5
- package/dist/types/DynamicType.js +26 -5
- package/dist/types/DynamicType.js.map +1 -1
- package/dist/types/EnumType.d.ts +42 -0
- package/dist/types/EnumType.js +101 -0
- package/dist/types/EnumType.js.map +1 -0
- package/dist/types/FloatType.d.ts +10 -5
- package/dist/types/FloatType.js +21 -17
- package/dist/types/FloatType.js.map +1 -1
- package/dist/types/FunctionType.d.ts +8 -22
- package/dist/types/FunctionType.js +25 -63
- package/dist/types/FunctionType.js.map +1 -1
- package/dist/types/InheritableType.d.ts +29 -0
- package/dist/types/InheritableType.js +173 -0
- package/dist/types/InheritableType.js.map +1 -0
- package/dist/types/InlineInterfaceType.d.ts +5 -0
- package/dist/types/InlineInterfaceType.js +17 -0
- package/dist/types/InlineInterfaceType.js.map +1 -0
- package/dist/types/IntegerType.d.ts +10 -5
- package/dist/types/IntegerType.js +21 -17
- package/dist/types/IntegerType.js.map +1 -1
- package/dist/types/InterfaceType.d.ts +14 -6
- package/dist/types/InterfaceType.js +30 -15
- package/dist/types/InterfaceType.js.map +1 -1
- package/dist/types/IntersectionType.d.ts +29 -0
- package/dist/types/IntersectionType.js +256 -0
- package/dist/types/IntersectionType.js.map +1 -0
- package/dist/types/InvalidType.d.ts +10 -5
- package/dist/types/InvalidType.js +21 -9
- package/dist/types/InvalidType.js.map +1 -1
- package/dist/types/LongIntegerType.d.ts +10 -5
- package/dist/types/LongIntegerType.js +21 -17
- package/dist/types/LongIntegerType.js.map +1 -1
- package/dist/types/NamespaceType.d.ts +12 -0
- package/dist/types/NamespaceType.js +28 -0
- package/dist/types/NamespaceType.js.map +1 -0
- package/dist/types/ObjectType.d.ts +12 -5
- package/dist/types/ObjectType.js +25 -8
- package/dist/types/ObjectType.js.map +1 -1
- package/dist/types/ReferenceType.d.ts +123 -0
- package/dist/types/ReferenceType.js +726 -0
- package/dist/types/ReferenceType.js.map +1 -0
- package/dist/types/StringType.d.ts +12 -5
- package/dist/types/StringType.js +23 -8
- package/dist/types/StringType.js.map +1 -1
- package/dist/types/TypeStatementType.d.ts +19 -0
- package/dist/types/TypeStatementType.js +56 -0
- package/dist/types/TypeStatementType.js.map +1 -0
- package/dist/types/TypedFunctionType.d.ts +34 -0
- package/dist/types/TypedFunctionType.js +157 -0
- package/dist/types/TypedFunctionType.js.map +1 -0
- package/dist/types/UninitializedType.d.ts +11 -6
- package/dist/types/UninitializedType.js +20 -11
- package/dist/types/UninitializedType.js.map +1 -1
- package/dist/types/UnionType.d.ts +27 -0
- package/dist/types/UnionType.js +196 -0
- package/dist/types/UnionType.js.map +1 -0
- package/dist/types/VoidType.d.ts +11 -5
- package/dist/types/VoidType.js +22 -8
- package/dist/types/VoidType.js.map +1 -1
- package/dist/types/helpers.d.ts +51 -0
- package/dist/types/helpers.js +329 -0
- package/dist/types/helpers.js.map +1 -0
- package/dist/types/index.d.ts +22 -0
- package/dist/types/index.js +39 -0
- package/dist/types/index.js.map +1 -0
- package/dist/types/roFunctionType.d.ts +11 -0
- package/dist/types/roFunctionType.js +37 -0
- package/dist/types/roFunctionType.js.map +1 -0
- package/dist/util.d.ts +325 -185
- package/dist/util.js +2135 -568
- package/dist/util.js.map +1 -1
- package/dist/validators/ClassValidator.d.ts +9 -15
- package/dist/validators/ClassValidator.js +93 -138
- package/dist/validators/ClassValidator.js.map +1 -1
- package/package.json +183 -138
- package/CHANGELOG.md +0 -1188
- package/dist/astUtils/creators.spec.js +0 -21
- package/dist/astUtils/creators.spec.js.map +0 -1
- 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/astUtils/reflection.spec.d.ts +0 -1
- package/dist/astUtils/reflection.spec.js +0 -292
- 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 -854
- 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 -194
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +0 -1
- package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.d.ts +0 -7
- package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.js +0 -63
- package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.js.map +0 -1
- package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.spec.d.ts +0 -1
- package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.spec.js +0 -45
- package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.spec.js.map +0 -1
- package/dist/files/BrsFile.Class.spec.d.ts +0 -1
- package/dist/files/BrsFile.Class.spec.js +0 -1081
- 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 -2524
- package/dist/files/BrsFile.spec.js.map +0 -1
- package/dist/files/XmlFile.spec.d.ts +0 -1
- package/dist/files/XmlFile.spec.js +0 -1065
- 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 -241
- package/dist/files/tests/imports.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 -1101
- package/dist/lexer/Lexer.spec.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/Parser.Class.spec.d.ts +0 -1
- package/dist/parser/Parser.Class.spec.js +0 -390
- package/dist/parser/Parser.Class.spec.js.map +0 -1
- package/dist/parser/Parser.spec.d.ts +0 -4
- package/dist/parser/Parser.spec.js +0 -1216
- 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 -145
- package/dist/parser/SGParser.spec.js.map +0 -1
- package/dist/parser/SGTypes.spec.d.ts +0 -1
- package/dist/parser/SGTypes.spec.js +0 -351
- package/dist/parser/SGTypes.spec.js.map +0 -1
- package/dist/parser/Statement.spec.d.ts +0 -1
- package/dist/parser/Statement.spec.js +0 -94
- package/dist/parser/Statement.spec.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/parser/tests/Parser.spec.d.ts +0 -18
- package/dist/parser/tests/Parser.spec.js +0 -35
- 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 -161
- 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 -106
- 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 -551
- 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 -107
- 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 -99
- 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 -254
- 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 -266
- 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 -83
- 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 -134
- 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 -403
- 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 -219
- 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 -201
- 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 -105
- 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 -149
- package/dist/parser/tests/expression/Primary.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 -202
- 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 -323
- package/dist/parser/tests/expression/TernaryExpression.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/Declaration.spec.d.ts +0 -1
- package/dist/parser/tests/statement/Declaration.spec.js +0 -108
- 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 -73
- package/dist/parser/tests/statement/Dim.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 -332
- 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 -50
- 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 -117
- package/dist/parser/tests/statement/Increment.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 -333
- 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 -181
- 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 -94
- 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 -218
- 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 -37
- 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 -35
- 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 -140
- package/dist/parser/tests/statement/TryCatch.spec.js.map +0 -1
- package/dist/preprocessor/Chunk.d.ts +0 -82
- package/dist/preprocessor/Chunk.js +0 -77
- package/dist/preprocessor/Chunk.js.map +0 -1
- package/dist/preprocessor/Manifest.spec.d.ts +0 -0
- package/dist/preprocessor/Manifest.spec.js +0 -105
- package/dist/preprocessor/Manifest.spec.js.map +0 -1
- package/dist/preprocessor/Preprocessor.d.ts +0 -60
- package/dist/preprocessor/Preprocessor.js +0 -156
- package/dist/preprocessor/Preprocessor.js.map +0 -1
- package/dist/preprocessor/Preprocessor.spec.d.ts +0 -1
- package/dist/preprocessor/Preprocessor.spec.js +0 -152
- package/dist/preprocessor/Preprocessor.spec.js.map +0 -1
- package/dist/preprocessor/PreprocessorParser.d.ts +0 -61
- package/dist/preprocessor/PreprocessorParser.js +0 -194
- package/dist/preprocessor/PreprocessorParser.js.map +0 -1
- package/dist/preprocessor/PreprocessorParser.spec.d.ts +0 -1
- package/dist/preprocessor/PreprocessorParser.spec.js +0 -116
- package/dist/preprocessor/PreprocessorParser.spec.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/ArrayType.spec.d.ts +0 -1
- package/dist/types/ArrayType.spec.js +0 -30
- 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 -12
- package/dist/types/BooleanType.spec.js.map +0 -1
- package/dist/types/CustomType.d.ts +0 -10
- package/dist/types/CustomType.js +0 -35
- package/dist/types/CustomType.js.map +0 -1
- package/dist/types/DoubleType.spec.d.ts +0 -1
- package/dist/types/DoubleType.spec.js +0 -12
- 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 -12
- package/dist/types/DynamicType.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/FunctionType.spec.d.ts +0 -1
- package/dist/types/FunctionType.spec.js +0 -29
- package/dist/types/FunctionType.spec.js.map +0 -1
- package/dist/types/IntegerType.spec.d.ts +0 -1
- package/dist/types/IntegerType.spec.js +0 -12
- package/dist/types/IntegerType.spec.js.map +0 -1
- package/dist/types/InvalidType.spec.d.ts +0 -1
- package/dist/types/InvalidType.spec.js +0 -12
- package/dist/types/InvalidType.spec.js.map +0 -1
- package/dist/types/LazyType.d.ts +0 -15
- package/dist/types/LazyType.js +0 -32
- package/dist/types/LazyType.js.map +0 -1
- package/dist/types/LongIntegerType.spec.d.ts +0 -1
- package/dist/types/LongIntegerType.spec.js +0 -12
- 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/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/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/{astUtils/creators.spec.d.ts → lsp/worker/run.d.ts} +0 -0
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ProgramBuilder.js","sourceRoot":"","sources":["../src/ProgramBuilder.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"ProgramBuilder.js","sourceRoot":"","sources":["../src/ProgramBuilder.ts"],"names":[],"mappings":"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"}
|
package/dist/Scope.d.ts
CHANGED
|
@@ -1,13 +1,14 @@
|
|
|
1
|
-
import type {
|
|
2
|
-
import {
|
|
3
|
-
import type {
|
|
4
|
-
import type {
|
|
5
|
-
import type { NamespaceStatement, Statement, NewExpression, FunctionStatement, ClassStatement } from './parser';
|
|
6
|
-
import { ParseMode } from './parser';
|
|
1
|
+
import type { Range } from 'vscode-languageserver-protocol';
|
|
2
|
+
import type { CallableContainer, FileReference, FileLink, Callable, ScopeValidationOptions } from './interfaces';
|
|
3
|
+
import type { Program } from './Program';
|
|
4
|
+
import type { NamespaceStatement, FunctionStatement, ClassStatement, EnumStatement, InterfaceStatement, EnumMemberStatement, ConstStatement, TypeStatement } from './parser/Statement';
|
|
7
5
|
import { Cache } from './Cache';
|
|
8
6
|
import type { BrsFile } from './files/BrsFile';
|
|
7
|
+
import type { Identifier } from './lexer/Token';
|
|
9
8
|
import type { DependencyGraph, DependencyChangedEvent } from './DependencyGraph';
|
|
10
9
|
import { SymbolTable } from './SymbolTable';
|
|
10
|
+
import type { BscFile } from './files/BscFile';
|
|
11
|
+
import type { Statement } from './parser/AstNode';
|
|
11
12
|
/**
|
|
12
13
|
* A class to keep track of all declarations within a given scope (like source scope, component scope)
|
|
13
14
|
*/
|
|
@@ -20,21 +21,54 @@ export declare class Scope {
|
|
|
20
21
|
* Indicates whether this scope needs to be validated.
|
|
21
22
|
* Will be true when first constructed, or anytime one of its dependencies changes
|
|
22
23
|
*/
|
|
23
|
-
isValidated: boolean;
|
|
24
|
-
protected cache: Cache
|
|
24
|
+
readonly isValidated: boolean;
|
|
25
|
+
protected cache: Cache<any, any>;
|
|
25
26
|
get dependencyGraphKey(): string;
|
|
26
27
|
/**
|
|
27
28
|
* A dictionary of namespaces, indexed by the lower case full name of each namespace.
|
|
28
29
|
* If a namespace is declared as "NameA.NameB.NameC", there will be 3 entries in this dictionary,
|
|
29
30
|
* "namea", "namea.nameb", "namea.nameb.namec"
|
|
30
31
|
*/
|
|
31
|
-
get namespaceLookup():
|
|
32
|
+
get namespaceLookup(): Map<string, NamespaceContainer>;
|
|
33
|
+
/**
|
|
34
|
+
* A dictionary of namespaces, indexed by the lower case full name of each namespace.
|
|
35
|
+
* If a namespace is declared as "NameA.NameB.NameC", there will be 3 entries in this dictionary,
|
|
36
|
+
* "namea", "namea.nameb", "namea.nameb.namec"
|
|
37
|
+
*/
|
|
38
|
+
get namespaceNameSet(): Set<string>;
|
|
39
|
+
/**
|
|
40
|
+
* Get a NamespaceContainer by its name, looking for a fully qualified version first, then global version next if not found
|
|
41
|
+
*/
|
|
42
|
+
getNamespace(name: string, containingNamespace?: string): NamespaceContainer;
|
|
43
|
+
/**
|
|
44
|
+
* Get a NamespaceContainer by its name, looking for a fully qualified version first, then global version next if not found
|
|
45
|
+
*/
|
|
46
|
+
getNamespacesWithRoot(rootName: string, containingNamespace?: string): NamespaceContainer[];
|
|
47
|
+
/**
|
|
48
|
+
* Get a NamespaceContainer by its name, looking for a fully qualified version first, then global version next if not found
|
|
49
|
+
*/
|
|
50
|
+
getFirstNamespaceWithRoot(rootName: string, containingNamespace?: string): NamespaceContainer;
|
|
32
51
|
/**
|
|
33
52
|
* Get the class with the specified name.
|
|
34
53
|
* @param className - The class name, including the namespace of the class if possible
|
|
35
54
|
* @param containingNamespace - The namespace used to resolve relative class names. (i.e. the namespace around the current statement trying to find a class)
|
|
36
55
|
*/
|
|
37
56
|
getClass(className: string, containingNamespace?: string): ClassStatement;
|
|
57
|
+
/**
|
|
58
|
+
* Get the interface with the specified name.
|
|
59
|
+
* @param ifaceName - The interface name, including the namespace of the interface if possible
|
|
60
|
+
* @param containingNamespace - The namespace used to resolve relative interface names. (i.e. the namespace around the current statement trying to find a interface)
|
|
61
|
+
*/
|
|
62
|
+
getInterface(ifaceName: string, containingNamespace?: string): InterfaceStatement;
|
|
63
|
+
/**
|
|
64
|
+
* Get the enum with the specified name.
|
|
65
|
+
* @param enumName - The enum name, including the namespace if possible
|
|
66
|
+
* @param containingNamespace - The namespace used to resolve relative enum names. (i.e. the namespace around the current statement trying to find an enum)
|
|
67
|
+
*/
|
|
68
|
+
getEnum(enumName: string, containingNamespace?: string): EnumStatement;
|
|
69
|
+
private useFileCachesForFileLinkLookups;
|
|
70
|
+
private getFileLinkFromFileMap;
|
|
71
|
+
getTypeStatement(typeName: string, containingNamespace?: string): Statement;
|
|
38
72
|
/**
|
|
39
73
|
* Get a class and its containing file by the class name
|
|
40
74
|
* @param className - The class name, including the namespace of the class if possible
|
|
@@ -42,20 +76,86 @@ export declare class Scope {
|
|
|
42
76
|
*/
|
|
43
77
|
getClassFileLink(className: string, containingNamespace?: string): FileLink<ClassStatement>;
|
|
44
78
|
/**
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
79
|
+
* Get an interface and its containing file by the interface name
|
|
80
|
+
* @param ifaceName - The interface name, including the namespace of the interface if possible
|
|
81
|
+
* @param containingNamespace - The namespace used to resolve relative interface names. (i.e. the namespace around the current statement trying to find a interface)
|
|
82
|
+
*/
|
|
83
|
+
getInterfaceFileLink(ifaceName: string, containingNamespace?: string): FileLink<InterfaceStatement>;
|
|
84
|
+
/**
|
|
85
|
+
* Get an Enum and its containing file by the Enum name
|
|
86
|
+
* @param enumName - The Enum name, including the namespace of the enum if possible
|
|
87
|
+
* @param containingNamespace - The namespace used to resolve relative enum names. (i.e. the namespace around the current statement trying to find a enum)
|
|
88
|
+
*/
|
|
89
|
+
getEnumFileLink(enumName: string, containingNamespace?: string): FileLink<EnumStatement>;
|
|
90
|
+
/**
|
|
91
|
+
* Get an Enum and its containing file by the Enum name
|
|
92
|
+
* @param enumMemberName - The Enum name, including the namespace of the enum if possible
|
|
93
|
+
* @param containingNamespace - The namespace used to resolve relative enum names. (i.e. the namespace around the current statement trying to find a enum)
|
|
94
|
+
*/
|
|
95
|
+
getEnumMemberFileLink(enumMemberName: string, containingNamespace?: string): FileLink<EnumMemberStatement>;
|
|
96
|
+
/**
|
|
97
|
+
* Get a constant and its containing file by the constant name
|
|
98
|
+
* @param constName - The constant name, including the namespace of the constant if possible
|
|
99
|
+
* @param containingNamespace - The namespace used to resolve relative constant names. (i.e. the namespace around the current statement trying to find a constant)
|
|
100
|
+
*/
|
|
101
|
+
getConstFileLink(constName: string, containingNamespace?: string): FileLink<ConstStatement>;
|
|
102
|
+
getAllFileLinks(name: string, containingNamespace?: string, includeNamespaces?: boolean, includeNameShadowsOutsideNamespace?: boolean): FileLink<Statement>[];
|
|
103
|
+
/**
|
|
104
|
+
* Get an TypeStatement and its containing file by the type name
|
|
105
|
+
* @param typeName - The TypeStatement name, including the namespace of the type if possible
|
|
106
|
+
* @param containingNamespace - The namespace used to resolve relative type names. (i.e. the namespace around the current statement trying to find a type)
|
|
107
|
+
*/
|
|
108
|
+
getTypeStatementFileLink(typeName: string, containingNamespace?: string): FileLink<TypeStatement>;
|
|
109
|
+
/**
|
|
110
|
+
* Get a map of all enums by their member name.
|
|
111
|
+
* The keys are lower-case fully-qualified paths to the enum and its member. For example:
|
|
112
|
+
* namespace.enum.value
|
|
113
|
+
*/
|
|
114
|
+
getEnumMemberMap(): Map<string, EnumMemberStatement>;
|
|
115
|
+
/**
|
|
116
|
+
* Tests if a class exists with the specified name
|
|
117
|
+
* @param className - the all-lower-case namespace-included class name
|
|
118
|
+
* @param namespaceName - The namespace used to resolve relative class names. (i.e. the namespace around the current statement trying to find a class)
|
|
119
|
+
*/
|
|
49
120
|
hasClass(className: string, namespaceName?: string): boolean;
|
|
121
|
+
/**
|
|
122
|
+
* Tests if an interface exists with the specified name
|
|
123
|
+
* @param ifaceName - the all-lower-case namespace-included interface name
|
|
124
|
+
* @param namespaceName - the current namespace name
|
|
125
|
+
*/
|
|
126
|
+
hasInterface(ifaceName: string, namespaceName?: string): boolean;
|
|
127
|
+
/**
|
|
128
|
+
* Tests if an enum exists with the specified name
|
|
129
|
+
* @param enumName - the all-lower-case namespace-included enum name
|
|
130
|
+
* @param namespaceName - the current namespace name
|
|
131
|
+
*/
|
|
132
|
+
hasEnum(enumName: string, namespaceName?: string): boolean;
|
|
133
|
+
hasTypeStatementType(typeName: string, namespaceName?: string): boolean;
|
|
50
134
|
/**
|
|
51
135
|
* A dictionary of all classes in this scope. This includes namespaced classes always with their full name.
|
|
52
136
|
* The key is stored in lower case
|
|
53
137
|
*/
|
|
54
138
|
getClassMap(): Map<string, FileLink<ClassStatement>>;
|
|
55
139
|
/**
|
|
56
|
-
*
|
|
140
|
+
* A dictionary of all Interfaces in this scope. This includes namespaced Interfaces always with their full name.
|
|
141
|
+
* The key is stored in lower case
|
|
142
|
+
*/
|
|
143
|
+
getInterfaceMap(): Map<string, FileLink<InterfaceStatement>>;
|
|
144
|
+
/**
|
|
145
|
+
* A dictionary of all enums in this scope. This includes namespaced enums always with their full name.
|
|
146
|
+
* The key is stored in lower case
|
|
147
|
+
*/
|
|
148
|
+
getEnumMap(): Map<string, FileLink<EnumStatement>>;
|
|
149
|
+
/**
|
|
150
|
+
* A dictionary of all constants in this scope. This includes namespaced constants always with their full name.
|
|
151
|
+
* The key is stored in lower case
|
|
57
152
|
*/
|
|
58
|
-
|
|
153
|
+
getConstMap(): Map<string, FileLink<ConstStatement>>;
|
|
154
|
+
/**
|
|
155
|
+
* A dictionary of all TypeStatements in this scope. This includes namespaced types always with their full name.
|
|
156
|
+
* The key is stored in lower case
|
|
157
|
+
*/
|
|
158
|
+
getTypeStatementMap(): Map<string, FileLink<TypeStatement>>;
|
|
59
159
|
protected onDependenciesChanged(event: DependencyChangedEvent): void;
|
|
60
160
|
/**
|
|
61
161
|
* Clean up all event handles
|
|
@@ -71,7 +171,7 @@ export declare class Scope {
|
|
|
71
171
|
* XmlScope overrides this to return the parent xml scope if available.
|
|
72
172
|
* For globalScope this will return null.
|
|
73
173
|
*/
|
|
74
|
-
getParentScope(): Scope;
|
|
174
|
+
getParentScope(): Scope | null;
|
|
75
175
|
private dependencyGraph;
|
|
76
176
|
/**
|
|
77
177
|
* An unsubscribe function for the dependencyGraph subscription
|
|
@@ -79,27 +179,25 @@ export declare class Scope {
|
|
|
79
179
|
private unsubscribeFromDependencyGraph;
|
|
80
180
|
attachDependencyGraph(dependencyGraph: DependencyGraph): void;
|
|
81
181
|
/**
|
|
82
|
-
* Get the file with the
|
|
83
|
-
* @param filePath can be a srcPath
|
|
182
|
+
* Get the file from this scope with the given path.
|
|
183
|
+
* @param filePath can be a srcPath or destPath
|
|
84
184
|
* @param normalizePath should this function repair and standardize the path? Passing false should have a performance boost if you can guarantee your path is already sanitized
|
|
85
185
|
*/
|
|
86
|
-
getFile(
|
|
186
|
+
getFile<TFile extends BscFile>(filePath: string, normalizePath?: boolean): TFile;
|
|
87
187
|
/**
|
|
88
188
|
* Get the list of files referenced by this scope that are actually loaded in the program.
|
|
89
189
|
* Excludes files from ancestor scopes
|
|
90
190
|
*/
|
|
91
|
-
getOwnFiles():
|
|
191
|
+
getOwnFiles(): BscFile[];
|
|
92
192
|
/**
|
|
93
193
|
* Get the list of files referenced by this scope that are actually loaded in the program.
|
|
94
194
|
* Includes files from this scope and all ancestor scopes
|
|
95
195
|
*/
|
|
96
|
-
getAllFiles():
|
|
196
|
+
getAllFiles(): BscFile[];
|
|
97
197
|
/**
|
|
98
|
-
*
|
|
99
|
-
* call this sparingly.
|
|
198
|
+
* Gets a list of all files in this scope, but not imported files, and not from ancestor scopes
|
|
100
199
|
*/
|
|
101
|
-
|
|
102
|
-
addDiagnostics(diagnostics: BsDiagnostic[]): void;
|
|
200
|
+
getImmediateFiles(): BscFile[];
|
|
103
201
|
/**
|
|
104
202
|
* Get the list of callables available in this scope (either declared in this scope or in a parent scope)
|
|
105
203
|
*/
|
|
@@ -107,13 +205,18 @@ export declare class Scope {
|
|
|
107
205
|
/**
|
|
108
206
|
* Get the callable with the specified name.
|
|
109
207
|
* If there are overridden callables with the same name, the closest callable to this scope is returned
|
|
110
|
-
* @param name
|
|
111
208
|
*/
|
|
112
|
-
getCallableByName(name: string):
|
|
209
|
+
getCallableByName(name: string): Callable;
|
|
210
|
+
getCallableMap(): Map<string, Callable>;
|
|
211
|
+
getCallableContainerMap(): import("./interfaces").CallableContainerMap;
|
|
113
212
|
/**
|
|
114
213
|
* Iterate over Brs files not shadowed by typedefs
|
|
115
214
|
*/
|
|
116
215
|
enumerateBrsFiles(callback: (file: BrsFile) => void): void;
|
|
216
|
+
/**
|
|
217
|
+
* Iterate over Brs files not shadowed by typedefs
|
|
218
|
+
*/
|
|
219
|
+
enumerateBrsFilesWithBreak(callback: (file: BrsFile) => boolean): void;
|
|
117
220
|
/**
|
|
118
221
|
* Call a function for each file directly included in this scope (excluding files found only in parent scopes).
|
|
119
222
|
*/
|
|
@@ -124,96 +227,74 @@ export declare class Scope {
|
|
|
124
227
|
*/
|
|
125
228
|
getOwnCallables(): CallableContainer[];
|
|
126
229
|
/**
|
|
127
|
-
*
|
|
128
|
-
|
|
129
|
-
|
|
230
|
+
* Build the namespace lookup for this scope.
|
|
231
|
+
*
|
|
232
|
+
* The lookup is now backed by `ScopeNamespaceLookup`, which queries the
|
|
233
|
+
* Program-level `getNamespaceContributors` map lazily on each
|
|
234
|
+
* `.get(name)` call. Per-file contributions are pre-built by
|
|
235
|
+
* `BrsFile.getNamespaceContributions` and shared across every scope that
|
|
236
|
+
* pulls in the file, so single-contribution containers reuse the file's
|
|
237
|
+
* pre-built statement collections and symbolTable instead of allocating
|
|
238
|
+
* per-scope copies.
|
|
239
|
+
*
|
|
240
|
+
* The return type is `Map<string, NamespaceContainer>` for backward
|
|
241
|
+
* compatibility with plugins that consume the public API.
|
|
242
|
+
*/
|
|
243
|
+
buildNamespaceLookup(): Map<string, NamespaceContainer>;
|
|
130
244
|
getAllNamespaceStatements(): NamespaceStatement[];
|
|
131
245
|
protected logDebug(...args: any[]): void;
|
|
132
246
|
private _debugLogComponentName;
|
|
133
|
-
|
|
134
|
-
|
|
247
|
+
validationMetrics: {
|
|
248
|
+
linkTime: number;
|
|
249
|
+
validationTime: number;
|
|
250
|
+
};
|
|
251
|
+
shouldValidate(validationOptions?: ScopeValidationOptions): boolean;
|
|
252
|
+
validate(validationOptions?: ScopeValidationOptions): boolean;
|
|
135
253
|
/**
|
|
136
254
|
* Mark this scope as invalid, which means its `validate()` function needs to be called again before use.
|
|
137
255
|
*/
|
|
138
256
|
invalidate(): void;
|
|
139
257
|
get symbolTable(): SymbolTable;
|
|
140
|
-
private _symbolTable;
|
|
141
|
-
private clearSymbolTable;
|
|
142
258
|
/**
|
|
143
|
-
|
|
144
|
-
|
|
145
|
-
|
|
146
|
-
|
|
259
|
+
* A list of functions that will be called whenever `unlinkSymbolTable` is called
|
|
260
|
+
*/
|
|
261
|
+
private linkSymbolTableDisposables;
|
|
262
|
+
private symbolsAddedDuringLinking;
|
|
263
|
+
get allNamespaceTypeTable(): SymbolTable;
|
|
264
|
+
private _allNamespaceTypeTable;
|
|
265
|
+
/**
|
|
266
|
+
* Builds the current symbol table for the scope, by merging the tables for all the files in this scope.
|
|
267
|
+
* Also links all file symbols tables to this new table
|
|
268
|
+
* This will only rebuilt if the symbol table has not been built before
|
|
269
|
+
*
|
|
270
|
+
* Tree of symbol tables:
|
|
271
|
+
* ```
|
|
272
|
+
* Global Scope Symbol Table
|
|
273
|
+
* - Source Scope Symbol Table :: Aggregate Namespaces Symbol Table (Siblings)
|
|
274
|
+
* - File 1 Symbol Table
|
|
275
|
+
* - File 2 Symbol Table
|
|
276
|
+
* - Component A Scope Symbol Table :: Aggregate Namespaces Symbol Table (Siblings)
|
|
277
|
+
* - File 1 Symbol Table
|
|
278
|
+
* - File 2 Symbol Table
|
|
279
|
+
* - Component B Scope Symbol Table :: Aggregate Namespaces Symbol Table (Siblings)
|
|
280
|
+
* - File 1 Symbol Table
|
|
281
|
+
* - File 2 Symbol Table
|
|
282
|
+
* ```
|
|
283
|
+
*/
|
|
147
284
|
linkSymbolTable(): void;
|
|
148
285
|
unlinkSymbolTable(): void;
|
|
149
|
-
private detectVariableNamespaceCollisions;
|
|
150
|
-
/**
|
|
151
|
-
* Find various function collisions
|
|
152
|
-
*/
|
|
153
|
-
private diagnosticDetectFunctionCollisions;
|
|
154
|
-
/**
|
|
155
|
-
* Find function parameters and function return types that are neither built-in types or known Class references
|
|
156
|
-
*/
|
|
157
|
-
private diagnosticDetectInvalidFunctionExpressionTypes;
|
|
158
|
-
private diagnosticDetectInvalidFunctionCalls;
|
|
159
|
-
getNewExpressions(): AugmentedNewExpression[];
|
|
160
|
-
private validateClasses;
|
|
161
|
-
/**
|
|
162
|
-
* Detect calls to functions with the incorrect number of parameters
|
|
163
|
-
* @param file
|
|
164
|
-
* @param callableContainersByLowerName
|
|
165
|
-
*/
|
|
166
|
-
private diagnosticDetectFunctionCallsWithWrongParamCount;
|
|
167
|
-
/**
|
|
168
|
-
* Detect local variables (vars declared within a function expression) that have the same name as scope calls
|
|
169
|
-
* @param file
|
|
170
|
-
* @param callableContainerMap
|
|
171
|
-
*/
|
|
172
|
-
private diagnosticDetectShadowedLocalVars;
|
|
173
|
-
/**
|
|
174
|
-
* Detect calls to functions that are not defined in this scope
|
|
175
|
-
* @param file
|
|
176
|
-
* @param callablesByLowerName
|
|
177
|
-
*/
|
|
178
|
-
private diagnosticDetectCallsToUnknownFunctions;
|
|
179
|
-
/**
|
|
180
|
-
* Create diagnostics for any duplicate function declarations
|
|
181
|
-
* @param callablesByLowerName
|
|
182
|
-
*/
|
|
183
|
-
private diagnosticFindDuplicateFunctionDeclarations;
|
|
184
286
|
/**
|
|
185
287
|
* Get the list of all script imports for this scope
|
|
186
288
|
*/
|
|
187
|
-
|
|
188
|
-
/**
|
|
189
|
-
* Verify that all of the scripts imported by each file in this scope actually exist
|
|
190
|
-
*/
|
|
191
|
-
private diagnosticValidateScriptImportPaths;
|
|
289
|
+
getOwnScriptImports(): FileReference[];
|
|
192
290
|
/**
|
|
193
291
|
* Find the file with the specified relative path
|
|
194
|
-
* @param relativePath
|
|
195
292
|
*/
|
|
196
|
-
|
|
293
|
+
getFileByRelativePath(relativePath: string): BscFile;
|
|
197
294
|
/**
|
|
198
295
|
* Determine if this file is included in this scope (excluding parent scopes)
|
|
199
|
-
* @param file
|
|
200
296
|
*/
|
|
201
297
|
hasFile(file: BscFile): boolean;
|
|
202
|
-
/**
|
|
203
|
-
* Get all callables as completionItems
|
|
204
|
-
*/
|
|
205
|
-
getCallablesAsCompletions(parseMode: ParseMode): CompletionItem[];
|
|
206
|
-
createCompletionFromCallable(callableContainer: CallableContainer): CompletionItem;
|
|
207
|
-
createCompletionFromFunctionStatement(statement: FunctionStatement): CompletionItem;
|
|
208
|
-
/**
|
|
209
|
-
* Get the definition (where was this thing first defined) of the symbol under the position
|
|
210
|
-
*/
|
|
211
|
-
getDefinition(file: BscFile, position: Position): Location[];
|
|
212
|
-
/**
|
|
213
|
-
* Scan all files for property names, and return them as completions
|
|
214
|
-
*/
|
|
215
|
-
getPropertyNameCompletions(): CompletionItem[];
|
|
216
|
-
getAllClassMemberCompletions(): Map<string, CompletionItem>;
|
|
217
298
|
/**
|
|
218
299
|
* @param className - The name of the class (including namespace if possible)
|
|
219
300
|
* @param callsiteNamespace - the name of the namespace where the call site resides (this is NOT the known namespace of the class).
|
|
@@ -221,18 +302,58 @@ export declare class Scope {
|
|
|
221
302
|
*/
|
|
222
303
|
getClassHierarchy(className: string, callsiteNamespace?: string): FileLink<ClassStatement>[];
|
|
223
304
|
}
|
|
224
|
-
|
|
225
|
-
|
|
305
|
+
/**
|
|
306
|
+
* A single file's contribution to a namespace name. Cached on `BrsFile` and shared
|
|
307
|
+
* across every scope that pulls in this file. The fields here are intrinsic to the
|
|
308
|
+
* file's parsed AST, so they never need to be rebuilt per scope.
|
|
309
|
+
*
|
|
310
|
+
* Pure-intermediate contributions (a namespace name part that this file only references
|
|
311
|
+
* as a dotted prefix, e.g. `A` from `namespace A.B`) carry only the structural fields
|
|
312
|
+
* (file, fullName, lastPartName, nameRange). Leaf contributions populate the relevant
|
|
313
|
+
* statement collections and the per-file `symbolTable`.
|
|
314
|
+
*
|
|
315
|
+
* The `symbolTable` here has no parent provider; sibling resolution in `linkSymbolTable`
|
|
316
|
+
* does not walk into a sibling's parent, so the parent-provider plumbing was dead code.
|
|
317
|
+
*/
|
|
318
|
+
export interface NamespaceFileContribution {
|
|
319
|
+
file: BrsFile;
|
|
226
320
|
fullName: string;
|
|
227
|
-
nameRange: Range;
|
|
228
321
|
lastPartName: string;
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
322
|
+
nameRange: Range;
|
|
323
|
+
namespaceStatements?: NamespaceStatement[];
|
|
324
|
+
statements?: Statement[];
|
|
325
|
+
classStatements?: Record<string, ClassStatement>;
|
|
326
|
+
functionStatements?: Record<string, FunctionStatement>;
|
|
327
|
+
enumStatements?: Map<string, EnumStatement>;
|
|
328
|
+
constStatements?: Map<string, ConstStatement>;
|
|
329
|
+
symbolTable?: SymbolTable;
|
|
234
330
|
}
|
|
235
|
-
|
|
331
|
+
/**
|
|
332
|
+
* A node in the per-scope namespace tree.
|
|
333
|
+
*
|
|
334
|
+
* `namespaces` is always allocated so parent-child wiring works for every container.
|
|
335
|
+
* The remaining collections are lazily allocated by `buildNamespaceLookup` only when
|
|
336
|
+
* a corresponding declaration is encountered, so pure-intermediate containers and
|
|
337
|
+
* sparsely-populated leaves do not pay the cost of empty Maps/Records they will never use.
|
|
338
|
+
*
|
|
339
|
+
* Consumers must handle these fields being undefined.
|
|
340
|
+
*/
|
|
341
|
+
export interface NamespaceContainer {
|
|
236
342
|
file: BscFile;
|
|
343
|
+
fullName: string;
|
|
344
|
+
nameRange: Range;
|
|
345
|
+
lastPartName: string;
|
|
346
|
+
namespaces?: Map<string, NamespaceContainer>;
|
|
347
|
+
namespaceStatements?: NamespaceStatement[];
|
|
348
|
+
statements?: Statement[];
|
|
349
|
+
classStatements?: Record<string, ClassStatement>;
|
|
350
|
+
functionStatements?: Record<string, FunctionStatement>;
|
|
351
|
+
enumStatements?: Map<string, EnumStatement>;
|
|
352
|
+
constStatements?: Map<string, ConstStatement>;
|
|
353
|
+
symbolTable?: SymbolTable;
|
|
354
|
+
fullNameLower?: string;
|
|
355
|
+
parentNameLower?: string;
|
|
356
|
+
nameParts?: Identifier[];
|
|
357
|
+
lastPartNameLower?: string;
|
|
358
|
+
isTopLevel?: boolean;
|
|
237
359
|
}
|
|
238
|
-
export {};
|