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

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

Issue 2508343002: Rename UnlinkedConst -> UnlinkedExpr (Closed)
Patch Set: Created 4 years, 1 month 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/summary/format.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 8
9 /** 9 /**
10 * Enum used to indicate the kind of a name in index. 10 * Enum used to indicate the kind of a name in index.
(...skipping 192 matching lines...) Expand 10 before | Expand all | Expand 10 after
203 */ 203 */
204 prefix, 204 prefix,
205 205
206 /** 206 /**
207 * The entity being referred to does not exist. 207 * The entity being referred to does not exist.
208 */ 208 */
209 unresolved 209 unresolved
210 } 210 }
211 211
212 /** 212 /**
213 * Enum used to indicate the kind of an constructor initializer.
214 */
215 enum UnlinkedConstructorInitializerKind : byte {
216 /**
217 * Initialization of a field.
218 */
219 field,
220
221 /**
222 * Invocation of a constructor in the same class.
223 */
224 thisInvocation,
225
226 /**
227 * Invocation of a superclass' constructor.
228 */
229 superInvocation
230 }
231
232 /**
233 * Enum used to indicate the kind of an executable.
234 */
235 enum UnlinkedExecutableKind : byte {
236 /**
237 * Executable is a function or method.
238 */
239 functionOrMethod,
240
241 /**
242 * Executable is a getter.
243 */
244 getter,
245
246 /**
247 * Executable is a setter.
248 */
249 setter,
250
251 /**
252 * Executable is a constructor.
253 */
254 constructor
255 }
256
257 /**
258 * Enum representing the various kinds of assignment operations combined
259 * with:
260 * [UnlinkedExprOperation.assignToRef],
261 * [UnlinkedExprOperation.assignToProperty],
262 * [UnlinkedExprOperation.assignToIndex].
263 */
264 enum UnlinkedExprAssignOperator : byte {
265 /**
266 * Perform simple assignment `target = operand`.
267 */
268 assign,
269
270 /**
271 * Perform `target ??= operand`.
272 */
273 ifNull,
274
275 /**
276 * Perform `target *= operand`.
277 */
278 multiply,
279
280 /**
281 * Perform `target /= operand`.
282 */
283 divide,
284
285 /**
286 * Perform `target ~/= operand`.
287 */
288 floorDivide,
289
290 /**
291 * Perform `target %= operand`.
292 */
293 modulo,
294
295 /**
296 * Perform `target += operand`.
297 */
298 plus,
299
300 /**
301 * Perform `target -= operand`.
302 */
303 minus,
304
305 /**
306 * Perform `target <<= operand`.
307 */
308 shiftLeft,
309
310 /**
311 * Perform `target >>= operand`.
312 */
313 shiftRight,
314
315 /**
316 * Perform `target &= operand`.
317 */
318 bitAnd,
319
320 /**
321 * Perform `target ^= operand`.
322 */
323 bitXor,
324
325 /**
326 * Perform `target |= operand`.
327 */
328 bitOr,
329
330 /**
331 * Perform `++target`.
332 */
333 prefixIncrement,
334
335 /**
336 * Perform `--target`.
337 */
338 prefixDecrement,
339
340 /**
341 * Perform `target++`.
342 */
343 postfixIncrement,
344
345 /**
346 * Perform `target++`.
347 */
348 postfixDecrement
349 }
350
351 /**
213 * Enum representing the various kinds of operations which may be performed to 352 * Enum representing the various kinds of operations which may be performed to
214 * produce a constant value. These options are assumed to execute in the 353 * in an expression. These options are assumed to execute in the
215 * context of a stack which is initially empty. 354 * context of a stack which is initially empty.
216 */ 355 */
217 enum UnlinkedConstOperation : byte { 356 enum UnlinkedExprOperation : byte {
218 /** 357 /**
219 * Push the next value from [UnlinkedConst.ints] (a 32-bit unsigned integer) 358 * Push the next value from [UnlinkedExpr.ints] (a 32-bit unsigned integer)
220 * onto the stack. 359 * onto the stack.
221 * 360 *
222 * Note that Dart supports integers larger than 32 bits; these are 361 * Note that Dart supports integers larger than 32 bits; these are
223 * represented by composing 32-bit values using the [pushLongInt] operation. 362 * represented by composing 32-bit values using the [pushLongInt] operation.
224 */ 363 */
225 pushInt, 364 pushInt,
226 365
227 /** 366 /**
228 * Get the number of components from [UnlinkedConst.ints], then do this number 367 * Get the number of components from [UnlinkedExpr.ints], then do this number
229 * of times the following operations: multiple the current value by 2^32, "or" 368 * of times the following operations: multiple the current value by 2^32, "or"
230 * it with the next value in [UnlinkedConst.ints]. The initial value is zero. 369 * it with the next value in [UnlinkedExpr.ints]. The initial value is zero.
231 * Push the result into the stack. 370 * Push the result into the stack.
232 */ 371 */
233 pushLongInt, 372 pushLongInt,
234 373
235 /** 374 /**
236 * Push the next value from [UnlinkedConst.doubles] (a double precision 375 * Push the next value from [UnlinkedExpr.doubles] (a double precision
237 * floating point value) onto the stack. 376 * floating point value) onto the stack.
238 */ 377 */
239 pushDouble, 378 pushDouble,
240 379
241 /** 380 /**
242 * Push the constant `true` onto the stack. 381 * Push the constant `true` onto the stack.
243 */ 382 */
244 pushTrue, 383 pushTrue,
245 384
246 /** 385 /**
247 * Push the constant `false` onto the stack. 386 * Push the constant `false` onto the stack.
248 */ 387 */
249 pushFalse, 388 pushFalse,
250 389
251 /** 390 /**
252 * Push the next value from [UnlinkedConst.strings] onto the stack. 391 * Push the next value from [UnlinkedExpr.strings] onto the stack.
253 */ 392 */
254 pushString, 393 pushString,
255 394
256 /** 395 /**
257 * Pop the top n values from the stack (where n is obtained from 396 * Pop the top n values from the stack (where n is obtained from
258 * [UnlinkedConst.ints]), convert them to strings (if they aren't already), 397 * [UnlinkedExpr.ints]), convert them to strings (if they aren't already),
259 * concatenate them into a single string, and push it back onto the stack. 398 * concatenate them into a single string, and push it back onto the stack.
260 * 399 *
261 * This operation is used to represent constants whose value is a literal 400 * This operation is used to represent constants whose value is a literal
262 * string containing string interpolations. 401 * string containing string interpolations.
263 */ 402 */
264 concatenate, 403 concatenate,
265 404
266 /** 405 /**
267 * Get the next value from [UnlinkedConst.strings], convert it to a symbol, 406 * Get the next value from [UnlinkedExpr.strings], convert it to a symbol,
268 * and push it onto the stack. 407 * and push it onto the stack.
269 */ 408 */
270 makeSymbol, 409 makeSymbol,
271 410
272 /** 411 /**
273 * Push the constant `null` onto the stack. 412 * Push the constant `null` onto the stack.
274 */ 413 */
275 pushNull, 414 pushNull,
276 415
277 /** 416 /**
278 * Push the value of the function parameter with the name obtained from 417 * Push the value of the function parameter with the name obtained from
279 * [UnlinkedConst.strings]. 418 * [UnlinkedExpr.strings].
280 */ 419 */
281 pushParameter, 420 pushParameter,
282 421
283 /** 422 /**
284 * Evaluate a (potentially qualified) identifier expression and push the 423 * Evaluate a (potentially qualified) identifier expression and push the
285 * resulting value onto the stack. The identifier to be evaluated is 424 * resulting value onto the stack. The identifier to be evaluated is
286 * obtained from [UnlinkedConst.references]. 425 * obtained from [UnlinkedExpr.references].
287 * 426 *
288 * This operation is used to represent the following kinds of constants 427 * This operation is used to represent the following kinds of constants
289 * (which are indistinguishable from an unresolved AST alone): 428 * (which are indistinguishable from an unresolved AST alone):
290 * 429 *
291 * - A qualified reference to a static constant variable (e.g. `C.v`, where 430 * - A qualified reference to a static constant variable (e.g. `C.v`, where
292 * C is a class and `v` is a constant static variable in `C`). 431 * C is a class and `v` is a constant static variable in `C`).
293 * - An identifier expression referring to a constant variable. 432 * - An identifier expression referring to a constant variable.
294 * - A simple or qualified identifier denoting a class or type alias. 433 * - A simple or qualified identifier denoting a class or type alias.
295 * - A simple or qualified identifier denoting a top-level function or a 434 * - A simple or qualified identifier denoting a top-level function or a
296 * static method. 435 * static method.
297 */ 436 */
298 pushReference, 437 pushReference,
299 438
300 /** 439 /**
301 * Pop the top value from the stack, extract the value of the property with 440 * Pop the top value from the stack, extract the value of the property with
302 * the name obtained from [UnlinkedConst.strings], and push the result back 441 * the name obtained from [UnlinkedExpr.strings], and push the result back
303 * onto the stack. 442 * onto the stack.
304 */ 443 */
305 extractProperty, 444 extractProperty,
306 445
307 /** 446 /**
308 * Pop the top `n` values from the stack (where `n` is obtained from 447 * Pop the top `n` values from the stack (where `n` is obtained from
309 * [UnlinkedConst.ints]) into a list (filled from the end) and take the next 448 * [UnlinkedExpr.ints]) into a list (filled from the end) and take the next
310 * `n` values from [UnlinkedConst.strings] and use the lists of names and 449 * `n` values from [UnlinkedExpr.strings] and use the lists of names and
311 * values to create named arguments. Then pop the top `m` values from the 450 * values to create named arguments. Then pop the top `m` values from the
312 * stack (where `m` is obtained from [UnlinkedConst.ints]) into a list (filled 451 * stack (where `m` is obtained from [UnlinkedExpr.ints]) into a list (filled
313 * from the end) and use them as positional arguments. Use the lists of 452 * from the end) and use them as positional arguments. Use the lists of
314 * positional and names arguments to invoke a constant constructor obtained 453 * positional and names arguments to invoke a constant constructor obtained
315 * from [UnlinkedConst.references], and push the resulting value back onto the 454 * from [UnlinkedExpr.references], and push the resulting value back onto the
316 * stack. 455 * stack.
317 * 456 *
318 * Note that for an invocation of the form `const a.b(...)` (where no type 457 * Note that for an invocation of the form `const a.b(...)` (where no type
319 * arguments are specified), it is impossible to tell from the unresolved AST 458 * arguments are specified), it is impossible to tell from the unresolved AST
320 * alone whether `a` is a class name and `b` is a constructor name, or `a` is 459 * alone whether `a` is a class name and `b` is a constructor name, or `a` is
321 * a prefix name and `b` is a class name. For consistency between AST based 460 * a prefix name and `b` is a class name. For consistency between AST based
322 * and elements based summaries, references to default constructors are always 461 * and elements based summaries, references to default constructors are always
323 * recorded as references to corresponding classes. 462 * recorded as references to corresponding classes.
324 */ 463 */
325 invokeConstructor, 464 invokeConstructor,
326 465
327 /** 466 /**
328 * Pop the top n values from the stack (where n is obtained from 467 * Pop the top n values from the stack (where n is obtained from
329 * [UnlinkedConst.ints]), place them in a [List], and push the result back 468 * [UnlinkedExpr.ints]), place them in a [List], and push the result back
330 * onto the stack. The type parameter for the [List] is implicitly `dynamic`. 469 * onto the stack. The type parameter for the [List] is implicitly `dynamic`.
331 */ 470 */
332 makeUntypedList, 471 makeUntypedList,
333 472
334 /** 473 /**
335 * Pop the top 2*n values from the stack (where n is obtained from 474 * Pop the top 2*n values from the stack (where n is obtained from
336 * [UnlinkedConst.ints]), interpret them as key/value pairs, place them in a 475 * [UnlinkedExpr.ints]), interpret them as key/value pairs, place them in a
337 * [Map], and push the result back onto the stack. The two type parameters 476 * [Map], and push the result back onto the stack. The two type parameters
338 * for the [Map] are implicitly `dynamic`. 477 * for the [Map] are implicitly `dynamic`.
339 */ 478 */
340 makeUntypedMap, 479 makeUntypedMap,
341 480
342 /** 481 /**
343 * Pop the top n values from the stack (where n is obtained from 482 * Pop the top n values from the stack (where n is obtained from
344 * [UnlinkedConst.ints]), place them in a [List], and push the result back 483 * [UnlinkedExpr.ints]), place them in a [List], and push the result back
345 * onto the stack. The type parameter for the [List] is obtained from 484 * onto the stack. The type parameter for the [List] is obtained from
346 * [UnlinkedConst.references]. 485 * [UnlinkedExpr.references].
347 */ 486 */
348 makeTypedList, 487 makeTypedList,
349 488
350 /** 489 /**
351 * Pop the top 2*n values from the stack (where n is obtained from 490 * Pop the top 2*n values from the stack (where n is obtained from
352 * [UnlinkedConst.ints]), interpret them as key/value pairs, place them in a 491 * [UnlinkedExpr.ints]), interpret them as key/value pairs, place them in a
353 * [Map], and push the result back onto the stack. The two type parameters fo r 492 * [Map], and push the result back onto the stack. The two type parameters fo r
354 * the [Map] are obtained from [UnlinkedConst.references]. 493 * the [Map] are obtained from [UnlinkedExpr.references].
355 */ 494 */
356 makeTypedMap, 495 makeTypedMap,
357 496
358 /** 497 /**
359 * Pop the top 2 values from the stack, evaluate `v1 == v2`, and push the 498 * Pop the top 2 values from the stack, evaluate `v1 == v2`, and push the
360 * result back onto the stack. 499 * result back onto the stack.
361 */ 500 */
362 equal, 501 equal,
363 502
364 /** 503 /**
(...skipping 123 matching lines...) Expand 10 before | Expand all | Expand 10 after
488 modulo, 627 modulo,
489 628
490 /** 629 /**
491 * Pop the top 3 values from the stack, compute `v1 ? v2 : v3`, and push the 630 * Pop the top 3 values from the stack, compute `v1 ? v2 : v3`, and push the
492 * result back onto the stack. 631 * result back onto the stack.
493 */ 632 */
494 conditional, 633 conditional,
495 634
496 /** 635 /**
497 * Pop from the stack `value` and get the next `target` reference from 636 * Pop from the stack `value` and get the next `target` reference from
498 * [UnlinkedConst.references] - a top-level variable (prefixed or not), an 637 * [UnlinkedExpr.references] - a top-level variable (prefixed or not), an
499 * assignable field of a class (prefixed or not), or a sequence of getters 638 * assignable field of a class (prefixed or not), or a sequence of getters
500 * ending with an assignable property `a.b.b.c.d.e`. In general `a.b` cannot 639 * ending with an assignable property `a.b.b.c.d.e`. In general `a.b` cannot
501 * not be distinguished between: `a` is a prefix and `b` is a top-level 640 * not be distinguished between: `a` is a prefix and `b` is a top-level
502 * variable; or `a` is an object and `b` is the name of a property. Perform 641 * variable; or `a` is an object and `b` is the name of a property. Perform
503 * `reference op= value` where `op` is the next assignment operator from 642 * `reference op= value` where `op` is the next assignment operator from
504 * [UnlinkedConst.assignmentOperators]. Push `value` back into the stack. 643 * [UnlinkedExpr.assignmentOperators]. Push `value` back into the stack.
505 * 644 *
506 * If the assignment operator is a prefix/postfix increment/decrement, then 645 * If the assignment operator is a prefix/postfix increment/decrement, then
507 * `value` is not present in the stack, so it should not be popped and the 646 * `value` is not present in the stack, so it should not be popped and the
508 * corresponding value of the `target` after/before update is pushed into the 647 * corresponding value of the `target` after/before update is pushed into the
509 * stack instead. 648 * stack instead.
510 */ 649 */
511 assignToRef, 650 assignToRef,
512 651
513 /** 652 /**
514 * Pop from the stack `target` and `value`. Get the name of the property from 653 * Pop from the stack `target` and `value`. Get the name of the property from
515 * `UnlinkedConst.strings` and assign the `value` to the named property of the 654 * `UnlinkedConst.strings` and assign the `value` to the named property of the
516 * `target`. This operation is used when we know that the `target` is an 655 * `target`. This operation is used when we know that the `target` is an
517 * object reference expression, e.g. `new Foo().a.b.c` or `a.b[0].c.d`. 656 * object reference expression, e.g. `new Foo().a.b.c` or `a.b[0].c.d`.
518 * Perform `target.property op= value` where `op` is the next assignment 657 * Perform `target.property op= value` where `op` is the next assignment
519 * operator from [UnlinkedConst.assignmentOperators]. Push `value` back into 658 * operator from [UnlinkedExpr.assignmentOperators]. Push `value` back into
520 * the stack. 659 * the stack.
521 * 660 *
522 * If the assignment operator is a prefix/postfix increment/decrement, then 661 * If the assignment operator is a prefix/postfix increment/decrement, then
523 * `value` is not present in the stack, so it should not be popped and the 662 * `value` is not present in the stack, so it should not be popped and the
524 * corresponding value of the `target` after/before update is pushed into the 663 * corresponding value of the `target` after/before update is pushed into the
525 * stack instead. 664 * stack instead.
526 */ 665 */
527 assignToProperty, 666 assignToProperty,
528 667
529 /** 668 /**
530 * Pop from the stack `index`, `target` and `value`. Perform 669 * Pop from the stack `index`, `target` and `value`. Perform
531 * `target[index] op= value` where `op` is the next assignment operator from 670 * `target[index] op= value` where `op` is the next assignment operator from
532 * [UnlinkedConst.assignmentOperators]. Push `value` back into the stack. 671 * [UnlinkedExpr.assignmentOperators]. Push `value` back into the stack.
533 * 672 *
534 * If the assignment operator is a prefix/postfix increment/decrement, then 673 * If the assignment operator is a prefix/postfix increment/decrement, then
535 * `value` is not present in the stack, so it should not be popped and the 674 * `value` is not present in the stack, so it should not be popped and the
536 * corresponding value of the `target` after/before update is pushed into the 675 * corresponding value of the `target` after/before update is pushed into the
537 * stack instead. 676 * stack instead.
538 */ 677 */
539 assignToIndex, 678 assignToIndex,
540 679
541 /** 680 /**
542 * Pop from the stack `index` and `target`. Push into the stack the result 681 * Pop from the stack `index` and `target`. Push into the stack the result
543 * of evaluation of `target[index]`. 682 * of evaluation of `target[index]`.
544 */ 683 */
545 extractIndex, 684 extractIndex,
546 685
547 /** 686 /**
548 * Pop the top `n` values from the stack (where `n` is obtained from 687 * Pop the top `n` values from the stack (where `n` is obtained from
549 * [UnlinkedConst.ints]) into a list (filled from the end) and take the next 688 * [UnlinkedExpr.ints]) into a list (filled from the end) and take the next
550 * `n` values from [UnlinkedConst.strings] and use the lists of names and 689 * `n` values from [UnlinkedExpr.strings] and use the lists of names and
551 * values to create named arguments. Then pop the top `m` values from the 690 * values to create named arguments. Then pop the top `m` values from the
552 * stack (where `m` is obtained from [UnlinkedConst.ints]) into a list (filled 691 * stack (where `m` is obtained from [UnlinkedExpr.ints]) into a list (filled
553 * from the end) and use them as positional arguments. Use the lists of 692 * from the end) and use them as positional arguments. Use the lists of
554 * positional and names arguments to invoke a method (or a function) with 693 * positional and names arguments to invoke a method (or a function) with
555 * the reference from [UnlinkedConst.references]. If `k` is nonzero (where 694 * the reference from [UnlinkedExpr.references]. If `k` is nonzero (where
556 * `k` is obtained from [UnlinkedConst.ints]), obtain `k` type arguments from 695 * `k` is obtained from [UnlinkedExpr.ints]), obtain `k` type arguments from
557 * [UnlinkedConst.references] and use them as generic type arguments for the 696 * [UnlinkedExpr.references] and use them as generic type arguments for the
558 * aforementioned method or function. Push the result of the invocation onto 697 * aforementioned method or function. Push the result of the invocation onto
559 * the stack. 698 * the stack.
560 * 699 *
561 * In general `a.b` cannot not be distinguished between: `a` is a prefix and 700 * In general `a.b` cannot not be distinguished between: `a` is a prefix and
562 * `b` is a top-level function; or `a` is an object and `b` is the name of a 701 * `b` is a top-level function; or `a` is an object and `b` is the name of a
563 * method. This operation should be used for a sequence of identifiers 702 * method. This operation should be used for a sequence of identifiers
564 * `a.b.b.c.d.e` ending with an invokable result. 703 * `a.b.b.c.d.e` ending with an invokable result.
565 */ 704 */
566 invokeMethodRef, 705 invokeMethodRef,
567 706
568 /** 707 /**
569 * Pop the top `n` values from the stack (where `n` is obtained from 708 * Pop the top `n` values from the stack (where `n` is obtained from
570 * [UnlinkedConst.ints]) into a list (filled from the end) and take the next 709 * [UnlinkedExpr.ints]) into a list (filled from the end) and take the next
571 * `n` values from [UnlinkedConst.strings] and use the lists of names and 710 * `n` values from [UnlinkedExpr.strings] and use the lists of names and
572 * values to create named arguments. Then pop the top `m` values from the 711 * values to create named arguments. Then pop the top `m` values from the
573 * stack (where `m` is obtained from [UnlinkedConst.ints]) into a list (filled 712 * stack (where `m` is obtained from [UnlinkedExpr.ints]) into a list (filled
574 * from the end) and use them as positional arguments. Use the lists of 713 * from the end) and use them as positional arguments. Use the lists of
575 * positional and names arguments to invoke the method with the name from 714 * positional and names arguments to invoke the method with the name from
576 * [UnlinkedConst.strings] of the target popped from the stack. If `k` is 715 * [UnlinkedExpr.strings] of the target popped from the stack. If `k` is
577 * nonzero (where `k` is obtained from [UnlinkedConst.ints]), obtain `k` type 716 * nonzero (where `k` is obtained from [UnlinkedExpr.ints]), obtain `k` type
578 * arguments from [UnlinkedConst.references] and use them as generic type 717 * arguments from [UnlinkedExpr.references] and use them as generic type
579 * arguments for the aforementioned method. Push the result of the 718 * arguments for the aforementioned method. Push the result of the
580 * invocation onto the stack. 719 * invocation onto the stack.
581 * 720 *
582 * This operation should be used for invocation of a method invocation 721 * This operation should be used for invocation of a method invocation
583 * where `target` is known to be an object instance. 722 * where `target` is known to be an object instance.
584 */ 723 */
585 invokeMethod, 724 invokeMethod,
586 725
587 /** 726 /**
588 * Begin a new cascade section. Duplicate the top value of the stack. 727 * Begin a new cascade section. Duplicate the top value of the stack.
589 */ 728 */
590 cascadeSectionBegin, 729 cascadeSectionBegin,
591 730
592 /** 731 /**
593 * End a new cascade section. Pop the top value from the stack and throw it 732 * End a new cascade section. Pop the top value from the stack and throw it
594 * away. 733 * away.
595 */ 734 */
596 cascadeSectionEnd, 735 cascadeSectionEnd,
597 736
598 /** 737 /**
599 * Pop the top value from the stack and cast it to the type with reference 738 * Pop the top value from the stack and cast it to the type with reference
600 * from [UnlinkedConst.references], push the result into the stack. 739 * from [UnlinkedExpr.references], push the result into the stack.
601 */ 740 */
602 typeCast, 741 typeCast,
603 742
604 /** 743 /**
605 * Pop the top value from the stack and check whether it is a subclass of the 744 * Pop the top value from the stack and check whether it is a subclass of the
606 * type with reference from [UnlinkedConst.references], push the result into 745 * type with reference from [UnlinkedExpr.references], push the result into
607 * the stack. 746 * the stack.
608 */ 747 */
609 typeCheck, 748 typeCheck,
610 749
611 /** 750 /**
612 * Pop the top value from the stack and raise an exception with this value. 751 * Pop the top value from the stack and raise an exception with this value.
613 */ 752 */
614 throwException, 753 throwException,
615 754
616 /** 755 /**
617 * Obtain two values `n` and `m` from [UnlinkedConst.ints]. Then, starting at 756 * Obtain two values `n` and `m` from [UnlinkedExpr.ints]. Then, starting at
618 * the executable element for the expression being evaluated, if n > 0, pop to 757 * the executable element for the expression being evaluated, if n > 0, pop to
619 * the nth enclosing function element. Then, push the mth local function of 758 * the nth enclosing function element. Then, push the mth local function of
620 * that element onto the stack. 759 * that element onto the stack.
621 */ 760 */
622 pushLocalFunctionReference 761 pushLocalFunctionReference
623 } 762 }
624 763
625 /** 764 /**
626 * Enum used to indicate the kind of an constructor initializer.
627 */
628 enum UnlinkedConstructorInitializerKind : byte {
629 /**
630 * Initialization of a field.
631 */
632 field,
633
634 /**
635 * Invocation of a constructor in the same class.
636 */
637 thisInvocation,
638
639 /**
640 * Invocation of a superclass' constructor.
641 */
642 superInvocation
643 }
644
645 /**
646 * Enum used to indicate the kind of an executable.
647 */
648 enum UnlinkedExecutableKind : byte {
649 /**
650 * Executable is a function or method.
651 */
652 functionOrMethod,
653
654 /**
655 * Executable is a getter.
656 */
657 getter,
658
659 /**
660 * Executable is a setter.
661 */
662 setter,
663
664 /**
665 * Executable is a constructor.
666 */
667 constructor
668 }
669
670 /**
671 * Enum representing the various kinds of assignment operations combined
672 * with:
673 * [UnlinkedConstOperation.assignToRef],
674 * [UnlinkedConstOperation.assignToProperty],
675 * [UnlinkedConstOperation.assignToIndex].
676 */
677 enum UnlinkedExprAssignOperator : byte {
678 /**
679 * Perform simple assignment `target = operand`.
680 */
681 assign,
682
683 /**
684 * Perform `target ??= operand`.
685 */
686 ifNull,
687
688 /**
689 * Perform `target *= operand`.
690 */
691 multiply,
692
693 /**
694 * Perform `target /= operand`.
695 */
696 divide,
697
698 /**
699 * Perform `target ~/= operand`.
700 */
701 floorDivide,
702
703 /**
704 * Perform `target %= operand`.
705 */
706 modulo,
707
708 /**
709 * Perform `target += operand`.
710 */
711 plus,
712
713 /**
714 * Perform `target -= operand`.
715 */
716 minus,
717
718 /**
719 * Perform `target <<= operand`.
720 */
721 shiftLeft,
722
723 /**
724 * Perform `target >>= operand`.
725 */
726 shiftRight,
727
728 /**
729 * Perform `target &= operand`.
730 */
731 bitAnd,
732
733 /**
734 * Perform `target ^= operand`.
735 */
736 bitXor,
737
738 /**
739 * Perform `target |= operand`.
740 */
741 bitOr,
742
743 /**
744 * Perform `++target`.
745 */
746 prefixIncrement,
747
748 /**
749 * Perform `--target`.
750 */
751 prefixDecrement,
752
753 /**
754 * Perform `target++`.
755 */
756 postfixIncrement,
757
758 /**
759 * Perform `target++`.
760 */
761 postfixDecrement
762 }
763
764 /**
765 * Enum used to indicate the kind of a parameter. 765 * Enum used to indicate the kind of a parameter.
766 */ 766 */
767 enum UnlinkedParamKind : byte { 767 enum UnlinkedParamKind : byte {
768 /** 768 /**
769 * Parameter is required. 769 * Parameter is required.
770 */ 770 */
771 required, 771 required,
772 772
773 /** 773 /**
774 * Parameter is positional optional (enclosed in `[]`) 774 * Parameter is positional optional (enclosed in `[]`)
(...skipping 616 matching lines...) Expand 10 before | Expand all | Expand 10 after
1391 usedNames:[uint] (id: 8); 1391 usedNames:[uint] (id: 8);
1392 } 1392 }
1393 1393
1394 /** 1394 /**
1395 * Unlinked summary information about a class declaration. 1395 * Unlinked summary information about a class declaration.
1396 */ 1396 */
1397 table UnlinkedClass { 1397 table UnlinkedClass {
1398 /** 1398 /**
1399 * Annotations for this class. 1399 * Annotations for this class.
1400 */ 1400 */
1401 annotations:[UnlinkedConst] (id: 5); 1401 annotations:[UnlinkedExpr] (id: 5);
1402 1402
1403 /** 1403 /**
1404 * Code range of the class. 1404 * Code range of the class.
1405 */ 1405 */
1406 codeRange:CodeRange (id: 13); 1406 codeRange:CodeRange (id: 13);
1407 1407
1408 /** 1408 /**
1409 * Documentation comment for the class, or `null` if there is no 1409 * Documentation comment for the class, or `null` if there is no
1410 * documentation comment. 1410 * documentation comment.
1411 */ 1411 */
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
1514 uri:string (id: 2); 1514 uri:string (id: 2);
1515 1515
1516 /** 1516 /**
1517 * The value to which the value of the declared variable will be compared, 1517 * The value to which the value of the declared variable will be compared,
1518 * or `true` if the condition does not include an equality test. 1518 * or `true` if the condition does not include an equality test.
1519 */ 1519 */
1520 value:string (id: 1); 1520 value:string (id: 1);
1521 } 1521 }
1522 1522
1523 /** 1523 /**
1524 * Unlinked summary information about a compile-time constant expression, or a
1525 * potentially constant expression.
1526 *
1527 * Constant expressions are represented using a simple stack-based language
1528 * where [operations] is a sequence of operations to execute starting with an
1529 * empty stack. Once all operations have been executed, the stack should
1530 * contain a single value which is the value of the constant. Note that some
1531 * operations consume additional data from the other fields of this class.
1532 */
1533 table UnlinkedConst {
1534 /**
1535 * Sequence of operators used by assignment operations.
1536 */
1537 assignmentOperators:[UnlinkedExprAssignOperator] (id: 6);
1538
1539 /**
1540 * Sequence of 64-bit doubles consumed by the operation `pushDouble`.
1541 */
1542 doubles:[double] (id: 4);
1543
1544 /**
1545 * Sequence of unsigned 32-bit integers consumed by the operations
1546 * `pushArgument`, `pushInt`, `shiftOr`, `concatenate`, `invokeConstructor`,
1547 * `makeList`, and `makeMap`.
1548 */
1549 ints:[uint] (id: 1);
1550
1551 /**
1552 * Indicates whether the expression is a valid potentially constant
1553 * expression.
1554 */
1555 isValidConst:bool (id: 5);
1556
1557 /**
1558 * Sequence of operations to execute (starting with an empty stack) to form
1559 * the constant value.
1560 */
1561 operations:[UnlinkedConstOperation] (id: 0);
1562
1563 /**
1564 * Sequence of language constructs consumed by the operations
1565 * `pushReference`, `invokeConstructor`, `makeList`, and `makeMap`. Note
1566 * that in the case of `pushReference` (and sometimes `invokeConstructor` the
1567 * actual entity being referred to may be something other than a type.
1568 */
1569 references:[EntityRef] (id: 2);
1570
1571 /**
1572 * Sequence of strings consumed by the operations `pushString` and
1573 * `invokeConstructor`.
1574 */
1575 strings:[string] (id: 3);
1576 }
1577
1578 /**
1579 * Unlinked summary information about a constructor initializer. 1524 * Unlinked summary information about a constructor initializer.
1580 */ 1525 */
1581 table UnlinkedConstructorInitializer { 1526 table UnlinkedConstructorInitializer {
1582 /** 1527 /**
1583 * If there are `m` [arguments] and `n` [argumentNames], then each argument 1528 * If there are `m` [arguments] and `n` [argumentNames], then each argument
1584 * from [arguments] with index `i` such that `n + i - m >= 0`, should be used 1529 * from [arguments] with index `i` such that `n + i - m >= 0`, should be used
1585 * with the name at `n + i - m`. 1530 * with the name at `n + i - m`.
1586 */ 1531 */
1587 argumentNames:[string] (id: 4); 1532 argumentNames:[string] (id: 4);
1588 1533
1589 /** 1534 /**
1590 * If [kind] is `thisInvocation` or `superInvocation`, the arguments of the 1535 * If [kind] is `thisInvocation` or `superInvocation`, the arguments of the
1591 * invocation. Otherwise empty. 1536 * invocation. Otherwise empty.
1592 */ 1537 */
1593 arguments:[UnlinkedConst] (id: 3); 1538 arguments:[UnlinkedExpr] (id: 3);
1594 1539
1595 /** 1540 /**
1596 * If [kind] is `field`, the expression of the field initializer. 1541 * If [kind] is `field`, the expression of the field initializer.
1597 * Otherwise `null`. 1542 * Otherwise `null`.
1598 */ 1543 */
1599 expression:UnlinkedConst (id: 1); 1544 expression:UnlinkedExpr (id: 1);
1600 1545
1601 /** 1546 /**
1602 * The kind of the constructor initializer (field, redirect, super). 1547 * The kind of the constructor initializer (field, redirect, super).
1603 */ 1548 */
1604 kind:UnlinkedConstructorInitializerKind (id: 2); 1549 kind:UnlinkedConstructorInitializerKind (id: 2);
1605 1550
1606 /** 1551 /**
1607 * If [kind] is `field`, the name of the field declared in the class. If 1552 * If [kind] is `field`, the name of the field declared in the class. If
1608 * [kind] is `thisInvocation`, the name of the constructor, declared in this 1553 * [kind] is `thisInvocation`, the name of the constructor, declared in this
1609 * class, to redirect to. If [kind] is `superInvocation`, the name of the 1554 * class, to redirect to. If [kind] is `superInvocation`, the name of the
(...skipping 26 matching lines...) Expand all
1636 text:string (id: 1); 1581 text:string (id: 1);
1637 } 1582 }
1638 1583
1639 /** 1584 /**
1640 * Unlinked summary information about an enum declaration. 1585 * Unlinked summary information about an enum declaration.
1641 */ 1586 */
1642 table UnlinkedEnum { 1587 table UnlinkedEnum {
1643 /** 1588 /**
1644 * Annotations for this enum. 1589 * Annotations for this enum.
1645 */ 1590 */
1646 annotations:[UnlinkedConst] (id: 4); 1591 annotations:[UnlinkedExpr] (id: 4);
1647 1592
1648 /** 1593 /**
1649 * Code range of the enum. 1594 * Code range of the enum.
1650 */ 1595 */
1651 codeRange:CodeRange (id: 5); 1596 codeRange:CodeRange (id: 5);
1652 1597
1653 /** 1598 /**
1654 * Documentation comment for the enum, or `null` if there is no documentation 1599 * Documentation comment for the enum, or `null` if there is no documentation
1655 * comment. 1600 * comment.
1656 */ 1601 */
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
1695 } 1640 }
1696 1641
1697 /** 1642 /**
1698 * Unlinked summary information about a function, method, getter, or setter 1643 * Unlinked summary information about a function, method, getter, or setter
1699 * declaration. 1644 * declaration.
1700 */ 1645 */
1701 table UnlinkedExecutable { 1646 table UnlinkedExecutable {
1702 /** 1647 /**
1703 * Annotations for this executable. 1648 * Annotations for this executable.
1704 */ 1649 */
1705 annotations:[UnlinkedConst] (id: 6); 1650 annotations:[UnlinkedExpr] (id: 6);
1706 1651
1707 /** 1652 /**
1708 * If this executable's function body is declared using `=>`, the expression 1653 * If this executable's function body is declared using `=>`, the expression
1709 * to the right of the `=>`. May be omitted if neither type inference nor 1654 * to the right of the `=>`. May be omitted if neither type inference nor
1710 * constant evaluation depends on the function body. 1655 * constant evaluation depends on the function body.
1711 */ 1656 */
1712 bodyExpr:UnlinkedConst (id: 29); 1657 bodyExpr:UnlinkedExpr (id: 29);
1713 1658
1714 /** 1659 /**
1715 * Code range of the executable. 1660 * Code range of the executable.
1716 */ 1661 */
1717 codeRange:CodeRange (id: 26); 1662 codeRange:CodeRange (id: 26);
1718 1663
1719 /** 1664 /**
1720 * If a constant [UnlinkedExecutableKind.constructor], the constructor 1665 * If a constant [UnlinkedExecutableKind.constructor], the constructor
1721 * initializers. Otherwise empty. 1666 * initializers. Otherwise empty.
1722 */ 1667 */
(...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after
1886 } 1831 }
1887 1832
1888 /** 1833 /**
1889 * Unlinked summary information about an export declaration (stored outside 1834 * Unlinked summary information about an export declaration (stored outside
1890 * [UnlinkedPublicNamespace]). 1835 * [UnlinkedPublicNamespace]).
1891 */ 1836 */
1892 table UnlinkedExportNonPublic { 1837 table UnlinkedExportNonPublic {
1893 /** 1838 /**
1894 * Annotations for this export directive. 1839 * Annotations for this export directive.
1895 */ 1840 */
1896 annotations:[UnlinkedConst] (id: 3); 1841 annotations:[UnlinkedExpr] (id: 3);
1897 1842
1898 /** 1843 /**
1899 * Offset of the "export" keyword. 1844 * Offset of the "export" keyword.
1900 */ 1845 */
1901 offset:uint (id: 0); 1846 offset:uint (id: 0);
1902 1847
1903 /** 1848 /**
1904 * End of the URI string (including quotes) relative to the beginning of the 1849 * End of the URI string (including quotes) relative to the beginning of the
1905 * file. 1850 * file.
1906 */ 1851 */
(...skipping 22 matching lines...) Expand all
1929 */ 1874 */
1930 configurations:[UnlinkedConfiguration] (id: 2); 1875 configurations:[UnlinkedConfiguration] (id: 2);
1931 1876
1932 /** 1877 /**
1933 * URI used in the source code to reference the exported library. 1878 * URI used in the source code to reference the exported library.
1934 */ 1879 */
1935 uri:string (id: 0); 1880 uri:string (id: 0);
1936 } 1881 }
1937 1882
1938 /** 1883 /**
1884 * Unlinked summary information about an expression.
1885 *
1886 * Expressions are represented using a simple stack-based language
1887 * where [operations] is a sequence of operations to execute starting with an
1888 * empty stack. Once all operations have been executed, the stack should
1889 * contain a single value which is the value of the constant. Note that some
1890 * operations consume additional data from the other fields of this class.
1891 */
1892 table UnlinkedExpr {
1893 /**
1894 * Sequence of operators used by assignment operations.
1895 */
1896 assignmentOperators:[UnlinkedExprAssignOperator] (id: 6);
1897
1898 /**
1899 * Sequence of 64-bit doubles consumed by the operation `pushDouble`.
1900 */
1901 doubles:[double] (id: 4);
1902
1903 /**
1904 * Sequence of unsigned 32-bit integers consumed by the operations
1905 * `pushArgument`, `pushInt`, `shiftOr`, `concatenate`, `invokeConstructor`,
1906 * `makeList`, and `makeMap`.
1907 */
1908 ints:[uint] (id: 1);
1909
1910 /**
1911 * Indicates whether the expression is a valid potentially constant
1912 * expression.
1913 */
1914 isValidConst:bool (id: 5);
1915
1916 /**
1917 * Sequence of operations to execute (starting with an empty stack) to form
1918 * the constant value.
1919 */
1920 operations:[UnlinkedExprOperation] (id: 0);
1921
1922 /**
1923 * Sequence of language constructs consumed by the operations
1924 * `pushReference`, `invokeConstructor`, `makeList`, and `makeMap`. Note
1925 * that in the case of `pushReference` (and sometimes `invokeConstructor` the
1926 * actual entity being referred to may be something other than a type.
1927 */
1928 references:[EntityRef] (id: 2);
1929
1930 /**
1931 * Sequence of strings consumed by the operations `pushString` and
1932 * `invokeConstructor`.
1933 */
1934 strings:[string] (id: 3);
1935 }
1936
1937 /**
1939 * Unlinked summary information about an import declaration. 1938 * Unlinked summary information about an import declaration.
1940 */ 1939 */
1941 table UnlinkedImport { 1940 table UnlinkedImport {
1942 /** 1941 /**
1943 * Annotations for this import declaration. 1942 * Annotations for this import declaration.
1944 */ 1943 */
1945 annotations:[UnlinkedConst] (id: 8); 1944 annotations:[UnlinkedExpr] (id: 8);
1946 1945
1947 /** 1946 /**
1948 * Combinators contained in this import declaration. 1947 * Combinators contained in this import declaration.
1949 */ 1948 */
1950 combinators:[UnlinkedCombinator] (id: 4); 1949 combinators:[UnlinkedCombinator] (id: 4);
1951 1950
1952 /** 1951 /**
1953 * Configurations used to control which library will actually be loaded at 1952 * Configurations used to control which library will actually be loaded at
1954 * run-time. 1953 * run-time.
1955 */ 1954 */
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
2029 nameOffset:uint (id: 1); 2028 nameOffset:uint (id: 1);
2030 } 2029 }
2031 2030
2032 /** 2031 /**
2033 * Unlinked summary information about a function parameter. 2032 * Unlinked summary information about a function parameter.
2034 */ 2033 */
2035 table UnlinkedParam { 2034 table UnlinkedParam {
2036 /** 2035 /**
2037 * Annotations for this parameter. 2036 * Annotations for this parameter.
2038 */ 2037 */
2039 annotations:[UnlinkedConst] (id: 9); 2038 annotations:[UnlinkedExpr] (id: 9);
2040 2039
2041 /** 2040 /**
2042 * Code range of the parameter. 2041 * Code range of the parameter.
2043 */ 2042 */
2044 codeRange:CodeRange (id: 7); 2043 codeRange:CodeRange (id: 7);
2045 2044
2046 /** 2045 /**
2047 * If the parameter has a default value, the source text of the constant 2046 * If the parameter has a default value, the source text of the constant
2048 * expression in the default value. Otherwise the empty string. 2047 * expression in the default value. Otherwise the empty string.
2049 */ 2048 */
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
2127 visibleOffset:uint (id: 11); 2126 visibleOffset:uint (id: 11);
2128 } 2127 }
2129 2128
2130 /** 2129 /**
2131 * Unlinked summary information about a part declaration. 2130 * Unlinked summary information about a part declaration.
2132 */ 2131 */
2133 table UnlinkedPart { 2132 table UnlinkedPart {
2134 /** 2133 /**
2135 * Annotations for this part declaration. 2134 * Annotations for this part declaration.
2136 */ 2135 */
2137 annotations:[UnlinkedConst] (id: 2); 2136 annotations:[UnlinkedExpr] (id: 2);
2138 2137
2139 /** 2138 /**
2140 * End of the URI string (including quotes) relative to the beginning of the 2139 * End of the URI string (including quotes) relative to the beginning of the
2141 * file. 2140 * file.
2142 */ 2141 */
2143 uriEnd:uint (id: 0); 2142 uriEnd:uint (id: 0);
2144 2143
2145 /** 2144 /**
2146 * Offset of the URI string (including quotes) relative to the beginning of 2145 * Offset of the URI string (including quotes) relative to the beginning of
2147 * the file. 2146 * the file.
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after
2233 prefixReference:uint (id: 1); 2232 prefixReference:uint (id: 1);
2234 } 2233 }
2235 2234
2236 /** 2235 /**
2237 * Unlinked summary information about a typedef declaration. 2236 * Unlinked summary information about a typedef declaration.
2238 */ 2237 */
2239 table UnlinkedTypedef { 2238 table UnlinkedTypedef {
2240 /** 2239 /**
2241 * Annotations for this typedef. 2240 * Annotations for this typedef.
2242 */ 2241 */
2243 annotations:[UnlinkedConst] (id: 4); 2242 annotations:[UnlinkedExpr] (id: 4);
2244 2243
2245 /** 2244 /**
2246 * Code range of the typedef. 2245 * Code range of the typedef.
2247 */ 2246 */
2248 codeRange:CodeRange (id: 7); 2247 codeRange:CodeRange (id: 7);
2249 2248
2250 /** 2249 /**
2251 * Documentation comment for the typedef, or `null` if there is no 2250 * Documentation comment for the typedef, or `null` if there is no
2252 * documentation comment. 2251 * documentation comment.
2253 */ 2252 */
(...skipping 25 matching lines...) Expand all
2279 typeParameters:[UnlinkedTypeParam] (id: 5); 2278 typeParameters:[UnlinkedTypeParam] (id: 5);
2280 } 2279 }
2281 2280
2282 /** 2281 /**
2283 * Unlinked summary information about a type parameter declaration. 2282 * Unlinked summary information about a type parameter declaration.
2284 */ 2283 */
2285 table UnlinkedTypeParam { 2284 table UnlinkedTypeParam {
2286 /** 2285 /**
2287 * Annotations for this type parameter. 2286 * Annotations for this type parameter.
2288 */ 2287 */
2289 annotations:[UnlinkedConst] (id: 3); 2288 annotations:[UnlinkedExpr] (id: 3);
2290 2289
2291 /** 2290 /**
2292 * Bound of the type parameter, if a bound is explicitly declared. Otherwise 2291 * Bound of the type parameter, if a bound is explicitly declared. Otherwise
2293 * null. 2292 * null.
2294 */ 2293 */
2295 bound:EntityRef (id: 2); 2294 bound:EntityRef (id: 2);
2296 2295
2297 /** 2296 /**
2298 * Code range of the type parameter. 2297 * Code range of the type parameter.
2299 */ 2298 */
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
2363 2362
2364 /** 2363 /**
2365 * Indicates whether the unit contains a "part of" declaration. 2364 * Indicates whether the unit contains a "part of" declaration.
2366 */ 2365 */
2367 isPartOf:bool (id: 18); 2366 isPartOf:bool (id: 18);
2368 2367
2369 /** 2368 /**
2370 * Annotations for the library declaration, or the empty list if there is no 2369 * Annotations for the library declaration, or the empty list if there is no
2371 * library declaration. 2370 * library declaration.
2372 */ 2371 */
2373 libraryAnnotations:[UnlinkedConst] (id: 14); 2372 libraryAnnotations:[UnlinkedExpr] (id: 14);
2374 2373
2375 /** 2374 /**
2376 * Documentation comment for the library, or `null` if there is no 2375 * Documentation comment for the library, or `null` if there is no
2377 * documentation comment. 2376 * documentation comment.
2378 */ 2377 */
2379 libraryDocumentationComment:UnlinkedDocumentationComment (id: 9); 2378 libraryDocumentationComment:UnlinkedDocumentationComment (id: 9);
2380 2379
2381 /** 2380 /**
2382 * Name of the library (from a "library" declaration, if present). 2381 * Name of the library (from a "library" declaration, if present).
2383 */ 2382 */
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
2431 } 2430 }
2432 2431
2433 /** 2432 /**
2434 * Unlinked summary information about a top level variable, local variable, or 2433 * Unlinked summary information about a top level variable, local variable, or
2435 * a field. 2434 * a field.
2436 */ 2435 */
2437 table UnlinkedVariable { 2436 table UnlinkedVariable {
2438 /** 2437 /**
2439 * Annotations for this variable. 2438 * Annotations for this variable.
2440 */ 2439 */
2441 annotations:[UnlinkedConst] (id: 8); 2440 annotations:[UnlinkedExpr] (id: 8);
2442 2441
2443 /** 2442 /**
2444 * Code range of the variable. 2443 * Code range of the variable.
2445 */ 2444 */
2446 codeRange:CodeRange (id: 5); 2445 codeRange:CodeRange (id: 5);
2447 2446
2448 /** 2447 /**
2449 * Documentation comment for the variable, or `null` if there is no 2448 * Documentation comment for the variable, or `null` if there is no
2450 * documentation comment. 2449 * documentation comment.
2451 */ 2450 */
(...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after
2516 2515
2517 /** 2516 /**
2518 * If a local variable, the beginning of the visible range; zero otherwise. 2517 * If a local variable, the beginning of the visible range; zero otherwise.
2519 */ 2518 */
2520 visibleOffset:uint (id: 12); 2519 visibleOffset:uint (id: 12);
2521 } 2520 }
2522 2521
2523 root_type PackageBundle; 2522 root_type PackageBundle;
2524 2523
2525 file_identifier "PBdl"; 2524 file_identifier "PBdl";
OLDNEW
« no previous file with comments | « pkg/analyzer/lib/src/summary/format.dart ('k') | pkg/analyzer/lib/src/summary/idl.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698