brighterscript 1.0.0-alpha.50 → 1.0.0-alpha.51
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +3 -0
- package/bsconfig.schema.json +75 -0
- package/dist/BsConfig.d.ts +90 -5
- package/dist/CodeActionUtil.d.ts +17 -0
- package/dist/CodeActionUtil.js.map +1 -1
- package/dist/CommentFlagProcessor.d.ts +16 -12
- package/dist/CommentFlagProcessor.js +141 -59
- package/dist/CommentFlagProcessor.js.map +1 -1
- package/dist/CrossScopeValidator.js +13 -5
- package/dist/CrossScopeValidator.js.map +1 -1
- package/dist/DiagnosticManager.d.ts +1 -0
- package/dist/DiagnosticManager.js +25 -9
- package/dist/DiagnosticManager.js.map +1 -1
- package/dist/DiagnosticMessages.d.ts +61 -17
- package/dist/DiagnosticMessages.js +78 -24
- package/dist/DiagnosticMessages.js.map +1 -1
- package/dist/LanguageServer.d.ts +39 -2
- package/dist/LanguageServer.js +142 -5
- package/dist/LanguageServer.js.map +1 -1
- package/dist/Program.d.ts +62 -1
- package/dist/Program.js +185 -13
- package/dist/Program.js.map +1 -1
- package/dist/ProgramBuilder.d.ts +1 -8
- package/dist/ProgramBuilder.js +31 -11
- package/dist/ProgramBuilder.js.map +1 -1
- package/dist/Scope.d.ts +87 -6
- package/dist/Scope.js +76 -31
- package/dist/Scope.js.map +1 -1
- package/dist/ScopeNamespaceLookup.d.ts +73 -0
- package/dist/ScopeNamespaceLookup.js +242 -0
- package/dist/ScopeNamespaceLookup.js.map +1 -0
- package/dist/SymbolTable.d.ts +9 -2
- package/dist/SymbolTable.js +24 -14
- package/dist/SymbolTable.js.map +1 -1
- package/dist/astUtils/CachedLookups.js +3 -0
- package/dist/astUtils/CachedLookups.js.map +1 -1
- package/dist/astUtils/reflection.d.ts +4 -1
- package/dist/astUtils/reflection.js +24 -4
- package/dist/astUtils/reflection.js.map +1 -1
- package/dist/astUtils/visitors.d.ts +2 -1
- package/dist/astUtils/visitors.js.map +1 -1
- package/dist/bscPlugin/BscPlugin.d.ts +4 -2
- package/dist/bscPlugin/BscPlugin.js +10 -2
- package/dist/bscPlugin/BscPlugin.js.map +1 -1
- package/dist/bscPlugin/CallExpressionInfo.d.ts +1 -1
- package/dist/bscPlugin/CallExpressionInfo.js +1 -2
- package/dist/bscPlugin/CallExpressionInfo.js.map +1 -1
- package/dist/bscPlugin/FileWriter.d.ts +13 -0
- package/dist/bscPlugin/FileWriter.js +56 -1
- package/dist/bscPlugin/FileWriter.js.map +1 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.d.ts +106 -5
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +630 -126
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
- package/dist/bscPlugin/codeActions/FixAllCodeActionsProcessor.d.ts +17 -0
- package/dist/bscPlugin/codeActions/FixAllCodeActionsProcessor.js +66 -0
- package/dist/bscPlugin/codeActions/FixAllCodeActionsProcessor.js.map +1 -0
- package/dist/bscPlugin/codeActions/codeActionHelpers.d.ts +18 -0
- package/dist/bscPlugin/codeActions/codeActionHelpers.js +31 -0
- package/dist/bscPlugin/codeActions/codeActionHelpers.js.map +1 -0
- package/dist/bscPlugin/completions/CompletionsProcessor.d.ts +1 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.js +5 -5
- package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
- package/dist/bscPlugin/definition/DefinitionProvider.js +8 -0
- package/dist/bscPlugin/definition/DefinitionProvider.js.map +1 -1
- package/dist/bscPlugin/hover/HoverProcessor.js +11 -3
- package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -1
- package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.d.ts +7 -0
- package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.js +77 -0
- package/dist/bscPlugin/selectionRanges/SelectionRangesProcessor.js.map +1 -0
- package/dist/bscPlugin/serialize/FileSerializer.d.ts +1 -1
- package/dist/bscPlugin/serialize/FileSerializer.js +12 -7
- package/dist/bscPlugin/serialize/FileSerializer.js.map +1 -1
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.d.ts +7 -0
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js +87 -1
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js.map +1 -1
- package/dist/bscPlugin/validation/BrsFileValidator.d.ts +14 -0
- package/dist/bscPlugin/validation/BrsFileValidator.js +97 -21
- package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
- package/dist/bscPlugin/validation/ScopeValidator.d.ts +17 -0
- package/dist/bscPlugin/validation/ScopeValidator.js +162 -4
- package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
- package/dist/bscPlugin/validation/XmlFileValidator.js +14 -0
- package/dist/bscPlugin/validation/XmlFileValidator.js.map +1 -1
- package/dist/cli.js +13 -0
- package/dist/cli.js.map +1 -1
- package/dist/diagnosticUtils.d.ts +51 -1
- package/dist/diagnosticUtils.js +222 -1
- package/dist/diagnosticUtils.js.map +1 -1
- package/dist/files/BrsFile.d.ts +18 -2
- package/dist/files/BrsFile.js +87 -6
- package/dist/files/BrsFile.js.map +1 -1
- package/dist/files/XmlFile.js +2 -1
- package/dist/files/XmlFile.js.map +1 -1
- package/dist/interfaces.d.ts +68 -23
- package/dist/interfaces.js.map +1 -1
- package/dist/lexer/Lexer.js +4 -5
- package/dist/lexer/Lexer.js.map +1 -1
- package/dist/lexer/Token.d.ts +1 -1
- package/dist/lexer/TokenKind.d.ts +8 -0
- package/dist/lexer/TokenKind.js +21 -1
- package/dist/lexer/TokenKind.js.map +1 -1
- package/dist/lsp/LspProject.d.ts +49 -1
- package/dist/lsp/Project.d.ts +33 -1
- package/dist/lsp/Project.js +129 -4
- package/dist/lsp/Project.js.map +1 -1
- package/dist/lsp/ProjectManager.d.ts +48 -2
- package/dist/lsp/ProjectManager.js +152 -9
- package/dist/lsp/ProjectManager.js.map +1 -1
- package/dist/lsp/worker/WorkerThreadProject.d.ts +27 -2
- package/dist/lsp/worker/WorkerThreadProject.js +16 -0
- package/dist/lsp/worker/WorkerThreadProject.js.map +1 -1
- package/dist/parser/AstNode.d.ts +3 -1
- package/dist/parser/AstNode.js +2 -0
- package/dist/parser/AstNode.js.map +1 -1
- package/dist/parser/Expression.d.ts +54 -5
- package/dist/parser/Expression.js +112 -7
- package/dist/parser/Expression.js.map +1 -1
- package/dist/parser/Parser.d.ts +24 -1
- package/dist/parser/Parser.js +180 -41
- package/dist/parser/Parser.js.map +1 -1
- package/dist/parser/SGParser.d.ts +1 -0
- package/dist/parser/SGParser.js +9 -0
- package/dist/parser/SGParser.js.map +1 -1
- package/dist/parser/Statement.d.ts +6 -1
- package/dist/parser/Statement.js +22 -14
- package/dist/parser/Statement.js.map +1 -1
- package/dist/parser/TranspileState.d.ts +4 -2
- package/dist/parser/TranspileState.js +10 -4
- package/dist/parser/TranspileState.js.map +1 -1
- package/dist/roku-types/data.json +210 -3
- package/dist/types/ArrayType.js +6 -1
- package/dist/types/ArrayType.js.map +1 -1
- package/dist/types/BooleanType.js +1 -1
- package/dist/types/BooleanType.js.map +1 -1
- package/dist/types/CallFuncableType.d.ts +1 -1
- package/dist/types/ClassType.js +3 -0
- package/dist/types/ClassType.js.map +1 -1
- package/dist/types/ComponentType.js +3 -0
- package/dist/types/ComponentType.js.map +1 -1
- package/dist/types/EnumType.js +3 -0
- package/dist/types/EnumType.js.map +1 -1
- package/dist/types/IntersectionType.js +3 -0
- package/dist/types/IntersectionType.js.map +1 -1
- package/dist/types/ReferenceType.js +6 -0
- package/dist/types/ReferenceType.js.map +1 -1
- package/dist/types/TypeStatementType.d.ts +1 -0
- package/dist/types/TypeStatementType.js +12 -1
- package/dist/types/TypeStatementType.js.map +1 -1
- package/dist/types/TypedFunctionType.js +20 -10
- package/dist/types/TypedFunctionType.js.map +1 -1
- package/dist/types/UnionType.js +3 -0
- package/dist/types/UnionType.js.map +1 -1
- package/dist/types/helpers.js +6 -0
- package/dist/types/helpers.js.map +1 -1
- package/dist/util.d.ts +42 -3
- package/dist/util.js +131 -7
- package/dist/util.js.map +1 -1
- package/package.json +24 -26
- package/dist/astUtils/CachedLookups.spec.d.ts +0 -1
- package/dist/astUtils/CachedLookups.spec.js +0 -39
- package/dist/astUtils/CachedLookups.spec.js.map +0 -1
- package/dist/astUtils/Editor.spec.d.ts +0 -1
- package/dist/astUtils/Editor.spec.js +0 -258
- package/dist/astUtils/Editor.spec.js.map +0 -1
- package/dist/astUtils/creators.spec.d.ts +0 -1
- package/dist/astUtils/creators.spec.js +0 -21
- package/dist/astUtils/creators.spec.js.map +0 -1
- package/dist/astUtils/reflection.spec.d.ts +0 -1
- package/dist/astUtils/reflection.spec.js +0 -392
- package/dist/astUtils/reflection.spec.js.map +0 -1
- package/dist/astUtils/stackedVisitor.spec.d.ts +0 -1
- package/dist/astUtils/stackedVisitor.spec.js +0 -79
- package/dist/astUtils/stackedVisitor.spec.js.map +0 -1
- package/dist/astUtils/visitors.spec.d.ts +0 -1
- package/dist/astUtils/visitors.spec.js +0 -1432
- package/dist/astUtils/visitors.spec.js.map +0 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.d.ts +0 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +0 -311
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +0 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.spec.d.ts +0 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.spec.js +0 -2512
- package/dist/bscPlugin/completions/CompletionsProcessor.spec.js.map +0 -1
- package/dist/bscPlugin/definition/DefinitionProvider.spec.d.ts +0 -1
- package/dist/bscPlugin/definition/DefinitionProvider.spec.js +0 -87
- package/dist/bscPlugin/definition/DefinitionProvider.spec.js.map +0 -1
- package/dist/bscPlugin/hover/HoverProcessor.spec.d.ts +0 -1
- package/dist/bscPlugin/hover/HoverProcessor.spec.js +0 -991
- package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +0 -1
- package/dist/bscPlugin/references/ReferencesProvider.spec.d.ts +0 -1
- package/dist/bscPlugin/references/ReferencesProvider.spec.js +0 -51
- package/dist/bscPlugin/references/ReferencesProvider.spec.js.map +0 -1
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.d.ts +0 -1
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +0 -564
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +0 -1
- package/dist/bscPlugin/serialize/BslibInjector.spec.d.ts +0 -1
- package/dist/bscPlugin/serialize/BslibInjector.spec.js +0 -33
- package/dist/bscPlugin/serialize/BslibInjector.spec.js.map +0 -1
- package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.d.ts +0 -1
- package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.js +0 -291
- package/dist/bscPlugin/symbols/DocumentSymbolProcessor.spec.js.map +0 -1
- package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.d.ts +0 -1
- package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.js +0 -245
- package/dist/bscPlugin/symbols/WorkspaceSymbolProcessor.spec.js.map +0 -1
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.d.ts +0 -1
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js +0 -75
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js.map +0 -1
- package/dist/bscPlugin/validation/BrsFileValidator.spec.d.ts +0 -1
- package/dist/bscPlugin/validation/BrsFileValidator.spec.js +0 -1517
- package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +0 -1
- package/dist/bscPlugin/validation/ScopeValidator.spec.d.ts +0 -1
- package/dist/bscPlugin/validation/ScopeValidator.spec.js +0 -6135
- package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +0 -1
- package/dist/common/Sequencer.spec.d.ts +0 -1
- package/dist/common/Sequencer.spec.js +0 -75
- package/dist/common/Sequencer.spec.js.map +0 -1
- package/dist/files/BrsFile.Class.spec.d.ts +0 -1
- package/dist/files/BrsFile.Class.spec.js +0 -2035
- package/dist/files/BrsFile.Class.spec.js.map +0 -1
- package/dist/files/BrsFile.spec.d.ts +0 -1
- package/dist/files/BrsFile.spec.js +0 -5848
- package/dist/files/BrsFile.spec.js.map +0 -1
- package/dist/files/LazyFileData.spec.d.ts +0 -1
- package/dist/files/LazyFileData.spec.js +0 -27
- package/dist/files/LazyFileData.spec.js.map +0 -1
- package/dist/files/XmlFile.spec.d.ts +0 -1
- package/dist/files/XmlFile.spec.js +0 -1173
- package/dist/files/XmlFile.spec.js.map +0 -1
- package/dist/files/tests/imports.spec.d.ts +0 -1
- package/dist/files/tests/imports.spec.js +0 -251
- package/dist/files/tests/imports.spec.js.map +0 -1
- package/dist/files/tests/optionalChaning.spec.d.ts +0 -1
- package/dist/files/tests/optionalChaning.spec.js +0 -152
- package/dist/files/tests/optionalChaning.spec.js.map +0 -1
- package/dist/lexer/Character.spec.d.ts +0 -1
- package/dist/lexer/Character.spec.js +0 -27
- package/dist/lexer/Character.spec.js.map +0 -1
- package/dist/lexer/Lexer.spec.d.ts +0 -1
- package/dist/lexer/Lexer.spec.js +0 -1345
- package/dist/lexer/Lexer.spec.js.map +0 -1
- package/dist/lsp/ActionQueue.spec.d.ts +0 -1
- package/dist/lsp/ActionQueue.spec.js +0 -80
- package/dist/lsp/ActionQueue.spec.js.map +0 -1
- package/dist/lsp/DocumentManager.spec.d.ts +0 -1
- package/dist/lsp/DocumentManager.spec.js +0 -103
- package/dist/lsp/DocumentManager.spec.js.map +0 -1
- package/dist/lsp/PathFilterer.spec.d.ts +0 -1
- package/dist/lsp/PathFilterer.spec.js +0 -182
- package/dist/lsp/PathFilterer.spec.js.map +0 -1
- package/dist/lsp/Project.spec.d.ts +0 -1
- package/dist/lsp/Project.spec.js +0 -267
- package/dist/lsp/Project.spec.js.map +0 -1
- package/dist/lsp/ProjectManager.spec.d.ts +0 -1
- package/dist/lsp/ProjectManager.spec.js +0 -913
- package/dist/lsp/ProjectManager.spec.js.map +0 -1
- package/dist/lsp/worker/MessageHandler.spec.d.ts +0 -1
- package/dist/lsp/worker/MessageHandler.spec.js +0 -64
- package/dist/lsp/worker/MessageHandler.spec.js.map +0 -1
- package/dist/lsp/worker/WorkerPool.spec.d.ts +0 -1
- package/dist/lsp/worker/WorkerPool.spec.js +0 -59
- package/dist/lsp/worker/WorkerPool.spec.js.map +0 -1
- package/dist/lsp/worker/WorkerThreadProject.spec.d.ts +0 -2
- package/dist/lsp/worker/WorkerThreadProject.spec.js +0 -71
- package/dist/lsp/worker/WorkerThreadProject.spec.js.map +0 -1
- package/dist/parser/AstNode.spec.d.ts +0 -1
- package/dist/parser/AstNode.spec.js +0 -1455
- package/dist/parser/AstNode.spec.js.map +0 -1
- package/dist/parser/BrightScriptDocParser.spec.d.ts +0 -1
- package/dist/parser/BrightScriptDocParser.spec.js +0 -310
- package/dist/parser/BrightScriptDocParser.spec.js.map +0 -1
- package/dist/parser/Expression.spec.d.ts +0 -1
- package/dist/parser/Expression.spec.js +0 -40
- package/dist/parser/Expression.spec.js.map +0 -1
- package/dist/parser/Parser.Class.spec.d.ts +0 -1
- package/dist/parser/Parser.Class.spec.js +0 -520
- package/dist/parser/Parser.Class.spec.js.map +0 -1
- package/dist/parser/Parser.spec.d.ts +0 -6
- package/dist/parser/Parser.spec.js +0 -2802
- package/dist/parser/Parser.spec.js.map +0 -1
- package/dist/parser/SGParser.spec.d.ts +0 -1
- package/dist/parser/SGParser.spec.js +0 -130
- package/dist/parser/SGParser.spec.js.map +0 -1
- package/dist/parser/Statement.spec.d.ts +0 -1
- package/dist/parser/Statement.spec.js +0 -191
- package/dist/parser/Statement.spec.js.map +0 -1
- package/dist/parser/tests/Parser.spec.d.ts +0 -12
- package/dist/parser/tests/Parser.spec.js +0 -29
- package/dist/parser/tests/Parser.spec.js.map +0 -1
- package/dist/parser/tests/controlFlow/For.spec.d.ts +0 -1
- package/dist/parser/tests/controlFlow/For.spec.js +0 -169
- package/dist/parser/tests/controlFlow/For.spec.js.map +0 -1
- package/dist/parser/tests/controlFlow/ForEach.spec.d.ts +0 -1
- package/dist/parser/tests/controlFlow/ForEach.spec.js +0 -140
- package/dist/parser/tests/controlFlow/ForEach.spec.js.map +0 -1
- package/dist/parser/tests/controlFlow/If.spec.d.ts +0 -1
- package/dist/parser/tests/controlFlow/If.spec.js +0 -694
- package/dist/parser/tests/controlFlow/If.spec.js.map +0 -1
- package/dist/parser/tests/controlFlow/While.spec.d.ts +0 -1
- package/dist/parser/tests/controlFlow/While.spec.js +0 -114
- package/dist/parser/tests/controlFlow/While.spec.js.map +0 -1
- package/dist/parser/tests/expression/Additive.spec.d.ts +0 -1
- package/dist/parser/tests/expression/Additive.spec.js +0 -107
- package/dist/parser/tests/expression/Additive.spec.js.map +0 -1
- package/dist/parser/tests/expression/ArrayLiterals.spec.d.ts +0 -1
- package/dist/parser/tests/expression/ArrayLiterals.spec.js +0 -304
- package/dist/parser/tests/expression/ArrayLiterals.spec.js.map +0 -1
- package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.d.ts +0 -1
- package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +0 -342
- package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js.map +0 -1
- package/dist/parser/tests/expression/Boolean.spec.d.ts +0 -1
- package/dist/parser/tests/expression/Boolean.spec.js +0 -90
- package/dist/parser/tests/expression/Boolean.spec.js.map +0 -1
- package/dist/parser/tests/expression/Call.spec.d.ts +0 -1
- package/dist/parser/tests/expression/Call.spec.js +0 -252
- package/dist/parser/tests/expression/Call.spec.js.map +0 -1
- package/dist/parser/tests/expression/Exponential.spec.d.ts +0 -1
- package/dist/parser/tests/expression/Exponential.spec.js +0 -37
- package/dist/parser/tests/expression/Exponential.spec.js.map +0 -1
- package/dist/parser/tests/expression/Function.spec.d.ts +0 -1
- package/dist/parser/tests/expression/Function.spec.js +0 -412
- package/dist/parser/tests/expression/Function.spec.js.map +0 -1
- package/dist/parser/tests/expression/Indexing.spec.d.ts +0 -1
- package/dist/parser/tests/expression/Indexing.spec.js +0 -302
- package/dist/parser/tests/expression/Indexing.spec.js.map +0 -1
- package/dist/parser/tests/expression/Multiplicative.spec.d.ts +0 -1
- package/dist/parser/tests/expression/Multiplicative.spec.js +0 -67
- package/dist/parser/tests/expression/Multiplicative.spec.js.map +0 -1
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.d.ts +0 -1
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +0 -346
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +0 -1
- package/dist/parser/tests/expression/PrefixUnary.spec.d.ts +0 -1
- package/dist/parser/tests/expression/PrefixUnary.spec.js +0 -111
- package/dist/parser/tests/expression/PrefixUnary.spec.js.map +0 -1
- package/dist/parser/tests/expression/Primary.spec.d.ts +0 -1
- package/dist/parser/tests/expression/Primary.spec.js +0 -165
- package/dist/parser/tests/expression/Primary.spec.js.map +0 -1
- package/dist/parser/tests/expression/RegexLiteralExpression.spec.d.ts +0 -1
- package/dist/parser/tests/expression/RegexLiteralExpression.spec.js +0 -171
- package/dist/parser/tests/expression/RegexLiteralExpression.spec.js.map +0 -1
- package/dist/parser/tests/expression/Relational.spec.d.ts +0 -1
- package/dist/parser/tests/expression/Relational.spec.js +0 -83
- package/dist/parser/tests/expression/Relational.spec.js.map +0 -1
- package/dist/parser/tests/expression/SourceLiteralExpression.spec.d.ts +0 -1
- package/dist/parser/tests/expression/SourceLiteralExpression.spec.js +0 -201
- package/dist/parser/tests/expression/SourceLiteralExpression.spec.js.map +0 -1
- package/dist/parser/tests/expression/TemplateStringExpression.spec.d.ts +0 -1
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js +0 -389
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +0 -1
- package/dist/parser/tests/expression/TernaryExpression.spec.d.ts +0 -1
- package/dist/parser/tests/expression/TernaryExpression.spec.js +0 -878
- package/dist/parser/tests/expression/TernaryExpression.spec.js.map +0 -1
- package/dist/parser/tests/expression/TypeExpression.spec.d.ts +0 -1
- package/dist/parser/tests/expression/TypeExpression.spec.js +0 -126
- package/dist/parser/tests/expression/TypeExpression.spec.js.map +0 -1
- package/dist/parser/tests/expression/UnaryExpression.spec.d.ts +0 -1
- package/dist/parser/tests/expression/UnaryExpression.spec.js +0 -52
- package/dist/parser/tests/expression/UnaryExpression.spec.js.map +0 -1
- package/dist/parser/tests/statement/AssignmentOperators.spec.d.ts +0 -1
- package/dist/parser/tests/statement/AssignmentOperators.spec.js +0 -79
- package/dist/parser/tests/statement/AssignmentOperators.spec.js.map +0 -1
- package/dist/parser/tests/statement/ConstStatement.spec.d.ts +0 -1
- package/dist/parser/tests/statement/ConstStatement.spec.js +0 -500
- package/dist/parser/tests/statement/ConstStatement.spec.js.map +0 -1
- package/dist/parser/tests/statement/Continue.spec.d.ts +0 -1
- package/dist/parser/tests/statement/Continue.spec.js +0 -119
- package/dist/parser/tests/statement/Continue.spec.js.map +0 -1
- package/dist/parser/tests/statement/Declaration.spec.d.ts +0 -1
- package/dist/parser/tests/statement/Declaration.spec.js +0 -114
- package/dist/parser/tests/statement/Declaration.spec.js.map +0 -1
- package/dist/parser/tests/statement/Dim.spec.d.ts +0 -1
- package/dist/parser/tests/statement/Dim.spec.js +0 -80
- package/dist/parser/tests/statement/Dim.spec.js.map +0 -1
- package/dist/parser/tests/statement/Enum.spec.d.ts +0 -1
- package/dist/parser/tests/statement/Enum.spec.js +0 -744
- package/dist/parser/tests/statement/Enum.spec.js.map +0 -1
- package/dist/parser/tests/statement/For.spec.d.ts +0 -1
- package/dist/parser/tests/statement/For.spec.js +0 -45
- package/dist/parser/tests/statement/For.spec.js.map +0 -1
- package/dist/parser/tests/statement/ForEach.spec.d.ts +0 -1
- package/dist/parser/tests/statement/ForEach.spec.js +0 -36
- package/dist/parser/tests/statement/ForEach.spec.js.map +0 -1
- package/dist/parser/tests/statement/Function.spec.d.ts +0 -1
- package/dist/parser/tests/statement/Function.spec.js +0 -343
- package/dist/parser/tests/statement/Function.spec.js.map +0 -1
- package/dist/parser/tests/statement/Goto.spec.d.ts +0 -1
- package/dist/parser/tests/statement/Goto.spec.js +0 -51
- package/dist/parser/tests/statement/Goto.spec.js.map +0 -1
- package/dist/parser/tests/statement/Increment.spec.d.ts +0 -1
- package/dist/parser/tests/statement/Increment.spec.js +0 -120
- package/dist/parser/tests/statement/Increment.spec.js.map +0 -1
- package/dist/parser/tests/statement/InterfaceStatement.spec.d.ts +0 -1
- package/dist/parser/tests/statement/InterfaceStatement.spec.js +0 -110
- package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +0 -1
- package/dist/parser/tests/statement/LibraryStatement.spec.d.ts +0 -1
- package/dist/parser/tests/statement/LibraryStatement.spec.js +0 -74
- package/dist/parser/tests/statement/LibraryStatement.spec.js.map +0 -1
- package/dist/parser/tests/statement/Misc.spec.d.ts +0 -1
- package/dist/parser/tests/statement/Misc.spec.js +0 -292
- package/dist/parser/tests/statement/Misc.spec.js.map +0 -1
- package/dist/parser/tests/statement/PrintStatement.spec.d.ts +0 -1
- package/dist/parser/tests/statement/PrintStatement.spec.js +0 -200
- package/dist/parser/tests/statement/PrintStatement.spec.js.map +0 -1
- package/dist/parser/tests/statement/ReturnStatement.spec.d.ts +0 -1
- package/dist/parser/tests/statement/ReturnStatement.spec.js +0 -97
- package/dist/parser/tests/statement/ReturnStatement.spec.js.map +0 -1
- package/dist/parser/tests/statement/Set.spec.d.ts +0 -1
- package/dist/parser/tests/statement/Set.spec.js +0 -232
- package/dist/parser/tests/statement/Set.spec.js.map +0 -1
- package/dist/parser/tests/statement/Stop.spec.d.ts +0 -1
- package/dist/parser/tests/statement/Stop.spec.js +0 -38
- package/dist/parser/tests/statement/Stop.spec.js.map +0 -1
- package/dist/parser/tests/statement/Throw.spec.d.ts +0 -1
- package/dist/parser/tests/statement/Throw.spec.js +0 -38
- package/dist/parser/tests/statement/Throw.spec.js.map +0 -1
- package/dist/parser/tests/statement/TryCatch.spec.d.ts +0 -1
- package/dist/parser/tests/statement/TryCatch.spec.js +0 -151
- package/dist/parser/tests/statement/TryCatch.spec.js.map +0 -1
- package/dist/preprocessor/Manifest.spec.d.ts +0 -1
- package/dist/preprocessor/Manifest.spec.js +0 -80
- package/dist/preprocessor/Manifest.spec.js.map +0 -1
- package/dist/types/ArrayType.spec.d.ts +0 -1
- package/dist/types/ArrayType.spec.js +0 -58
- package/dist/types/ArrayType.spec.js.map +0 -1
- package/dist/types/BooleanType.spec.d.ts +0 -1
- package/dist/types/BooleanType.spec.js +0 -18
- package/dist/types/BooleanType.spec.js.map +0 -1
- package/dist/types/BuiltInInterfaceAdder.spec.d.ts +0 -1
- package/dist/types/BuiltInInterfaceAdder.spec.js +0 -115
- package/dist/types/BuiltInInterfaceAdder.spec.js.map +0 -1
- package/dist/types/ClassType.spec.d.ts +0 -1
- package/dist/types/ClassType.spec.js +0 -76
- package/dist/types/ClassType.spec.js.map +0 -1
- package/dist/types/DoubleType.spec.d.ts +0 -1
- package/dist/types/DoubleType.spec.js +0 -20
- package/dist/types/DoubleType.spec.js.map +0 -1
- package/dist/types/DynamicType.spec.d.ts +0 -1
- package/dist/types/DynamicType.spec.js +0 -23
- package/dist/types/DynamicType.spec.js.map +0 -1
- package/dist/types/EnumType.spec.d.ts +0 -1
- package/dist/types/EnumType.spec.js +0 -33
- package/dist/types/EnumType.spec.js.map +0 -1
- package/dist/types/FloatType.spec.d.ts +0 -1
- package/dist/types/FloatType.spec.js +0 -12
- package/dist/types/FloatType.spec.js.map +0 -1
- package/dist/types/IntegerType.spec.d.ts +0 -1
- package/dist/types/IntegerType.spec.js +0 -16
- package/dist/types/IntegerType.spec.js.map +0 -1
- package/dist/types/InterfaceType.spec.d.ts +0 -1
- package/dist/types/InterfaceType.spec.js +0 -227
- package/dist/types/InterfaceType.spec.js.map +0 -1
- package/dist/types/IntersectionType.spec.d.ts +0 -1
- package/dist/types/IntersectionType.spec.js +0 -150
- package/dist/types/IntersectionType.spec.js.map +0 -1
- package/dist/types/InvalidType.spec.d.ts +0 -1
- package/dist/types/InvalidType.spec.js +0 -16
- package/dist/types/InvalidType.spec.js.map +0 -1
- package/dist/types/LongIntegerType.spec.d.ts +0 -1
- package/dist/types/LongIntegerType.spec.js +0 -18
- package/dist/types/LongIntegerType.spec.js.map +0 -1
- package/dist/types/ObjectType.spec.d.ts +0 -1
- package/dist/types/ObjectType.spec.js +0 -12
- package/dist/types/ObjectType.spec.js.map +0 -1
- package/dist/types/ReferenceType.spec.d.ts +0 -1
- package/dist/types/ReferenceType.spec.js +0 -151
- package/dist/types/ReferenceType.spec.js.map +0 -1
- package/dist/types/StringType.spec.d.ts +0 -1
- package/dist/types/StringType.spec.js +0 -12
- package/dist/types/StringType.spec.js.map +0 -1
- package/dist/types/TypedFunctionType.spec.d.ts +0 -1
- package/dist/types/TypedFunctionType.spec.js +0 -122
- package/dist/types/TypedFunctionType.spec.js.map +0 -1
- package/dist/types/UnionType.spec.d.ts +0 -1
- package/dist/types/UnionType.spec.js +0 -205
- package/dist/types/UnionType.spec.js.map +0 -1
- package/dist/types/VoidType.spec.d.ts +0 -1
- package/dist/types/VoidType.spec.js +0 -12
- package/dist/types/VoidType.spec.js.map +0 -1
- package/dist/types/helper.spec.d.ts +0 -1
- package/dist/types/helper.spec.js +0 -174
- package/dist/types/helper.spec.js.map +0 -1
- package/dist/types/roFunctionType.spec.d.ts +0 -1
- package/dist/types/roFunctionType.spec.js +0 -20
- package/dist/types/roFunctionType.spec.js.map +0 -1
package/dist/Program.js
CHANGED
|
@@ -6,7 +6,9 @@ const fsExtra = require("fs-extra");
|
|
|
6
6
|
const path = require("path");
|
|
7
7
|
const vscode_languageserver_1 = require("vscode-languageserver");
|
|
8
8
|
const Scope_1 = require("./Scope");
|
|
9
|
+
const SymbolTable_1 = require("./SymbolTable");
|
|
9
10
|
const DiagnosticMessages_1 = require("./DiagnosticMessages");
|
|
11
|
+
const CodeActionUtil_1 = require("./CodeActionUtil");
|
|
10
12
|
const util_1 = require("./util");
|
|
11
13
|
const XmlScope_1 = require("./XmlScope");
|
|
12
14
|
const DependencyGraph_1 = require("./DependencyGraph");
|
|
@@ -42,7 +44,6 @@ const thenby_1 = require("thenby");
|
|
|
42
44
|
const CrossScopeValidator_1 = require("./CrossScopeValidator");
|
|
43
45
|
const DiagnosticManager_1 = require("./DiagnosticManager");
|
|
44
46
|
const ProgramValidator_1 = require("./bscPlugin/validation/ProgramValidator");
|
|
45
|
-
const SymbolTable_1 = require("./SymbolTable");
|
|
46
47
|
const ReferenceType_1 = require("./types/ReferenceType");
|
|
47
48
|
const helpers_1 = require("./types/helpers");
|
|
48
49
|
const CallExpressionInfo_1 = require("./bscPlugin/CallExpressionInfo");
|
|
@@ -311,6 +312,118 @@ class Program {
|
|
|
311
312
|
return 'bslib';
|
|
312
313
|
}
|
|
313
314
|
}
|
|
315
|
+
/**
|
|
316
|
+
* Look up the set of `BrsFile`s that declare any part of the given namespace name
|
|
317
|
+
* (lowercased). Returns `undefined` when no file contributes.
|
|
318
|
+
* @internal
|
|
319
|
+
*/
|
|
320
|
+
getNamespaceContributors(namespaceNameLower) {
|
|
321
|
+
if (!this.namespaceContributors) {
|
|
322
|
+
this.namespaceContributors = this.buildNamespaceContributors();
|
|
323
|
+
}
|
|
324
|
+
return this.namespaceContributors.get(namespaceNameLower);
|
|
325
|
+
}
|
|
326
|
+
buildNamespaceContributors() {
|
|
327
|
+
const contributors = new Map();
|
|
328
|
+
for (const file of Object.values(this.files)) {
|
|
329
|
+
if ((0, reflection_1.isBrsFile)(file)) {
|
|
330
|
+
// eslint-disable-next-line @typescript-eslint/dot-notation
|
|
331
|
+
for (const nameLower of file['getNamespaceContributions']().keys()) {
|
|
332
|
+
let set = contributors.get(nameLower);
|
|
333
|
+
if (!set) {
|
|
334
|
+
set = new Set();
|
|
335
|
+
contributors.set(nameLower, set);
|
|
336
|
+
}
|
|
337
|
+
set.add(file);
|
|
338
|
+
}
|
|
339
|
+
}
|
|
340
|
+
}
|
|
341
|
+
return contributors;
|
|
342
|
+
}
|
|
343
|
+
/**
|
|
344
|
+
* Get or build the shared aggregate for a namespace whose in-scope contributors
|
|
345
|
+
* include more than one file. The aggregate's heavy fields are computed once per
|
|
346
|
+
* unique `(nameLower, contributing-files-set)` and reused across every scope that
|
|
347
|
+
* sees the same set.
|
|
348
|
+
* @internal
|
|
349
|
+
*/
|
|
350
|
+
getAggregateNamespaceContainer(nameLower, contributions) {
|
|
351
|
+
if (!this.aggregateNamespaceContainerCache) {
|
|
352
|
+
this.aggregateNamespaceContainerCache = new Map();
|
|
353
|
+
}
|
|
354
|
+
//sorted pkgPaths ensure two scopes with the same contributor set hit the same key
|
|
355
|
+
const key = nameLower + '|' + contributions
|
|
356
|
+
.map(c => c.file.pkgPath.toLowerCase())
|
|
357
|
+
.sort()
|
|
358
|
+
.join('|');
|
|
359
|
+
let aggregate = this.aggregateNamespaceContainerCache.get(key);
|
|
360
|
+
if (!aggregate) {
|
|
361
|
+
aggregate = this.buildAggregateNamespaceContainer(contributions);
|
|
362
|
+
this.aggregateNamespaceContainerCache.set(key, aggregate);
|
|
363
|
+
}
|
|
364
|
+
return aggregate;
|
|
365
|
+
}
|
|
366
|
+
buildAggregateNamespaceContainer(contributions) {
|
|
367
|
+
var _a, _b, _c, _d, _e, _f, _g, _h, _j;
|
|
368
|
+
const first = contributions[0];
|
|
369
|
+
//field order matches the NamespaceContainer interface declaration so aggregates
|
|
370
|
+
//share a single V8 hidden class with the per-scope wrapper containers
|
|
371
|
+
const aggregate = {
|
|
372
|
+
file: first.file,
|
|
373
|
+
fullName: first.fullName,
|
|
374
|
+
nameRange: first.nameRange,
|
|
375
|
+
lastPartName: first.lastPartName,
|
|
376
|
+
namespaces: new Map(),
|
|
377
|
+
namespaceStatements: undefined,
|
|
378
|
+
statements: undefined,
|
|
379
|
+
classStatements: undefined,
|
|
380
|
+
functionStatements: undefined,
|
|
381
|
+
enumStatements: undefined,
|
|
382
|
+
constStatements: undefined,
|
|
383
|
+
symbolTable: undefined
|
|
384
|
+
};
|
|
385
|
+
for (const contribution of contributions) {
|
|
386
|
+
if ((_a = contribution.namespaceStatements) === null || _a === void 0 ? void 0 : _a.length) {
|
|
387
|
+
((_b = aggregate.namespaceStatements) !== null && _b !== void 0 ? _b : (aggregate.namespaceStatements = [])).push(...contribution.namespaceStatements);
|
|
388
|
+
}
|
|
389
|
+
if ((_c = contribution.statements) === null || _c === void 0 ? void 0 : _c.length) {
|
|
390
|
+
((_d = aggregate.statements) !== null && _d !== void 0 ? _d : (aggregate.statements = [])).push(...contribution.statements);
|
|
391
|
+
}
|
|
392
|
+
if (contribution.classStatements) {
|
|
393
|
+
aggregate.classStatements = Object.assign(Object.assign({}, ((_e = aggregate.classStatements) !== null && _e !== void 0 ? _e : {})), contribution.classStatements);
|
|
394
|
+
}
|
|
395
|
+
if (contribution.functionStatements) {
|
|
396
|
+
aggregate.functionStatements = Object.assign(Object.assign({}, ((_f = aggregate.functionStatements) !== null && _f !== void 0 ? _f : {})), contribution.functionStatements);
|
|
397
|
+
}
|
|
398
|
+
if (contribution.enumStatements) {
|
|
399
|
+
(_g = aggregate.enumStatements) !== null && _g !== void 0 ? _g : (aggregate.enumStatements = new Map());
|
|
400
|
+
for (const [key, value] of contribution.enumStatements) {
|
|
401
|
+
aggregate.enumStatements.set(key, value);
|
|
402
|
+
}
|
|
403
|
+
}
|
|
404
|
+
if (contribution.constStatements) {
|
|
405
|
+
(_h = aggregate.constStatements) !== null && _h !== void 0 ? _h : (aggregate.constStatements = new Map());
|
|
406
|
+
for (const [key, value] of contribution.constStatements) {
|
|
407
|
+
aggregate.constStatements.set(key, value);
|
|
408
|
+
}
|
|
409
|
+
}
|
|
410
|
+
if (contribution.symbolTable) {
|
|
411
|
+
(_j = aggregate.symbolTable) !== null && _j !== void 0 ? _j : (aggregate.symbolTable = new SymbolTable_1.SymbolTable(`Namespace Multi-File Aggregate: '${first.fullName}'`));
|
|
412
|
+
aggregate.symbolTable.mergeSymbolTable(contribution.symbolTable);
|
|
413
|
+
}
|
|
414
|
+
}
|
|
415
|
+
return aggregate;
|
|
416
|
+
}
|
|
417
|
+
/**
|
|
418
|
+
* Invalidate the program-level namespace contributors map and the slow-path aggregate
|
|
419
|
+
* cache. Called by `setFile` and `removeFile`; downstream scope namespace lookups
|
|
420
|
+
* already rebuild via the dependency-graph invalidation chain, so this only needs
|
|
421
|
+
* to drop the cached maps.
|
|
422
|
+
*/
|
|
423
|
+
invalidateNamespaceContributorCache() {
|
|
424
|
+
this.namespaceContributors = undefined;
|
|
425
|
+
this.aggregateNamespaceContainerCache = undefined;
|
|
426
|
+
}
|
|
314
427
|
addScope(scope) {
|
|
315
428
|
this.scopes[scope.name] = scope;
|
|
316
429
|
delete this.sortedScopeNames;
|
|
@@ -569,6 +682,9 @@ class Program {
|
|
|
569
682
|
setFile(fileParam, fileData) {
|
|
570
683
|
//normalize the file paths
|
|
571
684
|
const { srcPath, destPath } = this.getPaths(fileParam, this.options.rootDir);
|
|
685
|
+
//namespace contributions for the new/replaced file may differ; force the
|
|
686
|
+
//program-level contributors map to rebuild on next query
|
|
687
|
+
this.invalidateNamespaceContributorCache();
|
|
572
688
|
let file = this.logger.time(logging_1.LogLevel.debug, ['Program.setFile()', chalk_1.default.green(srcPath)], () => {
|
|
573
689
|
var _a, _b, _c;
|
|
574
690
|
//if the file is already loaded, remove it
|
|
@@ -755,6 +871,9 @@ class Program {
|
|
|
755
871
|
var _a, _b, _c, _d;
|
|
756
872
|
this.logger.debug('Program.removeFile()', filePath);
|
|
757
873
|
const paths = this.getPaths(filePath, this.options.rootDir);
|
|
874
|
+
//namespace contributions may have included this file; force the program-level
|
|
875
|
+
//contributors map to rebuild on next query
|
|
876
|
+
this.invalidateNamespaceContributorCache();
|
|
758
877
|
//there can be one or more File entries for a single srcPath, so get all of them and remove them all
|
|
759
878
|
const files = (_b = this.fileClusters.get((_a = paths.srcPath) === null || _a === void 0 ? void 0 : _a.toLowerCase())) !== null && _b !== void 0 ? _b : [this.getFile(filePath, normalizePath)];
|
|
760
879
|
for (const file of files) {
|
|
@@ -874,19 +993,29 @@ class Program {
|
|
|
874
993
|
this.addComponentReferenceType(componentKey, componentName);
|
|
875
994
|
}
|
|
876
995
|
})
|
|
877
|
-
|
|
878
|
-
//
|
|
996
|
+
//run before/validate/after as a single per-file action so the Sequencer can't cancel
|
|
997
|
+
//between them. Splitting into three forEach steps would let cancellation land after
|
|
998
|
+
//`validateFile` (where BrsFileValidator pushes per-node symbols via addSymbol) but
|
|
999
|
+
//before `afterValidateFile` (where processSymbolInformation registers validation
|
|
1000
|
+
//segments) — leaving the file in a half-processed state. The next pass would either
|
|
1001
|
+
//re-run BrsFileValidator (pushing duplicate symbols → CrossScopeValidator name-
|
|
1002
|
+
//collision) or skip the file in scope validation (no segments to walk → no
|
|
1003
|
+
//diagnostics emitted). Atomic-per-file means either the file is fully processed or
|
|
1004
|
+
//it's untouched. Plugins that need an all-files-done signal should use
|
|
1005
|
+
//`afterValidateProgram` instead of `afterValidateFile`.
|
|
1006
|
+
.forEach('validateFile', () => filesToProcess, (file) => {
|
|
879
1007
|
this.plugins.emit('beforeValidateFile', {
|
|
880
1008
|
program: this,
|
|
881
1009
|
file: file
|
|
882
1010
|
});
|
|
883
|
-
})
|
|
884
|
-
.forEach('validateFile', () => filesToProcess, (file) => {
|
|
885
|
-
//run the validateFile event for every unvalidated file
|
|
886
1011
|
this.plugins.emit('validateFile', {
|
|
887
1012
|
program: this,
|
|
888
1013
|
file: file
|
|
889
1014
|
});
|
|
1015
|
+
this.plugins.emit('afterValidateFile', {
|
|
1016
|
+
program: this,
|
|
1017
|
+
file: file
|
|
1018
|
+
});
|
|
890
1019
|
file.isValidated = true;
|
|
891
1020
|
if ((0, reflection_1.isBrsFile)(file)) {
|
|
892
1021
|
brsFilesValidated.push(file);
|
|
@@ -894,13 +1023,6 @@ class Program {
|
|
|
894
1023
|
else if ((0, reflection_1.isXmlFile)(file)) {
|
|
895
1024
|
xmlFilesValidated.push(file);
|
|
896
1025
|
}
|
|
897
|
-
})
|
|
898
|
-
.forEach('afterValidateFile', () => filesToProcess, (file) => {
|
|
899
|
-
//run the validateFile event for every unvalidated file
|
|
900
|
-
this.plugins.emit('afterValidateFile', {
|
|
901
|
-
program: this,
|
|
902
|
-
file: file
|
|
903
|
-
});
|
|
904
1026
|
})
|
|
905
1027
|
.forEach('do deferred component creation', () => [...brsFilesValidated, ...xmlFilesValidated], (file) => {
|
|
906
1028
|
if ((0, reflection_1.isXmlFile)(file)) {
|
|
@@ -1435,6 +1557,27 @@ class Program {
|
|
|
1435
1557
|
return undefined;
|
|
1436
1558
|
}
|
|
1437
1559
|
}
|
|
1560
|
+
/**
|
|
1561
|
+
* Get the selection ranges for the given positions in a file. Used for expand/shrink selection.
|
|
1562
|
+
* @param srcPath path to the file
|
|
1563
|
+
* @param positions the positions to get selection ranges for
|
|
1564
|
+
*/
|
|
1565
|
+
getSelectionRanges(srcPath, positions) {
|
|
1566
|
+
const file = this.getFile(srcPath);
|
|
1567
|
+
if (file) {
|
|
1568
|
+
const event = {
|
|
1569
|
+
program: this,
|
|
1570
|
+
file: file,
|
|
1571
|
+
positions: positions,
|
|
1572
|
+
selectionRanges: []
|
|
1573
|
+
};
|
|
1574
|
+
this.plugins.emit('beforeProvideSelectionRanges', event);
|
|
1575
|
+
this.plugins.emit('provideSelectionRanges', event);
|
|
1576
|
+
this.plugins.emit('afterProvideSelectionRanges', event);
|
|
1577
|
+
return event.selectionRanges;
|
|
1578
|
+
}
|
|
1579
|
+
return [];
|
|
1580
|
+
}
|
|
1438
1581
|
/**
|
|
1439
1582
|
* Compute code actions for the given file and range
|
|
1440
1583
|
*/
|
|
@@ -1478,6 +1621,33 @@ class Program {
|
|
|
1478
1621
|
}
|
|
1479
1622
|
return codeActions;
|
|
1480
1623
|
}
|
|
1624
|
+
/**
|
|
1625
|
+
* Compute "source fix all" code actions for the given file.
|
|
1626
|
+
* Fires the `onGetSourceFixAllCodeActions` plugin event with all diagnostics for the file (no range filter),
|
|
1627
|
+
* then converts each contributed SourceFixAllCodeAction into an LSP CodeAction.
|
|
1628
|
+
*/
|
|
1629
|
+
getSourceFixAllCodeActions(srcPath) {
|
|
1630
|
+
const actions = [];
|
|
1631
|
+
const file = this.getFile(srcPath);
|
|
1632
|
+
if (file) {
|
|
1633
|
+
const fileUri = util_1.util.pathToUri(file.srcPath);
|
|
1634
|
+
const diagnostics = this
|
|
1635
|
+
.getDiagnostics()
|
|
1636
|
+
.filter(x => { var _a; return ((_a = x.location) === null || _a === void 0 ? void 0 : _a.uri) === fileUri; });
|
|
1637
|
+
const scopes = this.getScopesForFile(file);
|
|
1638
|
+
this.plugins.emit('onGetSourceFixAllCodeActions', {
|
|
1639
|
+
program: this,
|
|
1640
|
+
file: file,
|
|
1641
|
+
diagnostics: diagnostics,
|
|
1642
|
+
scopes: scopes,
|
|
1643
|
+
actions: actions
|
|
1644
|
+
});
|
|
1645
|
+
}
|
|
1646
|
+
return actions.map(action => {
|
|
1647
|
+
var _a;
|
|
1648
|
+
return CodeActionUtil_1.codeActionUtil.createCodeAction(Object.assign(Object.assign({}, action), { kind: (_a = action.kind) !== null && _a !== void 0 ? _a : 'source.fixAll.brighterscript' }));
|
|
1649
|
+
});
|
|
1650
|
+
}
|
|
1481
1651
|
/**
|
|
1482
1652
|
* Get semantic tokens for the specified file
|
|
1483
1653
|
*/
|
|
@@ -1875,6 +2045,8 @@ class Program {
|
|
|
1875
2045
|
let manifestPath = manifestFileObj
|
|
1876
2046
|
? manifestFileObj.src
|
|
1877
2047
|
: path.join(this.options.rootDir, 'manifest');
|
|
2048
|
+
//store the resolved manifest path so it can be used externally for change detection
|
|
2049
|
+
this.manifestPath = util_1.util.standardizePath(manifestPath);
|
|
1878
2050
|
try {
|
|
1879
2051
|
// we only load this manifest once, so do it sync to improve speed downstream
|
|
1880
2052
|
const contents = fsExtra.readFileSync(manifestPath, 'utf-8');
|
package/dist/Program.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"Program.js","sourceRoot":"","sources":["../src/Program.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"Program.js","sourceRoot":"","sources":["../src/Program.ts"],"names":[],"mappings":"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"}
|
package/dist/ProgramBuilder.d.ts
CHANGED
|
@@ -42,14 +42,7 @@ export declare class ProgramBuilder {
|
|
|
42
42
|
* Load the project and all the files, but don't run the validation, transpile, or watch cycles
|
|
43
43
|
*/
|
|
44
44
|
load(options: BsConfig): Promise<void>;
|
|
45
|
-
run(options: BsConfig
|
|
46
|
-
/**
|
|
47
|
-
* Should validation run? Default is `true`. You must set exlicitly to `false` to disable.
|
|
48
|
-
* @deprecated this is an experimental flag, and its behavior may change in a future release
|
|
49
|
-
* @default true
|
|
50
|
-
*/
|
|
51
|
-
validate?: boolean;
|
|
52
|
-
}): Promise<void>;
|
|
45
|
+
run(options: BsConfig): Promise<void>;
|
|
53
46
|
protected createProgram(): Program;
|
|
54
47
|
protected loadPlugins(): void;
|
|
55
48
|
/**
|