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

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

Issue 1612863002: Serialize long integers as unsigned 32-bit pieces. (Closed) Base URL: git@github.com:dart-lang/sdk.git@master
Patch Set: Created 4 years, 11 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/summary_common.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 432 matching lines...) Expand 10 before | Expand all | Expand 10 after
443 * operations consume additional data from the other fields of this class. 443 * operations consume additional data from the other fields of this class.
444 */ 444 */
445 class UnlinkedConst { 445 class UnlinkedConst {
446 /** 446 /**
447 * Sequence of operations to execute (starting with an empty stack) to form 447 * Sequence of operations to execute (starting with an empty stack) to form
448 * the constant value. 448 * the constant value.
449 */ 449 */
450 List<UnlinkedConstOperation> operations; 450 List<UnlinkedConstOperation> operations;
451 451
452 /** 452 /**
453 * Sequence of 32-bit integers consumed by the operations `pushArgument`, 453 * Sequence of unsigned 32-bit integers consumed by the operations
454 * `pushInt`, `shiftOr`, `concatenate`, `invokeConstructor`, `makeList`, and 454 * `pushArgument`, `pushInt`, `shiftOr`, `concatenate`, `invokeConstructor`,
455 * `makeMap`. 455 * `makeList`, and `makeMap`.
456 */ 456 */
457 List<int> ints; 457 List<int> ints;
458 458
459 /** 459 /**
460 * Sequence of 64-bit doubles consumed by the operation `pushDouble`. 460 * Sequence of 64-bit doubles consumed by the operation `pushDouble`.
461 */ 461 */
462 List<double> doubles; 462 List<double> doubles;
463 463
464 /** 464 /**
465 * Sequence of strings consumed by the operations `pushString` and 465 * Sequence of strings consumed by the operations `pushString` and
(...skipping 16 matching lines...) Expand all
482 * context of a stack which is initially empty. 482 * context of a stack which is initially empty.
483 */ 483 */
484 enum UnlinkedConstOperation { 484 enum UnlinkedConstOperation {
485 /** 485 /**
486 * Push the value of the n-th constructor argument (where n is obtained from 486 * Push the value of the n-th constructor argument (where n is obtained from
487 * [UnlinkedConst.ints]) onto the stack. 487 * [UnlinkedConst.ints]) onto the stack.
488 */ 488 */
489 pushArgument, 489 pushArgument,
490 490
491 /** 491 /**
492 * Push the next value from [UnlinkedConst.ints] (a 32-bit signed integer) 492 * Push the next value from [UnlinkedConst.ints] (a 32-bit unsigned integer)
493 * onto the stack. 493 * onto the stack.
494 * 494 *
495 * Note that Dart supports integers larger than 32 bits; these are 495 * Note that Dart supports integers larger than 32 bits; these are
496 * represented by composing 32 bit values using the [shiftOr] operation. 496 * represented by composing 32 bit values using the [shiftOr] operation.
497 */ 497 */
498 pushInt, 498 pushInt,
499 499
500 /** 500 /**
501 * Pop the top value off the stack, which should be an integer. Multiply it 501 * Pop the top value off the stack, which should be an integer. Multiply it
502 * by 2^32, "or" in the next value from [UnlinkedConst.ints] (which is 502 * by 2^32, "or" in the next value from [UnlinkedConst.ints] (which is
(...skipping 914 matching lines...) Expand 10 before | Expand all | Expand 10 after
1417 /** 1417 /**
1418 * If this variable is propagable, nonzero slot id identifying which entry in 1418 * If this variable is propagable, nonzero slot id identifying which entry in
1419 * [LinkedLibrary.types] contains the propagated type for this variable. If 1419 * [LinkedLibrary.types] contains the propagated type for this variable. If
1420 * there is no matching entry in [LinkedLibrary.types], then this variable's 1420 * there is no matching entry in [LinkedLibrary.types], then this variable's
1421 * propagated type is the same as its declared type. 1421 * propagated type is the same as its declared type.
1422 * 1422 *
1423 * Non-propagable variables have a [propagatedTypeSlot] of zero. 1423 * Non-propagable variables have a [propagatedTypeSlot] of zero.
1424 */ 1424 */
1425 int propagatedTypeSlot; 1425 int propagatedTypeSlot;
1426 } 1426 }
OLDNEW
« no previous file with comments | « pkg/analyzer/test/src/summary/summary_common.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698