| 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 |