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

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

Issue 1667723002: Use summary IDL file for interface classes. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 10 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 | « pkg/analyzer/lib/src/generated/sdk_io.dart ('k') | pkg/analyzer/lib/src/summary/idl.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;
11 import 'flat_buffers.dart' as fb; 10 import 'flat_buffers.dart' as fb;
11 import 'idl.dart' as idl;
12 12
13 /** 13 class _ReferenceKindReader extends fb.Reader<idl.ReferenceKind> {
14 * Enum used to indicate the kind of entity referred to by a
15 * [LinkedReference].
16 */
17 enum ReferenceKind {
18 /**
19 * The entity is a class or enum.
20 */
21 classOrEnum,
22
23 /**
24 * The entity is a constructor.
25 */
26 constructor,
27
28 /**
29 * The entity is a getter or setter inside a class. Note: this is used in
30 * the case where a constant refers to a static const declared inside a
31 * class.
32 */
33 propertyAccessor,
34
35 /**
36 * The entity is a method.
37 */
38 method,
39
40 /**
41 * The `length` property access.
42 */
43 length,
44
45 /**
46 * The entity is a typedef.
47 */
48 typedef,
49
50 /**
51 * The entity is a top level function.
52 */
53 topLevelFunction,
54
55 /**
56 * The entity is a top level getter or setter.
57 */
58 topLevelPropertyAccessor,
59
60 /**
61 * The entity is a prefix.
62 */
63 prefix,
64
65 /**
66 * The entity being referred to does not exist.
67 */
68 unresolved
69 }
70
71 class _ReferenceKindReader extends fb.Reader<ReferenceKind> {
72 const _ReferenceKindReader() : super(); 14 const _ReferenceKindReader() : super();
73 15
74 @override 16 @override
75 int get size => 4; 17 int get size => 4;
76 18
77 @override 19 @override
78 ReferenceKind read(fb.BufferPointer bp) { 20 idl.ReferenceKind read(fb.BufferPointer bp) {
79 int index = const fb.Uint32Reader().read(bp); 21 int index = const fb.Uint32Reader().read(bp);
80 return ReferenceKind.values[index]; 22 return idl.ReferenceKind.values[index];
81 } 23 }
82 } 24 }
83 25
84 /** 26 class _UnlinkedConstOperationReader extends fb.Reader<idl.UnlinkedConstOperation > {
85 * Enum representing the various kinds of operations which may be performed to
86 * produce a constant value. These options are assumed to execute in the
87 * context of a stack which is initially empty.
88 */
89 enum UnlinkedConstOperation {
90 /**
91 * Push the next value from [UnlinkedConst.ints] (a 32-bit unsigned integer)
92 * onto the stack.
93 *
94 * Note that Dart supports integers larger than 32 bits; these are
95 * represented by composing 32-bit values using the [pushLongInt] operation.
96 */
97 pushInt,
98
99 /**
100 * Get the number of components from [UnlinkedConst.ints], then do this number
101 * of times the following operations: multiple the current value by 2^32, "or"
102 * it with the next value in [UnlinkedConst.ints]. The initial value is zero.
103 * Push the result into the stack.
104 */
105 pushLongInt,
106
107 /**
108 * Push the next value from [UnlinkedConst.doubles] (a double precision
109 * floating point value) onto the stack.
110 */
111 pushDouble,
112
113 /**
114 * Push the constant `true` onto the stack.
115 */
116 pushTrue,
117
118 /**
119 * Push the constant `false` onto the stack.
120 */
121 pushFalse,
122
123 /**
124 * Push the next value from [UnlinkedConst.strings] onto the stack.
125 */
126 pushString,
127
128 /**
129 * Pop the top n values from the stack (where n is obtained from
130 * [UnlinkedConst.ints]), convert them to strings (if they aren't already),
131 * concatenate them into a single string, and push it back onto the stack.
132 *
133 * This operation is used to represent constants whose value is a literal
134 * string containing string interpolations.
135 */
136 concatenate,
137
138 /**
139 * Get the next value from [UnlinkedConst.strings], convert it to a symbol,
140 * and push it onto the stack.
141 */
142 makeSymbol,
143
144 /**
145 * Push the constant `null` onto the stack.
146 */
147 pushNull,
148
149 /**
150 * Evaluate a (potentially qualified) identifier expression and push the
151 * resulting value onto the stack. The identifier to be evaluated is
152 * obtained from [UnlinkedConst.references].
153 *
154 * This operation is used to represent the following kinds of constants
155 * (which are indistinguishable from an unresolved AST alone):
156 *
157 * - A qualified reference to a static constant variable (e.g. `C.v`, where
158 * C is a class and `v` is a constant static variable in `C`).
159 * - An identifier expression referring to a constant variable.
160 * - A simple or qualified identifier denoting a class or type alias.
161 * - A simple or qualified identifier denoting a top-level function or a
162 * static method.
163 */
164 pushReference,
165
166 /**
167 * Pop the top `n` values from the stack (where `n` is obtained from
168 * [UnlinkedConst.ints]) into a list (filled from the end) and take the next
169 * `n` values from [UnlinkedConst.strings] and use the lists of names and
170 * values to create named arguments. Then pop the top `m` values from the
171 * stack (where `m` is obtained from [UnlinkedConst.ints]) into a list (filled
172 * from the end) and use them as positional arguments. Use the lists of
173 * positional and names arguments to invoke a constant constructor obtained
174 * from [UnlinkedConst.references], and push the resulting value back onto the
175 * stack.
176 *
177 * Note that for an invocation of the form `const a.b(...)` (where no type
178 * arguments are specified), it is impossible to tell from the unresolved AST
179 * alone whether `a` is a class name and `b` is a constructor name, or `a` is
180 * a prefix name and `b` is a class name. For consistency between AST based
181 * and elements based summaries, references to default constructors are always
182 * recorded as references to corresponding classes.
183 */
184 invokeConstructor,
185
186 /**
187 * Pop the top n values from the stack (where n is obtained from
188 * [UnlinkedConst.ints]), place them in a [List], and push the result back
189 * onto the stack. The type parameter for the [List] is implicitly `dynamic`.
190 */
191 makeUntypedList,
192
193 /**
194 * Pop the top 2*n values from the stack (where n is obtained from
195 * [UnlinkedConst.ints]), interpret them as key/value pairs, place them in a
196 * [Map], and push the result back onto the stack. The two type parameters
197 * for the [Map] are implicitly `dynamic`.
198 */
199 makeUntypedMap,
200
201 /**
202 * Pop the top n values from the stack (where n is obtained from
203 * [UnlinkedConst.ints]), place them in a [List], and push the result back
204 * onto the stack. The type parameter for the [List] is obtained from
205 * [UnlinkedConst.references].
206 */
207 makeTypedList,
208
209 /**
210 * Pop the top 2*n values from the stack (where n is obtained from
211 * [UnlinkedConst.ints]), interpret them as key/value pairs, place them in a
212 * [Map], and push the result back onto the stack. The two type parameters fo r
213 * the [Map] are obtained from [UnlinkedConst.references].
214 */
215 makeTypedMap,
216
217 /**
218 * Pop the top 2 values from the stack, pass them to the predefined Dart
219 * function `identical`, and push the result back onto the stack.
220 */
221 identical,
222
223 /**
224 * Pop the top 2 values from the stack, evaluate `v1 == v2`, and push the
225 * result back onto the stack.
226 */
227 equal,
228
229 /**
230 * Pop the top 2 values from the stack, evaluate `v1 != v2`, and push the
231 * result back onto the stack.
232 */
233 notEqual,
234
235 /**
236 * Pop the top value from the stack, compute its boolean negation, and push
237 * the result back onto the stack.
238 */
239 not,
240
241 /**
242 * Pop the top 2 values from the stack, compute `v1 && v2`, and push the
243 * result back onto the stack.
244 */
245 and,
246
247 /**
248 * Pop the top 2 values from the stack, compute `v1 || v2`, and push the
249 * result back onto the stack.
250 */
251 or,
252
253 /**
254 * Pop the top value from the stack, compute its integer complement, and push
255 * the result back onto the stack.
256 */
257 complement,
258
259 /**
260 * Pop the top 2 values from the stack, compute `v1 ^ v2`, and push the
261 * result back onto the stack.
262 */
263 bitXor,
264
265 /**
266 * Pop the top 2 values from the stack, compute `v1 & v2`, and push the
267 * result back onto the stack.
268 */
269 bitAnd,
270
271 /**
272 * Pop the top 2 values from the stack, compute `v1 | v2`, and push the
273 * result back onto the stack.
274 */
275 bitOr,
276
277 /**
278 * Pop the top 2 values from the stack, compute `v1 >> v2`, and push the
279 * result back onto the stack.
280 */
281 bitShiftRight,
282
283 /**
284 * Pop the top 2 values from the stack, compute `v1 << v2`, and push the
285 * result back onto the stack.
286 */
287 bitShiftLeft,
288
289 /**
290 * Pop the top 2 values from the stack, compute `v1 + v2`, and push the
291 * result back onto the stack.
292 */
293 add,
294
295 /**
296 * Pop the top value from the stack, compute its integer negation, and push
297 * the result back onto the stack.
298 */
299 negate,
300
301 /**
302 * Pop the top 2 values from the stack, compute `v1 - v2`, and push the
303 * result back onto the stack.
304 */
305 subtract,
306
307 /**
308 * Pop the top 2 values from the stack, compute `v1 * v2`, and push the
309 * result back onto the stack.
310 */
311 multiply,
312
313 /**
314 * Pop the top 2 values from the stack, compute `v1 / v2`, and push the
315 * result back onto the stack.
316 */
317 divide,
318
319 /**
320 * Pop the top 2 values from the stack, compute `v1 ~/ v2`, and push the
321 * result back onto the stack.
322 */
323 floorDivide,
324
325 /**
326 * Pop the top 2 values from the stack, compute `v1 > v2`, and push the
327 * result back onto the stack.
328 */
329 greater,
330
331 /**
332 * Pop the top 2 values from the stack, compute `v1 < v2`, and push the
333 * result back onto the stack.
334 */
335 less,
336
337 /**
338 * Pop the top 2 values from the stack, compute `v1 >= v2`, and push the
339 * result back onto the stack.
340 */
341 greaterEqual,
342
343 /**
344 * Pop the top 2 values from the stack, compute `v1 <= v2`, and push the
345 * result back onto the stack.
346 */
347 lessEqual,
348
349 /**
350 * Pop the top 2 values from the stack, compute `v1 % v2`, and push the
351 * result back onto the stack.
352 */
353 modulo,
354
355 /**
356 * Pop the top 3 values from the stack, compute `v1 ? v2 : v3`, and push the
357 * result back onto the stack.
358 */
359 conditional,
360
361 /**
362 * Pop the top value from the stack, evaluate `v.length`, and push the result
363 * back onto the stack.
364 */
365 length
366 }
367
368 class _UnlinkedConstOperationReader extends fb.Reader<UnlinkedConstOperation> {
369 const _UnlinkedConstOperationReader() : super(); 27 const _UnlinkedConstOperationReader() : super();
370 28
371 @override 29 @override
372 int get size => 4; 30 int get size => 4;
373 31
374 @override 32 @override
375 UnlinkedConstOperation read(fb.BufferPointer bp) { 33 idl.UnlinkedConstOperation read(fb.BufferPointer bp) {
376 int index = const fb.Uint32Reader().read(bp); 34 int index = const fb.Uint32Reader().read(bp);
377 return UnlinkedConstOperation.values[index]; 35 return idl.UnlinkedConstOperation.values[index];
378 } 36 }
379 } 37 }
380 38
381 /** 39 class _UnlinkedExecutableKindReader extends fb.Reader<idl.UnlinkedExecutableKind > {
382 * Enum used to indicate the kind of an executable.
383 */
384 enum UnlinkedExecutableKind {
385 /**
386 * Executable is a function or method.
387 */
388 functionOrMethod,
389
390 /**
391 * Executable is a getter.
392 */
393 getter,
394
395 /**
396 * Executable is a setter.
397 */
398 setter,
399
400 /**
401 * Executable is a constructor.
402 */
403 constructor
404 }
405
406 class _UnlinkedExecutableKindReader extends fb.Reader<UnlinkedExecutableKind> {
407 const _UnlinkedExecutableKindReader() : super(); 40 const _UnlinkedExecutableKindReader() : super();
408 41
409 @override 42 @override
410 int get size => 4; 43 int get size => 4;
411 44
412 @override 45 @override
413 UnlinkedExecutableKind read(fb.BufferPointer bp) { 46 idl.UnlinkedExecutableKind read(fb.BufferPointer bp) {
414 int index = const fb.Uint32Reader().read(bp); 47 int index = const fb.Uint32Reader().read(bp);
415 return UnlinkedExecutableKind.values[index]; 48 return idl.UnlinkedExecutableKind.values[index];
416 } 49 }
417 } 50 }
418 51
419 /** 52 class _UnlinkedParamKindReader extends fb.Reader<idl.UnlinkedParamKind> {
420 * Enum used to indicate the kind of a parameter.
421 */
422 enum UnlinkedParamKind {
423 /**
424 * Parameter is required.
425 */
426 required,
427
428 /**
429 * Parameter is positional optional (enclosed in `[]`)
430 */
431 positional,
432
433 /**
434 * Parameter is named optional (enclosed in `{}`)
435 */
436 named
437 }
438
439 class _UnlinkedParamKindReader extends fb.Reader<UnlinkedParamKind> {
440 const _UnlinkedParamKindReader() : super(); 53 const _UnlinkedParamKindReader() : super();
441 54
442 @override 55 @override
443 int get size => 4; 56 int get size => 4;
444 57
445 @override 58 @override
446 UnlinkedParamKind read(fb.BufferPointer bp) { 59 idl.UnlinkedParamKind read(fb.BufferPointer bp) {
447 int index = const fb.Uint32Reader().read(bp); 60 int index = const fb.Uint32Reader().read(bp);
448 return UnlinkedParamKind.values[index]; 61 return idl.UnlinkedParamKind.values[index];
449 } 62 }
450 } 63 }
451 64
452 class EntityRefBuilder extends Object with _EntityRefMixin implements EntityRef { 65 class EntityRefBuilder extends Object with _EntityRefMixin implements idl.Entity Ref {
453 bool _finished = false; 66 bool _finished = false;
454 67
455 int _slot; 68 int _slot;
456 int _reference; 69 int _reference;
457 int _paramReference; 70 int _paramReference;
458 List<int> _implicitFunctionTypeIndices; 71 List<int> _implicitFunctionTypeIndices;
459 List<EntityRefBuilder> _typeArguments; 72 List<EntityRefBuilder> _typeArguments;
460 73
461 @override 74 @override
462 int get slot => _slot ??= 0; 75 int get slot => _slot ??= 0;
(...skipping 127 matching lines...) Expand 10 before | Expand all | Expand 10 after
590 if (offset_implicitFunctionTypeIndices != null) { 203 if (offset_implicitFunctionTypeIndices != null) {
591 fbBuilder.addOffset(3, offset_implicitFunctionTypeIndices); 204 fbBuilder.addOffset(3, offset_implicitFunctionTypeIndices);
592 } 205 }
593 if (offset_typeArguments != null) { 206 if (offset_typeArguments != null) {
594 fbBuilder.addOffset(4, offset_typeArguments); 207 fbBuilder.addOffset(4, offset_typeArguments);
595 } 208 }
596 return fbBuilder.endTable(); 209 return fbBuilder.endTable();
597 } 210 }
598 } 211 }
599 212
600 /**
601 * Summary information about a reference to a an entity such as a type, top
602 * level executable, or executable within a class.
603 */
604 abstract class EntityRef extends base.SummaryClass {
605
606 /**
607 * If this [EntityRef] is contained within [LinkedUnit.types], slot id (which
608 * is unique within the compilation unit) identifying the target of type
609 * propagation or type inference with which this [EntityRef] is associated.
610 *
611 * Otherwise zero.
612 */
613 int get slot;
614
615 /**
616 * Index into [UnlinkedUnit.references] for the entity being referred to, or
617 * zero if this is a reference to a type parameter.
618 */
619 int get reference;
620
621 /**
622 * If this is a reference to a type parameter, one-based index into the list
623 * of [UnlinkedTypeParam]s currently in effect. Indexing is done using De
624 * Bruijn index conventions; that is, innermost parameters come first, and
625 * if a class or method has multiple parameters, they are indexed from right
626 * to left. So for instance, if the enclosing declaration is
627 *
628 * class C<T,U> {
629 * m<V,W> {
630 * ...
631 * }
632 * }
633 *
634 * Then [paramReference] values of 1, 2, 3, and 4 represent W, V, U, and T,
635 * respectively.
636 *
637 * If the type being referred to is not a type parameter, [paramReference] is
638 * zero.
639 */
640 int get paramReference;
641
642 /**
643 * If this is a reference to a function type implicitly defined by a
644 * function-typed parameter, a list of zero-based indices indicating the path
645 * from the entity referred to by [reference] to the appropriate type
646 * parameter. Otherwise the empty list.
647 *
648 * If there are N indices in this list, then the entity being referred to is
649 * the function type implicitly defined by a function-typed parameter of a
650 * function-typed parameter, to N levels of nesting. The first index in the
651 * list refers to the outermost level of nesting; for example if [reference]
652 * refers to the entity defined by:
653 *
654 * void f(x, void g(y, z, int h(String w))) { ... }
655 *
656 * Then to refer to the function type implicitly defined by parameter `h`
657 * (which is parameter 2 of parameter 1 of `f`), then
658 * [implicitFunctionTypeIndices] should be [1, 2].
659 *
660 * Note that if the entity being referred to is a generic method inside a
661 * generic class, then the type arguments in [typeArguments] are applied
662 * first to the class and then to the method.
663 */
664 List<int> get implicitFunctionTypeIndices;
665
666 /**
667 * If this is an instantiation of a generic type or generic executable, the
668 * type arguments used to instantiate it. Trailing type arguments of type
669 * `dynamic` are omitted.
670 */
671 List<EntityRef> get typeArguments;
672 }
673
674 class _EntityRefReader extends fb.TableReader<_EntityRefImpl> { 213 class _EntityRefReader extends fb.TableReader<_EntityRefImpl> {
675 const _EntityRefReader(); 214 const _EntityRefReader();
676 215
677 @override 216 @override
678 _EntityRefImpl createObject(fb.BufferPointer bp) => new _EntityRefImpl(bp); 217 _EntityRefImpl createObject(fb.BufferPointer bp) => new _EntityRefImpl(bp);
679 } 218 }
680 219
681 class _EntityRefImpl extends Object with _EntityRefMixin implements EntityRef { 220 class _EntityRefImpl extends Object with _EntityRefMixin implements idl.EntityRe f {
682 final fb.BufferPointer _bp; 221 final fb.BufferPointer _bp;
683 222
684 _EntityRefImpl(this._bp); 223 _EntityRefImpl(this._bp);
685 224
686 int _slot; 225 int _slot;
687 int _reference; 226 int _reference;
688 int _paramReference; 227 int _paramReference;
689 List<int> _implicitFunctionTypeIndices; 228 List<int> _implicitFunctionTypeIndices;
690 List<EntityRef> _typeArguments; 229 List<idl.EntityRef> _typeArguments;
691 230
692 @override 231 @override
693 int get slot { 232 int get slot {
694 _slot ??= const fb.Uint32Reader().vTableGet(_bp, 0, 0); 233 _slot ??= const fb.Uint32Reader().vTableGet(_bp, 0, 0);
695 return _slot; 234 return _slot;
696 } 235 }
697 236
698 @override 237 @override
699 int get reference { 238 int get reference {
700 _reference ??= const fb.Uint32Reader().vTableGet(_bp, 1, 0); 239 _reference ??= const fb.Uint32Reader().vTableGet(_bp, 1, 0);
701 return _reference; 240 return _reference;
702 } 241 }
703 242
704 @override 243 @override
705 int get paramReference { 244 int get paramReference {
706 _paramReference ??= const fb.Uint32Reader().vTableGet(_bp, 2, 0); 245 _paramReference ??= const fb.Uint32Reader().vTableGet(_bp, 2, 0);
707 return _paramReference; 246 return _paramReference;
708 } 247 }
709 248
710 @override 249 @override
711 List<int> get implicitFunctionTypeIndices { 250 List<int> get implicitFunctionTypeIndices {
712 _implicitFunctionTypeIndices ??= const fb.ListReader<int>(const fb.Uint32Rea der()).vTableGet(_bp, 3, const <int>[]); 251 _implicitFunctionTypeIndices ??= const fb.ListReader<int>(const fb.Uint32Rea der()).vTableGet(_bp, 3, const <int>[]);
713 return _implicitFunctionTypeIndices; 252 return _implicitFunctionTypeIndices;
714 } 253 }
715 254
716 @override 255 @override
717 List<EntityRef> get typeArguments { 256 List<idl.EntityRef> get typeArguments {
718 _typeArguments ??= const fb.ListReader<EntityRef>(const _EntityRefReader()). vTableGet(_bp, 4, const <EntityRef>[]); 257 _typeArguments ??= const fb.ListReader<idl.EntityRef>(const _EntityRefReader ()).vTableGet(_bp, 4, const <idl.EntityRef>[]);
719 return _typeArguments; 258 return _typeArguments;
720 } 259 }
721 } 260 }
722 261
723 abstract class _EntityRefMixin implements EntityRef { 262 abstract class _EntityRefMixin implements idl.EntityRef {
724 @override 263 @override
725 Map<String, Object> toMap() => { 264 Map<String, Object> toMap() => {
726 "slot": slot, 265 "slot": slot,
727 "reference": reference, 266 "reference": reference,
728 "paramReference": paramReference, 267 "paramReference": paramReference,
729 "implicitFunctionTypeIndices": implicitFunctionTypeIndices, 268 "implicitFunctionTypeIndices": implicitFunctionTypeIndices,
730 "typeArguments": typeArguments, 269 "typeArguments": typeArguments,
731 }; 270 };
732 } 271 }
733 272
734 class LinkedDependencyBuilder extends Object with _LinkedDependencyMixin impleme nts LinkedDependency { 273 class LinkedDependencyBuilder extends Object with _LinkedDependencyMixin impleme nts idl.LinkedDependency {
735 bool _finished = false; 274 bool _finished = false;
736 275
737 String _uri; 276 String _uri;
738 List<String> _parts; 277 List<String> _parts;
739 278
740 @override 279 @override
741 String get uri => _uri ??= ''; 280 String get uri => _uri ??= '';
742 281
743 /** 282 /**
744 * The relative URI of the dependent library. This URI is relative to the 283 * The relative URI of the dependent library. This URI is relative to the
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
783 if (offset_uri != null) { 322 if (offset_uri != null) {
784 fbBuilder.addOffset(0, offset_uri); 323 fbBuilder.addOffset(0, offset_uri);
785 } 324 }
786 if (offset_parts != null) { 325 if (offset_parts != null) {
787 fbBuilder.addOffset(1, offset_parts); 326 fbBuilder.addOffset(1, offset_parts);
788 } 327 }
789 return fbBuilder.endTable(); 328 return fbBuilder.endTable();
790 } 329 }
791 } 330 }
792 331
793 /**
794 * Information about a dependency that exists between one library and another
795 * due to an "import" declaration.
796 */
797 abstract class LinkedDependency extends base.SummaryClass {
798
799 /**
800 * The relative URI of the dependent library. This URI is relative to the
801 * importing library, even if there are intervening `export` declarations.
802 * So, for example, if `a.dart` imports `b/c.dart` and `b/c.dart` exports
803 * `d/e.dart`, the URI listed for `a.dart`'s dependency on `e.dart` will be
804 * `b/d/e.dart`.
805 */
806 String get uri;
807
808 /**
809 * URI for the compilation units listed in the library's `part` declarations.
810 * These URIs are relative to the importing library.
811 */
812 List<String> get parts;
813 }
814
815 class _LinkedDependencyReader extends fb.TableReader<_LinkedDependencyImpl> { 332 class _LinkedDependencyReader extends fb.TableReader<_LinkedDependencyImpl> {
816 const _LinkedDependencyReader(); 333 const _LinkedDependencyReader();
817 334
818 @override 335 @override
819 _LinkedDependencyImpl createObject(fb.BufferPointer bp) => new _LinkedDependen cyImpl(bp); 336 _LinkedDependencyImpl createObject(fb.BufferPointer bp) => new _LinkedDependen cyImpl(bp);
820 } 337 }
821 338
822 class _LinkedDependencyImpl extends Object with _LinkedDependencyMixin implement s LinkedDependency { 339 class _LinkedDependencyImpl extends Object with _LinkedDependencyMixin implement s idl.LinkedDependency {
823 final fb.BufferPointer _bp; 340 final fb.BufferPointer _bp;
824 341
825 _LinkedDependencyImpl(this._bp); 342 _LinkedDependencyImpl(this._bp);
826 343
827 String _uri; 344 String _uri;
828 List<String> _parts; 345 List<String> _parts;
829 346
830 @override 347 @override
831 String get uri { 348 String get uri {
832 _uri ??= const fb.StringReader().vTableGet(_bp, 0, ''); 349 _uri ??= const fb.StringReader().vTableGet(_bp, 0, '');
833 return _uri; 350 return _uri;
834 } 351 }
835 352
836 @override 353 @override
837 List<String> get parts { 354 List<String> get parts {
838 _parts ??= const fb.ListReader<String>(const fb.StringReader()).vTableGet(_b p, 1, const <String>[]); 355 _parts ??= const fb.ListReader<String>(const fb.StringReader()).vTableGet(_b p, 1, const <String>[]);
839 return _parts; 356 return _parts;
840 } 357 }
841 } 358 }
842 359
843 abstract class _LinkedDependencyMixin implements LinkedDependency { 360 abstract class _LinkedDependencyMixin implements idl.LinkedDependency {
844 @override 361 @override
845 Map<String, Object> toMap() => { 362 Map<String, Object> toMap() => {
846 "uri": uri, 363 "uri": uri,
847 "parts": parts, 364 "parts": parts,
848 }; 365 };
849 } 366 }
850 367
851 class LinkedExportNameBuilder extends Object with _LinkedExportNameMixin impleme nts LinkedExportName { 368 class LinkedExportNameBuilder extends Object with _LinkedExportNameMixin impleme nts idl.LinkedExportName {
852 bool _finished = false; 369 bool _finished = false;
853 370
854 String _name; 371 String _name;
855 int _dependency; 372 int _dependency;
856 int _unit; 373 int _unit;
857 ReferenceKind _kind; 374 idl.ReferenceKind _kind;
858 375
859 @override 376 @override
860 String get name => _name ??= ''; 377 String get name => _name ??= '';
861 378
862 /** 379 /**
863 * Name of the exported entity. For an exported setter, this name includes 380 * Name of the exported entity. For an exported setter, this name includes
864 * the trailing '='. 381 * the trailing '='.
865 */ 382 */
866 void set name(String _value) { 383 void set name(String _value) {
867 assert(!_finished); 384 assert(!_finished);
(...skipping 22 matching lines...) Expand all
890 * zero represents the defining compilation unit, and nonzero values 407 * zero represents the defining compilation unit, and nonzero values
891 * represent parts in the order of the corresponding `part` declarations. 408 * represent parts in the order of the corresponding `part` declarations.
892 */ 409 */
893 void set unit(int _value) { 410 void set unit(int _value) {
894 assert(!_finished); 411 assert(!_finished);
895 assert(_value == null || _value >= 0); 412 assert(_value == null || _value >= 0);
896 _unit = _value; 413 _unit = _value;
897 } 414 }
898 415
899 @override 416 @override
900 ReferenceKind get kind => _kind ??= ReferenceKind.classOrEnum; 417 idl.ReferenceKind get kind => _kind ??= idl.ReferenceKind.classOrEnum;
901 418
902 /** 419 /**
903 * The kind of the entity being referred to. 420 * The kind of the entity being referred to.
904 */ 421 */
905 void set kind(ReferenceKind _value) { 422 void set kind(idl.ReferenceKind _value) {
906 assert(!_finished); 423 assert(!_finished);
907 _kind = _value; 424 _kind = _value;
908 } 425 }
909 426
910 LinkedExportNameBuilder({String name, int dependency, int unit, ReferenceKind kind}) 427 LinkedExportNameBuilder({String name, int dependency, int unit, idl.ReferenceK ind kind})
911 : _name = name, 428 : _name = name,
912 _dependency = dependency, 429 _dependency = dependency,
913 _unit = unit, 430 _unit = unit,
914 _kind = kind; 431 _kind = kind;
915 432
916 fb.Offset finish(fb.Builder fbBuilder) { 433 fb.Offset finish(fb.Builder fbBuilder) {
917 assert(!_finished); 434 assert(!_finished);
918 _finished = true; 435 _finished = true;
919 fb.Offset offset_name; 436 fb.Offset offset_name;
920 if (_name != null) { 437 if (_name != null) {
921 offset_name = fbBuilder.writeString(_name); 438 offset_name = fbBuilder.writeString(_name);
922 } 439 }
923 fbBuilder.startTable(); 440 fbBuilder.startTable();
924 if (offset_name != null) { 441 if (offset_name != null) {
925 fbBuilder.addOffset(0, offset_name); 442 fbBuilder.addOffset(0, offset_name);
926 } 443 }
927 if (_dependency != null && _dependency != 0) { 444 if (_dependency != null && _dependency != 0) {
928 fbBuilder.addUint32(1, _dependency); 445 fbBuilder.addUint32(1, _dependency);
929 } 446 }
930 if (_unit != null && _unit != 0) { 447 if (_unit != null && _unit != 0) {
931 fbBuilder.addUint32(2, _unit); 448 fbBuilder.addUint32(2, _unit);
932 } 449 }
933 if (_kind != null && _kind != ReferenceKind.classOrEnum) { 450 if (_kind != null && _kind != idl.ReferenceKind.classOrEnum) {
934 fbBuilder.addUint32(3, _kind.index); 451 fbBuilder.addUint32(3, _kind.index);
935 } 452 }
936 return fbBuilder.endTable(); 453 return fbBuilder.endTable();
937 } 454 }
938 } 455 }
939 456
940 /**
941 * Information about a single name in the export namespace of the library that
942 * is not in the public namespace.
943 */
944 abstract class LinkedExportName extends base.SummaryClass {
945
946 /**
947 * Name of the exported entity. For an exported setter, this name includes
948 * the trailing '='.
949 */
950 String get name;
951
952 /**
953 * Index into [LinkedLibrary.dependencies] for the library in which the
954 * entity is defined.
955 */
956 int get dependency;
957
958 /**
959 * Integer index indicating which unit in the exported library contains the
960 * definition of the entity. As with indices into [LinkedLibrary.units],
961 * zero represents the defining compilation unit, and nonzero values
962 * represent parts in the order of the corresponding `part` declarations.
963 */
964 int get unit;
965
966 /**
967 * The kind of the entity being referred to.
968 */
969 ReferenceKind get kind;
970 }
971
972 class _LinkedExportNameReader extends fb.TableReader<_LinkedExportNameImpl> { 457 class _LinkedExportNameReader extends fb.TableReader<_LinkedExportNameImpl> {
973 const _LinkedExportNameReader(); 458 const _LinkedExportNameReader();
974 459
975 @override 460 @override
976 _LinkedExportNameImpl createObject(fb.BufferPointer bp) => new _LinkedExportNa meImpl(bp); 461 _LinkedExportNameImpl createObject(fb.BufferPointer bp) => new _LinkedExportNa meImpl(bp);
977 } 462 }
978 463
979 class _LinkedExportNameImpl extends Object with _LinkedExportNameMixin implement s LinkedExportName { 464 class _LinkedExportNameImpl extends Object with _LinkedExportNameMixin implement s idl.LinkedExportName {
980 final fb.BufferPointer _bp; 465 final fb.BufferPointer _bp;
981 466
982 _LinkedExportNameImpl(this._bp); 467 _LinkedExportNameImpl(this._bp);
983 468
984 String _name; 469 String _name;
985 int _dependency; 470 int _dependency;
986 int _unit; 471 int _unit;
987 ReferenceKind _kind; 472 idl.ReferenceKind _kind;
988 473
989 @override 474 @override
990 String get name { 475 String get name {
991 _name ??= const fb.StringReader().vTableGet(_bp, 0, ''); 476 _name ??= const fb.StringReader().vTableGet(_bp, 0, '');
992 return _name; 477 return _name;
993 } 478 }
994 479
995 @override 480 @override
996 int get dependency { 481 int get dependency {
997 _dependency ??= const fb.Uint32Reader().vTableGet(_bp, 1, 0); 482 _dependency ??= const fb.Uint32Reader().vTableGet(_bp, 1, 0);
998 return _dependency; 483 return _dependency;
999 } 484 }
1000 485
1001 @override 486 @override
1002 int get unit { 487 int get unit {
1003 _unit ??= const fb.Uint32Reader().vTableGet(_bp, 2, 0); 488 _unit ??= const fb.Uint32Reader().vTableGet(_bp, 2, 0);
1004 return _unit; 489 return _unit;
1005 } 490 }
1006 491
1007 @override 492 @override
1008 ReferenceKind get kind { 493 idl.ReferenceKind get kind {
1009 _kind ??= const _ReferenceKindReader().vTableGet(_bp, 3, ReferenceKind.class OrEnum); 494 _kind ??= const _ReferenceKindReader().vTableGet(_bp, 3, idl.ReferenceKind.c lassOrEnum);
1010 return _kind; 495 return _kind;
1011 } 496 }
1012 } 497 }
1013 498
1014 abstract class _LinkedExportNameMixin implements LinkedExportName { 499 abstract class _LinkedExportNameMixin implements idl.LinkedExportName {
1015 @override 500 @override
1016 Map<String, Object> toMap() => { 501 Map<String, Object> toMap() => {
1017 "name": name, 502 "name": name,
1018 "dependency": dependency, 503 "dependency": dependency,
1019 "unit": unit, 504 "unit": unit,
1020 "kind": kind, 505 "kind": kind,
1021 }; 506 };
1022 } 507 }
1023 508
1024 class LinkedLibraryBuilder extends Object with _LinkedLibraryMixin implements Li nkedLibrary { 509 class LinkedLibraryBuilder extends Object with _LinkedLibraryMixin implements id l.LinkedLibrary {
1025 bool _finished = false; 510 bool _finished = false;
1026 511
1027 List<LinkedUnitBuilder> _units; 512 List<LinkedUnitBuilder> _units;
1028 List<LinkedDependencyBuilder> _dependencies; 513 List<LinkedDependencyBuilder> _dependencies;
1029 List<int> _importDependencies; 514 List<int> _importDependencies;
1030 List<LinkedExportNameBuilder> _exportNames; 515 List<LinkedExportNameBuilder> _exportNames;
1031 int _numPrelinkedDependencies; 516 int _numPrelinkedDependencies;
1032 517
1033 @override 518 @override
1034 List<LinkedUnitBuilder> get units => _units ??= <LinkedUnitBuilder>[]; 519 List<LinkedUnitBuilder> get units => _units ??= <LinkedUnitBuilder>[];
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after
1154 if (offset_exportNames != null) { 639 if (offset_exportNames != null) {
1155 fbBuilder.addOffset(3, offset_exportNames); 640 fbBuilder.addOffset(3, offset_exportNames);
1156 } 641 }
1157 if (_numPrelinkedDependencies != null && _numPrelinkedDependencies != 0) { 642 if (_numPrelinkedDependencies != null && _numPrelinkedDependencies != 0) {
1158 fbBuilder.addUint32(4, _numPrelinkedDependencies); 643 fbBuilder.addUint32(4, _numPrelinkedDependencies);
1159 } 644 }
1160 return fbBuilder.endTable(); 645 return fbBuilder.endTable();
1161 } 646 }
1162 } 647 }
1163 648
1164 /** 649 idl.LinkedLibrary readLinkedLibrary(List<int> buffer) {
1165 * Linked summary of a library. 650 fb.BufferPointer rootRef = new fb.BufferPointer.fromBytes(buffer);
1166 */ 651 return const _LinkedLibraryReader().read(rootRef);
1167 abstract class LinkedLibrary extends base.SummaryClass {
1168 factory LinkedLibrary.fromBuffer(List<int> buffer) {
1169 fb.BufferPointer rootRef = new fb.BufferPointer.fromBytes(buffer);
1170 return const _LinkedLibraryReader().read(rootRef);
1171 }
1172
1173 /**
1174 * The linked summary of all the compilation units constituting the
1175 * library. The summary of the defining compilation unit is listed first,
1176 * followed by the summary of each part, in the order of the `part`
1177 * declarations in the defining compilation unit.
1178 */
1179 List<LinkedUnit> get units;
1180
1181 /**
1182 * The libraries that this library depends on (either via an explicit import
1183 * statement or via the implicit dependencies on `dart:core` and
1184 * `dart:async`). The first element of this array is a pseudo-dependency
1185 * representing the library itself (it is also used for `dynamic` and
1186 * `void`). This is followed by elements representing "prelinked"
1187 * dependencies (direct imports and the transitive closure of exports).
1188 * After the prelinked dependencies are elements representing "linked"
1189 * dependencies.
1190 *
1191 * A library is only included as a "linked" dependency if it is a true
1192 * dependency (e.g. a propagated or inferred type or constant value
1193 * implicitly refers to an element declared in the library) or
1194 * anti-dependency (e.g. the result of type propagation or type inference
1195 * depends on the lack of a certain declaration in the library).
1196 */
1197 List<LinkedDependency> get dependencies;
1198
1199 /**
1200 * For each import in [UnlinkedUnit.imports], an index into [dependencies]
1201 * of the library being imported.
1202 */
1203 List<int> get importDependencies;
1204
1205 /**
1206 * Information about entities in the export namespace of the library that are
1207 * not in the public namespace of the library (that is, entities that are
1208 * brought into the namespace via `export` directives).
1209 *
1210 * Sorted by name.
1211 */
1212 List<LinkedExportName> get exportNames;
1213
1214 /**
1215 * The number of elements in [dependencies] which are not "linked"
1216 * dependencies (that is, the number of libraries in the direct imports plus
1217 * the transitive closure of exports, plus the library itself).
1218 */
1219 int get numPrelinkedDependencies;
1220 } 652 }
1221 653
1222 class _LinkedLibraryReader extends fb.TableReader<_LinkedLibraryImpl> { 654 class _LinkedLibraryReader extends fb.TableReader<_LinkedLibraryImpl> {
1223 const _LinkedLibraryReader(); 655 const _LinkedLibraryReader();
1224 656
1225 @override 657 @override
1226 _LinkedLibraryImpl createObject(fb.BufferPointer bp) => new _LinkedLibraryImpl (bp); 658 _LinkedLibraryImpl createObject(fb.BufferPointer bp) => new _LinkedLibraryImpl (bp);
1227 } 659 }
1228 660
1229 class _LinkedLibraryImpl extends Object with _LinkedLibraryMixin implements Link edLibrary { 661 class _LinkedLibraryImpl extends Object with _LinkedLibraryMixin implements idl. LinkedLibrary {
1230 final fb.BufferPointer _bp; 662 final fb.BufferPointer _bp;
1231 663
1232 _LinkedLibraryImpl(this._bp); 664 _LinkedLibraryImpl(this._bp);
1233 665
1234 List<LinkedUnit> _units; 666 List<idl.LinkedUnit> _units;
1235 List<LinkedDependency> _dependencies; 667 List<idl.LinkedDependency> _dependencies;
1236 List<int> _importDependencies; 668 List<int> _importDependencies;
1237 List<LinkedExportName> _exportNames; 669 List<idl.LinkedExportName> _exportNames;
1238 int _numPrelinkedDependencies; 670 int _numPrelinkedDependencies;
1239 671
1240 @override 672 @override
1241 List<LinkedUnit> get units { 673 List<idl.LinkedUnit> get units {
1242 _units ??= const fb.ListReader<LinkedUnit>(const _LinkedUnitReader()).vTable Get(_bp, 0, const <LinkedUnit>[]); 674 _units ??= const fb.ListReader<idl.LinkedUnit>(const _LinkedUnitReader()).vT ableGet(_bp, 0, const <idl.LinkedUnit>[]);
1243 return _units; 675 return _units;
1244 } 676 }
1245 677
1246 @override 678 @override
1247 List<LinkedDependency> get dependencies { 679 List<idl.LinkedDependency> get dependencies {
1248 _dependencies ??= const fb.ListReader<LinkedDependency>(const _LinkedDepende ncyReader()).vTableGet(_bp, 1, const <LinkedDependency>[]); 680 _dependencies ??= const fb.ListReader<idl.LinkedDependency>(const _LinkedDep endencyReader()).vTableGet(_bp, 1, const <idl.LinkedDependency>[]);
1249 return _dependencies; 681 return _dependencies;
1250 } 682 }
1251 683
1252 @override 684 @override
1253 List<int> get importDependencies { 685 List<int> get importDependencies {
1254 _importDependencies ??= const fb.ListReader<int>(const fb.Uint32Reader()).vT ableGet(_bp, 2, const <int>[]); 686 _importDependencies ??= const fb.ListReader<int>(const fb.Uint32Reader()).vT ableGet(_bp, 2, const <int>[]);
1255 return _importDependencies; 687 return _importDependencies;
1256 } 688 }
1257 689
1258 @override 690 @override
1259 List<LinkedExportName> get exportNames { 691 List<idl.LinkedExportName> get exportNames {
1260 _exportNames ??= const fb.ListReader<LinkedExportName>(const _LinkedExportNa meReader()).vTableGet(_bp, 3, const <LinkedExportName>[]); 692 _exportNames ??= const fb.ListReader<idl.LinkedExportName>(const _LinkedExpo rtNameReader()).vTableGet(_bp, 3, const <idl.LinkedExportName>[]);
1261 return _exportNames; 693 return _exportNames;
1262 } 694 }
1263 695
1264 @override 696 @override
1265 int get numPrelinkedDependencies { 697 int get numPrelinkedDependencies {
1266 _numPrelinkedDependencies ??= const fb.Uint32Reader().vTableGet(_bp, 4, 0); 698 _numPrelinkedDependencies ??= const fb.Uint32Reader().vTableGet(_bp, 4, 0);
1267 return _numPrelinkedDependencies; 699 return _numPrelinkedDependencies;
1268 } 700 }
1269 } 701 }
1270 702
1271 abstract class _LinkedLibraryMixin implements LinkedLibrary { 703 abstract class _LinkedLibraryMixin implements idl.LinkedLibrary {
1272 @override 704 @override
1273 Map<String, Object> toMap() => { 705 Map<String, Object> toMap() => {
1274 "units": units, 706 "units": units,
1275 "dependencies": dependencies, 707 "dependencies": dependencies,
1276 "importDependencies": importDependencies, 708 "importDependencies": importDependencies,
1277 "exportNames": exportNames, 709 "exportNames": exportNames,
1278 "numPrelinkedDependencies": numPrelinkedDependencies, 710 "numPrelinkedDependencies": numPrelinkedDependencies,
1279 }; 711 };
1280 } 712 }
1281 713
1282 class LinkedReferenceBuilder extends Object with _LinkedReferenceMixin implement s LinkedReference { 714 class LinkedReferenceBuilder extends Object with _LinkedReferenceMixin implement s idl.LinkedReference {
1283 bool _finished = false; 715 bool _finished = false;
1284 716
1285 int _dependency; 717 int _dependency;
1286 ReferenceKind _kind; 718 idl.ReferenceKind _kind;
1287 int _unit; 719 int _unit;
1288 int _numTypeParameters; 720 int _numTypeParameters;
1289 String _name; 721 String _name;
1290 int _containingReference; 722 int _containingReference;
1291 723
1292 @override 724 @override
1293 int get dependency => _dependency ??= 0; 725 int get dependency => _dependency ??= 0;
1294 726
1295 /** 727 /**
1296 * Index into [LinkedLibrary.dependencies] indicating which imported library 728 * Index into [LinkedLibrary.dependencies] indicating which imported library
1297 * declares the entity being referred to. 729 * declares the entity being referred to.
1298 * 730 *
1299 * Zero if this entity is contained within another entity (e.g. a class 731 * Zero if this entity is contained within another entity (e.g. a class
1300 * member). 732 * member).
1301 */ 733 */
1302 void set dependency(int _value) { 734 void set dependency(int _value) {
1303 assert(!_finished); 735 assert(!_finished);
1304 assert(_value == null || _value >= 0); 736 assert(_value == null || _value >= 0);
1305 _dependency = _value; 737 _dependency = _value;
1306 } 738 }
1307 739
1308 @override 740 @override
1309 ReferenceKind get kind => _kind ??= ReferenceKind.classOrEnum; 741 idl.ReferenceKind get kind => _kind ??= idl.ReferenceKind.classOrEnum;
1310 742
1311 /** 743 /**
1312 * The kind of the entity being referred to. For the pseudo-types `dynamic` 744 * The kind of the entity being referred to. For the pseudo-types `dynamic`
1313 * and `void`, the kind is [ReferenceKind.classOrEnum]. 745 * and `void`, the kind is [ReferenceKind.classOrEnum].
1314 */ 746 */
1315 void set kind(ReferenceKind _value) { 747 void set kind(idl.ReferenceKind _value) {
1316 assert(!_finished); 748 assert(!_finished);
1317 _kind = _value; 749 _kind = _value;
1318 } 750 }
1319 751
1320 @override 752 @override
1321 int get unit => _unit ??= 0; 753 int get unit => _unit ??= 0;
1322 754
1323 /** 755 /**
1324 * Integer index indicating which unit in the imported library contains the 756 * Integer index indicating which unit in the imported library contains the
1325 * definition of the entity. As with indices into [LinkedLibrary.units], 757 * definition of the entity. As with indices into [LinkedLibrary.units],
(...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after
1374 * Containing references must always point backward; that is, for all i, if 806 * Containing references must always point backward; that is, for all i, if
1375 * LinkedUnit.references[i].containingReference != 0, then 807 * LinkedUnit.references[i].containingReference != 0, then
1376 * LinkedUnit.references[i].containingReference < i. 808 * LinkedUnit.references[i].containingReference < i.
1377 */ 809 */
1378 void set containingReference(int _value) { 810 void set containingReference(int _value) {
1379 assert(!_finished); 811 assert(!_finished);
1380 assert(_value == null || _value >= 0); 812 assert(_value == null || _value >= 0);
1381 _containingReference = _value; 813 _containingReference = _value;
1382 } 814 }
1383 815
1384 LinkedReferenceBuilder({int dependency, ReferenceKind kind, int unit, int numT ypeParameters, String name, int containingReference}) 816 LinkedReferenceBuilder({int dependency, idl.ReferenceKind kind, int unit, int numTypeParameters, String name, int containingReference})
1385 : _dependency = dependency, 817 : _dependency = dependency,
1386 _kind = kind, 818 _kind = kind,
1387 _unit = unit, 819 _unit = unit,
1388 _numTypeParameters = numTypeParameters, 820 _numTypeParameters = numTypeParameters,
1389 _name = name, 821 _name = name,
1390 _containingReference = containingReference; 822 _containingReference = containingReference;
1391 823
1392 fb.Offset finish(fb.Builder fbBuilder) { 824 fb.Offset finish(fb.Builder fbBuilder) {
1393 assert(!_finished); 825 assert(!_finished);
1394 _finished = true; 826 _finished = true;
1395 fb.Offset offset_name; 827 fb.Offset offset_name;
1396 if (_name != null) { 828 if (_name != null) {
1397 offset_name = fbBuilder.writeString(_name); 829 offset_name = fbBuilder.writeString(_name);
1398 } 830 }
1399 fbBuilder.startTable(); 831 fbBuilder.startTable();
1400 if (_dependency != null && _dependency != 0) { 832 if (_dependency != null && _dependency != 0) {
1401 fbBuilder.addUint32(0, _dependency); 833 fbBuilder.addUint32(0, _dependency);
1402 } 834 }
1403 if (_kind != null && _kind != ReferenceKind.classOrEnum) { 835 if (_kind != null && _kind != idl.ReferenceKind.classOrEnum) {
1404 fbBuilder.addUint32(1, _kind.index); 836 fbBuilder.addUint32(1, _kind.index);
1405 } 837 }
1406 if (_unit != null && _unit != 0) { 838 if (_unit != null && _unit != 0) {
1407 fbBuilder.addUint32(2, _unit); 839 fbBuilder.addUint32(2, _unit);
1408 } 840 }
1409 if (_numTypeParameters != null && _numTypeParameters != 0) { 841 if (_numTypeParameters != null && _numTypeParameters != 0) {
1410 fbBuilder.addUint32(3, _numTypeParameters); 842 fbBuilder.addUint32(3, _numTypeParameters);
1411 } 843 }
1412 if (offset_name != null) { 844 if (offset_name != null) {
1413 fbBuilder.addOffset(4, offset_name); 845 fbBuilder.addOffset(4, offset_name);
1414 } 846 }
1415 if (_containingReference != null && _containingReference != 0) { 847 if (_containingReference != null && _containingReference != 0) {
1416 fbBuilder.addUint32(5, _containingReference); 848 fbBuilder.addUint32(5, _containingReference);
1417 } 849 }
1418 return fbBuilder.endTable(); 850 return fbBuilder.endTable();
1419 } 851 }
1420 } 852 }
1421 853
1422 /**
1423 * Information about the resolution of an [UnlinkedReference].
1424 */
1425 abstract class LinkedReference extends base.SummaryClass {
1426
1427 /**
1428 * Index into [LinkedLibrary.dependencies] indicating which imported library
1429 * declares the entity being referred to.
1430 *
1431 * Zero if this entity is contained within another entity (e.g. a class
1432 * member).
1433 */
1434 int get dependency;
1435
1436 /**
1437 * The kind of the entity being referred to. For the pseudo-types `dynamic`
1438 * and `void`, the kind is [ReferenceKind.classOrEnum].
1439 */
1440 ReferenceKind get kind;
1441
1442 /**
1443 * Integer index indicating which unit in the imported library contains the
1444 * definition of the entity. As with indices into [LinkedLibrary.units],
1445 * zero represents the defining compilation unit, and nonzero values
1446 * represent parts in the order of the corresponding `part` declarations.
1447 *
1448 * Zero if this entity is contained within another entity (e.g. a class
1449 * member).
1450 */
1451 int get unit;
1452
1453 /**
1454 * If the entity being referred to is generic, the number of type parameters
1455 * it accepts. Otherwise zero.
1456 */
1457 int get numTypeParameters;
1458
1459 /**
1460 * If this [LinkedReference] doesn't have an associated [UnlinkedReference],
1461 * name of the entity being referred to. For the pseudo-type `dynamic`, the
1462 * string is "dynamic". For the pseudo-type `void`, the string is "void".
1463 */
1464 String get name;
1465
1466 /**
1467 * If this [LinkedReference] doesn't have an associated [UnlinkedReference],
1468 * and the entity being referred to is contained within another entity, index
1469 * of the containing entity. This behaves similarly to
1470 * [UnlinkedReference.prefixReference], however it is only used for class
1471 * members, not for prefixed imports.
1472 *
1473 * Containing references must always point backward; that is, for all i, if
1474 * LinkedUnit.references[i].containingReference != 0, then
1475 * LinkedUnit.references[i].containingReference < i.
1476 */
1477 int get containingReference;
1478 }
1479
1480 class _LinkedReferenceReader extends fb.TableReader<_LinkedReferenceImpl> { 854 class _LinkedReferenceReader extends fb.TableReader<_LinkedReferenceImpl> {
1481 const _LinkedReferenceReader(); 855 const _LinkedReferenceReader();
1482 856
1483 @override 857 @override
1484 _LinkedReferenceImpl createObject(fb.BufferPointer bp) => new _LinkedReference Impl(bp); 858 _LinkedReferenceImpl createObject(fb.BufferPointer bp) => new _LinkedReference Impl(bp);
1485 } 859 }
1486 860
1487 class _LinkedReferenceImpl extends Object with _LinkedReferenceMixin implements LinkedReference { 861 class _LinkedReferenceImpl extends Object with _LinkedReferenceMixin implements idl.LinkedReference {
1488 final fb.BufferPointer _bp; 862 final fb.BufferPointer _bp;
1489 863
1490 _LinkedReferenceImpl(this._bp); 864 _LinkedReferenceImpl(this._bp);
1491 865
1492 int _dependency; 866 int _dependency;
1493 ReferenceKind _kind; 867 idl.ReferenceKind _kind;
1494 int _unit; 868 int _unit;
1495 int _numTypeParameters; 869 int _numTypeParameters;
1496 String _name; 870 String _name;
1497 int _containingReference; 871 int _containingReference;
1498 872
1499 @override 873 @override
1500 int get dependency { 874 int get dependency {
1501 _dependency ??= const fb.Uint32Reader().vTableGet(_bp, 0, 0); 875 _dependency ??= const fb.Uint32Reader().vTableGet(_bp, 0, 0);
1502 return _dependency; 876 return _dependency;
1503 } 877 }
1504 878
1505 @override 879 @override
1506 ReferenceKind get kind { 880 idl.ReferenceKind get kind {
1507 _kind ??= const _ReferenceKindReader().vTableGet(_bp, 1, ReferenceKind.class OrEnum); 881 _kind ??= const _ReferenceKindReader().vTableGet(_bp, 1, idl.ReferenceKind.c lassOrEnum);
1508 return _kind; 882 return _kind;
1509 } 883 }
1510 884
1511 @override 885 @override
1512 int get unit { 886 int get unit {
1513 _unit ??= const fb.Uint32Reader().vTableGet(_bp, 2, 0); 887 _unit ??= const fb.Uint32Reader().vTableGet(_bp, 2, 0);
1514 return _unit; 888 return _unit;
1515 } 889 }
1516 890
1517 @override 891 @override
1518 int get numTypeParameters { 892 int get numTypeParameters {
1519 _numTypeParameters ??= const fb.Uint32Reader().vTableGet(_bp, 3, 0); 893 _numTypeParameters ??= const fb.Uint32Reader().vTableGet(_bp, 3, 0);
1520 return _numTypeParameters; 894 return _numTypeParameters;
1521 } 895 }
1522 896
1523 @override 897 @override
1524 String get name { 898 String get name {
1525 _name ??= const fb.StringReader().vTableGet(_bp, 4, ''); 899 _name ??= const fb.StringReader().vTableGet(_bp, 4, '');
1526 return _name; 900 return _name;
1527 } 901 }
1528 902
1529 @override 903 @override
1530 int get containingReference { 904 int get containingReference {
1531 _containingReference ??= const fb.Uint32Reader().vTableGet(_bp, 5, 0); 905 _containingReference ??= const fb.Uint32Reader().vTableGet(_bp, 5, 0);
1532 return _containingReference; 906 return _containingReference;
1533 } 907 }
1534 } 908 }
1535 909
1536 abstract class _LinkedReferenceMixin implements LinkedReference { 910 abstract class _LinkedReferenceMixin implements idl.LinkedReference {
1537 @override 911 @override
1538 Map<String, Object> toMap() => { 912 Map<String, Object> toMap() => {
1539 "dependency": dependency, 913 "dependency": dependency,
1540 "kind": kind, 914 "kind": kind,
1541 "unit": unit, 915 "unit": unit,
1542 "numTypeParameters": numTypeParameters, 916 "numTypeParameters": numTypeParameters,
1543 "name": name, 917 "name": name,
1544 "containingReference": containingReference, 918 "containingReference": containingReference,
1545 }; 919 };
1546 } 920 }
1547 921
1548 class LinkedUnitBuilder extends Object with _LinkedUnitMixin implements LinkedUn it { 922 class LinkedUnitBuilder extends Object with _LinkedUnitMixin implements idl.Link edUnit {
1549 bool _finished = false; 923 bool _finished = false;
1550 924
1551 List<LinkedReferenceBuilder> _references; 925 List<LinkedReferenceBuilder> _references;
1552 List<EntityRefBuilder> _types; 926 List<EntityRefBuilder> _types;
1553 927
1554 @override 928 @override
1555 List<LinkedReferenceBuilder> get references => _references ??= <LinkedReferenc eBuilder>[]; 929 List<LinkedReferenceBuilder> get references => _references ??= <LinkedReferenc eBuilder>[];
1556 930
1557 /** 931 /**
1558 * Information about the resolution of references within the compilation 932 * Information about the resolution of references within the compilation
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after
1598 if (offset_references != null) { 972 if (offset_references != null) {
1599 fbBuilder.addOffset(0, offset_references); 973 fbBuilder.addOffset(0, offset_references);
1600 } 974 }
1601 if (offset_types != null) { 975 if (offset_types != null) {
1602 fbBuilder.addOffset(1, offset_types); 976 fbBuilder.addOffset(1, offset_types);
1603 } 977 }
1604 return fbBuilder.endTable(); 978 return fbBuilder.endTable();
1605 } 979 }
1606 } 980 }
1607 981
1608 /**
1609 * Linked summary of a compilation unit.
1610 */
1611 abstract class LinkedUnit extends base.SummaryClass {
1612
1613 /**
1614 * Information about the resolution of references within the compilation
1615 * unit. Each element of [UnlinkedUnit.references] has a corresponding
1616 * element in this list (at the same index). If this list has additional
1617 * elements beyond the number of elements in [UnlinkedUnit.references], those
1618 * additional elements are references that are only referred to implicitly
1619 * (e.g. elements involved in inferred or propagated types).
1620 */
1621 List<LinkedReference> get references;
1622
1623 /**
1624 * List associating slot ids found inside the unlinked summary for the
1625 * compilation unit with propagated and inferred types.
1626 */
1627 List<EntityRef> get types;
1628 }
1629
1630 class _LinkedUnitReader extends fb.TableReader<_LinkedUnitImpl> { 982 class _LinkedUnitReader extends fb.TableReader<_LinkedUnitImpl> {
1631 const _LinkedUnitReader(); 983 const _LinkedUnitReader();
1632 984
1633 @override 985 @override
1634 _LinkedUnitImpl createObject(fb.BufferPointer bp) => new _LinkedUnitImpl(bp); 986 _LinkedUnitImpl createObject(fb.BufferPointer bp) => new _LinkedUnitImpl(bp);
1635 } 987 }
1636 988
1637 class _LinkedUnitImpl extends Object with _LinkedUnitMixin implements LinkedUnit { 989 class _LinkedUnitImpl extends Object with _LinkedUnitMixin implements idl.Linked Unit {
1638 final fb.BufferPointer _bp; 990 final fb.BufferPointer _bp;
1639 991
1640 _LinkedUnitImpl(this._bp); 992 _LinkedUnitImpl(this._bp);
1641 993
1642 List<LinkedReference> _references; 994 List<idl.LinkedReference> _references;
1643 List<EntityRef> _types; 995 List<idl.EntityRef> _types;
1644 996
1645 @override 997 @override
1646 List<LinkedReference> get references { 998 List<idl.LinkedReference> get references {
1647 _references ??= const fb.ListReader<LinkedReference>(const _LinkedReferenceR eader()).vTableGet(_bp, 0, const <LinkedReference>[]); 999 _references ??= const fb.ListReader<idl.LinkedReference>(const _LinkedRefere nceReader()).vTableGet(_bp, 0, const <idl.LinkedReference>[]);
1648 return _references; 1000 return _references;
1649 } 1001 }
1650 1002
1651 @override 1003 @override
1652 List<EntityRef> get types { 1004 List<idl.EntityRef> get types {
1653 _types ??= const fb.ListReader<EntityRef>(const _EntityRefReader()).vTableGe t(_bp, 1, const <EntityRef>[]); 1005 _types ??= const fb.ListReader<idl.EntityRef>(const _EntityRefReader()).vTab leGet(_bp, 1, const <idl.EntityRef>[]);
1654 return _types; 1006 return _types;
1655 } 1007 }
1656 } 1008 }
1657 1009
1658 abstract class _LinkedUnitMixin implements LinkedUnit { 1010 abstract class _LinkedUnitMixin implements idl.LinkedUnit {
1659 @override 1011 @override
1660 Map<String, Object> toMap() => { 1012 Map<String, Object> toMap() => {
1661 "references": references, 1013 "references": references,
1662 "types": types, 1014 "types": types,
1663 }; 1015 };
1664 } 1016 }
1665 1017
1666 class SdkBundleBuilder extends Object with _SdkBundleMixin implements SdkBundle { 1018 class SdkBundleBuilder extends Object with _SdkBundleMixin implements idl.SdkBun dle {
1667 bool _finished = false; 1019 bool _finished = false;
1668 1020
1669 List<String> _linkedLibraryUris; 1021 List<String> _linkedLibraryUris;
1670 List<LinkedLibraryBuilder> _linkedLibraries; 1022 List<LinkedLibraryBuilder> _linkedLibraries;
1671 List<String> _unlinkedUnitUris; 1023 List<String> _unlinkedUnitUris;
1672 List<UnlinkedUnitBuilder> _unlinkedUnits; 1024 List<UnlinkedUnitBuilder> _unlinkedUnits;
1673 1025
1674 @override 1026 @override
1675 List<String> get linkedLibraryUris => _linkedLibraryUris ??= <String>[]; 1027 List<String> get linkedLibraryUris => _linkedLibraryUris ??= <String>[];
1676 1028
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
1755 if (offset_unlinkedUnitUris != null) { 1107 if (offset_unlinkedUnitUris != null) {
1756 fbBuilder.addOffset(2, offset_unlinkedUnitUris); 1108 fbBuilder.addOffset(2, offset_unlinkedUnitUris);
1757 } 1109 }
1758 if (offset_unlinkedUnits != null) { 1110 if (offset_unlinkedUnits != null) {
1759 fbBuilder.addOffset(3, offset_unlinkedUnits); 1111 fbBuilder.addOffset(3, offset_unlinkedUnits);
1760 } 1112 }
1761 return fbBuilder.endTable(); 1113 return fbBuilder.endTable();
1762 } 1114 }
1763 } 1115 }
1764 1116
1765 /** 1117 idl.SdkBundle readSdkBundle(List<int> buffer) {
1766 * Information about SDK. 1118 fb.BufferPointer rootRef = new fb.BufferPointer.fromBytes(buffer);
1767 */ 1119 return const _SdkBundleReader().read(rootRef);
1768 abstract class SdkBundle extends base.SummaryClass {
1769 factory SdkBundle.fromBuffer(List<int> buffer) {
1770 fb.BufferPointer rootRef = new fb.BufferPointer.fromBytes(buffer);
1771 return const _SdkBundleReader().read(rootRef);
1772 }
1773
1774 /**
1775 * The list of URIs of items in [linkedLibraries], e.g. `dart:core`.
1776 */
1777 List<String> get linkedLibraryUris;
1778
1779 /**
1780 * Linked libraries.
1781 */
1782 List<LinkedLibrary> get linkedLibraries;
1783
1784 /**
1785 * The list of URIs of items in [unlinkedUnits], e.g. `dart:core/bool.dart`.
1786 */
1787 List<String> get unlinkedUnitUris;
1788
1789 /**
1790 * Unlinked information for the compilation units constituting the SDK.
1791 */
1792 List<UnlinkedUnit> get unlinkedUnits;
1793 } 1120 }
1794 1121
1795 class _SdkBundleReader extends fb.TableReader<_SdkBundleImpl> { 1122 class _SdkBundleReader extends fb.TableReader<_SdkBundleImpl> {
1796 const _SdkBundleReader(); 1123 const _SdkBundleReader();
1797 1124
1798 @override 1125 @override
1799 _SdkBundleImpl createObject(fb.BufferPointer bp) => new _SdkBundleImpl(bp); 1126 _SdkBundleImpl createObject(fb.BufferPointer bp) => new _SdkBundleImpl(bp);
1800 } 1127 }
1801 1128
1802 class _SdkBundleImpl extends Object with _SdkBundleMixin implements SdkBundle { 1129 class _SdkBundleImpl extends Object with _SdkBundleMixin implements idl.SdkBundl e {
1803 final fb.BufferPointer _bp; 1130 final fb.BufferPointer _bp;
1804 1131
1805 _SdkBundleImpl(this._bp); 1132 _SdkBundleImpl(this._bp);
1806 1133
1807 List<String> _linkedLibraryUris; 1134 List<String> _linkedLibraryUris;
1808 List<LinkedLibrary> _linkedLibraries; 1135 List<idl.LinkedLibrary> _linkedLibraries;
1809 List<String> _unlinkedUnitUris; 1136 List<String> _unlinkedUnitUris;
1810 List<UnlinkedUnit> _unlinkedUnits; 1137 List<idl.UnlinkedUnit> _unlinkedUnits;
1811 1138
1812 @override 1139 @override
1813 List<String> get linkedLibraryUris { 1140 List<String> get linkedLibraryUris {
1814 _linkedLibraryUris ??= const fb.ListReader<String>(const fb.StringReader()). vTableGet(_bp, 0, const <String>[]); 1141 _linkedLibraryUris ??= const fb.ListReader<String>(const fb.StringReader()). vTableGet(_bp, 0, const <String>[]);
1815 return _linkedLibraryUris; 1142 return _linkedLibraryUris;
1816 } 1143 }
1817 1144
1818 @override 1145 @override
1819 List<LinkedLibrary> get linkedLibraries { 1146 List<idl.LinkedLibrary> get linkedLibraries {
1820 _linkedLibraries ??= const fb.ListReader<LinkedLibrary>(const _LinkedLibrary Reader()).vTableGet(_bp, 1, const <LinkedLibrary>[]); 1147 _linkedLibraries ??= const fb.ListReader<idl.LinkedLibrary>(const _LinkedLib raryReader()).vTableGet(_bp, 1, const <idl.LinkedLibrary>[]);
1821 return _linkedLibraries; 1148 return _linkedLibraries;
1822 } 1149 }
1823 1150
1824 @override 1151 @override
1825 List<String> get unlinkedUnitUris { 1152 List<String> get unlinkedUnitUris {
1826 _unlinkedUnitUris ??= const fb.ListReader<String>(const fb.StringReader()).v TableGet(_bp, 2, const <String>[]); 1153 _unlinkedUnitUris ??= const fb.ListReader<String>(const fb.StringReader()).v TableGet(_bp, 2, const <String>[]);
1827 return _unlinkedUnitUris; 1154 return _unlinkedUnitUris;
1828 } 1155 }
1829 1156
1830 @override 1157 @override
1831 List<UnlinkedUnit> get unlinkedUnits { 1158 List<idl.UnlinkedUnit> get unlinkedUnits {
1832 _unlinkedUnits ??= const fb.ListReader<UnlinkedUnit>(const _UnlinkedUnitRead er()).vTableGet(_bp, 3, const <UnlinkedUnit>[]); 1159 _unlinkedUnits ??= const fb.ListReader<idl.UnlinkedUnit>(const _UnlinkedUnit Reader()).vTableGet(_bp, 3, const <idl.UnlinkedUnit>[]);
1833 return _unlinkedUnits; 1160 return _unlinkedUnits;
1834 } 1161 }
1835 } 1162 }
1836 1163
1837 abstract class _SdkBundleMixin implements SdkBundle { 1164 abstract class _SdkBundleMixin implements idl.SdkBundle {
1838 @override 1165 @override
1839 Map<String, Object> toMap() => { 1166 Map<String, Object> toMap() => {
1840 "linkedLibraryUris": linkedLibraryUris, 1167 "linkedLibraryUris": linkedLibraryUris,
1841 "linkedLibraries": linkedLibraries, 1168 "linkedLibraries": linkedLibraries,
1842 "unlinkedUnitUris": unlinkedUnitUris, 1169 "unlinkedUnitUris": unlinkedUnitUris,
1843 "unlinkedUnits": unlinkedUnits, 1170 "unlinkedUnits": unlinkedUnits,
1844 }; 1171 };
1845 } 1172 }
1846 1173
1847 class UnlinkedClassBuilder extends Object with _UnlinkedClassMixin implements Un linkedClass { 1174 class UnlinkedClassBuilder extends Object with _UnlinkedClassMixin implements id l.UnlinkedClass {
1848 bool _finished = false; 1175 bool _finished = false;
1849 1176
1850 String _name; 1177 String _name;
1851 int _nameOffset; 1178 int _nameOffset;
1852 UnlinkedDocumentationCommentBuilder _documentationComment; 1179 UnlinkedDocumentationCommentBuilder _documentationComment;
1853 List<UnlinkedTypeParamBuilder> _typeParameters; 1180 List<UnlinkedTypeParamBuilder> _typeParameters;
1854 EntityRefBuilder _supertype; 1181 EntityRefBuilder _supertype;
1855 List<EntityRefBuilder> _mixins; 1182 List<EntityRefBuilder> _mixins;
1856 List<EntityRefBuilder> _interfaces; 1183 List<EntityRefBuilder> _interfaces;
1857 List<UnlinkedVariableBuilder> _fields; 1184 List<UnlinkedVariableBuilder> _fields;
(...skipping 222 matching lines...) Expand 10 before | Expand all | Expand 10 after
2080 if (_isMixinApplication == true) { 1407 if (_isMixinApplication == true) {
2081 fbBuilder.addBool(10, true); 1408 fbBuilder.addBool(10, true);
2082 } 1409 }
2083 if (_hasNoSupertype == true) { 1410 if (_hasNoSupertype == true) {
2084 fbBuilder.addBool(11, true); 1411 fbBuilder.addBool(11, true);
2085 } 1412 }
2086 return fbBuilder.endTable(); 1413 return fbBuilder.endTable();
2087 } 1414 }
2088 } 1415 }
2089 1416
2090 /**
2091 * Unlinked summary information about a class declaration.
2092 */
2093 abstract class UnlinkedClass extends base.SummaryClass {
2094
2095 /**
2096 * Name of the class.
2097 */
2098 String get name;
2099
2100 /**
2101 * Offset of the class name relative to the beginning of the file.
2102 */
2103 int get nameOffset;
2104
2105 /**
2106 * Documentation comment for the class, or `null` if there is no
2107 * documentation comment.
2108 */
2109 UnlinkedDocumentationComment get documentationComment;
2110
2111 /**
2112 * Type parameters of the class, if any.
2113 */
2114 List<UnlinkedTypeParam> get typeParameters;
2115
2116 /**
2117 * Supertype of the class, or `null` if either (a) the class doesn't
2118 * explicitly declare a supertype (and hence has supertype `Object`), or (b)
2119 * the class *is* `Object` (and hence has no supertype).
2120 */
2121 EntityRef get supertype;
2122
2123 /**
2124 * Mixins appearing in a `with` clause, if any.
2125 */
2126 List<EntityRef> get mixins;
2127
2128 /**
2129 * Interfaces appearing in an `implements` clause, if any.
2130 */
2131 List<EntityRef> get interfaces;
2132
2133 /**
2134 * Field declarations contained in the class.
2135 */
2136 List<UnlinkedVariable> get fields;
2137
2138 /**
2139 * Executable objects (methods, getters, and setters) contained in the class.
2140 */
2141 List<UnlinkedExecutable> get executables;
2142
2143 /**
2144 * Indicates whether the class is declared with the `abstract` keyword.
2145 */
2146 bool get isAbstract;
2147
2148 /**
2149 * Indicates whether the class is declared using mixin application syntax.
2150 */
2151 bool get isMixinApplication;
2152
2153 /**
2154 * Indicates whether this class is the core "Object" class (and hence has no
2155 * supertype)
2156 */
2157 bool get hasNoSupertype;
2158 }
2159
2160 class _UnlinkedClassReader extends fb.TableReader<_UnlinkedClassImpl> { 1417 class _UnlinkedClassReader extends fb.TableReader<_UnlinkedClassImpl> {
2161 const _UnlinkedClassReader(); 1418 const _UnlinkedClassReader();
2162 1419
2163 @override 1420 @override
2164 _UnlinkedClassImpl createObject(fb.BufferPointer bp) => new _UnlinkedClassImpl (bp); 1421 _UnlinkedClassImpl createObject(fb.BufferPointer bp) => new _UnlinkedClassImpl (bp);
2165 } 1422 }
2166 1423
2167 class _UnlinkedClassImpl extends Object with _UnlinkedClassMixin implements Unli nkedClass { 1424 class _UnlinkedClassImpl extends Object with _UnlinkedClassMixin implements idl. UnlinkedClass {
2168 final fb.BufferPointer _bp; 1425 final fb.BufferPointer _bp;
2169 1426
2170 _UnlinkedClassImpl(this._bp); 1427 _UnlinkedClassImpl(this._bp);
2171 1428
2172 String _name; 1429 String _name;
2173 int _nameOffset; 1430 int _nameOffset;
2174 UnlinkedDocumentationComment _documentationComment; 1431 idl.UnlinkedDocumentationComment _documentationComment;
2175 List<UnlinkedTypeParam> _typeParameters; 1432 List<idl.UnlinkedTypeParam> _typeParameters;
2176 EntityRef _supertype; 1433 idl.EntityRef _supertype;
2177 List<EntityRef> _mixins; 1434 List<idl.EntityRef> _mixins;
2178 List<EntityRef> _interfaces; 1435 List<idl.EntityRef> _interfaces;
2179 List<UnlinkedVariable> _fields; 1436 List<idl.UnlinkedVariable> _fields;
2180 List<UnlinkedExecutable> _executables; 1437 List<idl.UnlinkedExecutable> _executables;
2181 bool _isAbstract; 1438 bool _isAbstract;
2182 bool _isMixinApplication; 1439 bool _isMixinApplication;
2183 bool _hasNoSupertype; 1440 bool _hasNoSupertype;
2184 1441
2185 @override 1442 @override
2186 String get name { 1443 String get name {
2187 _name ??= const fb.StringReader().vTableGet(_bp, 0, ''); 1444 _name ??= const fb.StringReader().vTableGet(_bp, 0, '');
2188 return _name; 1445 return _name;
2189 } 1446 }
2190 1447
2191 @override 1448 @override
2192 int get nameOffset { 1449 int get nameOffset {
2193 _nameOffset ??= const fb.Uint32Reader().vTableGet(_bp, 1, 0); 1450 _nameOffset ??= const fb.Uint32Reader().vTableGet(_bp, 1, 0);
2194 return _nameOffset; 1451 return _nameOffset;
2195 } 1452 }
2196 1453
2197 @override 1454 @override
2198 UnlinkedDocumentationComment get documentationComment { 1455 idl.UnlinkedDocumentationComment get documentationComment {
2199 _documentationComment ??= const _UnlinkedDocumentationCommentReader().vTable Get(_bp, 2, null); 1456 _documentationComment ??= const _UnlinkedDocumentationCommentReader().vTable Get(_bp, 2, null);
2200 return _documentationComment; 1457 return _documentationComment;
2201 } 1458 }
2202 1459
2203 @override 1460 @override
2204 List<UnlinkedTypeParam> get typeParameters { 1461 List<idl.UnlinkedTypeParam> get typeParameters {
2205 _typeParameters ??= const fb.ListReader<UnlinkedTypeParam>(const _UnlinkedTy peParamReader()).vTableGet(_bp, 3, const <UnlinkedTypeParam>[]); 1462 _typeParameters ??= const fb.ListReader<idl.UnlinkedTypeParam>(const _Unlink edTypeParamReader()).vTableGet(_bp, 3, const <idl.UnlinkedTypeParam>[]);
2206 return _typeParameters; 1463 return _typeParameters;
2207 } 1464 }
2208 1465
2209 @override 1466 @override
2210 EntityRef get supertype { 1467 idl.EntityRef get supertype {
2211 _supertype ??= const _EntityRefReader().vTableGet(_bp, 4, null); 1468 _supertype ??= const _EntityRefReader().vTableGet(_bp, 4, null);
2212 return _supertype; 1469 return _supertype;
2213 } 1470 }
2214 1471
2215 @override 1472 @override
2216 List<EntityRef> get mixins { 1473 List<idl.EntityRef> get mixins {
2217 _mixins ??= const fb.ListReader<EntityRef>(const _EntityRefReader()).vTableG et(_bp, 5, const <EntityRef>[]); 1474 _mixins ??= const fb.ListReader<idl.EntityRef>(const _EntityRefReader()).vTa bleGet(_bp, 5, const <idl.EntityRef>[]);
2218 return _mixins; 1475 return _mixins;
2219 } 1476 }
2220 1477
2221 @override 1478 @override
2222 List<EntityRef> get interfaces { 1479 List<idl.EntityRef> get interfaces {
2223 _interfaces ??= const fb.ListReader<EntityRef>(const _EntityRefReader()).vTa bleGet(_bp, 6, const <EntityRef>[]); 1480 _interfaces ??= const fb.ListReader<idl.EntityRef>(const _EntityRefReader()) .vTableGet(_bp, 6, const <idl.EntityRef>[]);
2224 return _interfaces; 1481 return _interfaces;
2225 } 1482 }
2226 1483
2227 @override 1484 @override
2228 List<UnlinkedVariable> get fields { 1485 List<idl.UnlinkedVariable> get fields {
2229 _fields ??= const fb.ListReader<UnlinkedVariable>(const _UnlinkedVariableRea der()).vTableGet(_bp, 7, const <UnlinkedVariable>[]); 1486 _fields ??= const fb.ListReader<idl.UnlinkedVariable>(const _UnlinkedVariabl eReader()).vTableGet(_bp, 7, const <idl.UnlinkedVariable>[]);
2230 return _fields; 1487 return _fields;
2231 } 1488 }
2232 1489
2233 @override 1490 @override
2234 List<UnlinkedExecutable> get executables { 1491 List<idl.UnlinkedExecutable> get executables {
2235 _executables ??= const fb.ListReader<UnlinkedExecutable>(const _UnlinkedExec utableReader()).vTableGet(_bp, 8, const <UnlinkedExecutable>[]); 1492 _executables ??= const fb.ListReader<idl.UnlinkedExecutable>(const _Unlinked ExecutableReader()).vTableGet(_bp, 8, const <idl.UnlinkedExecutable>[]);
2236 return _executables; 1493 return _executables;
2237 } 1494 }
2238 1495
2239 @override 1496 @override
2240 bool get isAbstract { 1497 bool get isAbstract {
2241 _isAbstract ??= const fb.BoolReader().vTableGet(_bp, 9, false); 1498 _isAbstract ??= const fb.BoolReader().vTableGet(_bp, 9, false);
2242 return _isAbstract; 1499 return _isAbstract;
2243 } 1500 }
2244 1501
2245 @override 1502 @override
2246 bool get isMixinApplication { 1503 bool get isMixinApplication {
2247 _isMixinApplication ??= const fb.BoolReader().vTableGet(_bp, 10, false); 1504 _isMixinApplication ??= const fb.BoolReader().vTableGet(_bp, 10, false);
2248 return _isMixinApplication; 1505 return _isMixinApplication;
2249 } 1506 }
2250 1507
2251 @override 1508 @override
2252 bool get hasNoSupertype { 1509 bool get hasNoSupertype {
2253 _hasNoSupertype ??= const fb.BoolReader().vTableGet(_bp, 11, false); 1510 _hasNoSupertype ??= const fb.BoolReader().vTableGet(_bp, 11, false);
2254 return _hasNoSupertype; 1511 return _hasNoSupertype;
2255 } 1512 }
2256 } 1513 }
2257 1514
2258 abstract class _UnlinkedClassMixin implements UnlinkedClass { 1515 abstract class _UnlinkedClassMixin implements idl.UnlinkedClass {
2259 @override 1516 @override
2260 Map<String, Object> toMap() => { 1517 Map<String, Object> toMap() => {
2261 "name": name, 1518 "name": name,
2262 "nameOffset": nameOffset, 1519 "nameOffset": nameOffset,
2263 "documentationComment": documentationComment, 1520 "documentationComment": documentationComment,
2264 "typeParameters": typeParameters, 1521 "typeParameters": typeParameters,
2265 "supertype": supertype, 1522 "supertype": supertype,
2266 "mixins": mixins, 1523 "mixins": mixins,
2267 "interfaces": interfaces, 1524 "interfaces": interfaces,
2268 "fields": fields, 1525 "fields": fields,
2269 "executables": executables, 1526 "executables": executables,
2270 "isAbstract": isAbstract, 1527 "isAbstract": isAbstract,
2271 "isMixinApplication": isMixinApplication, 1528 "isMixinApplication": isMixinApplication,
2272 "hasNoSupertype": hasNoSupertype, 1529 "hasNoSupertype": hasNoSupertype,
2273 }; 1530 };
2274 } 1531 }
2275 1532
2276 class UnlinkedCombinatorBuilder extends Object with _UnlinkedCombinatorMixin imp lements UnlinkedCombinator { 1533 class UnlinkedCombinatorBuilder extends Object with _UnlinkedCombinatorMixin imp lements idl.UnlinkedCombinator {
2277 bool _finished = false; 1534 bool _finished = false;
2278 1535
2279 List<String> _shows; 1536 List<String> _shows;
2280 List<String> _hides; 1537 List<String> _hides;
2281 1538
2282 @override 1539 @override
2283 List<String> get shows => _shows ??= <String>[]; 1540 List<String> get shows => _shows ??= <String>[];
2284 1541
2285 /** 1542 /**
2286 * List of names which are shown. Empty if this is a `hide` combinator. 1543 * List of names which are shown. Empty if this is a `hide` combinator.
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
2320 if (offset_shows != null) { 1577 if (offset_shows != null) {
2321 fbBuilder.addOffset(0, offset_shows); 1578 fbBuilder.addOffset(0, offset_shows);
2322 } 1579 }
2323 if (offset_hides != null) { 1580 if (offset_hides != null) {
2324 fbBuilder.addOffset(1, offset_hides); 1581 fbBuilder.addOffset(1, offset_hides);
2325 } 1582 }
2326 return fbBuilder.endTable(); 1583 return fbBuilder.endTable();
2327 } 1584 }
2328 } 1585 }
2329 1586
2330 /**
2331 * Unlinked summary information about a `show` or `hide` combinator in an
2332 * import or export declaration.
2333 */
2334 abstract class UnlinkedCombinator extends base.SummaryClass {
2335
2336 /**
2337 * List of names which are shown. Empty if this is a `hide` combinator.
2338 */
2339 List<String> get shows;
2340
2341 /**
2342 * List of names which are hidden. Empty if this is a `show` combinator.
2343 */
2344 List<String> get hides;
2345 }
2346
2347 class _UnlinkedCombinatorReader extends fb.TableReader<_UnlinkedCombinatorImpl> { 1587 class _UnlinkedCombinatorReader extends fb.TableReader<_UnlinkedCombinatorImpl> {
2348 const _UnlinkedCombinatorReader(); 1588 const _UnlinkedCombinatorReader();
2349 1589
2350 @override 1590 @override
2351 _UnlinkedCombinatorImpl createObject(fb.BufferPointer bp) => new _UnlinkedComb inatorImpl(bp); 1591 _UnlinkedCombinatorImpl createObject(fb.BufferPointer bp) => new _UnlinkedComb inatorImpl(bp);
2352 } 1592 }
2353 1593
2354 class _UnlinkedCombinatorImpl extends Object with _UnlinkedCombinatorMixin imple ments UnlinkedCombinator { 1594 class _UnlinkedCombinatorImpl extends Object with _UnlinkedCombinatorMixin imple ments idl.UnlinkedCombinator {
2355 final fb.BufferPointer _bp; 1595 final fb.BufferPointer _bp;
2356 1596
2357 _UnlinkedCombinatorImpl(this._bp); 1597 _UnlinkedCombinatorImpl(this._bp);
2358 1598
2359 List<String> _shows; 1599 List<String> _shows;
2360 List<String> _hides; 1600 List<String> _hides;
2361 1601
2362 @override 1602 @override
2363 List<String> get shows { 1603 List<String> get shows {
2364 _shows ??= const fb.ListReader<String>(const fb.StringReader()).vTableGet(_b p, 0, const <String>[]); 1604 _shows ??= const fb.ListReader<String>(const fb.StringReader()).vTableGet(_b p, 0, const <String>[]);
2365 return _shows; 1605 return _shows;
2366 } 1606 }
2367 1607
2368 @override 1608 @override
2369 List<String> get hides { 1609 List<String> get hides {
2370 _hides ??= const fb.ListReader<String>(const fb.StringReader()).vTableGet(_b p, 1, const <String>[]); 1610 _hides ??= const fb.ListReader<String>(const fb.StringReader()).vTableGet(_b p, 1, const <String>[]);
2371 return _hides; 1611 return _hides;
2372 } 1612 }
2373 } 1613 }
2374 1614
2375 abstract class _UnlinkedCombinatorMixin implements UnlinkedCombinator { 1615 abstract class _UnlinkedCombinatorMixin implements idl.UnlinkedCombinator {
2376 @override 1616 @override
2377 Map<String, Object> toMap() => { 1617 Map<String, Object> toMap() => {
2378 "shows": shows, 1618 "shows": shows,
2379 "hides": hides, 1619 "hides": hides,
2380 }; 1620 };
2381 } 1621 }
2382 1622
2383 class UnlinkedConstBuilder extends Object with _UnlinkedConstMixin implements Un linkedConst { 1623 class UnlinkedConstBuilder extends Object with _UnlinkedConstMixin implements id l.UnlinkedConst {
2384 bool _finished = false; 1624 bool _finished = false;
2385 1625
2386 List<UnlinkedConstOperation> _operations; 1626 List<idl.UnlinkedConstOperation> _operations;
2387 List<int> _ints; 1627 List<int> _ints;
2388 List<double> _doubles; 1628 List<double> _doubles;
2389 List<String> _strings; 1629 List<String> _strings;
2390 List<EntityRefBuilder> _references; 1630 List<EntityRefBuilder> _references;
2391 1631
2392 @override 1632 @override
2393 List<UnlinkedConstOperation> get operations => _operations ??= <UnlinkedConstO peration>[]; 1633 List<idl.UnlinkedConstOperation> get operations => _operations ??= <idl.Unlink edConstOperation>[];
2394 1634
2395 /** 1635 /**
2396 * Sequence of operations to execute (starting with an empty stack) to form 1636 * Sequence of operations to execute (starting with an empty stack) to form
2397 * the constant value. 1637 * the constant value.
2398 */ 1638 */
2399 void set operations(List<UnlinkedConstOperation> _value) { 1639 void set operations(List<idl.UnlinkedConstOperation> _value) {
2400 assert(!_finished); 1640 assert(!_finished);
2401 _operations = _value; 1641 _operations = _value;
2402 } 1642 }
2403 1643
2404 @override 1644 @override
2405 List<int> get ints => _ints ??= <int>[]; 1645 List<int> get ints => _ints ??= <int>[];
2406 1646
2407 /** 1647 /**
2408 * Sequence of unsigned 32-bit integers consumed by the operations 1648 * Sequence of unsigned 32-bit integers consumed by the operations
2409 * `pushArgument`, `pushInt`, `shiftOr`, `concatenate`, `invokeConstructor`, 1649 * `pushArgument`, `pushInt`, `shiftOr`, `concatenate`, `invokeConstructor`,
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
2445 * Sequence of language constructs consumed by the operations 1685 * Sequence of language constructs consumed by the operations
2446 * `pushReference`, `invokeConstructor`, `makeList`, and `makeMap`. Note 1686 * `pushReference`, `invokeConstructor`, `makeList`, and `makeMap`. Note
2447 * that in the case of `pushReference` (and sometimes `invokeConstructor` the 1687 * that in the case of `pushReference` (and sometimes `invokeConstructor` the
2448 * actual entity being referred to may be something other than a type. 1688 * actual entity being referred to may be something other than a type.
2449 */ 1689 */
2450 void set references(List<EntityRefBuilder> _value) { 1690 void set references(List<EntityRefBuilder> _value) {
2451 assert(!_finished); 1691 assert(!_finished);
2452 _references = _value; 1692 _references = _value;
2453 } 1693 }
2454 1694
2455 UnlinkedConstBuilder({List<UnlinkedConstOperation> operations, List<int> ints, List<double> doubles, List<String> strings, List<EntityRefBuilder> references}) 1695 UnlinkedConstBuilder({List<idl.UnlinkedConstOperation> operations, List<int> i nts, List<double> doubles, List<String> strings, List<EntityRefBuilder> referenc es})
2456 : _operations = operations, 1696 : _operations = operations,
2457 _ints = ints, 1697 _ints = ints,
2458 _doubles = doubles, 1698 _doubles = doubles,
2459 _strings = strings, 1699 _strings = strings,
2460 _references = references; 1700 _references = references;
2461 1701
2462 fb.Offset finish(fb.Builder fbBuilder) { 1702 fb.Offset finish(fb.Builder fbBuilder) {
2463 assert(!_finished); 1703 assert(!_finished);
2464 _finished = true; 1704 _finished = true;
2465 fb.Offset offset_operations; 1705 fb.Offset offset_operations;
(...skipping 29 matching lines...) Expand all
2495 if (offset_strings != null) { 1735 if (offset_strings != null) {
2496 fbBuilder.addOffset(3, offset_strings); 1736 fbBuilder.addOffset(3, offset_strings);
2497 } 1737 }
2498 if (offset_references != null) { 1738 if (offset_references != null) {
2499 fbBuilder.addOffset(4, offset_references); 1739 fbBuilder.addOffset(4, offset_references);
2500 } 1740 }
2501 return fbBuilder.endTable(); 1741 return fbBuilder.endTable();
2502 } 1742 }
2503 } 1743 }
2504 1744
2505 /**
2506 * Unlinked summary information about a compile-time constant expression, or a
2507 * potentially constant expression.
2508 *
2509 * Constant expressions are represented using a simple stack-based language
2510 * where [operations] is a sequence of operations to execute starting with an
2511 * empty stack. Once all operations have been executed, the stack should
2512 * contain a single value which is the value of the constant. Note that some
2513 * operations consume additional data from the other fields of this class.
2514 */
2515 abstract class UnlinkedConst extends base.SummaryClass {
2516
2517 /**
2518 * Sequence of operations to execute (starting with an empty stack) to form
2519 * the constant value.
2520 */
2521 List<UnlinkedConstOperation> get operations;
2522
2523 /**
2524 * Sequence of unsigned 32-bit integers consumed by the operations
2525 * `pushArgument`, `pushInt`, `shiftOr`, `concatenate`, `invokeConstructor`,
2526 * `makeList`, and `makeMap`.
2527 */
2528 List<int> get ints;
2529
2530 /**
2531 * Sequence of 64-bit doubles consumed by the operation `pushDouble`.
2532 */
2533 List<double> get doubles;
2534
2535 /**
2536 * Sequence of strings consumed by the operations `pushString` and
2537 * `invokeConstructor`.
2538 */
2539 List<String> get strings;
2540
2541 /**
2542 * Sequence of language constructs consumed by the operations
2543 * `pushReference`, `invokeConstructor`, `makeList`, and `makeMap`. Note
2544 * that in the case of `pushReference` (and sometimes `invokeConstructor` the
2545 * actual entity being referred to may be something other than a type.
2546 */
2547 List<EntityRef> get references;
2548 }
2549
2550 class _UnlinkedConstReader extends fb.TableReader<_UnlinkedConstImpl> { 1745 class _UnlinkedConstReader extends fb.TableReader<_UnlinkedConstImpl> {
2551 const _UnlinkedConstReader(); 1746 const _UnlinkedConstReader();
2552 1747
2553 @override 1748 @override
2554 _UnlinkedConstImpl createObject(fb.BufferPointer bp) => new _UnlinkedConstImpl (bp); 1749 _UnlinkedConstImpl createObject(fb.BufferPointer bp) => new _UnlinkedConstImpl (bp);
2555 } 1750 }
2556 1751
2557 class _UnlinkedConstImpl extends Object with _UnlinkedConstMixin implements Unli nkedConst { 1752 class _UnlinkedConstImpl extends Object with _UnlinkedConstMixin implements idl. UnlinkedConst {
2558 final fb.BufferPointer _bp; 1753 final fb.BufferPointer _bp;
2559 1754
2560 _UnlinkedConstImpl(this._bp); 1755 _UnlinkedConstImpl(this._bp);
2561 1756
2562 List<UnlinkedConstOperation> _operations; 1757 List<idl.UnlinkedConstOperation> _operations;
2563 List<int> _ints; 1758 List<int> _ints;
2564 List<double> _doubles; 1759 List<double> _doubles;
2565 List<String> _strings; 1760 List<String> _strings;
2566 List<EntityRef> _references; 1761 List<idl.EntityRef> _references;
2567 1762
2568 @override 1763 @override
2569 List<UnlinkedConstOperation> get operations { 1764 List<idl.UnlinkedConstOperation> get operations {
2570 _operations ??= const fb.ListReader<UnlinkedConstOperation>(const _UnlinkedC onstOperationReader()).vTableGet(_bp, 0, const <UnlinkedConstOperation>[]); 1765 _operations ??= const fb.ListReader<idl.UnlinkedConstOperation>(const _Unlin kedConstOperationReader()).vTableGet(_bp, 0, const <idl.UnlinkedConstOperation>[ ]);
2571 return _operations; 1766 return _operations;
2572 } 1767 }
2573 1768
2574 @override 1769 @override
2575 List<int> get ints { 1770 List<int> get ints {
2576 _ints ??= const fb.ListReader<int>(const fb.Uint32Reader()).vTableGet(_bp, 1 , const <int>[]); 1771 _ints ??= const fb.ListReader<int>(const fb.Uint32Reader()).vTableGet(_bp, 1 , const <int>[]);
2577 return _ints; 1772 return _ints;
2578 } 1773 }
2579 1774
2580 @override 1775 @override
2581 List<double> get doubles { 1776 List<double> get doubles {
2582 _doubles ??= const fb.Float64ListReader().vTableGet(_bp, 2, const <double>[] ); 1777 _doubles ??= const fb.Float64ListReader().vTableGet(_bp, 2, const <double>[] );
2583 return _doubles; 1778 return _doubles;
2584 } 1779 }
2585 1780
2586 @override 1781 @override
2587 List<String> get strings { 1782 List<String> get strings {
2588 _strings ??= const fb.ListReader<String>(const fb.StringReader()).vTableGet( _bp, 3, const <String>[]); 1783 _strings ??= const fb.ListReader<String>(const fb.StringReader()).vTableGet( _bp, 3, const <String>[]);
2589 return _strings; 1784 return _strings;
2590 } 1785 }
2591 1786
2592 @override 1787 @override
2593 List<EntityRef> get references { 1788 List<idl.EntityRef> get references {
2594 _references ??= const fb.ListReader<EntityRef>(const _EntityRefReader()).vTa bleGet(_bp, 4, const <EntityRef>[]); 1789 _references ??= const fb.ListReader<idl.EntityRef>(const _EntityRefReader()) .vTableGet(_bp, 4, const <idl.EntityRef>[]);
2595 return _references; 1790 return _references;
2596 } 1791 }
2597 } 1792 }
2598 1793
2599 abstract class _UnlinkedConstMixin implements UnlinkedConst { 1794 abstract class _UnlinkedConstMixin implements idl.UnlinkedConst {
2600 @override 1795 @override
2601 Map<String, Object> toMap() => { 1796 Map<String, Object> toMap() => {
2602 "operations": operations, 1797 "operations": operations,
2603 "ints": ints, 1798 "ints": ints,
2604 "doubles": doubles, 1799 "doubles": doubles,
2605 "strings": strings, 1800 "strings": strings,
2606 "references": references, 1801 "references": references,
2607 }; 1802 };
2608 } 1803 }
2609 1804
2610 class UnlinkedDocumentationCommentBuilder extends Object with _UnlinkedDocumenta tionCommentMixin implements UnlinkedDocumentationComment { 1805 class UnlinkedDocumentationCommentBuilder extends Object with _UnlinkedDocumenta tionCommentMixin implements idl.UnlinkedDocumentationComment {
2611 bool _finished = false; 1806 bool _finished = false;
2612 1807
2613 String _text; 1808 String _text;
2614 int _offset; 1809 int _offset;
2615 int _length; 1810 int _length;
2616 1811
2617 @override 1812 @override
2618 String get text => _text ??= ''; 1813 String get text => _text ??= '';
2619 1814
2620 /** 1815 /**
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
2672 if (_offset != null && _offset != 0) { 1867 if (_offset != null && _offset != 0) {
2673 fbBuilder.addUint32(1, _offset); 1868 fbBuilder.addUint32(1, _offset);
2674 } 1869 }
2675 if (_length != null && _length != 0) { 1870 if (_length != null && _length != 0) {
2676 fbBuilder.addUint32(2, _length); 1871 fbBuilder.addUint32(2, _length);
2677 } 1872 }
2678 return fbBuilder.endTable(); 1873 return fbBuilder.endTable();
2679 } 1874 }
2680 } 1875 }
2681 1876
2682 /**
2683 * Unlinked summary information about a documentation comment.
2684 */
2685 abstract class UnlinkedDocumentationComment extends base.SummaryClass {
2686
2687 /**
2688 * Text of the documentation comment, with '\r\n' replaced by '\n'.
2689 *
2690 * References appearing within the doc comment in square brackets are not
2691 * specially encoded.
2692 */
2693 String get text;
2694
2695 /**
2696 * Offset of the beginning of the documentation comment relative to the
2697 * beginning of the file.
2698 */
2699 int get offset;
2700
2701 /**
2702 * Length of the documentation comment (prior to replacing '\r\n' with '\n').
2703 */
2704 int get length;
2705 }
2706
2707 class _UnlinkedDocumentationCommentReader extends fb.TableReader<_UnlinkedDocume ntationCommentImpl> { 1877 class _UnlinkedDocumentationCommentReader extends fb.TableReader<_UnlinkedDocume ntationCommentImpl> {
2708 const _UnlinkedDocumentationCommentReader(); 1878 const _UnlinkedDocumentationCommentReader();
2709 1879
2710 @override 1880 @override
2711 _UnlinkedDocumentationCommentImpl createObject(fb.BufferPointer bp) => new _Un linkedDocumentationCommentImpl(bp); 1881 _UnlinkedDocumentationCommentImpl createObject(fb.BufferPointer bp) => new _Un linkedDocumentationCommentImpl(bp);
2712 } 1882 }
2713 1883
2714 class _UnlinkedDocumentationCommentImpl extends Object with _UnlinkedDocumentati onCommentMixin implements UnlinkedDocumentationComment { 1884 class _UnlinkedDocumentationCommentImpl extends Object with _UnlinkedDocumentati onCommentMixin implements idl.UnlinkedDocumentationComment {
2715 final fb.BufferPointer _bp; 1885 final fb.BufferPointer _bp;
2716 1886
2717 _UnlinkedDocumentationCommentImpl(this._bp); 1887 _UnlinkedDocumentationCommentImpl(this._bp);
2718 1888
2719 String _text; 1889 String _text;
2720 int _offset; 1890 int _offset;
2721 int _length; 1891 int _length;
2722 1892
2723 @override 1893 @override
2724 String get text { 1894 String get text {
2725 _text ??= const fb.StringReader().vTableGet(_bp, 0, ''); 1895 _text ??= const fb.StringReader().vTableGet(_bp, 0, '');
2726 return _text; 1896 return _text;
2727 } 1897 }
2728 1898
2729 @override 1899 @override
2730 int get offset { 1900 int get offset {
2731 _offset ??= const fb.Uint32Reader().vTableGet(_bp, 1, 0); 1901 _offset ??= const fb.Uint32Reader().vTableGet(_bp, 1, 0);
2732 return _offset; 1902 return _offset;
2733 } 1903 }
2734 1904
2735 @override 1905 @override
2736 int get length { 1906 int get length {
2737 _length ??= const fb.Uint32Reader().vTableGet(_bp, 2, 0); 1907 _length ??= const fb.Uint32Reader().vTableGet(_bp, 2, 0);
2738 return _length; 1908 return _length;
2739 } 1909 }
2740 } 1910 }
2741 1911
2742 abstract class _UnlinkedDocumentationCommentMixin implements UnlinkedDocumentati onComment { 1912 abstract class _UnlinkedDocumentationCommentMixin implements idl.UnlinkedDocumen tationComment {
2743 @override 1913 @override
2744 Map<String, Object> toMap() => { 1914 Map<String, Object> toMap() => {
2745 "text": text, 1915 "text": text,
2746 "offset": offset, 1916 "offset": offset,
2747 "length": length, 1917 "length": length,
2748 }; 1918 };
2749 } 1919 }
2750 1920
2751 class UnlinkedEnumBuilder extends Object with _UnlinkedEnumMixin implements Unli nkedEnum { 1921 class UnlinkedEnumBuilder extends Object with _UnlinkedEnumMixin implements idl. UnlinkedEnum {
2752 bool _finished = false; 1922 bool _finished = false;
2753 1923
2754 String _name; 1924 String _name;
2755 int _nameOffset; 1925 int _nameOffset;
2756 UnlinkedDocumentationCommentBuilder _documentationComment; 1926 UnlinkedDocumentationCommentBuilder _documentationComment;
2757 List<UnlinkedEnumValueBuilder> _values; 1927 List<UnlinkedEnumValueBuilder> _values;
2758 1928
2759 @override 1929 @override
2760 String get name => _name ??= ''; 1930 String get name => _name ??= '';
2761 1931
(...skipping 71 matching lines...) Expand 10 before | Expand all | Expand 10 after
2833 if (offset_documentationComment != null) { 2003 if (offset_documentationComment != null) {
2834 fbBuilder.addOffset(2, offset_documentationComment); 2004 fbBuilder.addOffset(2, offset_documentationComment);
2835 } 2005 }
2836 if (offset_values != null) { 2006 if (offset_values != null) {
2837 fbBuilder.addOffset(3, offset_values); 2007 fbBuilder.addOffset(3, offset_values);
2838 } 2008 }
2839 return fbBuilder.endTable(); 2009 return fbBuilder.endTable();
2840 } 2010 }
2841 } 2011 }
2842 2012
2843 /**
2844 * Unlinked summary information about an enum declaration.
2845 */
2846 abstract class UnlinkedEnum extends base.SummaryClass {
2847
2848 /**
2849 * Name of the enum type.
2850 */
2851 String get name;
2852
2853 /**
2854 * Offset of the enum name relative to the beginning of the file.
2855 */
2856 int get nameOffset;
2857
2858 /**
2859 * Documentation comment for the enum, or `null` if there is no documentation
2860 * comment.
2861 */
2862 UnlinkedDocumentationComment get documentationComment;
2863
2864 /**
2865 * Values listed in the enum declaration, in declaration order.
2866 */
2867 List<UnlinkedEnumValue> get values;
2868 }
2869
2870 class _UnlinkedEnumReader extends fb.TableReader<_UnlinkedEnumImpl> { 2013 class _UnlinkedEnumReader extends fb.TableReader<_UnlinkedEnumImpl> {
2871 const _UnlinkedEnumReader(); 2014 const _UnlinkedEnumReader();
2872 2015
2873 @override 2016 @override
2874 _UnlinkedEnumImpl createObject(fb.BufferPointer bp) => new _UnlinkedEnumImpl(b p); 2017 _UnlinkedEnumImpl createObject(fb.BufferPointer bp) => new _UnlinkedEnumImpl(b p);
2875 } 2018 }
2876 2019
2877 class _UnlinkedEnumImpl extends Object with _UnlinkedEnumMixin implements Unlink edEnum { 2020 class _UnlinkedEnumImpl extends Object with _UnlinkedEnumMixin implements idl.Un linkedEnum {
2878 final fb.BufferPointer _bp; 2021 final fb.BufferPointer _bp;
2879 2022
2880 _UnlinkedEnumImpl(this._bp); 2023 _UnlinkedEnumImpl(this._bp);
2881 2024
2882 String _name; 2025 String _name;
2883 int _nameOffset; 2026 int _nameOffset;
2884 UnlinkedDocumentationComment _documentationComment; 2027 idl.UnlinkedDocumentationComment _documentationComment;
2885 List<UnlinkedEnumValue> _values; 2028 List<idl.UnlinkedEnumValue> _values;
2886 2029
2887 @override 2030 @override
2888 String get name { 2031 String get name {
2889 _name ??= const fb.StringReader().vTableGet(_bp, 0, ''); 2032 _name ??= const fb.StringReader().vTableGet(_bp, 0, '');
2890 return _name; 2033 return _name;
2891 } 2034 }
2892 2035
2893 @override 2036 @override
2894 int get nameOffset { 2037 int get nameOffset {
2895 _nameOffset ??= const fb.Uint32Reader().vTableGet(_bp, 1, 0); 2038 _nameOffset ??= const fb.Uint32Reader().vTableGet(_bp, 1, 0);
2896 return _nameOffset; 2039 return _nameOffset;
2897 } 2040 }
2898 2041
2899 @override 2042 @override
2900 UnlinkedDocumentationComment get documentationComment { 2043 idl.UnlinkedDocumentationComment get documentationComment {
2901 _documentationComment ??= const _UnlinkedDocumentationCommentReader().vTable Get(_bp, 2, null); 2044 _documentationComment ??= const _UnlinkedDocumentationCommentReader().vTable Get(_bp, 2, null);
2902 return _documentationComment; 2045 return _documentationComment;
2903 } 2046 }
2904 2047
2905 @override 2048 @override
2906 List<UnlinkedEnumValue> get values { 2049 List<idl.UnlinkedEnumValue> get values {
2907 _values ??= const fb.ListReader<UnlinkedEnumValue>(const _UnlinkedEnumValueR eader()).vTableGet(_bp, 3, const <UnlinkedEnumValue>[]); 2050 _values ??= const fb.ListReader<idl.UnlinkedEnumValue>(const _UnlinkedEnumVa lueReader()).vTableGet(_bp, 3, const <idl.UnlinkedEnumValue>[]);
2908 return _values; 2051 return _values;
2909 } 2052 }
2910 } 2053 }
2911 2054
2912 abstract class _UnlinkedEnumMixin implements UnlinkedEnum { 2055 abstract class _UnlinkedEnumMixin implements idl.UnlinkedEnum {
2913 @override 2056 @override
2914 Map<String, Object> toMap() => { 2057 Map<String, Object> toMap() => {
2915 "name": name, 2058 "name": name,
2916 "nameOffset": nameOffset, 2059 "nameOffset": nameOffset,
2917 "documentationComment": documentationComment, 2060 "documentationComment": documentationComment,
2918 "values": values, 2061 "values": values,
2919 }; 2062 };
2920 } 2063 }
2921 2064
2922 class UnlinkedEnumValueBuilder extends Object with _UnlinkedEnumValueMixin imple ments UnlinkedEnumValue { 2065 class UnlinkedEnumValueBuilder extends Object with _UnlinkedEnumValueMixin imple ments idl.UnlinkedEnumValue {
2923 bool _finished = false; 2066 bool _finished = false;
2924 2067
2925 String _name; 2068 String _name;
2926 int _nameOffset; 2069 int _nameOffset;
2927 UnlinkedDocumentationCommentBuilder _documentationComment; 2070 UnlinkedDocumentationCommentBuilder _documentationComment;
2928 2071
2929 @override 2072 @override
2930 String get name => _name ??= ''; 2073 String get name => _name ??= '';
2931 2074
2932 /** 2075 /**
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
2984 if (_nameOffset != null && _nameOffset != 0) { 2127 if (_nameOffset != null && _nameOffset != 0) {
2985 fbBuilder.addUint32(1, _nameOffset); 2128 fbBuilder.addUint32(1, _nameOffset);
2986 } 2129 }
2987 if (offset_documentationComment != null) { 2130 if (offset_documentationComment != null) {
2988 fbBuilder.addOffset(2, offset_documentationComment); 2131 fbBuilder.addOffset(2, offset_documentationComment);
2989 } 2132 }
2990 return fbBuilder.endTable(); 2133 return fbBuilder.endTable();
2991 } 2134 }
2992 } 2135 }
2993 2136
2994 /**
2995 * Unlinked summary information about a single enumerated value in an enum
2996 * declaration.
2997 */
2998 abstract class UnlinkedEnumValue extends base.SummaryClass {
2999
3000 /**
3001 * Name of the enumerated value.
3002 */
3003 String get name;
3004
3005 /**
3006 * Offset of the enum value name relative to the beginning of the file.
3007 */
3008 int get nameOffset;
3009
3010 /**
3011 * Documentation comment for the enum value, or `null` if there is no
3012 * documentation comment.
3013 */
3014 UnlinkedDocumentationComment get documentationComment;
3015 }
3016
3017 class _UnlinkedEnumValueReader extends fb.TableReader<_UnlinkedEnumValueImpl> { 2137 class _UnlinkedEnumValueReader extends fb.TableReader<_UnlinkedEnumValueImpl> {
3018 const _UnlinkedEnumValueReader(); 2138 const _UnlinkedEnumValueReader();
3019 2139
3020 @override 2140 @override
3021 _UnlinkedEnumValueImpl createObject(fb.BufferPointer bp) => new _UnlinkedEnumV alueImpl(bp); 2141 _UnlinkedEnumValueImpl createObject(fb.BufferPointer bp) => new _UnlinkedEnumV alueImpl(bp);
3022 } 2142 }
3023 2143
3024 class _UnlinkedEnumValueImpl extends Object with _UnlinkedEnumValueMixin impleme nts UnlinkedEnumValue { 2144 class _UnlinkedEnumValueImpl extends Object with _UnlinkedEnumValueMixin impleme nts idl.UnlinkedEnumValue {
3025 final fb.BufferPointer _bp; 2145 final fb.BufferPointer _bp;
3026 2146
3027 _UnlinkedEnumValueImpl(this._bp); 2147 _UnlinkedEnumValueImpl(this._bp);
3028 2148
3029 String _name; 2149 String _name;
3030 int _nameOffset; 2150 int _nameOffset;
3031 UnlinkedDocumentationComment _documentationComment; 2151 idl.UnlinkedDocumentationComment _documentationComment;
3032 2152
3033 @override 2153 @override
3034 String get name { 2154 String get name {
3035 _name ??= const fb.StringReader().vTableGet(_bp, 0, ''); 2155 _name ??= const fb.StringReader().vTableGet(_bp, 0, '');
3036 return _name; 2156 return _name;
3037 } 2157 }
3038 2158
3039 @override 2159 @override
3040 int get nameOffset { 2160 int get nameOffset {
3041 _nameOffset ??= const fb.Uint32Reader().vTableGet(_bp, 1, 0); 2161 _nameOffset ??= const fb.Uint32Reader().vTableGet(_bp, 1, 0);
3042 return _nameOffset; 2162 return _nameOffset;
3043 } 2163 }
3044 2164
3045 @override 2165 @override
3046 UnlinkedDocumentationComment get documentationComment { 2166 idl.UnlinkedDocumentationComment get documentationComment {
3047 _documentationComment ??= const _UnlinkedDocumentationCommentReader().vTable Get(_bp, 2, null); 2167 _documentationComment ??= const _UnlinkedDocumentationCommentReader().vTable Get(_bp, 2, null);
3048 return _documentationComment; 2168 return _documentationComment;
3049 } 2169 }
3050 } 2170 }
3051 2171
3052 abstract class _UnlinkedEnumValueMixin implements UnlinkedEnumValue { 2172 abstract class _UnlinkedEnumValueMixin implements idl.UnlinkedEnumValue {
3053 @override 2173 @override
3054 Map<String, Object> toMap() => { 2174 Map<String, Object> toMap() => {
3055 "name": name, 2175 "name": name,
3056 "nameOffset": nameOffset, 2176 "nameOffset": nameOffset,
3057 "documentationComment": documentationComment, 2177 "documentationComment": documentationComment,
3058 }; 2178 };
3059 } 2179 }
3060 2180
3061 class UnlinkedExecutableBuilder extends Object with _UnlinkedExecutableMixin imp lements UnlinkedExecutable { 2181 class UnlinkedExecutableBuilder extends Object with _UnlinkedExecutableMixin imp lements idl.UnlinkedExecutable {
3062 bool _finished = false; 2182 bool _finished = false;
3063 2183
3064 String _name; 2184 String _name;
3065 int _nameOffset; 2185 int _nameOffset;
3066 UnlinkedDocumentationCommentBuilder _documentationComment; 2186 UnlinkedDocumentationCommentBuilder _documentationComment;
3067 List<UnlinkedTypeParamBuilder> _typeParameters; 2187 List<UnlinkedTypeParamBuilder> _typeParameters;
3068 EntityRefBuilder _returnType; 2188 EntityRefBuilder _returnType;
3069 List<UnlinkedParamBuilder> _parameters; 2189 List<UnlinkedParamBuilder> _parameters;
3070 UnlinkedExecutableKind _kind; 2190 idl.UnlinkedExecutableKind _kind;
3071 bool _isAbstract; 2191 bool _isAbstract;
3072 bool _isStatic; 2192 bool _isStatic;
3073 bool _isConst; 2193 bool _isConst;
3074 bool _isFactory; 2194 bool _isFactory;
3075 bool _isExternal; 2195 bool _isExternal;
3076 int _inferredReturnTypeSlot; 2196 int _inferredReturnTypeSlot;
3077 2197
3078 @override 2198 @override
3079 String get name => _name ??= ''; 2199 String get name => _name ??= '';
3080 2200
(...skipping 65 matching lines...) Expand 10 before | Expand all | Expand 10 after
3146 * Parameters of the executable, if any. Note that getters have no 2266 * Parameters of the executable, if any. Note that getters have no
3147 * parameters (hence this will be the empty list), and setters have a single 2267 * parameters (hence this will be the empty list), and setters have a single
3148 * parameter. 2268 * parameter.
3149 */ 2269 */
3150 void set parameters(List<UnlinkedParamBuilder> _value) { 2270 void set parameters(List<UnlinkedParamBuilder> _value) {
3151 assert(!_finished); 2271 assert(!_finished);
3152 _parameters = _value; 2272 _parameters = _value;
3153 } 2273 }
3154 2274
3155 @override 2275 @override
3156 UnlinkedExecutableKind get kind => _kind ??= UnlinkedExecutableKind.functionOr Method; 2276 idl.UnlinkedExecutableKind get kind => _kind ??= idl.UnlinkedExecutableKind.fu nctionOrMethod;
3157 2277
3158 /** 2278 /**
3159 * The kind of the executable (function/method, getter, setter, or 2279 * The kind of the executable (function/method, getter, setter, or
3160 * constructor). 2280 * constructor).
3161 */ 2281 */
3162 void set kind(UnlinkedExecutableKind _value) { 2282 void set kind(idl.UnlinkedExecutableKind _value) {
3163 assert(!_finished); 2283 assert(!_finished);
3164 _kind = _value; 2284 _kind = _value;
3165 } 2285 }
3166 2286
3167 @override 2287 @override
3168 bool get isAbstract => _isAbstract ??= false; 2288 bool get isAbstract => _isAbstract ??= false;
3169 2289
3170 /** 2290 /**
3171 * Indicates whether the executable is declared using the `abstract` keyword. 2291 * Indicates whether the executable is declared using the `abstract` keyword.
3172 */ 2292 */
(...skipping 59 matching lines...) Expand 10 before | Expand all | Expand 10 after
3232 * return type. If there is no matching entry in [LinkedLibrary.types], then 2352 * return type. If there is no matching entry in [LinkedLibrary.types], then
3233 * no return type was inferred for this variable, so its static type is 2353 * no return type was inferred for this variable, so its static type is
3234 * `dynamic`. 2354 * `dynamic`.
3235 */ 2355 */
3236 void set inferredReturnTypeSlot(int _value) { 2356 void set inferredReturnTypeSlot(int _value) {
3237 assert(!_finished); 2357 assert(!_finished);
3238 assert(_value == null || _value >= 0); 2358 assert(_value == null || _value >= 0);
3239 _inferredReturnTypeSlot = _value; 2359 _inferredReturnTypeSlot = _value;
3240 } 2360 }
3241 2361
3242 UnlinkedExecutableBuilder({String name, int nameOffset, UnlinkedDocumentationC ommentBuilder documentationComment, List<UnlinkedTypeParamBuilder> typeParameter s, EntityRefBuilder returnType, List<UnlinkedParamBuilder> parameters, UnlinkedE xecutableKind kind, bool isAbstract, bool isStatic, bool isConst, bool isFactory , bool isExternal, int inferredReturnTypeSlot}) 2362 UnlinkedExecutableBuilder({String name, int nameOffset, UnlinkedDocumentationC ommentBuilder documentationComment, List<UnlinkedTypeParamBuilder> typeParameter s, EntityRefBuilder returnType, List<UnlinkedParamBuilder> parameters, idl.Unlin kedExecutableKind kind, bool isAbstract, bool isStatic, bool isConst, bool isFac tory, bool isExternal, int inferredReturnTypeSlot})
3243 : _name = name, 2363 : _name = name,
3244 _nameOffset = nameOffset, 2364 _nameOffset = nameOffset,
3245 _documentationComment = documentationComment, 2365 _documentationComment = documentationComment,
3246 _typeParameters = typeParameters, 2366 _typeParameters = typeParameters,
3247 _returnType = returnType, 2367 _returnType = returnType,
3248 _parameters = parameters, 2368 _parameters = parameters,
3249 _kind = kind, 2369 _kind = kind,
3250 _isAbstract = isAbstract, 2370 _isAbstract = isAbstract,
3251 _isStatic = isStatic, 2371 _isStatic = isStatic,
3252 _isConst = isConst, 2372 _isConst = isConst,
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
3289 } 2409 }
3290 if (offset_typeParameters != null) { 2410 if (offset_typeParameters != null) {
3291 fbBuilder.addOffset(3, offset_typeParameters); 2411 fbBuilder.addOffset(3, offset_typeParameters);
3292 } 2412 }
3293 if (offset_returnType != null) { 2413 if (offset_returnType != null) {
3294 fbBuilder.addOffset(4, offset_returnType); 2414 fbBuilder.addOffset(4, offset_returnType);
3295 } 2415 }
3296 if (offset_parameters != null) { 2416 if (offset_parameters != null) {
3297 fbBuilder.addOffset(5, offset_parameters); 2417 fbBuilder.addOffset(5, offset_parameters);
3298 } 2418 }
3299 if (_kind != null && _kind != UnlinkedExecutableKind.functionOrMethod) { 2419 if (_kind != null && _kind != idl.UnlinkedExecutableKind.functionOrMethod) {
3300 fbBuilder.addUint32(6, _kind.index); 2420 fbBuilder.addUint32(6, _kind.index);
3301 } 2421 }
3302 if (_isAbstract == true) { 2422 if (_isAbstract == true) {
3303 fbBuilder.addBool(7, true); 2423 fbBuilder.addBool(7, true);
3304 } 2424 }
3305 if (_isStatic == true) { 2425 if (_isStatic == true) {
3306 fbBuilder.addBool(8, true); 2426 fbBuilder.addBool(8, true);
3307 } 2427 }
3308 if (_isConst == true) { 2428 if (_isConst == true) {
3309 fbBuilder.addBool(9, true); 2429 fbBuilder.addBool(9, true);
3310 } 2430 }
3311 if (_isFactory == true) { 2431 if (_isFactory == true) {
3312 fbBuilder.addBool(10, true); 2432 fbBuilder.addBool(10, true);
3313 } 2433 }
3314 if (_isExternal == true) { 2434 if (_isExternal == true) {
3315 fbBuilder.addBool(11, true); 2435 fbBuilder.addBool(11, true);
3316 } 2436 }
3317 if (_inferredReturnTypeSlot != null && _inferredReturnTypeSlot != 0) { 2437 if (_inferredReturnTypeSlot != null && _inferredReturnTypeSlot != 0) {
3318 fbBuilder.addUint32(12, _inferredReturnTypeSlot); 2438 fbBuilder.addUint32(12, _inferredReturnTypeSlot);
3319 } 2439 }
3320 return fbBuilder.endTable(); 2440 return fbBuilder.endTable();
3321 } 2441 }
3322 } 2442 }
3323 2443
3324 /**
3325 * Unlinked summary information about a function, method, getter, or setter
3326 * declaration.
3327 */
3328 abstract class UnlinkedExecutable extends base.SummaryClass {
3329
3330 /**
3331 * Name of the executable. For setters, this includes the trailing "=". For
3332 * named constructors, this excludes the class name and excludes the ".".
3333 * For unnamed constructors, this is the empty string.
3334 */
3335 String get name;
3336
3337 /**
3338 * Offset of the executable name relative to the beginning of the file. For
3339 * named constructors, this excludes the class name and excludes the ".".
3340 * For unnamed constructors, this is the offset of the class name (i.e. the
3341 * offset of the second "C" in "class C { C(); }").
3342 */
3343 int get nameOffset;
3344
3345 /**
3346 * Documentation comment for the executable, or `null` if there is no
3347 * documentation comment.
3348 */
3349 UnlinkedDocumentationComment get documentationComment;
3350
3351 /**
3352 * Type parameters of the executable, if any. Empty if support for generic
3353 * method syntax is disabled.
3354 */
3355 List<UnlinkedTypeParam> get typeParameters;
3356
3357 /**
3358 * Declared return type of the executable. Absent if the executable is a
3359 * constructor or the return type is implicit.
3360 */
3361 EntityRef get returnType;
3362
3363 /**
3364 * Parameters of the executable, if any. Note that getters have no
3365 * parameters (hence this will be the empty list), and setters have a single
3366 * parameter.
3367 */
3368 List<UnlinkedParam> get parameters;
3369
3370 /**
3371 * The kind of the executable (function/method, getter, setter, or
3372 * constructor).
3373 */
3374 UnlinkedExecutableKind get kind;
3375
3376 /**
3377 * Indicates whether the executable is declared using the `abstract` keyword.
3378 */
3379 bool get isAbstract;
3380
3381 /**
3382 * Indicates whether the executable is declared using the `static` keyword.
3383 *
3384 * Note that for top level executables, this flag is false, since they are
3385 * not declared using the `static` keyword (even though they are considered
3386 * static for semantic purposes).
3387 */
3388 bool get isStatic;
3389
3390 /**
3391 * Indicates whether the executable is declared using the `const` keyword.
3392 */
3393 bool get isConst;
3394
3395 /**
3396 * Indicates whether the executable is declared using the `factory` keyword.
3397 */
3398 bool get isFactory;
3399
3400 /**
3401 * Indicates whether the executable is declared using the `external` keyword.
3402 */
3403 bool get isExternal;
3404
3405 /**
3406 * If this executable's return type is inferrable, nonzero slot id
3407 * identifying which entry in [LinkedLibrary.types] contains the inferred
3408 * return type. If there is no matching entry in [LinkedLibrary.types], then
3409 * no return type was inferred for this variable, so its static type is
3410 * `dynamic`.
3411 */
3412 int get inferredReturnTypeSlot;
3413 }
3414
3415 class _UnlinkedExecutableReader extends fb.TableReader<_UnlinkedExecutableImpl> { 2444 class _UnlinkedExecutableReader extends fb.TableReader<_UnlinkedExecutableImpl> {
3416 const _UnlinkedExecutableReader(); 2445 const _UnlinkedExecutableReader();
3417 2446
3418 @override 2447 @override
3419 _UnlinkedExecutableImpl createObject(fb.BufferPointer bp) => new _UnlinkedExec utableImpl(bp); 2448 _UnlinkedExecutableImpl createObject(fb.BufferPointer bp) => new _UnlinkedExec utableImpl(bp);
3420 } 2449 }
3421 2450
3422 class _UnlinkedExecutableImpl extends Object with _UnlinkedExecutableMixin imple ments UnlinkedExecutable { 2451 class _UnlinkedExecutableImpl extends Object with _UnlinkedExecutableMixin imple ments idl.UnlinkedExecutable {
3423 final fb.BufferPointer _bp; 2452 final fb.BufferPointer _bp;
3424 2453
3425 _UnlinkedExecutableImpl(this._bp); 2454 _UnlinkedExecutableImpl(this._bp);
3426 2455
3427 String _name; 2456 String _name;
3428 int _nameOffset; 2457 int _nameOffset;
3429 UnlinkedDocumentationComment _documentationComment; 2458 idl.UnlinkedDocumentationComment _documentationComment;
3430 List<UnlinkedTypeParam> _typeParameters; 2459 List<idl.UnlinkedTypeParam> _typeParameters;
3431 EntityRef _returnType; 2460 idl.EntityRef _returnType;
3432 List<UnlinkedParam> _parameters; 2461 List<idl.UnlinkedParam> _parameters;
3433 UnlinkedExecutableKind _kind; 2462 idl.UnlinkedExecutableKind _kind;
3434 bool _isAbstract; 2463 bool _isAbstract;
3435 bool _isStatic; 2464 bool _isStatic;
3436 bool _isConst; 2465 bool _isConst;
3437 bool _isFactory; 2466 bool _isFactory;
3438 bool _isExternal; 2467 bool _isExternal;
3439 int _inferredReturnTypeSlot; 2468 int _inferredReturnTypeSlot;
3440 2469
3441 @override 2470 @override
3442 String get name { 2471 String get name {
3443 _name ??= const fb.StringReader().vTableGet(_bp, 0, ''); 2472 _name ??= const fb.StringReader().vTableGet(_bp, 0, '');
3444 return _name; 2473 return _name;
3445 } 2474 }
3446 2475
3447 @override 2476 @override
3448 int get nameOffset { 2477 int get nameOffset {
3449 _nameOffset ??= const fb.Uint32Reader().vTableGet(_bp, 1, 0); 2478 _nameOffset ??= const fb.Uint32Reader().vTableGet(_bp, 1, 0);
3450 return _nameOffset; 2479 return _nameOffset;
3451 } 2480 }
3452 2481
3453 @override 2482 @override
3454 UnlinkedDocumentationComment get documentationComment { 2483 idl.UnlinkedDocumentationComment get documentationComment {
3455 _documentationComment ??= const _UnlinkedDocumentationCommentReader().vTable Get(_bp, 2, null); 2484 _documentationComment ??= const _UnlinkedDocumentationCommentReader().vTable Get(_bp, 2, null);
3456 return _documentationComment; 2485 return _documentationComment;
3457 } 2486 }
3458 2487
3459 @override 2488 @override
3460 List<UnlinkedTypeParam> get typeParameters { 2489 List<idl.UnlinkedTypeParam> get typeParameters {
3461 _typeParameters ??= const fb.ListReader<UnlinkedTypeParam>(const _UnlinkedTy peParamReader()).vTableGet(_bp, 3, const <UnlinkedTypeParam>[]); 2490 _typeParameters ??= const fb.ListReader<idl.UnlinkedTypeParam>(const _Unlink edTypeParamReader()).vTableGet(_bp, 3, const <idl.UnlinkedTypeParam>[]);
3462 return _typeParameters; 2491 return _typeParameters;
3463 } 2492 }
3464 2493
3465 @override 2494 @override
3466 EntityRef get returnType { 2495 idl.EntityRef get returnType {
3467 _returnType ??= const _EntityRefReader().vTableGet(_bp, 4, null); 2496 _returnType ??= const _EntityRefReader().vTableGet(_bp, 4, null);
3468 return _returnType; 2497 return _returnType;
3469 } 2498 }
3470 2499
3471 @override 2500 @override
3472 List<UnlinkedParam> get parameters { 2501 List<idl.UnlinkedParam> get parameters {
3473 _parameters ??= const fb.ListReader<UnlinkedParam>(const _UnlinkedParamReade r()).vTableGet(_bp, 5, const <UnlinkedParam>[]); 2502 _parameters ??= const fb.ListReader<idl.UnlinkedParam>(const _UnlinkedParamR eader()).vTableGet(_bp, 5, const <idl.UnlinkedParam>[]);
3474 return _parameters; 2503 return _parameters;
3475 } 2504 }
3476 2505
3477 @override 2506 @override
3478 UnlinkedExecutableKind get kind { 2507 idl.UnlinkedExecutableKind get kind {
3479 _kind ??= const _UnlinkedExecutableKindReader().vTableGet(_bp, 6, UnlinkedEx ecutableKind.functionOrMethod); 2508 _kind ??= const _UnlinkedExecutableKindReader().vTableGet(_bp, 6, idl.Unlink edExecutableKind.functionOrMethod);
3480 return _kind; 2509 return _kind;
3481 } 2510 }
3482 2511
3483 @override 2512 @override
3484 bool get isAbstract { 2513 bool get isAbstract {
3485 _isAbstract ??= const fb.BoolReader().vTableGet(_bp, 7, false); 2514 _isAbstract ??= const fb.BoolReader().vTableGet(_bp, 7, false);
3486 return _isAbstract; 2515 return _isAbstract;
3487 } 2516 }
3488 2517
3489 @override 2518 @override
(...skipping 20 matching lines...) Expand all
3510 return _isExternal; 2539 return _isExternal;
3511 } 2540 }
3512 2541
3513 @override 2542 @override
3514 int get inferredReturnTypeSlot { 2543 int get inferredReturnTypeSlot {
3515 _inferredReturnTypeSlot ??= const fb.Uint32Reader().vTableGet(_bp, 12, 0); 2544 _inferredReturnTypeSlot ??= const fb.Uint32Reader().vTableGet(_bp, 12, 0);
3516 return _inferredReturnTypeSlot; 2545 return _inferredReturnTypeSlot;
3517 } 2546 }
3518 } 2547 }
3519 2548
3520 abstract class _UnlinkedExecutableMixin implements UnlinkedExecutable { 2549 abstract class _UnlinkedExecutableMixin implements idl.UnlinkedExecutable {
3521 @override 2550 @override
3522 Map<String, Object> toMap() => { 2551 Map<String, Object> toMap() => {
3523 "name": name, 2552 "name": name,
3524 "nameOffset": nameOffset, 2553 "nameOffset": nameOffset,
3525 "documentationComment": documentationComment, 2554 "documentationComment": documentationComment,
3526 "typeParameters": typeParameters, 2555 "typeParameters": typeParameters,
3527 "returnType": returnType, 2556 "returnType": returnType,
3528 "parameters": parameters, 2557 "parameters": parameters,
3529 "kind": kind, 2558 "kind": kind,
3530 "isAbstract": isAbstract, 2559 "isAbstract": isAbstract,
3531 "isStatic": isStatic, 2560 "isStatic": isStatic,
3532 "isConst": isConst, 2561 "isConst": isConst,
3533 "isFactory": isFactory, 2562 "isFactory": isFactory,
3534 "isExternal": isExternal, 2563 "isExternal": isExternal,
3535 "inferredReturnTypeSlot": inferredReturnTypeSlot, 2564 "inferredReturnTypeSlot": inferredReturnTypeSlot,
3536 }; 2565 };
3537 } 2566 }
3538 2567
3539 class UnlinkedExportNonPublicBuilder extends Object with _UnlinkedExportNonPubli cMixin implements UnlinkedExportNonPublic { 2568 class UnlinkedExportNonPublicBuilder extends Object with _UnlinkedExportNonPubli cMixin implements idl.UnlinkedExportNonPublic {
3540 bool _finished = false; 2569 bool _finished = false;
3541 2570
3542 int _offset; 2571 int _offset;
3543 int _uriOffset; 2572 int _uriOffset;
3544 int _uriEnd; 2573 int _uriEnd;
3545 2574
3546 @override 2575 @override
3547 int get offset => _offset ??= 0; 2576 int get offset => _offset ??= 0;
3548 2577
3549 /** 2578 /**
(...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after
3596 if (_uriOffset != null && _uriOffset != 0) { 2625 if (_uriOffset != null && _uriOffset != 0) {
3597 fbBuilder.addUint32(1, _uriOffset); 2626 fbBuilder.addUint32(1, _uriOffset);
3598 } 2627 }
3599 if (_uriEnd != null && _uriEnd != 0) { 2628 if (_uriEnd != null && _uriEnd != 0) {
3600 fbBuilder.addUint32(2, _uriEnd); 2629 fbBuilder.addUint32(2, _uriEnd);
3601 } 2630 }
3602 return fbBuilder.endTable(); 2631 return fbBuilder.endTable();
3603 } 2632 }
3604 } 2633 }
3605 2634
3606 /**
3607 * Unlinked summary information about an export declaration (stored outside
3608 * [UnlinkedPublicNamespace]).
3609 */
3610 abstract class UnlinkedExportNonPublic extends base.SummaryClass {
3611
3612 /**
3613 * Offset of the "export" keyword.
3614 */
3615 int get offset;
3616
3617 /**
3618 * Offset of the URI string (including quotes) relative to the beginning of
3619 * the file.
3620 */
3621 int get uriOffset;
3622
3623 /**
3624 * End of the URI string (including quotes) relative to the beginning of the
3625 * file.
3626 */
3627 int get uriEnd;
3628 }
3629
3630 class _UnlinkedExportNonPublicReader extends fb.TableReader<_UnlinkedExportNonPu blicImpl> { 2635 class _UnlinkedExportNonPublicReader extends fb.TableReader<_UnlinkedExportNonPu blicImpl> {
3631 const _UnlinkedExportNonPublicReader(); 2636 const _UnlinkedExportNonPublicReader();
3632 2637
3633 @override 2638 @override
3634 _UnlinkedExportNonPublicImpl createObject(fb.BufferPointer bp) => new _Unlinke dExportNonPublicImpl(bp); 2639 _UnlinkedExportNonPublicImpl createObject(fb.BufferPointer bp) => new _Unlinke dExportNonPublicImpl(bp);
3635 } 2640 }
3636 2641
3637 class _UnlinkedExportNonPublicImpl extends Object with _UnlinkedExportNonPublicM ixin implements UnlinkedExportNonPublic { 2642 class _UnlinkedExportNonPublicImpl extends Object with _UnlinkedExportNonPublicM ixin implements idl.UnlinkedExportNonPublic {
3638 final fb.BufferPointer _bp; 2643 final fb.BufferPointer _bp;
3639 2644
3640 _UnlinkedExportNonPublicImpl(this._bp); 2645 _UnlinkedExportNonPublicImpl(this._bp);
3641 2646
3642 int _offset; 2647 int _offset;
3643 int _uriOffset; 2648 int _uriOffset;
3644 int _uriEnd; 2649 int _uriEnd;
3645 2650
3646 @override 2651 @override
3647 int get offset { 2652 int get offset {
3648 _offset ??= const fb.Uint32Reader().vTableGet(_bp, 0, 0); 2653 _offset ??= const fb.Uint32Reader().vTableGet(_bp, 0, 0);
3649 return _offset; 2654 return _offset;
3650 } 2655 }
3651 2656
3652 @override 2657 @override
3653 int get uriOffset { 2658 int get uriOffset {
3654 _uriOffset ??= const fb.Uint32Reader().vTableGet(_bp, 1, 0); 2659 _uriOffset ??= const fb.Uint32Reader().vTableGet(_bp, 1, 0);
3655 return _uriOffset; 2660 return _uriOffset;
3656 } 2661 }
3657 2662
3658 @override 2663 @override
3659 int get uriEnd { 2664 int get uriEnd {
3660 _uriEnd ??= const fb.Uint32Reader().vTableGet(_bp, 2, 0); 2665 _uriEnd ??= const fb.Uint32Reader().vTableGet(_bp, 2, 0);
3661 return _uriEnd; 2666 return _uriEnd;
3662 } 2667 }
3663 } 2668 }
3664 2669
3665 abstract class _UnlinkedExportNonPublicMixin implements UnlinkedExportNonPublic { 2670 abstract class _UnlinkedExportNonPublicMixin implements idl.UnlinkedExportNonPub lic {
3666 @override 2671 @override
3667 Map<String, Object> toMap() => { 2672 Map<String, Object> toMap() => {
3668 "offset": offset, 2673 "offset": offset,
3669 "uriOffset": uriOffset, 2674 "uriOffset": uriOffset,
3670 "uriEnd": uriEnd, 2675 "uriEnd": uriEnd,
3671 }; 2676 };
3672 } 2677 }
3673 2678
3674 class UnlinkedExportPublicBuilder extends Object with _UnlinkedExportPublicMixin implements UnlinkedExportPublic { 2679 class UnlinkedExportPublicBuilder extends Object with _UnlinkedExportPublicMixin implements idl.UnlinkedExportPublic {
3675 bool _finished = false; 2680 bool _finished = false;
3676 2681
3677 String _uri; 2682 String _uri;
3678 List<UnlinkedCombinatorBuilder> _combinators; 2683 List<UnlinkedCombinatorBuilder> _combinators;
3679 2684
3680 @override 2685 @override
3681 String get uri => _uri ??= ''; 2686 String get uri => _uri ??= '';
3682 2687
3683 /** 2688 /**
3684 * URI used in the source code to reference the exported library. 2689 * URI used in the source code to reference the exported library.
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
3718 if (offset_uri != null) { 2723 if (offset_uri != null) {
3719 fbBuilder.addOffset(0, offset_uri); 2724 fbBuilder.addOffset(0, offset_uri);
3720 } 2725 }
3721 if (offset_combinators != null) { 2726 if (offset_combinators != null) {
3722 fbBuilder.addOffset(1, offset_combinators); 2727 fbBuilder.addOffset(1, offset_combinators);
3723 } 2728 }
3724 return fbBuilder.endTable(); 2729 return fbBuilder.endTable();
3725 } 2730 }
3726 } 2731 }
3727 2732
3728 /**
3729 * Unlinked summary information about an export declaration (stored inside
3730 * [UnlinkedPublicNamespace]).
3731 */
3732 abstract class UnlinkedExportPublic extends base.SummaryClass {
3733
3734 /**
3735 * URI used in the source code to reference the exported library.
3736 */
3737 String get uri;
3738
3739 /**
3740 * Combinators contained in this import declaration.
3741 */
3742 List<UnlinkedCombinator> get combinators;
3743 }
3744
3745 class _UnlinkedExportPublicReader extends fb.TableReader<_UnlinkedExportPublicIm pl> { 2733 class _UnlinkedExportPublicReader extends fb.TableReader<_UnlinkedExportPublicIm pl> {
3746 const _UnlinkedExportPublicReader(); 2734 const _UnlinkedExportPublicReader();
3747 2735
3748 @override 2736 @override
3749 _UnlinkedExportPublicImpl createObject(fb.BufferPointer bp) => new _UnlinkedEx portPublicImpl(bp); 2737 _UnlinkedExportPublicImpl createObject(fb.BufferPointer bp) => new _UnlinkedEx portPublicImpl(bp);
3750 } 2738 }
3751 2739
3752 class _UnlinkedExportPublicImpl extends Object with _UnlinkedExportPublicMixin i mplements UnlinkedExportPublic { 2740 class _UnlinkedExportPublicImpl extends Object with _UnlinkedExportPublicMixin i mplements idl.UnlinkedExportPublic {
3753 final fb.BufferPointer _bp; 2741 final fb.BufferPointer _bp;
3754 2742
3755 _UnlinkedExportPublicImpl(this._bp); 2743 _UnlinkedExportPublicImpl(this._bp);
3756 2744
3757 String _uri; 2745 String _uri;
3758 List<UnlinkedCombinator> _combinators; 2746 List<idl.UnlinkedCombinator> _combinators;
3759 2747
3760 @override 2748 @override
3761 String get uri { 2749 String get uri {
3762 _uri ??= const fb.StringReader().vTableGet(_bp, 0, ''); 2750 _uri ??= const fb.StringReader().vTableGet(_bp, 0, '');
3763 return _uri; 2751 return _uri;
3764 } 2752 }
3765 2753
3766 @override 2754 @override
3767 List<UnlinkedCombinator> get combinators { 2755 List<idl.UnlinkedCombinator> get combinators {
3768 _combinators ??= const fb.ListReader<UnlinkedCombinator>(const _UnlinkedComb inatorReader()).vTableGet(_bp, 1, const <UnlinkedCombinator>[]); 2756 _combinators ??= const fb.ListReader<idl.UnlinkedCombinator>(const _Unlinked CombinatorReader()).vTableGet(_bp, 1, const <idl.UnlinkedCombinator>[]);
3769 return _combinators; 2757 return _combinators;
3770 } 2758 }
3771 } 2759 }
3772 2760
3773 abstract class _UnlinkedExportPublicMixin implements UnlinkedExportPublic { 2761 abstract class _UnlinkedExportPublicMixin implements idl.UnlinkedExportPublic {
3774 @override 2762 @override
3775 Map<String, Object> toMap() => { 2763 Map<String, Object> toMap() => {
3776 "uri": uri, 2764 "uri": uri,
3777 "combinators": combinators, 2765 "combinators": combinators,
3778 }; 2766 };
3779 } 2767 }
3780 2768
3781 class UnlinkedImportBuilder extends Object with _UnlinkedImportMixin implements UnlinkedImport { 2769 class UnlinkedImportBuilder extends Object with _UnlinkedImportMixin implements idl.UnlinkedImport {
3782 bool _finished = false; 2770 bool _finished = false;
3783 2771
3784 String _uri; 2772 String _uri;
3785 int _offset; 2773 int _offset;
3786 int _prefixReference; 2774 int _prefixReference;
3787 List<UnlinkedCombinatorBuilder> _combinators; 2775 List<UnlinkedCombinatorBuilder> _combinators;
3788 bool _isDeferred; 2776 bool _isDeferred;
3789 bool _isImplicit; 2777 bool _isImplicit;
3790 int _uriOffset; 2778 int _uriOffset;
3791 int _uriEnd; 2779 int _uriEnd;
(...skipping 157 matching lines...) Expand 10 before | Expand all | Expand 10 after
3949 if (_uriEnd != null && _uriEnd != 0) { 2937 if (_uriEnd != null && _uriEnd != 0) {
3950 fbBuilder.addUint32(7, _uriEnd); 2938 fbBuilder.addUint32(7, _uriEnd);
3951 } 2939 }
3952 if (_prefixOffset != null && _prefixOffset != 0) { 2940 if (_prefixOffset != null && _prefixOffset != 0) {
3953 fbBuilder.addUint32(8, _prefixOffset); 2941 fbBuilder.addUint32(8, _prefixOffset);
3954 } 2942 }
3955 return fbBuilder.endTable(); 2943 return fbBuilder.endTable();
3956 } 2944 }
3957 } 2945 }
3958 2946
3959 /**
3960 * Unlinked summary information about an import declaration.
3961 */
3962 abstract class UnlinkedImport extends base.SummaryClass {
3963
3964 /**
3965 * URI used in the source code to reference the imported library.
3966 */
3967 String get uri;
3968
3969 /**
3970 * If [isImplicit] is false, offset of the "import" keyword. If [isImplicit]
3971 * is true, zero.
3972 */
3973 int get offset;
3974
3975 /**
3976 * Index into [UnlinkedUnit.references] of the prefix declared by this
3977 * import declaration, or zero if this import declaration declares no prefix.
3978 *
3979 * Note that multiple imports can declare the same prefix.
3980 */
3981 int get prefixReference;
3982
3983 /**
3984 * Combinators contained in this import declaration.
3985 */
3986 List<UnlinkedCombinator> get combinators;
3987
3988 /**
3989 * Indicates whether the import declaration uses the `deferred` keyword.
3990 */
3991 bool get isDeferred;
3992
3993 /**
3994 * Indicates whether the import declaration is implicit.
3995 */
3996 bool get isImplicit;
3997
3998 /**
3999 * Offset of the URI string (including quotes) relative to the beginning of
4000 * the file. If [isImplicit] is true, zero.
4001 */
4002 int get uriOffset;
4003
4004 /**
4005 * End of the URI string (including quotes) relative to the beginning of the
4006 * file. If [isImplicit] is true, zero.
4007 */
4008 int get uriEnd;
4009
4010 /**
4011 * Offset of the prefix name relative to the beginning of the file, or zero
4012 * if there is no prefix.
4013 */
4014 int get prefixOffset;
4015 }
4016
4017 class _UnlinkedImportReader extends fb.TableReader<_UnlinkedImportImpl> { 2947 class _UnlinkedImportReader extends fb.TableReader<_UnlinkedImportImpl> {
4018 const _UnlinkedImportReader(); 2948 const _UnlinkedImportReader();
4019 2949
4020 @override 2950 @override
4021 _UnlinkedImportImpl createObject(fb.BufferPointer bp) => new _UnlinkedImportIm pl(bp); 2951 _UnlinkedImportImpl createObject(fb.BufferPointer bp) => new _UnlinkedImportIm pl(bp);
4022 } 2952 }
4023 2953
4024 class _UnlinkedImportImpl extends Object with _UnlinkedImportMixin implements Un linkedImport { 2954 class _UnlinkedImportImpl extends Object with _UnlinkedImportMixin implements id l.UnlinkedImport {
4025 final fb.BufferPointer _bp; 2955 final fb.BufferPointer _bp;
4026 2956
4027 _UnlinkedImportImpl(this._bp); 2957 _UnlinkedImportImpl(this._bp);
4028 2958
4029 String _uri; 2959 String _uri;
4030 int _offset; 2960 int _offset;
4031 int _prefixReference; 2961 int _prefixReference;
4032 List<UnlinkedCombinator> _combinators; 2962 List<idl.UnlinkedCombinator> _combinators;
4033 bool _isDeferred; 2963 bool _isDeferred;
4034 bool _isImplicit; 2964 bool _isImplicit;
4035 int _uriOffset; 2965 int _uriOffset;
4036 int _uriEnd; 2966 int _uriEnd;
4037 int _prefixOffset; 2967 int _prefixOffset;
4038 2968
4039 @override 2969 @override
4040 String get uri { 2970 String get uri {
4041 _uri ??= const fb.StringReader().vTableGet(_bp, 0, ''); 2971 _uri ??= const fb.StringReader().vTableGet(_bp, 0, '');
4042 return _uri; 2972 return _uri;
4043 } 2973 }
4044 2974
4045 @override 2975 @override
4046 int get offset { 2976 int get offset {
4047 _offset ??= const fb.Uint32Reader().vTableGet(_bp, 1, 0); 2977 _offset ??= const fb.Uint32Reader().vTableGet(_bp, 1, 0);
4048 return _offset; 2978 return _offset;
4049 } 2979 }
4050 2980
4051 @override 2981 @override
4052 int get prefixReference { 2982 int get prefixReference {
4053 _prefixReference ??= const fb.Uint32Reader().vTableGet(_bp, 2, 0); 2983 _prefixReference ??= const fb.Uint32Reader().vTableGet(_bp, 2, 0);
4054 return _prefixReference; 2984 return _prefixReference;
4055 } 2985 }
4056 2986
4057 @override 2987 @override
4058 List<UnlinkedCombinator> get combinators { 2988 List<idl.UnlinkedCombinator> get combinators {
4059 _combinators ??= const fb.ListReader<UnlinkedCombinator>(const _UnlinkedComb inatorReader()).vTableGet(_bp, 3, const <UnlinkedCombinator>[]); 2989 _combinators ??= const fb.ListReader<idl.UnlinkedCombinator>(const _Unlinked CombinatorReader()).vTableGet(_bp, 3, const <idl.UnlinkedCombinator>[]);
4060 return _combinators; 2990 return _combinators;
4061 } 2991 }
4062 2992
4063 @override 2993 @override
4064 bool get isDeferred { 2994 bool get isDeferred {
4065 _isDeferred ??= const fb.BoolReader().vTableGet(_bp, 4, false); 2995 _isDeferred ??= const fb.BoolReader().vTableGet(_bp, 4, false);
4066 return _isDeferred; 2996 return _isDeferred;
4067 } 2997 }
4068 2998
4069 @override 2999 @override
(...skipping 14 matching lines...) Expand all
4084 return _uriEnd; 3014 return _uriEnd;
4085 } 3015 }
4086 3016
4087 @override 3017 @override
4088 int get prefixOffset { 3018 int get prefixOffset {
4089 _prefixOffset ??= const fb.Uint32Reader().vTableGet(_bp, 8, 0); 3019 _prefixOffset ??= const fb.Uint32Reader().vTableGet(_bp, 8, 0);
4090 return _prefixOffset; 3020 return _prefixOffset;
4091 } 3021 }
4092 } 3022 }
4093 3023
4094 abstract class _UnlinkedImportMixin implements UnlinkedImport { 3024 abstract class _UnlinkedImportMixin implements idl.UnlinkedImport {
4095 @override 3025 @override
4096 Map<String, Object> toMap() => { 3026 Map<String, Object> toMap() => {
4097 "uri": uri, 3027 "uri": uri,
4098 "offset": offset, 3028 "offset": offset,
4099 "prefixReference": prefixReference, 3029 "prefixReference": prefixReference,
4100 "combinators": combinators, 3030 "combinators": combinators,
4101 "isDeferred": isDeferred, 3031 "isDeferred": isDeferred,
4102 "isImplicit": isImplicit, 3032 "isImplicit": isImplicit,
4103 "uriOffset": uriOffset, 3033 "uriOffset": uriOffset,
4104 "uriEnd": uriEnd, 3034 "uriEnd": uriEnd,
4105 "prefixOffset": prefixOffset, 3035 "prefixOffset": prefixOffset,
4106 }; 3036 };
4107 } 3037 }
4108 3038
4109 class UnlinkedParamBuilder extends Object with _UnlinkedParamMixin implements Un linkedParam { 3039 class UnlinkedParamBuilder extends Object with _UnlinkedParamMixin implements id l.UnlinkedParam {
4110 bool _finished = false; 3040 bool _finished = false;
4111 3041
4112 String _name; 3042 String _name;
4113 int _nameOffset; 3043 int _nameOffset;
4114 EntityRefBuilder _type; 3044 EntityRefBuilder _type;
4115 List<UnlinkedParamBuilder> _parameters; 3045 List<UnlinkedParamBuilder> _parameters;
4116 UnlinkedParamKind _kind; 3046 idl.UnlinkedParamKind _kind;
4117 bool _isFunctionTyped; 3047 bool _isFunctionTyped;
4118 bool _isInitializingFormal; 3048 bool _isInitializingFormal;
4119 int _inferredTypeSlot; 3049 int _inferredTypeSlot;
4120 3050
4121 @override 3051 @override
4122 String get name => _name ??= ''; 3052 String get name => _name ??= '';
4123 3053
4124 /** 3054 /**
4125 * Name of the parameter. 3055 * Name of the parameter.
4126 */ 3056 */
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
4159 3089
4160 /** 3090 /**
4161 * If [isFunctionTyped] is `true`, the parameters of the function type. 3091 * If [isFunctionTyped] is `true`, the parameters of the function type.
4162 */ 3092 */
4163 void set parameters(List<UnlinkedParamBuilder> _value) { 3093 void set parameters(List<UnlinkedParamBuilder> _value) {
4164 assert(!_finished); 3094 assert(!_finished);
4165 _parameters = _value; 3095 _parameters = _value;
4166 } 3096 }
4167 3097
4168 @override 3098 @override
4169 UnlinkedParamKind get kind => _kind ??= UnlinkedParamKind.required; 3099 idl.UnlinkedParamKind get kind => _kind ??= idl.UnlinkedParamKind.required;
4170 3100
4171 /** 3101 /**
4172 * Kind of the parameter. 3102 * Kind of the parameter.
4173 */ 3103 */
4174 void set kind(UnlinkedParamKind _value) { 3104 void set kind(idl.UnlinkedParamKind _value) {
4175 assert(!_finished); 3105 assert(!_finished);
4176 _kind = _value; 3106 _kind = _value;
4177 } 3107 }
4178 3108
4179 @override 3109 @override
4180 bool get isFunctionTyped => _isFunctionTyped ??= false; 3110 bool get isFunctionTyped => _isFunctionTyped ??= false;
4181 3111
4182 /** 3112 /**
4183 * Indicates whether this is a function-typed parameter. 3113 * Indicates whether this is a function-typed parameter.
4184 */ 3114 */
(...skipping 27 matching lines...) Expand all
4212 * inferrable, they are not marked as such in the summary; if their type is 3142 * inferrable, they are not marked as such in the summary; if their type is
4213 * not specified, they always inherit the static type of the corresponding 3143 * not specified, they always inherit the static type of the corresponding
4214 * field. 3144 * field.
4215 */ 3145 */
4216 void set inferredTypeSlot(int _value) { 3146 void set inferredTypeSlot(int _value) {
4217 assert(!_finished); 3147 assert(!_finished);
4218 assert(_value == null || _value >= 0); 3148 assert(_value == null || _value >= 0);
4219 _inferredTypeSlot = _value; 3149 _inferredTypeSlot = _value;
4220 } 3150 }
4221 3151
4222 UnlinkedParamBuilder({String name, int nameOffset, EntityRefBuilder type, List <UnlinkedParamBuilder> parameters, UnlinkedParamKind kind, bool isFunctionTyped, bool isInitializingFormal, int inferredTypeSlot}) 3152 UnlinkedParamBuilder({String name, int nameOffset, EntityRefBuilder type, List <UnlinkedParamBuilder> parameters, idl.UnlinkedParamKind kind, bool isFunctionTy ped, bool isInitializingFormal, int inferredTypeSlot})
4223 : _name = name, 3153 : _name = name,
4224 _nameOffset = nameOffset, 3154 _nameOffset = nameOffset,
4225 _type = type, 3155 _type = type,
4226 _parameters = parameters, 3156 _parameters = parameters,
4227 _kind = kind, 3157 _kind = kind,
4228 _isFunctionTyped = isFunctionTyped, 3158 _isFunctionTyped = isFunctionTyped,
4229 _isInitializingFormal = isInitializingFormal, 3159 _isInitializingFormal = isInitializingFormal,
4230 _inferredTypeSlot = inferredTypeSlot; 3160 _inferredTypeSlot = inferredTypeSlot;
4231 3161
4232 fb.Offset finish(fb.Builder fbBuilder) { 3162 fb.Offset finish(fb.Builder fbBuilder) {
(...skipping 17 matching lines...) Expand all
4250 } 3180 }
4251 if (_nameOffset != null && _nameOffset != 0) { 3181 if (_nameOffset != null && _nameOffset != 0) {
4252 fbBuilder.addUint32(1, _nameOffset); 3182 fbBuilder.addUint32(1, _nameOffset);
4253 } 3183 }
4254 if (offset_type != null) { 3184 if (offset_type != null) {
4255 fbBuilder.addOffset(2, offset_type); 3185 fbBuilder.addOffset(2, offset_type);
4256 } 3186 }
4257 if (offset_parameters != null) { 3187 if (offset_parameters != null) {
4258 fbBuilder.addOffset(3, offset_parameters); 3188 fbBuilder.addOffset(3, offset_parameters);
4259 } 3189 }
4260 if (_kind != null && _kind != UnlinkedParamKind.required) { 3190 if (_kind != null && _kind != idl.UnlinkedParamKind.required) {
4261 fbBuilder.addUint32(4, _kind.index); 3191 fbBuilder.addUint32(4, _kind.index);
4262 } 3192 }
4263 if (_isFunctionTyped == true) { 3193 if (_isFunctionTyped == true) {
4264 fbBuilder.addBool(5, true); 3194 fbBuilder.addBool(5, true);
4265 } 3195 }
4266 if (_isInitializingFormal == true) { 3196 if (_isInitializingFormal == true) {
4267 fbBuilder.addBool(6, true); 3197 fbBuilder.addBool(6, true);
4268 } 3198 }
4269 if (_inferredTypeSlot != null && _inferredTypeSlot != 0) { 3199 if (_inferredTypeSlot != null && _inferredTypeSlot != 0) {
4270 fbBuilder.addUint32(7, _inferredTypeSlot); 3200 fbBuilder.addUint32(7, _inferredTypeSlot);
4271 } 3201 }
4272 return fbBuilder.endTable(); 3202 return fbBuilder.endTable();
4273 } 3203 }
4274 } 3204 }
4275 3205
4276 /**
4277 * Unlinked summary information about a function parameter.
4278 */
4279 abstract class UnlinkedParam extends base.SummaryClass {
4280
4281 /**
4282 * Name of the parameter.
4283 */
4284 String get name;
4285
4286 /**
4287 * Offset of the parameter name relative to the beginning of the file.
4288 */
4289 int get nameOffset;
4290
4291 /**
4292 * If [isFunctionTyped] is `true`, the declared return type. If
4293 * [isFunctionTyped] is `false`, the declared type. Absent if the type is
4294 * implicit.
4295 */
4296 EntityRef get type;
4297
4298 /**
4299 * If [isFunctionTyped] is `true`, the parameters of the function type.
4300 */
4301 List<UnlinkedParam> get parameters;
4302
4303 /**
4304 * Kind of the parameter.
4305 */
4306 UnlinkedParamKind get kind;
4307
4308 /**
4309 * Indicates whether this is a function-typed parameter.
4310 */
4311 bool get isFunctionTyped;
4312
4313 /**
4314 * Indicates whether this is an initializing formal parameter (i.e. it is
4315 * declared using `this.` syntax).
4316 */
4317 bool get isInitializingFormal;
4318
4319 /**
4320 * If this parameter's type is inferrable, nonzero slot id identifying which
4321 * entry in [LinkedLibrary.types] contains the inferred type. If there is no
4322 * matching entry in [LinkedLibrary.types], then no type was inferred for
4323 * this variable, so its static type is `dynamic`.
4324 *
4325 * Note that although strong mode considers initializing formals to be
4326 * inferrable, they are not marked as such in the summary; if their type is
4327 * not specified, they always inherit the static type of the corresponding
4328 * field.
4329 */
4330 int get inferredTypeSlot;
4331 }
4332
4333 class _UnlinkedParamReader extends fb.TableReader<_UnlinkedParamImpl> { 3206 class _UnlinkedParamReader extends fb.TableReader<_UnlinkedParamImpl> {
4334 const _UnlinkedParamReader(); 3207 const _UnlinkedParamReader();
4335 3208
4336 @override 3209 @override
4337 _UnlinkedParamImpl createObject(fb.BufferPointer bp) => new _UnlinkedParamImpl (bp); 3210 _UnlinkedParamImpl createObject(fb.BufferPointer bp) => new _UnlinkedParamImpl (bp);
4338 } 3211 }
4339 3212
4340 class _UnlinkedParamImpl extends Object with _UnlinkedParamMixin implements Unli nkedParam { 3213 class _UnlinkedParamImpl extends Object with _UnlinkedParamMixin implements idl. UnlinkedParam {
4341 final fb.BufferPointer _bp; 3214 final fb.BufferPointer _bp;
4342 3215
4343 _UnlinkedParamImpl(this._bp); 3216 _UnlinkedParamImpl(this._bp);
4344 3217
4345 String _name; 3218 String _name;
4346 int _nameOffset; 3219 int _nameOffset;
4347 EntityRef _type; 3220 idl.EntityRef _type;
4348 List<UnlinkedParam> _parameters; 3221 List<idl.UnlinkedParam> _parameters;
4349 UnlinkedParamKind _kind; 3222 idl.UnlinkedParamKind _kind;
4350 bool _isFunctionTyped; 3223 bool _isFunctionTyped;
4351 bool _isInitializingFormal; 3224 bool _isInitializingFormal;
4352 int _inferredTypeSlot; 3225 int _inferredTypeSlot;
4353 3226
4354 @override 3227 @override
4355 String get name { 3228 String get name {
4356 _name ??= const fb.StringReader().vTableGet(_bp, 0, ''); 3229 _name ??= const fb.StringReader().vTableGet(_bp, 0, '');
4357 return _name; 3230 return _name;
4358 } 3231 }
4359 3232
4360 @override 3233 @override
4361 int get nameOffset { 3234 int get nameOffset {
4362 _nameOffset ??= const fb.Uint32Reader().vTableGet(_bp, 1, 0); 3235 _nameOffset ??= const fb.Uint32Reader().vTableGet(_bp, 1, 0);
4363 return _nameOffset; 3236 return _nameOffset;
4364 } 3237 }
4365 3238
4366 @override 3239 @override
4367 EntityRef get type { 3240 idl.EntityRef get type {
4368 _type ??= const _EntityRefReader().vTableGet(_bp, 2, null); 3241 _type ??= const _EntityRefReader().vTableGet(_bp, 2, null);
4369 return _type; 3242 return _type;
4370 } 3243 }
4371 3244
4372 @override 3245 @override
4373 List<UnlinkedParam> get parameters { 3246 List<idl.UnlinkedParam> get parameters {
4374 _parameters ??= const fb.ListReader<UnlinkedParam>(const _UnlinkedParamReade r()).vTableGet(_bp, 3, const <UnlinkedParam>[]); 3247 _parameters ??= const fb.ListReader<idl.UnlinkedParam>(const _UnlinkedParamR eader()).vTableGet(_bp, 3, const <idl.UnlinkedParam>[]);
4375 return _parameters; 3248 return _parameters;
4376 } 3249 }
4377 3250
4378 @override 3251 @override
4379 UnlinkedParamKind get kind { 3252 idl.UnlinkedParamKind get kind {
4380 _kind ??= const _UnlinkedParamKindReader().vTableGet(_bp, 4, UnlinkedParamKi nd.required); 3253 _kind ??= const _UnlinkedParamKindReader().vTableGet(_bp, 4, idl.UnlinkedPar amKind.required);
4381 return _kind; 3254 return _kind;
4382 } 3255 }
4383 3256
4384 @override 3257 @override
4385 bool get isFunctionTyped { 3258 bool get isFunctionTyped {
4386 _isFunctionTyped ??= const fb.BoolReader().vTableGet(_bp, 5, false); 3259 _isFunctionTyped ??= const fb.BoolReader().vTableGet(_bp, 5, false);
4387 return _isFunctionTyped; 3260 return _isFunctionTyped;
4388 } 3261 }
4389 3262
4390 @override 3263 @override
4391 bool get isInitializingFormal { 3264 bool get isInitializingFormal {
4392 _isInitializingFormal ??= const fb.BoolReader().vTableGet(_bp, 6, false); 3265 _isInitializingFormal ??= const fb.BoolReader().vTableGet(_bp, 6, false);
4393 return _isInitializingFormal; 3266 return _isInitializingFormal;
4394 } 3267 }
4395 3268
4396 @override 3269 @override
4397 int get inferredTypeSlot { 3270 int get inferredTypeSlot {
4398 _inferredTypeSlot ??= const fb.Uint32Reader().vTableGet(_bp, 7, 0); 3271 _inferredTypeSlot ??= const fb.Uint32Reader().vTableGet(_bp, 7, 0);
4399 return _inferredTypeSlot; 3272 return _inferredTypeSlot;
4400 } 3273 }
4401 } 3274 }
4402 3275
4403 abstract class _UnlinkedParamMixin implements UnlinkedParam { 3276 abstract class _UnlinkedParamMixin implements idl.UnlinkedParam {
4404 @override 3277 @override
4405 Map<String, Object> toMap() => { 3278 Map<String, Object> toMap() => {
4406 "name": name, 3279 "name": name,
4407 "nameOffset": nameOffset, 3280 "nameOffset": nameOffset,
4408 "type": type, 3281 "type": type,
4409 "parameters": parameters, 3282 "parameters": parameters,
4410 "kind": kind, 3283 "kind": kind,
4411 "isFunctionTyped": isFunctionTyped, 3284 "isFunctionTyped": isFunctionTyped,
4412 "isInitializingFormal": isInitializingFormal, 3285 "isInitializingFormal": isInitializingFormal,
4413 "inferredTypeSlot": inferredTypeSlot, 3286 "inferredTypeSlot": inferredTypeSlot,
4414 }; 3287 };
4415 } 3288 }
4416 3289
4417 class UnlinkedPartBuilder extends Object with _UnlinkedPartMixin implements Unli nkedPart { 3290 class UnlinkedPartBuilder extends Object with _UnlinkedPartMixin implements idl. UnlinkedPart {
4418 bool _finished = false; 3291 bool _finished = false;
4419 3292
4420 int _uriOffset; 3293 int _uriOffset;
4421 int _uriEnd; 3294 int _uriEnd;
4422 3295
4423 @override 3296 @override
4424 int get uriOffset => _uriOffset ??= 0; 3297 int get uriOffset => _uriOffset ??= 0;
4425 3298
4426 /** 3299 /**
4427 * Offset of the URI string (including quotes) relative to the beginning of 3300 * Offset of the URI string (including quotes) relative to the beginning of
(...skipping 29 matching lines...) Expand all
4457 if (_uriOffset != null && _uriOffset != 0) { 3330 if (_uriOffset != null && _uriOffset != 0) {
4458 fbBuilder.addUint32(0, _uriOffset); 3331 fbBuilder.addUint32(0, _uriOffset);
4459 } 3332 }
4460 if (_uriEnd != null && _uriEnd != 0) { 3333 if (_uriEnd != null && _uriEnd != 0) {
4461 fbBuilder.addUint32(1, _uriEnd); 3334 fbBuilder.addUint32(1, _uriEnd);
4462 } 3335 }
4463 return fbBuilder.endTable(); 3336 return fbBuilder.endTable();
4464 } 3337 }
4465 } 3338 }
4466 3339
4467 /**
4468 * Unlinked summary information about a part declaration.
4469 */
4470 abstract class UnlinkedPart extends base.SummaryClass {
4471
4472 /**
4473 * Offset of the URI string (including quotes) relative to the beginning of
4474 * the file.
4475 */
4476 int get uriOffset;
4477
4478 /**
4479 * End of the URI string (including quotes) relative to the beginning of the
4480 * file.
4481 */
4482 int get uriEnd;
4483 }
4484
4485 class _UnlinkedPartReader extends fb.TableReader<_UnlinkedPartImpl> { 3340 class _UnlinkedPartReader extends fb.TableReader<_UnlinkedPartImpl> {
4486 const _UnlinkedPartReader(); 3341 const _UnlinkedPartReader();
4487 3342
4488 @override 3343 @override
4489 _UnlinkedPartImpl createObject(fb.BufferPointer bp) => new _UnlinkedPartImpl(b p); 3344 _UnlinkedPartImpl createObject(fb.BufferPointer bp) => new _UnlinkedPartImpl(b p);
4490 } 3345 }
4491 3346
4492 class _UnlinkedPartImpl extends Object with _UnlinkedPartMixin implements Unlink edPart { 3347 class _UnlinkedPartImpl extends Object with _UnlinkedPartMixin implements idl.Un linkedPart {
4493 final fb.BufferPointer _bp; 3348 final fb.BufferPointer _bp;
4494 3349
4495 _UnlinkedPartImpl(this._bp); 3350 _UnlinkedPartImpl(this._bp);
4496 3351
4497 int _uriOffset; 3352 int _uriOffset;
4498 int _uriEnd; 3353 int _uriEnd;
4499 3354
4500 @override 3355 @override
4501 int get uriOffset { 3356 int get uriOffset {
4502 _uriOffset ??= const fb.Uint32Reader().vTableGet(_bp, 0, 0); 3357 _uriOffset ??= const fb.Uint32Reader().vTableGet(_bp, 0, 0);
4503 return _uriOffset; 3358 return _uriOffset;
4504 } 3359 }
4505 3360
4506 @override 3361 @override
4507 int get uriEnd { 3362 int get uriEnd {
4508 _uriEnd ??= const fb.Uint32Reader().vTableGet(_bp, 1, 0); 3363 _uriEnd ??= const fb.Uint32Reader().vTableGet(_bp, 1, 0);
4509 return _uriEnd; 3364 return _uriEnd;
4510 } 3365 }
4511 } 3366 }
4512 3367
4513 abstract class _UnlinkedPartMixin implements UnlinkedPart { 3368 abstract class _UnlinkedPartMixin implements idl.UnlinkedPart {
4514 @override 3369 @override
4515 Map<String, Object> toMap() => { 3370 Map<String, Object> toMap() => {
4516 "uriOffset": uriOffset, 3371 "uriOffset": uriOffset,
4517 "uriEnd": uriEnd, 3372 "uriEnd": uriEnd,
4518 }; 3373 };
4519 } 3374 }
4520 3375
4521 class UnlinkedPublicNameBuilder extends Object with _UnlinkedPublicNameMixin imp lements UnlinkedPublicName { 3376 class UnlinkedPublicNameBuilder extends Object with _UnlinkedPublicNameMixin imp lements idl.UnlinkedPublicName {
4522 bool _finished = false; 3377 bool _finished = false;
4523 3378
4524 String _name; 3379 String _name;
4525 ReferenceKind _kind; 3380 idl.ReferenceKind _kind;
4526 int _numTypeParameters; 3381 int _numTypeParameters;
4527 List<UnlinkedPublicNameBuilder> _constMembers; 3382 List<UnlinkedPublicNameBuilder> _constMembers;
4528 3383
4529 @override 3384 @override
4530 String get name => _name ??= ''; 3385 String get name => _name ??= '';
4531 3386
4532 /** 3387 /**
4533 * The name itself. 3388 * The name itself.
4534 */ 3389 */
4535 void set name(String _value) { 3390 void set name(String _value) {
4536 assert(!_finished); 3391 assert(!_finished);
4537 _name = _value; 3392 _name = _value;
4538 } 3393 }
4539 3394
4540 @override 3395 @override
4541 ReferenceKind get kind => _kind ??= ReferenceKind.classOrEnum; 3396 idl.ReferenceKind get kind => _kind ??= idl.ReferenceKind.classOrEnum;
4542 3397
4543 /** 3398 /**
4544 * The kind of object referred to by the name. 3399 * The kind of object referred to by the name.
4545 */ 3400 */
4546 void set kind(ReferenceKind _value) { 3401 void set kind(idl.ReferenceKind _value) {
4547 assert(!_finished); 3402 assert(!_finished);
4548 _kind = _value; 3403 _kind = _value;
4549 } 3404 }
4550 3405
4551 @override 3406 @override
4552 int get numTypeParameters => _numTypeParameters ??= 0; 3407 int get numTypeParameters => _numTypeParameters ??= 0;
4553 3408
4554 /** 3409 /**
4555 * If the entity being referred to is generic, the number of type parameters 3410 * If the entity being referred to is generic, the number of type parameters
4556 * it accepts. Otherwise zero. 3411 * it accepts. Otherwise zero.
(...skipping 10 matching lines...) Expand all
4567 /** 3422 /**
4568 * If this [UnlinkedPublicName] is a class, the list of members which can be 3423 * If this [UnlinkedPublicName] is a class, the list of members which can be
4569 * referenced from constants - static constant fields, static methods, and 3424 * referenced from constants - static constant fields, static methods, and
4570 * constructors. Otherwise empty. 3425 * constructors. Otherwise empty.
4571 */ 3426 */
4572 void set constMembers(List<UnlinkedPublicNameBuilder> _value) { 3427 void set constMembers(List<UnlinkedPublicNameBuilder> _value) {
4573 assert(!_finished); 3428 assert(!_finished);
4574 _constMembers = _value; 3429 _constMembers = _value;
4575 } 3430 }
4576 3431
4577 UnlinkedPublicNameBuilder({String name, ReferenceKind kind, int numTypeParamet ers, List<UnlinkedPublicNameBuilder> constMembers}) 3432 UnlinkedPublicNameBuilder({String name, idl.ReferenceKind kind, int numTypePar ameters, List<UnlinkedPublicNameBuilder> constMembers})
4578 : _name = name, 3433 : _name = name,
4579 _kind = kind, 3434 _kind = kind,
4580 _numTypeParameters = numTypeParameters, 3435 _numTypeParameters = numTypeParameters,
4581 _constMembers = constMembers; 3436 _constMembers = constMembers;
4582 3437
4583 fb.Offset finish(fb.Builder fbBuilder) { 3438 fb.Offset finish(fb.Builder fbBuilder) {
4584 assert(!_finished); 3439 assert(!_finished);
4585 _finished = true; 3440 _finished = true;
4586 fb.Offset offset_name; 3441 fb.Offset offset_name;
4587 fb.Offset offset_constMembers; 3442 fb.Offset offset_constMembers;
4588 if (_name != null) { 3443 if (_name != null) {
4589 offset_name = fbBuilder.writeString(_name); 3444 offset_name = fbBuilder.writeString(_name);
4590 } 3445 }
4591 if (!(_constMembers == null || _constMembers.isEmpty)) { 3446 if (!(_constMembers == null || _constMembers.isEmpty)) {
4592 offset_constMembers = fbBuilder.writeList(_constMembers.map((b) => b.finis h(fbBuilder)).toList()); 3447 offset_constMembers = fbBuilder.writeList(_constMembers.map((b) => b.finis h(fbBuilder)).toList());
4593 } 3448 }
4594 fbBuilder.startTable(); 3449 fbBuilder.startTable();
4595 if (offset_name != null) { 3450 if (offset_name != null) {
4596 fbBuilder.addOffset(0, offset_name); 3451 fbBuilder.addOffset(0, offset_name);
4597 } 3452 }
4598 if (_kind != null && _kind != ReferenceKind.classOrEnum) { 3453 if (_kind != null && _kind != idl.ReferenceKind.classOrEnum) {
4599 fbBuilder.addUint32(1, _kind.index); 3454 fbBuilder.addUint32(1, _kind.index);
4600 } 3455 }
4601 if (_numTypeParameters != null && _numTypeParameters != 0) { 3456 if (_numTypeParameters != null && _numTypeParameters != 0) {
4602 fbBuilder.addUint32(2, _numTypeParameters); 3457 fbBuilder.addUint32(2, _numTypeParameters);
4603 } 3458 }
4604 if (offset_constMembers != null) { 3459 if (offset_constMembers != null) {
4605 fbBuilder.addOffset(3, offset_constMembers); 3460 fbBuilder.addOffset(3, offset_constMembers);
4606 } 3461 }
4607 return fbBuilder.endTable(); 3462 return fbBuilder.endTable();
4608 } 3463 }
4609 } 3464 }
4610 3465
4611 /**
4612 * Unlinked summary information about a specific name contributed by a
4613 * compilation unit to a library's public namespace.
4614 *
4615 * TODO(paulberry): some of this information is redundant with information
4616 * elsewhere in the summary. Consider reducing the redundancy to reduce
4617 * summary size.
4618 */
4619 abstract class UnlinkedPublicName extends base.SummaryClass {
4620
4621 /**
4622 * The name itself.
4623 */
4624 String get name;
4625
4626 /**
4627 * The kind of object referred to by the name.
4628 */
4629 ReferenceKind get kind;
4630
4631 /**
4632 * If the entity being referred to is generic, the number of type parameters
4633 * it accepts. Otherwise zero.
4634 */
4635 int get numTypeParameters;
4636
4637 /**
4638 * If this [UnlinkedPublicName] is a class, the list of members which can be
4639 * referenced from constants - static constant fields, static methods, and
4640 * constructors. Otherwise empty.
4641 */
4642 List<UnlinkedPublicName> get constMembers;
4643 }
4644
4645 class _UnlinkedPublicNameReader extends fb.TableReader<_UnlinkedPublicNameImpl> { 3466 class _UnlinkedPublicNameReader extends fb.TableReader<_UnlinkedPublicNameImpl> {
4646 const _UnlinkedPublicNameReader(); 3467 const _UnlinkedPublicNameReader();
4647 3468
4648 @override 3469 @override
4649 _UnlinkedPublicNameImpl createObject(fb.BufferPointer bp) => new _UnlinkedPubl icNameImpl(bp); 3470 _UnlinkedPublicNameImpl createObject(fb.BufferPointer bp) => new _UnlinkedPubl icNameImpl(bp);
4650 } 3471 }
4651 3472
4652 class _UnlinkedPublicNameImpl extends Object with _UnlinkedPublicNameMixin imple ments UnlinkedPublicName { 3473 class _UnlinkedPublicNameImpl extends Object with _UnlinkedPublicNameMixin imple ments idl.UnlinkedPublicName {
4653 final fb.BufferPointer _bp; 3474 final fb.BufferPointer _bp;
4654 3475
4655 _UnlinkedPublicNameImpl(this._bp); 3476 _UnlinkedPublicNameImpl(this._bp);
4656 3477
4657 String _name; 3478 String _name;
4658 ReferenceKind _kind; 3479 idl.ReferenceKind _kind;
4659 int _numTypeParameters; 3480 int _numTypeParameters;
4660 List<UnlinkedPublicName> _constMembers; 3481 List<idl.UnlinkedPublicName> _constMembers;
4661 3482
4662 @override 3483 @override
4663 String get name { 3484 String get name {
4664 _name ??= const fb.StringReader().vTableGet(_bp, 0, ''); 3485 _name ??= const fb.StringReader().vTableGet(_bp, 0, '');
4665 return _name; 3486 return _name;
4666 } 3487 }
4667 3488
4668 @override 3489 @override
4669 ReferenceKind get kind { 3490 idl.ReferenceKind get kind {
4670 _kind ??= const _ReferenceKindReader().vTableGet(_bp, 1, ReferenceKind.class OrEnum); 3491 _kind ??= const _ReferenceKindReader().vTableGet(_bp, 1, idl.ReferenceKind.c lassOrEnum);
4671 return _kind; 3492 return _kind;
4672 } 3493 }
4673 3494
4674 @override 3495 @override
4675 int get numTypeParameters { 3496 int get numTypeParameters {
4676 _numTypeParameters ??= const fb.Uint32Reader().vTableGet(_bp, 2, 0); 3497 _numTypeParameters ??= const fb.Uint32Reader().vTableGet(_bp, 2, 0);
4677 return _numTypeParameters; 3498 return _numTypeParameters;
4678 } 3499 }
4679 3500
4680 @override 3501 @override
4681 List<UnlinkedPublicName> get constMembers { 3502 List<idl.UnlinkedPublicName> get constMembers {
4682 _constMembers ??= const fb.ListReader<UnlinkedPublicName>(const _UnlinkedPub licNameReader()).vTableGet(_bp, 3, const <UnlinkedPublicName>[]); 3503 _constMembers ??= const fb.ListReader<idl.UnlinkedPublicName>(const _Unlinke dPublicNameReader()).vTableGet(_bp, 3, const <idl.UnlinkedPublicName>[]);
4683 return _constMembers; 3504 return _constMembers;
4684 } 3505 }
4685 } 3506 }
4686 3507
4687 abstract class _UnlinkedPublicNameMixin implements UnlinkedPublicName { 3508 abstract class _UnlinkedPublicNameMixin implements idl.UnlinkedPublicName {
4688 @override 3509 @override
4689 Map<String, Object> toMap() => { 3510 Map<String, Object> toMap() => {
4690 "name": name, 3511 "name": name,
4691 "kind": kind, 3512 "kind": kind,
4692 "numTypeParameters": numTypeParameters, 3513 "numTypeParameters": numTypeParameters,
4693 "constMembers": constMembers, 3514 "constMembers": constMembers,
4694 }; 3515 };
4695 } 3516 }
4696 3517
4697 class UnlinkedPublicNamespaceBuilder extends Object with _UnlinkedPublicNamespac eMixin implements UnlinkedPublicNamespace { 3518 class UnlinkedPublicNamespaceBuilder extends Object with _UnlinkedPublicNamespac eMixin implements idl.UnlinkedPublicNamespace {
4698 bool _finished = false; 3519 bool _finished = false;
4699 3520
4700 List<UnlinkedPublicNameBuilder> _names; 3521 List<UnlinkedPublicNameBuilder> _names;
4701 List<UnlinkedExportPublicBuilder> _exports; 3522 List<UnlinkedExportPublicBuilder> _exports;
4702 List<String> _parts; 3523 List<String> _parts;
4703 3524
4704 @override 3525 @override
4705 List<UnlinkedPublicNameBuilder> get names => _names ??= <UnlinkedPublicNameBui lder>[]; 3526 List<UnlinkedPublicNameBuilder> get names => _names ??= <UnlinkedPublicNameBui lder>[];
4706 3527
4707 /** 3528 /**
(...skipping 61 matching lines...) Expand 10 before | Expand all | Expand 10 after
4769 if (offset_exports != null) { 3590 if (offset_exports != null) {
4770 fbBuilder.addOffset(1, offset_exports); 3591 fbBuilder.addOffset(1, offset_exports);
4771 } 3592 }
4772 if (offset_parts != null) { 3593 if (offset_parts != null) {
4773 fbBuilder.addOffset(2, offset_parts); 3594 fbBuilder.addOffset(2, offset_parts);
4774 } 3595 }
4775 return fbBuilder.endTable(); 3596 return fbBuilder.endTable();
4776 } 3597 }
4777 } 3598 }
4778 3599
4779 /** 3600 idl.UnlinkedPublicNamespace readUnlinkedPublicNamespace(List<int> buffer) {
4780 * Unlinked summary information about what a compilation unit contributes to a 3601 fb.BufferPointer rootRef = new fb.BufferPointer.fromBytes(buffer);
4781 * library's public namespace. This is the subset of [UnlinkedUnit] that is 3602 return const _UnlinkedPublicNamespaceReader().read(rootRef);
4782 * required from dependent libraries in order to perform prelinking.
4783 */
4784 abstract class UnlinkedPublicNamespace extends base.SummaryClass {
4785 factory UnlinkedPublicNamespace.fromBuffer(List<int> buffer) {
4786 fb.BufferPointer rootRef = new fb.BufferPointer.fromBytes(buffer);
4787 return const _UnlinkedPublicNamespaceReader().read(rootRef);
4788 }
4789
4790 /**
4791 * Public names defined in the compilation unit.
4792 *
4793 * TODO(paulberry): consider sorting these names to reduce unnecessary
4794 * relinking.
4795 */
4796 List<UnlinkedPublicName> get names;
4797
4798 /**
4799 * Export declarations in the compilation unit.
4800 */
4801 List<UnlinkedExportPublic> get exports;
4802
4803 /**
4804 * URIs referenced by part declarations in the compilation unit.
4805 */
4806 List<String> get parts;
4807 } 3603 }
4808 3604
4809 class _UnlinkedPublicNamespaceReader extends fb.TableReader<_UnlinkedPublicNames paceImpl> { 3605 class _UnlinkedPublicNamespaceReader extends fb.TableReader<_UnlinkedPublicNames paceImpl> {
4810 const _UnlinkedPublicNamespaceReader(); 3606 const _UnlinkedPublicNamespaceReader();
4811 3607
4812 @override 3608 @override
4813 _UnlinkedPublicNamespaceImpl createObject(fb.BufferPointer bp) => new _Unlinke dPublicNamespaceImpl(bp); 3609 _UnlinkedPublicNamespaceImpl createObject(fb.BufferPointer bp) => new _Unlinke dPublicNamespaceImpl(bp);
4814 } 3610 }
4815 3611
4816 class _UnlinkedPublicNamespaceImpl extends Object with _UnlinkedPublicNamespaceM ixin implements UnlinkedPublicNamespace { 3612 class _UnlinkedPublicNamespaceImpl extends Object with _UnlinkedPublicNamespaceM ixin implements idl.UnlinkedPublicNamespace {
4817 final fb.BufferPointer _bp; 3613 final fb.BufferPointer _bp;
4818 3614
4819 _UnlinkedPublicNamespaceImpl(this._bp); 3615 _UnlinkedPublicNamespaceImpl(this._bp);
4820 3616
4821 List<UnlinkedPublicName> _names; 3617 List<idl.UnlinkedPublicName> _names;
4822 List<UnlinkedExportPublic> _exports; 3618 List<idl.UnlinkedExportPublic> _exports;
4823 List<String> _parts; 3619 List<String> _parts;
4824 3620
4825 @override 3621 @override
4826 List<UnlinkedPublicName> get names { 3622 List<idl.UnlinkedPublicName> get names {
4827 _names ??= const fb.ListReader<UnlinkedPublicName>(const _UnlinkedPublicName Reader()).vTableGet(_bp, 0, const <UnlinkedPublicName>[]); 3623 _names ??= const fb.ListReader<idl.UnlinkedPublicName>(const _UnlinkedPublic NameReader()).vTableGet(_bp, 0, const <idl.UnlinkedPublicName>[]);
4828 return _names; 3624 return _names;
4829 } 3625 }
4830 3626
4831 @override 3627 @override
4832 List<UnlinkedExportPublic> get exports { 3628 List<idl.UnlinkedExportPublic> get exports {
4833 _exports ??= const fb.ListReader<UnlinkedExportPublic>(const _UnlinkedExport PublicReader()).vTableGet(_bp, 1, const <UnlinkedExportPublic>[]); 3629 _exports ??= const fb.ListReader<idl.UnlinkedExportPublic>(const _UnlinkedEx portPublicReader()).vTableGet(_bp, 1, const <idl.UnlinkedExportPublic>[]);
4834 return _exports; 3630 return _exports;
4835 } 3631 }
4836 3632
4837 @override 3633 @override
4838 List<String> get parts { 3634 List<String> get parts {
4839 _parts ??= const fb.ListReader<String>(const fb.StringReader()).vTableGet(_b p, 2, const <String>[]); 3635 _parts ??= const fb.ListReader<String>(const fb.StringReader()).vTableGet(_b p, 2, const <String>[]);
4840 return _parts; 3636 return _parts;
4841 } 3637 }
4842 } 3638 }
4843 3639
4844 abstract class _UnlinkedPublicNamespaceMixin implements UnlinkedPublicNamespace { 3640 abstract class _UnlinkedPublicNamespaceMixin implements idl.UnlinkedPublicNamesp ace {
4845 @override 3641 @override
4846 Map<String, Object> toMap() => { 3642 Map<String, Object> toMap() => {
4847 "names": names, 3643 "names": names,
4848 "exports": exports, 3644 "exports": exports,
4849 "parts": parts, 3645 "parts": parts,
4850 }; 3646 };
4851 } 3647 }
4852 3648
4853 class UnlinkedReferenceBuilder extends Object with _UnlinkedReferenceMixin imple ments UnlinkedReference { 3649 class UnlinkedReferenceBuilder extends Object with _UnlinkedReferenceMixin imple ments idl.UnlinkedReference {
4854 bool _finished = false; 3650 bool _finished = false;
4855 3651
4856 String _name; 3652 String _name;
4857 int _prefixReference; 3653 int _prefixReference;
4858 3654
4859 @override 3655 @override
4860 String get name => _name ??= ''; 3656 String get name => _name ??= '';
4861 3657
4862 /** 3658 /**
4863 * Name of the entity being referred to. For the pseudo-type `dynamic`, the 3659 * Name of the entity being referred to. For the pseudo-type `dynamic`, the
(...skipping 36 matching lines...) Expand 10 before | Expand all | Expand 10 after
4900 if (offset_name != null) { 3696 if (offset_name != null) {
4901 fbBuilder.addOffset(0, offset_name); 3697 fbBuilder.addOffset(0, offset_name);
4902 } 3698 }
4903 if (_prefixReference != null && _prefixReference != 0) { 3699 if (_prefixReference != null && _prefixReference != 0) {
4904 fbBuilder.addUint32(1, _prefixReference); 3700 fbBuilder.addUint32(1, _prefixReference);
4905 } 3701 }
4906 return fbBuilder.endTable(); 3702 return fbBuilder.endTable();
4907 } 3703 }
4908 } 3704 }
4909 3705
4910 /**
4911 * Unlinked summary information about a name referred to in one library that
4912 * might be defined in another.
4913 */
4914 abstract class UnlinkedReference extends base.SummaryClass {
4915
4916 /**
4917 * Name of the entity being referred to. For the pseudo-type `dynamic`, the
4918 * string is "dynamic". For the pseudo-type `void`, the string is "void".
4919 */
4920 String get name;
4921
4922 /**
4923 * Prefix used to refer to the entity, or zero if no prefix is used. This is
4924 * an index into [UnlinkedUnit.references].
4925 *
4926 * Prefix references must always point backward; that is, for all i, if
4927 * UnlinkedUnit.references[i].prefixReference != 0, then
4928 * UnlinkedUnit.references[i].prefixReference < i.
4929 */
4930 int get prefixReference;
4931 }
4932
4933 class _UnlinkedReferenceReader extends fb.TableReader<_UnlinkedReferenceImpl> { 3706 class _UnlinkedReferenceReader extends fb.TableReader<_UnlinkedReferenceImpl> {
4934 const _UnlinkedReferenceReader(); 3707 const _UnlinkedReferenceReader();
4935 3708
4936 @override 3709 @override
4937 _UnlinkedReferenceImpl createObject(fb.BufferPointer bp) => new _UnlinkedRefer enceImpl(bp); 3710 _UnlinkedReferenceImpl createObject(fb.BufferPointer bp) => new _UnlinkedRefer enceImpl(bp);
4938 } 3711 }
4939 3712
4940 class _UnlinkedReferenceImpl extends Object with _UnlinkedReferenceMixin impleme nts UnlinkedReference { 3713 class _UnlinkedReferenceImpl extends Object with _UnlinkedReferenceMixin impleme nts idl.UnlinkedReference {
4941 final fb.BufferPointer _bp; 3714 final fb.BufferPointer _bp;
4942 3715
4943 _UnlinkedReferenceImpl(this._bp); 3716 _UnlinkedReferenceImpl(this._bp);
4944 3717
4945 String _name; 3718 String _name;
4946 int _prefixReference; 3719 int _prefixReference;
4947 3720
4948 @override 3721 @override
4949 String get name { 3722 String get name {
4950 _name ??= const fb.StringReader().vTableGet(_bp, 0, ''); 3723 _name ??= const fb.StringReader().vTableGet(_bp, 0, '');
4951 return _name; 3724 return _name;
4952 } 3725 }
4953 3726
4954 @override 3727 @override
4955 int get prefixReference { 3728 int get prefixReference {
4956 _prefixReference ??= const fb.Uint32Reader().vTableGet(_bp, 1, 0); 3729 _prefixReference ??= const fb.Uint32Reader().vTableGet(_bp, 1, 0);
4957 return _prefixReference; 3730 return _prefixReference;
4958 } 3731 }
4959 } 3732 }
4960 3733
4961 abstract class _UnlinkedReferenceMixin implements UnlinkedReference { 3734 abstract class _UnlinkedReferenceMixin implements idl.UnlinkedReference {
4962 @override 3735 @override
4963 Map<String, Object> toMap() => { 3736 Map<String, Object> toMap() => {
4964 "name": name, 3737 "name": name,
4965 "prefixReference": prefixReference, 3738 "prefixReference": prefixReference,
4966 }; 3739 };
4967 } 3740 }
4968 3741
4969 class UnlinkedTypedefBuilder extends Object with _UnlinkedTypedefMixin implement s UnlinkedTypedef { 3742 class UnlinkedTypedefBuilder extends Object with _UnlinkedTypedefMixin implement s idl.UnlinkedTypedef {
4970 bool _finished = false; 3743 bool _finished = false;
4971 3744
4972 String _name; 3745 String _name;
4973 int _nameOffset; 3746 int _nameOffset;
4974 UnlinkedDocumentationCommentBuilder _documentationComment; 3747 UnlinkedDocumentationCommentBuilder _documentationComment;
4975 List<UnlinkedTypeParamBuilder> _typeParameters; 3748 List<UnlinkedTypeParamBuilder> _typeParameters;
4976 EntityRefBuilder _returnType; 3749 EntityRefBuilder _returnType;
4977 List<UnlinkedParamBuilder> _parameters; 3750 List<UnlinkedParamBuilder> _parameters;
4978 3751
4979 @override 3752 @override
(...skipping 111 matching lines...) Expand 10 before | Expand all | Expand 10 after
5091 if (offset_returnType != null) { 3864 if (offset_returnType != null) {
5092 fbBuilder.addOffset(4, offset_returnType); 3865 fbBuilder.addOffset(4, offset_returnType);
5093 } 3866 }
5094 if (offset_parameters != null) { 3867 if (offset_parameters != null) {
5095 fbBuilder.addOffset(5, offset_parameters); 3868 fbBuilder.addOffset(5, offset_parameters);
5096 } 3869 }
5097 return fbBuilder.endTable(); 3870 return fbBuilder.endTable();
5098 } 3871 }
5099 } 3872 }
5100 3873
5101 /**
5102 * Unlinked summary information about a typedef declaration.
5103 */
5104 abstract class UnlinkedTypedef extends base.SummaryClass {
5105
5106 /**
5107 * Name of the typedef.
5108 */
5109 String get name;
5110
5111 /**
5112 * Offset of the typedef name relative to the beginning of the file.
5113 */
5114 int get nameOffset;
5115
5116 /**
5117 * Documentation comment for the typedef, or `null` if there is no
5118 * documentation comment.
5119 */
5120 UnlinkedDocumentationComment get documentationComment;
5121
5122 /**
5123 * Type parameters of the typedef, if any.
5124 */
5125 List<UnlinkedTypeParam> get typeParameters;
5126
5127 /**
5128 * Return type of the typedef.
5129 */
5130 EntityRef get returnType;
5131
5132 /**
5133 * Parameters of the executable, if any.
5134 */
5135 List<UnlinkedParam> get parameters;
5136 }
5137
5138 class _UnlinkedTypedefReader extends fb.TableReader<_UnlinkedTypedefImpl> { 3874 class _UnlinkedTypedefReader extends fb.TableReader<_UnlinkedTypedefImpl> {
5139 const _UnlinkedTypedefReader(); 3875 const _UnlinkedTypedefReader();
5140 3876
5141 @override 3877 @override
5142 _UnlinkedTypedefImpl createObject(fb.BufferPointer bp) => new _UnlinkedTypedef Impl(bp); 3878 _UnlinkedTypedefImpl createObject(fb.BufferPointer bp) => new _UnlinkedTypedef Impl(bp);
5143 } 3879 }
5144 3880
5145 class _UnlinkedTypedefImpl extends Object with _UnlinkedTypedefMixin implements UnlinkedTypedef { 3881 class _UnlinkedTypedefImpl extends Object with _UnlinkedTypedefMixin implements idl.UnlinkedTypedef {
5146 final fb.BufferPointer _bp; 3882 final fb.BufferPointer _bp;
5147 3883
5148 _UnlinkedTypedefImpl(this._bp); 3884 _UnlinkedTypedefImpl(this._bp);
5149 3885
5150 String _name; 3886 String _name;
5151 int _nameOffset; 3887 int _nameOffset;
5152 UnlinkedDocumentationComment _documentationComment; 3888 idl.UnlinkedDocumentationComment _documentationComment;
5153 List<UnlinkedTypeParam> _typeParameters; 3889 List<idl.UnlinkedTypeParam> _typeParameters;
5154 EntityRef _returnType; 3890 idl.EntityRef _returnType;
5155 List<UnlinkedParam> _parameters; 3891 List<idl.UnlinkedParam> _parameters;
5156 3892
5157 @override 3893 @override
5158 String get name { 3894 String get name {
5159 _name ??= const fb.StringReader().vTableGet(_bp, 0, ''); 3895 _name ??= const fb.StringReader().vTableGet(_bp, 0, '');
5160 return _name; 3896 return _name;
5161 } 3897 }
5162 3898
5163 @override 3899 @override
5164 int get nameOffset { 3900 int get nameOffset {
5165 _nameOffset ??= const fb.Uint32Reader().vTableGet(_bp, 1, 0); 3901 _nameOffset ??= const fb.Uint32Reader().vTableGet(_bp, 1, 0);
5166 return _nameOffset; 3902 return _nameOffset;
5167 } 3903 }
5168 3904
5169 @override 3905 @override
5170 UnlinkedDocumentationComment get documentationComment { 3906 idl.UnlinkedDocumentationComment get documentationComment {
5171 _documentationComment ??= const _UnlinkedDocumentationCommentReader().vTable Get(_bp, 2, null); 3907 _documentationComment ??= const _UnlinkedDocumentationCommentReader().vTable Get(_bp, 2, null);
5172 return _documentationComment; 3908 return _documentationComment;
5173 } 3909 }
5174 3910
5175 @override 3911 @override
5176 List<UnlinkedTypeParam> get typeParameters { 3912 List<idl.UnlinkedTypeParam> get typeParameters {
5177 _typeParameters ??= const fb.ListReader<UnlinkedTypeParam>(const _UnlinkedTy peParamReader()).vTableGet(_bp, 3, const <UnlinkedTypeParam>[]); 3913 _typeParameters ??= const fb.ListReader<idl.UnlinkedTypeParam>(const _Unlink edTypeParamReader()).vTableGet(_bp, 3, const <idl.UnlinkedTypeParam>[]);
5178 return _typeParameters; 3914 return _typeParameters;
5179 } 3915 }
5180 3916
5181 @override 3917 @override
5182 EntityRef get returnType { 3918 idl.EntityRef get returnType {
5183 _returnType ??= const _EntityRefReader().vTableGet(_bp, 4, null); 3919 _returnType ??= const _EntityRefReader().vTableGet(_bp, 4, null);
5184 return _returnType; 3920 return _returnType;
5185 } 3921 }
5186 3922
5187 @override 3923 @override
5188 List<UnlinkedParam> get parameters { 3924 List<idl.UnlinkedParam> get parameters {
5189 _parameters ??= const fb.ListReader<UnlinkedParam>(const _UnlinkedParamReade r()).vTableGet(_bp, 5, const <UnlinkedParam>[]); 3925 _parameters ??= const fb.ListReader<idl.UnlinkedParam>(const _UnlinkedParamR eader()).vTableGet(_bp, 5, const <idl.UnlinkedParam>[]);
5190 return _parameters; 3926 return _parameters;
5191 } 3927 }
5192 } 3928 }
5193 3929
5194 abstract class _UnlinkedTypedefMixin implements UnlinkedTypedef { 3930 abstract class _UnlinkedTypedefMixin implements idl.UnlinkedTypedef {
5195 @override 3931 @override
5196 Map<String, Object> toMap() => { 3932 Map<String, Object> toMap() => {
5197 "name": name, 3933 "name": name,
5198 "nameOffset": nameOffset, 3934 "nameOffset": nameOffset,
5199 "documentationComment": documentationComment, 3935 "documentationComment": documentationComment,
5200 "typeParameters": typeParameters, 3936 "typeParameters": typeParameters,
5201 "returnType": returnType, 3937 "returnType": returnType,
5202 "parameters": parameters, 3938 "parameters": parameters,
5203 }; 3939 };
5204 } 3940 }
5205 3941
5206 class UnlinkedTypeParamBuilder extends Object with _UnlinkedTypeParamMixin imple ments UnlinkedTypeParam { 3942 class UnlinkedTypeParamBuilder extends Object with _UnlinkedTypeParamMixin imple ments idl.UnlinkedTypeParam {
5207 bool _finished = false; 3943 bool _finished = false;
5208 3944
5209 String _name; 3945 String _name;
5210 int _nameOffset; 3946 int _nameOffset;
5211 EntityRefBuilder _bound; 3947 EntityRefBuilder _bound;
5212 3948
5213 @override 3949 @override
5214 String get name => _name ??= ''; 3950 String get name => _name ??= '';
5215 3951
5216 /** 3952 /**
(...skipping 51 matching lines...) Expand 10 before | Expand all | Expand 10 after
5268 if (_nameOffset != null && _nameOffset != 0) { 4004 if (_nameOffset != null && _nameOffset != 0) {
5269 fbBuilder.addUint32(1, _nameOffset); 4005 fbBuilder.addUint32(1, _nameOffset);
5270 } 4006 }
5271 if (offset_bound != null) { 4007 if (offset_bound != null) {
5272 fbBuilder.addOffset(2, offset_bound); 4008 fbBuilder.addOffset(2, offset_bound);
5273 } 4009 }
5274 return fbBuilder.endTable(); 4010 return fbBuilder.endTable();
5275 } 4011 }
5276 } 4012 }
5277 4013
5278 /**
5279 * Unlinked summary information about a type parameter declaration.
5280 */
5281 abstract class UnlinkedTypeParam extends base.SummaryClass {
5282
5283 /**
5284 * Name of the type parameter.
5285 */
5286 String get name;
5287
5288 /**
5289 * Offset of the type parameter name relative to the beginning of the file.
5290 */
5291 int get nameOffset;
5292
5293 /**
5294 * Bound of the type parameter, if a bound is explicitly declared. Otherwise
5295 * null.
5296 */
5297 EntityRef get bound;
5298 }
5299
5300 class _UnlinkedTypeParamReader extends fb.TableReader<_UnlinkedTypeParamImpl> { 4014 class _UnlinkedTypeParamReader extends fb.TableReader<_UnlinkedTypeParamImpl> {
5301 const _UnlinkedTypeParamReader(); 4015 const _UnlinkedTypeParamReader();
5302 4016
5303 @override 4017 @override
5304 _UnlinkedTypeParamImpl createObject(fb.BufferPointer bp) => new _UnlinkedTypeP aramImpl(bp); 4018 _UnlinkedTypeParamImpl createObject(fb.BufferPointer bp) => new _UnlinkedTypeP aramImpl(bp);
5305 } 4019 }
5306 4020
5307 class _UnlinkedTypeParamImpl extends Object with _UnlinkedTypeParamMixin impleme nts UnlinkedTypeParam { 4021 class _UnlinkedTypeParamImpl extends Object with _UnlinkedTypeParamMixin impleme nts idl.UnlinkedTypeParam {
5308 final fb.BufferPointer _bp; 4022 final fb.BufferPointer _bp;
5309 4023
5310 _UnlinkedTypeParamImpl(this._bp); 4024 _UnlinkedTypeParamImpl(this._bp);
5311 4025
5312 String _name; 4026 String _name;
5313 int _nameOffset; 4027 int _nameOffset;
5314 EntityRef _bound; 4028 idl.EntityRef _bound;
5315 4029
5316 @override 4030 @override
5317 String get name { 4031 String get name {
5318 _name ??= const fb.StringReader().vTableGet(_bp, 0, ''); 4032 _name ??= const fb.StringReader().vTableGet(_bp, 0, '');
5319 return _name; 4033 return _name;
5320 } 4034 }
5321 4035
5322 @override 4036 @override
5323 int get nameOffset { 4037 int get nameOffset {
5324 _nameOffset ??= const fb.Uint32Reader().vTableGet(_bp, 1, 0); 4038 _nameOffset ??= const fb.Uint32Reader().vTableGet(_bp, 1, 0);
5325 return _nameOffset; 4039 return _nameOffset;
5326 } 4040 }
5327 4041
5328 @override 4042 @override
5329 EntityRef get bound { 4043 idl.EntityRef get bound {
5330 _bound ??= const _EntityRefReader().vTableGet(_bp, 2, null); 4044 _bound ??= const _EntityRefReader().vTableGet(_bp, 2, null);
5331 return _bound; 4045 return _bound;
5332 } 4046 }
5333 } 4047 }
5334 4048
5335 abstract class _UnlinkedTypeParamMixin implements UnlinkedTypeParam { 4049 abstract class _UnlinkedTypeParamMixin implements idl.UnlinkedTypeParam {
5336 @override 4050 @override
5337 Map<String, Object> toMap() => { 4051 Map<String, Object> toMap() => {
5338 "name": name, 4052 "name": name,
5339 "nameOffset": nameOffset, 4053 "nameOffset": nameOffset,
5340 "bound": bound, 4054 "bound": bound,
5341 }; 4055 };
5342 } 4056 }
5343 4057
5344 class UnlinkedUnitBuilder extends Object with _UnlinkedUnitMixin implements Unli nkedUnit { 4058 class UnlinkedUnitBuilder extends Object with _UnlinkedUnitMixin implements idl. UnlinkedUnit {
5345 bool _finished = false; 4059 bool _finished = false;
5346 4060
5347 String _libraryName; 4061 String _libraryName;
5348 int _libraryNameOffset; 4062 int _libraryNameOffset;
5349 int _libraryNameLength; 4063 int _libraryNameLength;
5350 UnlinkedDocumentationCommentBuilder _libraryDocumentationComment; 4064 UnlinkedDocumentationCommentBuilder _libraryDocumentationComment;
5351 UnlinkedPublicNamespaceBuilder _publicNamespace; 4065 UnlinkedPublicNamespaceBuilder _publicNamespace;
5352 List<UnlinkedReferenceBuilder> _references; 4066 List<UnlinkedReferenceBuilder> _references;
5353 List<UnlinkedClassBuilder> _classes; 4067 List<UnlinkedClassBuilder> _classes;
5354 List<UnlinkedEnumBuilder> _enums; 4068 List<UnlinkedEnumBuilder> _enums;
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after
5635 if (offset_typedefs != null) { 4349 if (offset_typedefs != null) {
5636 fbBuilder.addOffset(12, offset_typedefs); 4350 fbBuilder.addOffset(12, offset_typedefs);
5637 } 4351 }
5638 if (offset_variables != null) { 4352 if (offset_variables != null) {
5639 fbBuilder.addOffset(13, offset_variables); 4353 fbBuilder.addOffset(13, offset_variables);
5640 } 4354 }
5641 return fbBuilder.endTable(); 4355 return fbBuilder.endTable();
5642 } 4356 }
5643 } 4357 }
5644 4358
5645 /** 4359 idl.UnlinkedUnit readUnlinkedUnit(List<int> buffer) {
5646 * Unlinked summary information about a compilation unit ("part file"). 4360 fb.BufferPointer rootRef = new fb.BufferPointer.fromBytes(buffer);
5647 */ 4361 return const _UnlinkedUnitReader().read(rootRef);
5648 abstract class UnlinkedUnit extends base.SummaryClass {
5649 factory UnlinkedUnit.fromBuffer(List<int> buffer) {
5650 fb.BufferPointer rootRef = new fb.BufferPointer.fromBytes(buffer);
5651 return const _UnlinkedUnitReader().read(rootRef);
5652 }
5653
5654 /**
5655 * Name of the library (from a "library" declaration, if present).
5656 */
5657 String get libraryName;
5658
5659 /**
5660 * Offset of the library name relative to the beginning of the file (or 0 if
5661 * the library has no name).
5662 */
5663 int get libraryNameOffset;
5664
5665 /**
5666 * Length of the library name as it appears in the source code (or 0 if the
5667 * library has no name).
5668 */
5669 int get libraryNameLength;
5670
5671 /**
5672 * Documentation comment for the library, or `null` if there is no
5673 * documentation comment.
5674 */
5675 UnlinkedDocumentationComment get libraryDocumentationComment;
5676
5677 /**
5678 * Unlinked public namespace of this compilation unit.
5679 */
5680 UnlinkedPublicNamespace get publicNamespace;
5681
5682 /**
5683 * Top level and prefixed names referred to by this compilation unit. The
5684 * zeroth element of this array is always populated and is used to represent
5685 * the absence of a reference in places where a reference is optional (for
5686 * example [UnlinkedReference.prefixReference or
5687 * UnlinkedImport.prefixReference]).
5688 */
5689 List<UnlinkedReference> get references;
5690
5691 /**
5692 * Classes declared in the compilation unit.
5693 */
5694 List<UnlinkedClass> get classes;
5695
5696 /**
5697 * Enums declared in the compilation unit.
5698 */
5699 List<UnlinkedEnum> get enums;
5700
5701 /**
5702 * Top level executable objects (functions, getters, and setters) declared in
5703 * the compilation unit.
5704 */
5705 List<UnlinkedExecutable> get executables;
5706
5707 /**
5708 * Export declarations in the compilation unit.
5709 */
5710 List<UnlinkedExportNonPublic> get exports;
5711
5712 /**
5713 * Import declarations in the compilation unit.
5714 */
5715 List<UnlinkedImport> get imports;
5716
5717 /**
5718 * Part declarations in the compilation unit.
5719 */
5720 List<UnlinkedPart> get parts;
5721
5722 /**
5723 * Typedefs declared in the compilation unit.
5724 */
5725 List<UnlinkedTypedef> get typedefs;
5726
5727 /**
5728 * Top level variables declared in the compilation unit.
5729 */
5730 List<UnlinkedVariable> get variables;
5731 } 4362 }
5732 4363
5733 class _UnlinkedUnitReader extends fb.TableReader<_UnlinkedUnitImpl> { 4364 class _UnlinkedUnitReader extends fb.TableReader<_UnlinkedUnitImpl> {
5734 const _UnlinkedUnitReader(); 4365 const _UnlinkedUnitReader();
5735 4366
5736 @override 4367 @override
5737 _UnlinkedUnitImpl createObject(fb.BufferPointer bp) => new _UnlinkedUnitImpl(b p); 4368 _UnlinkedUnitImpl createObject(fb.BufferPointer bp) => new _UnlinkedUnitImpl(b p);
5738 } 4369 }
5739 4370
5740 class _UnlinkedUnitImpl extends Object with _UnlinkedUnitMixin implements Unlink edUnit { 4371 class _UnlinkedUnitImpl extends Object with _UnlinkedUnitMixin implements idl.Un linkedUnit {
5741 final fb.BufferPointer _bp; 4372 final fb.BufferPointer _bp;
5742 4373
5743 _UnlinkedUnitImpl(this._bp); 4374 _UnlinkedUnitImpl(this._bp);
5744 4375
5745 String _libraryName; 4376 String _libraryName;
5746 int _libraryNameOffset; 4377 int _libraryNameOffset;
5747 int _libraryNameLength; 4378 int _libraryNameLength;
5748 UnlinkedDocumentationComment _libraryDocumentationComment; 4379 idl.UnlinkedDocumentationComment _libraryDocumentationComment;
5749 UnlinkedPublicNamespace _publicNamespace; 4380 idl.UnlinkedPublicNamespace _publicNamespace;
5750 List<UnlinkedReference> _references; 4381 List<idl.UnlinkedReference> _references;
5751 List<UnlinkedClass> _classes; 4382 List<idl.UnlinkedClass> _classes;
5752 List<UnlinkedEnum> _enums; 4383 List<idl.UnlinkedEnum> _enums;
5753 List<UnlinkedExecutable> _executables; 4384 List<idl.UnlinkedExecutable> _executables;
5754 List<UnlinkedExportNonPublic> _exports; 4385 List<idl.UnlinkedExportNonPublic> _exports;
5755 List<UnlinkedImport> _imports; 4386 List<idl.UnlinkedImport> _imports;
5756 List<UnlinkedPart> _parts; 4387 List<idl.UnlinkedPart> _parts;
5757 List<UnlinkedTypedef> _typedefs; 4388 List<idl.UnlinkedTypedef> _typedefs;
5758 List<UnlinkedVariable> _variables; 4389 List<idl.UnlinkedVariable> _variables;
5759 4390
5760 @override 4391 @override
5761 String get libraryName { 4392 String get libraryName {
5762 _libraryName ??= const fb.StringReader().vTableGet(_bp, 0, ''); 4393 _libraryName ??= const fb.StringReader().vTableGet(_bp, 0, '');
5763 return _libraryName; 4394 return _libraryName;
5764 } 4395 }
5765 4396
5766 @override 4397 @override
5767 int get libraryNameOffset { 4398 int get libraryNameOffset {
5768 _libraryNameOffset ??= const fb.Uint32Reader().vTableGet(_bp, 1, 0); 4399 _libraryNameOffset ??= const fb.Uint32Reader().vTableGet(_bp, 1, 0);
5769 return _libraryNameOffset; 4400 return _libraryNameOffset;
5770 } 4401 }
5771 4402
5772 @override 4403 @override
5773 int get libraryNameLength { 4404 int get libraryNameLength {
5774 _libraryNameLength ??= const fb.Uint32Reader().vTableGet(_bp, 2, 0); 4405 _libraryNameLength ??= const fb.Uint32Reader().vTableGet(_bp, 2, 0);
5775 return _libraryNameLength; 4406 return _libraryNameLength;
5776 } 4407 }
5777 4408
5778 @override 4409 @override
5779 UnlinkedDocumentationComment get libraryDocumentationComment { 4410 idl.UnlinkedDocumentationComment get libraryDocumentationComment {
5780 _libraryDocumentationComment ??= const _UnlinkedDocumentationCommentReader() .vTableGet(_bp, 3, null); 4411 _libraryDocumentationComment ??= const _UnlinkedDocumentationCommentReader() .vTableGet(_bp, 3, null);
5781 return _libraryDocumentationComment; 4412 return _libraryDocumentationComment;
5782 } 4413 }
5783 4414
5784 @override 4415 @override
5785 UnlinkedPublicNamespace get publicNamespace { 4416 idl.UnlinkedPublicNamespace get publicNamespace {
5786 _publicNamespace ??= const _UnlinkedPublicNamespaceReader().vTableGet(_bp, 4 , null); 4417 _publicNamespace ??= const _UnlinkedPublicNamespaceReader().vTableGet(_bp, 4 , null);
5787 return _publicNamespace; 4418 return _publicNamespace;
5788 } 4419 }
5789 4420
5790 @override 4421 @override
5791 List<UnlinkedReference> get references { 4422 List<idl.UnlinkedReference> get references {
5792 _references ??= const fb.ListReader<UnlinkedReference>(const _UnlinkedRefere nceReader()).vTableGet(_bp, 5, const <UnlinkedReference>[]); 4423 _references ??= const fb.ListReader<idl.UnlinkedReference>(const _UnlinkedRe ferenceReader()).vTableGet(_bp, 5, const <idl.UnlinkedReference>[]);
5793 return _references; 4424 return _references;
5794 } 4425 }
5795 4426
5796 @override 4427 @override
5797 List<UnlinkedClass> get classes { 4428 List<idl.UnlinkedClass> get classes {
5798 _classes ??= const fb.ListReader<UnlinkedClass>(const _UnlinkedClassReader() ).vTableGet(_bp, 6, const <UnlinkedClass>[]); 4429 _classes ??= const fb.ListReader<idl.UnlinkedClass>(const _UnlinkedClassRead er()).vTableGet(_bp, 6, const <idl.UnlinkedClass>[]);
5799 return _classes; 4430 return _classes;
5800 } 4431 }
5801 4432
5802 @override 4433 @override
5803 List<UnlinkedEnum> get enums { 4434 List<idl.UnlinkedEnum> get enums {
5804 _enums ??= const fb.ListReader<UnlinkedEnum>(const _UnlinkedEnumReader()).vT ableGet(_bp, 7, const <UnlinkedEnum>[]); 4435 _enums ??= const fb.ListReader<idl.UnlinkedEnum>(const _UnlinkedEnumReader() ).vTableGet(_bp, 7, const <idl.UnlinkedEnum>[]);
5805 return _enums; 4436 return _enums;
5806 } 4437 }
5807 4438
5808 @override 4439 @override
5809 List<UnlinkedExecutable> get executables { 4440 List<idl.UnlinkedExecutable> get executables {
5810 _executables ??= const fb.ListReader<UnlinkedExecutable>(const _UnlinkedExec utableReader()).vTableGet(_bp, 8, const <UnlinkedExecutable>[]); 4441 _executables ??= const fb.ListReader<idl.UnlinkedExecutable>(const _Unlinked ExecutableReader()).vTableGet(_bp, 8, const <idl.UnlinkedExecutable>[]);
5811 return _executables; 4442 return _executables;
5812 } 4443 }
5813 4444
5814 @override 4445 @override
5815 List<UnlinkedExportNonPublic> get exports { 4446 List<idl.UnlinkedExportNonPublic> get exports {
5816 _exports ??= const fb.ListReader<UnlinkedExportNonPublic>(const _UnlinkedExp ortNonPublicReader()).vTableGet(_bp, 9, const <UnlinkedExportNonPublic>[]); 4447 _exports ??= const fb.ListReader<idl.UnlinkedExportNonPublic>(const _Unlinke dExportNonPublicReader()).vTableGet(_bp, 9, const <idl.UnlinkedExportNonPublic>[ ]);
5817 return _exports; 4448 return _exports;
5818 } 4449 }
5819 4450
5820 @override 4451 @override
5821 List<UnlinkedImport> get imports { 4452 List<idl.UnlinkedImport> get imports {
5822 _imports ??= const fb.ListReader<UnlinkedImport>(const _UnlinkedImportReader ()).vTableGet(_bp, 10, const <UnlinkedImport>[]); 4453 _imports ??= const fb.ListReader<idl.UnlinkedImport>(const _UnlinkedImportRe ader()).vTableGet(_bp, 10, const <idl.UnlinkedImport>[]);
5823 return _imports; 4454 return _imports;
5824 } 4455 }
5825 4456
5826 @override 4457 @override
5827 List<UnlinkedPart> get parts { 4458 List<idl.UnlinkedPart> get parts {
5828 _parts ??= const fb.ListReader<UnlinkedPart>(const _UnlinkedPartReader()).vT ableGet(_bp, 11, const <UnlinkedPart>[]); 4459 _parts ??= const fb.ListReader<idl.UnlinkedPart>(const _UnlinkedPartReader() ).vTableGet(_bp, 11, const <idl.UnlinkedPart>[]);
5829 return _parts; 4460 return _parts;
5830 } 4461 }
5831 4462
5832 @override 4463 @override
5833 List<UnlinkedTypedef> get typedefs { 4464 List<idl.UnlinkedTypedef> get typedefs {
5834 _typedefs ??= const fb.ListReader<UnlinkedTypedef>(const _UnlinkedTypedefRea der()).vTableGet(_bp, 12, const <UnlinkedTypedef>[]); 4465 _typedefs ??= const fb.ListReader<idl.UnlinkedTypedef>(const _UnlinkedTypede fReader()).vTableGet(_bp, 12, const <idl.UnlinkedTypedef>[]);
5835 return _typedefs; 4466 return _typedefs;
5836 } 4467 }
5837 4468
5838 @override 4469 @override
5839 List<UnlinkedVariable> get variables { 4470 List<idl.UnlinkedVariable> get variables {
5840 _variables ??= const fb.ListReader<UnlinkedVariable>(const _UnlinkedVariable Reader()).vTableGet(_bp, 13, const <UnlinkedVariable>[]); 4471 _variables ??= const fb.ListReader<idl.UnlinkedVariable>(const _UnlinkedVari ableReader()).vTableGet(_bp, 13, const <idl.UnlinkedVariable>[]);
5841 return _variables; 4472 return _variables;
5842 } 4473 }
5843 } 4474 }
5844 4475
5845 abstract class _UnlinkedUnitMixin implements UnlinkedUnit { 4476 abstract class _UnlinkedUnitMixin implements idl.UnlinkedUnit {
5846 @override 4477 @override
5847 Map<String, Object> toMap() => { 4478 Map<String, Object> toMap() => {
5848 "libraryName": libraryName, 4479 "libraryName": libraryName,
5849 "libraryNameOffset": libraryNameOffset, 4480 "libraryNameOffset": libraryNameOffset,
5850 "libraryNameLength": libraryNameLength, 4481 "libraryNameLength": libraryNameLength,
5851 "libraryDocumentationComment": libraryDocumentationComment, 4482 "libraryDocumentationComment": libraryDocumentationComment,
5852 "publicNamespace": publicNamespace, 4483 "publicNamespace": publicNamespace,
5853 "references": references, 4484 "references": references,
5854 "classes": classes, 4485 "classes": classes,
5855 "enums": enums, 4486 "enums": enums,
5856 "executables": executables, 4487 "executables": executables,
5857 "exports": exports, 4488 "exports": exports,
5858 "imports": imports, 4489 "imports": imports,
5859 "parts": parts, 4490 "parts": parts,
5860 "typedefs": typedefs, 4491 "typedefs": typedefs,
5861 "variables": variables, 4492 "variables": variables,
5862 }; 4493 };
5863 } 4494 }
5864 4495
5865 class UnlinkedVariableBuilder extends Object with _UnlinkedVariableMixin impleme nts UnlinkedVariable { 4496 class UnlinkedVariableBuilder extends Object with _UnlinkedVariableMixin impleme nts idl.UnlinkedVariable {
5866 bool _finished = false; 4497 bool _finished = false;
5867 4498
5868 String _name; 4499 String _name;
5869 int _nameOffset; 4500 int _nameOffset;
5870 UnlinkedDocumentationCommentBuilder _documentationComment; 4501 UnlinkedDocumentationCommentBuilder _documentationComment;
5871 EntityRefBuilder _type; 4502 EntityRefBuilder _type;
5872 UnlinkedConstBuilder _constExpr; 4503 UnlinkedConstBuilder _constExpr;
5873 bool _isStatic; 4504 bool _isStatic;
5874 bool _isFinal; 4505 bool _isFinal;
5875 bool _isConst; 4506 bool _isConst;
(...skipping 186 matching lines...) Expand 10 before | Expand all | Expand 10 after
6062 if (_propagatedTypeSlot != null && _propagatedTypeSlot != 0) { 4693 if (_propagatedTypeSlot != null && _propagatedTypeSlot != 0) {
6063 fbBuilder.addUint32(8, _propagatedTypeSlot); 4694 fbBuilder.addUint32(8, _propagatedTypeSlot);
6064 } 4695 }
6065 if (_inferredTypeSlot != null && _inferredTypeSlot != 0) { 4696 if (_inferredTypeSlot != null && _inferredTypeSlot != 0) {
6066 fbBuilder.addUint32(9, _inferredTypeSlot); 4697 fbBuilder.addUint32(9, _inferredTypeSlot);
6067 } 4698 }
6068 return fbBuilder.endTable(); 4699 return fbBuilder.endTable();
6069 } 4700 }
6070 } 4701 }
6071 4702
6072 /**
6073 * Unlinked summary information about a top level variable, local variable, or
6074 * a field.
6075 */
6076 abstract class UnlinkedVariable extends base.SummaryClass {
6077
6078 /**
6079 * Name of the variable.
6080 */
6081 String get name;
6082
6083 /**
6084 * Offset of the variable name relative to the beginning of the file.
6085 */
6086 int get nameOffset;
6087
6088 /**
6089 * Documentation comment for the variable, or `null` if there is no
6090 * documentation comment.
6091 */
6092 UnlinkedDocumentationComment get documentationComment;
6093
6094 /**
6095 * Declared type of the variable. Absent if the type is implicit.
6096 */
6097 EntityRef get type;
6098
6099 /**
6100 * If [isConst] is true, and the variable has an initializer, the constant
6101 * expression in the initializer.
6102 */
6103 UnlinkedConst get constExpr;
6104
6105 /**
6106 * Indicates whether the variable is declared using the `static` keyword.
6107 *
6108 * Note that for top level variables, this flag is false, since they are not
6109 * declared using the `static` keyword (even though they are considered
6110 * static for semantic purposes).
6111 */
6112 bool get isStatic;
6113
6114 /**
6115 * Indicates whether the variable is declared using the `final` keyword.
6116 */
6117 bool get isFinal;
6118
6119 /**
6120 * Indicates whether the variable is declared using the `const` keyword.
6121 */
6122 bool get isConst;
6123
6124 /**
6125 * If this variable is propagable, nonzero slot id identifying which entry in
6126 * [LinkedLibrary.types] contains the propagated type for this variable. If
6127 * there is no matching entry in [LinkedLibrary.types], then this variable's
6128 * propagated type is the same as its declared type.
6129 *
6130 * Non-propagable variables have a [propagatedTypeSlot] of zero.
6131 */
6132 int get propagatedTypeSlot;
6133
6134 /**
6135 * If this variable is inferrable, nonzero slot id identifying which entry in
6136 * [LinkedLibrary.types] contains the inferred type for this variable. If
6137 * there is no matching entry in [LinkedLibrary.types], then no type was
6138 * inferred for this variable, so its static type is `dynamic`.
6139 */
6140 int get inferredTypeSlot;
6141 }
6142
6143 class _UnlinkedVariableReader extends fb.TableReader<_UnlinkedVariableImpl> { 4703 class _UnlinkedVariableReader extends fb.TableReader<_UnlinkedVariableImpl> {
6144 const _UnlinkedVariableReader(); 4704 const _UnlinkedVariableReader();
6145 4705
6146 @override 4706 @override
6147 _UnlinkedVariableImpl createObject(fb.BufferPointer bp) => new _UnlinkedVariab leImpl(bp); 4707 _UnlinkedVariableImpl createObject(fb.BufferPointer bp) => new _UnlinkedVariab leImpl(bp);
6148 } 4708 }
6149 4709
6150 class _UnlinkedVariableImpl extends Object with _UnlinkedVariableMixin implement s UnlinkedVariable { 4710 class _UnlinkedVariableImpl extends Object with _UnlinkedVariableMixin implement s idl.UnlinkedVariable {
6151 final fb.BufferPointer _bp; 4711 final fb.BufferPointer _bp;
6152 4712
6153 _UnlinkedVariableImpl(this._bp); 4713 _UnlinkedVariableImpl(this._bp);
6154 4714
6155 String _name; 4715 String _name;
6156 int _nameOffset; 4716 int _nameOffset;
6157 UnlinkedDocumentationComment _documentationComment; 4717 idl.UnlinkedDocumentationComment _documentationComment;
6158 EntityRef _type; 4718 idl.EntityRef _type;
6159 UnlinkedConst _constExpr; 4719 idl.UnlinkedConst _constExpr;
6160 bool _isStatic; 4720 bool _isStatic;
6161 bool _isFinal; 4721 bool _isFinal;
6162 bool _isConst; 4722 bool _isConst;
6163 int _propagatedTypeSlot; 4723 int _propagatedTypeSlot;
6164 int _inferredTypeSlot; 4724 int _inferredTypeSlot;
6165 4725
6166 @override 4726 @override
6167 String get name { 4727 String get name {
6168 _name ??= const fb.StringReader().vTableGet(_bp, 0, ''); 4728 _name ??= const fb.StringReader().vTableGet(_bp, 0, '');
6169 return _name; 4729 return _name;
6170 } 4730 }
6171 4731
6172 @override 4732 @override
6173 int get nameOffset { 4733 int get nameOffset {
6174 _nameOffset ??= const fb.Uint32Reader().vTableGet(_bp, 1, 0); 4734 _nameOffset ??= const fb.Uint32Reader().vTableGet(_bp, 1, 0);
6175 return _nameOffset; 4735 return _nameOffset;
6176 } 4736 }
6177 4737
6178 @override 4738 @override
6179 UnlinkedDocumentationComment get documentationComment { 4739 idl.UnlinkedDocumentationComment get documentationComment {
6180 _documentationComment ??= const _UnlinkedDocumentationCommentReader().vTable Get(_bp, 2, null); 4740 _documentationComment ??= const _UnlinkedDocumentationCommentReader().vTable Get(_bp, 2, null);
6181 return _documentationComment; 4741 return _documentationComment;
6182 } 4742 }
6183 4743
6184 @override 4744 @override
6185 EntityRef get type { 4745 idl.EntityRef get type {
6186 _type ??= const _EntityRefReader().vTableGet(_bp, 3, null); 4746 _type ??= const _EntityRefReader().vTableGet(_bp, 3, null);
6187 return _type; 4747 return _type;
6188 } 4748 }
6189 4749
6190 @override 4750 @override
6191 UnlinkedConst get constExpr { 4751 idl.UnlinkedConst get constExpr {
6192 _constExpr ??= const _UnlinkedConstReader().vTableGet(_bp, 4, null); 4752 _constExpr ??= const _UnlinkedConstReader().vTableGet(_bp, 4, null);
6193 return _constExpr; 4753 return _constExpr;
6194 } 4754 }
6195 4755
6196 @override 4756 @override
6197 bool get isStatic { 4757 bool get isStatic {
6198 _isStatic ??= const fb.BoolReader().vTableGet(_bp, 5, false); 4758 _isStatic ??= const fb.BoolReader().vTableGet(_bp, 5, false);
6199 return _isStatic; 4759 return _isStatic;
6200 } 4760 }
6201 4761
(...skipping 15 matching lines...) Expand all
6217 return _propagatedTypeSlot; 4777 return _propagatedTypeSlot;
6218 } 4778 }
6219 4779
6220 @override 4780 @override
6221 int get inferredTypeSlot { 4781 int get inferredTypeSlot {
6222 _inferredTypeSlot ??= const fb.Uint32Reader().vTableGet(_bp, 9, 0); 4782 _inferredTypeSlot ??= const fb.Uint32Reader().vTableGet(_bp, 9, 0);
6223 return _inferredTypeSlot; 4783 return _inferredTypeSlot;
6224 } 4784 }
6225 } 4785 }
6226 4786
6227 abstract class _UnlinkedVariableMixin implements UnlinkedVariable { 4787 abstract class _UnlinkedVariableMixin implements idl.UnlinkedVariable {
6228 @override 4788 @override
6229 Map<String, Object> toMap() => { 4789 Map<String, Object> toMap() => {
6230 "name": name, 4790 "name": name,
6231 "nameOffset": nameOffset, 4791 "nameOffset": nameOffset,
6232 "documentationComment": documentationComment, 4792 "documentationComment": documentationComment,
6233 "type": type, 4793 "type": type,
6234 "constExpr": constExpr, 4794 "constExpr": constExpr,
6235 "isStatic": isStatic, 4795 "isStatic": isStatic,
6236 "isFinal": isFinal, 4796 "isFinal": isFinal,
6237 "isConst": isConst, 4797 "isConst": isConst,
6238 "propagatedTypeSlot": propagatedTypeSlot, 4798 "propagatedTypeSlot": propagatedTypeSlot,
6239 "inferredTypeSlot": inferredTypeSlot, 4799 "inferredTypeSlot": inferredTypeSlot,
6240 }; 4800 };
6241 } 4801 }
6242 4802
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/generated/sdk_io.dart ('k') | pkg/analyzer/lib/src/summary/idl.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698