brighterscript 1.0.0-alpha.5 → 1.0.0-alpha.50
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 +76 -138
- package/bsconfig.schema.json +121 -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 +72 -39
- 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 +12 -4
- package/dist/CodeActionUtil.js +22 -5
- package/dist/CodeActionUtil.js.map +1 -1
- package/dist/CommentFlagProcessor.d.ts +7 -6
- package/dist/CommentFlagProcessor.js +11 -8
- package/dist/CommentFlagProcessor.js.map +1 -1
- package/dist/CrossScopeValidator.d.ts +68 -0
- package/dist/CrossScopeValidator.js +642 -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 +82 -0
- package/dist/DiagnosticManager.js +406 -0
- package/dist/DiagnosticManager.js.map +1 -0
- package/dist/DiagnosticMessages.d.ts +558 -196
- package/dist/DiagnosticMessages.js +870 -340
- 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 +100 -105
- package/dist/LanguageServer.js +444 -745
- 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 +241 -98
- package/dist/Program.js +1432 -717
- package/dist/Program.js.map +1 -1
- package/dist/ProgramBuilder.d.ts +47 -23
- package/dist/ProgramBuilder.js +224 -178
- package/dist/ProgramBuilder.js.map +1 -1
- package/dist/Scope.d.ts +149 -109
- package/dist/Scope.js +557 -550
- package/dist/Scope.js.map +1 -1
- 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 +136 -24
- package/dist/SymbolTable.js +565 -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 +334 -0
- package/dist/astUtils/CachedLookups.js.map +1 -0
- package/dist/astUtils/CachedLookups.spec.js +39 -0
- package/dist/astUtils/CachedLookups.spec.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/Editor.spec.js +258 -0
- package/dist/astUtils/Editor.spec.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/creators.spec.js +5 -5
- package/dist/astUtils/creators.spec.js.map +1 -1
- package/dist/astUtils/reflection.d.ts +196 -85
- package/dist/astUtils/reflection.js +497 -144
- package/dist/astUtils/reflection.js.map +1 -1
- package/dist/astUtils/reflection.spec.js +267 -167
- package/dist/astUtils/reflection.spec.js.map +1 -1
- package/dist/astUtils/stackedVisitor.js.map +1 -1
- package/dist/astUtils/stackedVisitor.spec.js +14 -14
- package/dist/astUtils/stackedVisitor.spec.js.map +1 -1
- package/dist/astUtils/visitors.d.ts +116 -53
- package/dist/astUtils/visitors.js +95 -15
- package/dist/astUtils/visitors.js.map +1 -1
- package/dist/astUtils/visitors.spec.js +629 -51
- package/dist/astUtils/visitors.spec.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 +24 -4
- package/dist/bscPlugin/BscPlugin.js +88 -4
- package/dist/bscPlugin/BscPlugin.js.map +1 -1
- package/dist/bscPlugin/CallExpressionInfo.d.ts +36 -0
- package/dist/bscPlugin/CallExpressionInfo.js +143 -0
- package/dist/bscPlugin/CallExpressionInfo.js.map +1 -0
- package/dist/bscPlugin/FileWriter.d.ts +6 -0
- package/dist/bscPlugin/FileWriter.js +24 -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 +6 -5
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +173 -27
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +138 -21
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +1 -1
- 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/completions/CompletionsProcessor.spec.js +2512 -0
- package/dist/bscPlugin/completions/CompletionsProcessor.spec.js.map +1 -0
- package/dist/bscPlugin/definition/DefinitionProvider.d.ts +13 -0
- package/dist/bscPlugin/definition/DefinitionProvider.js +212 -0
- package/dist/bscPlugin/definition/DefinitionProvider.js.map +1 -0
- package/dist/bscPlugin/definition/DefinitionProvider.spec.js +87 -0
- package/dist/bscPlugin/definition/DefinitionProvider.spec.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 +230 -0
- package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -0
- package/dist/bscPlugin/hover/HoverProcessor.spec.js +991 -0
- package/dist/bscPlugin/hover/HoverProcessor.spec.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/references/ReferencesProvider.spec.d.ts +1 -0
- package/dist/bscPlugin/references/ReferencesProvider.spec.js +51 -0
- package/dist/bscPlugin/references/ReferencesProvider.spec.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/semanticTokens/BrsFileSemanticTokensProcessor.spec.d.ts +1 -0
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +564 -0
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +1 -0
- package/dist/bscPlugin/serialize/BslibInjector.spec.d.ts +1 -0
- package/dist/bscPlugin/serialize/BslibInjector.spec.js +33 -0
- package/dist/bscPlugin/serialize/BslibInjector.spec.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 +75 -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/DocumentSymbolProcessor.spec.d.ts +1 -0
- package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.js +291 -0
- package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.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/WorkspaceSymbolProcessor.spec.d.ts +1 -0
- package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.js +245 -0
- package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.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 +27 -0
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js +418 -0
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js.map +1 -0
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.d.ts +1 -0
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js +75 -0
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.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 +37 -0
- package/dist/bscPlugin/validation/BrsFileValidator.js +638 -0
- package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -0
- package/dist/bscPlugin/validation/BrsFileValidator.spec.d.ts +1 -0
- package/dist/bscPlugin/validation/BrsFileValidator.spec.js +1517 -0
- package/dist/bscPlugin/validation/BrsFileValidator.spec.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 +141 -0
- package/dist/bscPlugin/validation/ScopeValidator.js +1323 -0
- package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -0
- package/dist/bscPlugin/validation/ScopeValidator.spec.d.ts +1 -0
- package/dist/bscPlugin/validation/ScopeValidator.spec.js +6135 -0
- package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +1 -0
- package/dist/bscPlugin/validation/XmlFileValidator.d.ts +8 -0
- package/dist/bscPlugin/validation/XmlFileValidator.js +36 -0
- package/dist/bscPlugin/validation/XmlFileValidator.js.map +1 -0
- package/dist/cli.js +126 -27
- 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/common/Sequencer.spec.d.ts +1 -0
- package/dist/common/Sequencer.spec.js +75 -0
- package/dist/common/Sequencer.spec.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 +10 -3
- package/dist/diagnosticUtils.js +64 -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.Class.spec.js +1213 -259
- package/dist/files/BrsFile.Class.spec.js.map +1 -1
- package/dist/files/BrsFile.d.ts +145 -87
- package/dist/files/BrsFile.js +836 -934
- package/dist/files/BrsFile.js.map +1 -1
- package/dist/files/BrsFile.spec.js +4226 -902
- package/dist/files/BrsFile.spec.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/LazyFileData.spec.d.ts +1 -0
- package/dist/files/LazyFileData.spec.js +27 -0
- package/dist/files/LazyFileData.spec.js.map +1 -0
- package/dist/files/XmlFile.d.ts +80 -41
- package/dist/files/XmlFile.js +161 -137
- package/dist/files/XmlFile.js.map +1 -1
- package/dist/files/XmlFile.spec.js +444 -336
- package/dist/files/XmlFile.spec.js.map +1 -1
- package/dist/files/tests/imports.spec.js +62 -52
- package/dist/files/tests/imports.spec.js.map +1 -1
- package/dist/files/tests/optionalChaning.spec.d.ts +1 -0
- package/dist/files/tests/optionalChaning.spec.js +152 -0
- package/dist/files/tests/optionalChaning.spec.js.map +1 -0
- 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 +942 -125
- package/dist/interfaces.js +21 -0
- package/dist/interfaces.js.map +1 -1
- package/dist/lexer/Character.spec.js +5 -5
- package/dist/lexer/Character.spec.js.map +1 -1
- package/dist/lexer/Lexer.d.ts +51 -12
- package/dist/lexer/Lexer.js +215 -65
- package/dist/lexer/Lexer.js.map +1 -1
- package/dist/lexer/Lexer.spec.js +812 -568
- package/dist/lexer/Lexer.spec.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 +40 -2
- package/dist/lexer/TokenKind.js +147 -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/ActionQueue.spec.d.ts +1 -0
- package/dist/lsp/ActionQueue.spec.js +80 -0
- package/dist/lsp/ActionQueue.spec.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/DocumentManager.spec.d.ts +1 -0
- package/dist/lsp/DocumentManager.spec.js +103 -0
- package/dist/lsp/DocumentManager.spec.js.map +1 -0
- package/dist/lsp/LspProject.d.ts +239 -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/PathFilterer.spec.d.ts +1 -0
- package/dist/lsp/PathFilterer.spec.js +182 -0
- package/dist/lsp/PathFilterer.spec.js.map +1 -0
- package/dist/lsp/Project.d.ts +168 -0
- package/dist/lsp/Project.js +437 -0
- package/dist/lsp/Project.js.map +1 -0
- package/dist/lsp/Project.spec.d.ts +1 -0
- package/dist/lsp/Project.spec.js +267 -0
- package/dist/lsp/Project.spec.js.map +1 -0
- package/dist/lsp/ProjectManager.d.ts +242 -0
- package/dist/lsp/ProjectManager.js +824 -0
- package/dist/lsp/ProjectManager.js.map +1 -0
- package/dist/lsp/ProjectManager.spec.d.ts +1 -0
- package/dist/lsp/ProjectManager.spec.js +913 -0
- package/dist/lsp/ProjectManager.spec.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/MessageHandler.spec.d.ts +1 -0
- package/dist/lsp/worker/MessageHandler.spec.js +64 -0
- package/dist/lsp/worker/MessageHandler.spec.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/WorkerPool.spec.d.ts +1 -0
- package/dist/lsp/worker/WorkerPool.spec.js +59 -0
- package/dist/lsp/worker/WorkerPool.spec.js.map +1 -0
- package/dist/lsp/worker/WorkerThreadProject.d.ts +143 -0
- package/dist/lsp/worker/WorkerThreadProject.js +189 -0
- package/dist/lsp/worker/WorkerThreadProject.js.map +1 -0
- package/dist/lsp/worker/WorkerThreadProject.spec.d.ts +2 -0
- package/dist/lsp/worker/WorkerThreadProject.spec.js +71 -0
- package/dist/lsp/worker/WorkerThreadProject.spec.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.d.ts +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 +203 -0
- package/dist/parser/AstNode.js +303 -0
- package/dist/parser/AstNode.js.map +1 -0
- package/dist/parser/AstNode.spec.d.ts +1 -0
- package/dist/parser/AstNode.spec.js +1455 -0
- package/dist/parser/AstNode.spec.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/BrightScriptDocParser.spec.d.ts +1 -0
- package/dist/parser/BrightScriptDocParser.spec.js +310 -0
- package/dist/parser/BrightScriptDocParser.spec.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 +553 -221
- package/dist/parser/Expression.js +1414 -505
- package/dist/parser/Expression.js.map +1 -1
- package/dist/parser/Expression.spec.d.ts +1 -0
- package/dist/parser/Expression.spec.js +40 -0
- package/dist/parser/Expression.spec.js.map +1 -0
- package/dist/parser/Parser.Class.spec.js +255 -125
- package/dist/parser/Parser.Class.spec.js.map +1 -1
- package/dist/parser/Parser.d.ts +117 -124
- package/dist/parser/Parser.js +1669 -982
- package/dist/parser/Parser.js.map +1 -1
- package/dist/parser/Parser.spec.d.ts +3 -1
- package/dist/parser/Parser.spec.js +2111 -525
- package/dist/parser/Parser.spec.js.map +1 -1
- package/dist/parser/SGParser.d.ts +29 -13
- package/dist/parser/SGParser.js +85 -56
- package/dist/parser/SGParser.js.map +1 -1
- package/dist/parser/SGParser.spec.js +30 -45
- package/dist/parser/SGParser.spec.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 +849 -267
- package/dist/parser/Statement.js +2412 -625
- package/dist/parser/Statement.js.map +1 -1
- package/dist/parser/Statement.spec.js +133 -36
- package/dist/parser/Statement.spec.js.map +1 -1
- package/dist/parser/TranspileState.d.ts +26 -12
- package/dist/parser/TranspileState.js +115 -24
- package/dist/parser/TranspileState.js.map +1 -1
- package/dist/parser/tests/Parser.spec.d.ts +3 -9
- package/dist/parser/tests/Parser.spec.js +7 -13
- package/dist/parser/tests/Parser.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/For.spec.js +83 -75
- package/dist/parser/tests/controlFlow/For.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/ForEach.spec.js +85 -51
- package/dist/parser/tests/controlFlow/ForEach.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/If.spec.js +382 -239
- package/dist/parser/tests/controlFlow/If.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/While.spec.js +52 -45
- package/dist/parser/tests/controlFlow/While.spec.js.map +1 -1
- package/dist/parser/tests/expression/Additive.spec.js +51 -43
- package/dist/parser/tests/expression/Additive.spec.js.map +1 -1
- package/dist/parser/tests/expression/ArrayLiterals.spec.js +192 -142
- package/dist/parser/tests/expression/ArrayLiterals.spec.js.map +1 -1
- package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +236 -160
- package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js.map +1 -1
- package/dist/parser/tests/expression/Boolean.spec.js +41 -34
- package/dist/parser/tests/expression/Boolean.spec.js.map +1 -1
- package/dist/parser/tests/expression/Call.spec.js +173 -55
- package/dist/parser/tests/expression/Call.spec.js.map +1 -1
- package/dist/parser/tests/expression/Exponential.spec.js +20 -20
- package/dist/parser/tests/expression/Exponential.spec.js.map +1 -1
- package/dist/parser/tests/expression/Function.spec.js +291 -282
- package/dist/parser/tests/expression/Function.spec.js.map +1 -1
- package/dist/parser/tests/expression/Indexing.spec.js +193 -110
- package/dist/parser/tests/expression/Indexing.spec.js.map +1 -1
- package/dist/parser/tests/expression/Multiplicative.spec.js +42 -42
- package/dist/parser/tests/expression/Multiplicative.spec.js.map +1 -1
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +260 -115
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/PrefixUnary.spec.js +58 -52
- package/dist/parser/tests/expression/PrefixUnary.spec.js.map +1 -1
- package/dist/parser/tests/expression/Primary.spec.js +76 -60
- package/dist/parser/tests/expression/Primary.spec.js.map +1 -1
- package/dist/parser/tests/expression/RegexLiteralExpression.spec.d.ts +1 -0
- package/dist/parser/tests/expression/RegexLiteralExpression.spec.js +171 -0
- package/dist/parser/tests/expression/RegexLiteralExpression.spec.js.map +1 -0
- package/dist/parser/tests/expression/Relational.spec.js +50 -50
- package/dist/parser/tests/expression/Relational.spec.js.map +1 -1
- package/dist/parser/tests/expression/SourceLiteralExpression.spec.js +31 -31
- package/dist/parser/tests/expression/SourceLiteralExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js +281 -94
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/TernaryExpression.spec.js +747 -192
- package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/TypeExpression.spec.d.ts +1 -0
- package/dist/parser/tests/expression/TypeExpression.spec.js +126 -0
- package/dist/parser/tests/expression/TypeExpression.spec.js.map +1 -0
- package/dist/parser/tests/expression/UnaryExpression.spec.d.ts +1 -0
- package/dist/parser/tests/expression/UnaryExpression.spec.js +52 -0
- package/dist/parser/tests/expression/UnaryExpression.spec.js.map +1 -0
- package/dist/parser/tests/statement/AssignmentOperators.spec.js +44 -44
- package/dist/parser/tests/statement/AssignmentOperators.spec.js.map +1 -1
- package/dist/parser/tests/statement/ConstStatement.spec.d.ts +1 -0
- package/dist/parser/tests/statement/ConstStatement.spec.js +500 -0
- package/dist/parser/tests/statement/ConstStatement.spec.js.map +1 -0
- package/dist/parser/tests/statement/Continue.spec.d.ts +1 -0
- package/dist/parser/tests/statement/Continue.spec.js +119 -0
- package/dist/parser/tests/statement/Continue.spec.js.map +1 -0
- package/dist/parser/tests/statement/Declaration.spec.js +61 -55
- package/dist/parser/tests/statement/Declaration.spec.js.map +1 -1
- package/dist/parser/tests/statement/Dim.spec.js +29 -22
- package/dist/parser/tests/statement/Dim.spec.js.map +1 -1
- package/dist/parser/tests/statement/Enum.spec.d.ts +1 -0
- package/dist/parser/tests/statement/Enum.spec.js +744 -0
- package/dist/parser/tests/statement/Enum.spec.js.map +1 -0
- package/dist/parser/tests/statement/For.spec.d.ts +1 -0
- package/dist/parser/tests/statement/For.spec.js +45 -0
- package/dist/parser/tests/statement/For.spec.js.map +1 -0
- package/dist/parser/tests/statement/ForEach.spec.d.ts +1 -0
- package/dist/parser/tests/statement/ForEach.spec.js +36 -0
- package/dist/parser/tests/statement/ForEach.spec.js.map +1 -0
- package/dist/parser/tests/statement/Function.spec.js +226 -215
- package/dist/parser/tests/statement/Function.spec.js.map +1 -1
- package/dist/parser/tests/statement/Goto.spec.js +16 -15
- package/dist/parser/tests/statement/Goto.spec.js.map +1 -1
- package/dist/parser/tests/statement/Increment.spec.js +64 -61
- package/dist/parser/tests/statement/Increment.spec.js.map +1 -1
- package/dist/parser/tests/statement/InterfaceStatement.spec.d.ts +1 -0
- package/dist/parser/tests/statement/InterfaceStatement.spec.js +110 -0
- package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +1 -0
- package/dist/parser/tests/statement/LibraryStatement.spec.js +22 -22
- package/dist/parser/tests/statement/LibraryStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/Misc.spec.js +127 -168
- package/dist/parser/tests/statement/Misc.spec.js.map +1 -1
- package/dist/parser/tests/statement/PrintStatement.spec.js +133 -114
- package/dist/parser/tests/statement/PrintStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/ReturnStatement.spec.js +57 -54
- package/dist/parser/tests/statement/ReturnStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/Set.spec.js +131 -117
- package/dist/parser/tests/statement/Set.spec.js.map +1 -1
- package/dist/parser/tests/statement/Stop.spec.js +14 -13
- package/dist/parser/tests/statement/Stop.spec.js.map +1 -1
- package/dist/parser/tests/statement/Throw.spec.js +11 -8
- package/dist/parser/tests/statement/Throw.spec.js.map +1 -1
- package/dist/parser/tests/statement/TryCatch.spec.js +26 -15
- package/dist/parser/tests/statement/TryCatch.spec.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/preprocessor/Manifest.spec.d.ts +1 -0
- package/dist/preprocessor/Manifest.spec.js +78 -103
- package/dist/preprocessor/Manifest.spec.js.map +1 -1
- package/dist/roku-types/data.json +20347 -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 +89 -24
- package/dist/types/ArrayType.js.map +1 -1
- package/dist/types/ArrayType.spec.js +39 -11
- package/dist/types/ArrayType.spec.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/BooleanType.spec.js +10 -4
- package/dist/types/BooleanType.spec.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/BuiltInInterfaceAdder.spec.d.ts +1 -0
- package/dist/types/BuiltInInterfaceAdder.spec.js +115 -0
- package/dist/types/BuiltInInterfaceAdder.spec.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 +60 -0
- package/dist/types/ClassType.js.map +1 -0
- package/dist/types/ClassType.spec.d.ts +1 -0
- package/dist/types/ClassType.spec.js +76 -0
- package/dist/types/ClassType.spec.js.map +1 -0
- package/dist/types/ComponentType.d.ts +22 -0
- package/dist/types/ComponentType.js +107 -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/DoubleType.spec.js +12 -4
- package/dist/types/DoubleType.spec.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/DynamicType.spec.js +16 -5
- package/dist/types/DynamicType.spec.js.map +1 -1
- package/dist/types/EnumType.d.ts +42 -0
- package/dist/types/EnumType.js +98 -0
- package/dist/types/EnumType.js.map +1 -0
- package/dist/types/EnumType.spec.d.ts +1 -0
- package/dist/types/EnumType.spec.js +33 -0
- package/dist/types/EnumType.spec.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/FloatType.spec.js +4 -4
- package/dist/types/FloatType.spec.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/IntegerType.spec.js +8 -4
- package/dist/types/IntegerType.spec.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/InterfaceType.spec.d.ts +1 -0
- package/dist/types/InterfaceType.spec.js +227 -0
- package/dist/types/InterfaceType.spec.js.map +1 -0
- package/dist/types/IntersectionType.d.ts +29 -0
- package/dist/types/IntersectionType.js +253 -0
- package/dist/types/IntersectionType.js.map +1 -0
- package/dist/types/IntersectionType.spec.d.ts +1 -0
- package/dist/types/IntersectionType.spec.js +150 -0
- package/dist/types/IntersectionType.spec.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/InvalidType.spec.js +8 -4
- package/dist/types/InvalidType.spec.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/LongIntegerType.spec.js +10 -4
- package/dist/types/LongIntegerType.spec.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/ObjectType.spec.js +3 -3
- package/dist/types/ObjectType.spec.js.map +1 -1
- package/dist/types/ReferenceType.d.ts +123 -0
- package/dist/types/ReferenceType.js +720 -0
- package/dist/types/ReferenceType.js.map +1 -0
- package/dist/types/ReferenceType.spec.d.ts +1 -0
- package/dist/types/ReferenceType.spec.js +151 -0
- package/dist/types/ReferenceType.spec.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/StringType.spec.js +3 -3
- package/dist/types/StringType.spec.js.map +1 -1
- package/dist/types/TypeStatementType.d.ts +18 -0
- package/dist/types/TypeStatementType.js +45 -0
- package/dist/types/TypeStatementType.js.map +1 -0
- package/dist/types/TypedFunctionType.d.ts +34 -0
- package/dist/types/TypedFunctionType.js +147 -0
- package/dist/types/TypedFunctionType.js.map +1 -0
- package/dist/types/TypedFunctionType.spec.d.ts +1 -0
- package/dist/types/TypedFunctionType.spec.js +122 -0
- package/dist/types/TypedFunctionType.spec.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 +193 -0
- package/dist/types/UnionType.js.map +1 -0
- package/dist/types/UnionType.spec.d.ts +1 -0
- package/dist/types/UnionType.spec.js +205 -0
- package/dist/types/UnionType.spec.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/VoidType.spec.js +3 -3
- package/dist/types/VoidType.spec.js.map +1 -1
- package/dist/types/helper.spec.d.ts +1 -0
- package/dist/types/helper.spec.js +174 -0
- package/dist/types/helper.spec.js.map +1 -0
- package/dist/types/helpers.d.ts +51 -0
- package/dist/types/helpers.js +323 -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/types/roFunctionType.spec.d.ts +1 -0
- package/dist/types/roFunctionType.spec.js +20 -0
- package/dist/types/roFunctionType.spec.js.map +1 -0
- package/dist/util.d.ts +288 -187
- package/dist/util.js +2018 -575
- 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 +185 -138
- package/CHANGELOG.md +0 -1188
- 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/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.js +0 -45
- package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.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/SGTypes.spec.js +0 -351
- package/dist/parser/SGTypes.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/preprocessor/Chunk.d.ts +0 -82
- package/dist/preprocessor/Chunk.js +0 -77
- package/dist/preprocessor/Chunk.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.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.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/CustomType.d.ts +0 -10
- package/dist/types/CustomType.js +0 -35
- package/dist/types/CustomType.js.map +0 -1
- package/dist/types/FunctionType.spec.js +0 -29
- package/dist/types/FunctionType.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/{bscPlugin/semanticTokens/SemanticTokensProcessor.spec.d.ts → astUtils/CachedLookups.spec.d.ts} +0 -0
- /package/dist/{parser/SGTypes.spec.d.ts → astUtils/Editor.spec.d.ts} +0 -0
- /package/dist/{preprocessor/Preprocessor.spec.d.ts → bscPlugin/completions/CompletionsProcessor.spec.d.ts} +0 -0
- /package/dist/{preprocessor/PreprocessorParser.spec.d.ts → bscPlugin/definition/DefinitionProvider.spec.d.ts} +0 -0
- /package/dist/{types/FunctionType.spec.d.ts → bscPlugin/hover/HoverProcessor.spec.d.ts} +0 -0
|
@@ -1,7 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.diagnosticCodes = exports.DiagnosticCodeMap = exports.DiagnosticMessages = void 0;
|
|
3
|
+
exports.diagnosticCodes = exports.DiagnosticLegacyCodeMap = exports.DiagnosticCodeMap = exports.incompatibleSymbolMessage = exports.typeCompatibilityMessage = exports.defaultMaximumTruncationLength = exports.DiagnosticMessages = exports.DiagnosticCodeRegex = void 0;
|
|
4
4
|
const vscode_languageserver_1 = require("vscode-languageserver");
|
|
5
|
+
const TokenKind_1 = require("./lexer/TokenKind");
|
|
6
|
+
const util_1 = require("./util");
|
|
7
|
+
exports.DiagnosticCodeRegex = /^[a-z](?:[a-z0-9]*(?:-[a-z0-9]+)*)*$/;
|
|
5
8
|
/**
|
|
6
9
|
* An object that keeps track of all possible error messages.
|
|
7
10
|
*/
|
|
@@ -9,642 +12,1169 @@ exports.DiagnosticMessages = {
|
|
|
9
12
|
//this one won't be used much, we just need a catchall object for the code since we pass through the message from the parser
|
|
10
13
|
genericParserMessage: (message) => ({
|
|
11
14
|
message: message,
|
|
12
|
-
|
|
13
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
15
|
+
legacyCode: 1000,
|
|
16
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
17
|
+
code: 'generic-parser-message'
|
|
14
18
|
}),
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
19
|
+
/**
|
|
20
|
+
*
|
|
21
|
+
* @param name for local vars, it's the var name. for namespaced parts, it's the specific part that's unknown (`alpha.beta.charlie` would result in "cannot find name 'charlie')
|
|
22
|
+
* @param fullName if a namespaced name, this is the full name `alpha.beta.charlie`, otherwise it's the same as `name`
|
|
23
|
+
* @param typeName if 'name' refers to a member, what is the the type it is a member of?
|
|
24
|
+
* @param typeDescriptor defaults to 'type' ... could also be 'namespace', etc.
|
|
25
|
+
*/
|
|
26
|
+
cannotFindName: (name, fullName, typeName, typeDescriptor = 'type') => ({
|
|
27
|
+
message: `Cannot find name '${name}'${typeName ? ` for ${typeDescriptor} '${typeName}'` : ''}`,
|
|
28
|
+
legacyCode: 1001,
|
|
18
29
|
data: {
|
|
19
|
-
|
|
30
|
+
name: name,
|
|
31
|
+
fullName: fullName !== null && fullName !== void 0 ? fullName : name,
|
|
32
|
+
typeName: typeName ? typeName : undefined
|
|
20
33
|
},
|
|
21
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
34
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
35
|
+
code: 'cannot-find-name'
|
|
22
36
|
}),
|
|
23
37
|
mismatchArgumentCount: (expectedCount, actualCount) => ({
|
|
24
38
|
message: `Expected ${expectedCount} arguments, but got ${actualCount}.`,
|
|
25
|
-
|
|
26
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
39
|
+
legacyCode: 1002,
|
|
40
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
41
|
+
code: 'incorrect-argument-count'
|
|
27
42
|
}),
|
|
28
|
-
duplicateFunctionImplementation: (functionName
|
|
29
|
-
message: `Duplicate function implementation for '${functionName}'
|
|
30
|
-
|
|
31
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
43
|
+
duplicateFunctionImplementation: (functionName) => ({
|
|
44
|
+
message: `Duplicate function implementation for '${functionName}'.`,
|
|
45
|
+
legacyCode: 1003,
|
|
46
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
47
|
+
code: 'duplicate-function'
|
|
32
48
|
}),
|
|
33
49
|
referencedFileDoesNotExist: () => ({
|
|
34
50
|
message: `Referenced file does not exist.`,
|
|
35
|
-
|
|
36
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
51
|
+
legacyCode: 1004,
|
|
52
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
53
|
+
code: 'file-not-found'
|
|
37
54
|
}),
|
|
38
55
|
xmlComponentMissingComponentDeclaration: () => ({
|
|
39
56
|
message: `Missing a component declaration.`,
|
|
40
|
-
|
|
41
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
57
|
+
legacyCode: 1005,
|
|
58
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
59
|
+
code: 'missing-component-element'
|
|
42
60
|
}),
|
|
43
61
|
xmlComponentMissingNameAttribute: () => ({
|
|
44
62
|
message: `Component must have a name attribute.`,
|
|
45
|
-
|
|
46
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
63
|
+
legacyCode: 1006,
|
|
64
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
65
|
+
code: 'missing-name-attribute'
|
|
47
66
|
}),
|
|
48
67
|
xmlComponentMissingExtendsAttribute: () => ({
|
|
49
68
|
message: `Component is mising "extends" attribute and will automatically extend "Group" by default`,
|
|
50
|
-
|
|
51
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Warning
|
|
69
|
+
legacyCode: 1007,
|
|
70
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Warning,
|
|
71
|
+
code: 'missing-extends-attribute'
|
|
52
72
|
}),
|
|
53
|
-
|
|
73
|
+
syntaxError: (message) => ({
|
|
54
74
|
//generic catchall xml parse error
|
|
55
75
|
message: message,
|
|
56
|
-
|
|
57
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
76
|
+
legacyCode: 1008,
|
|
77
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
78
|
+
code: 'syntax-error'
|
|
58
79
|
}),
|
|
59
80
|
unnecessaryScriptImportInChildFromParent: (parentComponentName) => ({
|
|
60
81
|
message: `Unnecessary script import: Script is already imported in ancestor component '${parentComponentName}'.`,
|
|
61
|
-
|
|
62
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Warning
|
|
82
|
+
legacyCode: 1009,
|
|
83
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Warning,
|
|
84
|
+
code: 'redundant-import'
|
|
63
85
|
}),
|
|
64
86
|
overridesAncestorFunction: (callableName, currentScopeName, parentFilePath, parentScopeName) => ({
|
|
65
87
|
message: `Function '${callableName}' included in '${currentScopeName}' overrides function in '${parentFilePath}' included in '${parentScopeName}'.`,
|
|
66
|
-
|
|
67
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Hint
|
|
88
|
+
legacyCode: 1010,
|
|
89
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Hint,
|
|
90
|
+
code: 'overrides-ancestor-function'
|
|
68
91
|
}),
|
|
69
92
|
localVarFunctionShadowsParentFunction: (scopeName) => ({
|
|
70
93
|
message: `Local variable function has same name as ${scopeName} function and will never be called.`,
|
|
71
|
-
|
|
72
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Warning
|
|
94
|
+
legacyCode: 1011,
|
|
95
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Warning,
|
|
96
|
+
code: 'variable-shadows-function'
|
|
73
97
|
}),
|
|
74
98
|
scriptImportCaseMismatch: (correctFilePath) => ({
|
|
75
99
|
message: `Script import path does not match casing of actual file path '${correctFilePath}'.`,
|
|
76
|
-
|
|
77
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Warning
|
|
100
|
+
legacyCode: 1012,
|
|
101
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Warning,
|
|
102
|
+
code: 'import-case-mismatch'
|
|
78
103
|
}),
|
|
79
104
|
fileNotReferencedByAnyOtherFile: () => ({
|
|
80
105
|
message: `This file is not referenced by any other file in the project.`,
|
|
81
|
-
|
|
82
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Warning
|
|
106
|
+
legacyCode: 1013,
|
|
107
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Warning,
|
|
108
|
+
code: 'file-not-referenced'
|
|
83
109
|
}),
|
|
84
110
|
unknownDiagnosticCode: (theUnknownCode) => ({
|
|
85
111
|
message: `Unknown diagnostic code ${theUnknownCode}`,
|
|
86
|
-
|
|
87
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Warning
|
|
112
|
+
legacyCode: 1014,
|
|
113
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Warning,
|
|
114
|
+
code: 'unknown-diagnostic-code'
|
|
88
115
|
}),
|
|
89
116
|
scriptSrcCannotBeEmpty: () => ({
|
|
90
117
|
message: `Script import cannot be empty or whitespace`,
|
|
91
|
-
|
|
92
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
93
|
-
|
|
94
|
-
expectedIdentifierAfterKeyword: (keywordText) => ({
|
|
95
|
-
message: `Expected identifier after '${keywordText}' keyword`,
|
|
96
|
-
code: 1016,
|
|
97
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
118
|
+
legacyCode: 1015,
|
|
119
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
120
|
+
code: 'invalid-import-path'
|
|
98
121
|
}),
|
|
122
|
+
expectedIdentifier: (preceedingTokenText) => {
|
|
123
|
+
let message = `Expected identifier`;
|
|
124
|
+
if (preceedingTokenText) {
|
|
125
|
+
message += ` after '${preceedingTokenText}'`;
|
|
126
|
+
}
|
|
127
|
+
return {
|
|
128
|
+
message: message,
|
|
129
|
+
legacyCode: 1016,
|
|
130
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
131
|
+
code: 'expected-identifier'
|
|
132
|
+
};
|
|
133
|
+
},
|
|
99
134
|
missingCallableKeyword: () => ({
|
|
100
|
-
message: `Expected 'function' or 'sub' to
|
|
101
|
-
|
|
102
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
135
|
+
message: `Expected 'function' or 'sub' to precede identifier`,
|
|
136
|
+
legacyCode: 1017,
|
|
137
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
138
|
+
code: 'expected-leading-keyword'
|
|
103
139
|
}),
|
|
104
|
-
|
|
140
|
+
__unused12: () => ({
|
|
105
141
|
message: `Expected valid type to follow 'as' keyword`,
|
|
106
|
-
|
|
107
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
142
|
+
legacyCode: 1018,
|
|
143
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
144
|
+
code: 'expected-valid-type'
|
|
108
145
|
}),
|
|
109
146
|
bsFeatureNotSupportedInBrsFiles: (featureName) => ({
|
|
110
147
|
message: `BrighterScript feature '${featureName}' is not supported in standard BrightScript files`,
|
|
111
|
-
|
|
112
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
148
|
+
legacyCode: 1019,
|
|
149
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
150
|
+
code: 'bs-feature-not-supported'
|
|
113
151
|
}),
|
|
114
|
-
|
|
152
|
+
__ununsed12: () => ({
|
|
115
153
|
message: `'brsconfig.json' is deprecated. Please rename to 'bsconfig.json'`,
|
|
116
|
-
|
|
117
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Warning
|
|
154
|
+
legacyCode: 1020,
|
|
155
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Warning,
|
|
156
|
+
code: 'brsconfig-deprecated'
|
|
118
157
|
}),
|
|
119
158
|
bsConfigJsonHasSyntaxErrors: (message) => ({
|
|
120
159
|
message: `Encountered syntax errors in bsconfig.json: ${message}`,
|
|
121
|
-
|
|
122
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
123
|
-
|
|
124
|
-
namespacedClassCannotShareNamewithNonNamespacedClass: (nonNamespacedClassName) => ({
|
|
125
|
-
message: `Namespaced class cannot have the same name as a non-namespaced class '${nonNamespacedClassName}'`,
|
|
126
|
-
code: 1022,
|
|
127
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
160
|
+
legacyCode: 1021,
|
|
161
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
162
|
+
code: 'bsconfig-syntax-errors'
|
|
128
163
|
}),
|
|
164
|
+
itemIsDeprecated: (itemName, deprecatedDescription) => {
|
|
165
|
+
itemName !== null && itemName !== void 0 ? itemName : (itemName = 'Item');
|
|
166
|
+
return {
|
|
167
|
+
message: `${itemName} has been deprecated${deprecatedDescription ? ': ' + deprecatedDescription : ''} `,
|
|
168
|
+
legacyCode: 1022,
|
|
169
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Hint,
|
|
170
|
+
code: 'item-deprecated'
|
|
171
|
+
};
|
|
172
|
+
},
|
|
129
173
|
cannotUseOverrideKeywordOnConstructorFunction: () => ({
|
|
130
174
|
message: 'Override keyword is not allowed on class constructor method',
|
|
131
|
-
|
|
132
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
175
|
+
legacyCode: 1023,
|
|
176
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
177
|
+
code: 'override-keyword-on-constructor'
|
|
133
178
|
}),
|
|
134
|
-
|
|
135
|
-
message: `'
|
|
136
|
-
|
|
137
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
179
|
+
unexpectedStatementLocation: (statementKeyword, locationText) => ({
|
|
180
|
+
message: `'${statementKeyword}' statement must be declared ${locationText}`,
|
|
181
|
+
legacyCode: 1024,
|
|
182
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
183
|
+
code: 'unexpected-statement-location'
|
|
138
184
|
}),
|
|
139
|
-
|
|
185
|
+
__unused8: (methodName, className) => ({
|
|
140
186
|
message: `Method '${methodName}' does not exist on type '${className}'`,
|
|
141
|
-
|
|
187
|
+
legacyCode: 1025,
|
|
142
188
|
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
143
189
|
}),
|
|
144
190
|
duplicateIdentifier: (memberName) => ({
|
|
145
191
|
message: `Duplicate identifier '${memberName}'`,
|
|
146
|
-
|
|
147
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
192
|
+
legacyCode: 1026,
|
|
193
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
194
|
+
code: 'duplicate-identifier'
|
|
148
195
|
}),
|
|
149
196
|
missingOverrideKeyword: (ancestorClassName) => ({
|
|
150
197
|
message: `Method has no override keyword but is declared in ancestor class '${ancestorClassName}'`,
|
|
151
|
-
|
|
152
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
198
|
+
legacyCode: 1027,
|
|
199
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
200
|
+
code: 'missing-override-keyword'
|
|
153
201
|
}),
|
|
154
|
-
|
|
155
|
-
message:
|
|
156
|
-
|
|
157
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
202
|
+
nameCollision: (thisThingKind, thatThingKind, thatThingName) => ({
|
|
203
|
+
message: `${thisThingKind} has same name as ${thatThingKind} '${thatThingName}'`,
|
|
204
|
+
legacyCode: 1028,
|
|
205
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
206
|
+
code: 'name-collision'
|
|
158
207
|
}),
|
|
159
|
-
|
|
208
|
+
__unused9: (className, scopeName) => ({
|
|
160
209
|
message: `Class '${className}' could not be found when this file is included in scope '${scopeName}'`,
|
|
161
|
-
|
|
210
|
+
legacyCode: 1029,
|
|
162
211
|
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
163
212
|
data: {
|
|
164
213
|
className: className
|
|
165
214
|
}
|
|
166
215
|
}),
|
|
167
|
-
|
|
216
|
+
__unused27: () => ({
|
|
168
217
|
message: `Expected identifier in class body`,
|
|
169
|
-
|
|
170
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
218
|
+
legacyCode: 1030,
|
|
219
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
220
|
+
code: 'expected-identifier-in-body'
|
|
171
221
|
}),
|
|
172
222
|
expressionIsNotConstructable: (expressionType) => ({
|
|
173
223
|
message: `Cannot use the 'new' keyword here because '${expressionType}' is not a constructable type`,
|
|
174
|
-
|
|
175
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
224
|
+
legacyCode: 1031,
|
|
225
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
226
|
+
code: 'not-constructable'
|
|
176
227
|
}),
|
|
177
|
-
|
|
178
|
-
message: `Expected '
|
|
179
|
-
|
|
180
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
228
|
+
expectedKeyword: (kind) => ({
|
|
229
|
+
message: `Expected '${kind}' keyword`,
|
|
230
|
+
legacyCode: 1032,
|
|
231
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
232
|
+
code: 'expected-keyword'
|
|
181
233
|
}),
|
|
182
|
-
|
|
234
|
+
__unused28: (callableType) => ({
|
|
183
235
|
message: `Expected '(' after ${callableType}`,
|
|
184
|
-
|
|
185
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
236
|
+
legacyCode: 1033,
|
|
237
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
238
|
+
code: 'expected-left-paren-after-callable'
|
|
186
239
|
}),
|
|
187
|
-
|
|
240
|
+
__unused29: (callableType) => ({
|
|
188
241
|
message: `Expected ${callableType} name after '${callableType}' keyword`,
|
|
189
|
-
|
|
190
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
242
|
+
legacyCode: 1034,
|
|
243
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
244
|
+
code: 'expected-name-after-callable'
|
|
191
245
|
}),
|
|
192
|
-
|
|
246
|
+
__unused30: (callableType) => ({
|
|
193
247
|
message: `Expected '(' after ${callableType} name`,
|
|
194
|
-
|
|
195
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
248
|
+
legacyCode: 1035,
|
|
249
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
250
|
+
code: 'expected-left-paren-after-callable-name'
|
|
196
251
|
}),
|
|
197
252
|
tooManyCallableParameters: (actual, max) => ({
|
|
198
253
|
message: `Cannot have more than ${max} parameters but found ${actual})`,
|
|
199
|
-
|
|
200
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
254
|
+
legacyCode: 1036,
|
|
255
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
256
|
+
code: 'exceeds-max-parameter-count'
|
|
201
257
|
}),
|
|
202
|
-
|
|
258
|
+
__unused: (typeText) => ({
|
|
203
259
|
message: `Function return type '${typeText}' is invalid`,
|
|
204
|
-
|
|
260
|
+
legacyCode: 1037,
|
|
205
261
|
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
206
262
|
}),
|
|
207
263
|
requiredParameterMayNotFollowOptionalParameter: (parameterName) => ({
|
|
208
264
|
message: `Required parameter '${parameterName}' must be declared before any optional parameters`,
|
|
209
|
-
|
|
210
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
265
|
+
legacyCode: 1038,
|
|
266
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
267
|
+
code: 'required-parameter-before-optional'
|
|
211
268
|
}),
|
|
212
269
|
expectedNewlineOrColon: () => ({
|
|
213
270
|
message: `Expected newline or ':' at the end of a statement`,
|
|
214
|
-
|
|
215
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
271
|
+
legacyCode: 1039,
|
|
272
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
273
|
+
code: 'expected-statement-separator'
|
|
216
274
|
}),
|
|
217
|
-
|
|
218
|
-
message:
|
|
219
|
-
|
|
220
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
275
|
+
invalidIdentifier: (name, character) => ({
|
|
276
|
+
message: `Identifier '${name}' may not contain the character '${character}'`,
|
|
277
|
+
legacyCode: 1040,
|
|
278
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
279
|
+
code: 'invalid-identifier'
|
|
221
280
|
}),
|
|
222
|
-
|
|
281
|
+
__unused31: (callableType) => ({
|
|
223
282
|
message: `Expected 'end ${callableType}' to terminate ${callableType} block`,
|
|
224
|
-
|
|
225
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
226
|
-
|
|
227
|
-
mismatchedEndCallableKeyword: (expectedCallableType, actualCallableType) => ({
|
|
228
|
-
message: `Expected 'end ${expectedCallableType}' to terminate ${expectedCallableType} block but found 'end ${actualCallableType}' instead.`,
|
|
229
|
-
code: 1042,
|
|
230
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
283
|
+
legacyCode: 1041,
|
|
284
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
285
|
+
code: 'closing-keyword-mismatch'
|
|
231
286
|
}),
|
|
287
|
+
closingKeywordMismatch: (expectedCallableType, actualCallableType) => {
|
|
288
|
+
let message = `Expected 'end ${expectedCallableType === null || expectedCallableType === void 0 ? void 0 : expectedCallableType.replace(/^end\s*/, '')}' to terminate ${expectedCallableType} block`;
|
|
289
|
+
if (actualCallableType) {
|
|
290
|
+
message += ` but found 'end ${actualCallableType === null || actualCallableType === void 0 ? void 0 : actualCallableType.replace(/^end\s*/, '')}' instead.`;
|
|
291
|
+
}
|
|
292
|
+
return {
|
|
293
|
+
message: message,
|
|
294
|
+
legacyCode: 1042,
|
|
295
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
296
|
+
code: 'closing-keyword'
|
|
297
|
+
};
|
|
298
|
+
},
|
|
232
299
|
expectedParameterNameButFound: (text) => ({
|
|
233
300
|
message: `Expected parameter name, but found '${text !== null && text !== void 0 ? text : ''}'`,
|
|
234
|
-
|
|
235
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
301
|
+
legacyCode: 1043,
|
|
302
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
303
|
+
code: 'expected-parameter-name'
|
|
236
304
|
}),
|
|
237
|
-
|
|
305
|
+
__unused2: (parameterName, typeText) => ({
|
|
238
306
|
message: `Function parameter '${parameterName}' is of invalid type '${typeText}'`,
|
|
239
|
-
|
|
307
|
+
legacyCode: 1044,
|
|
240
308
|
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
241
309
|
}),
|
|
242
310
|
cannotUseReservedWordAsIdentifier: (name) => ({
|
|
243
311
|
message: `Cannot use reserved word '${name}' as an identifier`,
|
|
244
|
-
|
|
245
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
312
|
+
legacyCode: 1045,
|
|
313
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
314
|
+
code: 'cannot-use-reserved-word'
|
|
246
315
|
}),
|
|
247
|
-
|
|
316
|
+
expectedOperator: (operators, name) => {
|
|
248
317
|
operators = Array.isArray(operators) ? operators : [];
|
|
318
|
+
let message = `Expected operator ('${operators.join(`', '`)}')`;
|
|
319
|
+
if (name) {
|
|
320
|
+
message += ` after idenfifier '${name}'`;
|
|
321
|
+
}
|
|
249
322
|
return {
|
|
250
|
-
message:
|
|
251
|
-
|
|
252
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
323
|
+
message: message,
|
|
324
|
+
legacyCode: 1046,
|
|
325
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
326
|
+
code: 'expected-operator'
|
|
253
327
|
};
|
|
254
328
|
},
|
|
255
329
|
expectedInlineIfStatement: () => ({
|
|
256
330
|
message: `If/else statement within an inline if should be also inline`,
|
|
257
|
-
|
|
258
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
331
|
+
legacyCode: 1047,
|
|
332
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
333
|
+
code: 'malformed-inline-if'
|
|
259
334
|
}),
|
|
260
335
|
expectedFinalNewline: () => ({
|
|
261
336
|
message: `Expected newline at the end of an inline if statement`,
|
|
262
|
-
|
|
263
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
337
|
+
legacyCode: 1048,
|
|
338
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
339
|
+
code: 'expected-final-newline'
|
|
264
340
|
}),
|
|
265
341
|
couldNotFindMatchingEndKeyword: (keyword) => ({
|
|
266
342
|
message: `Could not find matching 'end ${keyword}'`,
|
|
267
|
-
|
|
268
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
343
|
+
legacyCode: 1049,
|
|
344
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
345
|
+
code: 'expected-end-keyword'
|
|
269
346
|
}),
|
|
270
347
|
expectedCatchBlockInTryCatch: () => ({
|
|
271
348
|
message: `Expected 'catch' block in 'try' statement`,
|
|
272
|
-
|
|
273
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
349
|
+
legacyCode: 1050,
|
|
350
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
351
|
+
code: 'expected-catch'
|
|
274
352
|
}),
|
|
275
|
-
expectedEndForOrNextToTerminateForLoop: () => ({
|
|
276
|
-
message: `Expected 'end for' or 'next' to terminate '
|
|
277
|
-
|
|
278
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
353
|
+
expectedEndForOrNextToTerminateForLoop: (forLoopNameText = TokenKind_1.TokenKind.For) => ({
|
|
354
|
+
message: `Expected 'end for' or 'next' to terminate '${forLoopNameText}' loop`,
|
|
355
|
+
legacyCode: 1051,
|
|
356
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
357
|
+
code: 'expected-loop-terminator'
|
|
279
358
|
}),
|
|
280
|
-
|
|
359
|
+
__unused32: (name) => ({
|
|
281
360
|
message: `Expected 'in' after 'for each ${name}'`,
|
|
282
|
-
|
|
283
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
361
|
+
legacyCode: 1052,
|
|
362
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
363
|
+
code: 'expected-in-for-each'
|
|
284
364
|
}),
|
|
285
365
|
expectedExpressionAfterForEachIn: () => ({
|
|
286
366
|
message: `Expected expression after 'in' keyword from 'for each' statement`,
|
|
287
|
-
|
|
288
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
367
|
+
legacyCode: 1053,
|
|
368
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
369
|
+
code: 'expected-loop-expression'
|
|
289
370
|
}),
|
|
290
371
|
unexpectedColonBeforeIfStatement: () => ({
|
|
291
372
|
message: `Colon before 'if' statement is not allowed`,
|
|
292
|
-
|
|
293
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
373
|
+
legacyCode: 1054,
|
|
374
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
375
|
+
code: 'unexpected-leading-colon'
|
|
294
376
|
}),
|
|
295
377
|
expectedStringLiteralAfterKeyword: (keyword) => ({
|
|
296
|
-
message: `
|
|
297
|
-
|
|
298
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
378
|
+
message: `Expected string literal after '${keyword}' keyword`,
|
|
379
|
+
legacyCode: 1055,
|
|
380
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
381
|
+
code: 'expected-string-literal'
|
|
299
382
|
}),
|
|
300
383
|
keywordMustBeDeclaredAtRootLevel: (keyword) => ({
|
|
301
384
|
message: `${keyword} must be declared at the root level`,
|
|
302
|
-
|
|
303
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
385
|
+
legacyCode: 1056,
|
|
386
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
387
|
+
code: 'keyword-must-be-root-level'
|
|
304
388
|
}),
|
|
305
|
-
|
|
389
|
+
__unused5: () => ({
|
|
306
390
|
message: `'library' statement must be declared at the top of the file`,
|
|
307
|
-
|
|
391
|
+
legacyCode: 1057,
|
|
308
392
|
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
309
393
|
}),
|
|
310
|
-
|
|
394
|
+
expectedTerminator: (expectedTerminators, statementType, blockDescriptor = 'statement') => ({
|
|
395
|
+
message: `Expected ${getPossibilitiesString(expectedTerminators)} to terminate '${statementType}' ${blockDescriptor}`,
|
|
396
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
397
|
+
code: 'expected-terminator'
|
|
398
|
+
}),
|
|
399
|
+
__unused14: () => ({
|
|
311
400
|
message: `Expected 'end if', 'else if', or 'else' to terminate 'then' block`,
|
|
312
|
-
|
|
313
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
401
|
+
legacyCode: 1058,
|
|
402
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
403
|
+
code: 'expected-terminator-on-then'
|
|
314
404
|
}),
|
|
315
|
-
|
|
405
|
+
__unused15: () => ({
|
|
316
406
|
message: `Expected 'end try' to terminate 'try-catch' statement`,
|
|
317
|
-
|
|
318
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
407
|
+
legacyCode: 1059,
|
|
408
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
409
|
+
code: 'expected-terminator-on-try-catch'
|
|
319
410
|
}),
|
|
320
|
-
|
|
321
|
-
message: `Expected 'end if' to close 'if' statement started at ${(startingPosition === null || startingPosition === void 0 ? void 0 : startingPosition.line) + 1}:${(startingPosition === null || startingPosition === void 0 ? void 0 : startingPosition.character) + 1}`,
|
|
322
|
-
|
|
323
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
411
|
+
__unused16: (startingPosition) => ({
|
|
412
|
+
message: `Expected 'end if' to close 'if' statement started at ${(startingPosition === null || startingPosition === void 0 ? void 0 : startingPosition.line) + 1}:${(startingPosition === null || startingPosition === void 0 ? void 0 : startingPosition.character) + 1} `,
|
|
413
|
+
legacyCode: 1060,
|
|
414
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
415
|
+
code: 'expected-terminator-on-if'
|
|
324
416
|
}),
|
|
325
|
-
|
|
417
|
+
expectedStatement: (conditionType, extraDetail) => {
|
|
418
|
+
let message = 'Expected statement';
|
|
419
|
+
if (conditionType) {
|
|
420
|
+
message += ` to follow '${conditionType === null || conditionType === void 0 ? void 0 : conditionType.toLowerCase()}'`;
|
|
421
|
+
}
|
|
422
|
+
if (extraDetail) {
|
|
423
|
+
message += ` ${extraDetail}`;
|
|
424
|
+
}
|
|
425
|
+
return {
|
|
426
|
+
message: message,
|
|
427
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
428
|
+
code: 'expected-statement'
|
|
429
|
+
};
|
|
430
|
+
},
|
|
431
|
+
__unused18: (conditionType) => ({
|
|
326
432
|
message: `Expected a statement to follow '${conditionType === null || conditionType === void 0 ? void 0 : conditionType.toLowerCase()} ...condition... then'`,
|
|
327
|
-
|
|
328
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
433
|
+
legacyCode: 1061,
|
|
434
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
435
|
+
code: 'expected-statement-after-conditional'
|
|
329
436
|
}),
|
|
330
|
-
|
|
437
|
+
__unused19: () => ({
|
|
331
438
|
message: `Expected a statement to follow 'else'`,
|
|
332
|
-
|
|
333
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
439
|
+
legacyCode: 1062,
|
|
440
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
441
|
+
code: 'expected-statement-after-else'
|
|
334
442
|
}),
|
|
335
|
-
|
|
336
|
-
message: `
|
|
337
|
-
|
|
338
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
443
|
+
unexpectedOperator: () => ({
|
|
444
|
+
message: `Unexpected operator`,
|
|
445
|
+
legacyCode: 1063,
|
|
446
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
447
|
+
code: 'unexpected-operator'
|
|
339
448
|
}),
|
|
340
|
-
|
|
341
|
-
message:
|
|
342
|
-
|
|
343
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
449
|
+
__unused13: () => ({
|
|
450
|
+
message: `Increment / decrement operators are not allowed on function calls`,
|
|
451
|
+
legacyCode: 1064,
|
|
452
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
453
|
+
code: 'increment-decrement-on-function-call'
|
|
344
454
|
}),
|
|
345
455
|
xmlUnexpectedTag: (tagName) => ({
|
|
346
456
|
message: `Unexpected tag '${tagName}'`,
|
|
347
|
-
|
|
348
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
457
|
+
legacyCode: 1065,
|
|
458
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
459
|
+
code: 'unexpected-tag'
|
|
349
460
|
}),
|
|
350
|
-
|
|
461
|
+
__unused20: () => ({
|
|
351
462
|
message: `Expected statement or function call but instead found expression`,
|
|
352
|
-
|
|
353
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
463
|
+
legacyCode: 1066,
|
|
464
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
465
|
+
code: 'expected-statement-not-expression'
|
|
354
466
|
}),
|
|
355
467
|
xmlFunctionNotFound: (name) => ({
|
|
356
468
|
message: `Cannot find function with name '${name}' in component scope`,
|
|
357
|
-
|
|
358
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
469
|
+
legacyCode: 1067,
|
|
470
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
471
|
+
code: 'function-not-found'
|
|
359
472
|
}),
|
|
360
473
|
xmlInvalidFieldType: (name) => ({
|
|
361
474
|
message: `Invalid field type ${name}`,
|
|
362
|
-
|
|
363
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
475
|
+
legacyCode: 1068,
|
|
476
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
477
|
+
code: 'invalid-field-type'
|
|
364
478
|
}),
|
|
365
479
|
xmlUnexpectedChildren: (tagName) => ({
|
|
366
480
|
message: `Tag '${tagName}' should not have children`,
|
|
367
|
-
|
|
368
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
481
|
+
legacyCode: 1069,
|
|
482
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
483
|
+
code: 'unexpected-children'
|
|
369
484
|
}),
|
|
370
485
|
xmlTagMissingAttribute: (tagName, attrName) => ({
|
|
371
486
|
message: `Tag '${tagName}' must have a '${attrName}' attribute`,
|
|
372
|
-
|
|
373
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
487
|
+
legacyCode: 1070,
|
|
488
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
489
|
+
code: 'expected-attribute'
|
|
374
490
|
}),
|
|
375
491
|
expectedLabelIdentifierAfterGotoKeyword: () => ({
|
|
376
492
|
message: `Expected label identifier after 'goto' keyword`,
|
|
377
|
-
|
|
378
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
493
|
+
legacyCode: 1071,
|
|
494
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
495
|
+
code: 'expected-label'
|
|
379
496
|
}),
|
|
380
|
-
|
|
497
|
+
__unused26: () => ({
|
|
381
498
|
message: `Expected ']' after array or object index`,
|
|
382
|
-
|
|
383
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
499
|
+
legacyCode: 1072,
|
|
500
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
501
|
+
code: 'expected-right-brace'
|
|
384
502
|
}),
|
|
385
|
-
|
|
503
|
+
__unused21: () => ({
|
|
386
504
|
message: `Expected property name after '.'`,
|
|
387
|
-
|
|
388
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
505
|
+
legacyCode: 1073,
|
|
506
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
507
|
+
code: 'expected-property-name'
|
|
389
508
|
}),
|
|
390
509
|
tooManyCallableArguments: (actual, max) => ({
|
|
391
|
-
message: `Cannot have more than ${max} arguments but found ${actual}`,
|
|
392
|
-
|
|
393
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
394
|
-
|
|
395
|
-
expectedRightParenAfterFunctionCallArguments: () => ({
|
|
396
|
-
message: `Expected ')' after function call arguments`,
|
|
397
|
-
code: 1075,
|
|
398
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
510
|
+
message: `Cannot have more than ${max} arguments but found ${actual} `,
|
|
511
|
+
legacyCode: 1074,
|
|
512
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
513
|
+
code: 'exceeds-max-argument-count'
|
|
399
514
|
}),
|
|
400
|
-
|
|
515
|
+
/**
|
|
516
|
+
* @param unmatchedToken Should be one of '(', '[', or '{'
|
|
517
|
+
* @param afterDetail any additional message to describe what came before the unmatched token
|
|
518
|
+
*/
|
|
519
|
+
unmatchedLeftToken: (unmatchedToken, afterDetail = '') => {
|
|
520
|
+
let matchingToken = '';
|
|
521
|
+
switch (unmatchedToken) {
|
|
522
|
+
case '(':
|
|
523
|
+
matchingToken = ')';
|
|
524
|
+
break;
|
|
525
|
+
case '[':
|
|
526
|
+
matchingToken = ']';
|
|
527
|
+
break;
|
|
528
|
+
case '{':
|
|
529
|
+
matchingToken = '}';
|
|
530
|
+
break;
|
|
531
|
+
}
|
|
532
|
+
let message = `Unmatched '${unmatchedToken}'`;
|
|
533
|
+
if (matchingToken) {
|
|
534
|
+
message += `: expected '${matchingToken}'`;
|
|
535
|
+
}
|
|
536
|
+
if (afterDetail) {
|
|
537
|
+
message += ` after ${afterDetail}`;
|
|
538
|
+
}
|
|
539
|
+
return {
|
|
540
|
+
message: message,
|
|
541
|
+
legacyCode: 1075,
|
|
542
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
543
|
+
code: 'unmatched-left-token'
|
|
544
|
+
};
|
|
545
|
+
},
|
|
546
|
+
__unused23: () => ({
|
|
401
547
|
message: `Unmatched '(': expected ')' after expression`,
|
|
402
|
-
|
|
403
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
548
|
+
legacyCode: 1076,
|
|
549
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
550
|
+
code: 'unmatched-left-paren'
|
|
404
551
|
}),
|
|
405
|
-
|
|
552
|
+
__unused24: () => ({
|
|
406
553
|
message: `Unmatched '[': expected ']' after array literal`,
|
|
407
|
-
|
|
408
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
554
|
+
legacyCode: 1077,
|
|
555
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
556
|
+
code: 'unmatched-left-brace'
|
|
409
557
|
}),
|
|
410
558
|
unexpectedAAKey: () => ({
|
|
411
559
|
message: `Expected identifier or string as associative array key`,
|
|
412
|
-
|
|
413
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
560
|
+
legacyCode: 1078,
|
|
561
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
562
|
+
code: 'invalid-aa-key'
|
|
414
563
|
}),
|
|
415
564
|
expectedColonBetweenAAKeyAndvalue: () => ({
|
|
416
565
|
message: `Expected ':' between associative array key and value`,
|
|
417
|
-
|
|
418
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
566
|
+
legacyCode: 1079,
|
|
567
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
568
|
+
code: 'expected-aa-separator'
|
|
419
569
|
}),
|
|
420
|
-
|
|
570
|
+
__unused25: () => ({
|
|
421
571
|
message: `Unmatched '{': expected '}' after associative array literal`,
|
|
422
|
-
|
|
423
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
572
|
+
legacyCode: 1080,
|
|
573
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
574
|
+
code: 'unmatched-left-curly'
|
|
424
575
|
}),
|
|
425
|
-
|
|
426
|
-
message: `
|
|
427
|
-
|
|
428
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
576
|
+
unexpectedToken: (text) => ({
|
|
577
|
+
message: `Unexpected token '${text}'`,
|
|
578
|
+
legacyCode: 1081,
|
|
579
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
580
|
+
code: 'unexpected-token'
|
|
429
581
|
}),
|
|
430
582
|
/**
|
|
431
583
|
* Used in the lexer anytime we encounter an unsupported character
|
|
432
584
|
*/
|
|
433
585
|
unexpectedCharacter: (text) => ({
|
|
434
|
-
message: `Unexpected character '${text}'
|
|
435
|
-
|
|
436
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
586
|
+
message: `Unexpected character '${text}'(char code ${text === null || text === void 0 ? void 0 : text.charCodeAt(0)})`,
|
|
587
|
+
legacyCode: 1082,
|
|
588
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
589
|
+
code: 'unexpected-character'
|
|
437
590
|
}),
|
|
438
|
-
|
|
439
|
-
message: `Unterminated string
|
|
440
|
-
|
|
441
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
591
|
+
unterminatedString: () => ({
|
|
592
|
+
message: `Unterminated string literal`,
|
|
593
|
+
legacyCode: 1083,
|
|
594
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
595
|
+
code: 'unterminated-string'
|
|
442
596
|
}),
|
|
443
|
-
|
|
597
|
+
__unused33: () => ({
|
|
444
598
|
message: `Unterminated string at end of file`,
|
|
445
|
-
|
|
446
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
599
|
+
legacyCode: 1084,
|
|
600
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
601
|
+
code: 'unterminated-string-at-end-of-file'
|
|
447
602
|
}),
|
|
448
|
-
|
|
603
|
+
__unused44: () => ({
|
|
449
604
|
message: `Fractional hex literals are not supported`,
|
|
450
|
-
|
|
451
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
605
|
+
legacyCode: 1085,
|
|
606
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
607
|
+
code: 'fractional-hex-literal'
|
|
452
608
|
}),
|
|
453
609
|
unexpectedConditionalCompilationString: () => ({
|
|
454
|
-
message: `
|
|
455
|
-
|
|
456
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
610
|
+
message: `Unknown conditional compile keyword`,
|
|
611
|
+
legacyCode: 1086,
|
|
612
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
613
|
+
code: 'unknown-conditional-compile-keyword'
|
|
457
614
|
}),
|
|
458
615
|
duplicateConstDeclaration: (name) => ({
|
|
459
616
|
message: `Attempting to redeclare #const with name '${name}'`,
|
|
460
|
-
|
|
461
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
617
|
+
legacyCode: 1087,
|
|
618
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
619
|
+
code: 'duplicate-const-declaration'
|
|
462
620
|
}),
|
|
463
|
-
|
|
621
|
+
__unused34: (name) => ({
|
|
464
622
|
message: `Attempting to create #const alias of '${name}', but no such #const exists`,
|
|
465
|
-
|
|
466
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
623
|
+
legacyCode: 1088,
|
|
624
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
625
|
+
code: 'const-alias-does-not-exist'
|
|
467
626
|
}),
|
|
468
627
|
invalidHashConstValue: () => ({
|
|
469
628
|
message: '#const declarations can only have values of `true`, `false`, or other #const names',
|
|
470
|
-
|
|
471
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
629
|
+
legacyCode: 1089,
|
|
630
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
631
|
+
code: 'invalid-hash-const-value'
|
|
472
632
|
}),
|
|
473
|
-
|
|
633
|
+
hashConstDoesNotExist: () => ({
|
|
474
634
|
message: `Referenced #const does not exist`,
|
|
475
|
-
|
|
476
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
635
|
+
legacyCode: 1090,
|
|
636
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
637
|
+
code: 'hash-const-does-not-exist'
|
|
477
638
|
}),
|
|
478
639
|
invalidHashIfValue: () => ({
|
|
479
640
|
message: `#if conditionals can only be 'true', 'false', or other #const names`,
|
|
480
|
-
|
|
481
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
641
|
+
legacyCode: 1091,
|
|
642
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
643
|
+
code: 'invalid-hash-if-value'
|
|
482
644
|
}),
|
|
645
|
+
/**
|
|
646
|
+
* Treat #error directives like diagnostics, because the presence of `#error` even inside a runtime logical block that evaluates to false will 100% cause a compile error.
|
|
647
|
+
*/
|
|
483
648
|
hashError: (message) => ({
|
|
484
|
-
message: `#error ${message}`,
|
|
485
|
-
|
|
486
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
649
|
+
message: `#error ${message} `,
|
|
650
|
+
legacyCode: 1092,
|
|
651
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
652
|
+
code: 'hash-error'
|
|
487
653
|
}),
|
|
488
|
-
|
|
654
|
+
__unused43: () => ({
|
|
489
655
|
message: `Expected '=' after #const`,
|
|
490
|
-
|
|
491
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
656
|
+
legacyCode: 1093,
|
|
657
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
658
|
+
code: 'expected-equal-after-hash-const'
|
|
492
659
|
}),
|
|
493
|
-
|
|
494
|
-
message: `Expected '#
|
|
495
|
-
|
|
496
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
660
|
+
__unused17: (startingLine) => ({
|
|
661
|
+
message: `Expected '#end if' to close '#if' conditional compilation statement starting on line ${startingLine} `,
|
|
662
|
+
legacyCode: 1094,
|
|
663
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
664
|
+
code: 'expected-terminator-on-hash-if'
|
|
497
665
|
}),
|
|
498
|
-
|
|
666
|
+
__unused35: () => ({
|
|
499
667
|
message: `#const name cannot be a reserved word`,
|
|
500
|
-
|
|
501
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
668
|
+
legacyCode: 1095,
|
|
669
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
670
|
+
code: 'const-reservered-word'
|
|
502
671
|
}),
|
|
503
|
-
|
|
672
|
+
__unused22: () => ({
|
|
504
673
|
message: `Expected identifier`,
|
|
505
|
-
|
|
506
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
674
|
+
legacyCode: 1096,
|
|
675
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
676
|
+
code: 'expected-identifier'
|
|
507
677
|
}),
|
|
508
678
|
expectedAttributeNameAfterAtSymbol: () => ({
|
|
509
679
|
message: `Expected xml attribute name after '@'`,
|
|
510
|
-
|
|
511
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
680
|
+
legacyCode: 1097,
|
|
681
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
682
|
+
code: 'expected-attribute-name'
|
|
512
683
|
}),
|
|
513
684
|
childFieldTypeNotAssignableToBaseProperty: (childTypeName, baseTypeName, fieldName, childFieldType, parentFieldType) => ({
|
|
514
|
-
message: `Field '${fieldName}' in class '${childTypeName}' is not assignable to the same field in base class '${baseTypeName}'.
|
|
515
|
-
|
|
516
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
685
|
+
message: `Field '${fieldName}' in class '${childTypeName}' is not assignable to the same field in base class '${baseTypeName}'.Type '${childFieldType}' is not assignable to type '${parentFieldType}'.`,
|
|
686
|
+
legacyCode: 1098,
|
|
687
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
688
|
+
code: 'field-inheritance-mismatch'
|
|
517
689
|
}),
|
|
518
|
-
|
|
690
|
+
__unused36: (memberType, parentMemberType, parentClassName) => ({
|
|
519
691
|
message: `Class member is a ${memberType} here but a ${parentMemberType} in ancestor class '${parentClassName}'`,
|
|
520
|
-
|
|
521
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
692
|
+
legacyCode: 1099,
|
|
693
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
694
|
+
code: 'child-field-type-different'
|
|
522
695
|
}),
|
|
523
696
|
classConstructorMissingSuperCall: () => ({
|
|
524
697
|
message: `Missing "super()" call in class constructor method.`,
|
|
525
|
-
|
|
526
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
698
|
+
legacyCode: 1100,
|
|
699
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
700
|
+
code: 'expected-super-call'
|
|
527
701
|
}),
|
|
528
702
|
classConstructorIllegalUseOfMBeforeSuperCall: () => ({
|
|
529
703
|
message: `Illegal use of "m" before calling "super()"`,
|
|
530
|
-
|
|
531
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
704
|
+
legacyCode: 1101,
|
|
705
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
706
|
+
code: 'expected-super-before-statement'
|
|
532
707
|
}),
|
|
533
708
|
classFieldCannotBeOverridden: () => ({
|
|
534
709
|
message: `Class field cannot be overridden`,
|
|
535
|
-
|
|
536
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
710
|
+
legacyCode: 1102,
|
|
711
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
712
|
+
code: 'invalid-field-override'
|
|
537
713
|
}),
|
|
538
714
|
unusedAnnotation: () => ({
|
|
539
715
|
message: `This annotation is not attached to any statement`,
|
|
540
|
-
|
|
541
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
716
|
+
legacyCode: 1103,
|
|
717
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
718
|
+
code: 'unexpected-annotation'
|
|
542
719
|
}),
|
|
543
720
|
localVarShadowedByScopedFunction: () => ({
|
|
544
|
-
message: `Declaring a local variable with same name as scoped function can result in unexpected behavior`,
|
|
545
|
-
|
|
546
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
721
|
+
message: `Declaring a local variable with same name as scoped function or class can result in unexpected behavior`,
|
|
722
|
+
legacyCode: 1104,
|
|
723
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
724
|
+
code: 'var-shadows-function'
|
|
547
725
|
}),
|
|
548
726
|
scopeFunctionShadowedByBuiltInFunction: () => ({
|
|
549
|
-
message: `Scope function will not be accessible because it has the same name as a built-in function`,
|
|
550
|
-
|
|
551
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
727
|
+
message: `Scope function will not be accessible because it has the same name as a built -in function`,
|
|
728
|
+
legacyCode: 1105,
|
|
729
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
730
|
+
code: 'native-function-collision'
|
|
552
731
|
}),
|
|
553
|
-
|
|
732
|
+
__unused38: (className) => ({
|
|
554
733
|
message: `Local variable has same name as class '${className}'`,
|
|
555
|
-
|
|
556
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
734
|
+
legacyCode: 1106,
|
|
735
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
736
|
+
code: 'local-var-same-name-as-class'
|
|
557
737
|
}),
|
|
558
|
-
|
|
738
|
+
__unused45: () => ({
|
|
559
739
|
message: `This import is unnecessary because compiler option 'autoImportComponentScript' is enabled`,
|
|
560
|
-
|
|
561
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Warning
|
|
740
|
+
legacyCode: 1107,
|
|
741
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Warning,
|
|
742
|
+
code: 'unnecessary-import'
|
|
562
743
|
}),
|
|
563
|
-
|
|
744
|
+
__unused37: () => ({
|
|
564
745
|
message: `Expected '(' to follow callfunc identifier`,
|
|
565
|
-
|
|
566
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
746
|
+
legacyCode: 1108,
|
|
747
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
748
|
+
code: 'expected-left-paren-after-callfunc'
|
|
567
749
|
}),
|
|
568
|
-
|
|
569
|
-
message: `Expected '${
|
|
570
|
-
|
|
571
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
750
|
+
expectedToken: (...tokenKinds) => ({
|
|
751
|
+
message: `Expected token '${tokenKinds.join(`' or '`)}'`,
|
|
752
|
+
legacyCode: 1109,
|
|
753
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
754
|
+
code: 'expected-token'
|
|
572
755
|
}),
|
|
573
|
-
|
|
756
|
+
__unused10: (paramName) => ({
|
|
574
757
|
message: `Parameter '${paramName}' may not have the same name as namespace`,
|
|
575
|
-
|
|
576
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
758
|
+
legacyCode: 1110,
|
|
759
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
760
|
+
code: 'parameter-same-name-as-namespace'
|
|
577
761
|
}),
|
|
578
|
-
|
|
762
|
+
__unused11: (variableName) => ({
|
|
579
763
|
message: `Variable '${variableName}' may not have the same name as namespace`,
|
|
580
|
-
|
|
581
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
764
|
+
legacyCode: 1111,
|
|
765
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
766
|
+
code: 'variable-same-name-as-namespace'
|
|
582
767
|
}),
|
|
583
|
-
|
|
584
|
-
message: `Unterminated template string
|
|
585
|
-
|
|
586
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
768
|
+
unterminatedTemplateString: () => ({
|
|
769
|
+
message: `Unterminated template string`,
|
|
770
|
+
legacyCode: 1113,
|
|
771
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
772
|
+
code: 'unterminated-template-string'
|
|
587
773
|
}),
|
|
588
774
|
unterminatedTemplateExpression: () => ({
|
|
589
775
|
message: `Unterminated template string expression. '\${' must be followed by expression, then '}'`,
|
|
590
|
-
|
|
591
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
776
|
+
legacyCode: 1114,
|
|
777
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
778
|
+
code: 'unterminated-template-string-expression'
|
|
592
779
|
}),
|
|
593
780
|
duplicateComponentName: (componentName) => ({
|
|
594
781
|
message: `There are multiple components with the name '${componentName}'`,
|
|
595
|
-
|
|
596
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
782
|
+
legacyCode: 1115,
|
|
783
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
784
|
+
code: 'duplicate-component-name'
|
|
597
785
|
}),
|
|
598
|
-
|
|
786
|
+
__unused6: (className) => ({
|
|
599
787
|
message: `Function has same name as class '${className}'`,
|
|
600
|
-
|
|
788
|
+
legacyCode: 1116,
|
|
601
789
|
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
602
790
|
}),
|
|
603
|
-
|
|
604
|
-
message: `
|
|
605
|
-
|
|
606
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
791
|
+
expectedExceptionVarToFollowCatch: () => ({
|
|
792
|
+
message: `Expected exception variable after 'catch' keyword`,
|
|
793
|
+
legacyCode: 1117,
|
|
794
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
795
|
+
code: 'expected-exception-variable'
|
|
607
796
|
}),
|
|
608
797
|
missingExceptionExpressionAfterThrowKeyword: () => ({
|
|
609
798
|
message: `Missing exception expression after 'throw' keyword`,
|
|
610
|
-
|
|
611
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
799
|
+
legacyCode: 1118,
|
|
800
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
801
|
+
code: 'expected-throw-expression'
|
|
612
802
|
}),
|
|
613
|
-
|
|
803
|
+
__unused42: () => ({
|
|
614
804
|
message: `Missing left square bracket after 'dim' identifier`,
|
|
615
|
-
|
|
616
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
805
|
+
legacyCode: 1119,
|
|
806
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
807
|
+
code: 'expected-left-brace-after-dim'
|
|
617
808
|
}),
|
|
618
|
-
|
|
809
|
+
__unused39: () => ({
|
|
619
810
|
message: `Missing right square bracket after 'dim' identifier`,
|
|
620
|
-
|
|
621
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
811
|
+
legacyCode: 1120,
|
|
812
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
813
|
+
code: 'missing-right-brace-after-dim'
|
|
622
814
|
}),
|
|
623
815
|
missingExpressionsInDimStatement: () => ({
|
|
624
816
|
message: `Missing expression(s) in 'dim' statement`,
|
|
625
|
-
|
|
626
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
817
|
+
legacyCode: 1121,
|
|
818
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
819
|
+
code: 'expected-dim-expression'
|
|
627
820
|
}),
|
|
628
821
|
mismatchedOverriddenMemberVisibility: (childClassName, memberName, childAccessModifier, ancestorAccessModifier, ancestorClassName) => ({
|
|
629
822
|
message: `Access modifier mismatch: '${memberName}' is ${childAccessModifier} in type '${childClassName}' but is ${ancestorAccessModifier} in base type '${ancestorClassName}'.`,
|
|
630
|
-
|
|
631
|
-
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
823
|
+
legacyCode: 1122,
|
|
824
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
825
|
+
code: 'access-modifier-mismatch'
|
|
632
826
|
}),
|
|
633
|
-
|
|
827
|
+
__unused3: (typeName) => ({
|
|
634
828
|
message: `Cannot find type with name '${typeName}'`,
|
|
635
|
-
|
|
829
|
+
legacyCode: 1123,
|
|
636
830
|
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
637
831
|
}),
|
|
638
|
-
|
|
639
|
-
message: `
|
|
640
|
-
|
|
832
|
+
enumValueMustBeType: (expectedType) => ({
|
|
833
|
+
message: `Enum value must be type '${expectedType}'`,
|
|
834
|
+
legacyCode: 1124,
|
|
835
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
836
|
+
code: 'enum-type-mismatch'
|
|
837
|
+
}),
|
|
838
|
+
enumValueIsRequired: (expectedType) => ({
|
|
839
|
+
message: `Value is required for ${expectedType} enum`,
|
|
840
|
+
legacyCode: 1125,
|
|
841
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
842
|
+
code: 'expected-enum-value'
|
|
843
|
+
}),
|
|
844
|
+
__unused40: (name, enumName) => ({
|
|
845
|
+
message: `Property '${name}' does not exist on enum '${enumName}'`,
|
|
846
|
+
legacyCode: 1126,
|
|
847
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
848
|
+
code: 'unknown-enum-value'
|
|
849
|
+
}),
|
|
850
|
+
__unused7: (scopeName, enumName) => ({
|
|
851
|
+
message: `Scope '${scopeName}' already contains an enum with name '${enumName}'`,
|
|
852
|
+
legacyCode: 1127,
|
|
641
853
|
severity: vscode_languageserver_1.DiagnosticSeverity.Error
|
|
854
|
+
}),
|
|
855
|
+
unknownRoSGNode: (nodeName) => ({
|
|
856
|
+
message: `Unknown roSGNode '${nodeName}'`,
|
|
857
|
+
legacyCode: 1128,
|
|
858
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
859
|
+
code: 'unknown-rosgnode'
|
|
860
|
+
}),
|
|
861
|
+
unknownBrightScriptComponent: (componentName) => ({
|
|
862
|
+
message: `Unknown BrightScript component '${componentName}'`,
|
|
863
|
+
legacyCode: 1129,
|
|
864
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
865
|
+
code: 'unknown-brightscript-component'
|
|
866
|
+
}),
|
|
867
|
+
mismatchCreateObjectArgumentCount: (componentName, allowedArgCounts, actualCount) => {
|
|
868
|
+
const argCountArray = (allowedArgCounts || [1]).sort().filter((value, index, self) => self.indexOf(value) === index);
|
|
869
|
+
return {
|
|
870
|
+
message: `For ${componentName}, expected ${argCountArray.map(c => c.toString()).join(' or ')} total arguments, but got ${actualCount}.`,
|
|
871
|
+
legacyCode: 1130,
|
|
872
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
873
|
+
code: 'incorrect-createobject-argument-count'
|
|
874
|
+
};
|
|
875
|
+
},
|
|
876
|
+
__unused41: (componentName, deprecatedDescription) => ({
|
|
877
|
+
message: `${componentName} has been deprecated${deprecatedDescription ? ': ' + deprecatedDescription : ''} `,
|
|
878
|
+
legacyCode: 1131,
|
|
879
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
880
|
+
code: 'deprecated-brightscript-component'
|
|
881
|
+
}),
|
|
882
|
+
circularReferenceDetected: (items = []) => {
|
|
883
|
+
let detail = '';
|
|
884
|
+
if (Array.isArray(items)) {
|
|
885
|
+
if (items.length > 1) {
|
|
886
|
+
detail += ' between';
|
|
887
|
+
}
|
|
888
|
+
if (items.length > 0) {
|
|
889
|
+
detail += ' ' + items.map(item => `'${item}'`).join(' -> ');
|
|
890
|
+
}
|
|
891
|
+
}
|
|
892
|
+
else if (items) {
|
|
893
|
+
detail = ` '${items}'`;
|
|
894
|
+
}
|
|
895
|
+
return {
|
|
896
|
+
message: `Circular reference detected${detail}`,
|
|
897
|
+
legacyCode: 1132,
|
|
898
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
899
|
+
code: 'circular-reference'
|
|
900
|
+
};
|
|
901
|
+
},
|
|
902
|
+
unexpectedStatementOutsideFunction: () => ({
|
|
903
|
+
message: `Unexpected statement found outside of function body`,
|
|
904
|
+
legacyCode: 1133,
|
|
905
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
906
|
+
code: 'unexpected-statement'
|
|
907
|
+
}),
|
|
908
|
+
detectedTooDeepFileSource: (numberOfParentDirectories) => ({
|
|
909
|
+
message: `Expected directory depth no larger than 7, but found ${numberOfParentDirectories} `,
|
|
910
|
+
legacyCode: 1134,
|
|
911
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
912
|
+
code: 'directory-depth'
|
|
913
|
+
}),
|
|
914
|
+
illegalContinueStatement: () => ({
|
|
915
|
+
message: `Continue statement must be contained within a loop statement`,
|
|
916
|
+
legacyCode: 1135,
|
|
917
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
918
|
+
code: 'unexpected-continue'
|
|
919
|
+
}),
|
|
920
|
+
keywordMustBeDeclaredAtNamespaceLevel: (keyword) => ({
|
|
921
|
+
message: `${keyword} must be declared at the root level or within a namespace`,
|
|
922
|
+
legacyCode: 1136,
|
|
923
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
924
|
+
code: 'invalid-declaration-location'
|
|
925
|
+
}),
|
|
926
|
+
itemCannotBeUsedAsVariable: (itemType) => ({
|
|
927
|
+
message: `${itemType} cannot be used as a variable`,
|
|
928
|
+
legacyCode: 1137,
|
|
929
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
930
|
+
code: 'type-not-variable'
|
|
931
|
+
}),
|
|
932
|
+
callfuncHasToManyArgs: (numberOfArgs) => ({
|
|
933
|
+
message: `You can not have more than 5 arguments in a callFunc.${numberOfArgs} found.`,
|
|
934
|
+
legacyCode: 1138,
|
|
935
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
936
|
+
code: 'exceeds-max-callfunc-arg-count'
|
|
937
|
+
}),
|
|
938
|
+
noOptionalChainingInLeftHandSideOfAssignment: () => ({
|
|
939
|
+
message: `Optional chaining may not be used in the left-hand side of an assignment`,
|
|
940
|
+
legacyCode: 1139,
|
|
941
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
942
|
+
code: 'unexpected-optional-chain'
|
|
943
|
+
}),
|
|
944
|
+
/**
|
|
945
|
+
* @param name for function calls where we can't find the name of the function
|
|
946
|
+
* @param fullName if a namespaced name, this is the full name `alpha.beta.charlie`, otherwise it's the same as `name`
|
|
947
|
+
* @param typeName if 'name' refers to a member, what is the the type it is a member of?
|
|
948
|
+
* @param typeDescriptor defaults to 'type' ... could also be 'namespace', etc.
|
|
949
|
+
*/
|
|
950
|
+
cannotFindFunction: (name, fullName, typeName, typeDescriptor = 'type') => ({
|
|
951
|
+
message: `Cannot find function '${name}'${typeName ? ` for ${typeDescriptor} '${typeName}'` : ''} `,
|
|
952
|
+
legacyCode: 1140,
|
|
953
|
+
data: {
|
|
954
|
+
name: name,
|
|
955
|
+
fullName: fullName !== null && fullName !== void 0 ? fullName : name,
|
|
956
|
+
typeName: typeName ? typeName : undefined
|
|
957
|
+
},
|
|
958
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
959
|
+
code: 'cannot-find-function'
|
|
960
|
+
}),
|
|
961
|
+
voidFunctionMayNotReturnValue: (functionType = 'function') => ({
|
|
962
|
+
message: `Void ${functionType} may not return a value`,
|
|
963
|
+
legacyCode: 1141,
|
|
964
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
965
|
+
code: 'unexpected-return-value'
|
|
966
|
+
}),
|
|
967
|
+
nonVoidFunctionMustReturnValue: (functionType = 'function') => ({
|
|
968
|
+
message: `Non-void ${functionType} must return a value`,
|
|
969
|
+
legacyCode: 1142,
|
|
970
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
971
|
+
code: 'missing-return-value'
|
|
972
|
+
}),
|
|
973
|
+
assignmentTypeMismatch: (actualTypeString, expectedTypeString, data) => ({
|
|
974
|
+
message: `Type '${actualTypeString}' is not compatible with type '${expectedTypeString}'${typeCompatibilityMessage(actualTypeString, expectedTypeString, data)}`,
|
|
975
|
+
data: data,
|
|
976
|
+
legacyCode: 1143,
|
|
977
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
978
|
+
code: 'assignment-type-mismatch'
|
|
979
|
+
}),
|
|
980
|
+
operatorTypeMismatch: (operatorString, firstType, secondType = '') => ({
|
|
981
|
+
message: `Operator '${operatorString}' cannot be applied to type${secondType ? 's' : ''} '${firstType}'${secondType ? ` and '${secondType}'` : ''}`,
|
|
982
|
+
legacyCode: 1144,
|
|
983
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
984
|
+
code: 'operator-type-mismatch'
|
|
985
|
+
}),
|
|
986
|
+
incompatibleSymbolDefinition: (symbol, options = {}) => ({
|
|
987
|
+
message: `'${symbol}' is incompatible${incompatibleSymbolMessage(symbol, options)}`,
|
|
988
|
+
legacyCode: 1145,
|
|
989
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
990
|
+
code: 'incompatible-definition'
|
|
991
|
+
}),
|
|
992
|
+
memberAccessibilityMismatch: (memberName, accessModifierFlag, definingClassName) => {
|
|
993
|
+
let accessModName = TokenKind_1.TokenKind.Public;
|
|
994
|
+
// eslint-disable-next-line no-bitwise
|
|
995
|
+
if (accessModifierFlag & 8 /* SymbolTypeFlag.private */) {
|
|
996
|
+
accessModName = TokenKind_1.TokenKind.Private;
|
|
997
|
+
// eslint-disable-next-line no-bitwise
|
|
998
|
+
}
|
|
999
|
+
else if (accessModifierFlag & 16 /* SymbolTypeFlag.protected */) {
|
|
1000
|
+
accessModName = TokenKind_1.TokenKind.Protected;
|
|
1001
|
+
}
|
|
1002
|
+
accessModName = accessModName.toLowerCase();
|
|
1003
|
+
let accessAdditionalInfo = '';
|
|
1004
|
+
// eslint-disable-next-line no-bitwise
|
|
1005
|
+
if (accessModifierFlag & 8 /* SymbolTypeFlag.private */) {
|
|
1006
|
+
accessAdditionalInfo = ` and only accessible from within class '${definingClassName}'`;
|
|
1007
|
+
// eslint-disable-next-line no-bitwise
|
|
1008
|
+
}
|
|
1009
|
+
else if (accessModifierFlag & 16 /* SymbolTypeFlag.protected */) {
|
|
1010
|
+
accessAdditionalInfo = ` and only accessible from within class '${definingClassName}' and its subclasses`;
|
|
1011
|
+
}
|
|
1012
|
+
return {
|
|
1013
|
+
message: `Member '${memberName}' is ${accessModName}${accessAdditionalInfo}`,
|
|
1014
|
+
legacyCode: 1146,
|
|
1015
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
1016
|
+
code: 'member-access-violation'
|
|
1017
|
+
};
|
|
1018
|
+
},
|
|
1019
|
+
invalidTypecastStatementApplication: (foundApplication) => ({
|
|
1020
|
+
message: `'typecast' statement can only be applied to 'm', but was applied to '${foundApplication}'`,
|
|
1021
|
+
legacyCode: 1148,
|
|
1022
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
1023
|
+
code: 'invalid-typecast-target'
|
|
1024
|
+
}),
|
|
1025
|
+
itemCannotBeUsedAsType: (typeText) => ({
|
|
1026
|
+
message: `'${typeText}' cannot be used as a type`,
|
|
1027
|
+
legacyCode: 1149,
|
|
1028
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
1029
|
+
code: 'invalid-type-reference'
|
|
1030
|
+
}),
|
|
1031
|
+
unsafeUnmatchedTerminatorInConditionalCompileBlock: (terminator) => ({
|
|
1032
|
+
message: `Unsafe unmatched terminator '${terminator}' in conditional compilation block`,
|
|
1033
|
+
legacyCode: 1150,
|
|
1034
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
1035
|
+
code: 'inconsistent-conditional-compile-nesting'
|
|
1036
|
+
}),
|
|
1037
|
+
returnTypeCoercionMismatch: (returnType = 'string') => ({
|
|
1038
|
+
message: `Function has no return statement and will return 'invalid': '${returnType}' cannot be coerced into 'invalid'`,
|
|
1039
|
+
legacyCode: 1151,
|
|
1040
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
1041
|
+
code: 'return-type-coercion-mismatch'
|
|
1042
|
+
}),
|
|
1043
|
+
argumentTypeMismatch: (actualTypeString, expectedTypeString, data) => ({
|
|
1044
|
+
message: `Argument of type '${actualTypeString}' is not compatible with parameter of type '${expectedTypeString}'${typeCompatibilityMessage(actualTypeString, expectedTypeString, data)} `,
|
|
1045
|
+
data: data,
|
|
1046
|
+
legacyCode: 1152,
|
|
1047
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
1048
|
+
code: 'argument-type-mismatch'
|
|
1049
|
+
}),
|
|
1050
|
+
returnTypeMismatch: (actualTypeString, expectedTypeString, data) => ({
|
|
1051
|
+
message: `Type '${actualTypeString}' is not compatible with declared return type '${expectedTypeString}'${typeCompatibilityMessage(actualTypeString, expectedTypeString, data)} '`,
|
|
1052
|
+
data: data,
|
|
1053
|
+
legacyCode: 1153,
|
|
1054
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
1055
|
+
code: 'return-type-mismatch'
|
|
1056
|
+
}),
|
|
1057
|
+
cannotFindCallFuncFunction: (name, fullName, typeName) => ({
|
|
1058
|
+
message: `Cannot find callfunc function '${name}' for type '${typeName}'`,
|
|
1059
|
+
data: {
|
|
1060
|
+
name: name,
|
|
1061
|
+
fullName: fullName,
|
|
1062
|
+
typeName: typeName,
|
|
1063
|
+
isCallfunc: true
|
|
1064
|
+
},
|
|
1065
|
+
legacyCode: 1154,
|
|
1066
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
1067
|
+
code: 'cannot-find-callfunc'
|
|
1068
|
+
}),
|
|
1069
|
+
notCallable: (name) => ({
|
|
1070
|
+
message: `'${name}' is not callable'`,
|
|
1071
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
1072
|
+
code: 'not-callable'
|
|
1073
|
+
}),
|
|
1074
|
+
notIterable: (typeName) => ({
|
|
1075
|
+
message: `Type '${typeName}' is not iterable`,
|
|
1076
|
+
severity: vscode_languageserver_1.DiagnosticSeverity.Error,
|
|
1077
|
+
code: 'not-iterable'
|
|
642
1078
|
})
|
|
643
1079
|
};
|
|
1080
|
+
exports.defaultMaximumTruncationLength = 160;
|
|
1081
|
+
function typeCompatibilityMessage(actualTypeString, expectedTypeString, data) {
|
|
1082
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l;
|
|
1083
|
+
let message = '';
|
|
1084
|
+
actualTypeString = (_b = (_a = data === null || data === void 0 ? void 0 : data.actualType) === null || _a === void 0 ? void 0 : _a.toString()) !== null && _b !== void 0 ? _b : actualTypeString;
|
|
1085
|
+
expectedTypeString = (_d = (_c = data === null || data === void 0 ? void 0 : data.expectedType) === null || _c === void 0 ? void 0 : _c.toString()) !== null && _d !== void 0 ? _d : expectedTypeString;
|
|
1086
|
+
if (((_e = data === null || data === void 0 ? void 0 : data.missingFields) === null || _e === void 0 ? void 0 : _e.length) > 0) {
|
|
1087
|
+
message = `\n Type '${actualTypeString}' is missing the following members of type '${expectedTypeString}': ` + util_1.default.truncate({
|
|
1088
|
+
leadingText: ``,
|
|
1089
|
+
trailingText: '',
|
|
1090
|
+
itemSeparator: ', ',
|
|
1091
|
+
items: data.missingFields,
|
|
1092
|
+
partBuilder: (x) => x.name,
|
|
1093
|
+
maxLength: exports.defaultMaximumTruncationLength
|
|
1094
|
+
});
|
|
1095
|
+
}
|
|
1096
|
+
else if (((_f = data === null || data === void 0 ? void 0 : data.fieldMismatches) === null || _f === void 0 ? void 0 : _f.length) > 0) {
|
|
1097
|
+
message = '. ' + util_1.default.truncate({
|
|
1098
|
+
leadingText: `Type '${actualTypeString}' has incompatible members:`,
|
|
1099
|
+
items: data.fieldMismatches,
|
|
1100
|
+
itemSeparator: '',
|
|
1101
|
+
partBuilder: (x) => `\n member "${x.name}" should be '${x.expectedType}' but is '${x.actualType}'`,
|
|
1102
|
+
maxLength: exports.defaultMaximumTruncationLength
|
|
1103
|
+
});
|
|
1104
|
+
}
|
|
1105
|
+
else if (((_g = data === null || data === void 0 ? void 0 : data.parameterMismatches) === null || _g === void 0 ? void 0 : _g.length) > 0) {
|
|
1106
|
+
message = '. ' + util_1.default.truncate({
|
|
1107
|
+
leadingText: `Type '${actualTypeString}' has incompatible parameters:`,
|
|
1108
|
+
items: data.parameterMismatches,
|
|
1109
|
+
itemSeparator: '',
|
|
1110
|
+
partBuilder: (x) => {
|
|
1111
|
+
var _a, _b, _c, _d;
|
|
1112
|
+
let pExpected = (_b = (_a = x.data) === null || _a === void 0 ? void 0 : _a.expectedType.toString()) !== null && _b !== void 0 ? _b : 'dynamic';
|
|
1113
|
+
let pActual = (_d = (_c = x.data) === null || _c === void 0 ? void 0 : _c.actualType.toString()) !== null && _d !== void 0 ? _d : 'dynamic';
|
|
1114
|
+
if (x.expectedOptional !== x.actualOptional) {
|
|
1115
|
+
pExpected += x.expectedOptional ? '?' : '';
|
|
1116
|
+
pActual += x.actualOptional ? '?' : '';
|
|
1117
|
+
}
|
|
1118
|
+
return `\n parameter ${x.index + 1} should be '${pExpected}' but is '${pActual}'`;
|
|
1119
|
+
},
|
|
1120
|
+
maxLength: exports.defaultMaximumTruncationLength
|
|
1121
|
+
});
|
|
1122
|
+
}
|
|
1123
|
+
else if (((_h = data === null || data === void 0 ? void 0 : data.returnTypeMismatch) === null || _h === void 0 ? void 0 : _h.actualType) && ((_j = data.returnTypeMismatch) === null || _j === void 0 ? void 0 : _j.expectedType)) {
|
|
1124
|
+
message = `. Type '${actualTypeString}' has incompatible return type:`;
|
|
1125
|
+
message += `\n return type should be '${(_k = data.returnTypeMismatch) === null || _k === void 0 ? void 0 : _k.expectedType}' but is '${(_l = data === null || data === void 0 ? void 0 : data.returnTypeMismatch) === null || _l === void 0 ? void 0 : _l.actualType}'`;
|
|
1126
|
+
}
|
|
1127
|
+
else if ((data === null || data === void 0 ? void 0 : data.expectedVariadic) !== (data === null || data === void 0 ? void 0 : data.actualVariadic)) {
|
|
1128
|
+
const shouldMsg = data.expectedVariadic ? 'should' : 'should not';
|
|
1129
|
+
message = `. Type '${actualTypeString}' ${shouldMsg} be variadic`;
|
|
1130
|
+
}
|
|
1131
|
+
return message;
|
|
1132
|
+
}
|
|
1133
|
+
exports.typeCompatibilityMessage = typeCompatibilityMessage;
|
|
1134
|
+
function getPossibilitiesString(possibilities) {
|
|
1135
|
+
if (!Array.isArray(possibilities)) {
|
|
1136
|
+
return `'${possibilities}'`;
|
|
1137
|
+
}
|
|
1138
|
+
if (possibilities.length === 1) {
|
|
1139
|
+
return `'${possibilities}'`;
|
|
1140
|
+
}
|
|
1141
|
+
let result = '';
|
|
1142
|
+
for (let i = 0; i < possibilities.length; i++) {
|
|
1143
|
+
result += `'${possibilities[i]}'`;
|
|
1144
|
+
if (i < possibilities.length - 2) {
|
|
1145
|
+
result += ', ';
|
|
1146
|
+
}
|
|
1147
|
+
else if (i < possibilities.length - 1) {
|
|
1148
|
+
result += ' or ';
|
|
1149
|
+
}
|
|
1150
|
+
}
|
|
1151
|
+
return result;
|
|
1152
|
+
}
|
|
1153
|
+
function incompatibleSymbolMessage(symbolName, options) {
|
|
1154
|
+
var _a, _b, _c;
|
|
1155
|
+
let message = '';
|
|
1156
|
+
const data = options.data;
|
|
1157
|
+
if (((_a = options.scopes) === null || _a === void 0 ? void 0 : _a.length) > 0) {
|
|
1158
|
+
message += ` across these scopes: ${options.scopes.join(', ')}`;
|
|
1159
|
+
}
|
|
1160
|
+
if (options.isUnion) {
|
|
1161
|
+
message += ` in union`;
|
|
1162
|
+
}
|
|
1163
|
+
const actualTypeString = (_b = data === null || data === void 0 ? void 0 : data.actualType) === null || _b === void 0 ? void 0 : _b.toString();
|
|
1164
|
+
const expectedTypeString = (_c = data === null || data === void 0 ? void 0 : data.expectedType) === null || _c === void 0 ? void 0 : _c.toString();
|
|
1165
|
+
if (data && actualTypeString && expectedTypeString) {
|
|
1166
|
+
message += typeCompatibilityMessage(actualTypeString, expectedTypeString, data);
|
|
1167
|
+
}
|
|
1168
|
+
return message;
|
|
1169
|
+
}
|
|
1170
|
+
exports.incompatibleSymbolMessage = incompatibleSymbolMessage;
|
|
644
1171
|
exports.DiagnosticCodeMap = {};
|
|
1172
|
+
exports.DiagnosticLegacyCodeMap = {};
|
|
645
1173
|
exports.diagnosticCodes = [];
|
|
646
1174
|
for (let key in exports.DiagnosticMessages) {
|
|
647
1175
|
exports.diagnosticCodes.push(exports.DiagnosticMessages[key]().code);
|
|
1176
|
+
exports.diagnosticCodes.push(exports.DiagnosticMessages[key]().legacyCode);
|
|
648
1177
|
exports.DiagnosticCodeMap[key] = exports.DiagnosticMessages[key]().code;
|
|
1178
|
+
exports.DiagnosticLegacyCodeMap[key] = exports.DiagnosticMessages[key]().legacyCode;
|
|
649
1179
|
}
|
|
650
1180
|
//# sourceMappingURL=DiagnosticMessages.js.map
|