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

Side by Side Diff: pkg/analyzer/tool/summary/idl.dart

Issue 1649873002: Resynthesize binary and prefix expressions. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « pkg/analyzer/test/src/summary/resynthesize_test.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file 1 // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file
2 // for details. All rights reserved. Use of this source code is governed by a 2 // for details. All rights reserved. Use of this source code is governed by a
3 // BSD-style license that can be found in the LICENSE file. 3 // BSD-style license that can be found in the LICENSE file.
4 4
5 /** 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 482 matching lines...) Expand 10 before | Expand all | Expand 10 after
493 List<EntityRef> references; 493 List<EntityRef> references;
494 } 494 }
495 495
496 /** 496 /**
497 * Enum representing the various kinds of operations which may be performed to 497 * Enum representing the various kinds of operations which may be performed to
498 * produce a constant value. These options are assumed to execute in the 498 * produce a constant value. These options are assumed to execute in the
499 * context of a stack which is initially empty. 499 * context of a stack which is initially empty.
500 */ 500 */
501 enum UnlinkedConstOperation { 501 enum UnlinkedConstOperation {
502 /** 502 /**
503 * Push the value of the n-th constructor argument (where n is obtained from
504 * [UnlinkedConst.ints]) onto the stack.
505 */
506 pushArgument,
507
508 /**
509 * Push the next value from [UnlinkedConst.ints] (a 32-bit unsigned integer) 503 * Push the next value from [UnlinkedConst.ints] (a 32-bit unsigned integer)
510 * onto the stack. 504 * onto the stack.
511 * 505 *
512 * Note that Dart supports integers larger than 32 bits; these are 506 * Note that Dart supports integers larger than 32 bits; these are
513 * represented by composing 32 bit values using the [shiftOr] operation. 507 * represented by composing 32 bit values using the [shiftOr] operation.
514 */ 508 */
515 pushInt, 509 pushInt,
516 510
517 /** 511 /**
518 * Pop the top value off the stack, which should be an integer. Multiply it 512 * Pop the top value off the stack, which should be an integer. Multiply it
(...skipping 944 matching lines...) Expand 10 before | Expand all | Expand 10 after
1463 int propagatedTypeSlot; 1457 int propagatedTypeSlot;
1464 1458
1465 /** 1459 /**
1466 * If this variable is inferrable, nonzero slot id identifying which entry in 1460 * If this variable is inferrable, nonzero slot id identifying which entry in
1467 * [LinkedLibrary.types] contains the inferred type for this variable. If 1461 * [LinkedLibrary.types] contains the inferred type for this variable. If
1468 * there is no matching entry in [LinkedLibrary.types], then no type was 1462 * there is no matching entry in [LinkedLibrary.types], then no type was
1469 * inferred for this variable, so its static type is `dynamic`. 1463 * inferred for this variable, so its static type is `dynamic`.
1470 */ 1464 */
1471 int inferredTypeSlot; 1465 int inferredTypeSlot;
1472 } 1466 }
OLDNEW
« no previous file with comments | « pkg/analyzer/test/src/summary/resynthesize_test.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698