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
|
@@ -228,7 +228,6 @@ export declare const nodes: {
|
|
|
228
228
|
url: string;
|
|
229
229
|
};
|
|
230
230
|
dynamiccustomkeyboard: {
|
|
231
|
-
availableSince: string;
|
|
232
231
|
description: string;
|
|
233
232
|
events: any[];
|
|
234
233
|
extends: {
|
|
@@ -247,7 +246,6 @@ export declare const nodes: {
|
|
|
247
246
|
url: string;
|
|
248
247
|
};
|
|
249
248
|
dynamickeyboard: {
|
|
250
|
-
availableSince: string;
|
|
251
249
|
description: string;
|
|
252
250
|
events: any[];
|
|
253
251
|
extends: {
|
|
@@ -260,7 +258,6 @@ export declare const nodes: {
|
|
|
260
258
|
url: string;
|
|
261
259
|
};
|
|
262
260
|
dynamickeyboardbase: {
|
|
263
|
-
availableSince: string;
|
|
264
261
|
description: string;
|
|
265
262
|
events: any[];
|
|
266
263
|
extends: {
|
|
@@ -279,7 +276,6 @@ export declare const nodes: {
|
|
|
279
276
|
url: string;
|
|
280
277
|
};
|
|
281
278
|
dynamickeygrid: {
|
|
282
|
-
availableSince: string;
|
|
283
279
|
description: string;
|
|
284
280
|
events: any[];
|
|
285
281
|
extends: {
|
|
@@ -298,7 +294,6 @@ export declare const nodes: {
|
|
|
298
294
|
url: string;
|
|
299
295
|
};
|
|
300
296
|
dynamicminikeyboard: {
|
|
301
|
-
availableSince: string;
|
|
302
297
|
description: string;
|
|
303
298
|
events: any[];
|
|
304
299
|
extends: {
|
|
@@ -311,7 +306,6 @@ export declare const nodes: {
|
|
|
311
306
|
url: string;
|
|
312
307
|
};
|
|
313
308
|
dynamicpinpad: {
|
|
314
|
-
availableSince: string;
|
|
315
309
|
description: string;
|
|
316
310
|
events: any[];
|
|
317
311
|
extends: {
|
|
@@ -641,19 +635,6 @@ export declare const nodes: {
|
|
|
641
635
|
name: string;
|
|
642
636
|
url: string;
|
|
643
637
|
}[];
|
|
644
|
-
methods: {
|
|
645
|
-
description: string;
|
|
646
|
-
isVariadic: boolean;
|
|
647
|
-
name: string;
|
|
648
|
-
params: {
|
|
649
|
-
default: any;
|
|
650
|
-
description: string;
|
|
651
|
-
isRequired: boolean;
|
|
652
|
-
name: string;
|
|
653
|
-
type: string;
|
|
654
|
-
}[];
|
|
655
|
-
returnType: string;
|
|
656
|
-
}[];
|
|
657
638
|
name: string;
|
|
658
639
|
url: string;
|
|
659
640
|
};
|
|
@@ -875,6 +856,25 @@ export declare const nodes: {
|
|
|
875
856
|
name: string;
|
|
876
857
|
url: string;
|
|
877
858
|
};
|
|
859
|
+
rsgpalette: {
|
|
860
|
+
availableSince: string;
|
|
861
|
+
description: string;
|
|
862
|
+
events: any[];
|
|
863
|
+
extends: {
|
|
864
|
+
name: string;
|
|
865
|
+
url: string;
|
|
866
|
+
};
|
|
867
|
+
fields: {
|
|
868
|
+
accessPermission: string;
|
|
869
|
+
default: string;
|
|
870
|
+
description: string;
|
|
871
|
+
name: string;
|
|
872
|
+
type: string;
|
|
873
|
+
}[];
|
|
874
|
+
interfaces: any[];
|
|
875
|
+
name: string;
|
|
876
|
+
url: string;
|
|
877
|
+
};
|
|
878
878
|
scene: {
|
|
879
879
|
description: string;
|
|
880
880
|
events: any[];
|
|
@@ -1530,7 +1530,6 @@ export declare const nodes: {
|
|
|
1530
1530
|
url: string;
|
|
1531
1531
|
};
|
|
1532
1532
|
voicetexteditbox: {
|
|
1533
|
-
availableSince: string;
|
|
1534
1533
|
description: string;
|
|
1535
1534
|
events: any[];
|
|
1536
1535
|
extends: {
|
|
@@ -3183,6 +3182,14 @@ export declare const interfaces: {
|
|
|
3183
3182
|
returnDescription?: undefined;
|
|
3184
3183
|
deprecatedDescription?: undefined;
|
|
3185
3184
|
isDeprecated?: undefined;
|
|
3185
|
+
} | {
|
|
3186
|
+
name: string;
|
|
3187
|
+
params: any[];
|
|
3188
|
+
returnDescription: string;
|
|
3189
|
+
returnType: string;
|
|
3190
|
+
description?: undefined;
|
|
3191
|
+
deprecatedDescription?: undefined;
|
|
3192
|
+
isDeprecated?: undefined;
|
|
3186
3193
|
})[];
|
|
3187
3194
|
name: string;
|
|
3188
3195
|
properties: any[];
|
|
@@ -4310,6 +4317,19 @@ export declare const interfaces: {
|
|
|
4310
4317
|
url: string;
|
|
4311
4318
|
}[];
|
|
4312
4319
|
methods: ({
|
|
4320
|
+
description: string;
|
|
4321
|
+
isVariadic: boolean;
|
|
4322
|
+
name: string;
|
|
4323
|
+
params: {
|
|
4324
|
+
default: any;
|
|
4325
|
+
description: string;
|
|
4326
|
+
isRequired: boolean;
|
|
4327
|
+
name: string;
|
|
4328
|
+
type: string;
|
|
4329
|
+
}[];
|
|
4330
|
+
returnDescription: string;
|
|
4331
|
+
returnType: string;
|
|
4332
|
+
} | {
|
|
4313
4333
|
name: string;
|
|
4314
4334
|
params: {
|
|
4315
4335
|
default: any;
|
|
@@ -4320,6 +4340,7 @@ export declare const interfaces: {
|
|
|
4320
4340
|
returnDescription: string;
|
|
4321
4341
|
returnType: string;
|
|
4322
4342
|
description?: undefined;
|
|
4343
|
+
isVariadic?: undefined;
|
|
4323
4344
|
} | {
|
|
4324
4345
|
description: string;
|
|
4325
4346
|
name: string;
|
|
@@ -4332,6 +4353,7 @@ export declare const interfaces: {
|
|
|
4332
4353
|
}[];
|
|
4333
4354
|
returnDescription: string;
|
|
4334
4355
|
returnType: string;
|
|
4356
|
+
isVariadic?: undefined;
|
|
4335
4357
|
} | {
|
|
4336
4358
|
description: string;
|
|
4337
4359
|
name: string;
|
|
@@ -4343,6 +4365,7 @@ export declare const interfaces: {
|
|
|
4343
4365
|
}[];
|
|
4344
4366
|
returnDescription: string;
|
|
4345
4367
|
returnType: string;
|
|
4368
|
+
isVariadic?: undefined;
|
|
4346
4369
|
})[];
|
|
4347
4370
|
name: string;
|
|
4348
4371
|
properties: any[];
|
|
@@ -5234,7 +5257,6 @@ export declare const events: {
|
|
|
5234
5257
|
url: string;
|
|
5235
5258
|
};
|
|
5236
5259
|
rodeviceinfoevent: {
|
|
5237
|
-
availableSince: string;
|
|
5238
5260
|
description: string;
|
|
5239
5261
|
implementers: {
|
|
5240
5262
|
name: string;
|
package/dist/types/ArrayType.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.ArrayType = void 0;
|
|
4
|
-
const SymbolTable_1 = require("../SymbolTable");
|
|
5
4
|
const reflection_1 = require("../astUtils/reflection");
|
|
6
5
|
const BscType_1 = require("./BscType");
|
|
7
6
|
const BscTypeKind_1 = require("./BscTypeKind");
|
|
@@ -40,7 +39,7 @@ class ArrayType extends BscType_1.BscType {
|
|
|
40
39
|
else if ((0, reflection_1.isArrayType)(targetType)) {
|
|
41
40
|
return this.defaultType.isTypeCompatible(targetType.defaultType, data);
|
|
42
41
|
}
|
|
43
|
-
else if (this.checkCompatibilityBasedOnMembers(targetType,
|
|
42
|
+
else if (this.checkCompatibilityBasedOnMembers(targetType, 1 /* SymbolTypeFlag.runtime */, data)) {
|
|
44
43
|
return true;
|
|
45
44
|
}
|
|
46
45
|
return false;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArrayType.js","sourceRoot":"","sources":["../../src/types/ArrayType.ts"],"names":[],"mappings":";;;
|
|
1
|
+
{"version":3,"file":"ArrayType.js","sourceRoot":"","sources":["../../src/types/ArrayType.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,7 +5,6 @@ const ArrayType_1 = require("./ArrayType");
|
|
|
5
5
|
const DynamicType_1 = require("./DynamicType");
|
|
6
6
|
const BooleanType_1 = require("./BooleanType");
|
|
7
7
|
const StringType_1 = require("./StringType");
|
|
8
|
-
const SymbolTable_1 = require("../SymbolTable");
|
|
9
8
|
const TypedFunctionType_1 = require("./TypedFunctionType");
|
|
10
9
|
const testHelpers_spec_1 = require("../testHelpers.spec");
|
|
11
10
|
const IntegerType_1 = require("./IntegerType");
|
|
@@ -33,23 +32,23 @@ describe('ArrayType', () => {
|
|
|
33
32
|
describe('built in interfaces', () => {
|
|
34
33
|
it('adds built in interfaces', () => {
|
|
35
34
|
const myArray = new ArrayType_1.ArrayType();
|
|
36
|
-
(0, testHelpers_spec_1.expectTypeToBe)(myArray.getMemberType('push', { flags:
|
|
37
|
-
(0, testHelpers_spec_1.expectTypeToBe)(myArray.getMemberType('sort', { flags:
|
|
38
|
-
(0, testHelpers_spec_1.expectTypeToBe)(myArray.getMemberType('next', { flags:
|
|
35
|
+
(0, testHelpers_spec_1.expectTypeToBe)(myArray.getMemberType('push', { flags: 1 /* SymbolTypeFlag.runtime */ }), TypedFunctionType_1.TypedFunctionType);
|
|
36
|
+
(0, testHelpers_spec_1.expectTypeToBe)(myArray.getMemberType('sort', { flags: 1 /* SymbolTypeFlag.runtime */ }), TypedFunctionType_1.TypedFunctionType);
|
|
37
|
+
(0, testHelpers_spec_1.expectTypeToBe)(myArray.getMemberType('next', { flags: 1 /* SymbolTypeFlag.runtime */ }), TypedFunctionType_1.TypedFunctionType);
|
|
39
38
|
});
|
|
40
39
|
it('correctly sets types for typed array', () => {
|
|
41
40
|
const myArray = new ArrayType_1.ArrayType(IntegerType_1.IntegerType.instance);
|
|
42
|
-
const popType = myArray.getMemberType('pop', { flags:
|
|
41
|
+
const popType = myArray.getMemberType('pop', { flags: 1 /* SymbolTypeFlag.runtime */ });
|
|
43
42
|
(0, testHelpers_spec_1.expectTypeToBe)(popType.returnType, IntegerType_1.IntegerType);
|
|
44
|
-
const pushType = myArray.getMemberType('push', { flags:
|
|
43
|
+
const pushType = myArray.getMemberType('push', { flags: 1 /* SymbolTypeFlag.runtime */ });
|
|
45
44
|
(0, testHelpers_spec_1.expectTypeToBe)(pushType.params[0].type, IntegerType_1.IntegerType);
|
|
46
45
|
});
|
|
47
46
|
it('correctly gets optional params for sorts', () => {
|
|
48
47
|
const myArray = new ArrayType_1.ArrayType();
|
|
49
|
-
const sortType = myArray.getMemberType('sort', { flags:
|
|
48
|
+
const sortType = myArray.getMemberType('sort', { flags: 1 /* SymbolTypeFlag.runtime */ });
|
|
50
49
|
(0, testHelpers_spec_1.expectTypeToBe)(sortType.params[0].type, StringType_1.StringType);
|
|
51
50
|
(0, chai_config_spec_1.expect)(sortType.params[0].isOptional).to.be.true;
|
|
52
|
-
const sortByType = myArray.getMemberType('sortBy', { flags:
|
|
51
|
+
const sortByType = myArray.getMemberType('sortBy', { flags: 1 /* SymbolTypeFlag.runtime */ });
|
|
53
52
|
(0, testHelpers_spec_1.expectTypeToBe)(sortByType.params[0].type, StringType_1.StringType);
|
|
54
53
|
(0, testHelpers_spec_1.expectTypeToBe)(sortByType.params[1].type, StringType_1.StringType);
|
|
55
54
|
(0, chai_config_spec_1.expect)(sortByType.params[1].isOptional).to.be.true;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArrayType.spec.js","sourceRoot":"","sources":["../../src/types/ArrayType.spec.ts"],"names":[],"mappings":";;AAAA,0DAA6C;AAE7C,2CAAwC;AACxC,+CAA4C;AAC5C,+CAA4C;AAC5C,6CAA0C;
|
|
1
|
+
{"version":3,"file":"ArrayType.spec.js","sourceRoot":"","sources":["../../src/types/ArrayType.spec.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import { SymbolTable } from '../SymbolTable';
|
|
1
2
|
import type { GetTypeOptions, TypeCompatibilityData } from '../interfaces';
|
|
2
3
|
import { BscType } from './BscType';
|
|
3
4
|
import { BscTypeKind } from './BscTypeKind';
|
|
@@ -8,4 +9,6 @@ export declare class AssociativeArrayType extends BscType {
|
|
|
8
9
|
toTypeString(): string;
|
|
9
10
|
getMemberType(name: string, options: GetTypeOptions): BscType;
|
|
10
11
|
isEqual(otherType: BscType): any;
|
|
12
|
+
private builtInMemberTable;
|
|
13
|
+
getBuiltInMemberTable(): SymbolTable;
|
|
11
14
|
}
|
|
@@ -25,7 +25,7 @@ class AssociativeArrayType extends BscType_1.BscType {
|
|
|
25
25
|
else if ((0, reflection_1.isAssociativeArrayType)(targetType)) {
|
|
26
26
|
return true;
|
|
27
27
|
}
|
|
28
|
-
else if (this.checkCompatibilityBasedOnMembers(targetType,
|
|
28
|
+
else if (this.checkCompatibilityBasedOnMembers(targetType, 1 /* SymbolTypeFlag.runtime */, data)) {
|
|
29
29
|
return true;
|
|
30
30
|
}
|
|
31
31
|
else if ((0, reflection_1.isClassType)(targetType)) {
|
|
@@ -45,7 +45,15 @@ class AssociativeArrayType extends BscType_1.BscType {
|
|
|
45
45
|
return (_a = super.getMemberType(name, options)) !== null && _a !== void 0 ? _a : DynamicType_1.DynamicType.instance;
|
|
46
46
|
}
|
|
47
47
|
isEqual(otherType) {
|
|
48
|
-
return (0, reflection_1.isAssociativeArrayType)(otherType) && this.checkCompatibilityBasedOnMembers(otherType,
|
|
48
|
+
return (0, reflection_1.isAssociativeArrayType)(otherType) && this.checkCompatibilityBasedOnMembers(otherType, 1 /* SymbolTypeFlag.runtime */);
|
|
49
|
+
}
|
|
50
|
+
getBuiltInMemberTable() {
|
|
51
|
+
if (this.builtInMemberTable) {
|
|
52
|
+
return this.builtInMemberTable;
|
|
53
|
+
}
|
|
54
|
+
this.builtInMemberTable = new SymbolTable_1.SymbolTable(`${this.__identifier} Built-in Members`);
|
|
55
|
+
this.pushMemberProvider(() => this.builtInMemberTable);
|
|
56
|
+
return this.builtInMemberTable;
|
|
49
57
|
}
|
|
50
58
|
}
|
|
51
59
|
exports.AssociativeArrayType = AssociativeArrayType;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AssociativeArrayType.js","sourceRoot":"","sources":["../../src/types/AssociativeArrayType.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"AssociativeArrayType.js","sourceRoot":"","sources":["../../src/types/AssociativeArrayType.ts"],"names":[],"mappings":";;;AAAA,gDAA6C;AAE7C,uDAA0G;AAE1G,uCAAoC;AACpC,+CAA4C;AAC5C,+CAA4C;AAC5C,uCAAkD;AAElD,MAAa,oBAAqB,SAAQ,iBAAO;IAAjD;;QAGoB,SAAI,GAAG,yBAAW,CAAC,oBAAoB,CAAC;IA+C5D,CAAC;IA7CU,gBAAgB,CAAC,UAAmB,EAAE,IAA4B;QACrE,IAAI,IAAA,0BAAa,EAAC,UAAU,CAAC,EAAE;YAC3B,OAAO,IAAI,CAAC;SACf;aAAM,IAAI,IAAA,yBAAY,EAAC,UAAU,CAAC,EAAE;YACjC,OAAO,IAAI,CAAC;SACf;aAAM,IAAI,IAAA,+BAAqB,EAAC,IAAI,EAAE,UAAU,CAAC,EAAE;YAChD,OAAO,IAAI,CAAC;SACf;aAAM,IAAI,IAAA,mCAAsB,EAAC,UAAU,CAAC,EAAE;YAC3C,OAAO,IAAI,CAAC;SACf;aAAM,IAAI,IAAI,CAAC,gCAAgC,CAAC,UAAU,kCAA0B,IAAI,CAAC,EAAE;YACxF,OAAO,IAAI,CAAC;SACf;aAAM,IAAI,IAAA,wBAAW,EAAC,UAAU,CAAC,EAAE;YAChC,OAAO,IAAI,CAAC;SACf;QACD,OAAO,KAAK,CAAC;IACjB,CAAC;IAEM,QAAQ;QACX,OAAO,oBAAoB,CAAC;IAChC,CAAC;IAEM,YAAY;QACf,OAAO,QAAQ,CAAC;IACpB,CAAC;IAED,aAAa,CAAC,IAAY,EAAE,OAAuB;;QAC/C,2EAA2E;QAC3E,OAAO,MAAA,KAAK,CAAC,aAAa,CAAC,IAAI,EAAE,OAAO,CAAC,mCAAI,yBAAW,CAAC,QAAQ,CAAC;IACtE,CAAC;IAED,OAAO,CAAC,SAAkB;QACtB,OAAO,IAAA,mCAAsB,EAAC,SAAS,CAAC,IAAI,IAAI,CAAC,gCAAgC,CAAC,SAAS,iCAAyB,CAAC;IACzH,CAAC;IAID,qBAAqB;QACjB,IAAI,IAAI,CAAC,kBAAkB,EAAE;YACzB,OAAO,IAAI,CAAC,kBAAkB,CAAC;SAClC;QACD,IAAI,CAAC,kBAAkB,GAAG,IAAI,yBAAW,CAAC,GAAG,IAAI,CAAC,YAAY,mBAAmB,CAAC,CAAC;QACnF,IAAI,CAAC,kBAAkB,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,kBAAkB,CAAC,CAAC;QACvD,OAAO,IAAI,CAAC,kBAAkB,CAAC;IAEnC,CAAC;CACJ;AAlDD,oDAkDC"}
|
package/dist/types/BscType.d.ts
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
import type { GetSymbolTypeOptions, SymbolTableProvider } from '../SymbolTable';
|
|
2
|
-
import { SymbolTypeFlag } from '../SymbolTable';
|
|
3
2
|
import { SymbolTable } from '../SymbolTable';
|
|
3
|
+
import { SymbolTypeFlag } from '../SymbolTypeFlag';
|
|
4
4
|
import type { ExtraSymbolData, TypeCompatibilityData } from '../interfaces';
|
|
5
5
|
export declare abstract class BscType {
|
|
6
6
|
readonly memberTable: SymbolTable;
|
package/dist/types/BscType.js
CHANGED
|
@@ -2,14 +2,13 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.BscType = void 0;
|
|
4
4
|
const SymbolTable_1 = require("../SymbolTable");
|
|
5
|
-
const SymbolTable_2 = require("../SymbolTable");
|
|
6
5
|
const BuiltInInterfaceAdder_1 = require("./BuiltInInterfaceAdder");
|
|
7
6
|
const reflection_1 = require("../astUtils/reflection");
|
|
8
7
|
class BscType {
|
|
9
8
|
constructor(name = '') {
|
|
10
9
|
this.hasAddedBuiltInInterfaces = false;
|
|
11
10
|
this.__identifier = `${this.constructor.name}${name ? ': ' + name : ''}`;
|
|
12
|
-
this.memberTable = new
|
|
11
|
+
this.memberTable = new SymbolTable_1.SymbolTable(this.__identifier);
|
|
13
12
|
}
|
|
14
13
|
pushMemberProvider(provider) {
|
|
15
14
|
this.memberTable.pushParentProvider(provider);
|
|
@@ -28,6 +27,7 @@ class BscType {
|
|
|
28
27
|
return this.memberTable.getSymbolType(name, options);
|
|
29
28
|
}
|
|
30
29
|
getMemberTable() {
|
|
30
|
+
this.addBuiltInInterfaces();
|
|
31
31
|
return this.memberTable;
|
|
32
32
|
}
|
|
33
33
|
isResolvable() {
|
|
@@ -86,7 +86,7 @@ class BscType {
|
|
|
86
86
|
.getSymbolTypes(memberSymbol.name, { flags: flags })) === null || _b === void 0 ? void 0 : _b.map(symbol => symbol.type);
|
|
87
87
|
if (!targetTypesOfSymbol || targetTypesOfSymbol.length === 0) {
|
|
88
88
|
// eslint-disable-next-line no-bitwise
|
|
89
|
-
if (!(memberSymbol.flags &
|
|
89
|
+
if (!(memberSymbol.flags & 4 /* SymbolTypeFlag.optional */)) {
|
|
90
90
|
data.missingFields.push({ name: memberSymbol.name, expectedType: memberSymbol.type });
|
|
91
91
|
isSuperSet = false;
|
|
92
92
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BscType.js","sourceRoot":"","sources":["../../src/types/BscType.ts"],"names":[],"mappings":";;;AACA,
|
|
1
|
+
{"version":3,"file":"BscType.js","sourceRoot":"","sources":["../../src/types/BscType.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,7 +3,6 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.BuiltInInterfaceAdder = void 0;
|
|
4
4
|
const roku_types_1 = require("../roku-types");
|
|
5
5
|
const Cache_1 = require("../Cache");
|
|
6
|
-
const SymbolTable_1 = require("../SymbolTable");
|
|
7
6
|
const reflection_1 = require("../astUtils/reflection");
|
|
8
7
|
const util_1 = require("../util");
|
|
9
8
|
// eslint-disable-next-line @typescript-eslint/no-extraneous-class
|
|
@@ -34,18 +33,18 @@ class BuiltInInterfaceAdder {
|
|
|
34
33
|
const ifaceData = ((_b = roku_types_1.interfaces[lowerIfaceName]) !== null && _b !== void 0 ? _b : roku_types_1.events[lowerIfaceName]);
|
|
35
34
|
if (builtInComponent.interfaces) {
|
|
36
35
|
// this type has interfaces - add them directly as members
|
|
37
|
-
const ifaceType = (_c = this.getLookupTable()) === null || _c === void 0 ? void 0 : _c.getSymbolType(iface.name, { flags:
|
|
36
|
+
const ifaceType = (_c = this.getLookupTable()) === null || _c === void 0 ? void 0 : _c.getSymbolType(iface.name, { flags: 2 /* SymbolTypeFlag.typetime */ });
|
|
38
37
|
if (ifaceType) {
|
|
39
|
-
builtInMemberTable.addSymbol(iface.name, { completionPriority: 1 }, ifaceType,
|
|
38
|
+
builtInMemberTable.addSymbol(iface.name, { completionPriority: 1 }, ifaceType, 1 /* SymbolTypeFlag.runtime */);
|
|
40
39
|
}
|
|
41
40
|
}
|
|
42
41
|
for (const method of (_d = ifaceData.methods) !== null && _d !== void 0 ? _d : []) {
|
|
43
42
|
const methodFuncType = this.buildMethodFromDocData(method, overrides, thisType);
|
|
44
|
-
builtInMemberTable.addSymbol(method.name, { description: method.description, completionPriority: 1 }, methodFuncType,
|
|
43
|
+
builtInMemberTable.addSymbol(method.name, { description: method.description, completionPriority: 1 }, methodFuncType, 1 /* SymbolTypeFlag.runtime */);
|
|
45
44
|
}
|
|
46
45
|
for (const property of (_e = ifaceData.properties) !== null && _e !== void 0 ? _e : []) {
|
|
47
46
|
const override = overrides === null || overrides === void 0 ? void 0 : overrides.get(property.name.toLowerCase());
|
|
48
|
-
builtInMemberTable.addSymbol(property.name, { description: property.description, completionPriority: 1 }, (_g = (_f = override === null || override === void 0 ? void 0 : override.type) !== null && _f !== void 0 ? _f : this.getPrimitiveType(property.type)) !== null && _g !== void 0 ? _g : this.getPrimitiveType('dynamic'),
|
|
47
|
+
builtInMemberTable.addSymbol(property.name, { description: property.description, completionPriority: 1 }, (_g = (_f = override === null || override === void 0 ? void 0 : override.type) !== null && _f !== void 0 ? _f : this.getPrimitiveType(property.type)) !== null && _g !== void 0 ? _g : this.getPrimitiveType('dynamic'), 1 /* SymbolTypeFlag.runtime */);
|
|
49
48
|
}
|
|
50
49
|
}
|
|
51
50
|
}
|
|
@@ -86,7 +85,7 @@ class BuiltInInterfaceAdder {
|
|
|
86
85
|
if (!this.getLookupTable) {
|
|
87
86
|
throw new Error(`Unable to find type instance '${typeName}'`);
|
|
88
87
|
}
|
|
89
|
-
return (_a = this.getLookupTable()) === null || _a === void 0 ? void 0 : _a.getSymbolType(typeName, { flags:
|
|
88
|
+
return (_a = this.getLookupTable()) === null || _a === void 0 ? void 0 : _a.getSymbolType(typeName, { flags: 2 /* SymbolTypeFlag.typetime */, fullName: typeName, tableProvider: this.getLookupTable });
|
|
90
89
|
}
|
|
91
90
|
return returnType;
|
|
92
91
|
}
|
|
@@ -158,11 +157,11 @@ class BuiltInInterfaceAdder {
|
|
|
158
157
|
}
|
|
159
158
|
const lookupTable = this.getLookupTable();
|
|
160
159
|
for (const field of builtInNode.fields) {
|
|
161
|
-
memberTable.addSymbol(field.name, { description: field.description, completionPriority: 1 }, util_1.default.getNodeFieldType(field.type, lookupTable),
|
|
160
|
+
memberTable.addSymbol(field.name, { description: field.description, completionPriority: 1 }, util_1.default.getNodeFieldType(field.type, lookupTable), 1 /* SymbolTypeFlag.runtime */);
|
|
162
161
|
}
|
|
163
162
|
for (const method of (_a = builtInNode.methods) !== null && _a !== void 0 ? _a : []) {
|
|
164
163
|
const methodFuncType = this.buildMethodFromDocData(method, null, thisType);
|
|
165
|
-
memberTable.addSymbol(method.name, { description: method.description, completionPriority: 1 }, methodFuncType,
|
|
164
|
+
memberTable.addSymbol(method.name, { description: method.description, completionPriority: 1 }, methodFuncType, 1 /* SymbolTypeFlag.runtime */);
|
|
166
165
|
}
|
|
167
166
|
}
|
|
168
167
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuiltInInterfaceAdder.js","sourceRoot":"","sources":["../../src/types/BuiltInInterfaceAdder.ts"],"names":[],"mappings":";;;AACA,8CAAsE;AACtE,oCAAiC;
|
|
1
|
+
{"version":3,"file":"BuiltInInterfaceAdder.js","sourceRoot":"","sources":["../../src/types/BuiltInInterfaceAdder.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,7 +4,6 @@ const BuiltInInterfaceAdder_1 = require("./BuiltInInterfaceAdder");
|
|
|
4
4
|
const StringType_1 = require("./StringType");
|
|
5
5
|
const testHelpers_spec_1 = require("../testHelpers.spec");
|
|
6
6
|
const IntegerType_1 = require("./IntegerType");
|
|
7
|
-
const SymbolTable_1 = require("../SymbolTable");
|
|
8
7
|
const TypedFunctionType_1 = require("./TypedFunctionType");
|
|
9
8
|
const BooleanType_1 = require("./BooleanType");
|
|
10
9
|
const FunctionType_1 = require("./FunctionType");
|
|
@@ -18,15 +17,15 @@ describe('BuiltInInterfaceAdder', () => {
|
|
|
18
17
|
it('should add members to StringType', () => {
|
|
19
18
|
const myType = new StringType_1.StringType();
|
|
20
19
|
BuiltInInterfaceAdder_1.BuiltInInterfaceAdder.addBuiltInInterfacesToType(myType);
|
|
21
|
-
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('trim', { flags:
|
|
22
|
-
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('split', { flags:
|
|
23
|
-
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('getString', { flags:
|
|
24
|
-
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('replace', { flags:
|
|
20
|
+
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('trim', { flags: 1 /* SymbolTypeFlag.runtime */ }), TypedFunctionType_1.TypedFunctionType);
|
|
21
|
+
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('split', { flags: 1 /* SymbolTypeFlag.runtime */ }), TypedFunctionType_1.TypedFunctionType);
|
|
22
|
+
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('getString', { flags: 1 /* SymbolTypeFlag.runtime */ }), TypedFunctionType_1.TypedFunctionType);
|
|
23
|
+
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('replace', { flags: 1 /* SymbolTypeFlag.runtime */ }), TypedFunctionType_1.TypedFunctionType);
|
|
25
24
|
});
|
|
26
25
|
it('should have correct types for string members', () => {
|
|
27
26
|
const myType = new StringType_1.StringType();
|
|
28
27
|
BuiltInInterfaceAdder_1.BuiltInInterfaceAdder.addBuiltInInterfacesToType(myType);
|
|
29
|
-
const leftType = myType.getMemberType('left', { flags:
|
|
28
|
+
const leftType = myType.getMemberType('left', { flags: 1 /* SymbolTypeFlag.runtime */ });
|
|
30
29
|
(0, testHelpers_spec_1.expectTypeToBe)(leftType, TypedFunctionType_1.TypedFunctionType);
|
|
31
30
|
const leftFuncType = leftType;
|
|
32
31
|
(0, chai_1.expect)(leftFuncType.params.length).to.equal(1);
|
|
@@ -36,80 +35,80 @@ describe('BuiltInInterfaceAdder', () => {
|
|
|
36
35
|
it('should add members to IntegerType', () => {
|
|
37
36
|
const myType = new IntegerType_1.IntegerType();
|
|
38
37
|
BuiltInInterfaceAdder_1.BuiltInInterfaceAdder.addBuiltInInterfacesToType(myType);
|
|
39
|
-
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('toStr', { flags:
|
|
40
|
-
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('getInt', { flags:
|
|
38
|
+
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('toStr', { flags: 1 /* SymbolTypeFlag.runtime */ }), TypedFunctionType_1.TypedFunctionType);
|
|
39
|
+
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('getInt', { flags: 1 /* SymbolTypeFlag.runtime */ }), TypedFunctionType_1.TypedFunctionType);
|
|
41
40
|
});
|
|
42
41
|
it('should add members to BooleanType', () => {
|
|
43
42
|
const myType = new BooleanType_1.BooleanType();
|
|
44
43
|
BuiltInInterfaceAdder_1.BuiltInInterfaceAdder.addBuiltInInterfacesToType(myType);
|
|
45
|
-
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('toStr', { flags:
|
|
46
|
-
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('getBoolean', { flags:
|
|
44
|
+
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('toStr', { flags: 1 /* SymbolTypeFlag.runtime */ }), TypedFunctionType_1.TypedFunctionType);
|
|
45
|
+
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('getBoolean', { flags: 1 /* SymbolTypeFlag.runtime */ }), TypedFunctionType_1.TypedFunctionType);
|
|
47
46
|
});
|
|
48
47
|
it('should add members to DoubleType', () => {
|
|
49
48
|
const myType = new DoubleType_1.DoubleType();
|
|
50
49
|
BuiltInInterfaceAdder_1.BuiltInInterfaceAdder.addBuiltInInterfacesToType(myType);
|
|
51
|
-
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('toStr', { flags:
|
|
52
|
-
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('getDouble', { flags:
|
|
50
|
+
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('toStr', { flags: 1 /* SymbolTypeFlag.runtime */ }), TypedFunctionType_1.TypedFunctionType);
|
|
51
|
+
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('getDouble', { flags: 1 /* SymbolTypeFlag.runtime */ }), TypedFunctionType_1.TypedFunctionType);
|
|
53
52
|
});
|
|
54
53
|
it('should add members to FunctionType', () => {
|
|
55
54
|
const myType = new FunctionType_1.FunctionType();
|
|
56
55
|
BuiltInInterfaceAdder_1.BuiltInInterfaceAdder.addBuiltInInterfacesToType(myType);
|
|
57
|
-
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('toStr', { flags:
|
|
58
|
-
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('getSub', { flags:
|
|
56
|
+
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('toStr', { flags: 1 /* SymbolTypeFlag.runtime */ }), TypedFunctionType_1.TypedFunctionType);
|
|
57
|
+
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('getSub', { flags: 1 /* SymbolTypeFlag.runtime */ }), TypedFunctionType_1.TypedFunctionType);
|
|
59
58
|
});
|
|
60
59
|
it('should add members to TypedFunctionType', () => {
|
|
61
60
|
const myType = new TypedFunctionType_1.TypedFunctionType(DynamicType_1.DynamicType.instance);
|
|
62
61
|
BuiltInInterfaceAdder_1.BuiltInInterfaceAdder.addBuiltInInterfacesToType(myType);
|
|
63
|
-
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('toStr', { flags:
|
|
64
|
-
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('getSub', { flags:
|
|
62
|
+
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('toStr', { flags: 1 /* SymbolTypeFlag.runtime */ }), TypedFunctionType_1.TypedFunctionType);
|
|
63
|
+
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('getSub', { flags: 1 /* SymbolTypeFlag.runtime */ }), TypedFunctionType_1.TypedFunctionType);
|
|
65
64
|
});
|
|
66
65
|
it('should add members to ArrayType', () => {
|
|
67
66
|
const myType = new ArrayType_1.ArrayType();
|
|
68
67
|
BuiltInInterfaceAdder_1.BuiltInInterfaceAdder.addBuiltInInterfacesToType(myType);
|
|
69
|
-
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('push', { flags:
|
|
70
|
-
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('getEntry', { flags:
|
|
71
|
-
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('join', { flags:
|
|
68
|
+
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('push', { flags: 1 /* SymbolTypeFlag.runtime */ }), TypedFunctionType_1.TypedFunctionType);
|
|
69
|
+
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('getEntry', { flags: 1 /* SymbolTypeFlag.runtime */ }), TypedFunctionType_1.TypedFunctionType);
|
|
70
|
+
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('join', { flags: 1 /* SymbolTypeFlag.runtime */ }), TypedFunctionType_1.TypedFunctionType);
|
|
72
71
|
});
|
|
73
72
|
it('should not add members to ClassType', () => {
|
|
74
73
|
const myType = new ClassType_1.ClassType('Klass');
|
|
75
74
|
BuiltInInterfaceAdder_1.BuiltInInterfaceAdder.addBuiltInInterfacesToType(myType);
|
|
76
|
-
(0, chai_1.expect)(myType.getMemberType('clear', { flags:
|
|
77
|
-
(0, chai_1.expect)(myType.getMemberType('lookUp', { flags:
|
|
75
|
+
(0, chai_1.expect)(myType.getMemberType('clear', { flags: 1 /* SymbolTypeFlag.runtime */ }).isResolvable()).to.be.false;
|
|
76
|
+
(0, chai_1.expect)(myType.getMemberType('lookUp', { flags: 1 /* SymbolTypeFlag.runtime */ }).isResolvable()).to.be.false;
|
|
78
77
|
});
|
|
79
78
|
it('should allow classes to override AA members', () => {
|
|
80
79
|
const myType = new ClassType_1.ClassType('Klass');
|
|
81
|
-
myType.addMember('clear', null, new BooleanType_1.BooleanType(),
|
|
80
|
+
myType.addMember('clear', null, new BooleanType_1.BooleanType(), 1 /* SymbolTypeFlag.runtime */);
|
|
82
81
|
BuiltInInterfaceAdder_1.BuiltInInterfaceAdder.addBuiltInInterfacesToType(myType);
|
|
83
|
-
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('clear', { flags:
|
|
82
|
+
(0, testHelpers_spec_1.expectTypeToBe)(myType.getMemberType('clear', { flags: 1 /* SymbolTypeFlag.runtime */ }), BooleanType_1.BooleanType);
|
|
84
83
|
});
|
|
85
84
|
it('should not include members that have already been overrided', () => {
|
|
86
85
|
const myType = new ClassType_1.ClassType('Klass');
|
|
87
|
-
myType.addMember('clear', null, new BooleanType_1.BooleanType(),
|
|
86
|
+
myType.addMember('clear', null, new BooleanType_1.BooleanType(), 1 /* SymbolTypeFlag.runtime */);
|
|
88
87
|
BuiltInInterfaceAdder_1.BuiltInInterfaceAdder.addBuiltInInterfacesToType(myType);
|
|
89
|
-
const myMembers = myType.getMemberTable().getAllSymbols(
|
|
88
|
+
const myMembers = myType.getMemberTable().getAllSymbols(1 /* SymbolTypeFlag.runtime */);
|
|
90
89
|
(0, chai_1.expect)(myMembers.filter(member => member.name.toLowerCase() === 'clear').length).to.eq(1);
|
|
91
90
|
});
|
|
92
91
|
it('should only add built ins to original ancestor', () => {
|
|
93
92
|
const sup = new ClassType_1.ClassType('SuperKlass');
|
|
94
93
|
const sub = new ClassType_1.ClassType('Klass', sup);
|
|
95
|
-
sup.addMember('clear', null, new BooleanType_1.BooleanType(),
|
|
94
|
+
sup.addMember('clear', null, new BooleanType_1.BooleanType(), 1 /* SymbolTypeFlag.runtime */);
|
|
96
95
|
BuiltInInterfaceAdder_1.BuiltInInterfaceAdder.addBuiltInInterfacesToType(sub);
|
|
97
|
-
(0, testHelpers_spec_1.expectTypeToBe)(sub.getMemberType('clear', { flags:
|
|
96
|
+
(0, testHelpers_spec_1.expectTypeToBe)(sub.getMemberType('clear', { flags: 1 /* SymbolTypeFlag.runtime */ }), BooleanType_1.BooleanType);
|
|
98
97
|
});
|
|
99
98
|
it('should respect overrides', () => {
|
|
100
99
|
const myArray = new ArrayType_1.ArrayType(IntegerType_1.IntegerType.instance);
|
|
101
|
-
const popType = myArray.getMemberType('pop', { flags:
|
|
100
|
+
const popType = myArray.getMemberType('pop', { flags: 1 /* SymbolTypeFlag.runtime */ });
|
|
102
101
|
(0, testHelpers_spec_1.expectTypeToBe)(popType.returnType, IntegerType_1.IntegerType);
|
|
103
|
-
const pushType = myArray.getMemberType('push', { flags:
|
|
102
|
+
const pushType = myArray.getMemberType('push', { flags: 1 /* SymbolTypeFlag.runtime */ });
|
|
104
103
|
(0, testHelpers_spec_1.expectTypeToBe)(pushType.params[0].type, IntegerType_1.IntegerType);
|
|
105
104
|
});
|
|
106
105
|
it('works with enums', () => {
|
|
107
106
|
const myEnum = new EnumType_1.EnumType('myEnum', StringType_1.StringType.instance);
|
|
108
107
|
const myEnumMember = new EnumType_1.EnumMemberType('myEnum', 'member', StringType_1.StringType.instance);
|
|
109
|
-
myEnum.addMember('member', {}, myEnumMember,
|
|
110
|
-
const enumTrim = myEnum.getMemberType('trim', { flags:
|
|
108
|
+
myEnum.addMember('member', {}, myEnumMember, 1 /* SymbolTypeFlag.runtime */);
|
|
109
|
+
const enumTrim = myEnum.getMemberType('trim', { flags: 1 /* SymbolTypeFlag.runtime */ });
|
|
111
110
|
(0, chai_1.expect)(enumTrim).to.be.undefined;
|
|
112
|
-
const memberTrim = myEnumMember.getMemberType('trim', { flags:
|
|
111
|
+
const memberTrim = myEnumMember.getMemberType('trim', { flags: 1 /* SymbolTypeFlag.runtime */ });
|
|
113
112
|
(0, testHelpers_spec_1.expectTypeToBe)(memberTrim, TypedFunctionType_1.TypedFunctionType);
|
|
114
113
|
});
|
|
115
114
|
});
|