| OLD | NEW |
| 1 // Copyright (c) 2016, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2016, 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 library serialization.summarize_const_expr; | 5 library serialization.summarize_const_expr; |
| 6 | 6 |
| 7 import 'package:analyzer/dart/ast/ast.dart'; | 7 import 'package:analyzer/dart/ast/ast.dart'; |
| 8 import 'package:analyzer/dart/ast/token.dart'; | 8 import 'package:analyzer/dart/ast/token.dart'; |
| 9 import 'package:analyzer/dart/element/type.dart' show DartType; | 9 import 'package:analyzer/dart/element/type.dart' show DartType; |
| 10 import 'package:analyzer/src/summary/format.dart'; | 10 import 'package:analyzer/src/summary/format.dart'; |
| (...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 268 operations.add(UnlinkedExprOperation.pushParameter); | 268 operations.add(UnlinkedExprOperation.pushParameter); |
| 269 strings.add(expr.identifier.name); | 269 strings.add(expr.identifier.name); |
| 270 operations.add(UnlinkedExprOperation.assignToProperty); | 270 operations.add(UnlinkedExprOperation.assignToProperty); |
| 271 } else { | 271 } else { |
| 272 throw new StateError('Unsupported assignable: $expr'); | 272 throw new StateError('Unsupported assignable: $expr'); |
| 273 } | 273 } |
| 274 } | 274 } |
| 275 | 275 |
| 276 void _pushInt(int value) { | 276 void _pushInt(int value) { |
| 277 assert(value >= 0); | 277 assert(value >= 0); |
| 278 if (value >= (1 << 32)) { | 278 if (value >= 0x100000000) { |
| 279 int numOfComponents = 0; | 279 int numOfComponents = 0; |
| 280 ints.add(numOfComponents); | 280 ints.add(numOfComponents); |
| 281 void pushComponents(int value) { | 281 void pushComponents(int value) { |
| 282 if (value >= (1 << 32)) { | 282 if (value >= 0x100000000) { |
| 283 pushComponents(value >> 32); | 283 pushComponents(value ~/ 0x100000000); |
| 284 } | 284 } |
| 285 numOfComponents++; | 285 numOfComponents++; |
| 286 ints.add(value & 0xFFFFFFFF); | 286 ints.add(value & 0xFFFFFFFF); |
| 287 } | 287 } |
| 288 | 288 |
| 289 pushComponents(value); | 289 pushComponents(value); |
| 290 ints[ints.length - 1 - numOfComponents] = numOfComponents; | 290 ints[ints.length - 1 - numOfComponents] = numOfComponents; |
| 291 operations.add(UnlinkedExprOperation.pushLongInt); | 291 operations.add(UnlinkedExprOperation.pushLongInt); |
| 292 } else { | 292 } else { |
| 293 operations.add(UnlinkedExprOperation.pushInt); | 293 operations.add(UnlinkedExprOperation.pushInt); |
| (...skipping 376 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 670 if (typeArguments == null) { | 670 if (typeArguments == null) { |
| 671 ints.add(0); | 671 ints.add(0); |
| 672 } else { | 672 } else { |
| 673 ints.add(typeArguments.arguments.length); | 673 ints.add(typeArguments.arguments.length); |
| 674 for (TypeAnnotation type in typeArguments.arguments) { | 674 for (TypeAnnotation type in typeArguments.arguments) { |
| 675 references.add(serializeTypeName(type)); | 675 references.add(serializeTypeName(type)); |
| 676 } | 676 } |
| 677 } | 677 } |
| 678 } | 678 } |
| 679 } | 679 } |
| OLD | NEW |