| OLD | NEW |
| 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
| 2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
| 3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
| 4 // | 4 // |
| 5 // This file has been automatically generated. Please do not edit it manually. | 5 // This file has been automatically generated. Please do not edit it manually. |
| 6 // To regenerate the file, use the script "pkg/analyzer/tool/generate_files". | 6 // To regenerate the file, use the script "pkg/analyzer/tool/generate_files". |
| 7 | 7 |
| 8 library analyzer.src.summary.format; | 8 library analyzer.src.summary.format; |
| 9 | 9 |
| 10 import 'dart:convert'; | 10 import 'dart:convert'; |
| (...skipping 1198 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1209 builder.isAbstract = isAbstract; | 1209 builder.isAbstract = isAbstract; |
| 1210 builder.isStatic = isStatic; | 1210 builder.isStatic = isStatic; |
| 1211 builder.isConst = isConst; | 1211 builder.isConst = isConst; |
| 1212 builder.isFactory = isFactory; | 1212 builder.isFactory = isFactory; |
| 1213 builder.hasImplicitReturnType = hasImplicitReturnType; | 1213 builder.hasImplicitReturnType = hasImplicitReturnType; |
| 1214 builder.isExternal = isExternal; | 1214 builder.isExternal = isExternal; |
| 1215 return builder; | 1215 return builder; |
| 1216 } | 1216 } |
| 1217 | 1217 |
| 1218 /** | 1218 /** |
| 1219 * Unlinked summary information about an export declaration. | 1219 * Unlinked summary information about an export declaration (stored outside |
| 1220 * [UnlinkedPublicNamespace]). |
| 1220 */ | 1221 */ |
| 1221 class UnlinkedExport extends base.SummaryClass { | 1222 class UnlinkedExportNonPublic extends base.SummaryClass { |
| 1223 int _uriOffset; |
| 1224 int _uriEnd; |
| 1225 |
| 1226 UnlinkedExportNonPublic.fromJson(Map json) |
| 1227 : _uriOffset = json["uriOffset"], |
| 1228 _uriEnd = json["uriEnd"]; |
| 1229 |
| 1230 @override |
| 1231 Map<String, Object> toMap() => { |
| 1232 "uriOffset": uriOffset, |
| 1233 "uriEnd": uriEnd, |
| 1234 }; |
| 1235 |
| 1236 /** |
| 1237 * Offset of the URI string (including quotes) relative to the beginning of |
| 1238 * the file. |
| 1239 */ |
| 1240 int get uriOffset => _uriOffset ?? 0; |
| 1241 |
| 1242 /** |
| 1243 * End of the URI string (including quotes) relative to the beginning of the |
| 1244 * file. |
| 1245 */ |
| 1246 int get uriEnd => _uriEnd ?? 0; |
| 1247 } |
| 1248 |
| 1249 class UnlinkedExportNonPublicBuilder { |
| 1250 final Map _json = {}; |
| 1251 |
| 1252 bool _finished = false; |
| 1253 |
| 1254 UnlinkedExportNonPublicBuilder(base.BuilderContext context); |
| 1255 |
| 1256 /** |
| 1257 * Offset of the URI string (including quotes) relative to the beginning of |
| 1258 * the file. |
| 1259 */ |
| 1260 void set uriOffset(int _value) { |
| 1261 assert(!_finished); |
| 1262 assert(!_json.containsKey("uriOffset")); |
| 1263 if (_value != null) { |
| 1264 _json["uriOffset"] = _value; |
| 1265 } |
| 1266 } |
| 1267 |
| 1268 /** |
| 1269 * End of the URI string (including quotes) relative to the beginning of the |
| 1270 * file. |
| 1271 */ |
| 1272 void set uriEnd(int _value) { |
| 1273 assert(!_finished); |
| 1274 assert(!_json.containsKey("uriEnd")); |
| 1275 if (_value != null) { |
| 1276 _json["uriEnd"] = _value; |
| 1277 } |
| 1278 } |
| 1279 |
| 1280 Map finish() { |
| 1281 assert(!_finished); |
| 1282 _finished = true; |
| 1283 return _json; |
| 1284 } |
| 1285 } |
| 1286 |
| 1287 UnlinkedExportNonPublicBuilder encodeUnlinkedExportNonPublic(base.BuilderContext
builderContext, {int uriOffset, int uriEnd}) { |
| 1288 UnlinkedExportNonPublicBuilder builder = new UnlinkedExportNonPublicBuilder(bu
ilderContext); |
| 1289 builder.uriOffset = uriOffset; |
| 1290 builder.uriEnd = uriEnd; |
| 1291 return builder; |
| 1292 } |
| 1293 |
| 1294 /** |
| 1295 * Unlinked summary information about an export declaration (stored inside |
| 1296 * [UnlinkedPublicNamespace]). |
| 1297 */ |
| 1298 class UnlinkedExportPublic extends base.SummaryClass { |
| 1222 String _uri; | 1299 String _uri; |
| 1223 List<UnlinkedCombinator> _combinators; | 1300 List<UnlinkedCombinator> _combinators; |
| 1224 | 1301 |
| 1225 UnlinkedExport.fromJson(Map json) | 1302 UnlinkedExportPublic.fromJson(Map json) |
| 1226 : _uri = json["uri"], | 1303 : _uri = json["uri"], |
| 1227 _combinators = json["combinators"]?.map((x) => new UnlinkedCombinator.from
Json(x))?.toList(); | 1304 _combinators = json["combinators"]?.map((x) => new UnlinkedCombinator.from
Json(x))?.toList(); |
| 1228 | 1305 |
| 1229 @override | 1306 @override |
| 1230 Map<String, Object> toMap() => { | 1307 Map<String, Object> toMap() => { |
| 1231 "uri": uri, | 1308 "uri": uri, |
| 1232 "combinators": combinators, | 1309 "combinators": combinators, |
| 1233 }; | 1310 }; |
| 1234 | 1311 |
| 1235 /** | 1312 /** |
| 1236 * URI used in the source code to reference the exported library. | 1313 * URI used in the source code to reference the exported library. |
| 1237 */ | 1314 */ |
| 1238 String get uri => _uri ?? ''; | 1315 String get uri => _uri ?? ''; |
| 1239 | 1316 |
| 1240 /** | 1317 /** |
| 1241 * Combinators contained in this import declaration. | 1318 * Combinators contained in this import declaration. |
| 1242 */ | 1319 */ |
| 1243 List<UnlinkedCombinator> get combinators => _combinators ?? const <UnlinkedCom
binator>[]; | 1320 List<UnlinkedCombinator> get combinators => _combinators ?? const <UnlinkedCom
binator>[]; |
| 1244 } | 1321 } |
| 1245 | 1322 |
| 1246 class UnlinkedExportBuilder { | 1323 class UnlinkedExportPublicBuilder { |
| 1247 final Map _json = {}; | 1324 final Map _json = {}; |
| 1248 | 1325 |
| 1249 bool _finished = false; | 1326 bool _finished = false; |
| 1250 | 1327 |
| 1251 UnlinkedExportBuilder(base.BuilderContext context); | 1328 UnlinkedExportPublicBuilder(base.BuilderContext context); |
| 1252 | 1329 |
| 1253 /** | 1330 /** |
| 1254 * URI used in the source code to reference the exported library. | 1331 * URI used in the source code to reference the exported library. |
| 1255 */ | 1332 */ |
| 1256 void set uri(String _value) { | 1333 void set uri(String _value) { |
| 1257 assert(!_finished); | 1334 assert(!_finished); |
| 1258 assert(!_json.containsKey("uri")); | 1335 assert(!_json.containsKey("uri")); |
| 1259 if (_value != null) { | 1336 if (_value != null) { |
| 1260 _json["uri"] = _value; | 1337 _json["uri"] = _value; |
| 1261 } | 1338 } |
| (...skipping 10 matching lines...) Expand all Loading... |
| 1272 } | 1349 } |
| 1273 } | 1350 } |
| 1274 | 1351 |
| 1275 Map finish() { | 1352 Map finish() { |
| 1276 assert(!_finished); | 1353 assert(!_finished); |
| 1277 _finished = true; | 1354 _finished = true; |
| 1278 return _json; | 1355 return _json; |
| 1279 } | 1356 } |
| 1280 } | 1357 } |
| 1281 | 1358 |
| 1282 UnlinkedExportBuilder encodeUnlinkedExport(base.BuilderContext builderContext, {
String uri, List<UnlinkedCombinatorBuilder> combinators}) { | 1359 UnlinkedExportPublicBuilder encodeUnlinkedExportPublic(base.BuilderContext build
erContext, {String uri, List<UnlinkedCombinatorBuilder> combinators}) { |
| 1283 UnlinkedExportBuilder builder = new UnlinkedExportBuilder(builderContext); | 1360 UnlinkedExportPublicBuilder builder = new UnlinkedExportPublicBuilder(builderC
ontext); |
| 1284 builder.uri = uri; | 1361 builder.uri = uri; |
| 1285 builder.combinators = combinators; | 1362 builder.combinators = combinators; |
| 1286 return builder; | 1363 return builder; |
| 1287 } | 1364 } |
| 1288 | 1365 |
| 1289 /** | 1366 /** |
| 1290 * Unlinked summary information about an import declaration. | 1367 * Unlinked summary information about an import declaration. |
| 1291 */ | 1368 */ |
| 1292 class UnlinkedImport extends base.SummaryClass { | 1369 class UnlinkedImport extends base.SummaryClass { |
| 1293 String _uri; | 1370 String _uri; |
| 1294 int _offset; | 1371 int _offset; |
| 1295 int _prefixReference; | 1372 int _prefixReference; |
| 1296 List<UnlinkedCombinator> _combinators; | 1373 List<UnlinkedCombinator> _combinators; |
| 1297 bool _isDeferred; | 1374 bool _isDeferred; |
| 1298 bool _isImplicit; | 1375 bool _isImplicit; |
| 1376 int _uriOffset; |
| 1377 int _uriEnd; |
| 1299 | 1378 |
| 1300 UnlinkedImport.fromJson(Map json) | 1379 UnlinkedImport.fromJson(Map json) |
| 1301 : _uri = json["uri"], | 1380 : _uri = json["uri"], |
| 1302 _offset = json["offset"], | 1381 _offset = json["offset"], |
| 1303 _prefixReference = json["prefixReference"], | 1382 _prefixReference = json["prefixReference"], |
| 1304 _combinators = json["combinators"]?.map((x) => new UnlinkedCombinator.from
Json(x))?.toList(), | 1383 _combinators = json["combinators"]?.map((x) => new UnlinkedCombinator.from
Json(x))?.toList(), |
| 1305 _isDeferred = json["isDeferred"], | 1384 _isDeferred = json["isDeferred"], |
| 1306 _isImplicit = json["isImplicit"]; | 1385 _isImplicit = json["isImplicit"], |
| 1386 _uriOffset = json["uriOffset"], |
| 1387 _uriEnd = json["uriEnd"]; |
| 1307 | 1388 |
| 1308 @override | 1389 @override |
| 1309 Map<String, Object> toMap() => { | 1390 Map<String, Object> toMap() => { |
| 1310 "uri": uri, | 1391 "uri": uri, |
| 1311 "offset": offset, | 1392 "offset": offset, |
| 1312 "prefixReference": prefixReference, | 1393 "prefixReference": prefixReference, |
| 1313 "combinators": combinators, | 1394 "combinators": combinators, |
| 1314 "isDeferred": isDeferred, | 1395 "isDeferred": isDeferred, |
| 1315 "isImplicit": isImplicit, | 1396 "isImplicit": isImplicit, |
| 1397 "uriOffset": uriOffset, |
| 1398 "uriEnd": uriEnd, |
| 1316 }; | 1399 }; |
| 1317 | 1400 |
| 1318 /** | 1401 /** |
| 1319 * URI used in the source code to reference the imported library. | 1402 * URI used in the source code to reference the imported library. |
| 1320 */ | 1403 */ |
| 1321 String get uri => _uri ?? ''; | 1404 String get uri => _uri ?? ''; |
| 1322 | 1405 |
| 1323 /** | 1406 /** |
| 1324 * If [isImplicit] is false, offset of the "import" keyword. If [isImplicit] | 1407 * If [isImplicit] is false, offset of the "import" keyword. If [isImplicit] |
| 1325 * is true, zero. | 1408 * is true, zero. |
| (...skipping 15 matching lines...) Expand all Loading... |
| 1341 | 1424 |
| 1342 /** | 1425 /** |
| 1343 * Indicates whether the import declaration uses the `deferred` keyword. | 1426 * Indicates whether the import declaration uses the `deferred` keyword. |
| 1344 */ | 1427 */ |
| 1345 bool get isDeferred => _isDeferred ?? false; | 1428 bool get isDeferred => _isDeferred ?? false; |
| 1346 | 1429 |
| 1347 /** | 1430 /** |
| 1348 * Indicates whether the import declaration is implicit. | 1431 * Indicates whether the import declaration is implicit. |
| 1349 */ | 1432 */ |
| 1350 bool get isImplicit => _isImplicit ?? false; | 1433 bool get isImplicit => _isImplicit ?? false; |
| 1434 |
| 1435 /** |
| 1436 * Offset of the URI string (including quotes) relative to the beginning of |
| 1437 * the file. If [isImplicit] is true, zero. |
| 1438 */ |
| 1439 int get uriOffset => _uriOffset ?? 0; |
| 1440 |
| 1441 /** |
| 1442 * End of the URI string (including quotes) relative to the beginning of the |
| 1443 * file. If [isImplicit] is true, zero. |
| 1444 */ |
| 1445 int get uriEnd => _uriEnd ?? 0; |
| 1351 } | 1446 } |
| 1352 | 1447 |
| 1353 class UnlinkedImportBuilder { | 1448 class UnlinkedImportBuilder { |
| 1354 final Map _json = {}; | 1449 final Map _json = {}; |
| 1355 | 1450 |
| 1356 bool _finished = false; | 1451 bool _finished = false; |
| 1357 | 1452 |
| 1358 UnlinkedImportBuilder(base.BuilderContext context); | 1453 UnlinkedImportBuilder(base.BuilderContext context); |
| 1359 | 1454 |
| 1360 /** | 1455 /** |
| (...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1420 * Indicates whether the import declaration is implicit. | 1515 * Indicates whether the import declaration is implicit. |
| 1421 */ | 1516 */ |
| 1422 void set isImplicit(bool _value) { | 1517 void set isImplicit(bool _value) { |
| 1423 assert(!_finished); | 1518 assert(!_finished); |
| 1424 assert(!_json.containsKey("isImplicit")); | 1519 assert(!_json.containsKey("isImplicit")); |
| 1425 if (_value != null) { | 1520 if (_value != null) { |
| 1426 _json["isImplicit"] = _value; | 1521 _json["isImplicit"] = _value; |
| 1427 } | 1522 } |
| 1428 } | 1523 } |
| 1429 | 1524 |
| 1525 /** |
| 1526 * Offset of the URI string (including quotes) relative to the beginning of |
| 1527 * the file. If [isImplicit] is true, zero. |
| 1528 */ |
| 1529 void set uriOffset(int _value) { |
| 1530 assert(!_finished); |
| 1531 assert(!_json.containsKey("uriOffset")); |
| 1532 if (_value != null) { |
| 1533 _json["uriOffset"] = _value; |
| 1534 } |
| 1535 } |
| 1536 |
| 1537 /** |
| 1538 * End of the URI string (including quotes) relative to the beginning of the |
| 1539 * file. If [isImplicit] is true, zero. |
| 1540 */ |
| 1541 void set uriEnd(int _value) { |
| 1542 assert(!_finished); |
| 1543 assert(!_json.containsKey("uriEnd")); |
| 1544 if (_value != null) { |
| 1545 _json["uriEnd"] = _value; |
| 1546 } |
| 1547 } |
| 1548 |
| 1430 Map finish() { | 1549 Map finish() { |
| 1431 assert(!_finished); | 1550 assert(!_finished); |
| 1432 _finished = true; | 1551 _finished = true; |
| 1433 return _json; | 1552 return _json; |
| 1434 } | 1553 } |
| 1435 } | 1554 } |
| 1436 | 1555 |
| 1437 UnlinkedImportBuilder encodeUnlinkedImport(base.BuilderContext builderContext, {
String uri, int offset, int prefixReference, List<UnlinkedCombinatorBuilder> com
binators, bool isDeferred, bool isImplicit}) { | 1556 UnlinkedImportBuilder encodeUnlinkedImport(base.BuilderContext builderContext, {
String uri, int offset, int prefixReference, List<UnlinkedCombinatorBuilder> com
binators, bool isDeferred, bool isImplicit, int uriOffset, int uriEnd}) { |
| 1438 UnlinkedImportBuilder builder = new UnlinkedImportBuilder(builderContext); | 1557 UnlinkedImportBuilder builder = new UnlinkedImportBuilder(builderContext); |
| 1439 builder.uri = uri; | 1558 builder.uri = uri; |
| 1440 builder.offset = offset; | 1559 builder.offset = offset; |
| 1441 builder.prefixReference = prefixReference; | 1560 builder.prefixReference = prefixReference; |
| 1442 builder.combinators = combinators; | 1561 builder.combinators = combinators; |
| 1443 builder.isDeferred = isDeferred; | 1562 builder.isDeferred = isDeferred; |
| 1444 builder.isImplicit = isImplicit; | 1563 builder.isImplicit = isImplicit; |
| 1564 builder.uriOffset = uriOffset; |
| 1565 builder.uriEnd = uriEnd; |
| 1445 return builder; | 1566 return builder; |
| 1446 } | 1567 } |
| 1447 | 1568 |
| 1448 /** | 1569 /** |
| 1449 * Unlinked summary information about a function parameter. | 1570 * Unlinked summary information about a function parameter. |
| 1450 */ | 1571 */ |
| 1451 class UnlinkedParam extends base.SummaryClass { | 1572 class UnlinkedParam extends base.SummaryClass { |
| 1452 String _name; | 1573 String _name; |
| 1453 UnlinkedTypeRef _type; | 1574 UnlinkedTypeRef _type; |
| 1454 List<UnlinkedParam> _parameters; | 1575 List<UnlinkedParam> _parameters; |
| (...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1625 builder.isFunctionTyped = isFunctionTyped; | 1746 builder.isFunctionTyped = isFunctionTyped; |
| 1626 builder.isInitializingFormal = isInitializingFormal; | 1747 builder.isInitializingFormal = isInitializingFormal; |
| 1627 builder.hasImplicitType = hasImplicitType; | 1748 builder.hasImplicitType = hasImplicitType; |
| 1628 return builder; | 1749 return builder; |
| 1629 } | 1750 } |
| 1630 | 1751 |
| 1631 /** | 1752 /** |
| 1632 * Unlinked summary information about a part declaration. | 1753 * Unlinked summary information about a part declaration. |
| 1633 */ | 1754 */ |
| 1634 class UnlinkedPart extends base.SummaryClass { | 1755 class UnlinkedPart extends base.SummaryClass { |
| 1635 String _uri; | 1756 int _uriOffset; |
| 1757 int _uriEnd; |
| 1636 | 1758 |
| 1637 UnlinkedPart.fromJson(Map json) | 1759 UnlinkedPart.fromJson(Map json) |
| 1638 : _uri = json["uri"]; | 1760 : _uriOffset = json["uriOffset"], |
| 1761 _uriEnd = json["uriEnd"]; |
| 1639 | 1762 |
| 1640 @override | 1763 @override |
| 1641 Map<String, Object> toMap() => { | 1764 Map<String, Object> toMap() => { |
| 1642 "uri": uri, | 1765 "uriOffset": uriOffset, |
| 1766 "uriEnd": uriEnd, |
| 1643 }; | 1767 }; |
| 1644 | 1768 |
| 1645 /** | 1769 /** |
| 1646 * String used in the compilation unit to refer to the part file. | 1770 * Offset of the URI string (including quotes) relative to the beginning of |
| 1771 * the file. |
| 1647 */ | 1772 */ |
| 1648 String get uri => _uri ?? ''; | 1773 int get uriOffset => _uriOffset ?? 0; |
| 1774 |
| 1775 /** |
| 1776 * End of the URI string (including quotes) relative to the beginning of the |
| 1777 * file. |
| 1778 */ |
| 1779 int get uriEnd => _uriEnd ?? 0; |
| 1649 } | 1780 } |
| 1650 | 1781 |
| 1651 class UnlinkedPartBuilder { | 1782 class UnlinkedPartBuilder { |
| 1652 final Map _json = {}; | 1783 final Map _json = {}; |
| 1653 | 1784 |
| 1654 bool _finished = false; | 1785 bool _finished = false; |
| 1655 | 1786 |
| 1656 UnlinkedPartBuilder(base.BuilderContext context); | 1787 UnlinkedPartBuilder(base.BuilderContext context); |
| 1657 | 1788 |
| 1658 /** | 1789 /** |
| 1659 * String used in the compilation unit to refer to the part file. | 1790 * Offset of the URI string (including quotes) relative to the beginning of |
| 1791 * the file. |
| 1660 */ | 1792 */ |
| 1661 void set uri(String _value) { | 1793 void set uriOffset(int _value) { |
| 1662 assert(!_finished); | 1794 assert(!_finished); |
| 1663 assert(!_json.containsKey("uri")); | 1795 assert(!_json.containsKey("uriOffset")); |
| 1664 if (_value != null) { | 1796 if (_value != null) { |
| 1665 _json["uri"] = _value; | 1797 _json["uriOffset"] = _value; |
| 1666 } | 1798 } |
| 1667 } | 1799 } |
| 1668 | 1800 |
| 1801 /** |
| 1802 * End of the URI string (including quotes) relative to the beginning of the |
| 1803 * file. |
| 1804 */ |
| 1805 void set uriEnd(int _value) { |
| 1806 assert(!_finished); |
| 1807 assert(!_json.containsKey("uriEnd")); |
| 1808 if (_value != null) { |
| 1809 _json["uriEnd"] = _value; |
| 1810 } |
| 1811 } |
| 1812 |
| 1669 Map finish() { | 1813 Map finish() { |
| 1670 assert(!_finished); | 1814 assert(!_finished); |
| 1671 _finished = true; | 1815 _finished = true; |
| 1672 return _json; | 1816 return _json; |
| 1673 } | 1817 } |
| 1674 } | 1818 } |
| 1675 | 1819 |
| 1676 UnlinkedPartBuilder encodeUnlinkedPart(base.BuilderContext builderContext, {Stri
ng uri}) { | 1820 UnlinkedPartBuilder encodeUnlinkedPart(base.BuilderContext builderContext, {int
uriOffset, int uriEnd}) { |
| 1677 UnlinkedPartBuilder builder = new UnlinkedPartBuilder(builderContext); | 1821 UnlinkedPartBuilder builder = new UnlinkedPartBuilder(builderContext); |
| 1678 builder.uri = uri; | 1822 builder.uriOffset = uriOffset; |
| 1823 builder.uriEnd = uriEnd; |
| 1679 return builder; | 1824 return builder; |
| 1680 } | 1825 } |
| 1681 | 1826 |
| 1682 /** | 1827 /** |
| 1683 * Unlinked summary information about a specific name contributed by a | 1828 * Unlinked summary information about a specific name contributed by a |
| 1684 * compilation unit to a library's public namespace. | 1829 * compilation unit to a library's public namespace. |
| 1685 * | 1830 * |
| 1686 * TODO(paulberry): add a count of generic parameters, so that resynthesis | 1831 * TODO(paulberry): add a count of generic parameters, so that resynthesis |
| 1687 * doesn't have to peek into the library to obtain this info. | 1832 * doesn't have to peek into the library to obtain this info. |
| 1688 * | 1833 * |
| (...skipping 94 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1783 return builder; | 1928 return builder; |
| 1784 } | 1929 } |
| 1785 | 1930 |
| 1786 /** | 1931 /** |
| 1787 * Unlinked summary information about what a compilation unit contributes to a | 1932 * Unlinked summary information about what a compilation unit contributes to a |
| 1788 * library's public namespace. This is the subset of [UnlinkedUnit] that is | 1933 * library's public namespace. This is the subset of [UnlinkedUnit] that is |
| 1789 * required from dependent libraries in order to perform prelinking. | 1934 * required from dependent libraries in order to perform prelinking. |
| 1790 */ | 1935 */ |
| 1791 class UnlinkedPublicNamespace extends base.SummaryClass { | 1936 class UnlinkedPublicNamespace extends base.SummaryClass { |
| 1792 List<UnlinkedPublicName> _names; | 1937 List<UnlinkedPublicName> _names; |
| 1793 List<UnlinkedExport> _exports; | 1938 List<UnlinkedExportPublic> _exports; |
| 1794 List<UnlinkedPart> _parts; | 1939 List<String> _parts; |
| 1795 | 1940 |
| 1796 UnlinkedPublicNamespace.fromJson(Map json) | 1941 UnlinkedPublicNamespace.fromJson(Map json) |
| 1797 : _names = json["names"]?.map((x) => new UnlinkedPublicName.fromJson(x))?.to
List(), | 1942 : _names = json["names"]?.map((x) => new UnlinkedPublicName.fromJson(x))?.to
List(), |
| 1798 _exports = json["exports"]?.map((x) => new UnlinkedExport.fromJson(x))?.to
List(), | 1943 _exports = json["exports"]?.map((x) => new UnlinkedExportPublic.fromJson(x
))?.toList(), |
| 1799 _parts = json["parts"]?.map((x) => new UnlinkedPart.fromJson(x))?.toList()
; | 1944 _parts = json["parts"]; |
| 1800 | 1945 |
| 1801 @override | 1946 @override |
| 1802 Map<String, Object> toMap() => { | 1947 Map<String, Object> toMap() => { |
| 1803 "names": names, | 1948 "names": names, |
| 1804 "exports": exports, | 1949 "exports": exports, |
| 1805 "parts": parts, | 1950 "parts": parts, |
| 1806 }; | 1951 }; |
| 1807 | 1952 |
| 1808 UnlinkedPublicNamespace.fromBuffer(List<int> buffer) : this.fromJson(JSON.deco
de(UTF8.decode(buffer))); | 1953 UnlinkedPublicNamespace.fromBuffer(List<int> buffer) : this.fromJson(JSON.deco
de(UTF8.decode(buffer))); |
| 1809 | 1954 |
| 1810 /** | 1955 /** |
| 1811 * Public names defined in the compilation unit. | 1956 * Public names defined in the compilation unit. |
| 1812 * | 1957 * |
| 1813 * TODO(paulberry): consider sorting these names to reduce unnecessary | 1958 * TODO(paulberry): consider sorting these names to reduce unnecessary |
| 1814 * relinking. | 1959 * relinking. |
| 1815 */ | 1960 */ |
| 1816 List<UnlinkedPublicName> get names => _names ?? const <UnlinkedPublicName>[]; | 1961 List<UnlinkedPublicName> get names => _names ?? const <UnlinkedPublicName>[]; |
| 1817 | 1962 |
| 1818 /** | 1963 /** |
| 1819 * Export declarations in the compilation unit. | 1964 * Export declarations in the compilation unit. |
| 1820 */ | 1965 */ |
| 1821 List<UnlinkedExport> get exports => _exports ?? const <UnlinkedExport>[]; | 1966 List<UnlinkedExportPublic> get exports => _exports ?? const <UnlinkedExportPub
lic>[]; |
| 1822 | 1967 |
| 1823 /** | 1968 /** |
| 1824 * Part declarations in the compilation unit. | 1969 * URIs referenced by part declarations in the compilation unit. |
| 1825 */ | 1970 */ |
| 1826 List<UnlinkedPart> get parts => _parts ?? const <UnlinkedPart>[]; | 1971 List<String> get parts => _parts ?? const <String>[]; |
| 1827 } | 1972 } |
| 1828 | 1973 |
| 1829 class UnlinkedPublicNamespaceBuilder { | 1974 class UnlinkedPublicNamespaceBuilder { |
| 1830 final Map _json = {}; | 1975 final Map _json = {}; |
| 1831 | 1976 |
| 1832 bool _finished = false; | 1977 bool _finished = false; |
| 1833 | 1978 |
| 1834 UnlinkedPublicNamespaceBuilder(base.BuilderContext context); | 1979 UnlinkedPublicNamespaceBuilder(base.BuilderContext context); |
| 1835 | 1980 |
| 1836 /** | 1981 /** |
| 1837 * Public names defined in the compilation unit. | 1982 * Public names defined in the compilation unit. |
| 1838 * | 1983 * |
| 1839 * TODO(paulberry): consider sorting these names to reduce unnecessary | 1984 * TODO(paulberry): consider sorting these names to reduce unnecessary |
| 1840 * relinking. | 1985 * relinking. |
| 1841 */ | 1986 */ |
| 1842 void set names(List<UnlinkedPublicNameBuilder> _value) { | 1987 void set names(List<UnlinkedPublicNameBuilder> _value) { |
| 1843 assert(!_finished); | 1988 assert(!_finished); |
| 1844 assert(!_json.containsKey("names")); | 1989 assert(!_json.containsKey("names")); |
| 1845 if (!(_value == null || _value.isEmpty)) { | 1990 if (!(_value == null || _value.isEmpty)) { |
| 1846 _json["names"] = _value.map((b) => b.finish()).toList(); | 1991 _json["names"] = _value.map((b) => b.finish()).toList(); |
| 1847 } | 1992 } |
| 1848 } | 1993 } |
| 1849 | 1994 |
| 1850 /** | 1995 /** |
| 1851 * Export declarations in the compilation unit. | 1996 * Export declarations in the compilation unit. |
| 1852 */ | 1997 */ |
| 1853 void set exports(List<UnlinkedExportBuilder> _value) { | 1998 void set exports(List<UnlinkedExportPublicBuilder> _value) { |
| 1854 assert(!_finished); | 1999 assert(!_finished); |
| 1855 assert(!_json.containsKey("exports")); | 2000 assert(!_json.containsKey("exports")); |
| 1856 if (!(_value == null || _value.isEmpty)) { | 2001 if (!(_value == null || _value.isEmpty)) { |
| 1857 _json["exports"] = _value.map((b) => b.finish()).toList(); | 2002 _json["exports"] = _value.map((b) => b.finish()).toList(); |
| 1858 } | 2003 } |
| 1859 } | 2004 } |
| 1860 | 2005 |
| 1861 /** | 2006 /** |
| 1862 * Part declarations in the compilation unit. | 2007 * URIs referenced by part declarations in the compilation unit. |
| 1863 */ | 2008 */ |
| 1864 void set parts(List<UnlinkedPartBuilder> _value) { | 2009 void set parts(List<String> _value) { |
| 1865 assert(!_finished); | 2010 assert(!_finished); |
| 1866 assert(!_json.containsKey("parts")); | 2011 assert(!_json.containsKey("parts")); |
| 1867 if (!(_value == null || _value.isEmpty)) { | 2012 if (!(_value == null || _value.isEmpty)) { |
| 1868 _json["parts"] = _value.map((b) => b.finish()).toList(); | 2013 _json["parts"] = _value.toList(); |
| 1869 } | 2014 } |
| 1870 } | 2015 } |
| 1871 | 2016 |
| 1872 List<int> toBuffer() => UTF8.encode(JSON.encode(finish())); | 2017 List<int> toBuffer() => UTF8.encode(JSON.encode(finish())); |
| 1873 | 2018 |
| 1874 Map finish() { | 2019 Map finish() { |
| 1875 assert(!_finished); | 2020 assert(!_finished); |
| 1876 _finished = true; | 2021 _finished = true; |
| 1877 return _json; | 2022 return _json; |
| 1878 } | 2023 } |
| 1879 } | 2024 } |
| 1880 | 2025 |
| 1881 UnlinkedPublicNamespaceBuilder encodeUnlinkedPublicNamespace(base.BuilderContext
builderContext, {List<UnlinkedPublicNameBuilder> names, List<UnlinkedExportBuil
der> exports, List<UnlinkedPartBuilder> parts}) { | 2026 UnlinkedPublicNamespaceBuilder encodeUnlinkedPublicNamespace(base.BuilderContext
builderContext, {List<UnlinkedPublicNameBuilder> names, List<UnlinkedExportPubl
icBuilder> exports, List<String> parts}) { |
| 1882 UnlinkedPublicNamespaceBuilder builder = new UnlinkedPublicNamespaceBuilder(bu
ilderContext); | 2027 UnlinkedPublicNamespaceBuilder builder = new UnlinkedPublicNamespaceBuilder(bu
ilderContext); |
| 1883 builder.names = names; | 2028 builder.names = names; |
| 1884 builder.exports = exports; | 2029 builder.exports = exports; |
| 1885 builder.parts = parts; | 2030 builder.parts = parts; |
| 1886 return builder; | 2031 return builder; |
| 1887 } | 2032 } |
| 1888 | 2033 |
| 1889 /** | 2034 /** |
| 1890 * Unlinked summary information about a name referred to in one library that | 2035 * Unlinked summary information about a name referred to in one library that |
| 1891 * might be defined in another. | 2036 * might be defined in another. |
| (...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2288 /** | 2433 /** |
| 2289 * Unlinked summary information about a compilation unit ("part file"). | 2434 * Unlinked summary information about a compilation unit ("part file"). |
| 2290 */ | 2435 */ |
| 2291 class UnlinkedUnit extends base.SummaryClass { | 2436 class UnlinkedUnit extends base.SummaryClass { |
| 2292 String _libraryName; | 2437 String _libraryName; |
| 2293 UnlinkedPublicNamespace _publicNamespace; | 2438 UnlinkedPublicNamespace _publicNamespace; |
| 2294 List<UnlinkedReference> _references; | 2439 List<UnlinkedReference> _references; |
| 2295 List<UnlinkedClass> _classes; | 2440 List<UnlinkedClass> _classes; |
| 2296 List<UnlinkedEnum> _enums; | 2441 List<UnlinkedEnum> _enums; |
| 2297 List<UnlinkedExecutable> _executables; | 2442 List<UnlinkedExecutable> _executables; |
| 2443 List<UnlinkedExportNonPublic> _exports; |
| 2298 List<UnlinkedImport> _imports; | 2444 List<UnlinkedImport> _imports; |
| 2445 List<UnlinkedPart> _parts; |
| 2299 List<UnlinkedTypedef> _typedefs; | 2446 List<UnlinkedTypedef> _typedefs; |
| 2300 List<UnlinkedVariable> _variables; | 2447 List<UnlinkedVariable> _variables; |
| 2301 | 2448 |
| 2302 UnlinkedUnit.fromJson(Map json) | 2449 UnlinkedUnit.fromJson(Map json) |
| 2303 : _libraryName = json["libraryName"], | 2450 : _libraryName = json["libraryName"], |
| 2304 _publicNamespace = json["publicNamespace"] == null ? null : new UnlinkedPu
blicNamespace.fromJson(json["publicNamespace"]), | 2451 _publicNamespace = json["publicNamespace"] == null ? null : new UnlinkedPu
blicNamespace.fromJson(json["publicNamespace"]), |
| 2305 _references = json["references"]?.map((x) => new UnlinkedReference.fromJso
n(x))?.toList(), | 2452 _references = json["references"]?.map((x) => new UnlinkedReference.fromJso
n(x))?.toList(), |
| 2306 _classes = json["classes"]?.map((x) => new UnlinkedClass.fromJson(x))?.toL
ist(), | 2453 _classes = json["classes"]?.map((x) => new UnlinkedClass.fromJson(x))?.toL
ist(), |
| 2307 _enums = json["enums"]?.map((x) => new UnlinkedEnum.fromJson(x))?.toList()
, | 2454 _enums = json["enums"]?.map((x) => new UnlinkedEnum.fromJson(x))?.toList()
, |
| 2308 _executables = json["executables"]?.map((x) => new UnlinkedExecutable.from
Json(x))?.toList(), | 2455 _executables = json["executables"]?.map((x) => new UnlinkedExecutable.from
Json(x))?.toList(), |
| 2456 _exports = json["exports"]?.map((x) => new UnlinkedExportNonPublic.fromJso
n(x))?.toList(), |
| 2309 _imports = json["imports"]?.map((x) => new UnlinkedImport.fromJson(x))?.to
List(), | 2457 _imports = json["imports"]?.map((x) => new UnlinkedImport.fromJson(x))?.to
List(), |
| 2458 _parts = json["parts"]?.map((x) => new UnlinkedPart.fromJson(x))?.toList()
, |
| 2310 _typedefs = json["typedefs"]?.map((x) => new UnlinkedTypedef.fromJson(x))?
.toList(), | 2459 _typedefs = json["typedefs"]?.map((x) => new UnlinkedTypedef.fromJson(x))?
.toList(), |
| 2311 _variables = json["variables"]?.map((x) => new UnlinkedVariable.fromJson(x
))?.toList(); | 2460 _variables = json["variables"]?.map((x) => new UnlinkedVariable.fromJson(x
))?.toList(); |
| 2312 | 2461 |
| 2313 @override | 2462 @override |
| 2314 Map<String, Object> toMap() => { | 2463 Map<String, Object> toMap() => { |
| 2315 "libraryName": libraryName, | 2464 "libraryName": libraryName, |
| 2316 "publicNamespace": publicNamespace, | 2465 "publicNamespace": publicNamespace, |
| 2317 "references": references, | 2466 "references": references, |
| 2318 "classes": classes, | 2467 "classes": classes, |
| 2319 "enums": enums, | 2468 "enums": enums, |
| 2320 "executables": executables, | 2469 "executables": executables, |
| 2470 "exports": exports, |
| 2321 "imports": imports, | 2471 "imports": imports, |
| 2472 "parts": parts, |
| 2322 "typedefs": typedefs, | 2473 "typedefs": typedefs, |
| 2323 "variables": variables, | 2474 "variables": variables, |
| 2324 }; | 2475 }; |
| 2325 | 2476 |
| 2326 UnlinkedUnit.fromBuffer(List<int> buffer) : this.fromJson(JSON.decode(UTF8.dec
ode(buffer))); | 2477 UnlinkedUnit.fromBuffer(List<int> buffer) : this.fromJson(JSON.decode(UTF8.dec
ode(buffer))); |
| 2327 | 2478 |
| 2328 /** | 2479 /** |
| 2329 * Name of the library (from a "library" declaration, if present). | 2480 * Name of the library (from a "library" declaration, if present). |
| 2330 */ | 2481 */ |
| 2331 String get libraryName => _libraryName ?? ''; | 2482 String get libraryName => _libraryName ?? ''; |
| (...skipping 20 matching lines...) Expand all Loading... |
| 2352 */ | 2503 */ |
| 2353 List<UnlinkedEnum> get enums => _enums ?? const <UnlinkedEnum>[]; | 2504 List<UnlinkedEnum> get enums => _enums ?? const <UnlinkedEnum>[]; |
| 2354 | 2505 |
| 2355 /** | 2506 /** |
| 2356 * Top level executable objects (functions, getters, and setters) declared in | 2507 * Top level executable objects (functions, getters, and setters) declared in |
| 2357 * the compilation unit. | 2508 * the compilation unit. |
| 2358 */ | 2509 */ |
| 2359 List<UnlinkedExecutable> get executables => _executables ?? const <UnlinkedExe
cutable>[]; | 2510 List<UnlinkedExecutable> get executables => _executables ?? const <UnlinkedExe
cutable>[]; |
| 2360 | 2511 |
| 2361 /** | 2512 /** |
| 2513 * Export declarations in the compilation unit. |
| 2514 */ |
| 2515 List<UnlinkedExportNonPublic> get exports => _exports ?? const <UnlinkedExport
NonPublic>[]; |
| 2516 |
| 2517 /** |
| 2362 * Import declarations in the compilation unit. | 2518 * Import declarations in the compilation unit. |
| 2363 */ | 2519 */ |
| 2364 List<UnlinkedImport> get imports => _imports ?? const <UnlinkedImport>[]; | 2520 List<UnlinkedImport> get imports => _imports ?? const <UnlinkedImport>[]; |
| 2365 | 2521 |
| 2366 /** | 2522 /** |
| 2523 * Part declarations in the compilation unit. |
| 2524 */ |
| 2525 List<UnlinkedPart> get parts => _parts ?? const <UnlinkedPart>[]; |
| 2526 |
| 2527 /** |
| 2367 * Typedefs declared in the compilation unit. | 2528 * Typedefs declared in the compilation unit. |
| 2368 */ | 2529 */ |
| 2369 List<UnlinkedTypedef> get typedefs => _typedefs ?? const <UnlinkedTypedef>[]; | 2530 List<UnlinkedTypedef> get typedefs => _typedefs ?? const <UnlinkedTypedef>[]; |
| 2370 | 2531 |
| 2371 /** | 2532 /** |
| 2372 * Top level variables declared in the compilation unit. | 2533 * Top level variables declared in the compilation unit. |
| 2373 */ | 2534 */ |
| 2374 List<UnlinkedVariable> get variables => _variables ?? const <UnlinkedVariable>
[]; | 2535 List<UnlinkedVariable> get variables => _variables ?? const <UnlinkedVariable>
[]; |
| 2375 } | 2536 } |
| 2376 | 2537 |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2444 */ | 2605 */ |
| 2445 void set executables(List<UnlinkedExecutableBuilder> _value) { | 2606 void set executables(List<UnlinkedExecutableBuilder> _value) { |
| 2446 assert(!_finished); | 2607 assert(!_finished); |
| 2447 assert(!_json.containsKey("executables")); | 2608 assert(!_json.containsKey("executables")); |
| 2448 if (!(_value == null || _value.isEmpty)) { | 2609 if (!(_value == null || _value.isEmpty)) { |
| 2449 _json["executables"] = _value.map((b) => b.finish()).toList(); | 2610 _json["executables"] = _value.map((b) => b.finish()).toList(); |
| 2450 } | 2611 } |
| 2451 } | 2612 } |
| 2452 | 2613 |
| 2453 /** | 2614 /** |
| 2615 * Export declarations in the compilation unit. |
| 2616 */ |
| 2617 void set exports(List<UnlinkedExportNonPublicBuilder> _value) { |
| 2618 assert(!_finished); |
| 2619 assert(!_json.containsKey("exports")); |
| 2620 if (!(_value == null || _value.isEmpty)) { |
| 2621 _json["exports"] = _value.map((b) => b.finish()).toList(); |
| 2622 } |
| 2623 } |
| 2624 |
| 2625 /** |
| 2454 * Import declarations in the compilation unit. | 2626 * Import declarations in the compilation unit. |
| 2455 */ | 2627 */ |
| 2456 void set imports(List<UnlinkedImportBuilder> _value) { | 2628 void set imports(List<UnlinkedImportBuilder> _value) { |
| 2457 assert(!_finished); | 2629 assert(!_finished); |
| 2458 assert(!_json.containsKey("imports")); | 2630 assert(!_json.containsKey("imports")); |
| 2459 if (!(_value == null || _value.isEmpty)) { | 2631 if (!(_value == null || _value.isEmpty)) { |
| 2460 _json["imports"] = _value.map((b) => b.finish()).toList(); | 2632 _json["imports"] = _value.map((b) => b.finish()).toList(); |
| 2461 } | 2633 } |
| 2462 } | 2634 } |
| 2463 | 2635 |
| 2464 /** | 2636 /** |
| 2637 * Part declarations in the compilation unit. |
| 2638 */ |
| 2639 void set parts(List<UnlinkedPartBuilder> _value) { |
| 2640 assert(!_finished); |
| 2641 assert(!_json.containsKey("parts")); |
| 2642 if (!(_value == null || _value.isEmpty)) { |
| 2643 _json["parts"] = _value.map((b) => b.finish()).toList(); |
| 2644 } |
| 2645 } |
| 2646 |
| 2647 /** |
| 2465 * Typedefs declared in the compilation unit. | 2648 * Typedefs declared in the compilation unit. |
| 2466 */ | 2649 */ |
| 2467 void set typedefs(List<UnlinkedTypedefBuilder> _value) { | 2650 void set typedefs(List<UnlinkedTypedefBuilder> _value) { |
| 2468 assert(!_finished); | 2651 assert(!_finished); |
| 2469 assert(!_json.containsKey("typedefs")); | 2652 assert(!_json.containsKey("typedefs")); |
| 2470 if (!(_value == null || _value.isEmpty)) { | 2653 if (!(_value == null || _value.isEmpty)) { |
| 2471 _json["typedefs"] = _value.map((b) => b.finish()).toList(); | 2654 _json["typedefs"] = _value.map((b) => b.finish()).toList(); |
| 2472 } | 2655 } |
| 2473 } | 2656 } |
| 2474 | 2657 |
| (...skipping 10 matching lines...) Expand all Loading... |
| 2485 | 2668 |
| 2486 List<int> toBuffer() => UTF8.encode(JSON.encode(finish())); | 2669 List<int> toBuffer() => UTF8.encode(JSON.encode(finish())); |
| 2487 | 2670 |
| 2488 Map finish() { | 2671 Map finish() { |
| 2489 assert(!_finished); | 2672 assert(!_finished); |
| 2490 _finished = true; | 2673 _finished = true; |
| 2491 return _json; | 2674 return _json; |
| 2492 } | 2675 } |
| 2493 } | 2676 } |
| 2494 | 2677 |
| 2495 UnlinkedUnitBuilder encodeUnlinkedUnit(base.BuilderContext builderContext, {Stri
ng libraryName, UnlinkedPublicNamespaceBuilder publicNamespace, List<UnlinkedRef
erenceBuilder> references, List<UnlinkedClassBuilder> classes, List<UnlinkedEnum
Builder> enums, List<UnlinkedExecutableBuilder> executables, List<UnlinkedImport
Builder> imports, List<UnlinkedTypedefBuilder> typedefs, List<UnlinkedVariableBu
ilder> variables}) { | 2678 UnlinkedUnitBuilder encodeUnlinkedUnit(base.BuilderContext builderContext, {Stri
ng libraryName, UnlinkedPublicNamespaceBuilder publicNamespace, List<UnlinkedRef
erenceBuilder> references, List<UnlinkedClassBuilder> classes, List<UnlinkedEnum
Builder> enums, List<UnlinkedExecutableBuilder> executables, List<UnlinkedExport
NonPublicBuilder> exports, List<UnlinkedImportBuilder> imports, List<UnlinkedPar
tBuilder> parts, List<UnlinkedTypedefBuilder> typedefs, List<UnlinkedVariableBui
lder> variables}) { |
| 2496 UnlinkedUnitBuilder builder = new UnlinkedUnitBuilder(builderContext); | 2679 UnlinkedUnitBuilder builder = new UnlinkedUnitBuilder(builderContext); |
| 2497 builder.libraryName = libraryName; | 2680 builder.libraryName = libraryName; |
| 2498 builder.publicNamespace = publicNamespace; | 2681 builder.publicNamespace = publicNamespace; |
| 2499 builder.references = references; | 2682 builder.references = references; |
| 2500 builder.classes = classes; | 2683 builder.classes = classes; |
| 2501 builder.enums = enums; | 2684 builder.enums = enums; |
| 2502 builder.executables = executables; | 2685 builder.executables = executables; |
| 2686 builder.exports = exports; |
| 2503 builder.imports = imports; | 2687 builder.imports = imports; |
| 2688 builder.parts = parts; |
| 2504 builder.typedefs = typedefs; | 2689 builder.typedefs = typedefs; |
| 2505 builder.variables = variables; | 2690 builder.variables = variables; |
| 2506 return builder; | 2691 return builder; |
| 2507 } | 2692 } |
| 2508 | 2693 |
| 2509 /** | 2694 /** |
| 2510 * Unlinked summary information about a top level variable, local variable, or | 2695 * Unlinked summary information about a top level variable, local variable, or |
| 2511 * a field. | 2696 * a field. |
| 2512 */ | 2697 */ |
| 2513 class UnlinkedVariable extends base.SummaryClass { | 2698 class UnlinkedVariable extends base.SummaryClass { |
| (...skipping 147 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2661 UnlinkedVariableBuilder builder = new UnlinkedVariableBuilder(builderContext); | 2846 UnlinkedVariableBuilder builder = new UnlinkedVariableBuilder(builderContext); |
| 2662 builder.name = name; | 2847 builder.name = name; |
| 2663 builder.type = type; | 2848 builder.type = type; |
| 2664 builder.isStatic = isStatic; | 2849 builder.isStatic = isStatic; |
| 2665 builder.isFinal = isFinal; | 2850 builder.isFinal = isFinal; |
| 2666 builder.isConst = isConst; | 2851 builder.isConst = isConst; |
| 2667 builder.hasImplicitType = hasImplicitType; | 2852 builder.hasImplicitType = hasImplicitType; |
| 2668 return builder; | 2853 return builder; |
| 2669 } | 2854 } |
| 2670 | 2855 |
| OLD | NEW |