Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(177)

Side by Side Diff: pkg/analyzer/lib/src/summary/format.dart

Issue 1610003002: Rename UnlinkedTypeRef to TypeRef. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 11 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « no previous file | pkg/analyzer/lib/src/summary/resynthesize.dart » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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 'base.dart' as base; 10 import 'base.dart' as base;
(...skipping 1049 matching lines...) Expand 10 before | Expand all | Expand 10 after
1060 abstract class _SdkBundleMixin implements SdkBundle { 1060 abstract class _SdkBundleMixin implements SdkBundle {
1061 @override 1061 @override
1062 Map<String, Object> toMap() => { 1062 Map<String, Object> toMap() => {
1063 "linkedLibraryUris": linkedLibraryUris, 1063 "linkedLibraryUris": linkedLibraryUris,
1064 "linkedLibraries": linkedLibraries, 1064 "linkedLibraries": linkedLibraries,
1065 "unlinkedUnitUris": unlinkedUnitUris, 1065 "unlinkedUnitUris": unlinkedUnitUris,
1066 "unlinkedUnits": unlinkedUnits, 1066 "unlinkedUnits": unlinkedUnits,
1067 }; 1067 };
1068 } 1068 }
1069 1069
1070 class TypeRefBuilder extends Object with _TypeRefMixin implements TypeRef {
1071 bool _finished = false;
1072
1073 int _reference;
1074 int _paramReference;
1075 List<TypeRefBuilder> _typeArguments;
1076
1077 @override
1078 int get reference => _reference ?? 0;
1079
1080 /**
1081 * Index into [UnlinkedUnit.references] for the type being referred to, or
1082 * zero if this is a reference to a type parameter.
1083 *
1084 * Note that since zero is also a valid index into
1085 * [UnlinkedUnit.references], we cannot distinguish between references to
1086 * type parameters and references to types by checking [reference] against
1087 * zero. To distinguish between references to type parameters and references
1088 * to types, check whether [paramReference] is zero.
1089 */
1090 void set reference(int _value) {
1091 assert(!_finished);
1092 _reference = _value;
1093 }
1094
1095 @override
1096 int get paramReference => _paramReference ?? 0;
1097
1098 /**
1099 * If this is a reference to a type parameter, one-based index into the list
1100 * of [UnlinkedTypeParam]s currently in effect. Indexing is done using De
1101 * Bruijn index conventions; that is, innermost parameters come first, and
1102 * if a class or method has multiple parameters, they are indexed from right
1103 * to left. So for instance, if the enclosing declaration is
1104 *
1105 * class C<T,U> {
1106 * m<V,W> {
1107 * ...
1108 * }
1109 * }
1110 *
1111 * Then [paramReference] values of 1, 2, 3, and 4 represent W, V, U, and T,
1112 * respectively.
1113 *
1114 * If the type being referred to is not a type parameter, [paramReference] is
1115 * zero.
1116 */
1117 void set paramReference(int _value) {
1118 assert(!_finished);
1119 _paramReference = _value;
1120 }
1121
1122 @override
1123 List<TypeRef> get typeArguments => _typeArguments ?? const <TypeRef>[];
1124
1125 /**
1126 * If this is an instantiation of a generic type, the type arguments used to
1127 * instantiate it. Trailing type arguments of type `dynamic` are omitted.
1128 */
1129 void set typeArguments(List<TypeRefBuilder> _value) {
1130 assert(!_finished);
1131 _typeArguments = _value;
1132 }
1133
1134 TypeRefBuilder({int reference, int paramReference, List<TypeRefBuilder> typeAr guments})
1135 : _reference = reference,
1136 _paramReference = paramReference,
1137 _typeArguments = typeArguments;
1138
1139 fb.Offset finish(fb.Builder fbBuilder) {
1140 assert(!_finished);
1141 _finished = true;
1142 fb.Offset offset_typeArguments;
1143 if (!(_typeArguments == null || _typeArguments.isEmpty)) {
1144 offset_typeArguments = fbBuilder.writeList(_typeArguments.map((b) => b.fin ish(fbBuilder)).toList());
1145 }
1146 fbBuilder.startTable();
1147 if (_reference != null && _reference != 0) {
1148 fbBuilder.addInt32(0, _reference);
1149 }
1150 if (_paramReference != null && _paramReference != 0) {
1151 fbBuilder.addInt32(1, _paramReference);
1152 }
1153 if (offset_typeArguments != null) {
1154 fbBuilder.addOffset(2, offset_typeArguments);
1155 }
1156 return fbBuilder.endTable();
1157 }
1158 }
1159
1160 /**
1161 * Summary information about a reference to a type.
1162 */
1163 abstract class TypeRef extends base.SummaryClass {
1164
1165 /**
1166 * Index into [UnlinkedUnit.references] for the type being referred to, or
1167 * zero if this is a reference to a type parameter.
1168 *
1169 * Note that since zero is also a valid index into
1170 * [UnlinkedUnit.references], we cannot distinguish between references to
1171 * type parameters and references to types by checking [reference] against
1172 * zero. To distinguish between references to type parameters and references
1173 * to types, check whether [paramReference] is zero.
1174 */
1175 int get reference;
1176
1177 /**
1178 * If this is a reference to a type parameter, one-based index into the list
1179 * of [UnlinkedTypeParam]s currently in effect. Indexing is done using De
1180 * Bruijn index conventions; that is, innermost parameters come first, and
1181 * if a class or method has multiple parameters, they are indexed from right
1182 * to left. So for instance, if the enclosing declaration is
1183 *
1184 * class C<T,U> {
1185 * m<V,W> {
1186 * ...
1187 * }
1188 * }
1189 *
1190 * Then [paramReference] values of 1, 2, 3, and 4 represent W, V, U, and T,
1191 * respectively.
1192 *
1193 * If the type being referred to is not a type parameter, [paramReference] is
1194 * zero.
1195 */
1196 int get paramReference;
1197
1198 /**
1199 * If this is an instantiation of a generic type, the type arguments used to
1200 * instantiate it. Trailing type arguments of type `dynamic` are omitted.
1201 */
1202 List<TypeRef> get typeArguments;
1203 }
1204
1205 class _TypeRefReader extends fb.TableReader<_TypeRefImpl> {
1206 const _TypeRefReader();
1207
1208 @override
1209 _TypeRefImpl createObject(fb.BufferPointer bp) => new _TypeRefImpl(bp);
1210 }
1211
1212 class _TypeRefImpl extends Object with _TypeRefMixin implements TypeRef {
1213 final fb.BufferPointer _bp;
1214
1215 _TypeRefImpl(this._bp);
1216
1217 int _reference;
1218 int _paramReference;
1219 List<TypeRef> _typeArguments;
1220
1221 @override
1222 int get reference {
1223 _reference ??= const fb.Int32Reader().vTableGet(_bp, 0, 0);
1224 return _reference;
1225 }
1226
1227 @override
1228 int get paramReference {
1229 _paramReference ??= const fb.Int32Reader().vTableGet(_bp, 1, 0);
1230 return _paramReference;
1231 }
1232
1233 @override
1234 List<TypeRef> get typeArguments {
1235 _typeArguments ??= const fb.ListReader<TypeRef>(const _TypeRefReader()).vTab leGet(_bp, 2, const <TypeRef>[]);
1236 return _typeArguments;
1237 }
1238 }
1239
1240 abstract class _TypeRefMixin implements TypeRef {
1241 @override
1242 Map<String, Object> toMap() => {
1243 "reference": reference,
1244 "paramReference": paramReference,
1245 "typeArguments": typeArguments,
1246 };
1247 }
1248
1070 class UnlinkedClassBuilder extends Object with _UnlinkedClassMixin implements Un linkedClass { 1249 class UnlinkedClassBuilder extends Object with _UnlinkedClassMixin implements Un linkedClass {
1071 bool _finished = false; 1250 bool _finished = false;
1072 1251
1073 String _name; 1252 String _name;
1074 int _nameOffset; 1253 int _nameOffset;
1075 UnlinkedDocumentationCommentBuilder _documentationComment; 1254 UnlinkedDocumentationCommentBuilder _documentationComment;
1076 List<UnlinkedTypeParamBuilder> _typeParameters; 1255 List<UnlinkedTypeParamBuilder> _typeParameters;
1077 UnlinkedTypeRefBuilder _supertype; 1256 TypeRefBuilder _supertype;
1078 List<UnlinkedTypeRefBuilder> _mixins; 1257 List<TypeRefBuilder> _mixins;
1079 List<UnlinkedTypeRefBuilder> _interfaces; 1258 List<TypeRefBuilder> _interfaces;
1080 List<UnlinkedVariableBuilder> _fields; 1259 List<UnlinkedVariableBuilder> _fields;
1081 List<UnlinkedExecutableBuilder> _executables; 1260 List<UnlinkedExecutableBuilder> _executables;
1082 bool _isAbstract; 1261 bool _isAbstract;
1083 bool _isMixinApplication; 1262 bool _isMixinApplication;
1084 bool _hasNoSupertype; 1263 bool _hasNoSupertype;
1085 1264
1086 @override 1265 @override
1087 String get name => _name ?? ''; 1266 String get name => _name ?? '';
1088 1267
1089 /** 1268 /**
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
1122 1301
1123 /** 1302 /**
1124 * Type parameters of the class, if any. 1303 * Type parameters of the class, if any.
1125 */ 1304 */
1126 void set typeParameters(List<UnlinkedTypeParamBuilder> _value) { 1305 void set typeParameters(List<UnlinkedTypeParamBuilder> _value) {
1127 assert(!_finished); 1306 assert(!_finished);
1128 _typeParameters = _value; 1307 _typeParameters = _value;
1129 } 1308 }
1130 1309
1131 @override 1310 @override
1132 UnlinkedTypeRef get supertype => _supertype; 1311 TypeRef get supertype => _supertype;
1133 1312
1134 /** 1313 /**
1135 * Supertype of the class, or `null` if either (a) the class doesn't 1314 * Supertype of the class, or `null` if either (a) the class doesn't
1136 * explicitly declare a supertype (and hence has supertype `Object`), or (b) 1315 * explicitly declare a supertype (and hence has supertype `Object`), or (b)
1137 * the class *is* `Object` (and hence has no supertype). 1316 * the class *is* `Object` (and hence has no supertype).
1138 */ 1317 */
1139 void set supertype(UnlinkedTypeRefBuilder _value) { 1318 void set supertype(TypeRefBuilder _value) {
1140 assert(!_finished); 1319 assert(!_finished);
1141 _supertype = _value; 1320 _supertype = _value;
1142 } 1321 }
1143 1322
1144 @override 1323 @override
1145 List<UnlinkedTypeRef> get mixins => _mixins ?? const <UnlinkedTypeRef>[]; 1324 List<TypeRef> get mixins => _mixins ?? const <TypeRef>[];
1146 1325
1147 /** 1326 /**
1148 * Mixins appearing in a `with` clause, if any. 1327 * Mixins appearing in a `with` clause, if any.
1149 */ 1328 */
1150 void set mixins(List<UnlinkedTypeRefBuilder> _value) { 1329 void set mixins(List<TypeRefBuilder> _value) {
1151 assert(!_finished); 1330 assert(!_finished);
1152 _mixins = _value; 1331 _mixins = _value;
1153 } 1332 }
1154 1333
1155 @override 1334 @override
1156 List<UnlinkedTypeRef> get interfaces => _interfaces ?? const <UnlinkedTypeRef> []; 1335 List<TypeRef> get interfaces => _interfaces ?? const <TypeRef>[];
1157 1336
1158 /** 1337 /**
1159 * Interfaces appearing in an `implements` clause, if any. 1338 * Interfaces appearing in an `implements` clause, if any.
1160 */ 1339 */
1161 void set interfaces(List<UnlinkedTypeRefBuilder> _value) { 1340 void set interfaces(List<TypeRefBuilder> _value) {
1162 assert(!_finished); 1341 assert(!_finished);
1163 _interfaces = _value; 1342 _interfaces = _value;
1164 } 1343 }
1165 1344
1166 @override 1345 @override
1167 List<UnlinkedVariable> get fields => _fields ?? const <UnlinkedVariable>[]; 1346 List<UnlinkedVariable> get fields => _fields ?? const <UnlinkedVariable>[];
1168 1347
1169 /** 1348 /**
1170 * Field declarations contained in the class. 1349 * Field declarations contained in the class.
1171 */ 1350 */
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
1212 1391
1213 /** 1392 /**
1214 * Indicates whether this class is the core "Object" class (and hence has no 1393 * Indicates whether this class is the core "Object" class (and hence has no
1215 * supertype) 1394 * supertype)
1216 */ 1395 */
1217 void set hasNoSupertype(bool _value) { 1396 void set hasNoSupertype(bool _value) {
1218 assert(!_finished); 1397 assert(!_finished);
1219 _hasNoSupertype = _value; 1398 _hasNoSupertype = _value;
1220 } 1399 }
1221 1400
1222 UnlinkedClassBuilder({String name, int nameOffset, UnlinkedDocumentationCommen tBuilder documentationComment, List<UnlinkedTypeParamBuilder> typeParameters, Un linkedTypeRefBuilder supertype, List<UnlinkedTypeRefBuilder> mixins, List<Unlink edTypeRefBuilder> interfaces, List<UnlinkedVariableBuilder> fields, List<Unlinke dExecutableBuilder> executables, bool isAbstract, bool isMixinApplication, bool hasNoSupertype}) 1401 UnlinkedClassBuilder({String name, int nameOffset, UnlinkedDocumentationCommen tBuilder documentationComment, List<UnlinkedTypeParamBuilder> typeParameters, Ty peRefBuilder supertype, List<TypeRefBuilder> mixins, List<TypeRefBuilder> interf aces, List<UnlinkedVariableBuilder> fields, List<UnlinkedExecutableBuilder> exec utables, bool isAbstract, bool isMixinApplication, bool hasNoSupertype})
1223 : _name = name, 1402 : _name = name,
1224 _nameOffset = nameOffset, 1403 _nameOffset = nameOffset,
1225 _documentationComment = documentationComment, 1404 _documentationComment = documentationComment,
1226 _typeParameters = typeParameters, 1405 _typeParameters = typeParameters,
1227 _supertype = supertype, 1406 _supertype = supertype,
1228 _mixins = mixins, 1407 _mixins = mixins,
1229 _interfaces = interfaces, 1408 _interfaces = interfaces,
1230 _fields = fields, 1409 _fields = fields,
1231 _executables = executables, 1410 _executables = executables,
1232 _isAbstract = isAbstract, 1411 _isAbstract = isAbstract,
(...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after
1333 /** 1512 /**
1334 * Type parameters of the class, if any. 1513 * Type parameters of the class, if any.
1335 */ 1514 */
1336 List<UnlinkedTypeParam> get typeParameters; 1515 List<UnlinkedTypeParam> get typeParameters;
1337 1516
1338 /** 1517 /**
1339 * Supertype of the class, or `null` if either (a) the class doesn't 1518 * Supertype of the class, or `null` if either (a) the class doesn't
1340 * explicitly declare a supertype (and hence has supertype `Object`), or (b) 1519 * explicitly declare a supertype (and hence has supertype `Object`), or (b)
1341 * the class *is* `Object` (and hence has no supertype). 1520 * the class *is* `Object` (and hence has no supertype).
1342 */ 1521 */
1343 UnlinkedTypeRef get supertype; 1522 TypeRef get supertype;
1344 1523
1345 /** 1524 /**
1346 * Mixins appearing in a `with` clause, if any. 1525 * Mixins appearing in a `with` clause, if any.
1347 */ 1526 */
1348 List<UnlinkedTypeRef> get mixins; 1527 List<TypeRef> get mixins;
1349 1528
1350 /** 1529 /**
1351 * Interfaces appearing in an `implements` clause, if any. 1530 * Interfaces appearing in an `implements` clause, if any.
1352 */ 1531 */
1353 List<UnlinkedTypeRef> get interfaces; 1532 List<TypeRef> get interfaces;
1354 1533
1355 /** 1534 /**
1356 * Field declarations contained in the class. 1535 * Field declarations contained in the class.
1357 */ 1536 */
1358 List<UnlinkedVariable> get fields; 1537 List<UnlinkedVariable> get fields;
1359 1538
1360 /** 1539 /**
1361 * Executable objects (methods, getters, and setters) contained in the class. 1540 * Executable objects (methods, getters, and setters) contained in the class.
1362 */ 1541 */
1363 List<UnlinkedExecutable> get executables; 1542 List<UnlinkedExecutable> get executables;
(...skipping 24 matching lines...) Expand all
1388 1567
1389 class _UnlinkedClassImpl extends Object with _UnlinkedClassMixin implements Unli nkedClass { 1568 class _UnlinkedClassImpl extends Object with _UnlinkedClassMixin implements Unli nkedClass {
1390 final fb.BufferPointer _bp; 1569 final fb.BufferPointer _bp;
1391 1570
1392 _UnlinkedClassImpl(this._bp); 1571 _UnlinkedClassImpl(this._bp);
1393 1572
1394 String _name; 1573 String _name;
1395 int _nameOffset; 1574 int _nameOffset;
1396 UnlinkedDocumentationComment _documentationComment; 1575 UnlinkedDocumentationComment _documentationComment;
1397 List<UnlinkedTypeParam> _typeParameters; 1576 List<UnlinkedTypeParam> _typeParameters;
1398 UnlinkedTypeRef _supertype; 1577 TypeRef _supertype;
1399 List<UnlinkedTypeRef> _mixins; 1578 List<TypeRef> _mixins;
1400 List<UnlinkedTypeRef> _interfaces; 1579 List<TypeRef> _interfaces;
1401 List<UnlinkedVariable> _fields; 1580 List<UnlinkedVariable> _fields;
1402 List<UnlinkedExecutable> _executables; 1581 List<UnlinkedExecutable> _executables;
1403 bool _isAbstract; 1582 bool _isAbstract;
1404 bool _isMixinApplication; 1583 bool _isMixinApplication;
1405 bool _hasNoSupertype; 1584 bool _hasNoSupertype;
1406 1585
1407 @override 1586 @override
1408 String get name { 1587 String get name {
1409 _name ??= const fb.StringReader().vTableGet(_bp, 0, ''); 1588 _name ??= const fb.StringReader().vTableGet(_bp, 0, '');
1410 return _name; 1589 return _name;
(...skipping 11 matching lines...) Expand all
1422 return _documentationComment; 1601 return _documentationComment;
1423 } 1602 }
1424 1603
1425 @override 1604 @override
1426 List<UnlinkedTypeParam> get typeParameters { 1605 List<UnlinkedTypeParam> get typeParameters {
1427 _typeParameters ??= const fb.ListReader<UnlinkedTypeParam>(const _UnlinkedTy peParamReader()).vTableGet(_bp, 3, const <UnlinkedTypeParam>[]); 1606 _typeParameters ??= const fb.ListReader<UnlinkedTypeParam>(const _UnlinkedTy peParamReader()).vTableGet(_bp, 3, const <UnlinkedTypeParam>[]);
1428 return _typeParameters; 1607 return _typeParameters;
1429 } 1608 }
1430 1609
1431 @override 1610 @override
1432 UnlinkedTypeRef get supertype { 1611 TypeRef get supertype {
1433 _supertype ??= const _UnlinkedTypeRefReader().vTableGet(_bp, 4, null); 1612 _supertype ??= const _TypeRefReader().vTableGet(_bp, 4, null);
1434 return _supertype; 1613 return _supertype;
1435 } 1614 }
1436 1615
1437 @override 1616 @override
1438 List<UnlinkedTypeRef> get mixins { 1617 List<TypeRef> get mixins {
1439 _mixins ??= const fb.ListReader<UnlinkedTypeRef>(const _UnlinkedTypeRefReade r()).vTableGet(_bp, 5, const <UnlinkedTypeRef>[]); 1618 _mixins ??= const fb.ListReader<TypeRef>(const _TypeRefReader()).vTableGet(_ bp, 5, const <TypeRef>[]);
1440 return _mixins; 1619 return _mixins;
1441 } 1620 }
1442 1621
1443 @override 1622 @override
1444 List<UnlinkedTypeRef> get interfaces { 1623 List<TypeRef> get interfaces {
1445 _interfaces ??= const fb.ListReader<UnlinkedTypeRef>(const _UnlinkedTypeRefR eader()).vTableGet(_bp, 6, const <UnlinkedTypeRef>[]); 1624 _interfaces ??= const fb.ListReader<TypeRef>(const _TypeRefReader()).vTableG et(_bp, 6, const <TypeRef>[]);
1446 return _interfaces; 1625 return _interfaces;
1447 } 1626 }
1448 1627
1449 @override 1628 @override
1450 List<UnlinkedVariable> get fields { 1629 List<UnlinkedVariable> get fields {
1451 _fields ??= const fb.ListReader<UnlinkedVariable>(const _UnlinkedVariableRea der()).vTableGet(_bp, 7, const <UnlinkedVariable>[]); 1630 _fields ??= const fb.ListReader<UnlinkedVariable>(const _UnlinkedVariableRea der()).vTableGet(_bp, 7, const <UnlinkedVariable>[]);
1452 return _fields; 1631 return _fields;
1453 } 1632 }
1454 1633
1455 @override 1634 @override
(...skipping 146 matching lines...) Expand 10 before | Expand all | Expand 10 after
1602 }; 1781 };
1603 } 1782 }
1604 1783
1605 class UnlinkedConstBuilder extends Object with _UnlinkedConstMixin implements Un linkedConst { 1784 class UnlinkedConstBuilder extends Object with _UnlinkedConstMixin implements Un linkedConst {
1606 bool _finished = false; 1785 bool _finished = false;
1607 1786
1608 List<UnlinkedConstOperation> _operations; 1787 List<UnlinkedConstOperation> _operations;
1609 List<int> _ints; 1788 List<int> _ints;
1610 List<double> _doubles; 1789 List<double> _doubles;
1611 List<String> _strings; 1790 List<String> _strings;
1612 List<UnlinkedTypeRefBuilder> _references; 1791 List<TypeRefBuilder> _references;
1613 1792
1614 @override 1793 @override
1615 List<UnlinkedConstOperation> get operations => _operations ?? const <UnlinkedC onstOperation>[]; 1794 List<UnlinkedConstOperation> get operations => _operations ?? const <UnlinkedC onstOperation>[];
1616 1795
1617 /** 1796 /**
1618 * Sequence of operations to execute (starting with an empty stack) to form 1797 * Sequence of operations to execute (starting with an empty stack) to form
1619 * the constant value. 1798 * the constant value.
1620 */ 1799 */
1621 void set operations(List<UnlinkedConstOperation> _value) { 1800 void set operations(List<UnlinkedConstOperation> _value) {
1622 assert(!_finished); 1801 assert(!_finished);
(...skipping 30 matching lines...) Expand all
1653 /** 1832 /**
1654 * Sequence of strings consumed by the operations `pushString` and 1833 * Sequence of strings consumed by the operations `pushString` and
1655 * `invokeConstructor`. 1834 * `invokeConstructor`.
1656 */ 1835 */
1657 void set strings(List<String> _value) { 1836 void set strings(List<String> _value) {
1658 assert(!_finished); 1837 assert(!_finished);
1659 _strings = _value; 1838 _strings = _value;
1660 } 1839 }
1661 1840
1662 @override 1841 @override
1663 List<UnlinkedTypeRef> get references => _references ?? const <UnlinkedTypeRef> []; 1842 List<TypeRef> get references => _references ?? const <TypeRef>[];
1664 1843
1665 /** 1844 /**
1666 * Sequence of language constructs consumed by the operations 1845 * Sequence of language constructs consumed by the operations
1667 * `pushReference`, `invokeConstructor`, `makeList`, and `makeMap`. Note 1846 * `pushReference`, `invokeConstructor`, `makeList`, and `makeMap`. Note
1668 * that in the case of `pushReference` (and sometimes `invokeConstructor` the 1847 * that in the case of `pushReference` (and sometimes `invokeConstructor` the
1669 * actual entity being referred to may be something other than a type. 1848 * actual entity being referred to may be something other than a type.
1670 */ 1849 */
1671 void set references(List<UnlinkedTypeRefBuilder> _value) { 1850 void set references(List<TypeRefBuilder> _value) {
1672 assert(!_finished); 1851 assert(!_finished);
1673 _references = _value; 1852 _references = _value;
1674 } 1853 }
1675 1854
1676 UnlinkedConstBuilder({List<UnlinkedConstOperation> operations, List<int> ints, List<double> doubles, List<String> strings, List<UnlinkedTypeRefBuilder> refere nces}) 1855 UnlinkedConstBuilder({List<UnlinkedConstOperation> operations, List<int> ints, List<double> doubles, List<String> strings, List<TypeRefBuilder> references})
1677 : _operations = operations, 1856 : _operations = operations,
1678 _ints = ints, 1857 _ints = ints,
1679 _doubles = doubles, 1858 _doubles = doubles,
1680 _strings = strings, 1859 _strings = strings,
1681 _references = references; 1860 _references = references;
1682 1861
1683 fb.Offset finish(fb.Builder fbBuilder) { 1862 fb.Offset finish(fb.Builder fbBuilder) {
1684 assert(!_finished); 1863 assert(!_finished);
1685 _finished = true; 1864 _finished = true;
1686 fb.Offset offset_operations; 1865 fb.Offset offset_operations;
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
1758 * `invokeConstructor`. 1937 * `invokeConstructor`.
1759 */ 1938 */
1760 List<String> get strings; 1939 List<String> get strings;
1761 1940
1762 /** 1941 /**
1763 * Sequence of language constructs consumed by the operations 1942 * Sequence of language constructs consumed by the operations
1764 * `pushReference`, `invokeConstructor`, `makeList`, and `makeMap`. Note 1943 * `pushReference`, `invokeConstructor`, `makeList`, and `makeMap`. Note
1765 * that in the case of `pushReference` (and sometimes `invokeConstructor` the 1944 * that in the case of `pushReference` (and sometimes `invokeConstructor` the
1766 * actual entity being referred to may be something other than a type. 1945 * actual entity being referred to may be something other than a type.
1767 */ 1946 */
1768 List<UnlinkedTypeRef> get references; 1947 List<TypeRef> get references;
1769 } 1948 }
1770 1949
1771 class _UnlinkedConstReader extends fb.TableReader<_UnlinkedConstImpl> { 1950 class _UnlinkedConstReader extends fb.TableReader<_UnlinkedConstImpl> {
1772 const _UnlinkedConstReader(); 1951 const _UnlinkedConstReader();
1773 1952
1774 @override 1953 @override
1775 _UnlinkedConstImpl createObject(fb.BufferPointer bp) => new _UnlinkedConstImpl (bp); 1954 _UnlinkedConstImpl createObject(fb.BufferPointer bp) => new _UnlinkedConstImpl (bp);
1776 } 1955 }
1777 1956
1778 class _UnlinkedConstImpl extends Object with _UnlinkedConstMixin implements Unli nkedConst { 1957 class _UnlinkedConstImpl extends Object with _UnlinkedConstMixin implements Unli nkedConst {
1779 final fb.BufferPointer _bp; 1958 final fb.BufferPointer _bp;
1780 1959
1781 _UnlinkedConstImpl(this._bp); 1960 _UnlinkedConstImpl(this._bp);
1782 1961
1783 List<UnlinkedConstOperation> _operations; 1962 List<UnlinkedConstOperation> _operations;
1784 List<int> _ints; 1963 List<int> _ints;
1785 List<double> _doubles; 1964 List<double> _doubles;
1786 List<String> _strings; 1965 List<String> _strings;
1787 List<UnlinkedTypeRef> _references; 1966 List<TypeRef> _references;
1788 1967
1789 @override 1968 @override
1790 List<UnlinkedConstOperation> get operations { 1969 List<UnlinkedConstOperation> get operations {
1791 _operations ??= const fb.ListReader<UnlinkedConstOperation>(const _UnlinkedC onstOperationReader()).vTableGet(_bp, 0, const <UnlinkedConstOperation>[]); 1970 _operations ??= const fb.ListReader<UnlinkedConstOperation>(const _UnlinkedC onstOperationReader()).vTableGet(_bp, 0, const <UnlinkedConstOperation>[]);
1792 return _operations; 1971 return _operations;
1793 } 1972 }
1794 1973
1795 @override 1974 @override
1796 List<int> get ints { 1975 List<int> get ints {
1797 _ints ??= const fb.ListReader<int>(const fb.Int32Reader()).vTableGet(_bp, 1, const <int>[]); 1976 _ints ??= const fb.ListReader<int>(const fb.Int32Reader()).vTableGet(_bp, 1, const <int>[]);
1798 return _ints; 1977 return _ints;
1799 } 1978 }
1800 1979
1801 @override 1980 @override
1802 List<double> get doubles { 1981 List<double> get doubles {
1803 _doubles ??= const fb.Float64ListReader().vTableGet(_bp, 2, const <double>[] ); 1982 _doubles ??= const fb.Float64ListReader().vTableGet(_bp, 2, const <double>[] );
1804 return _doubles; 1983 return _doubles;
1805 } 1984 }
1806 1985
1807 @override 1986 @override
1808 List<String> get strings { 1987 List<String> get strings {
1809 _strings ??= const fb.ListReader<String>(const fb.StringReader()).vTableGet( _bp, 3, const <String>[]); 1988 _strings ??= const fb.ListReader<String>(const fb.StringReader()).vTableGet( _bp, 3, const <String>[]);
1810 return _strings; 1989 return _strings;
1811 } 1990 }
1812 1991
1813 @override 1992 @override
1814 List<UnlinkedTypeRef> get references { 1993 List<TypeRef> get references {
1815 _references ??= const fb.ListReader<UnlinkedTypeRef>(const _UnlinkedTypeRefR eader()).vTableGet(_bp, 4, const <UnlinkedTypeRef>[]); 1994 _references ??= const fb.ListReader<TypeRef>(const _TypeRefReader()).vTableG et(_bp, 4, const <TypeRef>[]);
1816 return _references; 1995 return _references;
1817 } 1996 }
1818 } 1997 }
1819 1998
1820 abstract class _UnlinkedConstMixin implements UnlinkedConst { 1999 abstract class _UnlinkedConstMixin implements UnlinkedConst {
1821 @override 2000 @override
1822 Map<String, Object> toMap() => { 2001 Map<String, Object> toMap() => {
1823 "operations": operations, 2002 "operations": operations,
1824 "ints": ints, 2003 "ints": ints,
1825 "doubles": doubles, 2004 "doubles": doubles,
(...skipping 449 matching lines...) Expand 10 before | Expand all | Expand 10 after
2275 }; 2454 };
2276 } 2455 }
2277 2456
2278 class UnlinkedExecutableBuilder extends Object with _UnlinkedExecutableMixin imp lements UnlinkedExecutable { 2457 class UnlinkedExecutableBuilder extends Object with _UnlinkedExecutableMixin imp lements UnlinkedExecutable {
2279 bool _finished = false; 2458 bool _finished = false;
2280 2459
2281 String _name; 2460 String _name;
2282 int _nameOffset; 2461 int _nameOffset;
2283 UnlinkedDocumentationCommentBuilder _documentationComment; 2462 UnlinkedDocumentationCommentBuilder _documentationComment;
2284 List<UnlinkedTypeParamBuilder> _typeParameters; 2463 List<UnlinkedTypeParamBuilder> _typeParameters;
2285 UnlinkedTypeRefBuilder _returnType; 2464 TypeRefBuilder _returnType;
2286 List<UnlinkedParamBuilder> _parameters; 2465 List<UnlinkedParamBuilder> _parameters;
2287 UnlinkedExecutableKind _kind; 2466 UnlinkedExecutableKind _kind;
2288 bool _isAbstract; 2467 bool _isAbstract;
2289 bool _isStatic; 2468 bool _isStatic;
2290 bool _isConst; 2469 bool _isConst;
2291 bool _isFactory; 2470 bool _isFactory;
2292 bool _hasImplicitReturnType; 2471 bool _hasImplicitReturnType;
2293 bool _isExternal; 2472 bool _isExternal;
2294 2473
2295 @override 2474 @override
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
2337 /** 2516 /**
2338 * Type parameters of the executable, if any. Empty if support for generic 2517 * Type parameters of the executable, if any. Empty if support for generic
2339 * method syntax is disabled. 2518 * method syntax is disabled.
2340 */ 2519 */
2341 void set typeParameters(List<UnlinkedTypeParamBuilder> _value) { 2520 void set typeParameters(List<UnlinkedTypeParamBuilder> _value) {
2342 assert(!_finished); 2521 assert(!_finished);
2343 _typeParameters = _value; 2522 _typeParameters = _value;
2344 } 2523 }
2345 2524
2346 @override 2525 @override
2347 UnlinkedTypeRef get returnType => _returnType; 2526 TypeRef get returnType => _returnType;
2348 2527
2349 /** 2528 /**
2350 * Declared return type of the executable. Absent if the return type is 2529 * Declared return type of the executable. Absent if the return type is
2351 * `void` or the executable is a constructor. Note that when strong mode is 2530 * `void` or the executable is a constructor. Note that when strong mode is
2352 * enabled, the actual return type may be different due to type inference. 2531 * enabled, the actual return type may be different due to type inference.
2353 */ 2532 */
2354 void set returnType(UnlinkedTypeRefBuilder _value) { 2533 void set returnType(TypeRefBuilder _value) {
2355 assert(!_finished); 2534 assert(!_finished);
2356 _returnType = _value; 2535 _returnType = _value;
2357 } 2536 }
2358 2537
2359 @override 2538 @override
2360 List<UnlinkedParam> get parameters => _parameters ?? const <UnlinkedParam>[]; 2539 List<UnlinkedParam> get parameters => _parameters ?? const <UnlinkedParam>[];
2361 2540
2362 /** 2541 /**
2363 * Parameters of the executable, if any. Note that getters have no 2542 * Parameters of the executable, if any. Note that getters have no
2364 * parameters (hence this will be the empty list), and setters have a single 2543 * parameters (hence this will be the empty list), and setters have a single
(...skipping 80 matching lines...) Expand 10 before | Expand all | Expand 10 after
2445 bool get isExternal => _isExternal ?? false; 2624 bool get isExternal => _isExternal ?? false;
2446 2625
2447 /** 2626 /**
2448 * Indicates whether the executable is declared using the `external` keyword. 2627 * Indicates whether the executable is declared using the `external` keyword.
2449 */ 2628 */
2450 void set isExternal(bool _value) { 2629 void set isExternal(bool _value) {
2451 assert(!_finished); 2630 assert(!_finished);
2452 _isExternal = _value; 2631 _isExternal = _value;
2453 } 2632 }
2454 2633
2455 UnlinkedExecutableBuilder({String name, int nameOffset, UnlinkedDocumentationC ommentBuilder documentationComment, List<UnlinkedTypeParamBuilder> typeParameter s, UnlinkedTypeRefBuilder returnType, List<UnlinkedParamBuilder> parameters, Unl inkedExecutableKind kind, bool isAbstract, bool isStatic, bool isConst, bool isF actory, bool hasImplicitReturnType, bool isExternal}) 2634 UnlinkedExecutableBuilder({String name, int nameOffset, UnlinkedDocumentationC ommentBuilder documentationComment, List<UnlinkedTypeParamBuilder> typeParameter s, TypeRefBuilder returnType, List<UnlinkedParamBuilder> parameters, UnlinkedExe cutableKind kind, bool isAbstract, bool isStatic, bool isConst, bool isFactory, bool hasImplicitReturnType, bool isExternal})
2456 : _name = name, 2635 : _name = name,
2457 _nameOffset = nameOffset, 2636 _nameOffset = nameOffset,
2458 _documentationComment = documentationComment, 2637 _documentationComment = documentationComment,
2459 _typeParameters = typeParameters, 2638 _typeParameters = typeParameters,
2460 _returnType = returnType, 2639 _returnType = returnType,
2461 _parameters = parameters, 2640 _parameters = parameters,
2462 _kind = kind, 2641 _kind = kind,
2463 _isAbstract = isAbstract, 2642 _isAbstract = isAbstract,
2464 _isStatic = isStatic, 2643 _isStatic = isStatic,
2465 _isConst = isConst, 2644 _isConst = isConst,
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
2565 * Type parameters of the executable, if any. Empty if support for generic 2744 * Type parameters of the executable, if any. Empty if support for generic
2566 * method syntax is disabled. 2745 * method syntax is disabled.
2567 */ 2746 */
2568 List<UnlinkedTypeParam> get typeParameters; 2747 List<UnlinkedTypeParam> get typeParameters;
2569 2748
2570 /** 2749 /**
2571 * Declared return type of the executable. Absent if the return type is 2750 * Declared return type of the executable. Absent if the return type is
2572 * `void` or the executable is a constructor. Note that when strong mode is 2751 * `void` or the executable is a constructor. Note that when strong mode is
2573 * enabled, the actual return type may be different due to type inference. 2752 * enabled, the actual return type may be different due to type inference.
2574 */ 2753 */
2575 UnlinkedTypeRef get returnType; 2754 TypeRef get returnType;
2576 2755
2577 /** 2756 /**
2578 * Parameters of the executable, if any. Note that getters have no 2757 * Parameters of the executable, if any. Note that getters have no
2579 * parameters (hence this will be the empty list), and setters have a single 2758 * parameters (hence this will be the empty list), and setters have a single
2580 * parameter. 2759 * parameter.
2581 */ 2760 */
2582 List<UnlinkedParam> get parameters; 2761 List<UnlinkedParam> get parameters;
2583 2762
2584 /** 2763 /**
2585 * The kind of the executable (function/method, getter, setter, or 2764 * The kind of the executable (function/method, getter, setter, or
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
2632 2811
2633 class _UnlinkedExecutableImpl extends Object with _UnlinkedExecutableMixin imple ments UnlinkedExecutable { 2812 class _UnlinkedExecutableImpl extends Object with _UnlinkedExecutableMixin imple ments UnlinkedExecutable {
2634 final fb.BufferPointer _bp; 2813 final fb.BufferPointer _bp;
2635 2814
2636 _UnlinkedExecutableImpl(this._bp); 2815 _UnlinkedExecutableImpl(this._bp);
2637 2816
2638 String _name; 2817 String _name;
2639 int _nameOffset; 2818 int _nameOffset;
2640 UnlinkedDocumentationComment _documentationComment; 2819 UnlinkedDocumentationComment _documentationComment;
2641 List<UnlinkedTypeParam> _typeParameters; 2820 List<UnlinkedTypeParam> _typeParameters;
2642 UnlinkedTypeRef _returnType; 2821 TypeRef _returnType;
2643 List<UnlinkedParam> _parameters; 2822 List<UnlinkedParam> _parameters;
2644 UnlinkedExecutableKind _kind; 2823 UnlinkedExecutableKind _kind;
2645 bool _isAbstract; 2824 bool _isAbstract;
2646 bool _isStatic; 2825 bool _isStatic;
2647 bool _isConst; 2826 bool _isConst;
2648 bool _isFactory; 2827 bool _isFactory;
2649 bool _hasImplicitReturnType; 2828 bool _hasImplicitReturnType;
2650 bool _isExternal; 2829 bool _isExternal;
2651 2830
2652 @override 2831 @override
(...skipping 14 matching lines...) Expand all
2667 return _documentationComment; 2846 return _documentationComment;
2668 } 2847 }
2669 2848
2670 @override 2849 @override
2671 List<UnlinkedTypeParam> get typeParameters { 2850 List<UnlinkedTypeParam> get typeParameters {
2672 _typeParameters ??= const fb.ListReader<UnlinkedTypeParam>(const _UnlinkedTy peParamReader()).vTableGet(_bp, 3, const <UnlinkedTypeParam>[]); 2851 _typeParameters ??= const fb.ListReader<UnlinkedTypeParam>(const _UnlinkedTy peParamReader()).vTableGet(_bp, 3, const <UnlinkedTypeParam>[]);
2673 return _typeParameters; 2852 return _typeParameters;
2674 } 2853 }
2675 2854
2676 @override 2855 @override
2677 UnlinkedTypeRef get returnType { 2856 TypeRef get returnType {
2678 _returnType ??= const _UnlinkedTypeRefReader().vTableGet(_bp, 4, null); 2857 _returnType ??= const _TypeRefReader().vTableGet(_bp, 4, null);
2679 return _returnType; 2858 return _returnType;
2680 } 2859 }
2681 2860
2682 @override 2861 @override
2683 List<UnlinkedParam> get parameters { 2862 List<UnlinkedParam> get parameters {
2684 _parameters ??= const fb.ListReader<UnlinkedParam>(const _UnlinkedParamReade r()).vTableGet(_bp, 5, const <UnlinkedParam>[]); 2863 _parameters ??= const fb.ListReader<UnlinkedParam>(const _UnlinkedParamReade r()).vTableGet(_bp, 5, const <UnlinkedParam>[]);
2685 return _parameters; 2864 return _parameters;
2686 } 2865 }
2687 2866
2688 @override 2867 @override
(...skipping 618 matching lines...) Expand 10 before | Expand all | Expand 10 after
3307 "uriEnd": uriEnd, 3486 "uriEnd": uriEnd,
3308 "prefixOffset": prefixOffset, 3487 "prefixOffset": prefixOffset,
3309 }; 3488 };
3310 } 3489 }
3311 3490
3312 class UnlinkedParamBuilder extends Object with _UnlinkedParamMixin implements Un linkedParam { 3491 class UnlinkedParamBuilder extends Object with _UnlinkedParamMixin implements Un linkedParam {
3313 bool _finished = false; 3492 bool _finished = false;
3314 3493
3315 String _name; 3494 String _name;
3316 int _nameOffset; 3495 int _nameOffset;
3317 UnlinkedTypeRefBuilder _type; 3496 TypeRefBuilder _type;
3318 List<UnlinkedParamBuilder> _parameters; 3497 List<UnlinkedParamBuilder> _parameters;
3319 UnlinkedParamKind _kind; 3498 UnlinkedParamKind _kind;
3320 bool _isFunctionTyped; 3499 bool _isFunctionTyped;
3321 bool _isInitializingFormal; 3500 bool _isInitializingFormal;
3322 bool _hasImplicitType; 3501 bool _hasImplicitType;
3323 3502
3324 @override 3503 @override
3325 String get name => _name ?? ''; 3504 String get name => _name ?? '';
3326 3505
3327 /** 3506 /**
3328 * Name of the parameter. 3507 * Name of the parameter.
3329 */ 3508 */
3330 void set name(String _value) { 3509 void set name(String _value) {
3331 assert(!_finished); 3510 assert(!_finished);
3332 _name = _value; 3511 _name = _value;
3333 } 3512 }
3334 3513
3335 @override 3514 @override
3336 int get nameOffset => _nameOffset ?? 0; 3515 int get nameOffset => _nameOffset ?? 0;
3337 3516
3338 /** 3517 /**
3339 * Offset of the parameter name relative to the beginning of the file. 3518 * Offset of the parameter name relative to the beginning of the file.
3340 */ 3519 */
3341 void set nameOffset(int _value) { 3520 void set nameOffset(int _value) {
3342 assert(!_finished); 3521 assert(!_finished);
3343 _nameOffset = _value; 3522 _nameOffset = _value;
3344 } 3523 }
3345 3524
3346 @override 3525 @override
3347 UnlinkedTypeRef get type => _type; 3526 TypeRef get type => _type;
3348 3527
3349 /** 3528 /**
3350 * If [isFunctionTyped] is `true`, the declared return type. If 3529 * If [isFunctionTyped] is `true`, the declared return type. If
3351 * [isFunctionTyped] is `false`, the declared type. Absent if 3530 * [isFunctionTyped] is `false`, the declared type. Absent if
3352 * [isFunctionTyped] is `true` and the declared return type is `void`. Note 3531 * [isFunctionTyped] is `true` and the declared return type is `void`. Note
3353 * that when strong mode is enabled, the actual type may be different due to 3532 * that when strong mode is enabled, the actual type may be different due to
3354 * type inference. 3533 * type inference.
3355 */ 3534 */
3356 void set type(UnlinkedTypeRefBuilder _value) { 3535 void set type(TypeRefBuilder _value) {
3357 assert(!_finished); 3536 assert(!_finished);
3358 _type = _value; 3537 _type = _value;
3359 } 3538 }
3360 3539
3361 @override 3540 @override
3362 List<UnlinkedParam> get parameters => _parameters ?? const <UnlinkedParam>[]; 3541 List<UnlinkedParam> get parameters => _parameters ?? const <UnlinkedParam>[];
3363 3542
3364 /** 3543 /**
3365 * If [isFunctionTyped] is `true`, the parameters of the function type. 3544 * If [isFunctionTyped] is `true`, the parameters of the function type.
3366 */ 3545 */
(...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after
3408 3587
3409 /** 3588 /**
3410 * Indicates whether this parameter lacks an explicit type declaration. 3589 * Indicates whether this parameter lacks an explicit type declaration.
3411 * Always false for a function-typed parameter. 3590 * Always false for a function-typed parameter.
3412 */ 3591 */
3413 void set hasImplicitType(bool _value) { 3592 void set hasImplicitType(bool _value) {
3414 assert(!_finished); 3593 assert(!_finished);
3415 _hasImplicitType = _value; 3594 _hasImplicitType = _value;
3416 } 3595 }
3417 3596
3418 UnlinkedParamBuilder({String name, int nameOffset, UnlinkedTypeRefBuilder type , List<UnlinkedParamBuilder> parameters, UnlinkedParamKind kind, bool isFunction Typed, bool isInitializingFormal, bool hasImplicitType}) 3597 UnlinkedParamBuilder({String name, int nameOffset, TypeRefBuilder type, List<U nlinkedParamBuilder> parameters, UnlinkedParamKind kind, bool isFunctionTyped, b ool isInitializingFormal, bool hasImplicitType})
3419 : _name = name, 3598 : _name = name,
3420 _nameOffset = nameOffset, 3599 _nameOffset = nameOffset,
3421 _type = type, 3600 _type = type,
3422 _parameters = parameters, 3601 _parameters = parameters,
3423 _kind = kind, 3602 _kind = kind,
3424 _isFunctionTyped = isFunctionTyped, 3603 _isFunctionTyped = isFunctionTyped,
3425 _isInitializingFormal = isInitializingFormal, 3604 _isInitializingFormal = isInitializingFormal,
3426 _hasImplicitType = hasImplicitType; 3605 _hasImplicitType = hasImplicitType;
3427 3606
3428 fb.Offset finish(fb.Builder fbBuilder) { 3607 fb.Offset finish(fb.Builder fbBuilder) {
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
3484 */ 3663 */
3485 int get nameOffset; 3664 int get nameOffset;
3486 3665
3487 /** 3666 /**
3488 * If [isFunctionTyped] is `true`, the declared return type. If 3667 * If [isFunctionTyped] is `true`, the declared return type. If
3489 * [isFunctionTyped] is `false`, the declared type. Absent if 3668 * [isFunctionTyped] is `false`, the declared type. Absent if
3490 * [isFunctionTyped] is `true` and the declared return type is `void`. Note 3669 * [isFunctionTyped] is `true` and the declared return type is `void`. Note
3491 * that when strong mode is enabled, the actual type may be different due to 3670 * that when strong mode is enabled, the actual type may be different due to
3492 * type inference. 3671 * type inference.
3493 */ 3672 */
3494 UnlinkedTypeRef get type; 3673 TypeRef get type;
3495 3674
3496 /** 3675 /**
3497 * If [isFunctionTyped] is `true`, the parameters of the function type. 3676 * If [isFunctionTyped] is `true`, the parameters of the function type.
3498 */ 3677 */
3499 List<UnlinkedParam> get parameters; 3678 List<UnlinkedParam> get parameters;
3500 3679
3501 /** 3680 /**
3502 * Kind of the parameter. 3681 * Kind of the parameter.
3503 */ 3682 */
3504 UnlinkedParamKind get kind; 3683 UnlinkedParamKind get kind;
(...skipping 23 matching lines...) Expand all
3528 _UnlinkedParamImpl createObject(fb.BufferPointer bp) => new _UnlinkedParamImpl (bp); 3707 _UnlinkedParamImpl createObject(fb.BufferPointer bp) => new _UnlinkedParamImpl (bp);
3529 } 3708 }
3530 3709
3531 class _UnlinkedParamImpl extends Object with _UnlinkedParamMixin implements Unli nkedParam { 3710 class _UnlinkedParamImpl extends Object with _UnlinkedParamMixin implements Unli nkedParam {
3532 final fb.BufferPointer _bp; 3711 final fb.BufferPointer _bp;
3533 3712
3534 _UnlinkedParamImpl(this._bp); 3713 _UnlinkedParamImpl(this._bp);
3535 3714
3536 String _name; 3715 String _name;
3537 int _nameOffset; 3716 int _nameOffset;
3538 UnlinkedTypeRef _type; 3717 TypeRef _type;
3539 List<UnlinkedParam> _parameters; 3718 List<UnlinkedParam> _parameters;
3540 UnlinkedParamKind _kind; 3719 UnlinkedParamKind _kind;
3541 bool _isFunctionTyped; 3720 bool _isFunctionTyped;
3542 bool _isInitializingFormal; 3721 bool _isInitializingFormal;
3543 bool _hasImplicitType; 3722 bool _hasImplicitType;
3544 3723
3545 @override 3724 @override
3546 String get name { 3725 String get name {
3547 _name ??= const fb.StringReader().vTableGet(_bp, 0, ''); 3726 _name ??= const fb.StringReader().vTableGet(_bp, 0, '');
3548 return _name; 3727 return _name;
3549 } 3728 }
3550 3729
3551 @override 3730 @override
3552 int get nameOffset { 3731 int get nameOffset {
3553 _nameOffset ??= const fb.Int32Reader().vTableGet(_bp, 1, 0); 3732 _nameOffset ??= const fb.Int32Reader().vTableGet(_bp, 1, 0);
3554 return _nameOffset; 3733 return _nameOffset;
3555 } 3734 }
3556 3735
3557 @override 3736 @override
3558 UnlinkedTypeRef get type { 3737 TypeRef get type {
3559 _type ??= const _UnlinkedTypeRefReader().vTableGet(_bp, 2, null); 3738 _type ??= const _TypeRefReader().vTableGet(_bp, 2, null);
3560 return _type; 3739 return _type;
3561 } 3740 }
3562 3741
3563 @override 3742 @override
3564 List<UnlinkedParam> get parameters { 3743 List<UnlinkedParam> get parameters {
3565 _parameters ??= const fb.ListReader<UnlinkedParam>(const _UnlinkedParamReade r()).vTableGet(_bp, 3, const <UnlinkedParam>[]); 3744 _parameters ??= const fb.ListReader<UnlinkedParam>(const _UnlinkedParamReade r()).vTableGet(_bp, 3, const <UnlinkedParam>[]);
3566 return _parameters; 3745 return _parameters;
3567 } 3746 }
3568 3747
3569 @override 3748 @override
(...skipping 552 matching lines...) Expand 10 before | Expand all | Expand 10 after
4122 }; 4301 };
4123 } 4302 }
4124 4303
4125 class UnlinkedTypedefBuilder extends Object with _UnlinkedTypedefMixin implement s UnlinkedTypedef { 4304 class UnlinkedTypedefBuilder extends Object with _UnlinkedTypedefMixin implement s UnlinkedTypedef {
4126 bool _finished = false; 4305 bool _finished = false;
4127 4306
4128 String _name; 4307 String _name;
4129 int _nameOffset; 4308 int _nameOffset;
4130 UnlinkedDocumentationCommentBuilder _documentationComment; 4309 UnlinkedDocumentationCommentBuilder _documentationComment;
4131 List<UnlinkedTypeParamBuilder> _typeParameters; 4310 List<UnlinkedTypeParamBuilder> _typeParameters;
4132 UnlinkedTypeRefBuilder _returnType; 4311 TypeRefBuilder _returnType;
4133 List<UnlinkedParamBuilder> _parameters; 4312 List<UnlinkedParamBuilder> _parameters;
4134 4313
4135 @override 4314 @override
4136 String get name => _name ?? ''; 4315 String get name => _name ?? '';
4137 4316
4138 /** 4317 /**
4139 * Name of the typedef. 4318 * Name of the typedef.
4140 */ 4319 */
4141 void set name(String _value) { 4320 void set name(String _value) {
4142 assert(!_finished); 4321 assert(!_finished);
(...skipping 28 matching lines...) Expand all
4171 4350
4172 /** 4351 /**
4173 * Type parameters of the typedef, if any. 4352 * Type parameters of the typedef, if any.
4174 */ 4353 */
4175 void set typeParameters(List<UnlinkedTypeParamBuilder> _value) { 4354 void set typeParameters(List<UnlinkedTypeParamBuilder> _value) {
4176 assert(!_finished); 4355 assert(!_finished);
4177 _typeParameters = _value; 4356 _typeParameters = _value;
4178 } 4357 }
4179 4358
4180 @override 4359 @override
4181 UnlinkedTypeRef get returnType => _returnType; 4360 TypeRef get returnType => _returnType;
4182 4361
4183 /** 4362 /**
4184 * Return type of the typedef. Absent if the return type is `void`. 4363 * Return type of the typedef. Absent if the return type is `void`.
4185 */ 4364 */
4186 void set returnType(UnlinkedTypeRefBuilder _value) { 4365 void set returnType(TypeRefBuilder _value) {
4187 assert(!_finished); 4366 assert(!_finished);
4188 _returnType = _value; 4367 _returnType = _value;
4189 } 4368 }
4190 4369
4191 @override 4370 @override
4192 List<UnlinkedParam> get parameters => _parameters ?? const <UnlinkedParam>[]; 4371 List<UnlinkedParam> get parameters => _parameters ?? const <UnlinkedParam>[];
4193 4372
4194 /** 4373 /**
4195 * Parameters of the executable, if any. 4374 * Parameters of the executable, if any.
4196 */ 4375 */
4197 void set parameters(List<UnlinkedParamBuilder> _value) { 4376 void set parameters(List<UnlinkedParamBuilder> _value) {
4198 assert(!_finished); 4377 assert(!_finished);
4199 _parameters = _value; 4378 _parameters = _value;
4200 } 4379 }
4201 4380
4202 UnlinkedTypedefBuilder({String name, int nameOffset, UnlinkedDocumentationComm entBuilder documentationComment, List<UnlinkedTypeParamBuilder> typeParameters, UnlinkedTypeRefBuilder returnType, List<UnlinkedParamBuilder> parameters}) 4381 UnlinkedTypedefBuilder({String name, int nameOffset, UnlinkedDocumentationComm entBuilder documentationComment, List<UnlinkedTypeParamBuilder> typeParameters, TypeRefBuilder returnType, List<UnlinkedParamBuilder> parameters})
4203 : _name = name, 4382 : _name = name,
4204 _nameOffset = nameOffset, 4383 _nameOffset = nameOffset,
4205 _documentationComment = documentationComment, 4384 _documentationComment = documentationComment,
4206 _typeParameters = typeParameters, 4385 _typeParameters = typeParameters,
4207 _returnType = returnType, 4386 _returnType = returnType,
4208 _parameters = parameters; 4387 _parameters = parameters;
4209 4388
4210 fb.Offset finish(fb.Builder fbBuilder) { 4389 fb.Offset finish(fb.Builder fbBuilder) {
4211 assert(!_finished); 4390 assert(!_finished);
4212 _finished = true; 4391 _finished = true;
(...skipping 62 matching lines...) Expand 10 before | Expand all | Expand 10 after
4275 UnlinkedDocumentationComment get documentationComment; 4454 UnlinkedDocumentationComment get documentationComment;
4276 4455
4277 /** 4456 /**
4278 * Type parameters of the typedef, if any. 4457 * Type parameters of the typedef, if any.
4279 */ 4458 */
4280 List<UnlinkedTypeParam> get typeParameters; 4459 List<UnlinkedTypeParam> get typeParameters;
4281 4460
4282 /** 4461 /**
4283 * Return type of the typedef. Absent if the return type is `void`. 4462 * Return type of the typedef. Absent if the return type is `void`.
4284 */ 4463 */
4285 UnlinkedTypeRef get returnType; 4464 TypeRef get returnType;
4286 4465
4287 /** 4466 /**
4288 * Parameters of the executable, if any. 4467 * Parameters of the executable, if any.
4289 */ 4468 */
4290 List<UnlinkedParam> get parameters; 4469 List<UnlinkedParam> get parameters;
4291 } 4470 }
4292 4471
4293 class _UnlinkedTypedefReader extends fb.TableReader<_UnlinkedTypedefImpl> { 4472 class _UnlinkedTypedefReader extends fb.TableReader<_UnlinkedTypedefImpl> {
4294 const _UnlinkedTypedefReader(); 4473 const _UnlinkedTypedefReader();
4295 4474
4296 @override 4475 @override
4297 _UnlinkedTypedefImpl createObject(fb.BufferPointer bp) => new _UnlinkedTypedef Impl(bp); 4476 _UnlinkedTypedefImpl createObject(fb.BufferPointer bp) => new _UnlinkedTypedef Impl(bp);
4298 } 4477 }
4299 4478
4300 class _UnlinkedTypedefImpl extends Object with _UnlinkedTypedefMixin implements UnlinkedTypedef { 4479 class _UnlinkedTypedefImpl extends Object with _UnlinkedTypedefMixin implements UnlinkedTypedef {
4301 final fb.BufferPointer _bp; 4480 final fb.BufferPointer _bp;
4302 4481
4303 _UnlinkedTypedefImpl(this._bp); 4482 _UnlinkedTypedefImpl(this._bp);
4304 4483
4305 String _name; 4484 String _name;
4306 int _nameOffset; 4485 int _nameOffset;
4307 UnlinkedDocumentationComment _documentationComment; 4486 UnlinkedDocumentationComment _documentationComment;
4308 List<UnlinkedTypeParam> _typeParameters; 4487 List<UnlinkedTypeParam> _typeParameters;
4309 UnlinkedTypeRef _returnType; 4488 TypeRef _returnType;
4310 List<UnlinkedParam> _parameters; 4489 List<UnlinkedParam> _parameters;
4311 4490
4312 @override 4491 @override
4313 String get name { 4492 String get name {
4314 _name ??= const fb.StringReader().vTableGet(_bp, 0, ''); 4493 _name ??= const fb.StringReader().vTableGet(_bp, 0, '');
4315 return _name; 4494 return _name;
4316 } 4495 }
4317 4496
4318 @override 4497 @override
4319 int get nameOffset { 4498 int get nameOffset {
4320 _nameOffset ??= const fb.Int32Reader().vTableGet(_bp, 1, 0); 4499 _nameOffset ??= const fb.Int32Reader().vTableGet(_bp, 1, 0);
4321 return _nameOffset; 4500 return _nameOffset;
4322 } 4501 }
4323 4502
4324 @override 4503 @override
4325 UnlinkedDocumentationComment get documentationComment { 4504 UnlinkedDocumentationComment get documentationComment {
4326 _documentationComment ??= const _UnlinkedDocumentationCommentReader().vTable Get(_bp, 2, null); 4505 _documentationComment ??= const _UnlinkedDocumentationCommentReader().vTable Get(_bp, 2, null);
4327 return _documentationComment; 4506 return _documentationComment;
4328 } 4507 }
4329 4508
4330 @override 4509 @override
4331 List<UnlinkedTypeParam> get typeParameters { 4510 List<UnlinkedTypeParam> get typeParameters {
4332 _typeParameters ??= const fb.ListReader<UnlinkedTypeParam>(const _UnlinkedTy peParamReader()).vTableGet(_bp, 3, const <UnlinkedTypeParam>[]); 4511 _typeParameters ??= const fb.ListReader<UnlinkedTypeParam>(const _UnlinkedTy peParamReader()).vTableGet(_bp, 3, const <UnlinkedTypeParam>[]);
4333 return _typeParameters; 4512 return _typeParameters;
4334 } 4513 }
4335 4514
4336 @override 4515 @override
4337 UnlinkedTypeRef get returnType { 4516 TypeRef get returnType {
4338 _returnType ??= const _UnlinkedTypeRefReader().vTableGet(_bp, 4, null); 4517 _returnType ??= const _TypeRefReader().vTableGet(_bp, 4, null);
4339 return _returnType; 4518 return _returnType;
4340 } 4519 }
4341 4520
4342 @override 4521 @override
4343 List<UnlinkedParam> get parameters { 4522 List<UnlinkedParam> get parameters {
4344 _parameters ??= const fb.ListReader<UnlinkedParam>(const _UnlinkedParamReade r()).vTableGet(_bp, 5, const <UnlinkedParam>[]); 4523 _parameters ??= const fb.ListReader<UnlinkedParam>(const _UnlinkedParamReade r()).vTableGet(_bp, 5, const <UnlinkedParam>[]);
4345 return _parameters; 4524 return _parameters;
4346 } 4525 }
4347 } 4526 }
4348 4527
4349 abstract class _UnlinkedTypedefMixin implements UnlinkedTypedef { 4528 abstract class _UnlinkedTypedefMixin implements UnlinkedTypedef {
4350 @override 4529 @override
4351 Map<String, Object> toMap() => { 4530 Map<String, Object> toMap() => {
4352 "name": name, 4531 "name": name,
4353 "nameOffset": nameOffset, 4532 "nameOffset": nameOffset,
4354 "documentationComment": documentationComment, 4533 "documentationComment": documentationComment,
4355 "typeParameters": typeParameters, 4534 "typeParameters": typeParameters,
4356 "returnType": returnType, 4535 "returnType": returnType,
4357 "parameters": parameters, 4536 "parameters": parameters,
4358 }; 4537 };
4359 } 4538 }
4360 4539
4361 class UnlinkedTypeParamBuilder extends Object with _UnlinkedTypeParamMixin imple ments UnlinkedTypeParam { 4540 class UnlinkedTypeParamBuilder extends Object with _UnlinkedTypeParamMixin imple ments UnlinkedTypeParam {
4362 bool _finished = false; 4541 bool _finished = false;
4363 4542
4364 String _name; 4543 String _name;
4365 int _nameOffset; 4544 int _nameOffset;
4366 UnlinkedTypeRefBuilder _bound; 4545 TypeRefBuilder _bound;
4367 4546
4368 @override 4547 @override
4369 String get name => _name ?? ''; 4548 String get name => _name ?? '';
4370 4549
4371 /** 4550 /**
4372 * Name of the type parameter. 4551 * Name of the type parameter.
4373 */ 4552 */
4374 void set name(String _value) { 4553 void set name(String _value) {
4375 assert(!_finished); 4554 assert(!_finished);
4376 _name = _value; 4555 _name = _value;
4377 } 4556 }
4378 4557
4379 @override 4558 @override
4380 int get nameOffset => _nameOffset ?? 0; 4559 int get nameOffset => _nameOffset ?? 0;
4381 4560
4382 /** 4561 /**
4383 * Offset of the type parameter name relative to the beginning of the file. 4562 * Offset of the type parameter name relative to the beginning of the file.
4384 */ 4563 */
4385 void set nameOffset(int _value) { 4564 void set nameOffset(int _value) {
4386 assert(!_finished); 4565 assert(!_finished);
4387 _nameOffset = _value; 4566 _nameOffset = _value;
4388 } 4567 }
4389 4568
4390 @override 4569 @override
4391 UnlinkedTypeRef get bound => _bound; 4570 TypeRef get bound => _bound;
4392 4571
4393 /** 4572 /**
4394 * Bound of the type parameter, if a bound is explicitly declared. Otherwise 4573 * Bound of the type parameter, if a bound is explicitly declared. Otherwise
4395 * null. 4574 * null.
4396 */ 4575 */
4397 void set bound(UnlinkedTypeRefBuilder _value) { 4576 void set bound(TypeRefBuilder _value) {
4398 assert(!_finished); 4577 assert(!_finished);
4399 _bound = _value; 4578 _bound = _value;
4400 } 4579 }
4401 4580
4402 UnlinkedTypeParamBuilder({String name, int nameOffset, UnlinkedTypeRefBuilder bound}) 4581 UnlinkedTypeParamBuilder({String name, int nameOffset, TypeRefBuilder bound})
4403 : _name = name, 4582 : _name = name,
4404 _nameOffset = nameOffset, 4583 _nameOffset = nameOffset,
4405 _bound = bound; 4584 _bound = bound;
4406 4585
4407 fb.Offset finish(fb.Builder fbBuilder) { 4586 fb.Offset finish(fb.Builder fbBuilder) {
4408 assert(!_finished); 4587 assert(!_finished);
4409 _finished = true; 4588 _finished = true;
4410 fb.Offset offset_name; 4589 fb.Offset offset_name;
4411 fb.Offset offset_bound; 4590 fb.Offset offset_bound;
4412 if (_name != null) { 4591 if (_name != null) {
(...skipping 28 matching lines...) Expand all
4441 4620
4442 /** 4621 /**
4443 * Offset of the type parameter name relative to the beginning of the file. 4622 * Offset of the type parameter name relative to the beginning of the file.
4444 */ 4623 */
4445 int get nameOffset; 4624 int get nameOffset;
4446 4625
4447 /** 4626 /**
4448 * Bound of the type parameter, if a bound is explicitly declared. Otherwise 4627 * Bound of the type parameter, if a bound is explicitly declared. Otherwise
4449 * null. 4628 * null.
4450 */ 4629 */
4451 UnlinkedTypeRef get bound; 4630 TypeRef get bound;
4452 } 4631 }
4453 4632
4454 class _UnlinkedTypeParamReader extends fb.TableReader<_UnlinkedTypeParamImpl> { 4633 class _UnlinkedTypeParamReader extends fb.TableReader<_UnlinkedTypeParamImpl> {
4455 const _UnlinkedTypeParamReader(); 4634 const _UnlinkedTypeParamReader();
4456 4635
4457 @override 4636 @override
4458 _UnlinkedTypeParamImpl createObject(fb.BufferPointer bp) => new _UnlinkedTypeP aramImpl(bp); 4637 _UnlinkedTypeParamImpl createObject(fb.BufferPointer bp) => new _UnlinkedTypeP aramImpl(bp);
4459 } 4638 }
4460 4639
4461 class _UnlinkedTypeParamImpl extends Object with _UnlinkedTypeParamMixin impleme nts UnlinkedTypeParam { 4640 class _UnlinkedTypeParamImpl extends Object with _UnlinkedTypeParamMixin impleme nts UnlinkedTypeParam {
4462 final fb.BufferPointer _bp; 4641 final fb.BufferPointer _bp;
4463 4642
4464 _UnlinkedTypeParamImpl(this._bp); 4643 _UnlinkedTypeParamImpl(this._bp);
4465 4644
4466 String _name; 4645 String _name;
4467 int _nameOffset; 4646 int _nameOffset;
4468 UnlinkedTypeRef _bound; 4647 TypeRef _bound;
4469 4648
4470 @override 4649 @override
4471 String get name { 4650 String get name {
4472 _name ??= const fb.StringReader().vTableGet(_bp, 0, ''); 4651 _name ??= const fb.StringReader().vTableGet(_bp, 0, '');
4473 return _name; 4652 return _name;
4474 } 4653 }
4475 4654
4476 @override 4655 @override
4477 int get nameOffset { 4656 int get nameOffset {
4478 _nameOffset ??= const fb.Int32Reader().vTableGet(_bp, 1, 0); 4657 _nameOffset ??= const fb.Int32Reader().vTableGet(_bp, 1, 0);
4479 return _nameOffset; 4658 return _nameOffset;
4480 } 4659 }
4481 4660
4482 @override 4661 @override
4483 UnlinkedTypeRef get bound { 4662 TypeRef get bound {
4484 _bound ??= const _UnlinkedTypeRefReader().vTableGet(_bp, 2, null); 4663 _bound ??= const _TypeRefReader().vTableGet(_bp, 2, null);
4485 return _bound; 4664 return _bound;
4486 } 4665 }
4487 } 4666 }
4488 4667
4489 abstract class _UnlinkedTypeParamMixin implements UnlinkedTypeParam { 4668 abstract class _UnlinkedTypeParamMixin implements UnlinkedTypeParam {
4490 @override 4669 @override
4491 Map<String, Object> toMap() => { 4670 Map<String, Object> toMap() => {
4492 "name": name, 4671 "name": name,
4493 "nameOffset": nameOffset, 4672 "nameOffset": nameOffset,
4494 "bound": bound, 4673 "bound": bound,
4495 }; 4674 };
4496 } 4675 }
4497 4676
4498 class UnlinkedTypeRefBuilder extends Object with _UnlinkedTypeRefMixin implement s UnlinkedTypeRef {
4499 bool _finished = false;
4500
4501 int _reference;
4502 int _paramReference;
4503 List<UnlinkedTypeRefBuilder> _typeArguments;
4504
4505 @override
4506 int get reference => _reference ?? 0;
4507
4508 /**
4509 * Index into [UnlinkedUnit.references] for the type being referred to, or
4510 * zero if this is a reference to a type parameter.
4511 *
4512 * Note that since zero is also a valid index into
4513 * [UnlinkedUnit.references], we cannot distinguish between references to
4514 * type parameters and references to types by checking [reference] against
4515 * zero. To distinguish between references to type parameters and references
4516 * to types, check whether [paramReference] is zero.
4517 */
4518 void set reference(int _value) {
4519 assert(!_finished);
4520 _reference = _value;
4521 }
4522
4523 @override
4524 int get paramReference => _paramReference ?? 0;
4525
4526 /**
4527 * If this is a reference to a type parameter, one-based index into the list
4528 * of [UnlinkedTypeParam]s currently in effect. Indexing is done using De
4529 * Bruijn index conventions; that is, innermost parameters come first, and
4530 * if a class or method has multiple parameters, they are indexed from right
4531 * to left. So for instance, if the enclosing declaration is
4532 *
4533 * class C<T,U> {
4534 * m<V,W> {
4535 * ...
4536 * }
4537 * }
4538 *
4539 * Then [paramReference] values of 1, 2, 3, and 4 represent W, V, U, and T,
4540 * respectively.
4541 *
4542 * If the type being referred to is not a type parameter, [paramReference] is
4543 * zero.
4544 */
4545 void set paramReference(int _value) {
4546 assert(!_finished);
4547 _paramReference = _value;
4548 }
4549
4550 @override
4551 List<UnlinkedTypeRef> get typeArguments => _typeArguments ?? const <UnlinkedTy peRef>[];
4552
4553 /**
4554 * If this is an instantiation of a generic type, the type arguments used to
4555 * instantiate it. Trailing type arguments of type `dynamic` are omitted.
4556 */
4557 void set typeArguments(List<UnlinkedTypeRefBuilder> _value) {
4558 assert(!_finished);
4559 _typeArguments = _value;
4560 }
4561
4562 UnlinkedTypeRefBuilder({int reference, int paramReference, List<UnlinkedTypeRe fBuilder> typeArguments})
4563 : _reference = reference,
4564 _paramReference = paramReference,
4565 _typeArguments = typeArguments;
4566
4567 fb.Offset finish(fb.Builder fbBuilder) {
4568 assert(!_finished);
4569 _finished = true;
4570 fb.Offset offset_typeArguments;
4571 if (!(_typeArguments == null || _typeArguments.isEmpty)) {
4572 offset_typeArguments = fbBuilder.writeList(_typeArguments.map((b) => b.fin ish(fbBuilder)).toList());
4573 }
4574 fbBuilder.startTable();
4575 if (_reference != null && _reference != 0) {
4576 fbBuilder.addInt32(0, _reference);
4577 }
4578 if (_paramReference != null && _paramReference != 0) {
4579 fbBuilder.addInt32(1, _paramReference);
4580 }
4581 if (offset_typeArguments != null) {
4582 fbBuilder.addOffset(2, offset_typeArguments);
4583 }
4584 return fbBuilder.endTable();
4585 }
4586 }
4587
4588 /**
4589 * Unlinked summary information about a reference to a type.
4590 */
4591 abstract class UnlinkedTypeRef extends base.SummaryClass {
4592
4593 /**
4594 * Index into [UnlinkedUnit.references] for the type being referred to, or
4595 * zero if this is a reference to a type parameter.
4596 *
4597 * Note that since zero is also a valid index into
4598 * [UnlinkedUnit.references], we cannot distinguish between references to
4599 * type parameters and references to types by checking [reference] against
4600 * zero. To distinguish between references to type parameters and references
4601 * to types, check whether [paramReference] is zero.
4602 */
4603 int get reference;
4604
4605 /**
4606 * If this is a reference to a type parameter, one-based index into the list
4607 * of [UnlinkedTypeParam]s currently in effect. Indexing is done using De
4608 * Bruijn index conventions; that is, innermost parameters come first, and
4609 * if a class or method has multiple parameters, they are indexed from right
4610 * to left. So for instance, if the enclosing declaration is
4611 *
4612 * class C<T,U> {
4613 * m<V,W> {
4614 * ...
4615 * }
4616 * }
4617 *
4618 * Then [paramReference] values of 1, 2, 3, and 4 represent W, V, U, and T,
4619 * respectively.
4620 *
4621 * If the type being referred to is not a type parameter, [paramReference] is
4622 * zero.
4623 */
4624 int get paramReference;
4625
4626 /**
4627 * If this is an instantiation of a generic type, the type arguments used to
4628 * instantiate it. Trailing type arguments of type `dynamic` are omitted.
4629 */
4630 List<UnlinkedTypeRef> get typeArguments;
4631 }
4632
4633 class _UnlinkedTypeRefReader extends fb.TableReader<_UnlinkedTypeRefImpl> {
4634 const _UnlinkedTypeRefReader();
4635
4636 @override
4637 _UnlinkedTypeRefImpl createObject(fb.BufferPointer bp) => new _UnlinkedTypeRef Impl(bp);
4638 }
4639
4640 class _UnlinkedTypeRefImpl extends Object with _UnlinkedTypeRefMixin implements UnlinkedTypeRef {
4641 final fb.BufferPointer _bp;
4642
4643 _UnlinkedTypeRefImpl(this._bp);
4644
4645 int _reference;
4646 int _paramReference;
4647 List<UnlinkedTypeRef> _typeArguments;
4648
4649 @override
4650 int get reference {
4651 _reference ??= const fb.Int32Reader().vTableGet(_bp, 0, 0);
4652 return _reference;
4653 }
4654
4655 @override
4656 int get paramReference {
4657 _paramReference ??= const fb.Int32Reader().vTableGet(_bp, 1, 0);
4658 return _paramReference;
4659 }
4660
4661 @override
4662 List<UnlinkedTypeRef> get typeArguments {
4663 _typeArguments ??= const fb.ListReader<UnlinkedTypeRef>(const _UnlinkedTypeR efReader()).vTableGet(_bp, 2, const <UnlinkedTypeRef>[]);
4664 return _typeArguments;
4665 }
4666 }
4667
4668 abstract class _UnlinkedTypeRefMixin implements UnlinkedTypeRef {
4669 @override
4670 Map<String, Object> toMap() => {
4671 "reference": reference,
4672 "paramReference": paramReference,
4673 "typeArguments": typeArguments,
4674 };
4675 }
4676
4677 class UnlinkedUnitBuilder extends Object with _UnlinkedUnitMixin implements Unli nkedUnit { 4677 class UnlinkedUnitBuilder extends Object with _UnlinkedUnitMixin implements Unli nkedUnit {
4678 bool _finished = false; 4678 bool _finished = false;
4679 4679
4680 String _libraryName; 4680 String _libraryName;
4681 int _libraryNameOffset; 4681 int _libraryNameOffset;
4682 int _libraryNameLength; 4682 int _libraryNameLength;
4683 UnlinkedDocumentationCommentBuilder _libraryDocumentationComment; 4683 UnlinkedDocumentationCommentBuilder _libraryDocumentationComment;
4684 UnlinkedPublicNamespaceBuilder _publicNamespace; 4684 UnlinkedPublicNamespaceBuilder _publicNamespace;
4685 List<UnlinkedReferenceBuilder> _references; 4685 List<UnlinkedReferenceBuilder> _references;
4686 List<UnlinkedClassBuilder> _classes; 4686 List<UnlinkedClassBuilder> _classes;
(...skipping 501 matching lines...) Expand 10 before | Expand all | Expand 10 after
5188 "variables": variables, 5188 "variables": variables,
5189 }; 5189 };
5190 } 5190 }
5191 5191
5192 class UnlinkedVariableBuilder extends Object with _UnlinkedVariableMixin impleme nts UnlinkedVariable { 5192 class UnlinkedVariableBuilder extends Object with _UnlinkedVariableMixin impleme nts UnlinkedVariable {
5193 bool _finished = false; 5193 bool _finished = false;
5194 5194
5195 String _name; 5195 String _name;
5196 int _nameOffset; 5196 int _nameOffset;
5197 UnlinkedDocumentationCommentBuilder _documentationComment; 5197 UnlinkedDocumentationCommentBuilder _documentationComment;
5198 UnlinkedTypeRefBuilder _type; 5198 TypeRefBuilder _type;
5199 UnlinkedConstBuilder _constExpr; 5199 UnlinkedConstBuilder _constExpr;
5200 bool _isStatic; 5200 bool _isStatic;
5201 bool _isFinal; 5201 bool _isFinal;
5202 bool _isConst; 5202 bool _isConst;
5203 bool _hasImplicitType; 5203 bool _hasImplicitType;
5204 5204
5205 @override 5205 @override
5206 String get name => _name ?? ''; 5206 String get name => _name ?? '';
5207 5207
5208 /** 5208 /**
(...skipping 21 matching lines...) Expand all
5230 /** 5230 /**
5231 * Documentation comment for the variable, or `null` if there is no 5231 * Documentation comment for the variable, or `null` if there is no
5232 * documentation comment. 5232 * documentation comment.
5233 */ 5233 */
5234 void set documentationComment(UnlinkedDocumentationCommentBuilder _value) { 5234 void set documentationComment(UnlinkedDocumentationCommentBuilder _value) {
5235 assert(!_finished); 5235 assert(!_finished);
5236 _documentationComment = _value; 5236 _documentationComment = _value;
5237 } 5237 }
5238 5238
5239 @override 5239 @override
5240 UnlinkedTypeRef get type => _type; 5240 TypeRef get type => _type;
5241 5241
5242 /** 5242 /**
5243 * Declared type of the variable. Note that when strong mode is enabled, the 5243 * Declared type of the variable. Note that when strong mode is enabled, the
5244 * actual type of the variable may be different due to type inference. 5244 * actual type of the variable may be different due to type inference.
5245 */ 5245 */
5246 void set type(UnlinkedTypeRefBuilder _value) { 5246 void set type(TypeRefBuilder _value) {
5247 assert(!_finished); 5247 assert(!_finished);
5248 _type = _value; 5248 _type = _value;
5249 } 5249 }
5250 5250
5251 @override 5251 @override
5252 UnlinkedConst get constExpr => _constExpr; 5252 UnlinkedConst get constExpr => _constExpr;
5253 5253
5254 /** 5254 /**
5255 * If [isConst] is true, and the variable has an initializer, the constant 5255 * If [isConst] is true, and the variable has an initializer, the constant
5256 * expression in the initializer. 5256 * expression in the initializer.
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
5301 bool get hasImplicitType => _hasImplicitType ?? false; 5301 bool get hasImplicitType => _hasImplicitType ?? false;
5302 5302
5303 /** 5303 /**
5304 * Indicates whether this variable lacks an explicit type declaration. 5304 * Indicates whether this variable lacks an explicit type declaration.
5305 */ 5305 */
5306 void set hasImplicitType(bool _value) { 5306 void set hasImplicitType(bool _value) {
5307 assert(!_finished); 5307 assert(!_finished);
5308 _hasImplicitType = _value; 5308 _hasImplicitType = _value;
5309 } 5309 }
5310 5310
5311 UnlinkedVariableBuilder({String name, int nameOffset, UnlinkedDocumentationCom mentBuilder documentationComment, UnlinkedTypeRefBuilder type, UnlinkedConstBuil der constExpr, bool isStatic, bool isFinal, bool isConst, bool hasImplicitType}) 5311 UnlinkedVariableBuilder({String name, int nameOffset, UnlinkedDocumentationCom mentBuilder documentationComment, TypeRefBuilder type, UnlinkedConstBuilder cons tExpr, bool isStatic, bool isFinal, bool isConst, bool hasImplicitType})
5312 : _name = name, 5312 : _name = name,
5313 _nameOffset = nameOffset, 5313 _nameOffset = nameOffset,
5314 _documentationComment = documentationComment, 5314 _documentationComment = documentationComment,
5315 _type = type, 5315 _type = type,
5316 _constExpr = constExpr, 5316 _constExpr = constExpr,
5317 _isStatic = isStatic, 5317 _isStatic = isStatic,
5318 _isFinal = isFinal, 5318 _isFinal = isFinal,
5319 _isConst = isConst, 5319 _isConst = isConst,
5320 _hasImplicitType = hasImplicitType; 5320 _hasImplicitType = hasImplicitType;
5321 5321
(...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after
5389 /** 5389 /**
5390 * Documentation comment for the variable, or `null` if there is no 5390 * Documentation comment for the variable, or `null` if there is no
5391 * documentation comment. 5391 * documentation comment.
5392 */ 5392 */
5393 UnlinkedDocumentationComment get documentationComment; 5393 UnlinkedDocumentationComment get documentationComment;
5394 5394
5395 /** 5395 /**
5396 * Declared type of the variable. Note that when strong mode is enabled, the 5396 * Declared type of the variable. Note that when strong mode is enabled, the
5397 * actual type of the variable may be different due to type inference. 5397 * actual type of the variable may be different due to type inference.
5398 */ 5398 */
5399 UnlinkedTypeRef get type; 5399 TypeRef get type;
5400 5400
5401 /** 5401 /**
5402 * If [isConst] is true, and the variable has an initializer, the constant 5402 * If [isConst] is true, and the variable has an initializer, the constant
5403 * expression in the initializer. 5403 * expression in the initializer.
5404 */ 5404 */
5405 UnlinkedConst get constExpr; 5405 UnlinkedConst get constExpr;
5406 5406
5407 /** 5407 /**
5408 * Indicates whether the variable is declared using the `static` keyword. 5408 * Indicates whether the variable is declared using the `static` keyword.
5409 * 5409 *
(...skipping 27 matching lines...) Expand all
5437 } 5437 }
5438 5438
5439 class _UnlinkedVariableImpl extends Object with _UnlinkedVariableMixin implement s UnlinkedVariable { 5439 class _UnlinkedVariableImpl extends Object with _UnlinkedVariableMixin implement s UnlinkedVariable {
5440 final fb.BufferPointer _bp; 5440 final fb.BufferPointer _bp;
5441 5441
5442 _UnlinkedVariableImpl(this._bp); 5442 _UnlinkedVariableImpl(this._bp);
5443 5443
5444 String _name; 5444 String _name;
5445 int _nameOffset; 5445 int _nameOffset;
5446 UnlinkedDocumentationComment _documentationComment; 5446 UnlinkedDocumentationComment _documentationComment;
5447 UnlinkedTypeRef _type; 5447 TypeRef _type;
5448 UnlinkedConst _constExpr; 5448 UnlinkedConst _constExpr;
5449 bool _isStatic; 5449 bool _isStatic;
5450 bool _isFinal; 5450 bool _isFinal;
5451 bool _isConst; 5451 bool _isConst;
5452 bool _hasImplicitType; 5452 bool _hasImplicitType;
5453 5453
5454 @override 5454 @override
5455 String get name { 5455 String get name {
5456 _name ??= const fb.StringReader().vTableGet(_bp, 0, ''); 5456 _name ??= const fb.StringReader().vTableGet(_bp, 0, '');
5457 return _name; 5457 return _name;
5458 } 5458 }
5459 5459
5460 @override 5460 @override
5461 int get nameOffset { 5461 int get nameOffset {
5462 _nameOffset ??= const fb.Int32Reader().vTableGet(_bp, 1, 0); 5462 _nameOffset ??= const fb.Int32Reader().vTableGet(_bp, 1, 0);
5463 return _nameOffset; 5463 return _nameOffset;
5464 } 5464 }
5465 5465
5466 @override 5466 @override
5467 UnlinkedDocumentationComment get documentationComment { 5467 UnlinkedDocumentationComment get documentationComment {
5468 _documentationComment ??= const _UnlinkedDocumentationCommentReader().vTable Get(_bp, 2, null); 5468 _documentationComment ??= const _UnlinkedDocumentationCommentReader().vTable Get(_bp, 2, null);
5469 return _documentationComment; 5469 return _documentationComment;
5470 } 5470 }
5471 5471
5472 @override 5472 @override
5473 UnlinkedTypeRef get type { 5473 TypeRef get type {
5474 _type ??= const _UnlinkedTypeRefReader().vTableGet(_bp, 3, null); 5474 _type ??= const _TypeRefReader().vTableGet(_bp, 3, null);
5475 return _type; 5475 return _type;
5476 } 5476 }
5477 5477
5478 @override 5478 @override
5479 UnlinkedConst get constExpr { 5479 UnlinkedConst get constExpr {
5480 _constExpr ??= const _UnlinkedConstReader().vTableGet(_bp, 4, null); 5480 _constExpr ??= const _UnlinkedConstReader().vTableGet(_bp, 4, null);
5481 return _constExpr; 5481 return _constExpr;
5482 } 5482 }
5483 5483
5484 @override 5484 @override
(...skipping 29 matching lines...) Expand all
5514 "documentationComment": documentationComment, 5514 "documentationComment": documentationComment,
5515 "type": type, 5515 "type": type,
5516 "constExpr": constExpr, 5516 "constExpr": constExpr,
5517 "isStatic": isStatic, 5517 "isStatic": isStatic,
5518 "isFinal": isFinal, 5518 "isFinal": isFinal,
5519 "isConst": isConst, 5519 "isConst": isConst,
5520 "hasImplicitType": hasImplicitType, 5520 "hasImplicitType": hasImplicitType,
5521 }; 5521 };
5522 } 5522 }
5523 5523
OLDNEW
« no previous file with comments | « no previous file | pkg/analyzer/lib/src/summary/resynthesize.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698