OLD | NEW |
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file |
2 // for details. All rights reserved. Use of this source code is governed by a | 2 // for details. All rights reserved. Use of this source code is governed by a |
3 // BSD-style license that can be found in the LICENSE file. | 3 // BSD-style license that can be found in the LICENSE file. |
4 // | 4 // |
5 // This file has been automatically generated. Please do not edit it manually. | 5 // This file has been automatically generated. Please do not edit it manually. |
6 // To regenerate the file, use the script "pkg/analyzer/tool/generate_files". | 6 // To regenerate the file, use the script "pkg/analyzer/tool/generate_files". |
7 | 7 |
8 | 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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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 Loading... |
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"; |
OLD | NEW |