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
package/dist/parser/SGParser.js
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.rangeFromTokenValue = void 0;
|
|
3
4
|
const parser = require("@xml-tools/parser");
|
|
4
5
|
const DiagnosticMessages_1 = require("../DiagnosticMessages");
|
|
5
6
|
const util_1 = require("../util");
|
|
@@ -37,43 +38,52 @@ class SGParser {
|
|
|
37
38
|
* Walk the AST to extract references to useful bits of information
|
|
38
39
|
*/
|
|
39
40
|
findReferences() {
|
|
41
|
+
var _a;
|
|
40
42
|
this._references = this.emptySGReferences();
|
|
41
|
-
const {
|
|
42
|
-
if (!
|
|
43
|
+
const { componentElement } = this.ast;
|
|
44
|
+
if (!componentElement) {
|
|
43
45
|
return;
|
|
44
46
|
}
|
|
45
|
-
const nameAttr =
|
|
47
|
+
const nameAttr = componentElement.getAttribute('name');
|
|
46
48
|
this._references.name = nameAttr === null || nameAttr === void 0 ? void 0 : nameAttr.tokens.value;
|
|
47
|
-
const extendsAttr =
|
|
49
|
+
const extendsAttr = componentElement.getAttribute('extends');
|
|
48
50
|
if (extendsAttr === null || extendsAttr === void 0 ? void 0 : extendsAttr.tokens.value) {
|
|
49
51
|
this._references.extends = extendsAttr.tokens.value;
|
|
50
52
|
}
|
|
51
|
-
for (const script of
|
|
53
|
+
for (const script of componentElement.scriptElements) {
|
|
52
54
|
const uriAttr = script.getAttribute('uri');
|
|
53
55
|
if (uriAttr === null || uriAttr === void 0 ? void 0 : uriAttr.tokens.value) {
|
|
54
56
|
const uri = uriAttr.tokens.value.text;
|
|
55
57
|
this._references.scriptTagImports.push({
|
|
56
|
-
filePathRange: uriAttr.tokens.value.range,
|
|
58
|
+
filePathRange: (_a = uriAttr.tokens.value.location) === null || _a === void 0 ? void 0 : _a.range,
|
|
57
59
|
text: uri,
|
|
58
|
-
|
|
60
|
+
destPath: util_1.default.getPkgPathFromTarget(this.options.destPath, uri)
|
|
59
61
|
});
|
|
60
62
|
}
|
|
61
63
|
}
|
|
62
64
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
+
sanitizeParseOptions(options) {
|
|
66
|
+
var _a;
|
|
67
|
+
options !== null && options !== void 0 ? options : (options = {
|
|
68
|
+
destPath: undefined
|
|
69
|
+
});
|
|
70
|
+
(_a = options.trackLocations) !== null && _a !== void 0 ? _a : (options.trackLocations = true);
|
|
71
|
+
return options;
|
|
72
|
+
}
|
|
73
|
+
parse(fileContents, options) {
|
|
74
|
+
this.options = this.sanitizeParseOptions(options);
|
|
65
75
|
this.diagnostics = [];
|
|
66
76
|
const { cst, tokenVector, lexErrors, parseErrors } = parser.parse(fileContents);
|
|
67
77
|
this.tokens = tokenVector;
|
|
68
78
|
if (lexErrors.length) {
|
|
69
79
|
for (const err of lexErrors) {
|
|
70
|
-
this.diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.
|
|
80
|
+
this.diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.syntaxError(`Syntax error: ${err.message}`)), { location: this.getLocationFromRange(util_1.default.createRange(err.line - 1, err.column, err.line - 1, err.column + err.length)) }));
|
|
71
81
|
}
|
|
72
82
|
}
|
|
73
83
|
if (parseErrors.length) {
|
|
74
84
|
const err = parseErrors[0];
|
|
75
85
|
const token = err.token;
|
|
76
|
-
this.diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.
|
|
86
|
+
this.diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.syntaxError(`Syntax error: ${err.message}`)), { location: this.getLocationFromRange(!isNaN(token.startLine) ? this.rangeFromToken(token) : util_1.default.createRange(0, 0, 0, Number.MAX_VALUE)) }));
|
|
77
87
|
}
|
|
78
88
|
const { prolog, root } = this.buildAST(cst);
|
|
79
89
|
if (!root) {
|
|
@@ -82,18 +92,18 @@ class SGParser {
|
|
|
82
92
|
//whitespace before the prolog isn't allowed by the parser
|
|
83
93
|
if ((token1 === null || token1 === void 0 ? void 0 : token1.image.trim().length) === 0 &&
|
|
84
94
|
(token2 === null || token2 === void 0 ? void 0 : token2.image.trim()) === '<?xml') {
|
|
85
|
-
this.diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.
|
|
95
|
+
this.diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.syntaxError('Syntax error: whitespace found before the XML prolog')), { location: this.getLocationFromRange(this.rangeFromToken(token1)) }));
|
|
86
96
|
}
|
|
87
97
|
}
|
|
88
|
-
if (xml_1.isSGComponent(root)) {
|
|
89
|
-
this.ast = new SGTypes_1.SGAst(prolog, root, root);
|
|
98
|
+
if ((0, xml_1.isSGComponent)(root)) {
|
|
99
|
+
this.ast = new SGTypes_1.SGAst({ prologElement: prolog, rootElement: root, componentElement: root });
|
|
90
100
|
}
|
|
91
101
|
else {
|
|
92
102
|
if (root) {
|
|
93
103
|
//error: not a component
|
|
94
|
-
this.diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.xmlUnexpectedTag(root.tokens.startTagName.text)), {
|
|
104
|
+
this.diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.xmlUnexpectedTag(root.tokens.startTagName.text)), { location: root.tokens.startTagName.location }));
|
|
95
105
|
}
|
|
96
|
-
this.ast = new SGTypes_1.SGAst(prolog, root);
|
|
106
|
+
this.ast = new SGTypes_1.SGAst({ prologElement: prolog, rootElement: root });
|
|
97
107
|
}
|
|
98
108
|
}
|
|
99
109
|
buildAST(cst) {
|
|
@@ -102,13 +112,15 @@ class SGParser {
|
|
|
102
112
|
let prolog;
|
|
103
113
|
if (cstProlog === null || cstProlog === void 0 ? void 0 : cstProlog[0]) {
|
|
104
114
|
const ctx = cstProlog[0].children;
|
|
105
|
-
prolog = new SGTypes_1.SGProlog(
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
115
|
+
prolog = new SGTypes_1.SGProlog({
|
|
116
|
+
// <?
|
|
117
|
+
startTagOpen: this.createPartialToken(ctx.XMLDeclOpen[0], 0, 2),
|
|
118
|
+
// xml
|
|
119
|
+
startTagName: this.createPartialToken(ctx.XMLDeclOpen[0], 2, 3),
|
|
120
|
+
attributes: this.mapAttributes(ctx.attribute),
|
|
121
|
+
// ?>
|
|
122
|
+
startTagClose: this.mapToken(ctx.SPECIAL_CLOSE[0])
|
|
123
|
+
});
|
|
112
124
|
}
|
|
113
125
|
let root;
|
|
114
126
|
if (element.length > 0 && ((_b = (_a = element[0]) === null || _a === void 0 ? void 0 : _a.children) === null || _b === void 0 ? void 0 : _b.Name)) {
|
|
@@ -129,54 +141,66 @@ class SGParser {
|
|
|
129
141
|
const endTagName = this.mapToken((_d = children.END_NAME) === null || _d === void 0 ? void 0 : _d[0]);
|
|
130
142
|
const endTagClose = this.mapToken((_e = children.END) === null || _e === void 0 ? void 0 : _e[0]);
|
|
131
143
|
const content = (_f = children.content) === null || _f === void 0 ? void 0 : _f[0];
|
|
132
|
-
let
|
|
144
|
+
let constructorOptions = {
|
|
145
|
+
startTagOpen: startTagOpen,
|
|
146
|
+
startTagName: startTagName,
|
|
147
|
+
attributes: attributes,
|
|
148
|
+
startTagClose: startTagClose,
|
|
149
|
+
elements: [],
|
|
150
|
+
endTagOpen: endTagOpen,
|
|
151
|
+
endTagName: endTagName,
|
|
152
|
+
endTagClose: endTagClose
|
|
153
|
+
};
|
|
133
154
|
switch (startTagName.text) {
|
|
134
155
|
case 'component':
|
|
135
|
-
|
|
136
|
-
return new SGTypes_1.SGComponent(
|
|
156
|
+
constructorOptions.elements = this.mapElements(content, ['interface', 'script', 'children', 'customization']);
|
|
157
|
+
return new SGTypes_1.SGComponent(constructorOptions);
|
|
137
158
|
case 'interface':
|
|
138
|
-
|
|
139
|
-
return new SGTypes_1.SGInterface(
|
|
159
|
+
constructorOptions.elements = this.mapElements(content, ['field', 'function']);
|
|
160
|
+
return new SGTypes_1.SGInterface(constructorOptions);
|
|
140
161
|
case 'field':
|
|
141
162
|
if (this.hasElements(content)) {
|
|
142
|
-
this.diagnostics.push(Object.assign({
|
|
163
|
+
this.diagnostics.push(Object.assign({ location: startTagName.location }, DiagnosticMessages_1.DiagnosticMessages.xmlUnexpectedChildren(startTagName.text)));
|
|
143
164
|
}
|
|
144
|
-
return new SGTypes_1.SGInterfaceField(
|
|
165
|
+
return new SGTypes_1.SGInterfaceField(constructorOptions);
|
|
145
166
|
case 'function':
|
|
146
167
|
if (this.hasElements(content)) {
|
|
147
|
-
this.diagnostics.push(Object.assign({
|
|
168
|
+
this.diagnostics.push(Object.assign({ location: startTagName.location }, DiagnosticMessages_1.DiagnosticMessages.xmlUnexpectedChildren(startTagName.text)));
|
|
148
169
|
}
|
|
149
|
-
return new SGTypes_1.SGInterfaceFunction(
|
|
170
|
+
return new SGTypes_1.SGInterfaceFunction(constructorOptions);
|
|
150
171
|
case 'script':
|
|
151
172
|
if (this.hasElements(content)) {
|
|
152
|
-
this.diagnostics.push(Object.assign({
|
|
173
|
+
this.diagnostics.push(Object.assign({ location: startTagName.location }, DiagnosticMessages_1.DiagnosticMessages.xmlUnexpectedChildren(startTagName.text)));
|
|
153
174
|
}
|
|
154
|
-
const script = new SGTypes_1.SGScript(
|
|
175
|
+
const script = new SGTypes_1.SGScript(constructorOptions);
|
|
155
176
|
script.cdata = this.getCdata(content);
|
|
156
177
|
return script;
|
|
157
178
|
case 'children':
|
|
158
|
-
|
|
159
|
-
return new SGTypes_1.SGChildren(
|
|
179
|
+
constructorOptions.elements = this.mapNodes(content);
|
|
180
|
+
return new SGTypes_1.SGChildren(constructorOptions);
|
|
160
181
|
default:
|
|
161
|
-
|
|
162
|
-
return new SGTypes_1.SGNode(
|
|
182
|
+
constructorOptions.elements = this.mapNodes(content);
|
|
183
|
+
return new SGTypes_1.SGNode(constructorOptions);
|
|
163
184
|
}
|
|
164
185
|
}
|
|
165
186
|
mapNode({ children }) {
|
|
166
|
-
var _a, _b, _c, _d, _e;
|
|
167
|
-
return new SGTypes_1.SGNode(
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
187
|
+
var _a, _b, _c, _d, _e, _f;
|
|
188
|
+
return new SGTypes_1.SGNode({
|
|
189
|
+
//<
|
|
190
|
+
startTagOpen: this.mapToken(children.OPEN[0]),
|
|
191
|
+
// TagName
|
|
192
|
+
startTagName: this.mapToken(children.Name[0]),
|
|
193
|
+
attributes: this.mapAttributes(children.attribute),
|
|
194
|
+
// > or />
|
|
195
|
+
startTagClose: this.mapToken((_b = ((_a = children.SLASH_CLOSE) !== null && _a !== void 0 ? _a : children.START_CLOSE)) === null || _b === void 0 ? void 0 : _b[0]),
|
|
196
|
+
elements: this.mapNodes((_c = children.content) === null || _c === void 0 ? void 0 : _c[0]),
|
|
197
|
+
// </
|
|
198
|
+
endTagOpen: this.mapToken((_d = children.SLASH_OPEN) === null || _d === void 0 ? void 0 : _d[0]),
|
|
199
|
+
// TagName
|
|
200
|
+
endTagName: this.mapToken((_e = children.END_NAME) === null || _e === void 0 ? void 0 : _e[0]),
|
|
201
|
+
// >
|
|
202
|
+
endTagClose: this.mapToken((_f = children.END) === null || _f === void 0 ? void 0 : _f[0])
|
|
203
|
+
});
|
|
180
204
|
}
|
|
181
205
|
mapElements(content, allow) {
|
|
182
206
|
var _a;
|
|
@@ -191,7 +215,7 @@ class SGParser {
|
|
|
191
215
|
if (name === null || name === void 0 ? void 0 : name.image) {
|
|
192
216
|
if (!allow.includes(name.image)) {
|
|
193
217
|
//unexpected tag
|
|
194
|
-
this.diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.xmlUnexpectedTag(name.image)), {
|
|
218
|
+
this.diagnostics.push(Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.xmlUnexpectedTag(name.image)), { location: this.getLocationFromRange(this.rangeFromToken(name)) }));
|
|
195
219
|
}
|
|
196
220
|
tags.push(this.mapElement(entry));
|
|
197
221
|
}
|
|
@@ -224,7 +248,8 @@ class SGParser {
|
|
|
224
248
|
if (token) {
|
|
225
249
|
return {
|
|
226
250
|
text: token.image,
|
|
227
|
-
|
|
251
|
+
//TODO should this be coerced into a uri?
|
|
252
|
+
location: util_1.default.createLocationFromRange(this.options.srcPath, this.rangeFromToken(token))
|
|
228
253
|
};
|
|
229
254
|
}
|
|
230
255
|
else {
|
|
@@ -238,9 +263,10 @@ class SGParser {
|
|
|
238
263
|
// this is a hot function and has been optimized, so don't refactor unless you know what you're doing...
|
|
239
264
|
const result = [];
|
|
240
265
|
if (attributes) {
|
|
266
|
+
// eslint-disable-next-line @typescript-eslint/prefer-for-of
|
|
241
267
|
for (let i = 0; i < attributes.length; i++) {
|
|
242
268
|
const children = attributes[i].children;
|
|
243
|
-
const attr = new SGTypes_1.SGAttribute(this.mapToken(children.Name[0]));
|
|
269
|
+
const attr = new SGTypes_1.SGAttribute({ key: this.mapToken(children.Name[0]) });
|
|
244
270
|
if (children.EQUALS) {
|
|
245
271
|
attr.tokens.equals = this.mapToken(children.EQUALS[0]);
|
|
246
272
|
}
|
|
@@ -257,6 +283,7 @@ class SGParser {
|
|
|
257
283
|
}
|
|
258
284
|
/**
|
|
259
285
|
* Create a partial token from the given token. This only supports single-line tokens.
|
|
286
|
+
* @param token the offset to start the new token. If negative, subtracts from token.length
|
|
260
287
|
* @param startOffset the offset to start the new token. If negative, subtracts from token.length
|
|
261
288
|
* @param length the length of the text to keep. If negative, subtracts from token.length
|
|
262
289
|
*/
|
|
@@ -273,7 +300,7 @@ class SGParser {
|
|
|
273
300
|
return {
|
|
274
301
|
text: token.image.substring(startOffset, startOffset + length),
|
|
275
302
|
//xmltools startLine is 1-based, we need 0-based which is why we subtract 1 below
|
|
276
|
-
|
|
303
|
+
location: util_1.default.createLocation(token.startLine - 1, token.startColumn - 1 + startOffset, token.endLine - 1, token.startColumn - 1 + (startOffset + length), this.options.srcPath)
|
|
277
304
|
};
|
|
278
305
|
}
|
|
279
306
|
/**
|
|
@@ -287,6 +314,17 @@ class SGParser {
|
|
|
287
314
|
scriptTagImports: []
|
|
288
315
|
};
|
|
289
316
|
}
|
|
317
|
+
getLocationFromRange(range) {
|
|
318
|
+
return util_1.default.createLocationFromRange(util_1.default.pathToUri(this.options.srcPath), range);
|
|
319
|
+
}
|
|
290
320
|
}
|
|
291
321
|
exports.default = SGParser;
|
|
322
|
+
//make range not including quotes
|
|
323
|
+
function rangeFromTokenValue(token) {
|
|
324
|
+
if (!token) {
|
|
325
|
+
return undefined;
|
|
326
|
+
}
|
|
327
|
+
return util_1.default.createRange(token.startLine - 1, token.startColumn, token.endLine - 1, token.endColumn - 1);
|
|
328
|
+
}
|
|
329
|
+
exports.rangeFromTokenValue = rangeFromTokenValue;
|
|
292
330
|
//# sourceMappingURL=SGParser.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"SGParser.js","sourceRoot":"","sources":["../../src/parser/SGParser.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"SGParser.js","sourceRoot":"","sources":["../../src/parser/SGParser.ts"],"names":[],"mappings":"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"}
|
package/dist/parser/SGTypes.d.ts
CHANGED
|
@@ -1,19 +1,25 @@
|
|
|
1
1
|
import { SourceNode } from 'source-map';
|
|
2
|
-
import type {
|
|
2
|
+
import type { Location } from 'vscode-languageserver';
|
|
3
3
|
import type { FileReference } from '../interfaces';
|
|
4
4
|
import type { TranspileState } from './TranspileState';
|
|
5
5
|
export interface SGToken {
|
|
6
6
|
text: string;
|
|
7
|
-
|
|
7
|
+
location?: Location;
|
|
8
8
|
}
|
|
9
9
|
export declare class SGAttribute {
|
|
10
|
-
constructor(
|
|
11
|
-
tokens: {
|
|
10
|
+
constructor(options: {
|
|
12
11
|
key: SGToken;
|
|
13
12
|
equals?: SGToken;
|
|
14
13
|
openingQuote?: SGToken;
|
|
15
14
|
value?: SGToken;
|
|
16
15
|
closingQuote?: SGToken;
|
|
16
|
+
});
|
|
17
|
+
readonly tokens: {
|
|
18
|
+
readonly key: SGToken;
|
|
19
|
+
equals?: SGToken;
|
|
20
|
+
openingQuote?: SGToken;
|
|
21
|
+
value?: SGToken;
|
|
22
|
+
closingQuote?: SGToken;
|
|
17
23
|
};
|
|
18
24
|
get key(): string;
|
|
19
25
|
/**
|
|
@@ -21,48 +27,58 @@ export declare class SGAttribute {
|
|
|
21
27
|
*/
|
|
22
28
|
get value(): string | undefined;
|
|
23
29
|
set value(val: string | undefined);
|
|
24
|
-
get
|
|
25
|
-
private
|
|
30
|
+
get location(): Location;
|
|
31
|
+
private _location;
|
|
26
32
|
transpile(state: TranspileState): SourceNode;
|
|
33
|
+
clone(): SGAttribute;
|
|
27
34
|
}
|
|
28
|
-
export declare class
|
|
29
|
-
constructor(
|
|
30
|
-
|
|
35
|
+
export declare class SGElement {
|
|
36
|
+
constructor(options: {
|
|
37
|
+
startTagOpen?: SGToken;
|
|
38
|
+
startTagName: SGToken;
|
|
39
|
+
attributes?: SGAttribute[];
|
|
40
|
+
startTagClose?: SGToken;
|
|
41
|
+
elements?: SGElement[];
|
|
42
|
+
endTagOpen?: SGToken;
|
|
43
|
+
endTagName?: SGToken;
|
|
44
|
+
endTagClose?: SGToken;
|
|
45
|
+
});
|
|
46
|
+
readonly tokens: {
|
|
31
47
|
/**
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
startTagOpen
|
|
48
|
+
* The first portion of the startTag. (i.e. `<` or `<?`)
|
|
49
|
+
*/
|
|
50
|
+
readonly startTagOpen?: SGToken;
|
|
35
51
|
/**
|
|
36
52
|
* The name of the opening tag (i.e. CoolTag in `<CoolTag>`).
|
|
37
53
|
*/
|
|
38
|
-
startTagName: SGToken;
|
|
54
|
+
readonly startTagName: SGToken;
|
|
39
55
|
/**
|
|
40
|
-
* The last bit of the startTag (i.e. `/>` for self-closing, `?>` for xml
|
|
56
|
+
* The last bit of the startTag (i.e. `/>` for self-closing, `?>` for xml prolog, or `>` for tag with children)
|
|
41
57
|
*/
|
|
42
|
-
startTagClose?: SGToken;
|
|
58
|
+
readonly startTagClose?: SGToken;
|
|
43
59
|
/**
|
|
44
60
|
* The endTag opening char `<`
|
|
45
61
|
*/
|
|
46
|
-
endTagOpen?: SGToken;
|
|
62
|
+
readonly endTagOpen?: SGToken;
|
|
47
63
|
/**
|
|
48
64
|
* The name of the ending tag (i.e. CoolTag in `</CoolTag>`)
|
|
49
65
|
*/
|
|
50
|
-
endTagName?: SGToken;
|
|
66
|
+
readonly endTagName?: SGToken;
|
|
51
67
|
/**
|
|
52
68
|
* The endTag closing char `>`
|
|
53
69
|
*/
|
|
54
|
-
endTagClose?: SGToken;
|
|
70
|
+
readonly endTagClose?: SGToken;
|
|
55
71
|
};
|
|
56
72
|
/**
|
|
57
73
|
* Array of attributes found on this tag
|
|
58
74
|
*/
|
|
59
|
-
attributes: SGAttribute[];
|
|
75
|
+
readonly attributes: SGAttribute[];
|
|
60
76
|
/**
|
|
61
77
|
* The array of direct children AST elements of this AST node
|
|
62
78
|
*/
|
|
63
|
-
|
|
64
|
-
get
|
|
65
|
-
private
|
|
79
|
+
readonly elements: SGElement[];
|
|
80
|
+
get location(): Location;
|
|
81
|
+
private _location;
|
|
66
82
|
/**
|
|
67
83
|
* Is this a self-closing tag?
|
|
68
84
|
*/
|
|
@@ -70,7 +86,7 @@ export declare class SGTag {
|
|
|
70
86
|
get id(): string;
|
|
71
87
|
set id(value: string);
|
|
72
88
|
/**
|
|
73
|
-
* Get the
|
|
89
|
+
* Get the name of this tag.
|
|
74
90
|
*/
|
|
75
91
|
get tagName(): string;
|
|
76
92
|
/**
|
|
@@ -78,22 +94,22 @@ export declare class SGTag {
|
|
|
78
94
|
* This does not step into children's children.
|
|
79
95
|
*
|
|
80
96
|
*/
|
|
81
|
-
|
|
97
|
+
getElementsByTagName<T extends SGElement>(tagName: string): readonly T[];
|
|
82
98
|
/**
|
|
83
99
|
* Add a child to the end of the children array
|
|
84
100
|
*/
|
|
85
|
-
addChild<T extends
|
|
101
|
+
addChild<T extends SGElement>(tag: T): T;
|
|
86
102
|
/**
|
|
87
103
|
* Remove a child from the children array.
|
|
88
104
|
* @returns true if node was found and removed, false if the node wasn't there and thus nothing was done
|
|
89
105
|
*/
|
|
90
|
-
removeChild(tag:
|
|
106
|
+
removeChild(tag: SGElement): boolean;
|
|
91
107
|
/**
|
|
92
108
|
* Does this node have the specified attribute?
|
|
93
109
|
*/
|
|
94
110
|
hasAttribute(name: string): boolean;
|
|
95
111
|
/**
|
|
96
|
-
* Get an SGAttribute by its name
|
|
112
|
+
* Get an SGAttribute by its name (case INsensitive)
|
|
97
113
|
*/
|
|
98
114
|
getAttribute(name: string): SGAttribute | undefined;
|
|
99
115
|
/**
|
|
@@ -105,7 +121,7 @@ export declare class SGTag {
|
|
|
105
121
|
*/
|
|
106
122
|
setAttributeValue(name: string, value: string): void;
|
|
107
123
|
/**
|
|
108
|
-
* Remove an attribute by its name
|
|
124
|
+
* Remove an attribute by its name. DO NOT USE this to edit AST (use ASTEditor)
|
|
109
125
|
* @returns true if an attribute was found and removed. False if no attribute was found
|
|
110
126
|
*/
|
|
111
127
|
removeAttribute(name: string): boolean;
|
|
@@ -113,13 +129,15 @@ export declare class SGTag {
|
|
|
113
129
|
protected transpileBody(state: TranspileState): SourceNode;
|
|
114
130
|
protected transpileAttributes(state: TranspileState, attributes: SGAttribute[]): SourceNode;
|
|
115
131
|
}
|
|
116
|
-
export declare class SGProlog extends
|
|
132
|
+
export declare class SGProlog extends SGElement {
|
|
133
|
+
}
|
|
134
|
+
export declare class SGNode extends SGElement {
|
|
117
135
|
}
|
|
118
|
-
export declare class
|
|
136
|
+
export declare class SGChildren extends SGElement {
|
|
119
137
|
}
|
|
120
|
-
export declare class
|
|
138
|
+
export declare class SGCustomization extends SGElement {
|
|
121
139
|
}
|
|
122
|
-
export declare class SGScript extends
|
|
140
|
+
export declare class SGScript extends SGElement {
|
|
123
141
|
cdata?: SGToken;
|
|
124
142
|
get type(): string;
|
|
125
143
|
set type(value: string);
|
|
@@ -128,7 +146,7 @@ export declare class SGScript extends SGTag {
|
|
|
128
146
|
protected transpileBody(state: TranspileState): SourceNode;
|
|
129
147
|
protected transpileAttributes(state: TranspileState, attributes: SGAttribute[]): SourceNode;
|
|
130
148
|
}
|
|
131
|
-
export declare class SGInterfaceField extends
|
|
149
|
+
export declare class SGInterfaceField extends SGElement {
|
|
132
150
|
get type(): string;
|
|
133
151
|
set type(value: string);
|
|
134
152
|
get alias(): string;
|
|
@@ -140,13 +158,41 @@ export declare class SGInterfaceField extends SGTag {
|
|
|
140
158
|
get alwaysNotify(): string;
|
|
141
159
|
set alwaysNotify(value: string);
|
|
142
160
|
}
|
|
161
|
+
export declare enum SGFieldType {
|
|
162
|
+
integer = "integer",
|
|
163
|
+
int = "int",
|
|
164
|
+
longinteger = "longinteger",
|
|
165
|
+
float = "float",
|
|
166
|
+
string = "string",
|
|
167
|
+
str = "str",
|
|
168
|
+
boolean = "boolean",
|
|
169
|
+
bool = "bool",
|
|
170
|
+
vector2d = "vector2d",
|
|
171
|
+
color = "color",
|
|
172
|
+
time = "time",
|
|
173
|
+
uri = "uri",
|
|
174
|
+
node = "node",
|
|
175
|
+
floatarray = "floatarray",
|
|
176
|
+
intarray = "intarray",
|
|
177
|
+
boolarray = "boolarray",
|
|
178
|
+
stringarray = "stringarray",
|
|
179
|
+
vector2darray = "vector2darray",
|
|
180
|
+
colorarray = "colorarray",
|
|
181
|
+
timearray = "timearray",
|
|
182
|
+
nodearray = "nodearray",
|
|
183
|
+
assocarray = "assocarray",
|
|
184
|
+
array = "array",
|
|
185
|
+
roarray = "roarray",
|
|
186
|
+
rect2d = "rect2d",
|
|
187
|
+
rect2darray = "rect2darray"
|
|
188
|
+
}
|
|
143
189
|
export declare const SGFieldTypes: string[];
|
|
144
|
-
export declare class SGInterfaceFunction extends
|
|
190
|
+
export declare class SGInterfaceFunction extends SGElement {
|
|
145
191
|
get name(): string;
|
|
146
192
|
set name(value: string);
|
|
147
193
|
}
|
|
148
194
|
export declare type SGInterfaceMember = SGInterfaceField | SGInterfaceFunction;
|
|
149
|
-
export declare class SGInterface extends
|
|
195
|
+
export declare class SGInterface extends SGElement {
|
|
150
196
|
get fields(): readonly SGInterfaceField[];
|
|
151
197
|
get functions(): readonly SGInterfaceFunction[];
|
|
152
198
|
get members(): readonly SGInterfaceMember[];
|
|
@@ -185,21 +231,59 @@ export declare class SGInterface extends SGTag {
|
|
|
185
231
|
*/
|
|
186
232
|
removeFunction(name: string): boolean;
|
|
187
233
|
}
|
|
188
|
-
|
|
234
|
+
/**
|
|
235
|
+
* The `<component>` element in SceneGraph. Not to be confused about usages of components like `<Rectangle>`, those are considered `SGNode` instances.
|
|
236
|
+
*/
|
|
237
|
+
export declare class SGComponent extends SGElement {
|
|
189
238
|
/**
|
|
190
239
|
* Get all the <Field> and <Function> elements across all <Interface> nodes in this component
|
|
191
240
|
*/
|
|
192
241
|
get interfaceMembers(): readonly SGInterfaceMember[];
|
|
193
|
-
get
|
|
242
|
+
get scriptElements(): readonly SGScript[];
|
|
243
|
+
/**
|
|
244
|
+
* Get the <interface> element from this component (if present), or undefined if not.
|
|
245
|
+
* NOTE: Roku supports and merges multiple <interface> elements in a component, but this
|
|
246
|
+
* property points to the FIRST one. If you need to check whether a member exists,
|
|
247
|
+
* look through `this.interfaceMemebers` instead.
|
|
248
|
+
*/
|
|
249
|
+
get interfaceElement(): SGInterface | undefined;
|
|
194
250
|
/**
|
|
195
|
-
* Get the `<children>` element of this component. (not to be confused with the AST `
|
|
251
|
+
* Get the `<children>` element of this component. (not to be confused with the AST `childTags` property).
|
|
196
252
|
* If there are multiope `<children>` elements, this function will return the last `<children>` tag because that's what Roku devices do.
|
|
197
253
|
*/
|
|
198
|
-
get
|
|
254
|
+
get childrenElement(): SGChildren;
|
|
255
|
+
get customizationElements(): readonly SGCustomization[];
|
|
256
|
+
/**
|
|
257
|
+
* Specifies the name of the component, that allows you to create the component in your application.
|
|
258
|
+
* For example, if the name of the component is `CastMemberInfo`, you could create instances of the component declaratively
|
|
259
|
+
* in a child node element of a component `<children>` element (`<CastMemberInfo/>`), or using BrightScript in a `<script>`
|
|
260
|
+
* element (`createObject("roSGNode","CastMemberInfo")`).
|
|
261
|
+
*
|
|
262
|
+
* The name attribute is case-sensitive. You cannot successfully create or declare a component unless the component name exactly
|
|
263
|
+
* matches the name attribute, including case. Also be aware that two components with the exact same name in the same application
|
|
264
|
+
* components directory will have undefined and generally undesirable results if you attempt to create a component object with that name in the application.
|
|
265
|
+
*/
|
|
199
266
|
get name(): string;
|
|
200
267
|
set name(value: string);
|
|
268
|
+
/**
|
|
269
|
+
* Specifies the name of the built-in or extended SceneGraph scene or node class whose functionality is extended by this component.
|
|
270
|
+
*
|
|
271
|
+
* For example, `extends="Group"` specifies that the component has all of the functionality of the Group node class (it can have child nodes, has translation/scale/rotation fields, and so forth).
|
|
272
|
+
*
|
|
273
|
+
* By default, a component extends the Group node class.
|
|
274
|
+
*/
|
|
201
275
|
get extends(): string;
|
|
202
276
|
set extends(value: string);
|
|
277
|
+
/**
|
|
278
|
+
* Specifies the ID of a node declared in the XML file to have the initial remote control focus when the component is instantiated.
|
|
279
|
+
*/
|
|
280
|
+
get initialFocus(): string;
|
|
281
|
+
set initialFocus(value: string);
|
|
282
|
+
/**
|
|
283
|
+
* Specifies the version of the SceneGraph API. The default is 1.0 if not specified.
|
|
284
|
+
*/
|
|
285
|
+
get version(): string;
|
|
286
|
+
set version(value: string);
|
|
203
287
|
/**
|
|
204
288
|
* Does the specified field exist in the component interface?
|
|
205
289
|
*/
|
|
@@ -232,8 +316,8 @@ export declare class SGComponent extends SGTag {
|
|
|
232
316
|
*/
|
|
233
317
|
removeInterfaceField(id: string): boolean;
|
|
234
318
|
/**
|
|
235
|
-
|
|
236
|
-
|
|
319
|
+
* Get an interface field with the specified name
|
|
320
|
+
*/
|
|
237
321
|
getInterfaceFunction(name: string): SGInterfaceFunction | undefined;
|
|
238
322
|
/**
|
|
239
323
|
* Remove an interface function.
|
|
@@ -244,12 +328,16 @@ export declare class SGComponent extends SGTag {
|
|
|
244
328
|
export interface SGReferences {
|
|
245
329
|
name?: SGToken;
|
|
246
330
|
extends?: SGToken;
|
|
247
|
-
scriptTagImports: Pick<FileReference, '
|
|
331
|
+
scriptTagImports: Pick<FileReference, 'destPath' | 'text' | 'filePathRange'>[];
|
|
248
332
|
}
|
|
249
333
|
export declare class SGAst {
|
|
250
|
-
|
|
251
|
-
|
|
252
|
-
|
|
253
|
-
|
|
334
|
+
constructor(options?: {
|
|
335
|
+
prologElement?: SGProlog;
|
|
336
|
+
rootElement?: SGElement;
|
|
337
|
+
componentElement?: SGComponent;
|
|
338
|
+
});
|
|
339
|
+
readonly prologElement?: SGProlog;
|
|
340
|
+
readonly rootElement?: SGElement;
|
|
341
|
+
readonly componentElement?: SGComponent;
|
|
254
342
|
transpile(state: TranspileState): SourceNode;
|
|
255
343
|
}
|