brighterscript 0.66.0-alpha.9 → 0.67.1
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/CHANGELOG.md +123 -73
- package/README.md +14 -418
- package/dist/BsConfig.d.ts +25 -2
- package/dist/Cache.js +3 -3
- package/dist/Cache.js.map +1 -1
- package/dist/CodeActionUtil.d.ts +3 -3
- package/dist/CodeActionUtil.js.map +1 -1
- package/dist/CommentFlagProcessor.d.ts +3 -4
- package/dist/CommentFlagProcessor.js +4 -3
- package/dist/CommentFlagProcessor.js.map +1 -1
- package/dist/DependencyGraph.js +8 -8
- package/dist/DependencyGraph.js.map +1 -1
- package/dist/DiagnosticFilterer.d.ts +8 -4
- package/dist/DiagnosticFilterer.js +71 -38
- package/dist/DiagnosticFilterer.js.map +1 -1
- package/dist/DiagnosticMessages.d.ts +15 -36
- package/dist/DiagnosticMessages.js +15 -61
- package/dist/DiagnosticMessages.js.map +1 -1
- package/dist/DiagnosticSeverityAdjuster.js +3 -0
- package/dist/DiagnosticSeverityAdjuster.js.map +1 -1
- package/dist/FunctionScope.d.ts +2 -3
- package/dist/FunctionScope.js +0 -3
- package/dist/FunctionScope.js.map +1 -1
- package/dist/LanguageServer.d.ts +1 -2
- package/dist/LanguageServer.js +31 -35
- package/dist/LanguageServer.js.map +1 -1
- package/dist/Logger.d.ts +5 -9
- package/dist/Logger.js +18 -22
- package/dist/Logger.js.map +1 -1
- package/dist/PluginInterface.d.ts +13 -15
- package/dist/PluginInterface.js +16 -70
- package/dist/PluginInterface.js.map +1 -1
- package/dist/Program.d.ts +105 -138
- package/dist/Program.js +479 -702
- package/dist/Program.js.map +1 -1
- package/dist/ProgramBuilder.d.ts +8 -19
- package/dist/ProgramBuilder.js +85 -89
- package/dist/ProgramBuilder.js.map +1 -1
- package/dist/Scope.d.ts +56 -46
- package/dist/Scope.js +281 -217
- package/dist/Scope.js.map +1 -1
- package/dist/Stopwatch.js +1 -1
- package/dist/Stopwatch.js.map +1 -1
- package/dist/SymbolTable.d.ts +12 -68
- package/dist/SymbolTable.js +28 -213
- package/dist/SymbolTable.js.map +1 -1
- package/dist/XmlScope.d.ts +5 -7
- package/dist/XmlScope.js +36 -76
- package/dist/XmlScope.js.map +1 -1
- package/dist/astUtils/{Editor.d.ts → AstEditor.d.ts} +1 -6
- package/dist/astUtils/{Editor.js → AstEditor.js} +3 -9
- package/dist/astUtils/AstEditor.js.map +1 -0
- package/dist/astUtils/{Editor.spec.js → AstEditor.spec.js} +6 -10
- package/dist/astUtils/AstEditor.spec.js.map +1 -0
- package/dist/astUtils/creators.d.ts +8 -19
- package/dist/astUtils/creators.js +22 -54
- package/dist/astUtils/creators.js.map +1 -1
- package/dist/astUtils/creators.spec.js +0 -10
- package/dist/astUtils/creators.spec.js.map +1 -1
- package/dist/astUtils/reflection.d.ts +45 -81
- package/dist/astUtils/reflection.js +157 -220
- package/dist/astUtils/reflection.js.map +1 -1
- package/dist/astUtils/reflection.spec.js +19 -96
- package/dist/astUtils/reflection.spec.js.map +1 -1
- package/dist/astUtils/stackedVisitor.spec.js.map +1 -1
- package/dist/astUtils/visitors.d.ts +14 -18
- package/dist/astUtils/visitors.js +9 -22
- package/dist/astUtils/visitors.js.map +1 -1
- package/dist/astUtils/visitors.spec.js +9 -62
- package/dist/astUtils/visitors.spec.js.map +1 -1
- package/dist/astUtils/xml.d.ts +9 -9
- package/dist/astUtils/xml.js +6 -6
- package/dist/astUtils/xml.js.map +1 -1
- package/dist/bscPlugin/BscPlugin.d.ts +8 -11
- package/dist/bscPlugin/BscPlugin.js +21 -29
- package/dist/bscPlugin/BscPlugin.js.map +1 -1
- package/dist/bscPlugin/CallExpressionInfo.d.ts +6 -5
- package/dist/bscPlugin/CallExpressionInfo.js +2 -2
- package/dist/bscPlugin/CallExpressionInfo.js.map +1 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +11 -11
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +4 -4
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.d.ts +1 -49
- package/dist/bscPlugin/completions/CompletionsProcessor.js +23 -424
- package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
- package/dist/bscPlugin/definition/DefinitionProvider.d.ts +13 -0
- package/dist/bscPlugin/definition/DefinitionProvider.js +200 -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/hover/HoverProcessor.d.ts +3 -7
- package/dist/bscPlugin/hover/HoverProcessor.js +88 -128
- package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -1
- package/dist/bscPlugin/hover/HoverProcessor.spec.js +24 -336
- package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/references/ReferencesProvider.d.ts +12 -0
- package/dist/bscPlugin/references/ReferencesProvider.js +56 -0
- package/dist/bscPlugin/references/ReferencesProvider.js.map +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 +0 -1
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +5 -49
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -1
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js +0 -22
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +1 -1
- 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.js +290 -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.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 +140 -0
- package/dist/bscPlugin/symbols/symbolUtils.js.map +1 -0
- package/dist/bscPlugin/transpile/{BrsFileTranspileProcessor.d.ts → BrsFilePreTranspileProcessor.d.ts} +2 -4
- package/dist/bscPlugin/transpile/{BrsFileTranspileProcessor.js → BrsFilePreTranspileProcessor.js} +15 -36
- package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.js.map +1 -0
- package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js +46 -0
- package/dist/bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.js.map +1 -0
- package/dist/bscPlugin/validation/BrsFileValidator.d.ts +1 -0
- package/dist/bscPlugin/validation/BrsFileValidator.js +30 -41
- package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
- package/dist/bscPlugin/validation/BrsFileValidator.spec.js +2 -2
- package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +1 -1
- package/dist/bscPlugin/validation/ProgramValidator.d.ts +3 -3
- package/dist/bscPlugin/validation/ProgramValidator.js +6 -6
- package/dist/bscPlugin/validation/ProgramValidator.js.map +1 -1
- package/dist/bscPlugin/validation/ScopeValidator.d.ts +6 -28
- package/dist/bscPlugin/validation/ScopeValidator.js +166 -387
- package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
- package/dist/bscPlugin/validation/XmlFileValidator.js +9 -9
- package/dist/bscPlugin/validation/XmlFileValidator.js.map +1 -1
- package/dist/diagnosticUtils.d.ts +2 -3
- package/dist/diagnosticUtils.js +5 -5
- package/dist/diagnosticUtils.js.map +1 -1
- package/dist/examples/plugins/removePrint.js +1 -1
- package/dist/examples/plugins/removePrint.js.map +1 -1
- package/dist/files/BrsFile.Class.spec.js +143 -114
- package/dist/files/BrsFile.Class.spec.js.map +1 -1
- package/dist/files/BrsFile.d.ts +61 -83
- package/dist/files/BrsFile.js +559 -612
- package/dist/files/BrsFile.js.map +1 -1
- package/dist/files/BrsFile.spec.js +1365 -1201
- package/dist/files/BrsFile.spec.js.map +1 -1
- package/dist/files/XmlFile.d.ts +28 -56
- package/dist/files/XmlFile.js +103 -89
- package/dist/files/XmlFile.js.map +1 -1
- package/dist/files/XmlFile.spec.js +179 -122
- package/dist/files/XmlFile.spec.js.map +1 -1
- package/dist/files/tests/imports.spec.js +19 -29
- package/dist/files/tests/imports.spec.js.map +1 -1
- package/dist/files/tests/optionalChaning.spec.js +14 -14
- package/dist/files/tests/optionalChaning.spec.js.map +1 -1
- package/dist/globalCallables.js +83 -88
- package/dist/globalCallables.js.map +1 -1
- package/dist/index.d.ts +1 -9
- package/dist/index.js +1 -9
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +173 -423
- package/dist/interfaces.js +0 -24
- package/dist/interfaces.js.map +1 -1
- package/dist/lexer/Lexer.d.ts +9 -15
- package/dist/lexer/Lexer.js +35 -46
- package/dist/lexer/Lexer.js.map +1 -1
- package/dist/lexer/Lexer.spec.js +48 -40
- package/dist/lexer/Lexer.spec.js.map +1 -1
- package/dist/lexer/Token.d.ts +1 -5
- package/dist/lexer/Token.js +1 -1
- package/dist/lexer/Token.js.map +1 -1
- package/dist/lexer/TokenKind.d.ts +0 -6
- package/dist/lexer/TokenKind.js +2 -14
- package/dist/lexer/TokenKind.js.map +1 -1
- package/dist/logging.d.ts +9 -0
- package/dist/logging.js +16 -0
- package/dist/logging.js.map +1 -0
- package/dist/parser/AstNode.d.ts +6 -90
- package/dist/parser/AstNode.js +5 -96
- package/dist/parser/AstNode.js.map +1 -1
- package/dist/parser/AstNode.spec.js.map +1 -1
- package/dist/parser/BrsTranspileState.d.ts +3 -4
- package/dist/parser/BrsTranspileState.js +2 -3
- package/dist/parser/BrsTranspileState.js.map +1 -1
- package/dist/parser/Expression.d.ts +114 -137
- package/dist/parser/Expression.js +244 -373
- package/dist/parser/Expression.js.map +1 -1
- package/dist/parser/Parser.Class.spec.js +19 -46
- package/dist/parser/Parser.Class.spec.js.map +1 -1
- package/dist/parser/Parser.d.ts +18 -14
- package/dist/parser/Parser.js +196 -175
- package/dist/parser/Parser.js.map +1 -1
- package/dist/parser/Parser.spec.d.ts +0 -2
- package/dist/parser/Parser.spec.js +10 -674
- package/dist/parser/Parser.spec.js.map +1 -1
- package/dist/parser/SGParser.d.ts +6 -44
- package/dist/parser/SGParser.js +198 -194
- package/dist/parser/SGParser.js.map +1 -1
- package/dist/parser/SGParser.spec.js +11 -14
- package/dist/parser/SGParser.spec.js.map +1 -1
- package/dist/parser/SGTypes.d.ts +52 -280
- package/dist/parser/SGTypes.js +185 -562
- package/dist/parser/SGTypes.js.map +1 -1
- package/dist/parser/Statement.d.ts +140 -172
- package/dist/parser/Statement.js +201 -337
- package/dist/parser/Statement.js.map +1 -1
- package/dist/parser/Statement.spec.js.map +1 -1
- package/dist/parser/TranspileState.d.ts +3 -2
- package/dist/parser/TranspileState.js +8 -10
- package/dist/parser/TranspileState.js.map +1 -1
- package/dist/parser/tests/Parser.spec.js +3 -5
- package/dist/parser/tests/Parser.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/For.spec.js +8 -16
- package/dist/parser/tests/controlFlow/For.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/ForEach.spec.js +6 -12
- package/dist/parser/tests/controlFlow/ForEach.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/While.spec.js +4 -8
- package/dist/parser/tests/controlFlow/While.spec.js.map +1 -1
- package/dist/parser/tests/expression/Call.spec.js +4 -4
- package/dist/parser/tests/expression/Call.spec.js.map +1 -1
- package/dist/parser/tests/expression/Indexing.spec.js +25 -0
- package/dist/parser/tests/expression/Indexing.spec.js.map +1 -1
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +73 -29
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/RegexLiteralExpression.spec.js +10 -10
- package/dist/parser/tests/expression/RegexLiteralExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/SourceLiteralExpression.spec.js +24 -24
- package/dist/parser/tests/expression/SourceLiteralExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js +47 -35
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/TernaryExpression.spec.js +83 -36
- package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/UnaryExpression.spec.js +2 -2
- package/dist/parser/tests/expression/UnaryExpression.spec.js.map +1 -1
- package/dist/parser/tests/statement/ConstStatement.spec.js +26 -27
- package/dist/parser/tests/statement/ConstStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/Continue.spec.js +2 -2
- package/dist/parser/tests/statement/Continue.spec.js.map +1 -1
- package/dist/parser/tests/statement/Dim.spec.js.map +1 -1
- package/dist/parser/tests/statement/Enum.spec.js +393 -90
- package/dist/parser/tests/statement/Enum.spec.js.map +1 -1
- package/dist/parser/tests/statement/For.spec.js +6 -6
- package/dist/parser/tests/statement/For.spec.js.map +1 -1
- package/dist/parser/tests/statement/ForEach.spec.js +4 -4
- package/dist/parser/tests/statement/ForEach.spec.js.map +1 -1
- package/dist/parser/tests/statement/Function.spec.js +1 -1
- package/dist/parser/tests/statement/Function.spec.js.map +1 -1
- package/dist/parser/tests/statement/InterfaceStatement.spec.js +18 -18
- package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/Misc.spec.js.map +1 -1
- package/dist/parser/tests/statement/PrintStatement.spec.js +13 -16
- package/dist/parser/tests/statement/PrintStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/ReturnStatement.spec.js +3 -5
- package/dist/parser/tests/statement/ReturnStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/Set.spec.js +13 -26
- package/dist/parser/tests/statement/Set.spec.js.map +1 -1
- package/dist/parser/tests/statement/Throw.spec.js.map +1 -1
- package/dist/parser/tests/statement/TryCatch.spec.js.map +1 -1
- package/dist/preprocessor/Chunk.js +1 -2
- package/dist/preprocessor/Chunk.js.map +1 -1
- package/dist/preprocessor/Preprocessor.d.ts +3 -4
- package/dist/preprocessor/Preprocessor.js +3 -3
- package/dist/preprocessor/Preprocessor.js.map +1 -1
- package/dist/preprocessor/PreprocessorParser.js +8 -1
- package/dist/preprocessor/PreprocessorParser.js.map +1 -1
- package/dist/roku-types/data.json +293 -243
- package/dist/roku-types/index.d.ts +38 -17
- package/dist/types/ArrayType.d.ts +4 -9
- package/dist/types/ArrayType.js +24 -72
- package/dist/types/ArrayType.js.map +1 -1
- package/dist/types/ArrayType.spec.js +10 -39
- package/dist/types/ArrayType.spec.js.map +1 -1
- package/dist/types/BooleanType.d.ts +4 -8
- package/dist/types/BooleanType.js +8 -19
- package/dist/types/BooleanType.js.map +1 -1
- package/dist/types/BooleanType.spec.js +3 -9
- package/dist/types/BooleanType.spec.js.map +1 -1
- package/dist/types/BscType.d.ts +2 -29
- package/dist/types/BscType.js +0 -113
- package/dist/types/BscType.js.map +1 -1
- package/dist/types/CustomType.d.ts +9 -0
- package/dist/types/CustomType.js +32 -0
- package/dist/types/CustomType.js.map +1 -0
- package/dist/types/DoubleType.d.ts +4 -8
- package/dist/types/DoubleType.js +20 -23
- package/dist/types/DoubleType.js.map +1 -1
- package/dist/types/DoubleType.spec.js +3 -11
- package/dist/types/DoubleType.spec.js.map +1 -1
- package/dist/types/DynamicType.d.ts +3 -9
- package/dist/types/DynamicType.js +2 -18
- package/dist/types/DynamicType.js.map +1 -1
- package/dist/types/DynamicType.spec.js +4 -15
- package/dist/types/DynamicType.spec.js.map +1 -1
- package/dist/types/FloatType.d.ts +4 -8
- package/dist/types/FloatType.js +20 -23
- package/dist/types/FloatType.js.map +1 -1
- package/dist/types/FloatType.spec.js +3 -3
- package/dist/types/FloatType.spec.js.map +1 -1
- package/dist/types/FunctionType.d.ts +20 -10
- package/dist/types/FunctionType.js +52 -27
- package/dist/types/FunctionType.js.map +1 -1
- package/dist/types/FunctionType.spec.js +23 -0
- package/dist/types/FunctionType.spec.js.map +1 -0
- package/dist/types/IntegerType.d.ts +4 -8
- package/dist/types/IntegerType.js +20 -23
- package/dist/types/IntegerType.js.map +1 -1
- package/dist/types/IntegerType.spec.js +3 -7
- package/dist/types/IntegerType.spec.js.map +1 -1
- package/dist/types/InterfaceType.d.ts +10 -12
- package/dist/types/InterfaceType.js +48 -23
- package/dist/types/InterfaceType.js.map +1 -1
- package/dist/types/InterfaceType.spec.js +45 -82
- package/dist/types/InterfaceType.spec.js.map +1 -1
- package/dist/types/InvalidType.d.ts +4 -7
- package/dist/types/InvalidType.js +8 -18
- package/dist/types/InvalidType.js.map +1 -1
- package/dist/types/InvalidType.spec.js +3 -7
- package/dist/types/InvalidType.spec.js.map +1 -1
- package/dist/types/LongIntegerType.d.ts +4 -8
- package/dist/types/LongIntegerType.js +20 -23
- package/dist/types/LongIntegerType.js.map +1 -1
- package/dist/types/LongIntegerType.spec.js +3 -9
- package/dist/types/LongIntegerType.spec.js.map +1 -1
- package/dist/types/ObjectType.d.ts +4 -8
- package/dist/types/ObjectType.js +7 -21
- package/dist/types/ObjectType.js.map +1 -1
- package/dist/types/ObjectType.spec.js +2 -2
- package/dist/types/ObjectType.spec.js.map +1 -1
- package/dist/types/StringType.d.ts +4 -11
- package/dist/types/StringType.js +8 -23
- package/dist/types/StringType.js.map +1 -1
- package/dist/types/StringType.spec.js +2 -2
- package/dist/types/StringType.spec.js.map +1 -1
- package/dist/types/UninitializedType.d.ts +3 -7
- package/dist/types/UninitializedType.js +3 -14
- package/dist/types/UninitializedType.js.map +1 -1
- package/dist/types/VoidType.d.ts +4 -8
- package/dist/types/VoidType.js +8 -18
- package/dist/types/VoidType.js.map +1 -1
- package/dist/types/VoidType.spec.js +2 -2
- package/dist/types/VoidType.spec.js.map +1 -1
- package/dist/util.d.ts +43 -104
- package/dist/util.js +243 -640
- package/dist/util.js.map +1 -1
- package/dist/validators/ClassValidator.d.ts +6 -1
- package/dist/validators/ClassValidator.js +61 -20
- package/dist/validators/ClassValidator.js.map +1 -1
- package/package.json +13 -11
- package/dist/ActionPipeline.d.ts +0 -10
- package/dist/ActionPipeline.js +0 -40
- package/dist/ActionPipeline.js.map +0 -1
- package/dist/AstValidationSegmenter.d.ts +0 -25
- package/dist/AstValidationSegmenter.js +0 -150
- package/dist/AstValidationSegmenter.js.map +0 -1
- package/dist/CacheVerifier.d.ts +0 -7
- package/dist/CacheVerifier.js +0 -20
- package/dist/CacheVerifier.js.map +0 -1
- package/dist/astUtils/Editor.js.map +0 -1
- package/dist/astUtils/Editor.spec.js.map +0 -1
- package/dist/bscPlugin/FileWriter.d.ts +0 -6
- package/dist/bscPlugin/FileWriter.js +0 -24
- package/dist/bscPlugin/FileWriter.js.map +0 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.spec.js +0 -1658
- package/dist/bscPlugin/completions/CompletionsProcessor.spec.js.map +0 -1
- package/dist/bscPlugin/fileProviders/FileProvider.d.ts +0 -9
- package/dist/bscPlugin/fileProviders/FileProvider.js +0 -51
- package/dist/bscPlugin/fileProviders/FileProvider.js.map +0 -1
- package/dist/bscPlugin/serialize/BslibInjector.spec.js +0 -19
- package/dist/bscPlugin/serialize/BslibInjector.spec.js.map +0 -1
- package/dist/bscPlugin/serialize/BslibManager.d.ts +0 -9
- package/dist/bscPlugin/serialize/BslibManager.js +0 -40
- package/dist/bscPlugin/serialize/BslibManager.js.map +0 -1
- package/dist/bscPlugin/serialize/FileSerializer.d.ts +0 -9
- package/dist/bscPlugin/serialize/FileSerializer.js +0 -72
- package/dist/bscPlugin/serialize/FileSerializer.js.map +0 -1
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js.map +0 -1
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js +0 -41
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.spec.js.map +0 -1
- package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.d.ts +0 -11
- package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.js +0 -53
- package/dist/bscPlugin/transpile/XmlFilePreTranspileProcessor.js.map +0 -1
- package/dist/bscPlugin/validation/ScopeValidator.spec.js +0 -2004
- package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +0 -1
- package/dist/files/AssetFile.d.ts +0 -26
- package/dist/files/AssetFile.js +0 -26
- package/dist/files/AssetFile.js.map +0 -1
- package/dist/files/Factory.d.ts +0 -25
- package/dist/files/Factory.js +0 -22
- package/dist/files/Factory.js.map +0 -1
- package/dist/files/File.d.ts +0 -106
- package/dist/files/File.js +0 -16
- package/dist/files/File.js.map +0 -1
- package/dist/files/LazyFileData.d.ts +0 -20
- package/dist/files/LazyFileData.js +0 -54
- package/dist/files/LazyFileData.js.map +0 -1
- package/dist/files/LazyFileData.spec.js +0 -27
- package/dist/files/LazyFileData.spec.js.map +0 -1
- package/dist/parser/tests/expression/TypeExpression.spec.js +0 -127
- package/dist/parser/tests/expression/TypeExpression.spec.js.map +0 -1
- package/dist/types/AssociativeArrayType.d.ts +0 -11
- package/dist/types/AssociativeArrayType.js +0 -52
- package/dist/types/AssociativeArrayType.js.map +0 -1
- package/dist/types/BaseFunctionType.d.ts +0 -9
- package/dist/types/BaseFunctionType.js +0 -25
- package/dist/types/BaseFunctionType.js.map +0 -1
- package/dist/types/BscTypeKind.d.ts +0 -25
- package/dist/types/BscTypeKind.js +0 -30
- package/dist/types/BscTypeKind.js.map +0 -1
- package/dist/types/BuiltInInterfaceAdder.d.ts +0 -23
- package/dist/types/BuiltInInterfaceAdder.js +0 -160
- package/dist/types/BuiltInInterfaceAdder.js.map +0 -1
- package/dist/types/BuiltInInterfaceAdder.spec.d.ts +0 -1
- package/dist/types/BuiltInInterfaceAdder.spec.js +0 -116
- package/dist/types/BuiltInInterfaceAdder.spec.js.map +0 -1
- package/dist/types/ClassType.d.ts +0 -17
- package/dist/types/ClassType.js +0 -58
- package/dist/types/ClassType.js.map +0 -1
- package/dist/types/ClassType.spec.d.ts +0 -1
- package/dist/types/ClassType.spec.js +0 -77
- package/dist/types/ClassType.spec.js.map +0 -1
- package/dist/types/ComponentType.d.ts +0 -26
- package/dist/types/ComponentType.js +0 -83
- package/dist/types/ComponentType.js.map +0 -1
- package/dist/types/EnumType.d.ts +0 -40
- package/dist/types/EnumType.js +0 -81
- package/dist/types/EnumType.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/InheritableType.d.ts +0 -28
- package/dist/types/InheritableType.js +0 -152
- package/dist/types/InheritableType.js.map +0 -1
- package/dist/types/NamespaceType.d.ts +0 -12
- package/dist/types/NamespaceType.js +0 -28
- package/dist/types/NamespaceType.js.map +0 -1
- package/dist/types/ReferenceType.d.ts +0 -63
- package/dist/types/ReferenceType.js +0 -423
- package/dist/types/ReferenceType.js.map +0 -1
- package/dist/types/ReferenceType.spec.d.ts +0 -1
- package/dist/types/ReferenceType.spec.js +0 -137
- package/dist/types/ReferenceType.spec.js.map +0 -1
- package/dist/types/TypedFunctionType.d.ts +0 -33
- package/dist/types/TypedFunctionType.js +0 -106
- package/dist/types/TypedFunctionType.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.d.ts +0 -20
- package/dist/types/UnionType.js +0 -123
- package/dist/types/UnionType.js.map +0 -1
- package/dist/types/UnionType.spec.d.ts +0 -1
- package/dist/types/UnionType.spec.js +0 -130
- package/dist/types/UnionType.spec.js.map +0 -1
- package/dist/types/helper.spec.d.ts +0 -1
- package/dist/types/helper.spec.js +0 -145
- package/dist/types/helper.spec.js.map +0 -1
- package/dist/types/helpers.d.ts +0 -24
- package/dist/types/helpers.js +0 -178
- package/dist/types/helpers.js.map +0 -1
- package/dist/types/index.d.ts +0 -22
- package/dist/types/index.js +0 -39
- package/dist/types/index.js.map +0 -1
- /package/dist/astUtils/{Editor.spec.d.ts → AstEditor.spec.d.ts} +0 -0
- /package/dist/bscPlugin/{completions/CompletionsProcessor.spec.d.ts → definition/DefinitionProvider.spec.d.ts} +0 -0
- /package/dist/bscPlugin/{serialize/BslibInjector.spec.d.ts → references/ReferencesProvider.spec.d.ts} +0 -0
- /package/dist/bscPlugin/{transpile/BrsFileTranspileProcessor.spec.d.ts → symbols/DocumentSymbolProcessor.spec.d.ts} +0 -0
- /package/dist/bscPlugin/{validation/ScopeValidator.spec.d.ts → symbols/WorkspaceSymbolProcessor.spec.d.ts} +0 -0
- /package/dist/{files/LazyFileData.spec.d.ts → bscPlugin/transpile/BrsFilePreTranspileProcessor.spec.d.ts} +0 -0
- /package/dist/{parser/tests/expression/TypeExpression.spec.d.ts → types/FunctionType.spec.d.ts} +0 -0
|
@@ -1,27 +1,29 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.IntegerType = void 0;
|
|
4
|
-
const
|
|
5
|
-
const
|
|
6
|
-
const
|
|
7
|
-
const
|
|
8
|
-
|
|
9
|
-
class IntegerType extends BscType_1.BscType {
|
|
4
|
+
const DoubleType_1 = require("./DoubleType");
|
|
5
|
+
const DynamicType_1 = require("./DynamicType");
|
|
6
|
+
const FloatType_1 = require("./FloatType");
|
|
7
|
+
const LongIntegerType_1 = require("./LongIntegerType");
|
|
8
|
+
class IntegerType {
|
|
10
9
|
constructor(typeText) {
|
|
11
|
-
super();
|
|
12
10
|
this.typeText = typeText;
|
|
13
|
-
this.kind = BscTypeKind_1.BscTypeKind.IntegerType;
|
|
14
11
|
}
|
|
15
|
-
|
|
16
|
-
return (
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
12
|
+
isAssignableTo(targetType) {
|
|
13
|
+
return (targetType instanceof IntegerType ||
|
|
14
|
+
targetType instanceof DynamicType_1.DynamicType);
|
|
15
|
+
}
|
|
16
|
+
isConvertibleTo(targetType) {
|
|
17
|
+
if (targetType instanceof DynamicType_1.DynamicType ||
|
|
18
|
+
targetType instanceof IntegerType ||
|
|
19
|
+
targetType instanceof FloatType_1.FloatType ||
|
|
20
|
+
targetType instanceof DoubleType_1.DoubleType ||
|
|
21
|
+
targetType instanceof LongIntegerType_1.LongIntegerType) {
|
|
22
|
+
return true;
|
|
23
|
+
}
|
|
24
|
+
else {
|
|
25
|
+
return false;
|
|
26
|
+
}
|
|
25
27
|
}
|
|
26
28
|
toString() {
|
|
27
29
|
var _a;
|
|
@@ -30,11 +32,6 @@ class IntegerType extends BscType_1.BscType {
|
|
|
30
32
|
toTypeString() {
|
|
31
33
|
return this.toString();
|
|
32
34
|
}
|
|
33
|
-
isEqual(otherType) {
|
|
34
|
-
return (0, reflection_1.isIntegerType)(otherType);
|
|
35
|
-
}
|
|
36
35
|
}
|
|
37
36
|
exports.IntegerType = IntegerType;
|
|
38
|
-
IntegerType.instance = new IntegerType('integer');
|
|
39
|
-
BuiltInInterfaceAdder_1.BuiltInInterfaceAdder.primitiveTypeInstanceCache.set('integer', IntegerType.instance);
|
|
40
37
|
//# sourceMappingURL=IntegerType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IntegerType.js","sourceRoot":"","sources":["../../src/types/IntegerType.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"IntegerType.js","sourceRoot":"","sources":["../../src/types/IntegerType.ts"],"names":[],"mappings":";;;AACA,6CAA0C;AAC1C,+CAA4C;AAC5C,2CAAwC;AACxC,uDAAoD;AAEpD,MAAa,WAAW;IACpB,YACW,QAAiB;QAAjB,aAAQ,GAAR,QAAQ,CAAS;IACxB,CAAC;IAEE,cAAc,CAAC,UAAmB;QACrC,OAAO,CACH,UAAU,YAAY,WAAW;YACjC,UAAU,YAAY,yBAAW,CACpC,CAAC;IACN,CAAC;IAEM,eAAe,CAAC,UAAmB;QACtC,IACI,UAAU,YAAY,yBAAW;YACjC,UAAU,YAAY,WAAW;YACjC,UAAU,YAAY,qBAAS;YAC/B,UAAU,YAAY,uBAAU;YAChC,UAAU,YAAY,iCAAe,EACvC;YACE,OAAO,IAAI,CAAC;SACf;aAAM;YACH,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;IAEM,QAAQ;;QACX,OAAO,MAAA,IAAI,CAAC,QAAQ,mCAAI,SAAS,CAAC;IACtC,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;CACJ;AAjCD,kCAiCC"}
|
|
@@ -4,13 +4,9 @@ const chai_config_spec_1 = require("../chai-config.spec");
|
|
|
4
4
|
const DynamicType_1 = require("./DynamicType");
|
|
5
5
|
const IntegerType_1 = require("./IntegerType");
|
|
6
6
|
describe('IntegerType', () => {
|
|
7
|
-
it('is
|
|
8
|
-
(0, chai_config_spec_1.expect)(new IntegerType_1.IntegerType().
|
|
9
|
-
(0, chai_config_spec_1.expect)(new IntegerType_1.IntegerType().
|
|
10
|
-
});
|
|
11
|
-
it('is compatible with to other integer types', () => {
|
|
12
|
-
(0, chai_config_spec_1.expect)(new IntegerType_1.IntegerType().isTypeCompatible(new IntegerType_1.IntegerType())).to.be.true;
|
|
13
|
-
(0, chai_config_spec_1.expect)(new IntegerType_1.IntegerType().isTypeCompatible(new DynamicType_1.DynamicType())).to.be.true;
|
|
7
|
+
it('is equivalent to other integer types', () => {
|
|
8
|
+
(0, chai_config_spec_1.expect)(new IntegerType_1.IntegerType().isAssignableTo(new IntegerType_1.IntegerType())).to.be.true;
|
|
9
|
+
(0, chai_config_spec_1.expect)(new IntegerType_1.IntegerType().isAssignableTo(new DynamicType_1.DynamicType())).to.be.true;
|
|
14
10
|
});
|
|
15
11
|
});
|
|
16
12
|
//# sourceMappingURL=IntegerType.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IntegerType.spec.js","sourceRoot":"","sources":["../../src/types/IntegerType.spec.ts"],"names":[],"mappings":";;AAAA,0DAA6C;
|
|
1
|
+
{"version":3,"file":"IntegerType.spec.js","sourceRoot":"","sources":["../../src/types/IntegerType.spec.ts"],"names":[],"mappings":";;AAAA,0DAA6C;AAE7C,+CAA4C;AAC5C,+CAA4C;AAE5C,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,sCAAsC,EAAE,GAAG,EAAE;QAC5C,IAAA,yBAAM,EAAC,IAAI,yBAAW,EAAE,CAAC,cAAc,CAAC,IAAI,yBAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACvE,IAAA,yBAAM,EAAC,IAAI,yBAAW,EAAE,CAAC,cAAc,CAAC,IAAI,yBAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAC3E,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -1,16 +1,14 @@
|
|
|
1
|
-
import type { TypeCompatibilityData } from '../interfaces';
|
|
2
1
|
import type { BscType } from './BscType';
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
export declare class InterfaceType extends InheritableType {
|
|
7
|
-
name: string;
|
|
8
|
-
readonly superInterface?: InterfaceType | ReferenceType;
|
|
9
|
-
constructor(name: string, superInterface?: InterfaceType | ReferenceType);
|
|
10
|
-
readonly kind = BscTypeKind.InterfaceType;
|
|
11
|
-
isTypeCompatible(targetType: BscType, data?: TypeCompatibilityData): boolean;
|
|
2
|
+
export declare class InterfaceType implements BscType {
|
|
3
|
+
members: Map<string, BscType>;
|
|
4
|
+
constructor(members: Map<string, BscType>);
|
|
12
5
|
/**
|
|
13
|
-
*
|
|
6
|
+
* The name of the interface. Can be undefined.
|
|
14
7
|
*/
|
|
15
|
-
|
|
8
|
+
name: string | undefined;
|
|
9
|
+
isAssignableTo(targetType: BscType): boolean;
|
|
10
|
+
isConvertibleTo(targetType: BscType): boolean;
|
|
11
|
+
toString(): string;
|
|
12
|
+
toTypeString(): string;
|
|
13
|
+
equals(targetType: BscType): boolean;
|
|
16
14
|
}
|
|
@@ -1,36 +1,61 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.InterfaceType = void 0;
|
|
4
|
-
const SymbolTable_1 = require("../SymbolTable");
|
|
5
4
|
const reflection_1 = require("../astUtils/reflection");
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
class InterfaceType extends InheritableType_1.InheritableType {
|
|
10
|
-
constructor(name, superInterface) {
|
|
11
|
-
super(name, superInterface);
|
|
12
|
-
this.name = name;
|
|
13
|
-
this.superInterface = superInterface;
|
|
14
|
-
this.kind = BscTypeKind_1.BscTypeKind.InterfaceType;
|
|
5
|
+
class InterfaceType {
|
|
6
|
+
constructor(members) {
|
|
7
|
+
this.members = members;
|
|
15
8
|
}
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
return true;
|
|
19
|
-
}
|
|
9
|
+
isAssignableTo(targetType) {
|
|
10
|
+
//we must have all of the members of the target type, and they must be equivalent types
|
|
20
11
|
if ((0, reflection_1.isInterfaceType)(targetType)) {
|
|
21
|
-
|
|
12
|
+
for (const [targetMemberName, targetMemberType] of targetType.members) {
|
|
13
|
+
const ourMemberType = this.members.get(targetMemberName);
|
|
14
|
+
//we don't have the target member
|
|
15
|
+
if (!ourMemberType) {
|
|
16
|
+
return false;
|
|
17
|
+
}
|
|
18
|
+
//our member's type is not assignable to the target member type
|
|
19
|
+
if (!ourMemberType.isAssignableTo(targetMemberType)) {
|
|
20
|
+
return false;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
//we have all of the target member's types. we are assignable!
|
|
24
|
+
return true;
|
|
25
|
+
//we are always assignable to dynamic or object
|
|
22
26
|
}
|
|
23
|
-
|
|
24
|
-
if (ancestorTypes === null || ancestorTypes === void 0 ? void 0 : ancestorTypes.find(ancestorType => ancestorType.isEqual(targetType))) {
|
|
27
|
+
else if ((0, reflection_1.isDynamicType)(targetType) || (0, reflection_1.isObjectType)(targetType)) {
|
|
25
28
|
return true;
|
|
29
|
+
//not assignable to any other object types
|
|
26
30
|
}
|
|
27
|
-
|
|
31
|
+
else {
|
|
32
|
+
return false;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
isConvertibleTo(targetType) {
|
|
36
|
+
return this.isAssignableTo(targetType);
|
|
28
37
|
}
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
38
|
+
toString() {
|
|
39
|
+
let result = '{';
|
|
40
|
+
for (const [key, type] of this.members.entries()) {
|
|
41
|
+
result += ' ' + key + ': ' + type.toString() + ';';
|
|
42
|
+
}
|
|
43
|
+
if (this.members.size > 0) {
|
|
44
|
+
result += ' ';
|
|
45
|
+
}
|
|
46
|
+
return result + '}';
|
|
47
|
+
}
|
|
48
|
+
toTypeString() {
|
|
49
|
+
return 'object';
|
|
50
|
+
}
|
|
51
|
+
equals(targetType) {
|
|
52
|
+
if ((0, reflection_1.isInterfaceType)(targetType)) {
|
|
53
|
+
if (targetType.members.size !== this.members.size) {
|
|
54
|
+
return false;
|
|
55
|
+
}
|
|
56
|
+
return targetType.isAssignableTo(this);
|
|
57
|
+
}
|
|
58
|
+
return false;
|
|
34
59
|
}
|
|
35
60
|
}
|
|
36
61
|
exports.InterfaceType = InterfaceType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InterfaceType.js","sourceRoot":"","sources":["../../src/types/InterfaceType.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"InterfaceType.js","sourceRoot":"","sources":["../../src/types/InterfaceType.ts"],"names":[],"mappings":";;;AAAA,uDAAsF;AAGtF,MAAa,aAAa;IACtB,YACW,OAA6B;QAA7B,YAAO,GAAP,OAAO,CAAsB;IAGxC,CAAC;IAOM,cAAc,CAAC,UAAmB;QACrC,uFAAuF;QACvF,IAAI,IAAA,4BAAe,EAAC,UAAU,CAAC,EAAE;YAC7B,KAAK,MAAM,CAAC,gBAAgB,EAAE,gBAAgB,CAAC,IAAI,UAAU,CAAC,OAAO,EAAE;gBACnE,MAAM,aAAa,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,gBAAgB,CAAC,CAAC;gBACzD,iCAAiC;gBACjC,IAAI,CAAC,aAAa,EAAE;oBAChB,OAAO,KAAK,CAAC;iBAChB;gBACD,+DAA+D;gBAC/D,IAAI,CAAC,aAAa,CAAC,cAAc,CAAC,gBAAgB,CAAC,EAAE;oBACjD,OAAO,KAAK,CAAC;iBAChB;aACJ;YACD,8DAA8D;YAC9D,OAAO,IAAI,CAAC;YAEZ,+CAA+C;SAClD;aAAM,IAAI,IAAA,0BAAa,EAAC,UAAU,CAAC,IAAI,IAAA,yBAAY,EAAC,UAAU,CAAC,EAAE;YAC9D,OAAO,IAAI,CAAC;YAEZ,0CAA0C;SAC7C;aAAM;YACH,OAAO,KAAK,CAAC;SAChB;IACL,CAAC;IAEM,eAAe,CAAC,UAAmB;QACtC,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAEM,QAAQ;QACX,IAAI,MAAM,GAAG,GAAG,CAAC;QACjB,KAAK,MAAM,CAAC,GAAG,EAAE,IAAI,CAAC,IAAI,IAAI,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE;YAC9C,MAAM,IAAI,GAAG,GAAG,GAAG,GAAG,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,GAAG,GAAG,CAAC;SACtD;QACD,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,EAAE;YACvB,MAAM,IAAI,GAAG,CAAC;SACjB;QACD,OAAO,MAAM,GAAG,GAAG,CAAC;IACxB,CAAC;IAEM,YAAY;QACf,OAAO,QAAQ,CAAC;IACpB,CAAC;IAEM,MAAM,CAAC,UAAmB;QAC7B,IAAI,IAAA,4BAAe,EAAC,UAAU,CAAC,EAAE;YAC7B,IAAI,UAAU,CAAC,OAAO,CAAC,IAAI,KAAK,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE;gBAC/C,OAAO,KAAK,CAAC;aAChB;YACD,OAAO,UAAU,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;SAC1C;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;CACJ;AAnED,sCAmEC"}
|
|
@@ -2,23 +2,19 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
const chai_config_spec_1 = require("../chai-config.spec");
|
|
4
4
|
const sinon_1 = require("sinon");
|
|
5
|
+
const testHelpers_spec_1 = require("../testHelpers.spec");
|
|
5
6
|
const DynamicType_1 = require("./DynamicType");
|
|
6
7
|
const IntegerType_1 = require("./IntegerType");
|
|
7
8
|
const InterfaceType_1 = require("./InterfaceType");
|
|
8
9
|
const ObjectType_1 = require("./ObjectType");
|
|
9
10
|
const StringType_1 = require("./StringType");
|
|
10
|
-
const SymbolTable_1 = require("../SymbolTable");
|
|
11
|
-
const AssociativeArrayType_1 = require("./AssociativeArrayType");
|
|
12
|
-
const ArrayType_1 = require("./ArrayType");
|
|
13
|
-
const BooleanType_1 = require("./BooleanType");
|
|
14
|
-
const DiagnosticMessages_1 = require("../DiagnosticMessages");
|
|
15
11
|
describe('InterfaceType', () => {
|
|
16
|
-
describe('
|
|
12
|
+
describe('toString', () => {
|
|
17
13
|
it('returns empty curly braces when no members', () => {
|
|
18
|
-
(0, chai_config_spec_1.expect)(iface({}).
|
|
14
|
+
(0, chai_config_spec_1.expect)(iface({}).toString()).to.eql('{}');
|
|
19
15
|
});
|
|
20
16
|
it('includes member types', () => {
|
|
21
|
-
(0, chai_config_spec_1.expect)(iface({ name: new StringType_1.StringType() }).
|
|
17
|
+
(0, chai_config_spec_1.expect)(iface({ name: new StringType_1.StringType() }).toString()).to.eql('{ name: string; }');
|
|
22
18
|
});
|
|
23
19
|
it('includes nested object types', () => {
|
|
24
20
|
(0, chai_config_spec_1.expect)(iface({
|
|
@@ -26,54 +22,41 @@ describe('InterfaceType', () => {
|
|
|
26
22
|
parent: iface({
|
|
27
23
|
age: new IntegerType_1.IntegerType()
|
|
28
24
|
})
|
|
29
|
-
}).
|
|
25
|
+
}).toString()).to.eql('{ name: string; parent: { age: integer; }; }');
|
|
30
26
|
});
|
|
31
27
|
});
|
|
32
|
-
describe('
|
|
28
|
+
describe('isConvertibleTo', () => {
|
|
33
29
|
it('works', () => {
|
|
34
|
-
|
|
30
|
+
expectAssignable({
|
|
35
31
|
name: new StringType_1.StringType()
|
|
36
32
|
}, {
|
|
37
33
|
name: new StringType_1.StringType()
|
|
38
34
|
});
|
|
39
35
|
});
|
|
40
|
-
it('roku component types are compatible with BscTypes', () => {
|
|
41
|
-
// TODO: Fix String type compatibility - reason is because of overloaded members (Mid(), StartsWith(), etc)
|
|
42
|
-
// SEE: https://github.com/rokucommunity/brighterscript/issues/926
|
|
43
|
-
// expectTypeCrossCompatible(new StringType(), new InterfaceType('roString'));
|
|
44
|
-
expectTypeCrossCompatible(new ArrayType_1.ArrayType(), new InterfaceType_1.InterfaceType('roArray'));
|
|
45
|
-
expectTypeCrossCompatible(new AssociativeArrayType_1.AssociativeArrayType(), new InterfaceType_1.InterfaceType('roAssociativeArray'));
|
|
46
|
-
expectTypeCrossCompatible(new BooleanType_1.BooleanType(), new InterfaceType_1.InterfaceType('roBoolean'));
|
|
47
|
-
expectTypeCrossCompatible(new IntegerType_1.IntegerType(), new InterfaceType_1.InterfaceType('roInt'));
|
|
48
|
-
});
|
|
49
36
|
});
|
|
50
37
|
describe('equals', () => {
|
|
51
|
-
it('matches
|
|
52
|
-
|
|
53
|
-
(0, chai_config_spec_1.expect)(ifaceObj.isEqual(ifaceObj)).to.be.true;
|
|
54
|
-
});
|
|
55
|
-
it('does not match interfaces with same members', () => {
|
|
56
|
-
(0, chai_config_spec_1.expect)(iface({ name: new StringType_1.StringType() }).isEqual(iface({ name: new StringType_1.StringType() }))).to.be.false;
|
|
38
|
+
it('matches equal objects', () => {
|
|
39
|
+
(0, chai_config_spec_1.expect)(iface({ name: new StringType_1.StringType() }).equals(iface({ name: new StringType_1.StringType() }))).to.be.true;
|
|
57
40
|
});
|
|
58
41
|
it('does not match inequal objects', () => {
|
|
59
|
-
(0, chai_config_spec_1.expect)(iface({ name: new StringType_1.StringType() }).
|
|
42
|
+
(0, chai_config_spec_1.expect)(iface({ name: new StringType_1.StringType() }).equals(iface({ name: new IntegerType_1.IntegerType() }))).to.be.false;
|
|
60
43
|
});
|
|
61
44
|
});
|
|
62
|
-
describe('
|
|
63
|
-
it('rejects being
|
|
45
|
+
describe('isAssignableTo', () => {
|
|
46
|
+
it('rejects being assignable to other types', () => {
|
|
64
47
|
(0, chai_config_spec_1.expect)(iface({
|
|
65
48
|
name: new StringType_1.StringType()
|
|
66
|
-
}).
|
|
49
|
+
}).isAssignableTo(new IntegerType_1.IntegerType())).to.be.false;
|
|
67
50
|
});
|
|
68
51
|
it('matches exact properties', () => {
|
|
69
|
-
|
|
52
|
+
expectAssignable({
|
|
70
53
|
name: new StringType_1.StringType()
|
|
71
54
|
}, {
|
|
72
55
|
name: new StringType_1.StringType()
|
|
73
56
|
});
|
|
74
57
|
});
|
|
75
58
|
it('matches an object with more properties being assigned to an object with less', () => {
|
|
76
|
-
|
|
59
|
+
expectAssignable({
|
|
77
60
|
name: new StringType_1.StringType()
|
|
78
61
|
}, {
|
|
79
62
|
name: new StringType_1.StringType(),
|
|
@@ -81,7 +64,7 @@ describe('InterfaceType', () => {
|
|
|
81
64
|
});
|
|
82
65
|
});
|
|
83
66
|
it('rejects assigning an object with less properties to one with more', () => {
|
|
84
|
-
|
|
67
|
+
expectNotAssignable({
|
|
85
68
|
name: new StringType_1.StringType(),
|
|
86
69
|
age: new IntegerType_1.IntegerType()
|
|
87
70
|
}, {
|
|
@@ -89,26 +72,23 @@ describe('InterfaceType', () => {
|
|
|
89
72
|
});
|
|
90
73
|
});
|
|
91
74
|
it('matches properties in mismatched order', () => {
|
|
92
|
-
|
|
93
|
-
name
|
|
94
|
-
age
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
});
|
|
100
|
-
(0, chai_config_spec_1.expect)(ifaceOne.isTypeCompatible(ifaceTwo)).to.be.true;
|
|
101
|
-
(0, chai_config_spec_1.expect)(ifaceTwo.isTypeCompatible(ifaceOne)).to.be.true;
|
|
75
|
+
(0, chai_config_spec_1.expect)(new InterfaceType_1.InterfaceType(new Map([
|
|
76
|
+
['name', new StringType_1.StringType()],
|
|
77
|
+
['age', new IntegerType_1.IntegerType()]
|
|
78
|
+
])).isAssignableTo(new InterfaceType_1.InterfaceType(new Map([
|
|
79
|
+
['age', new IntegerType_1.IntegerType()],
|
|
80
|
+
['name', new StringType_1.StringType()]
|
|
81
|
+
])))).to.be.true;
|
|
102
82
|
});
|
|
103
83
|
it('rejects with member having mismatched type', () => {
|
|
104
|
-
|
|
84
|
+
expectNotAssignable({
|
|
105
85
|
name: new StringType_1.StringType()
|
|
106
86
|
}, {
|
|
107
87
|
name: new IntegerType_1.IntegerType()
|
|
108
88
|
});
|
|
109
89
|
});
|
|
110
90
|
it('rejects with object member having mismatched type', () => {
|
|
111
|
-
|
|
91
|
+
expectNotAssignable({
|
|
112
92
|
parent: iface({
|
|
113
93
|
name: new StringType_1.StringType()
|
|
114
94
|
})
|
|
@@ -119,7 +99,7 @@ describe('InterfaceType', () => {
|
|
|
119
99
|
});
|
|
120
100
|
});
|
|
121
101
|
it('rejects with object member having missing prop type', () => {
|
|
122
|
-
|
|
102
|
+
expectNotAssignable({
|
|
123
103
|
parent: iface({
|
|
124
104
|
name: new StringType_1.StringType(),
|
|
125
105
|
age: new IntegerType_1.IntegerType()
|
|
@@ -131,7 +111,7 @@ describe('InterfaceType', () => {
|
|
|
131
111
|
});
|
|
132
112
|
});
|
|
133
113
|
it('accepts with object member having same prop types', () => {
|
|
134
|
-
|
|
114
|
+
expectAssignable({
|
|
135
115
|
parent: iface({
|
|
136
116
|
name: new StringType_1.StringType(),
|
|
137
117
|
age: new IntegerType_1.IntegerType()
|
|
@@ -144,69 +124,52 @@ describe('InterfaceType', () => {
|
|
|
144
124
|
});
|
|
145
125
|
});
|
|
146
126
|
it('accepts with source member having dyanmic prop type', () => {
|
|
147
|
-
|
|
148
|
-
parent: new DynamicType_1.DynamicType()
|
|
149
|
-
}, {
|
|
127
|
+
expectAssignable({
|
|
150
128
|
parent: iface({
|
|
151
129
|
name: new StringType_1.StringType(),
|
|
152
130
|
age: new IntegerType_1.IntegerType()
|
|
153
131
|
})
|
|
132
|
+
}, {
|
|
133
|
+
parent: new DynamicType_1.DynamicType()
|
|
154
134
|
});
|
|
155
135
|
});
|
|
156
|
-
it('accepts with target member having
|
|
157
|
-
|
|
136
|
+
it('accepts with target member having dyanmic prop type', () => {
|
|
137
|
+
expectAssignable({
|
|
138
|
+
parent: new DynamicType_1.DynamicType()
|
|
139
|
+
}, {
|
|
158
140
|
parent: iface({
|
|
159
141
|
name: new StringType_1.StringType(),
|
|
160
142
|
age: new IntegerType_1.IntegerType()
|
|
161
143
|
})
|
|
162
|
-
}, {
|
|
163
|
-
parent: new DynamicType_1.DynamicType()
|
|
164
144
|
});
|
|
165
145
|
});
|
|
166
146
|
it('accepts with target member having "object" prop type', () => {
|
|
167
|
-
|
|
147
|
+
expectAssignable({
|
|
148
|
+
parent: new ObjectType_1.ObjectType()
|
|
149
|
+
}, {
|
|
168
150
|
parent: iface({
|
|
169
151
|
name: new StringType_1.StringType(),
|
|
170
152
|
age: new IntegerType_1.IntegerType()
|
|
171
153
|
})
|
|
172
|
-
}, {
|
|
173
|
-
parent: new ObjectType_1.ObjectType()
|
|
174
154
|
});
|
|
175
155
|
});
|
|
176
156
|
});
|
|
177
157
|
});
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
name = name !== null && name !== void 0 ? name : 'SomeIFace' + ifaceCount;
|
|
181
|
-
ifaceCount++;
|
|
182
|
-
const ifaceType = new InterfaceType_1.InterfaceType(name, parentType);
|
|
183
|
-
for (const key in members) {
|
|
184
|
-
ifaceType.addMember(key, null, members[key], SymbolTable_1.SymbolTypeFlag.runtime);
|
|
185
|
-
}
|
|
186
|
-
return ifaceType;
|
|
158
|
+
function iface(members) {
|
|
159
|
+
return new InterfaceType_1.InterfaceType((0, testHelpers_spec_1.objectToMap)(members));
|
|
187
160
|
}
|
|
188
|
-
function
|
|
161
|
+
function expectAssignable(targetMembers, sourceMembers) {
|
|
189
162
|
const targetIface = iface(targetMembers);
|
|
190
163
|
const sourceIface = iface(sourceMembers);
|
|
191
|
-
if (!sourceIface.
|
|
192
|
-
sinon_1.assert.fail(`expected type ${targetIface.
|
|
164
|
+
if (!sourceIface.isAssignableTo(targetIface)) {
|
|
165
|
+
sinon_1.assert.fail(`expected type ${targetIface.toString()} to be assignable to type ${sourceIface.toString()}`);
|
|
193
166
|
}
|
|
194
167
|
}
|
|
195
|
-
function
|
|
168
|
+
function expectNotAssignable(targetMembers, sourceMembers) {
|
|
196
169
|
const targetIface = iface(targetMembers);
|
|
197
170
|
const sourceIface = iface(sourceMembers);
|
|
198
|
-
if (sourceIface.
|
|
199
|
-
sinon_1.assert.fail(`expected type ${targetIface.
|
|
200
|
-
}
|
|
201
|
-
}
|
|
202
|
-
function expectTypeCrossCompatible(source, target) {
|
|
203
|
-
let data = {};
|
|
204
|
-
if (!source.isTypeCompatible(target, data)) {
|
|
205
|
-
sinon_1.assert.fail((0, DiagnosticMessages_1.typeCompatibilityMessage)(target.toString(), source.toString(), data));
|
|
206
|
-
}
|
|
207
|
-
data = {};
|
|
208
|
-
if (!target.isTypeCompatible(source, data)) {
|
|
209
|
-
sinon_1.assert.fail((0, DiagnosticMessages_1.typeCompatibilityMessage)(source.toString(), target.toString(), data));
|
|
171
|
+
if (sourceIface.isAssignableTo(targetIface)) {
|
|
172
|
+
sinon_1.assert.fail(`expected type ${targetIface.toString()} to not be assignable to type ${sourceIface.toString()}`);
|
|
210
173
|
}
|
|
211
174
|
}
|
|
212
175
|
//# sourceMappingURL=InterfaceType.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InterfaceType.spec.js","sourceRoot":"","sources":["../../src/types/InterfaceType.spec.ts"],"names":[],"mappings":";;AAAA,0DAA6C;AAC7C,iCAA+B;
|
|
1
|
+
{"version":3,"file":"InterfaceType.spec.js","sourceRoot":"","sources":["../../src/types/InterfaceType.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,12 +1,9 @@
|
|
|
1
|
-
import { BscType } from './BscType';
|
|
2
|
-
|
|
3
|
-
export declare class InvalidType extends BscType {
|
|
1
|
+
import type { BscType } from './BscType';
|
|
2
|
+
export declare class InvalidType implements BscType {
|
|
4
3
|
typeText?: string;
|
|
5
4
|
constructor(typeText?: string);
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
isTypeCompatible(targetType: BscType): any;
|
|
5
|
+
isAssignableTo(targetType: BscType): boolean;
|
|
6
|
+
isConvertibleTo(targetType: BscType): boolean;
|
|
9
7
|
toString(): string;
|
|
10
8
|
toTypeString(): string;
|
|
11
|
-
isEqual(targetType: BscType): boolean;
|
|
12
9
|
}
|
|
@@ -1,22 +1,17 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.InvalidType = void 0;
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
const BscTypeKind_1 = require("./BscTypeKind");
|
|
7
|
-
const helpers_1 = require("./helpers");
|
|
8
|
-
const BuiltInInterfaceAdder_1 = require("./BuiltInInterfaceAdder");
|
|
9
|
-
class InvalidType extends BscType_1.BscType {
|
|
4
|
+
const DynamicType_1 = require("./DynamicType");
|
|
5
|
+
class InvalidType {
|
|
10
6
|
constructor(typeText) {
|
|
11
|
-
super();
|
|
12
7
|
this.typeText = typeText;
|
|
13
|
-
this.kind = BscTypeKind_1.BscTypeKind.InvalidType;
|
|
14
8
|
}
|
|
15
|
-
|
|
16
|
-
return (
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
9
|
+
isAssignableTo(targetType) {
|
|
10
|
+
return (targetType instanceof InvalidType ||
|
|
11
|
+
targetType instanceof DynamicType_1.DynamicType);
|
|
12
|
+
}
|
|
13
|
+
isConvertibleTo(targetType) {
|
|
14
|
+
return this.isAssignableTo(targetType);
|
|
20
15
|
}
|
|
21
16
|
toString() {
|
|
22
17
|
var _a;
|
|
@@ -25,11 +20,6 @@ class InvalidType extends BscType_1.BscType {
|
|
|
25
20
|
toTypeString() {
|
|
26
21
|
return this.toString();
|
|
27
22
|
}
|
|
28
|
-
isEqual(targetType) {
|
|
29
|
-
return (0, reflection_1.isInvalidType)(targetType);
|
|
30
|
-
}
|
|
31
23
|
}
|
|
32
24
|
exports.InvalidType = InvalidType;
|
|
33
|
-
InvalidType.instance = new InvalidType('invalid');
|
|
34
|
-
BuiltInInterfaceAdder_1.BuiltInInterfaceAdder.primitiveTypeInstanceCache.set('invalid', InvalidType.instance);
|
|
35
25
|
//# sourceMappingURL=InvalidType.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvalidType.js","sourceRoot":"","sources":["../../src/types/InvalidType.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"InvalidType.js","sourceRoot":"","sources":["../../src/types/InvalidType.ts"],"names":[],"mappings":";;;AACA,+CAA4C;AAE5C,MAAa,WAAW;IACpB,YACW,QAAiB;QAAjB,aAAQ,GAAR,QAAQ,CAAS;IACxB,CAAC;IAEE,cAAc,CAAC,UAAmB;QACrC,OAAO,CACH,UAAU,YAAY,WAAW;YACjC,UAAU,YAAY,yBAAW,CACpC,CAAC;IACN,CAAC;IAEM,eAAe,CAAC,UAAmB;QACtC,OAAO,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;IAC3C,CAAC;IAEM,QAAQ;;QACX,OAAO,MAAA,IAAI,CAAC,QAAQ,mCAAI,SAAS,CAAC;IACtC,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;CACJ;AAvBD,kCAuBC"}
|
|
@@ -4,13 +4,9 @@ const chai_config_spec_1 = require("../chai-config.spec");
|
|
|
4
4
|
const DynamicType_1 = require("./DynamicType");
|
|
5
5
|
const InvalidType_1 = require("./InvalidType");
|
|
6
6
|
describe('InvalidType', () => {
|
|
7
|
-
it('is
|
|
8
|
-
(0, chai_config_spec_1.expect)(new InvalidType_1.InvalidType().
|
|
9
|
-
(0, chai_config_spec_1.expect)(new InvalidType_1.InvalidType().
|
|
10
|
-
});
|
|
11
|
-
it('is equal to invalid types', () => {
|
|
12
|
-
(0, chai_config_spec_1.expect)(new InvalidType_1.InvalidType().isEqual(new InvalidType_1.InvalidType())).to.be.true;
|
|
13
|
-
(0, chai_config_spec_1.expect)(new InvalidType_1.InvalidType().isEqual(new DynamicType_1.DynamicType())).to.be.false;
|
|
7
|
+
it('is equivalent to invalid types', () => {
|
|
8
|
+
(0, chai_config_spec_1.expect)(new InvalidType_1.InvalidType().isAssignableTo(new InvalidType_1.InvalidType())).to.be.true;
|
|
9
|
+
(0, chai_config_spec_1.expect)(new InvalidType_1.InvalidType().isAssignableTo(new DynamicType_1.DynamicType())).to.be.true;
|
|
14
10
|
});
|
|
15
11
|
});
|
|
16
12
|
//# sourceMappingURL=InvalidType.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"InvalidType.spec.js","sourceRoot":"","sources":["../../src/types/InvalidType.spec.ts"],"names":[],"mappings":";;AAAA,0DAA6C;AAE7C,+CAA4C;AAC5C,+CAA4C;AAE5C,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,IAAA,yBAAM,EAAC,IAAI,yBAAW,EAAE,CAAC,
|
|
1
|
+
{"version":3,"file":"InvalidType.spec.js","sourceRoot":"","sources":["../../src/types/InvalidType.spec.ts"],"names":[],"mappings":";;AAAA,0DAA6C;AAE7C,+CAA4C;AAC5C,+CAA4C;AAE5C,QAAQ,CAAC,aAAa,EAAE,GAAG,EAAE;IACzB,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,IAAA,yBAAM,EAAC,IAAI,yBAAW,EAAE,CAAC,cAAc,CAAC,IAAI,yBAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACvE,IAAA,yBAAM,EAAC,IAAI,yBAAW,EAAE,CAAC,cAAc,CAAC,IAAI,yBAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IAC3E,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
|
@@ -1,13 +1,9 @@
|
|
|
1
|
-
import { BscType } from './BscType';
|
|
2
|
-
|
|
3
|
-
import type { TypeCompatibilityData } from '../interfaces';
|
|
4
|
-
export declare class LongIntegerType extends BscType {
|
|
1
|
+
import type { BscType } from './BscType';
|
|
2
|
+
export declare class LongIntegerType implements BscType {
|
|
5
3
|
typeText?: string;
|
|
6
4
|
constructor(typeText?: string);
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
isTypeCompatible(targetType: BscType, data?: TypeCompatibilityData): any;
|
|
5
|
+
isAssignableTo(targetType: BscType): boolean;
|
|
6
|
+
isConvertibleTo(targetType: BscType): boolean;
|
|
10
7
|
toString(): string;
|
|
11
8
|
toTypeString(): string;
|
|
12
|
-
isEqual(targetType: BscType): boolean;
|
|
13
9
|
}
|