brighterscript 1.0.0-alpha.41 → 1.0.0-alpha.42
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 +62 -2
- package/dist/AstValidationSegmenter.d.ts +3 -0
- package/dist/AstValidationSegmenter.js +62 -2
- package/dist/AstValidationSegmenter.js.map +1 -1
- package/dist/BsConfig.d.ts +7 -7
- package/dist/CrossScopeValidator.js +3 -3
- package/dist/CrossScopeValidator.js.map +1 -1
- package/dist/DiagnosticFilterer.d.ts +5 -1
- package/dist/DiagnosticFilterer.js +92 -33
- package/dist/DiagnosticFilterer.js.map +1 -1
- package/dist/DiagnosticManager.js +12 -9
- package/dist/DiagnosticManager.js.map +1 -1
- package/dist/DiagnosticMessages.d.ts +374 -225
- package/dist/DiagnosticMessages.js +641 -424
- package/dist/DiagnosticMessages.js.map +1 -1
- package/dist/DiagnosticSeverityAdjuster.js +4 -0
- package/dist/DiagnosticSeverityAdjuster.js.map +1 -1
- package/dist/LanguageServer.js +0 -7
- package/dist/LanguageServer.js.map +1 -1
- package/dist/PluginInterface.js +2 -0
- package/dist/PluginInterface.js.map +1 -1
- package/dist/Program.d.ts +22 -1
- package/dist/Program.js +206 -49
- package/dist/Program.js.map +1 -1
- package/dist/SymbolTable.d.ts +3 -0
- package/dist/SymbolTable.js +19 -1
- package/dist/SymbolTable.js.map +1 -1
- package/dist/XmlScope.js +3 -6
- package/dist/XmlScope.js.map +1 -1
- package/dist/astUtils/creators.d.ts +35 -3
- package/dist/astUtils/creators.js +52 -1
- package/dist/astUtils/creators.js.map +1 -1
- package/dist/astUtils/reflection.d.ts +4 -2
- package/dist/astUtils/reflection.js +12 -3
- package/dist/astUtils/reflection.js.map +1 -1
- package/dist/astUtils/visitors.d.ts +3 -2
- package/dist/astUtils/visitors.js +37 -14
- package/dist/astUtils/visitors.js.map +1 -1
- package/dist/astUtils/visitors.spec.js +172 -6
- package/dist/astUtils/visitors.spec.js.map +1 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.d.ts +0 -1
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js +0 -13
- package/dist/bscPlugin/codeActions/CodeActionsProcessor.js.map +1 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.d.ts +2 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.js +5 -5
- package/dist/bscPlugin/completions/CompletionsProcessor.js.map +1 -1
- package/dist/bscPlugin/completions/CompletionsProcessor.spec.js +106 -2
- package/dist/bscPlugin/completions/CompletionsProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/hover/HoverProcessor.spec.js +51 -3
- package/dist/bscPlugin/hover/HoverProcessor.spec.js.map +1 -1
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.d.ts +1 -0
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js +149 -0
- package/dist/bscPlugin/transpile/BrsFileTranspileProcessor.js.map +1 -1
- package/dist/bscPlugin/validation/BrsFileValidator.js +15 -8
- package/dist/bscPlugin/validation/BrsFileValidator.js.map +1 -1
- package/dist/bscPlugin/validation/BrsFileValidator.spec.js +80 -9
- package/dist/bscPlugin/validation/BrsFileValidator.spec.js.map +1 -1
- package/dist/bscPlugin/validation/ScopeValidator.d.ts +7 -0
- package/dist/bscPlugin/validation/ScopeValidator.js +149 -79
- package/dist/bscPlugin/validation/ScopeValidator.js.map +1 -1
- package/dist/bscPlugin/validation/ScopeValidator.spec.js +1227 -27
- package/dist/bscPlugin/validation/ScopeValidator.spec.js.map +1 -1
- package/dist/bscPlugin/validation/XmlFileValidator.js +0 -8
- package/dist/bscPlugin/validation/XmlFileValidator.js.map +1 -1
- package/dist/diagnosticUtils.js +6 -5
- package/dist/diagnosticUtils.js.map +1 -1
- package/dist/files/BrsFile.Class.spec.js +87 -28
- package/dist/files/BrsFile.Class.spec.js.map +1 -1
- package/dist/files/BrsFile.d.ts +1 -0
- package/dist/files/BrsFile.js +20 -8
- package/dist/files/BrsFile.js.map +1 -1
- package/dist/files/BrsFile.spec.js +133 -34
- package/dist/files/BrsFile.spec.js.map +1 -1
- package/dist/files/XmlFile.js +2 -2
- package/dist/files/XmlFile.js.map +1 -1
- package/dist/files/XmlFile.spec.js +3 -20
- package/dist/files/XmlFile.spec.js.map +1 -1
- package/dist/globalCallables.js +1 -1
- package/dist/index.d.ts +8 -3
- package/dist/index.js +24 -16
- package/dist/index.js.map +1 -1
- package/dist/interfaces.d.ts +18 -0
- package/dist/interfaces.js.map +1 -1
- package/dist/lexer/Lexer.js +17 -11
- package/dist/lexer/Lexer.js.map +1 -1
- package/dist/lexer/Lexer.spec.js +21 -3
- package/dist/lexer/Lexer.spec.js.map +1 -1
- package/dist/lexer/TokenKind.d.ts +9 -0
- package/dist/lexer/TokenKind.js +11 -1
- package/dist/lexer/TokenKind.js.map +1 -1
- package/dist/parser/AstNode.d.ts +2 -1
- package/dist/parser/AstNode.js +3 -2
- package/dist/parser/AstNode.js.map +1 -1
- package/dist/parser/Expression.d.ts +22 -2
- package/dist/parser/Expression.js +76 -48
- package/dist/parser/Expression.js.map +1 -1
- package/dist/parser/Parser.Class.spec.js +3 -3
- package/dist/parser/Parser.Class.spec.js.map +1 -1
- package/dist/parser/Parser.js +73 -61
- package/dist/parser/Parser.js.map +1 -1
- package/dist/parser/Parser.spec.js +198 -15
- package/dist/parser/Parser.spec.js.map +1 -1
- package/dist/parser/SGParser.js +9 -9
- package/dist/parser/SGParser.js.map +1 -1
- package/dist/parser/SGParser.spec.js +3 -2
- package/dist/parser/SGParser.spec.js.map +1 -1
- package/dist/parser/Statement.d.ts +16 -18
- package/dist/parser/Statement.js +136 -82
- package/dist/parser/Statement.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/ArrayLiterals.spec.js +3 -3
- package/dist/parser/tests/expression/ArrayLiterals.spec.js.map +1 -1
- package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js +3 -3
- package/dist/parser/tests/expression/AssociativeArrayLiterals.spec.js.map +1 -1
- package/dist/parser/tests/expression/Call.spec.js +9 -9
- package/dist/parser/tests/expression/Call.spec.js.map +1 -1
- package/dist/parser/tests/expression/Indexing.spec.js +3 -3
- package/dist/parser/tests/expression/Indexing.spec.js.map +1 -1
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js +1 -1
- package/dist/parser/tests/expression/TemplateStringExpression.spec.js.map +1 -1
- package/dist/parser/tests/expression/TernaryExpression.spec.js +353 -71
- package/dist/parser/tests/expression/TernaryExpression.spec.js.map +1 -1
- package/dist/parser/tests/statement/Dim.spec.js +10 -3
- package/dist/parser/tests/statement/Dim.spec.js.map +1 -1
- package/dist/parser/tests/statement/Enum.spec.js +2 -2
- package/dist/parser/tests/statement/Enum.spec.js.map +1 -1
- package/dist/parser/tests/statement/Increment.spec.js +3 -5
- package/dist/parser/tests/statement/Increment.spec.js.map +1 -1
- package/dist/parser/tests/statement/PrintStatement.spec.js +3 -3
- package/dist/parser/tests/statement/TryCatch.spec.js +1 -1
- package/dist/parser/tests/statement/TryCatch.spec.js.map +1 -1
- package/dist/roku-types/data.json +430 -235
- package/dist/roku-types/index.d.ts +30 -37
- package/dist/types/ArrayType.d.ts +2 -0
- package/dist/types/ArrayType.js +14 -4
- package/dist/types/ArrayType.js.map +1 -1
- package/dist/types/AssociativeArrayType.d.ts +1 -0
- package/dist/types/AssociativeArrayType.js +1 -0
- package/dist/types/AssociativeArrayType.js.map +1 -1
- package/dist/types/BaseFunctionType.d.ts +1 -0
- package/dist/types/BaseFunctionType.js +1 -0
- package/dist/types/BaseFunctionType.js.map +1 -1
- package/dist/types/BooleanType.d.ts +1 -0
- package/dist/types/BooleanType.js +1 -0
- package/dist/types/BooleanType.js.map +1 -1
- package/dist/types/BscType.d.ts +8 -1
- package/dist/types/BscType.js +12 -3
- package/dist/types/BscType.js.map +1 -1
- package/dist/types/BuiltInInterfaceAdder.js +10 -6
- package/dist/types/BuiltInInterfaceAdder.js.map +1 -1
- package/dist/types/ClassType.d.ts +1 -0
- package/dist/types/ClassType.js +5 -2
- package/dist/types/ClassType.js.map +1 -1
- package/dist/types/ComponentType.d.ts +11 -4
- package/dist/types/ComponentType.js +100 -8
- package/dist/types/ComponentType.js.map +1 -1
- package/dist/types/DoubleType.d.ts +2 -0
- package/dist/types/DoubleType.js +2 -0
- package/dist/types/DoubleType.js.map +1 -1
- package/dist/types/DynamicType.d.ts +1 -0
- package/dist/types/DynamicType.js +4 -0
- package/dist/types/DynamicType.js.map +1 -1
- package/dist/types/EnumType.d.ts +2 -0
- package/dist/types/EnumType.js +20 -2
- package/dist/types/EnumType.js.map +1 -1
- package/dist/types/FloatType.d.ts +2 -0
- package/dist/types/FloatType.js +2 -0
- package/dist/types/FloatType.js.map +1 -1
- package/dist/types/InheritableType.js +8 -0
- package/dist/types/InheritableType.js.map +1 -1
- package/dist/types/IntegerType.d.ts +2 -0
- package/dist/types/IntegerType.js +2 -0
- package/dist/types/IntegerType.js.map +1 -1
- package/dist/types/InterfaceType.js +4 -1
- package/dist/types/InterfaceType.js.map +1 -1
- package/dist/types/InvalidType.d.ts +2 -1
- package/dist/types/InvalidType.js +1 -0
- package/dist/types/InvalidType.js.map +1 -1
- package/dist/types/LongIntegerType.d.ts +2 -0
- package/dist/types/LongIntegerType.js +2 -0
- package/dist/types/LongIntegerType.js.map +1 -1
- package/dist/types/ObjectType.d.ts +1 -0
- package/dist/types/ObjectType.js +1 -0
- package/dist/types/ObjectType.js.map +1 -1
- package/dist/types/ReferenceType.d.ts +20 -2
- package/dist/types/ReferenceType.js +106 -5
- package/dist/types/ReferenceType.js.map +1 -1
- package/dist/types/StringType.d.ts +1 -0
- package/dist/types/StringType.js +1 -0
- package/dist/types/StringType.js.map +1 -1
- package/dist/types/TypedFunctionType.d.ts +1 -1
- package/dist/types/TypedFunctionType.js +8 -2
- package/dist/types/TypedFunctionType.js.map +1 -1
- package/dist/types/UninitializedType.d.ts +2 -0
- package/dist/types/UninitializedType.js +5 -6
- package/dist/types/UninitializedType.js.map +1 -1
- package/dist/types/UnionType.js +8 -2
- package/dist/types/UnionType.js.map +1 -1
- package/dist/types/VoidType.d.ts +4 -1
- package/dist/types/VoidType.js +5 -0
- package/dist/types/VoidType.js.map +1 -1
- package/dist/types/helpers.js +8 -1
- package/dist/types/helpers.js.map +1 -1
- package/dist/util.d.ts +15 -5
- package/dist/util.js +281 -14
- package/dist/util.js.map +1 -1
- package/dist/validators/ClassValidator.js +13 -5
- package/dist/validators/ClassValidator.js.map +1 -1
- package/package.json +2 -2
|
@@ -414,7 +414,6 @@ export declare const nodes: {
|
|
|
414
414
|
url: string;
|
|
415
415
|
};
|
|
416
416
|
infopane: {
|
|
417
|
-
availableSince: string;
|
|
418
417
|
description: string;
|
|
419
418
|
events: any[];
|
|
420
419
|
fields: any[];
|
|
@@ -485,7 +484,6 @@ export declare const nodes: {
|
|
|
485
484
|
url: string;
|
|
486
485
|
};
|
|
487
486
|
labelbase: {
|
|
488
|
-
availableSince: string;
|
|
489
487
|
description: string;
|
|
490
488
|
events: any[];
|
|
491
489
|
extends: {
|
|
@@ -629,8 +627,16 @@ export declare const nodes: {
|
|
|
629
627
|
name: string;
|
|
630
628
|
url: string;
|
|
631
629
|
};
|
|
632
|
-
|
|
630
|
+
monospacelabel: {
|
|
633
631
|
availableSince: string;
|
|
632
|
+
description: string;
|
|
633
|
+
events: any[];
|
|
634
|
+
fields: any[];
|
|
635
|
+
interfaces: any[];
|
|
636
|
+
name: string;
|
|
637
|
+
url: string;
|
|
638
|
+
};
|
|
639
|
+
multistylelabel: {
|
|
634
640
|
description: string;
|
|
635
641
|
events: any[];
|
|
636
642
|
extends: {
|
|
@@ -737,7 +743,13 @@ export declare const nodes: {
|
|
|
737
743
|
parentalcontrolpinpad: {
|
|
738
744
|
description: string;
|
|
739
745
|
events: any[];
|
|
740
|
-
fields:
|
|
746
|
+
fields: {
|
|
747
|
+
accessPermission: string;
|
|
748
|
+
default: string;
|
|
749
|
+
description: string;
|
|
750
|
+
name: string;
|
|
751
|
+
type: string;
|
|
752
|
+
}[];
|
|
741
753
|
interfaces: any[];
|
|
742
754
|
name: string;
|
|
743
755
|
url: string;
|
|
@@ -1026,7 +1038,6 @@ export declare const nodes: {
|
|
|
1026
1038
|
url: string;
|
|
1027
1039
|
};
|
|
1028
1040
|
standarddialog: {
|
|
1029
|
-
availableSince: string;
|
|
1030
1041
|
description: string;
|
|
1031
1042
|
events: any[];
|
|
1032
1043
|
extends: {
|
|
@@ -1045,7 +1056,6 @@ export declare const nodes: {
|
|
|
1045
1056
|
url: string;
|
|
1046
1057
|
};
|
|
1047
1058
|
standardkeyboarddialog: {
|
|
1048
|
-
availableSince: string;
|
|
1049
1059
|
description: string;
|
|
1050
1060
|
events: any[];
|
|
1051
1061
|
extends: {
|
|
@@ -1064,7 +1074,6 @@ export declare const nodes: {
|
|
|
1064
1074
|
url: string;
|
|
1065
1075
|
};
|
|
1066
1076
|
standardmessagedialog: {
|
|
1067
|
-
availableSince: string;
|
|
1068
1077
|
description: string;
|
|
1069
1078
|
events: any[];
|
|
1070
1079
|
extends: {
|
|
@@ -1083,7 +1092,6 @@ export declare const nodes: {
|
|
|
1083
1092
|
url: string;
|
|
1084
1093
|
};
|
|
1085
1094
|
standardpinpaddialog: {
|
|
1086
|
-
availableSince: string;
|
|
1087
1095
|
description: string;
|
|
1088
1096
|
events: any[];
|
|
1089
1097
|
extends: {
|
|
@@ -1102,7 +1110,6 @@ export declare const nodes: {
|
|
|
1102
1110
|
url: string;
|
|
1103
1111
|
};
|
|
1104
1112
|
standardprogressdialog: {
|
|
1105
|
-
availableSince: string;
|
|
1106
1113
|
description: string;
|
|
1107
1114
|
events: any[];
|
|
1108
1115
|
extends: {
|
|
@@ -1121,7 +1128,6 @@ export declare const nodes: {
|
|
|
1121
1128
|
url: string;
|
|
1122
1129
|
};
|
|
1123
1130
|
stddlgactioncarditem: {
|
|
1124
|
-
availableSince: string;
|
|
1125
1131
|
description: string;
|
|
1126
1132
|
events: any[];
|
|
1127
1133
|
extends: {
|
|
@@ -1140,7 +1146,6 @@ export declare const nodes: {
|
|
|
1140
1146
|
url: string;
|
|
1141
1147
|
};
|
|
1142
1148
|
stddlgareabase: {
|
|
1143
|
-
availableSince: string;
|
|
1144
1149
|
description: string;
|
|
1145
1150
|
events: any[];
|
|
1146
1151
|
extends: {
|
|
@@ -1153,7 +1158,6 @@ export declare const nodes: {
|
|
|
1153
1158
|
url: string;
|
|
1154
1159
|
};
|
|
1155
1160
|
stddlgbullettextitem: {
|
|
1156
|
-
availableSince: string;
|
|
1157
1161
|
description: string;
|
|
1158
1162
|
events: any[];
|
|
1159
1163
|
extends: {
|
|
@@ -1172,7 +1176,6 @@ export declare const nodes: {
|
|
|
1172
1176
|
url: string;
|
|
1173
1177
|
};
|
|
1174
1178
|
stddlgbutton: {
|
|
1175
|
-
availableSince: string;
|
|
1176
1179
|
description: string;
|
|
1177
1180
|
events: any[];
|
|
1178
1181
|
extends: {
|
|
@@ -1191,7 +1194,6 @@ export declare const nodes: {
|
|
|
1191
1194
|
url: string;
|
|
1192
1195
|
};
|
|
1193
1196
|
stddlgbuttonarea: {
|
|
1194
|
-
availableSince: string;
|
|
1195
1197
|
description: string;
|
|
1196
1198
|
events: any[];
|
|
1197
1199
|
extends: {
|
|
@@ -1204,7 +1206,6 @@ export declare const nodes: {
|
|
|
1204
1206
|
url: string;
|
|
1205
1207
|
};
|
|
1206
1208
|
stddlgcontentarea: {
|
|
1207
|
-
availableSince: string;
|
|
1208
1209
|
description: string;
|
|
1209
1210
|
events: any[];
|
|
1210
1211
|
extends: {
|
|
@@ -1217,7 +1218,6 @@ export declare const nodes: {
|
|
|
1217
1218
|
url: string;
|
|
1218
1219
|
};
|
|
1219
1220
|
stddlgcustomitem: {
|
|
1220
|
-
availableSince: string;
|
|
1221
1221
|
description: string;
|
|
1222
1222
|
events: any[];
|
|
1223
1223
|
extends: {
|
|
@@ -1236,7 +1236,6 @@ export declare const nodes: {
|
|
|
1236
1236
|
url: string;
|
|
1237
1237
|
};
|
|
1238
1238
|
stddlgdeterminateprogressitem: {
|
|
1239
|
-
availableSince: string;
|
|
1240
1239
|
description: string;
|
|
1241
1240
|
events: any[];
|
|
1242
1241
|
extends: {
|
|
@@ -1255,7 +1254,6 @@ export declare const nodes: {
|
|
|
1255
1254
|
url: string;
|
|
1256
1255
|
};
|
|
1257
1256
|
stddlggraphicitem: {
|
|
1258
|
-
availableSince: string;
|
|
1259
1257
|
description: string;
|
|
1260
1258
|
events: any[];
|
|
1261
1259
|
extends: {
|
|
@@ -1274,7 +1272,6 @@ export declare const nodes: {
|
|
|
1274
1272
|
url: string;
|
|
1275
1273
|
};
|
|
1276
1274
|
stddlgitembase: {
|
|
1277
|
-
availableSince: string;
|
|
1278
1275
|
description: string;
|
|
1279
1276
|
events: any[];
|
|
1280
1277
|
extends: {
|
|
@@ -1293,7 +1290,6 @@ export declare const nodes: {
|
|
|
1293
1290
|
url: string;
|
|
1294
1291
|
};
|
|
1295
1292
|
stddlgitemgroup: {
|
|
1296
|
-
availableSince: string;
|
|
1297
1293
|
description: string;
|
|
1298
1294
|
events: any[];
|
|
1299
1295
|
extends: {
|
|
@@ -1312,7 +1308,6 @@ export declare const nodes: {
|
|
|
1312
1308
|
url: string;
|
|
1313
1309
|
};
|
|
1314
1310
|
stddlgkeyboarditem: {
|
|
1315
|
-
availableSince: string;
|
|
1316
1311
|
description: string;
|
|
1317
1312
|
events: any[];
|
|
1318
1313
|
extends: {
|
|
@@ -1331,7 +1326,6 @@ export declare const nodes: {
|
|
|
1331
1326
|
url: string;
|
|
1332
1327
|
};
|
|
1333
1328
|
stddlgmultistyletextitem: {
|
|
1334
|
-
availableSince: string;
|
|
1335
1329
|
description: string;
|
|
1336
1330
|
events: any[];
|
|
1337
1331
|
extends: {
|
|
@@ -1350,7 +1344,6 @@ export declare const nodes: {
|
|
|
1350
1344
|
url: string;
|
|
1351
1345
|
};
|
|
1352
1346
|
stddlgprogressitem: {
|
|
1353
|
-
availableSince: string;
|
|
1354
1347
|
description: string;
|
|
1355
1348
|
events: any[];
|
|
1356
1349
|
extends: {
|
|
@@ -1369,7 +1362,6 @@ export declare const nodes: {
|
|
|
1369
1362
|
url: string;
|
|
1370
1363
|
};
|
|
1371
1364
|
stddlgsidecardarea: {
|
|
1372
|
-
availableSince: string;
|
|
1373
1365
|
description: string;
|
|
1374
1366
|
events: any[];
|
|
1375
1367
|
extends: {
|
|
@@ -1388,7 +1380,6 @@ export declare const nodes: {
|
|
|
1388
1380
|
url: string;
|
|
1389
1381
|
};
|
|
1390
1382
|
stddlgtextitem: {
|
|
1391
|
-
availableSince: string;
|
|
1392
1383
|
description: string;
|
|
1393
1384
|
events: any[];
|
|
1394
1385
|
extends: {
|
|
@@ -1407,7 +1398,6 @@ export declare const nodes: {
|
|
|
1407
1398
|
url: string;
|
|
1408
1399
|
};
|
|
1409
1400
|
stddlgtitlearea: {
|
|
1410
|
-
availableSince: string;
|
|
1411
1401
|
description: string;
|
|
1412
1402
|
events: any[];
|
|
1413
1403
|
extends: {
|
|
@@ -1649,7 +1639,6 @@ export declare const components: {
|
|
|
1649
1639
|
url: string;
|
|
1650
1640
|
};
|
|
1651
1641
|
roappmemorymonitor: {
|
|
1652
|
-
availableSince: string;
|
|
1653
1642
|
constructors: any[];
|
|
1654
1643
|
description: string;
|
|
1655
1644
|
events: {
|
|
@@ -1926,7 +1915,6 @@ export declare const components: {
|
|
|
1926
1915
|
url: string;
|
|
1927
1916
|
};
|
|
1928
1917
|
rodsa: {
|
|
1929
|
-
availableSince: string;
|
|
1930
1918
|
constructors: any[];
|
|
1931
1919
|
description: string;
|
|
1932
1920
|
events: any[];
|
|
@@ -2118,6 +2106,7 @@ export declare const components: {
|
|
|
2118
2106
|
name: string;
|
|
2119
2107
|
url: string;
|
|
2120
2108
|
}[];
|
|
2109
|
+
methods: any[];
|
|
2121
2110
|
name: string;
|
|
2122
2111
|
url: string;
|
|
2123
2112
|
};
|
|
@@ -3269,21 +3258,27 @@ export declare const interfaces: {
|
|
|
3269
3258
|
deprecatedDescription?: undefined;
|
|
3270
3259
|
isDeprecated?: undefined;
|
|
3271
3260
|
} | {
|
|
3272
|
-
deprecatedDescription: string;
|
|
3273
3261
|
description: string;
|
|
3274
|
-
isDeprecated: boolean;
|
|
3275
3262
|
name: string;
|
|
3276
3263
|
params: any[];
|
|
3277
|
-
returnDescription: string;
|
|
3278
3264
|
returnType: string;
|
|
3265
|
+
returnDescription?: undefined;
|
|
3266
|
+
deprecatedDescription?: undefined;
|
|
3267
|
+
isDeprecated?: undefined;
|
|
3279
3268
|
} | {
|
|
3269
|
+
deprecatedDescription: string;
|
|
3280
3270
|
description: string;
|
|
3271
|
+
isDeprecated: boolean;
|
|
3281
3272
|
name: string;
|
|
3282
|
-
params:
|
|
3273
|
+
params: {
|
|
3274
|
+
default: any;
|
|
3275
|
+
description: string;
|
|
3276
|
+
isRequired: boolean;
|
|
3277
|
+
name: string;
|
|
3278
|
+
type: string;
|
|
3279
|
+
}[];
|
|
3280
|
+
returnDescription: string;
|
|
3283
3281
|
returnType: string;
|
|
3284
|
-
returnDescription?: undefined;
|
|
3285
|
-
deprecatedDescription?: undefined;
|
|
3286
|
-
isDeprecated?: undefined;
|
|
3287
3282
|
})[];
|
|
3288
3283
|
name: string;
|
|
3289
3284
|
properties: any[];
|
|
@@ -3356,8 +3351,6 @@ export declare const interfaces: {
|
|
|
3356
3351
|
url: string;
|
|
3357
3352
|
};
|
|
3358
3353
|
ifdsa: {
|
|
3359
|
-
availableSince: string;
|
|
3360
|
-
description: string;
|
|
3361
3354
|
implementers: {
|
|
3362
3355
|
description: string;
|
|
3363
3356
|
name: string;
|
|
@@ -4,7 +4,9 @@ import { BscTypeKind } from './BscTypeKind';
|
|
|
4
4
|
export declare class ArrayType extends BscType {
|
|
5
5
|
constructor(...innerTypes: BscType[]);
|
|
6
6
|
readonly kind = BscTypeKind.ArrayType;
|
|
7
|
+
isBuiltIn: boolean;
|
|
7
8
|
innerTypes: BscType[];
|
|
9
|
+
_defaultType: BscType;
|
|
8
10
|
get defaultType(): BscType;
|
|
9
11
|
isTypeCompatible(targetType: BscType, data?: TypeCompatibilityData): boolean;
|
|
10
12
|
toString(): string;
|
package/dist/types/ArrayType.js
CHANGED
|
@@ -9,22 +9,32 @@ const DynamicType_1 = require("./DynamicType");
|
|
|
9
9
|
const IntegerType_1 = require("./IntegerType");
|
|
10
10
|
const UnionType_1 = require("./UnionType");
|
|
11
11
|
const helpers_1 = require("./helpers");
|
|
12
|
+
const util_1 = require("../util");
|
|
12
13
|
class ArrayType extends BscType_1.BscType {
|
|
13
14
|
constructor(...innerTypes) {
|
|
14
15
|
super();
|
|
15
16
|
this.kind = BscTypeKind_1.BscTypeKind.ArrayType;
|
|
17
|
+
this.isBuiltIn = true;
|
|
16
18
|
this.innerTypes = [];
|
|
17
19
|
this.innerTypes = innerTypes;
|
|
18
20
|
}
|
|
19
21
|
get defaultType() {
|
|
20
|
-
var _a, _b;
|
|
22
|
+
var _a, _b, _c;
|
|
23
|
+
if (this._defaultType) {
|
|
24
|
+
return this._defaultType;
|
|
25
|
+
}
|
|
21
26
|
if (((_a = this.innerTypes) === null || _a === void 0 ? void 0 : _a.length) === 0) {
|
|
22
27
|
return DynamicType_1.DynamicType.instance;
|
|
23
28
|
}
|
|
24
|
-
|
|
25
|
-
|
|
29
|
+
let resultType = this.innerTypes[0];
|
|
30
|
+
if (((_b = this.innerTypes) === null || _b === void 0 ? void 0 : _b.length) > 1) {
|
|
31
|
+
resultType = (0, helpers_1.getUniqueType)(this.innerTypes, UnionType_1.unionTypeFactory);
|
|
32
|
+
}
|
|
33
|
+
if ((0, reflection_1.isEnumMemberType)(resultType)) {
|
|
34
|
+
resultType = (_c = resultType.parentEnumType) !== null && _c !== void 0 ? _c : resultType;
|
|
26
35
|
}
|
|
27
|
-
|
|
36
|
+
this._defaultType = util_1.util.getDefaultTypeFromValueType(this.innerTypes);
|
|
37
|
+
return resultType;
|
|
28
38
|
}
|
|
29
39
|
isTypeCompatible(targetType, data) {
|
|
30
40
|
if ((0, reflection_1.isDynamicType)(targetType)) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ArrayType.js","sourceRoot":"","sources":["../../src/types/ArrayType.ts"],"names":[],"mappings":";;;AAEA,
|
|
1
|
+
{"version":3,"file":"ArrayType.js","sourceRoot":"","sources":["../../src/types/ArrayType.ts"],"names":[],"mappings":"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"}
|
|
@@ -4,6 +4,7 @@ import { BscType } from './BscType';
|
|
|
4
4
|
import { BscTypeKind } from './BscTypeKind';
|
|
5
5
|
export declare class AssociativeArrayType extends BscType {
|
|
6
6
|
readonly kind = BscTypeKind.AssociativeArrayType;
|
|
7
|
+
isBuiltIn: boolean;
|
|
7
8
|
isTypeCompatible(targetType: BscType, data?: TypeCompatibilityData): boolean;
|
|
8
9
|
toString(): string;
|
|
9
10
|
toTypeString(): string;
|
|
@@ -11,6 +11,7 @@ class AssociativeArrayType extends BscType_1.BscType {
|
|
|
11
11
|
constructor() {
|
|
12
12
|
super(...arguments);
|
|
13
13
|
this.kind = BscTypeKind_1.BscTypeKind.AssociativeArrayType;
|
|
14
|
+
this.isBuiltIn = true;
|
|
14
15
|
}
|
|
15
16
|
isTypeCompatible(targetType, data) {
|
|
16
17
|
if ((0, reflection_1.isDynamicType)(targetType)) {
|
|
@@ -1 +1 @@
|
|
|
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+
|
|
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;QAEjD,cAAS,GAAG,IAAI,CAAC;IA+C5B,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;AApDD,oDAoDC"}
|
|
@@ -2,6 +2,7 @@ import type { TypeCompatibilityData } from '../interfaces';
|
|
|
2
2
|
import { BscType } from './BscType';
|
|
3
3
|
export declare abstract class BaseFunctionType extends BscType {
|
|
4
4
|
returnType: BscType;
|
|
5
|
+
isBuiltIn: boolean;
|
|
5
6
|
isTypeCompatible(targetType: BscType, data?: TypeCompatibilityData): boolean;
|
|
6
7
|
toString(): string;
|
|
7
8
|
toTypeString(): string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BaseFunctionType.js","sourceRoot":"","sources":["../../src/types/BaseFunctionType.ts"],"names":[],"mappings":";;;AACA,uCAAoC;AACpC,+CAA4C;AAE5C,MAAsB,gBAAiB,SAAQ,iBAAO;IAAtD;;QAEW,eAAU,GAAY,yBAAW,CAAC,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"BaseFunctionType.js","sourceRoot":"","sources":["../../src/types/BaseFunctionType.ts"],"names":[],"mappings":";;;AACA,uCAAoC;AACpC,+CAA4C;AAE5C,MAAsB,gBAAiB,SAAQ,iBAAO;IAAtD;;QAEW,eAAU,GAAY,yBAAW,CAAC,QAAQ,CAAC;QAC3C,cAAS,GAAG,IAAI,CAAC;IAkB5B,CAAC;IAhBU,gBAAgB,CAAC,UAAmB,EAAE,IAA4B;QACrE,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;IAEM,QAAQ;QACX,OAAO,IAAI,CAAC,YAAY,EAAE,CAAC;IAE/B,CAAC;IAEM,YAAY;QACf,OAAO,UAAU,CAAC;IACtB,CAAC;IAED,OAAO,CAAC,UAAmB;QACvB,MAAM,IAAI,KAAK,CAAC,yBAAyB,CAAC,CAAC;IAC/C,CAAC;CACJ;AArBD,4CAqBC"}
|
|
@@ -5,6 +5,7 @@ export declare class BooleanType extends BscType {
|
|
|
5
5
|
typeText?: string;
|
|
6
6
|
constructor(typeText?: string);
|
|
7
7
|
readonly kind = BscTypeKind.BooleanType;
|
|
8
|
+
isBuiltIn: boolean;
|
|
8
9
|
static instance: BooleanType;
|
|
9
10
|
isTypeCompatible(targetType: BscType, data?: TypeCompatibilityData): boolean;
|
|
10
11
|
toString(): string;
|
|
@@ -11,6 +11,7 @@ class BooleanType extends BscType_1.BscType {
|
|
|
11
11
|
super();
|
|
12
12
|
this.typeText = typeText;
|
|
13
13
|
this.kind = BscTypeKind_1.BscTypeKind.BooleanType;
|
|
14
|
+
this.isBuiltIn = true;
|
|
14
15
|
}
|
|
15
16
|
isTypeCompatible(targetType, data) {
|
|
16
17
|
return ((0, reflection_1.isBooleanType)(targetType) ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BooleanType.js","sourceRoot":"","sources":["../../src/types/BooleanType.ts"],"names":[],"mappings":";;;AAAA,uDAAoF;AACpF,uCAAoC;AACpC,+CAA4C;AAC5C,uCAA+E;AAC/E,mEAAgE;AAGhE,MAAa,WAAY,SAAQ,iBAAO;IACpC,YACW,QAAiB;QAExB,KAAK,EAAE,CAAC;QAFD,aAAQ,GAAR,QAAQ,CAAS;QAKZ,SAAI,GAAG,yBAAW,CAAC,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"BooleanType.js","sourceRoot":"","sources":["../../src/types/BooleanType.ts"],"names":[],"mappings":";;;AAAA,uDAAoF;AACpF,uCAAoC;AACpC,+CAA4C;AAC5C,uCAA+E;AAC/E,mEAAgE;AAGhE,MAAa,WAAY,SAAQ,iBAAO;IACpC,YACW,QAAiB;QAExB,KAAK,EAAE,CAAC;QAFD,aAAQ,GAAR,QAAQ,CAAS;QAKZ,SAAI,GAAG,yBAAW,CAAC,WAAW,CAAC;QACxC,cAAS,GAAG,IAAI,CAAC;IAHxB,CAAC;IAOM,gBAAgB,CAAC,UAAmB,EAAE,IAA4B;QACrE,OAAO,CACH,IAAA,0BAAa,EAAC,UAAU,CAAC;YACzB,IAAA,0BAAa,EAAC,UAAU,CAAC;YACzB,IAAA,yBAAY,EAAC,UAAU,CAAC;YACxB,IAAA,+BAAqB,EAAC,IAAI,EAAE,UAAU,CAAC;YACvC,IAAA,qCAA2B,EAAC,IAAI,EAAE,UAAU,EAAE,WAAW,EAAE,IAAI,CAAC,CACnE,CAAC;IACN,CAAC;IAEM,QAAQ;;QACX,OAAO,MAAA,IAAI,CAAC,QAAQ,mCAAI,SAAS,CAAC;IACtC,CAAC;IAEM,YAAY;QACf,OAAO,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC3B,CAAC;IAED,OAAO,CAAC,UAAmB;QACvB,OAAO,IAAA,0BAAa,EAAC,UAAU,CAAC,CAAC;IACrC,CAAC;;AAhCL,kCAiCC;AAvBiB,oBAAQ,GAAG,IAAI,WAAW,CAAC,SAAS,CAAC,CAAC;AAyBxD,6CAAqB,CAAC,0BAA0B,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,CAAC,QAAQ,CAAC,CAAC"}
|
package/dist/types/BscType.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export declare abstract class BscType {
|
|
|
6
6
|
readonly memberTable: SymbolTable;
|
|
7
7
|
protected __identifier: string;
|
|
8
8
|
protected hasAddedBuiltInInterfaces: boolean;
|
|
9
|
+
isBuiltIn: boolean;
|
|
9
10
|
constructor(name?: string);
|
|
10
11
|
pushMemberProvider(provider: SymbolTableProvider): void;
|
|
11
12
|
popMemberProvider(): void;
|
|
@@ -28,6 +29,12 @@ export declare abstract class BscType {
|
|
|
28
29
|
toString(): string;
|
|
29
30
|
toTypeString(): string;
|
|
30
31
|
isEqual(targetType: BscType, data?: TypeCompatibilityData): boolean;
|
|
31
|
-
checkCompatibilityBasedOnMembers(targetType: BscType, flags: SymbolTypeFlag, data?: TypeCompatibilityData): boolean;
|
|
32
|
+
checkCompatibilityBasedOnMembers(targetType: BscType, flags: SymbolTypeFlag, data?: TypeCompatibilityData, memberTable?: SymbolTable, targetMemberTable?: SymbolTable): boolean;
|
|
32
33
|
addBuiltInInterfaces(): void;
|
|
34
|
+
/**
|
|
35
|
+
* The level of priority of this type when in a binary operation
|
|
36
|
+
* For example Float is higher priority than integer, so Float + Int => Float
|
|
37
|
+
* Lower numbers have higher priority
|
|
38
|
+
*/
|
|
39
|
+
readonly binaryOpPriorityLevel: number;
|
|
33
40
|
}
|
package/dist/types/BscType.js
CHANGED
|
@@ -7,6 +7,13 @@ const reflection_1 = require("../astUtils/reflection");
|
|
|
7
7
|
class BscType {
|
|
8
8
|
constructor(name = '') {
|
|
9
9
|
this.hasAddedBuiltInInterfaces = false;
|
|
10
|
+
this.isBuiltIn = false;
|
|
11
|
+
/**
|
|
12
|
+
* The level of priority of this type when in a binary operation
|
|
13
|
+
* For example Float is higher priority than integer, so Float + Int => Float
|
|
14
|
+
* Lower numbers have higher priority
|
|
15
|
+
*/
|
|
16
|
+
this.binaryOpPriorityLevel = 0;
|
|
10
17
|
this.__identifier = `${this.constructor.name}${name ? ': ' + name : ''}`;
|
|
11
18
|
this.memberTable = new SymbolTable_1.SymbolTable(this.__identifier);
|
|
12
19
|
}
|
|
@@ -57,7 +64,7 @@ class BscType {
|
|
|
57
64
|
isEqual(targetType, data = {}) {
|
|
58
65
|
throw new Error('Method not implemented.');
|
|
59
66
|
}
|
|
60
|
-
checkCompatibilityBasedOnMembers(targetType, flags, data = {}) {
|
|
67
|
+
checkCompatibilityBasedOnMembers(targetType, flags, data = {}, memberTable, targetMemberTable) {
|
|
61
68
|
var _a, _b;
|
|
62
69
|
if (!targetType) {
|
|
63
70
|
return false;
|
|
@@ -73,6 +80,7 @@ class BscType {
|
|
|
73
80
|
return true;
|
|
74
81
|
}
|
|
75
82
|
if ((0, reflection_1.isReferenceType)(targetType) && !targetType.isResolvable()) {
|
|
83
|
+
data.unresolveableTarget = targetType.fullName;
|
|
76
84
|
// we can't resolve the other type. Assume it does not fail on member checks
|
|
77
85
|
return true;
|
|
78
86
|
}
|
|
@@ -80,9 +88,10 @@ class BscType {
|
|
|
80
88
|
// some sort of circular reference
|
|
81
89
|
return false;
|
|
82
90
|
}
|
|
83
|
-
const mySymbols = (_a = this.getMemberTable()) === null || _a === void 0 ? void 0 : _a.getAllSymbols(flags);
|
|
91
|
+
const mySymbols = (_a = (memberTable !== null && memberTable !== void 0 ? memberTable : this.getMemberTable())) === null || _a === void 0 ? void 0 : _a.getAllSymbols(flags);
|
|
92
|
+
const targetTable = (targetMemberTable !== null && targetMemberTable !== void 0 ? targetMemberTable : targetType.getMemberTable());
|
|
84
93
|
for (const memberSymbol of mySymbols) {
|
|
85
|
-
const targetTypesOfSymbol = (_b =
|
|
94
|
+
const targetTypesOfSymbol = (_b = targetTable
|
|
86
95
|
.getSymbolTypes(memberSymbol.name, { flags: flags })) === null || _b === void 0 ? void 0 : _b.map(symbol => symbol.type);
|
|
87
96
|
if (!targetTypesOfSymbol || targetTypesOfSymbol.length === 0) {
|
|
88
97
|
// eslint-disable-next-line no-bitwise
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BscType.js","sourceRoot":"","sources":["../../src/types/BscType.ts"],"names":[],"mappings":";;;AACA,gDAA6C;AAE7C,mEAAgE;AAEhE,uDAAyF;AAEzF,MAAsB,OAAO;
|
|
1
|
+
{"version":3,"file":"BscType.js","sourceRoot":"","sources":["../../src/types/BscType.ts"],"names":[],"mappings":"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"}
|
|
@@ -5,6 +5,10 @@ const roku_types_1 = require("../roku-types");
|
|
|
5
5
|
const Cache_1 = require("../Cache");
|
|
6
6
|
const reflection_1 = require("../astUtils/reflection");
|
|
7
7
|
const util_1 = require("../util");
|
|
8
|
+
const builtInSymbolData = {
|
|
9
|
+
completionPriority: 1,
|
|
10
|
+
isBuiltIn: true
|
|
11
|
+
};
|
|
8
12
|
// eslint-disable-next-line @typescript-eslint/no-extraneous-class
|
|
9
13
|
class BuiltInInterfaceAdder {
|
|
10
14
|
static addBuiltInInterfacesToType(thisType, overrides) {
|
|
@@ -37,7 +41,7 @@ class BuiltInInterfaceAdder {
|
|
|
37
41
|
if (method.isDeprecated) {
|
|
38
42
|
flags |= 64 /* SymbolTypeFlag.deprecated */; // eslint-disable-line no-bitwise
|
|
39
43
|
}
|
|
40
|
-
builtInMemberTable.addSymbol(method.name, { description: method.description
|
|
44
|
+
builtInMemberTable.addSymbol(method.name, Object.assign(Object.assign({}, builtInSymbolData), { description: method.description }), methodFuncType, flags);
|
|
41
45
|
}
|
|
42
46
|
}
|
|
43
47
|
for (const iface of interfacesToLoop) {
|
|
@@ -47,7 +51,7 @@ class BuiltInInterfaceAdder {
|
|
|
47
51
|
// this type has interfaces - add them directly as members
|
|
48
52
|
const ifaceType = (_d = this.getLookupTable()) === null || _d === void 0 ? void 0 : _d.getSymbolType(iface.name, { flags: 2 /* SymbolTypeFlag.typetime */ });
|
|
49
53
|
if (ifaceType) {
|
|
50
|
-
builtInMemberTable.addSymbol(iface.name, {
|
|
54
|
+
builtInMemberTable.addSymbol(iface.name, Object.assign({}, builtInSymbolData), ifaceType, 1 /* SymbolTypeFlag.runtime */);
|
|
51
55
|
}
|
|
52
56
|
}
|
|
53
57
|
for (const method of (_e = ifaceData.methods) !== null && _e !== void 0 ? _e : []) {
|
|
@@ -56,11 +60,11 @@ class BuiltInInterfaceAdder {
|
|
|
56
60
|
continue;
|
|
57
61
|
}
|
|
58
62
|
const methodFuncType = this.buildMethodFromDocData(method, overrides, thisType);
|
|
59
|
-
builtInMemberTable.addSymbol(method.name, { description: method.description
|
|
63
|
+
builtInMemberTable.addSymbol(method.name, Object.assign(Object.assign({}, builtInSymbolData), { description: method.description }), methodFuncType, 1 /* SymbolTypeFlag.runtime */);
|
|
60
64
|
}
|
|
61
65
|
for (const property of (_f = ifaceData.properties) !== null && _f !== void 0 ? _f : []) {
|
|
62
66
|
const override = overrides === null || overrides === void 0 ? void 0 : overrides.get(property.name.toLowerCase());
|
|
63
|
-
builtInMemberTable.addSymbol(property.name, { description: property.description
|
|
67
|
+
builtInMemberTable.addSymbol(property.name, Object.assign(Object.assign({}, builtInSymbolData), { description: property.description }), (_h = (_g = override === null || override === void 0 ? void 0 : override.type) !== null && _g !== void 0 ? _g : this.getPrimitiveType(property.type)) !== null && _h !== void 0 ? _h : this.getPrimitiveType('dynamic'), 1 /* SymbolTypeFlag.runtime */);
|
|
64
68
|
}
|
|
65
69
|
}
|
|
66
70
|
}
|
|
@@ -183,7 +187,7 @@ class BuiltInInterfaceAdder {
|
|
|
183
187
|
}
|
|
184
188
|
const lookupTable = this.getLookupTable();
|
|
185
189
|
for (const field of builtInNode.fields) {
|
|
186
|
-
memberTable.addSymbol(field.name, { description: field.description
|
|
190
|
+
memberTable.addSymbol(field.name, Object.assign(Object.assign({}, builtInSymbolData), { description: field.description }), util_1.util.getNodeFieldType(field.type, lookupTable), 1 /* SymbolTypeFlag.runtime */);
|
|
187
191
|
}
|
|
188
192
|
for (const method of (_a = builtInNode.methods) !== null && _a !== void 0 ? _a : []) {
|
|
189
193
|
const methodFuncType = this.buildMethodFromDocData(method, null, thisType);
|
|
@@ -192,7 +196,7 @@ class BuiltInInterfaceAdder {
|
|
|
192
196
|
if (method.isDeprecated) {
|
|
193
197
|
flags |= 64 /* SymbolTypeFlag.deprecated */; // eslint-disable-line no-bitwise
|
|
194
198
|
}
|
|
195
|
-
memberTable.addSymbol(method.name, { description: method.description
|
|
199
|
+
memberTable.addSymbol(method.name, Object.assign(Object.assign({}, builtInSymbolData), { description: method.description }), methodFuncType, flags);
|
|
196
200
|
}
|
|
197
201
|
}
|
|
198
202
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BuiltInInterfaceAdder.js","sourceRoot":"","sources":["../../src/types/BuiltInInterfaceAdder.ts"],"names":[],"mappings":";;;AACA,8CAAsE;AACtE,oCAAiC;AAKjC,uDAA0P;AAE1P,kCAA+B;
|
|
1
|
+
{"version":3,"file":"BuiltInInterfaceAdder.js","sourceRoot":"","sources":["../../src/types/BuiltInInterfaceAdder.ts"],"names":[],"mappings":"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"}
|
|
@@ -12,5 +12,6 @@ export declare class ClassType extends InheritableType {
|
|
|
12
12
|
isEqual(targetType: BscType, data?: TypeCompatibilityData): boolean;
|
|
13
13
|
private builtInMemberTable;
|
|
14
14
|
getBuiltInMemberTable(): SymbolTable;
|
|
15
|
+
private hasStartedAddingBuiltInInterfaces;
|
|
15
16
|
addBuiltInInterfaces(): void;
|
|
16
17
|
}
|
package/dist/types/ClassType.js
CHANGED
|
@@ -12,12 +12,14 @@ class ClassType extends InheritableType_1.InheritableType {
|
|
|
12
12
|
super(name, superClass);
|
|
13
13
|
this.name = name;
|
|
14
14
|
this.kind = BscTypeKind_1.BscTypeKind.ClassType;
|
|
15
|
+
this.hasStartedAddingBuiltInInterfaces = false;
|
|
15
16
|
}
|
|
16
17
|
isTypeCompatible(targetType, data) {
|
|
17
18
|
if (this.isEqual(targetType, data)) {
|
|
18
19
|
return true;
|
|
19
20
|
}
|
|
20
|
-
else if ((0, reflection_1.
|
|
21
|
+
else if ((0, reflection_1.isInvalidType)(targetType) ||
|
|
22
|
+
(0, reflection_1.isDynamicType)(targetType) ||
|
|
21
23
|
(0, reflection_1.isObjectType)(targetType) ||
|
|
22
24
|
(0, helpers_1.isUnionTypeCompatible)(this, targetType, data)) {
|
|
23
25
|
return true;
|
|
@@ -44,7 +46,8 @@ class ClassType extends InheritableType_1.InheritableType {
|
|
|
44
46
|
}
|
|
45
47
|
}
|
|
46
48
|
addBuiltInInterfaces() {
|
|
47
|
-
if (!this.hasAddedBuiltInInterfaces) {
|
|
49
|
+
if (!this.hasAddedBuiltInInterfaces && !this.hasStartedAddingBuiltInInterfaces) {
|
|
50
|
+
this.hasStartedAddingBuiltInInterfaces = true;
|
|
48
51
|
if (this.parentType) {
|
|
49
52
|
this.parentType.addBuiltInInterfaces();
|
|
50
53
|
}
|