brighterscript 1.0.0-alpha.26 → 1.0.0-alpha.28
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 +82 -5
- package/README.md +1 -1
- package/dist/AstValidationSegmenter.d.ts +1 -1
- package/dist/AstValidationSegmenter.js +4 -5
- package/dist/AstValidationSegmenter.js.map +1 -1
- package/dist/DiagnosticFilterer.d.ts +7 -4
- package/dist/DiagnosticFilterer.js +67 -37
- package/dist/DiagnosticFilterer.js.map +1 -1
- package/dist/DiagnosticMessages.d.ts +1 -3
- package/dist/DiagnosticMessages.js +5 -8
- package/dist/DiagnosticMessages.js.map +1 -1
- package/dist/PluginInterface.js +1 -1
- package/dist/PluginInterface.js.map +1 -1
- package/dist/Program.d.ts +1 -1
- package/dist/Program.js +34 -31
- package/dist/Program.js.map +1 -1
- package/dist/Scope.d.ts +7 -34
- package/dist/Scope.js +45 -305
- package/dist/Scope.js.map +1 -1
- package/dist/SymbolTable.d.ts +1 -8
- package/dist/SymbolTable.js +1 -10
- package/dist/SymbolTable.js.map +1 -1
- package/dist/SymbolTypeFlag.d.ts +8 -0
- package/dist/SymbolTypeFlag.js +13 -0
- package/dist/SymbolTypeFlag.js.map +1 -0
- package/dist/XmlScope.d.ts +0 -8
- package/dist/XmlScope.js +6 -84
- package/dist/XmlScope.js.map +1 -1
- package/dist/astUtils/CachedLookups.d.ts +1 -2
- package/dist/astUtils/CachedLookups.js +4 -19
- package/dist/astUtils/CachedLookups.js.map +1 -1
- package/dist/astUtils/creators.d.ts +1 -0
- package/dist/astUtils/creators.js +48 -8
- 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 +3 -2
- package/dist/astUtils/reflection.js +11 -7
- package/dist/astUtils/reflection.js.map +1 -1
- package/dist/astUtils/reflection.spec.js +11 -16
- package/dist/astUtils/reflection.spec.js.map +1 -1
- package/dist/astUtils/visitors.d.ts +1 -2
- package/dist/astUtils/visitors.js.map +1 -1
- package/dist/astUtils/visitors.spec.js +1 -5
- package/dist/astUtils/visitors.spec.js.map +1 -1
- package/dist/bscPlugin/BscPlugin.d.ts +2 -1
- package/dist/bscPlugin/BscPlugin.js +4 -0
- package/dist/bscPlugin/BscPlugin.js.map +1 -1
- package/dist/bscPlugin/SignatureHelpUtil.js +4 -3
- package/dist/bscPlugin/SignatureHelpUtil.js.map +1 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.d.ts +1 -0
- package/dist/bscPlugin/completions/CompletionsProcessor.js +46 -29
- package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.spec.js +39 -0
- package/dist/bscPlugin/completions/CompletionsProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/hover/HoverProcessor.d.ts +1 -0
- package/dist/bscPlugin/hover/HoverProcessor.js +30 -10
- package/dist/bscPlugin/hover/HoverProcessor.js.map +1 -1
- package/dist/bscPlugin/hover/HoverProcessor.spec.js +125 -7
- 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.d.ts +1 -0
- package/dist/bscPlugin/references/ReferencesProvider.spec.js +51 -0
- package/dist/bscPlugin/references/ReferencesProvider.spec.js.map +1 -0
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js +2 -3
- package/dist/bscPlugin/semanticTokens/BrsFileSemanticTokensProcessor.js.map +1 -1
- package/dist/bscPlugin/validation/BrsFileValidator.js +25 -31
- package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
- package/dist/bscPlugin/validation/ScopeValidator.d.ts +34 -1
- package/dist/bscPlugin/validation/ScopeValidator.js +435 -27
- package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
- package/dist/bscPlugin/validation/ScopeValidator.spec.js +178 -10
- package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +1 -1
- package/dist/diagnosticUtils.d.ts +1 -1
- package/dist/files/BrsFile.Class.spec.js +15 -7
- package/dist/files/BrsFile.Class.spec.js.map +1 -1
- package/dist/files/BrsFile.d.ts +14 -5
- package/dist/files/BrsFile.js +83 -150
- package/dist/files/BrsFile.js.map +1 -1
- package/dist/files/BrsFile.spec.js +429 -162
- package/dist/files/BrsFile.spec.js.map +1 -1
- package/dist/files/XmlFile.d.ts +2 -3
- package/dist/files/XmlFile.js +1 -3
- package/dist/files/XmlFile.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +1 -0
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +117 -85
- package/dist/interfaces.js +9 -9
- package/dist/interfaces.js.map +1 -1
- package/dist/lexer/Lexer.d.ts +9 -3
- package/dist/lexer/Lexer.js +36 -15
- package/dist/lexer/Lexer.js.map +1 -1
- package/dist/lexer/Lexer.spec.js +76 -38
- package/dist/lexer/Lexer.spec.js.map +1 -1
- package/dist/lexer/Token.js +1 -1
- package/dist/lexer/Token.js.map +1 -1
- package/dist/lexer/TokenKind.d.ts +1 -0
- package/dist/lexer/TokenKind.js +4 -1
- package/dist/lexer/TokenKind.js.map +1 -1
- package/dist/parser/AstNode.d.ts +1 -2
- package/dist/parser/AstNode.js +0 -1
- package/dist/parser/AstNode.js.map +1 -1
- package/dist/parser/BrsTranspileState.d.ts +1 -1
- package/dist/parser/Expression.d.ts +153 -135
- package/dist/parser/Expression.js +204 -114
- package/dist/parser/Expression.js.map +1 -1
- package/dist/parser/Parser.Class.spec.js +15 -16
- package/dist/parser/Parser.Class.spec.js.map +1 -1
- package/dist/parser/Parser.d.ts +8 -4
- package/dist/parser/Parser.js +108 -149
- package/dist/parser/Parser.js.map +1 -1
- package/dist/parser/Parser.spec.js +48 -72
- package/dist/parser/Parser.spec.js.map +1 -1
- package/dist/parser/SGParser.js +49 -35
- package/dist/parser/SGParser.js.map +1 -1
- package/dist/parser/SGTypes.d.ts +36 -24
- package/dist/parser/SGTypes.js +31 -60
- package/dist/parser/SGTypes.js.map +1 -1
- package/dist/parser/Statement.d.ts +214 -207
- package/dist/parser/Statement.js +248 -169
- package/dist/parser/Statement.js.map +1 -1
- package/dist/parser/Statement.spec.js +0 -13
- package/dist/parser/Statement.spec.js.map +1 -1
- package/dist/parser/TranspileState.d.ts +17 -8
- package/dist/parser/TranspileState.js +64 -6
- package/dist/parser/TranspileState.js.map +1 -1
- package/dist/parser/tests/Parser.spec.d.ts +1 -1
- package/dist/parser/tests/Parser.spec.js +1 -2
- package/dist/parser/tests/Parser.spec.js.map +1 -1
- package/dist/parser/tests/controlFlow/If.spec.js +1 -1
- package/dist/parser/tests/controlFlow/If.spec.js.map +1 -1
- package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +1 -3
- package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js.map +1 -1
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js +44 -0
- package/dist/parser/tests/expression/NullCoalescenceExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js +6 -6
- package/dist/parser/tests/expression/TernaryExpression.spec.js +47 -0
- package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/TypeExpression.spec.js +8 -9
- package/dist/parser/tests/expression/TypeExpression.spec.js.map +1 -1
- package/dist/parser/tests/statement/ConstStatement.spec.js +2 -2
- package/dist/parser/tests/statement/InterfaceStatement.spec.js +8 -1
- package/dist/parser/tests/statement/InterfaceStatement.spec.js.map +1 -1
- package/dist/parser/tests/statement/Misc.spec.js +25 -5
- package/dist/parser/tests/statement/Misc.spec.js.map +1 -1
- package/dist/parser/tests/statement/TryCatch.spec.js +9 -2
- 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/PreprocessorParser.js +2 -1
- package/dist/preprocessor/PreprocessorParser.js.map +1 -1
- package/dist/roku-types/data.json +70 -52
- package/dist/roku-types/index.d.ts +43 -21
- package/dist/types/ArrayType.js +1 -2
- package/dist/types/ArrayType.js.map +1 -1
- package/dist/types/ArrayType.spec.js +7 -8
- package/dist/types/ArrayType.spec.js.map +1 -1
- package/dist/types/AssociativeArrayType.d.ts +3 -0
- package/dist/types/AssociativeArrayType.js +10 -2
- package/dist/types/AssociativeArrayType.js.map +1 -1
- package/dist/types/BscType.d.ts +1 -1
- package/dist/types/BscType.js +3 -3
- package/dist/types/BscType.js.map +1 -1
- package/dist/types/BuiltInInterfaceAdder.js +7 -8
- package/dist/types/BuiltInInterfaceAdder.js.map +1 -1
- package/dist/types/BuiltInInterfaceAdder.spec.js +31 -32
- package/dist/types/BuiltInInterfaceAdder.spec.js.map +1 -1
- package/dist/types/ClassType.spec.js +10 -11
- package/dist/types/ClassType.spec.js.map +1 -1
- package/dist/types/ComponentType.d.ts +2 -1
- package/dist/types/ComponentType.js.map +1 -1
- package/dist/types/EnumType.js +2 -3
- package/dist/types/EnumType.js.map +1 -1
- package/dist/types/InheritableType.js +3 -4
- package/dist/types/InheritableType.js.map +1 -1
- package/dist/types/InterfaceType.js +2 -3
- package/dist/types/InterfaceType.js.map +1 -1
- package/dist/types/InterfaceType.spec.js +3 -4
- package/dist/types/InterfaceType.spec.js.map +1 -1
- package/dist/types/ObjectType.js +1 -2
- package/dist/types/ObjectType.js.map +1 -1
- package/dist/types/ReferenceType.d.ts +1 -1
- package/dist/types/ReferenceType.spec.js +21 -22
- package/dist/types/ReferenceType.spec.js.map +1 -1
- package/dist/types/UnionType.js +3 -3
- package/dist/types/UnionType.js.map +1 -1
- package/dist/types/UnionType.spec.js +37 -38
- package/dist/types/UnionType.spec.js.map +1 -1
- package/dist/types/helper.spec.js +4 -5
- package/dist/types/helper.spec.js.map +1 -1
- package/dist/util.d.ts +21 -11
- package/dist/util.js +116 -37
- package/dist/util.js.map +1 -1
- package/dist/validators/ClassValidator.d.ts +0 -9
- package/dist/validators/ClassValidator.js +3 -46
- package/dist/validators/ClassValidator.js.map +1 -1
- package/package.json +6 -3
|
@@ -6,20 +6,19 @@ const IntegerType_1 = require("./IntegerType");
|
|
|
6
6
|
const UnionType_1 = require("./UnionType");
|
|
7
7
|
const FloatType_1 = require("./FloatType");
|
|
8
8
|
const InterfaceType_1 = require("./InterfaceType");
|
|
9
|
-
const SymbolTable_1 = require("../SymbolTable");
|
|
10
9
|
const BooleanType_1 = require("./BooleanType");
|
|
11
10
|
const testHelpers_spec_1 = require("../testHelpers.spec");
|
|
12
11
|
const reflection_1 = require("../astUtils/reflection");
|
|
13
12
|
describe('UnionType', () => {
|
|
14
13
|
it('can be assigned to by anything that can be assigned to an included type', () => {
|
|
15
14
|
const parentIFace = new InterfaceType_1.InterfaceType('IfaceParent');
|
|
16
|
-
parentIFace.addMember('name', null, StringType_1.StringType.instance,
|
|
15
|
+
parentIFace.addMember('name', null, StringType_1.StringType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
17
16
|
const iFace = new InterfaceType_1.InterfaceType('IfaceChild', parentIFace);
|
|
18
|
-
iFace.addMember('age', null, IntegerType_1.IntegerType.instance,
|
|
17
|
+
iFace.addMember('age', null, IntegerType_1.IntegerType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
19
18
|
const otheriFaceWithSameMembers = new InterfaceType_1.InterfaceType('OtherIface');
|
|
20
|
-
otheriFaceWithSameMembers.addMember('name', null, StringType_1.StringType.instance,
|
|
21
|
-
otheriFaceWithSameMembers.addMember('age', null, IntegerType_1.IntegerType.instance,
|
|
22
|
-
otheriFaceWithSameMembers.addMember('height', null, FloatType_1.FloatType.instance,
|
|
19
|
+
otheriFaceWithSameMembers.addMember('name', null, StringType_1.StringType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
20
|
+
otheriFaceWithSameMembers.addMember('age', null, IntegerType_1.IntegerType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
21
|
+
otheriFaceWithSameMembers.addMember('height', null, FloatType_1.FloatType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
23
22
|
const myUnion = new UnionType_1.UnionType([FloatType_1.FloatType.instance, iFace, StringType_1.StringType.instance]);
|
|
24
23
|
(0, chai_1.expect)(myUnion.isTypeCompatible(FloatType_1.FloatType.instance)).to.be.true;
|
|
25
24
|
(0, chai_1.expect)(myUnion.isTypeCompatible(StringType_1.StringType.instance)).to.be.true;
|
|
@@ -34,39 +33,39 @@ describe('UnionType', () => {
|
|
|
34
33
|
});
|
|
35
34
|
it('can assign to a more general Union with interfaces', () => {
|
|
36
35
|
const parentIFace = new InterfaceType_1.InterfaceType('IfaceParent');
|
|
37
|
-
parentIFace.addMember('name', null, StringType_1.StringType.instance,
|
|
36
|
+
parentIFace.addMember('name', null, StringType_1.StringType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
38
37
|
const iFace = new InterfaceType_1.InterfaceType('IfaceChild', parentIFace);
|
|
39
|
-
iFace.addMember('age', null, IntegerType_1.IntegerType.instance,
|
|
40
|
-
iFace.addMember('height', null, FloatType_1.FloatType.instance,
|
|
38
|
+
iFace.addMember('age', null, IntegerType_1.IntegerType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
39
|
+
iFace.addMember('height', null, FloatType_1.FloatType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
41
40
|
const myUnion = new UnionType_1.UnionType([FloatType_1.FloatType.instance, iFace, StringType_1.StringType.instance, BooleanType_1.BooleanType.instance]);
|
|
42
41
|
const otheriFaceWithSameMembers = new InterfaceType_1.InterfaceType('OtherIface');
|
|
43
|
-
otheriFaceWithSameMembers.addMember('name', null, StringType_1.StringType.instance,
|
|
44
|
-
otheriFaceWithSameMembers.addMember('age', null, IntegerType_1.IntegerType.instance,
|
|
45
|
-
otheriFaceWithSameMembers.addMember('height', null, FloatType_1.FloatType.instance,
|
|
42
|
+
otheriFaceWithSameMembers.addMember('name', null, StringType_1.StringType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
43
|
+
otheriFaceWithSameMembers.addMember('age', null, IntegerType_1.IntegerType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
44
|
+
otheriFaceWithSameMembers.addMember('height', null, FloatType_1.FloatType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
46
45
|
const otherUnion = new UnionType_1.UnionType([FloatType_1.FloatType.instance, otheriFaceWithSameMembers, StringType_1.StringType.instance]);
|
|
47
46
|
(0, chai_1.expect)(myUnion.isTypeCompatible(otherUnion)).to.be.true;
|
|
48
47
|
(0, chai_1.expect)(otherUnion.isTypeCompatible(myUnion)).to.be.false;
|
|
49
48
|
});
|
|
50
49
|
it('will get a string representation in order given', () => {
|
|
51
50
|
const iFace1 = new InterfaceType_1.InterfaceType('SomeIface');
|
|
52
|
-
iFace1.addMember('age', null, IntegerType_1.IntegerType.instance,
|
|
53
|
-
iFace1.addMember('name', null, StringType_1.StringType.instance,
|
|
54
|
-
iFace1.addMember('height', null, FloatType_1.FloatType.instance,
|
|
51
|
+
iFace1.addMember('age', null, IntegerType_1.IntegerType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
52
|
+
iFace1.addMember('name', null, StringType_1.StringType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
53
|
+
iFace1.addMember('height', null, FloatType_1.FloatType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
55
54
|
const myUnion = new UnionType_1.UnionType([FloatType_1.FloatType.instance, StringType_1.StringType.instance, BooleanType_1.BooleanType.instance, iFace1]);
|
|
56
55
|
(0, chai_1.expect)(myUnion.toString()).to.eq('float or string or boolean or SomeIface');
|
|
57
56
|
});
|
|
58
57
|
describe('getMemberType', () => {
|
|
59
58
|
it('will find the union of inner types', () => {
|
|
60
59
|
const iFace1 = new InterfaceType_1.InterfaceType('iFace1');
|
|
61
|
-
iFace1.addMember('age', null, IntegerType_1.IntegerType.instance,
|
|
62
|
-
iFace1.addMember('name', null, StringType_1.StringType.instance,
|
|
63
|
-
iFace1.addMember('height', null, FloatType_1.FloatType.instance,
|
|
60
|
+
iFace1.addMember('age', null, IntegerType_1.IntegerType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
61
|
+
iFace1.addMember('name', null, StringType_1.StringType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
62
|
+
iFace1.addMember('height', null, FloatType_1.FloatType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
64
63
|
const iFace2 = new InterfaceType_1.InterfaceType('iFace2');
|
|
65
|
-
iFace2.addMember('age', null, IntegerType_1.IntegerType.instance,
|
|
66
|
-
iFace2.addMember('name', null, StringType_1.StringType.instance,
|
|
67
|
-
iFace2.addMember('height', null, StringType_1.StringType.instance,
|
|
64
|
+
iFace2.addMember('age', null, IntegerType_1.IntegerType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
65
|
+
iFace2.addMember('name', null, StringType_1.StringType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
66
|
+
iFace2.addMember('height', null, StringType_1.StringType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
68
67
|
const myUnion = new UnionType_1.UnionType([iFace1, iFace2]);
|
|
69
|
-
const options = { flags:
|
|
68
|
+
const options = { flags: 1 /* SymbolTypeFlag.runtime */ };
|
|
70
69
|
const ageType = myUnion.getMemberType('age', options);
|
|
71
70
|
(0, testHelpers_spec_1.expectTypeToBe)(ageType, IntegerType_1.IntegerType);
|
|
72
71
|
const nameType = myUnion.getMemberType('name', options);
|
|
@@ -79,14 +78,14 @@ describe('UnionType', () => {
|
|
|
79
78
|
});
|
|
80
79
|
it('will return reference types if any inner type does not include the member', () => {
|
|
81
80
|
const iFace1 = new InterfaceType_1.InterfaceType('iFace1');
|
|
82
|
-
iFace1.addMember('age', null, IntegerType_1.IntegerType.instance,
|
|
83
|
-
iFace1.addMember('name', null, StringType_1.StringType.instance,
|
|
84
|
-
iFace1.addMember('height', null, FloatType_1.FloatType.instance,
|
|
81
|
+
iFace1.addMember('age', null, IntegerType_1.IntegerType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
82
|
+
iFace1.addMember('name', null, StringType_1.StringType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
83
|
+
iFace1.addMember('height', null, FloatType_1.FloatType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
85
84
|
const iFace2 = new InterfaceType_1.InterfaceType('iFace2');
|
|
86
|
-
iFace2.addMember('age', null, IntegerType_1.IntegerType.instance,
|
|
87
|
-
iFace2.addMember('name', null, StringType_1.StringType.instance,
|
|
85
|
+
iFace2.addMember('age', null, IntegerType_1.IntegerType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
86
|
+
iFace2.addMember('name', null, StringType_1.StringType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
88
87
|
const myUnion = new UnionType_1.UnionType([iFace1, iFace2]);
|
|
89
|
-
const options = { flags:
|
|
88
|
+
const options = { flags: 1 /* SymbolTypeFlag.runtime */ };
|
|
90
89
|
const heightType1 = myUnion.getMemberType('height', options);
|
|
91
90
|
(0, testHelpers_spec_1.expectTypeToBe)(heightType1, UnionType_1.UnionType);
|
|
92
91
|
const heightTypes1 = heightType1.types;
|
|
@@ -95,7 +94,7 @@ describe('UnionType', () => {
|
|
|
95
94
|
// height does not exist in iFace2
|
|
96
95
|
(0, chai_1.expect)((0, reflection_1.isReferenceType)(heightTypes1[1])).to.be.true;
|
|
97
96
|
(0, chai_1.expect)(heightTypes1[1].isResolvable()).to.be.false;
|
|
98
|
-
iFace2.addMember('height', null, FloatType_1.FloatType.instance,
|
|
97
|
+
iFace2.addMember('height', null, FloatType_1.FloatType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
99
98
|
const heightType2 = myUnion.getMemberType('height', options);
|
|
100
99
|
(0, testHelpers_spec_1.expectTypeToBe)(heightType2, FloatType_1.FloatType);
|
|
101
100
|
});
|
|
@@ -103,18 +102,18 @@ describe('UnionType', () => {
|
|
|
103
102
|
describe('getMemberTable', () => {
|
|
104
103
|
it('get an intersection of all member types', () => {
|
|
105
104
|
const iFace1 = new InterfaceType_1.InterfaceType('iFace1');
|
|
106
|
-
iFace1.addMember('age', null, IntegerType_1.IntegerType.instance,
|
|
107
|
-
iFace1.addMember('name', null, StringType_1.StringType.instance,
|
|
108
|
-
iFace1.addMember('height', null, FloatType_1.FloatType.instance,
|
|
109
|
-
iFace1.addMember('weight', null, FloatType_1.FloatType.instance,
|
|
105
|
+
iFace1.addMember('age', null, IntegerType_1.IntegerType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
106
|
+
iFace1.addMember('name', null, StringType_1.StringType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
107
|
+
iFace1.addMember('height', null, FloatType_1.FloatType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
108
|
+
iFace1.addMember('weight', null, FloatType_1.FloatType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
110
109
|
const iFace2 = new InterfaceType_1.InterfaceType('iFace2');
|
|
111
|
-
iFace2.addMember('age', null, IntegerType_1.IntegerType.instance,
|
|
112
|
-
iFace2.addMember('name', null, StringType_1.StringType.instance,
|
|
113
|
-
iFace2.addMember('height', null, StringType_1.StringType.instance,
|
|
114
|
-
iFace2.addMember('address', null, StringType_1.StringType.instance,
|
|
110
|
+
iFace2.addMember('age', null, IntegerType_1.IntegerType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
111
|
+
iFace2.addMember('name', null, StringType_1.StringType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
112
|
+
iFace2.addMember('height', null, StringType_1.StringType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
113
|
+
iFace2.addMember('address', null, StringType_1.StringType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
115
114
|
const myUnion = new UnionType_1.UnionType([iFace1, iFace2]);
|
|
116
115
|
const unionMemberTable = myUnion.getMemberTable();
|
|
117
|
-
const options = { flags:
|
|
116
|
+
const options = { flags: 1 /* SymbolTypeFlag.runtime */ };
|
|
118
117
|
(0, testHelpers_spec_1.expectTypeToBe)(unionMemberTable.getSymbolType('age', options), IntegerType_1.IntegerType);
|
|
119
118
|
(0, testHelpers_spec_1.expectTypeToBe)(unionMemberTable.getSymbolType('name', options), StringType_1.StringType);
|
|
120
119
|
const heightType1 = unionMemberTable.getSymbolType('height', options);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UnionType.spec.js","sourceRoot":"","sources":["../../src/types/UnionType.spec.ts"],"names":[],"mappings":";;AAAA,+BAA8B;AAC9B,6CAA0C;AAC1C,+CAA4C;AAC5C,2CAAwC;AACxC,2CAAwC;AACxC,mDAAgD;
|
|
1
|
+
{"version":3,"file":"UnionType.spec.js","sourceRoot":"","sources":["../../src/types/UnionType.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -11,7 +11,6 @@ const StringType_1 = require("./StringType");
|
|
|
11
11
|
const UnionType_1 = require("./UnionType");
|
|
12
12
|
const helpers_1 = require("./helpers");
|
|
13
13
|
const InterfaceType_1 = require("./InterfaceType");
|
|
14
|
-
const SymbolTable_1 = require("../SymbolTable");
|
|
15
14
|
const DoubleType_1 = require("./DoubleType");
|
|
16
15
|
const BooleanType_1 = require("./BooleanType");
|
|
17
16
|
const EnumType_1 = require("./EnumType");
|
|
@@ -108,11 +107,11 @@ describe('getUniqueType', () => {
|
|
|
108
107
|
});
|
|
109
108
|
it('should return a a union type of two compatible interfaces', () => {
|
|
110
109
|
const iface1 = new InterfaceType_1.InterfaceType('iface1');
|
|
111
|
-
iface1.addMember('name', null, StringType_1.StringType.instance,
|
|
112
|
-
iface1.addMember('age', null, IntegerType_1.IntegerType.instance,
|
|
110
|
+
iface1.addMember('name', null, StringType_1.StringType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
111
|
+
iface1.addMember('age', null, IntegerType_1.IntegerType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
113
112
|
const iface2 = new InterfaceType_1.InterfaceType('iface2');
|
|
114
|
-
iface2.addMember('name', null, StringType_1.StringType.instance,
|
|
115
|
-
iface2.addMember('age', null, IntegerType_1.IntegerType.instance,
|
|
113
|
+
iface2.addMember('name', null, StringType_1.StringType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
114
|
+
iface2.addMember('age', null, IntegerType_1.IntegerType.instance, 1 /* SymbolTypeFlag.runtime */);
|
|
116
115
|
(0, chai_1.expect)(iface1.isTypeCompatible(iface2)).to.be.true;
|
|
117
116
|
(0, chai_1.expect)(iface2.isTypeCompatible(iface1)).to.be.true;
|
|
118
117
|
(0, chai_1.expect)(iface1.isEqual(iface2)).to.be.false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"helper.spec.js","sourceRoot":"","sources":["../../src/types/helper.spec.ts"],"names":[],"mappings":";;AAAA,+BAAsC;AACtC,uDAAqD;AACrD,0DAAqD;AACrD,2CAAwC;AACxC,+CAA4C;AAC5C,2CAAwC;AACxC,+CAA4C;AAC5C,6CAA0C;AAC1C,2CAA0D;AAC1D,uCAAwG;AACxG,mDAAgD;
|
|
1
|
+
{"version":3,"file":"helper.spec.js","sourceRoot":"","sources":["../../src/types/helper.spec.ts"],"names":[],"mappings":"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"}
|
package/dist/util.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import type { Diagnostic, Position, Location } from 'vscode-languageserver';
|
|
2
2
|
import { Range } from 'vscode-languageserver';
|
|
3
3
|
import type { BsConfig, FinalizedBsConfig } from './BsConfig';
|
|
4
|
-
import type { CallableContainer, BsDiagnostic, FileReference, CallableContainerMap, CompilerPlugin, ExpressionInfo, TypeChainEntry, TypeChainProcessResult } from './interfaces';
|
|
4
|
+
import type { CallableContainer, BsDiagnostic, FileReference, CallableContainerMap, CompilerPlugin, ExpressionInfo, TranspileResult, TypeChainEntry, TypeChainProcessResult, GetTypeOptions } from './interfaces';
|
|
5
5
|
import { BooleanType } from './types/BooleanType';
|
|
6
6
|
import { DoubleType } from './types/DoubleType';
|
|
7
7
|
import { DynamicType } from './types/DynamicType';
|
|
@@ -13,14 +13,14 @@ import { StringType } from './types/StringType';
|
|
|
13
13
|
import { VoidType } from './types/VoidType';
|
|
14
14
|
import { ParseMode } from './parser/Parser';
|
|
15
15
|
import type { DottedGetExpression, VariableExpression } from './parser/Expression';
|
|
16
|
-
import type
|
|
16
|
+
import { type Identifier, type Locatable, type Token } from './lexer/Token';
|
|
17
17
|
import { SourceNode } from 'source-map';
|
|
18
18
|
import type { BrsFile } from './files/BrsFile';
|
|
19
19
|
import type { XmlFile } from './files/XmlFile';
|
|
20
|
-
import {
|
|
20
|
+
import type { AstNode, Expression, Statement } from './parser/AstNode';
|
|
21
21
|
import type { UnresolvedSymbol } from './AstValidationSegmenter';
|
|
22
22
|
import type { SymbolTable } from './SymbolTable';
|
|
23
|
-
import type { BscType } from './types';
|
|
23
|
+
import type { BscType } from './types/BscType';
|
|
24
24
|
import { FunctionType } from './types/FunctionType';
|
|
25
25
|
export declare class Util {
|
|
26
26
|
clearConsole(): void;
|
|
@@ -155,7 +155,7 @@ export declare class Util {
|
|
|
155
155
|
/**
|
|
156
156
|
* Combine all the documentation found before a token (i.e. comment tokens)
|
|
157
157
|
*/
|
|
158
|
-
getTokenDocumentation(
|
|
158
|
+
getTokenDocumentation(token?: Token | AstNode): string;
|
|
159
159
|
/**
|
|
160
160
|
* Combine all the documentation for a node - uses the AstNode's leadingTrivia property
|
|
161
161
|
*/
|
|
@@ -253,9 +253,9 @@ export declare class Util {
|
|
|
253
253
|
* If the two items have lines that touch
|
|
254
254
|
*/
|
|
255
255
|
linesTouch(first: {
|
|
256
|
-
range
|
|
256
|
+
range?: Range | undefined;
|
|
257
257
|
}, second: {
|
|
258
|
-
range
|
|
258
|
+
range?: Range | undefined;
|
|
259
259
|
}): boolean;
|
|
260
260
|
/**
|
|
261
261
|
* Given text with (or without) dots separating text, get the rightmost word.
|
|
@@ -298,7 +298,7 @@ export declare class Util {
|
|
|
298
298
|
*/
|
|
299
299
|
createBoundingRange(...locatables: Array<{
|
|
300
300
|
range?: Range;
|
|
301
|
-
} | Range>): Range | undefined;
|
|
301
|
+
} | Range | undefined>): Range | undefined;
|
|
302
302
|
/**
|
|
303
303
|
* Gets the bounding range of an object that contains a bunch of tokens
|
|
304
304
|
* @param tokens Object with tokens in it
|
|
@@ -354,8 +354,8 @@ export declare class Util {
|
|
|
354
354
|
* Gathers expressions, variables, and unique names from an expression.
|
|
355
355
|
* This is mostly used for the ternary expression
|
|
356
356
|
*/
|
|
357
|
-
getExpressionInfo(expression: Expression): ExpressionInfo;
|
|
358
|
-
concatAnnotationLeadingTrivia(stmt: Statement, otherTrivia
|
|
357
|
+
getExpressionInfo(expression: Expression, file: BrsFile): ExpressionInfo;
|
|
358
|
+
concatAnnotationLeadingTrivia(stmt: Statement, otherTrivia?: Token[]): Token[];
|
|
359
359
|
/**
|
|
360
360
|
* Create a SourceNode that maps every line to itself. Useful for creating maps for files
|
|
361
361
|
* that haven't changed at all, but we still need the map
|
|
@@ -422,6 +422,10 @@ export declare class Util {
|
|
|
422
422
|
*/
|
|
423
423
|
rangeToString(range: Range): string;
|
|
424
424
|
validateTooDeepFile(file: (BrsFile | XmlFile)): void;
|
|
425
|
+
/**
|
|
426
|
+
* Wraps SourceNode's constructor to be compatible with the TranspileResult type
|
|
427
|
+
*/
|
|
428
|
+
sourceNodeFromTranspileResult(line: number | null, column: number | null, source: string | null, chunks?: string | SourceNode | TranspileResult, name?: string): SourceNode;
|
|
425
429
|
/**
|
|
426
430
|
* Find the index of the last item in the array that matches.
|
|
427
431
|
*/
|
|
@@ -438,6 +442,12 @@ export declare class Util {
|
|
|
438
442
|
partBuilder?: (item: T) => string;
|
|
439
443
|
}): string;
|
|
440
444
|
getAstNodeFriendlyName(node: AstNode): string;
|
|
445
|
+
hasLeadingComments(input: Token | AstNode): boolean;
|
|
446
|
+
getLeadingComments(input: Token | AstNode): Token[];
|
|
447
|
+
isLeadingCommentOnSameLine(line: {
|
|
448
|
+
range?: Range;
|
|
449
|
+
}, input: Token | AstNode): boolean;
|
|
450
|
+
isClassUsedAsFunction(potentialClassType: BscType, expression: Expression, options: GetTypeOptions): boolean;
|
|
441
451
|
}
|
|
442
452
|
/**
|
|
443
453
|
* A tagged template literal function for standardizing the path. This has to be defined as standalone function since it's a tagged template literal function,
|