brighterscript 1.0.0-alpha.10 → 1.0.0-alpha.14
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 +247 -267
- package/README.md +2 -2
- package/dist/Cache.d.ts +3 -3
- package/dist/Cache.js +10 -6
- package/dist/Cache.js.map +1 -1
- package/dist/CodeActionUtil.js.map +1 -1
- package/dist/CommentFlagProcessor.d.ts +4 -4
- package/dist/CommentFlagProcessor.js +5 -3
- package/dist/CommentFlagProcessor.js.map +1 -1
- package/dist/DependencyGraph.js.map +1 -1
- package/dist/DiagnosticFilterer.js +1 -1
- package/dist/DiagnosticFilterer.js.map +1 -1
- package/dist/LanguageServer.d.ts +1 -6
- package/dist/LanguageServer.js +5 -14
- package/dist/LanguageServer.js.map +1 -1
- package/dist/Logger.js.map +1 -1
- package/dist/PluginInterface.d.ts +3 -3
- package/dist/PluginInterface.js +3 -0
- package/dist/PluginInterface.js.map +1 -1
- package/dist/Program.d.ts +35 -20
- package/dist/Program.js +132 -67
- package/dist/Program.js.map +1 -1
- package/dist/ProgramBuilder.js +4 -4
- package/dist/ProgramBuilder.js.map +1 -1
- package/dist/Scope.d.ts +22 -13
- package/dist/Scope.js +85 -70
- package/dist/Scope.js.map +1 -1
- package/dist/SymbolTable.d.ts +1 -1
- package/dist/SymbolTable.js +2 -2
- package/dist/SymbolTable.js.map +1 -1
- package/dist/XmlScope.d.ts +2 -2
- package/dist/XmlScope.js +5 -5
- package/dist/XmlScope.js.map +1 -1
- package/dist/astUtils/AstEditor.d.ts +27 -0
- package/dist/astUtils/AstEditor.js +97 -0
- package/dist/astUtils/AstEditor.js.map +1 -0
- package/dist/{bscPlugin/semanticTokens/SemanticTokensProcessor.spec.d.ts → astUtils/AstEditor.spec.d.ts} +0 -0
- package/dist/astUtils/AstEditor.spec.js +133 -0
- package/dist/astUtils/AstEditor.spec.js.map +1 -0
- package/dist/astUtils/creators.spec.js +4 -4
- package/dist/astUtils/creators.spec.js.map +1 -1
- package/dist/astUtils/reflection.d.ts +4 -2
- package/dist/astUtils/reflection.js +10 -1
- package/dist/astUtils/reflection.js.map +1 -1
- package/dist/astUtils/reflection.spec.js +116 -116
- package/dist/astUtils/reflection.spec.js.map +1 -1
- package/dist/astUtils/stackedVisitor.js.map +1 -1
- package/dist/astUtils/stackedVisitor.spec.js +13 -13
- package/dist/astUtils/stackedVisitor.spec.js.map +1 -1
- package/dist/astUtils/visitors.js +1 -1
- package/dist/astUtils/visitors.js.map +1 -1
- package/dist/astUtils/visitors.spec.js +26 -26
- package/dist/astUtils/visitors.spec.js.map +1 -1
- package/dist/astUtils/xml.d.ts +1 -0
- package/dist/astUtils/xml.js +6 -1
- package/dist/astUtils/xml.js.map +1 -1
- package/dist/bscPlugin/BscPlugin.js +5 -2
- package/dist/bscPlugin/BscPlugin.js.map +1 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +3 -3
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js +17 -17
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.d.ts +8 -0
- package/dist/bscPlugin/semanticTokens/{SemanticTokensProcessor.js → BrsFileSemanticTokensProcessor.js} +13 -15
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -0
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.d.ts +1 -0
- package/dist/bscPlugin/semanticTokens/{SemanticTokensProcessor.spec.js → BrsFileSemanticTokensProcessor.spec.js} +5 -5
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.spec.js.map +1 -0
- package/dist/diagnosticUtils.d.ts +1 -0
- package/dist/diagnosticUtils.js +14 -7
- package/dist/diagnosticUtils.js.map +1 -1
- package/dist/examples/plugins/removePrint.js +2 -2
- package/dist/examples/plugins/removePrint.js.map +1 -1
- package/dist/files/BrsFile.Class.spec.js +444 -269
- package/dist/files/BrsFile.Class.spec.js.map +1 -1
- package/dist/files/BrsFile.d.ts +17 -11
- package/dist/files/BrsFile.js +220 -153
- package/dist/files/BrsFile.js.map +1 -1
- package/dist/files/BrsFile.spec.js +620 -272
- package/dist/files/BrsFile.spec.js.map +1 -1
- package/dist/files/XmlFile.d.ts +6 -5
- package/dist/files/XmlFile.js +14 -9
- package/dist/files/XmlFile.js.map +1 -1
- package/dist/files/XmlFile.spec.js +238 -191
- package/dist/files/XmlFile.spec.js.map +1 -1
- package/dist/files/tests/imports.spec.js +29 -27
- package/dist/files/tests/imports.spec.js.map +1 -1
- package/dist/globalCallables.d.ts +3 -1
- package/dist/globalCallables.js +198 -99
- package/dist/globalCallables.js.map +1 -1
- package/dist/index.d.ts +12 -3
- package/dist/index.js +22 -4
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +71 -10
- package/dist/lexer/Lexer.d.ts +5 -1
- package/dist/lexer/Lexer.js +52 -35
- package/dist/lexer/Lexer.js.map +1 -1
- package/dist/lexer/Lexer.spec.js +564 -534
- package/dist/lexer/Lexer.spec.js.map +1 -1
- package/dist/lexer/TokenKind.d.ts +4 -0
- package/dist/lexer/TokenKind.js +44 -1
- package/dist/lexer/TokenKind.js.map +1 -1
- package/dist/parser/Expression.d.ts +1 -1
- package/dist/parser/Expression.js +66 -66
- package/dist/parser/Expression.js.map +1 -1
- package/dist/parser/Parser.Class.spec.js +107 -106
- package/dist/parser/Parser.Class.spec.js.map +1 -1
- package/dist/parser/Parser.d.ts +17 -5
- package/dist/parser/Parser.js +431 -315
- package/dist/parser/Parser.js.map +1 -1
- package/dist/parser/Parser.spec.js +418 -296
- package/dist/parser/Parser.spec.js.map +1 -1
- package/dist/parser/SGParser.js +2 -2
- package/dist/parser/SGParser.js.map +1 -1
- package/dist/parser/SGParser.spec.js +22 -22
- package/dist/parser/SGParser.spec.js.map +1 -1
- package/dist/parser/SGTypes.d.ts +3 -0
- package/dist/parser/SGTypes.js +12 -7
- package/dist/parser/SGTypes.js.map +1 -1
- package/dist/parser/SGTypes.spec.js +84 -84
- package/dist/parser/SGTypes.spec.js.map +1 -1
- package/dist/parser/Statement.d.ts +3 -3
- package/dist/parser/Statement.js +61 -61
- package/dist/parser/Statement.js.map +1 -1
- package/dist/parser/Statement.spec.js +10 -10
- package/dist/parser/Statement.spec.js.map +1 -1
- package/dist/parser/tests/Parser.spec.d.ts +3 -3
- package/dist/parser/tests/Parser.spec.js +4 -4
- package/dist/parser/tests/Parser.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/For.spec.js +58 -58
- package/dist/parser/tests/controlFlow/For.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/ForEach.spec.js +40 -39
- package/dist/parser/tests/controlFlow/ForEach.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/If.spec.js +201 -200
- package/dist/parser/tests/controlFlow/If.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/While.spec.js +37 -37
- package/dist/parser/tests/controlFlow/While.spec.js.map +1 -1
- package/dist/parser/tests/expression/Additive.spec.js +30 -30
- package/dist/parser/tests/expression/Additive.spec.js.map +1 -1
- package/dist/parser/tests/expression/ArrayLiterals.spec.js +119 -119
- package/dist/parser/tests/expression/ArrayLiterals.spec.js.map +1 -1
- package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +141 -141
- package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js.map +1 -1
- package/dist/parser/tests/expression/Boolean.spec.js +24 -24
- package/dist/parser/tests/expression/Boolean.spec.js.map +1 -1
- package/dist/parser/tests/expression/Call.spec.js +41 -40
- package/dist/parser/tests/expression/Call.spec.js.map +1 -1
- package/dist/parser/tests/expression/Exponential.spec.js +17 -17
- package/dist/parser/tests/expression/Exponential.spec.js.map +1 -1
- package/dist/parser/tests/expression/Function.spec.js +256 -256
- package/dist/parser/tests/expression/Function.spec.js.map +1 -1
- package/dist/parser/tests/expression/Indexing.spec.js +87 -87
- package/dist/parser/tests/expression/Indexing.spec.js.map +1 -1
- package/dist/parser/tests/expression/Multiplicative.spec.js +37 -37
- package/dist/parser/tests/expression/Multiplicative.spec.js.map +1 -1
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +74 -62
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/PrefixUnary.spec.js +41 -41
- package/dist/parser/tests/expression/PrefixUnary.spec.js.map +1 -1
- package/dist/parser/tests/expression/Primary.spec.js +41 -41
- package/dist/parser/tests/expression/Primary.spec.js.map +1 -1
- package/dist/parser/tests/expression/RegexLiteralExpression.spec.js +110 -2
- package/dist/parser/tests/expression/RegexLiteralExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/Relational.spec.js +43 -43
- package/dist/parser/tests/expression/Relational.spec.js.map +1 -1
- package/dist/parser/tests/expression/SourceLiteralExpression.spec.js +6 -6
- package/dist/parser/tests/expression/SourceLiteralExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js +18 -18
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/TernaryExpression.spec.js +100 -100
- package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
- package/dist/parser/tests/statement/AssignmentOperators.spec.js +36 -36
- package/dist/parser/tests/statement/AssignmentOperators.spec.js.map +1 -1
- package/dist/parser/tests/statement/Declaration.spec.js +44 -44
- package/dist/parser/tests/statement/Declaration.spec.js.map +1 -1
- package/dist/parser/tests/statement/Dim.spec.js +21 -21
- package/dist/parser/tests/statement/Dim.spec.js.map +1 -1
- package/dist/parser/tests/statement/Function.spec.js +198 -197
- package/dist/parser/tests/statement/Function.spec.js.map +1 -1
- package/dist/parser/tests/statement/Goto.spec.js +15 -14
- package/dist/parser/tests/statement/Goto.spec.js.map +1 -1
- package/dist/parser/tests/statement/Increment.spec.js +50 -50
- package/dist/parser/tests/statement/Increment.spec.js.map +1 -1
- package/dist/parser/tests/statement/InterfaceStatement.spec.js +14 -2
- package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/LibraryStatement.spec.js +17 -17
- package/dist/parser/tests/statement/LibraryStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/Misc.spec.js +91 -90
- package/dist/parser/tests/statement/Misc.spec.js.map +1 -1
- package/dist/parser/tests/statement/PrintStatement.spec.js +34 -34
- package/dist/parser/tests/statement/PrintStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/ReturnStatement.spec.js +46 -46
- package/dist/parser/tests/statement/ReturnStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/Set.spec.js +83 -83
- package/dist/parser/tests/statement/Set.spec.js.map +1 -1
- package/dist/parser/tests/statement/Stop.spec.js +12 -11
- package/dist/parser/tests/statement/Stop.spec.js.map +1 -1
- package/dist/parser/tests/statement/Throw.spec.js +5 -5
- package/dist/parser/tests/statement/Throw.spec.js.map +1 -1
- package/dist/parser/tests/statement/TryCatch.spec.js +13 -13
- package/dist/parser/tests/statement/TryCatch.spec.js.map +1 -1
- package/dist/preprocessor/Chunk.d.ts +1 -1
- package/dist/preprocessor/Chunk.js.map +1 -1
- package/dist/preprocessor/Manifest.d.ts +1 -1
- package/dist/preprocessor/Preprocessor.d.ts +1 -1
- package/dist/preprocessor/Preprocessor.js +8 -8
- package/dist/preprocessor/Preprocessor.js.map +1 -1
- package/dist/preprocessor/Preprocessor.spec.js +49 -49
- package/dist/preprocessor/Preprocessor.spec.js.map +1 -1
- package/dist/preprocessor/PreprocessorParser.spec.js +72 -72
- package/dist/preprocessor/PreprocessorParser.spec.js.map +1 -1
- package/dist/types/ArrayType.d.ts +8 -5
- package/dist/types/ArrayType.js +48 -12
- package/dist/types/ArrayType.js.map +1 -1
- package/dist/types/ArrayType.spec.js +69 -10
- package/dist/types/ArrayType.spec.js.map +1 -1
- package/dist/types/BooleanType.js +3 -3
- package/dist/types/BooleanType.js.map +1 -1
- package/dist/types/BooleanType.spec.js +2 -2
- package/dist/types/BooleanType.spec.js.map +1 -1
- package/dist/types/BscType.d.ts +1 -1
- package/dist/types/BscType.js +1 -1
- package/dist/types/BscType.js.map +1 -1
- package/dist/types/CustomType.d.ts +1 -1
- package/dist/types/CustomType.js +6 -4
- package/dist/types/CustomType.js.map +1 -1
- package/dist/types/DoubleType.js +7 -7
- package/dist/types/DoubleType.js.map +1 -1
- package/dist/types/DoubleType.spec.js +2 -2
- package/dist/types/DoubleType.spec.js.map +1 -1
- package/dist/types/DynamicType.js +1 -1
- package/dist/types/DynamicType.js.map +1 -1
- package/dist/types/DynamicType.spec.js +2 -2
- package/dist/types/DynamicType.spec.js.map +1 -1
- package/dist/types/FloatType.js +7 -7
- package/dist/types/FloatType.js.map +1 -1
- package/dist/types/FloatType.spec.js +2 -2
- package/dist/types/FloatType.spec.js.map +1 -1
- package/dist/types/FunctionType.d.ts +5 -5
- package/dist/types/FunctionType.js +13 -13
- package/dist/types/FunctionType.js.map +1 -1
- package/dist/types/FunctionType.spec.js +7 -7
- package/dist/types/FunctionType.spec.js.map +1 -1
- package/dist/types/IntegerType.js +7 -7
- package/dist/types/IntegerType.js.map +1 -1
- package/dist/types/IntegerType.spec.js +2 -2
- package/dist/types/IntegerType.spec.js.map +1 -1
- package/dist/types/InterfaceType.js +3 -3
- package/dist/types/InterfaceType.js.map +1 -1
- package/dist/types/InterfaceType.spec.js +7 -7
- package/dist/types/InterfaceType.spec.js.map +1 -1
- package/dist/types/InvalidType.js +4 -4
- package/dist/types/InvalidType.js.map +1 -1
- package/dist/types/InvalidType.spec.js +2 -2
- package/dist/types/InvalidType.spec.js.map +1 -1
- package/dist/types/LazyType.d.ts +1 -2
- package/dist/types/LazyType.js +1 -5
- package/dist/types/LazyType.js.map +1 -1
- package/dist/types/LongIntegerType.js +8 -8
- package/dist/types/LongIntegerType.js.map +1 -1
- package/dist/types/LongIntegerType.spec.js +2 -2
- package/dist/types/LongIntegerType.spec.js.map +1 -1
- package/dist/types/ObjectType.js +3 -3
- 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.js +3 -3
- 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.js +3 -3
- package/dist/types/UninitializedType.js.map +1 -1
- package/dist/types/VoidType.js +3 -3
- 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/types/helpers.js +6 -6
- package/dist/types/helpers.js.map +1 -1
- package/dist/util.d.ts +15 -9
- package/dist/util.js +104 -57
- package/dist/util.js.map +1 -1
- package/dist/validators/ClassValidator.js +40 -40
- package/dist/validators/ClassValidator.js.map +1 -1
- package/package.json +10 -9
- package/dist/astUtils/index.d.ts +0 -7
- package/dist/astUtils/index.js +0 -26
- package/dist/astUtils/index.js.map +0 -1
- package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.d.ts +0 -7
- package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.js.map +0 -1
- package/dist/bscPlugin/semanticTokens/SemanticTokensProcessor.spec.js.map +0 -1
- package/dist/lexer/index.d.ts +0 -3
- package/dist/lexer/index.js +0 -17
- package/dist/lexer/index.js.map +0 -1
- package/dist/parser/index.d.ts +0 -3
- package/dist/parser/index.js +0 -16
- package/dist/parser/index.js.map +0 -1
- package/dist/preprocessor/index.d.ts +0 -3
- package/dist/preprocessor/index.js +0 -16
- package/dist/preprocessor/index.js.map +0 -1
|
@@ -5,8 +5,8 @@ const DynamicType_1 = require("./DynamicType");
|
|
|
5
5
|
const VoidType_1 = require("./VoidType");
|
|
6
6
|
describe('VoidType', () => {
|
|
7
7
|
it('is equivalent to dynamic types', () => {
|
|
8
|
-
chai_1.expect(new VoidType_1.VoidType().isAssignableTo(new VoidType_1.VoidType())).to.be.true;
|
|
9
|
-
chai_1.expect(new VoidType_1.VoidType().isAssignableTo(new DynamicType_1.DynamicType())).to.be.true;
|
|
8
|
+
(0, chai_1.expect)(new VoidType_1.VoidType().isAssignableTo(new VoidType_1.VoidType())).to.be.true;
|
|
9
|
+
(0, chai_1.expect)(new VoidType_1.VoidType().isAssignableTo(new DynamicType_1.DynamicType())).to.be.true;
|
|
10
10
|
});
|
|
11
11
|
});
|
|
12
12
|
//# sourceMappingURL=VoidType.spec.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"VoidType.spec.js","sourceRoot":"","sources":["../../src/types/VoidType.spec.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAE9B,+CAA4C;AAC5C,yCAAsC;AAEtC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACtB,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,aAAM,
|
|
1
|
+
{"version":3,"file":"VoidType.spec.js","sourceRoot":"","sources":["../../src/types/VoidType.spec.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAE9B,+CAA4C;AAC5C,yCAAsC;AAEtC,QAAQ,CAAC,UAAU,EAAE,GAAG,EAAE;IACtB,EAAE,CAAC,gCAAgC,EAAE,GAAG,EAAE;QACtC,IAAA,aAAM,EAAC,IAAI,mBAAQ,EAAE,CAAC,cAAc,CAAC,IAAI,mBAAQ,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;QACjE,IAAA,aAAM,EAAC,IAAI,mBAAQ,EAAE,CAAC,cAAc,CAAC,IAAI,yBAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,IAAI,CAAC;IACxE,CAAC,CAAC,CAAC;AACP,CAAC,CAAC,CAAC"}
|
package/dist/types/helpers.js
CHANGED
|
@@ -19,7 +19,7 @@ function getTypeFromCallExpression(call, functionExpression) {
|
|
|
19
19
|
let calleeName = call.callee.name;
|
|
20
20
|
if (calleeName) {
|
|
21
21
|
const currentKnownType = functionExpression.symbolTable.getSymbolType(calleeName.text.toLowerCase());
|
|
22
|
-
if (reflection_1.isFunctionType(currentKnownType)) {
|
|
22
|
+
if ((0, reflection_1.isFunctionType)(currentKnownType)) {
|
|
23
23
|
return currentKnownType.returnType;
|
|
24
24
|
}
|
|
25
25
|
if (currentKnownType) {
|
|
@@ -29,7 +29,7 @@ function getTypeFromCallExpression(call, functionExpression) {
|
|
|
29
29
|
return new LazyType_1.LazyType((context) => {
|
|
30
30
|
var _a;
|
|
31
31
|
let futureType;
|
|
32
|
-
if (reflection_1.isBrsFile(context === null || context === void 0 ? void 0 : context.file)) {
|
|
32
|
+
if ((0, reflection_1.isBrsFile)(context === null || context === void 0 ? void 0 : context.file)) {
|
|
33
33
|
const file = context.file;
|
|
34
34
|
futureType = (_a = file.getSymbolTypeFromToken(calleeName, functionExpression, context.scope)) === null || _a === void 0 ? void 0 : _a.type;
|
|
35
35
|
}
|
|
@@ -37,7 +37,7 @@ function getTypeFromCallExpression(call, functionExpression) {
|
|
|
37
37
|
// Give best guess if there is no file context
|
|
38
38
|
futureType = functionExpression.symbolTable.getSymbolType(calleeName.text);
|
|
39
39
|
}
|
|
40
|
-
if (reflection_1.isFunctionType(futureType)) {
|
|
40
|
+
if ((0, reflection_1.isFunctionType)(futureType)) {
|
|
41
41
|
return futureType.returnType;
|
|
42
42
|
}
|
|
43
43
|
return futureType;
|
|
@@ -57,7 +57,7 @@ exports.getTypeFromCallExpression = getTypeFromCallExpression;
|
|
|
57
57
|
function getTypeFromVariableExpression(variable, functionExpression) {
|
|
58
58
|
let variableName = variable.name.text.toLowerCase();
|
|
59
59
|
const currentKnownType = functionExpression.symbolTable.getSymbolType(variableName);
|
|
60
|
-
if (reflection_1.isPrimitiveType(currentKnownType)) {
|
|
60
|
+
if ((0, reflection_1.isPrimitiveType)(currentKnownType) || (0, reflection_1.isArrayType)(currentKnownType)) {
|
|
61
61
|
// for "contextless" types, eg. myVar = 3.14
|
|
62
62
|
return currentKnownType;
|
|
63
63
|
}
|
|
@@ -85,7 +85,7 @@ function resolveLazyType(currentToken, functionExpression) {
|
|
|
85
85
|
return new LazyType_1.LazyType((context) => {
|
|
86
86
|
var _a, _b;
|
|
87
87
|
let futureType;
|
|
88
|
-
if (reflection_1.isBrsFile(context === null || context === void 0 ? void 0 : context.file)) {
|
|
88
|
+
if ((0, reflection_1.isBrsFile)(context === null || context === void 0 ? void 0 : context.file)) {
|
|
89
89
|
const file = context.file;
|
|
90
90
|
futureType = (_a = file.getSymbolTypeFromToken(currentToken, functionExpression, context.scope)) === null || _a === void 0 ? void 0 : _a.type;
|
|
91
91
|
}
|
|
@@ -106,7 +106,7 @@ function resolveLazyType(currentToken, functionExpression) {
|
|
|
106
106
|
* @return the best guess type of that expression
|
|
107
107
|
*/
|
|
108
108
|
function getTypeFromDottedGetExpression(expr, functionExpression) {
|
|
109
|
-
const currentToken = reflection_1.isCallExpression(expr) ? (expr.callee).name : expr.name;
|
|
109
|
+
const currentToken = (0, reflection_1.isCallExpression)(expr) ? (expr.callee).name : expr.name;
|
|
110
110
|
return resolveLazyType(currentToken, functionExpression);
|
|
111
111
|
}
|
|
112
112
|
exports.getTypeFromDottedGetExpression = getTypeFromDottedGetExpression;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/types/helpers.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/types/helpers.ts"],"names":[],"mappings":"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"}
|
package/dist/util.d.ts
CHANGED
|
@@ -10,14 +10,13 @@ import { FunctionType } from './types/FunctionType';
|
|
|
10
10
|
import { IntegerType } from './types/IntegerType';
|
|
11
11
|
import { InvalidType } from './types/InvalidType';
|
|
12
12
|
import { LongIntegerType } from './types/LongIntegerType';
|
|
13
|
-
import { ObjectType } from './types/ObjectType';
|
|
14
13
|
import { StringType } from './types/StringType';
|
|
15
14
|
import { VoidType } from './types/VoidType';
|
|
16
15
|
import type { DottedGetExpression, Expression, NamespacedVariableNameExpression, VariableExpression } from './parser/Expression';
|
|
17
|
-
import type { Locatable, Token } from './lexer';
|
|
16
|
+
import type { Locatable, Token } from './lexer/Token';
|
|
18
17
|
import { SourceNode } from 'source-map';
|
|
19
18
|
import { SGAttribute } from './parser/SGTypes';
|
|
20
|
-
import {
|
|
19
|
+
import type { BscType } from './types/BscType';
|
|
21
20
|
export declare class Util {
|
|
22
21
|
clearConsole(): void;
|
|
23
22
|
/**
|
|
@@ -279,7 +278,7 @@ export declare class Util {
|
|
|
279
278
|
/**
|
|
280
279
|
* Convert a token into a BscType
|
|
281
280
|
*/
|
|
282
|
-
tokenToBscType(token: Token,
|
|
281
|
+
tokenToBscType(token: Token, allowBrighterscriptTypes?: boolean, currentNamespaceName?: NamespacedVariableNameExpression): DynamicType | BscType | FloatType | FunctionType | IntegerType | LongIntegerType | StringType | BooleanType | DoubleType | InvalidType | VoidType;
|
|
283
282
|
/**
|
|
284
283
|
* Get the extension for the given file path. Basically the part after the final dot, except for
|
|
285
284
|
* `d.bs` which is treated as single extension
|
|
@@ -314,7 +313,13 @@ export declare class Util {
|
|
|
314
313
|
* Remove leading simple protocols from a path (if present)
|
|
315
314
|
*/
|
|
316
315
|
removeProtocol(pkgPath: string): string;
|
|
316
|
+
/**
|
|
317
|
+
* Converts a path into a standardized format (drive letter to lower, remove extra slashes, use single slash type, resolve relative parts, etc...)
|
|
318
|
+
*/
|
|
317
319
|
standardizePath(thePath: string): string;
|
|
320
|
+
/**
|
|
321
|
+
* Copy the version of bslib from local node_modules to the staging folder
|
|
322
|
+
*/
|
|
318
323
|
copyBslibToStaging(stagingDir: string): Promise<void>;
|
|
319
324
|
/**
|
|
320
325
|
* Given a Diagnostic or BsDiagnostic, return a copy of the diagnostic
|
|
@@ -363,12 +368,13 @@ export declare class Util {
|
|
|
363
368
|
text: string;
|
|
364
369
|
range: Range;
|
|
365
370
|
}[];
|
|
371
|
+
mdFence(code: string, language?: string): string;
|
|
366
372
|
/**
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
|
|
370
|
-
|
|
371
|
-
|
|
373
|
+
* Finds a callable from a container map based on the name AND number of arguments
|
|
374
|
+
* If the callable was called in a function in a namespace, functions in that namespace are preferred
|
|
375
|
+
* The first callable that matches the name AND will accept the number of arguments given is returned
|
|
376
|
+
* @return a callable containers that matches the call
|
|
377
|
+
*/
|
|
372
378
|
getCallableContainerByFunctionCall(callablesByLowerName: CallableContainerMap, expCall: FunctionCall): CallableContainer;
|
|
373
379
|
}
|
|
374
380
|
/**
|
package/dist/util.js
CHANGED
|
@@ -22,11 +22,13 @@ const StringType_1 = require("./types/StringType");
|
|
|
22
22
|
const VoidType_1 = require("./types/VoidType");
|
|
23
23
|
const Parser_1 = require("./parser/Parser");
|
|
24
24
|
const Logger_1 = require("./Logger");
|
|
25
|
-
const
|
|
26
|
-
const
|
|
25
|
+
const TokenKind_1 = require("./lexer/TokenKind");
|
|
26
|
+
const reflection_1 = require("./astUtils/reflection");
|
|
27
|
+
const visitors_1 = require("./astUtils/visitors");
|
|
27
28
|
const source_map_1 = require("source-map");
|
|
28
29
|
const SGTypes_1 = require("./parser/SGTypes");
|
|
29
30
|
const LazyType_1 = require("./types/LazyType");
|
|
31
|
+
const ArrayType_1 = require("./types/ArrayType");
|
|
30
32
|
class Util {
|
|
31
33
|
clearConsole() {
|
|
32
34
|
// process.stdout.write('\x1Bc');
|
|
@@ -155,10 +157,10 @@ class Util {
|
|
|
155
157
|
//load the project file
|
|
156
158
|
let projectFileContents = fsExtra.readFileSync(configFilePath).toString();
|
|
157
159
|
let parseErrors = [];
|
|
158
|
-
let projectConfig = jsonc_parser_1.parse(projectFileContents, parseErrors);
|
|
160
|
+
let projectConfig = (0, jsonc_parser_1.parse)(projectFileContents, parseErrors);
|
|
159
161
|
if (parseErrors.length > 0) {
|
|
160
162
|
let err = parseErrors[0];
|
|
161
|
-
let diagnostic = Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.bsConfigJsonHasSyntaxErrors(jsonc_parser_1.printParseErrorCode(parseErrors[0].error))), { file: {
|
|
163
|
+
let diagnostic = Object.assign(Object.assign({}, DiagnosticMessages_1.DiagnosticMessages.bsConfigJsonHasSyntaxErrors((0, jsonc_parser_1.printParseErrorCode)(parseErrors[0].error))), { file: {
|
|
162
164
|
srcPath: configFilePath
|
|
163
165
|
}, range: this.getRangeFromOffsetLength(projectFileContents, err.offset, err.length) });
|
|
164
166
|
throw diagnostic; //eslint-disable-line @typescript-eslint/no-throw-literal
|
|
@@ -425,10 +427,10 @@ class Util {
|
|
|
425
427
|
findBeginningVariableExpression(dottedGet) {
|
|
426
428
|
let left = dottedGet;
|
|
427
429
|
while (left) {
|
|
428
|
-
if (
|
|
430
|
+
if ((0, reflection_1.isVariableExpression)(left)) {
|
|
429
431
|
return left;
|
|
430
432
|
}
|
|
431
|
-
else if (
|
|
433
|
+
else if ((0, reflection_1.isDottedGetExpression)(left)) {
|
|
432
434
|
left = left.obj;
|
|
433
435
|
}
|
|
434
436
|
else {
|
|
@@ -599,11 +601,12 @@ class Util {
|
|
|
599
601
|
*/
|
|
600
602
|
diagnosticIsSuppressed(diagnostic) {
|
|
601
603
|
var _a, _b;
|
|
604
|
+
const diagnosticCode = typeof diagnostic.code === 'string' ? diagnostic.code.toLowerCase() : diagnostic.code;
|
|
602
605
|
for (let flag of (_b = (_a = diagnostic.file) === null || _a === void 0 ? void 0 : _a.commentFlags) !== null && _b !== void 0 ? _b : []) {
|
|
603
606
|
//this diagnostic is affected by this flag
|
|
604
607
|
if (this.rangeContains(flag.affectedRange, diagnostic.range.start)) {
|
|
605
608
|
//if the flag acts upon this diagnostic's code
|
|
606
|
-
if (flag.codes === null || flag.codes.includes(
|
|
609
|
+
if (flag.codes === null || flag.codes.includes(diagnosticCode)) {
|
|
607
610
|
return true;
|
|
608
611
|
}
|
|
609
612
|
}
|
|
@@ -862,74 +865,106 @@ class Util {
|
|
|
862
865
|
/**
|
|
863
866
|
* Convert a token into a BscType
|
|
864
867
|
*/
|
|
865
|
-
tokenToBscType(token,
|
|
868
|
+
tokenToBscType(token, allowBrighterscriptTypes = true, currentNamespaceName) {
|
|
869
|
+
var _a;
|
|
866
870
|
if (!token) {
|
|
867
871
|
return new DynamicType_1.DynamicType();
|
|
868
872
|
}
|
|
869
873
|
// eslint-disable-next-line @typescript-eslint/switch-exhaustiveness-check
|
|
870
874
|
switch (token.kind) {
|
|
871
|
-
case
|
|
872
|
-
case
|
|
873
|
-
case
|
|
875
|
+
case TokenKind_1.TokenKind.Boolean:
|
|
876
|
+
case TokenKind_1.TokenKind.True:
|
|
877
|
+
case TokenKind_1.TokenKind.False:
|
|
874
878
|
return new BooleanType_1.BooleanType();
|
|
875
|
-
case
|
|
876
|
-
case
|
|
879
|
+
case TokenKind_1.TokenKind.Double:
|
|
880
|
+
case TokenKind_1.TokenKind.DoubleLiteral:
|
|
877
881
|
return new DoubleType_1.DoubleType();
|
|
878
|
-
case
|
|
882
|
+
case TokenKind_1.TokenKind.Dynamic:
|
|
879
883
|
return new DynamicType_1.DynamicType();
|
|
880
|
-
case
|
|
881
|
-
case
|
|
884
|
+
case TokenKind_1.TokenKind.Float:
|
|
885
|
+
case TokenKind_1.TokenKind.FloatLiteral:
|
|
882
886
|
return new FloatType_1.FloatType();
|
|
883
|
-
case
|
|
887
|
+
case TokenKind_1.TokenKind.Function:
|
|
884
888
|
//TODO should there be a more generic function type without a signature that's assignable to all other function types?
|
|
885
889
|
return new FunctionType_1.FunctionType(new DynamicType_1.DynamicType());
|
|
886
|
-
case
|
|
887
|
-
case
|
|
890
|
+
case TokenKind_1.TokenKind.Integer:
|
|
891
|
+
case TokenKind_1.TokenKind.IntegerLiteral:
|
|
888
892
|
return new IntegerType_1.IntegerType();
|
|
889
|
-
case
|
|
893
|
+
case TokenKind_1.TokenKind.Invalid:
|
|
890
894
|
return new InvalidType_1.InvalidType();
|
|
891
|
-
case
|
|
892
|
-
case
|
|
895
|
+
case TokenKind_1.TokenKind.LongInteger:
|
|
896
|
+
case TokenKind_1.TokenKind.LongIntegerLiteral:
|
|
893
897
|
return new LongIntegerType_1.LongIntegerType();
|
|
894
|
-
case
|
|
898
|
+
case TokenKind_1.TokenKind.Object:
|
|
895
899
|
return new ObjectType_1.ObjectType();
|
|
896
|
-
case
|
|
897
|
-
case
|
|
898
|
-
case
|
|
899
|
-
case
|
|
900
|
-
case
|
|
900
|
+
case TokenKind_1.TokenKind.String:
|
|
901
|
+
case TokenKind_1.TokenKind.StringLiteral:
|
|
902
|
+
case TokenKind_1.TokenKind.TemplateStringExpressionBegin:
|
|
903
|
+
case TokenKind_1.TokenKind.TemplateStringExpressionEnd:
|
|
904
|
+
case TokenKind_1.TokenKind.TemplateStringQuasi:
|
|
901
905
|
return new StringType_1.StringType();
|
|
902
|
-
case
|
|
906
|
+
case TokenKind_1.TokenKind.Void:
|
|
903
907
|
return new VoidType_1.VoidType();
|
|
904
|
-
case
|
|
905
|
-
|
|
908
|
+
case TokenKind_1.TokenKind.Identifier:
|
|
909
|
+
let tokenText = token.text.replace(/\s/g, '').toLowerCase();
|
|
910
|
+
// regular expression to find a type with optional pair of square brackets afterwards
|
|
911
|
+
const regex = /([\w._]+)(\[\]){0,1}/;
|
|
912
|
+
const found = regex.exec(tokenText);
|
|
913
|
+
const typeText = (_a = found[1]) !== null && _a !== void 0 ? _a : tokenText;
|
|
914
|
+
const isArray = !!found[2];
|
|
915
|
+
let typeClass;
|
|
916
|
+
switch (typeText) {
|
|
906
917
|
case 'boolean':
|
|
907
|
-
|
|
918
|
+
typeClass = new BooleanType_1.BooleanType();
|
|
919
|
+
break;
|
|
908
920
|
case 'double':
|
|
909
|
-
|
|
921
|
+
typeClass = new DoubleType_1.DoubleType();
|
|
922
|
+
break;
|
|
910
923
|
case 'float':
|
|
911
|
-
|
|
924
|
+
typeClass = new FloatType_1.FloatType();
|
|
925
|
+
break;
|
|
912
926
|
case 'function':
|
|
913
|
-
|
|
927
|
+
typeClass = new FunctionType_1.FunctionType(new DynamicType_1.DynamicType());
|
|
928
|
+
break;
|
|
914
929
|
case 'integer':
|
|
915
|
-
|
|
930
|
+
typeClass = new IntegerType_1.IntegerType();
|
|
931
|
+
break;
|
|
916
932
|
case 'invalid':
|
|
917
|
-
|
|
933
|
+
typeClass = new InvalidType_1.InvalidType();
|
|
934
|
+
break;
|
|
918
935
|
case 'longinteger':
|
|
919
|
-
|
|
936
|
+
typeClass = new LongIntegerType_1.LongIntegerType();
|
|
937
|
+
break;
|
|
920
938
|
case 'object':
|
|
921
|
-
|
|
939
|
+
typeClass = new ObjectType_1.ObjectType();
|
|
940
|
+
break;
|
|
922
941
|
case 'string':
|
|
923
|
-
|
|
942
|
+
typeClass = new StringType_1.StringType();
|
|
943
|
+
break;
|
|
924
944
|
case 'void':
|
|
925
|
-
|
|
945
|
+
typeClass = new VoidType_1.VoidType();
|
|
946
|
+
break;
|
|
947
|
+
case 'dynamic':
|
|
948
|
+
typeClass = new DynamicType_1.DynamicType();
|
|
949
|
+
break;
|
|
926
950
|
}
|
|
927
|
-
if (
|
|
928
|
-
|
|
951
|
+
if (!typeClass && allowBrighterscriptTypes) {
|
|
952
|
+
typeClass = new LazyType_1.LazyType((context) => {
|
|
929
953
|
var _a, _b;
|
|
930
|
-
return (_b = (_a = context === null || context === void 0 ? void 0 : context.scope) === null || _a === void 0 ? void 0 : _a.getClass(
|
|
954
|
+
return (_b = (_a = context === null || context === void 0 ? void 0 : context.scope) === null || _a === void 0 ? void 0 : _a.getClass(typeText, currentNamespaceName === null || currentNamespaceName === void 0 ? void 0 : currentNamespaceName.getName())) === null || _b === void 0 ? void 0 : _b.getCustomType();
|
|
931
955
|
});
|
|
932
956
|
}
|
|
957
|
+
// TODO: Can Arrays be of inner type invalid or void?
|
|
958
|
+
// If this token denotes an array (e.g. ends in `[]`) then may it an array with correct inner type
|
|
959
|
+
if (allowBrighterscriptTypes && isArray) {
|
|
960
|
+
typeClass = new ArrayType_1.ArrayType(typeClass);
|
|
961
|
+
}
|
|
962
|
+
else if (!allowBrighterscriptTypes && isArray) {
|
|
963
|
+
// we shouldn't allow array types to be defined when not in Brighterscript mode
|
|
964
|
+
// so a type like `string[]` wouldn't be defined
|
|
965
|
+
return undefined;
|
|
966
|
+
}
|
|
967
|
+
return typeClass;
|
|
933
968
|
}
|
|
934
969
|
}
|
|
935
970
|
/**
|
|
@@ -1010,19 +1045,22 @@ class Util {
|
|
|
1010
1045
|
const expressions = [expression];
|
|
1011
1046
|
const variableExpressions = [];
|
|
1012
1047
|
const uniqueVarNames = new Set();
|
|
1013
|
-
|
|
1014
|
-
|
|
1015
|
-
expression === null || expression === void 0 ? void 0 : expression.walk((expression) => {
|
|
1016
|
-
if (astUtils_1.isExpression(expression)) {
|
|
1048
|
+
function expressionWalker(expression) {
|
|
1049
|
+
if ((0, reflection_1.isExpression)(expression)) {
|
|
1017
1050
|
expressions.push(expression);
|
|
1018
1051
|
}
|
|
1019
|
-
if (
|
|
1052
|
+
if ((0, reflection_1.isVariableExpression)(expression)) {
|
|
1020
1053
|
variableExpressions.push(expression);
|
|
1021
1054
|
uniqueVarNames.add(expression.name.text);
|
|
1022
1055
|
}
|
|
1023
|
-
}
|
|
1024
|
-
|
|
1056
|
+
}
|
|
1057
|
+
// Collect all expressions. Most of these expressions are fairly small so this should be quick!
|
|
1058
|
+
// This should only be called during transpile time and only when we actually need it.
|
|
1059
|
+
expression === null || expression === void 0 ? void 0 : expression.walk(expressionWalker, {
|
|
1060
|
+
walkMode: visitors_1.WalkMode.visitExpressions
|
|
1025
1061
|
});
|
|
1062
|
+
//handle the expression itself (for situations when expression is a VariableExpression)
|
|
1063
|
+
expressionWalker(expression);
|
|
1026
1064
|
return { expressions: expressions, varExpressions: variableExpressions, uniqueVarNames: [...uniqueVarNames] };
|
|
1027
1065
|
}
|
|
1028
1066
|
/**
|
|
@@ -1072,10 +1110,13 @@ class Util {
|
|
|
1072
1110
|
return pkgPath;
|
|
1073
1111
|
}
|
|
1074
1112
|
}
|
|
1113
|
+
/**
|
|
1114
|
+
* Converts a path into a standardized format (drive letter to lower, remove extra slashes, use single slash type, resolve relative parts, etc...)
|
|
1115
|
+
*/
|
|
1075
1116
|
standardizePath(thePath) {
|
|
1076
1117
|
return exports.util.driveLetterToLower(rokuDeploy.standardizePath(thePath));
|
|
1077
1118
|
}
|
|
1078
|
-
|
|
1119
|
+
/**
|
|
1079
1120
|
* Copy the version of bslib from local node_modules to the staging folder
|
|
1080
1121
|
*/
|
|
1081
1122
|
async copyBslibToStaging(stagingDir) {
|
|
@@ -1239,12 +1280,18 @@ class Util {
|
|
|
1239
1280
|
}
|
|
1240
1281
|
return result;
|
|
1241
1282
|
}
|
|
1283
|
+
/*
|
|
1284
|
+
* Wrap the given code in a markdown code fence (with the language)
|
|
1285
|
+
*/
|
|
1286
|
+
mdFence(code, language = '') {
|
|
1287
|
+
return '```' + language + '\n' + code + '\n```';
|
|
1288
|
+
}
|
|
1242
1289
|
/**
|
|
1243
|
-
|
|
1244
|
-
|
|
1245
|
-
|
|
1246
|
-
|
|
1247
|
-
|
|
1290
|
+
* Finds a callable from a container map based on the name AND number of arguments
|
|
1291
|
+
* If the callable was called in a function in a namespace, functions in that namespace are preferred
|
|
1292
|
+
* The first callable that matches the name AND will accept the number of arguments given is returned
|
|
1293
|
+
* @return a callable containers that matches the call
|
|
1294
|
+
*/
|
|
1248
1295
|
getCallableContainerByFunctionCall(callablesByLowerName, expCall) {
|
|
1249
1296
|
const callablesWithThisName = this.getCallableContainersByName(callablesByLowerName, expCall);
|
|
1250
1297
|
if ((callablesWithThisName === null || callablesWithThisName === void 0 ? void 0 : callablesWithThisName.length) > 0) {
|
package/dist/util.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"util.js","sourceRoot":"","sources":["../src/util.ts"],"names":[],"mappings":"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"}
|