| 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 /** | 5 /** |
| 6 * This file is an "idl" style description of the summary format. It is not | 6 * This file is an "idl" style description of the summary format. It is not |
| 7 * executed directly; instead it is parsed and transformed into code that | 7 * executed directly; instead it is parsed and transformed into code that |
| 8 * implements the summary format. | 8 * implements the summary format. |
| 9 * | 9 * |
| 10 * The code generation process introduces the following non-typical semantics: | 10 * The code generation process introduces the following non-typical semantics: |
| (...skipping 619 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 630 | 630 |
| 631 /** | 631 /** |
| 632 * Pop the top 2 values from the stack, pass them to the predefined Dart | 632 * Pop the top 2 values from the stack, pass them to the predefined Dart |
| 633 * function `identical`, and push the result back onto the stack. | 633 * function `identical`, and push the result back onto the stack. |
| 634 */ | 634 */ |
| 635 identical, | 635 identical, |
| 636 | 636 |
| 637 /** | 637 /** |
| 638 * Pop the top 2 values from the stack, evaluate `v1 == v2`, and push the | 638 * Pop the top 2 values from the stack, evaluate `v1 == v2`, and push the |
| 639 * result back onto the stack. | 639 * result back onto the stack. |
| 640 * | |
| 641 * This is also used to represent `v1 != v2`, by composition with [not]. | |
| 642 */ | 640 */ |
| 643 equal, | 641 equal, |
| 644 | 642 |
| 645 /** | 643 /** |
| 644 * Pop the top 2 values from the stack, evaluate `v1 != v2`, and push the |
| 645 * result back onto the stack. |
| 646 */ |
| 647 notEqual, |
| 648 |
| 649 /** |
| 646 * Pop the top value from the stack, compute its boolean negation, and push | 650 * Pop the top value from the stack, compute its boolean negation, and push |
| 647 * the result back onto the stack. | 651 * the result back onto the stack. |
| 648 */ | 652 */ |
| 649 not, | 653 not, |
| 650 | 654 |
| 651 /** | 655 /** |
| 652 * Pop the top 2 values from the stack, compute `v1 && v2`, and push the | 656 * Pop the top 2 values from the stack, compute `v1 && v2`, and push the |
| 653 * result back onto the stack. | 657 * result back onto the stack. |
| 654 */ | 658 */ |
| 655 and, | 659 and, |
| (...skipping 803 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1459 int propagatedTypeSlot; | 1463 int propagatedTypeSlot; |
| 1460 | 1464 |
| 1461 /** | 1465 /** |
| 1462 * If this variable is inferrable, nonzero slot id identifying which entry in | 1466 * If this variable is inferrable, nonzero slot id identifying which entry in |
| 1463 * [LinkedLibrary.types] contains the inferred type for this variable. If | 1467 * [LinkedLibrary.types] contains the inferred type for this variable. If |
| 1464 * there is no matching entry in [LinkedLibrary.types], then no type was | 1468 * there is no matching entry in [LinkedLibrary.types], then no type was |
| 1465 * inferred for this variable, so its static type is `dynamic`. | 1469 * inferred for this variable, so its static type is `dynamic`. |
| 1466 */ | 1470 */ |
| 1467 int inferredTypeSlot; | 1471 int inferredTypeSlot; |
| 1468 } | 1472 } |
| OLD | NEW |