OLD | NEW |
1 // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file | 1 // Copyright (c) 2012, 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 dart2js.constant_system.js; | 5 library dart2js.constant_system.js; |
6 | 6 |
7 import '../compiler.dart' show Compiler; | 7 import '../compiler.dart' show Compiler; |
8 import '../constants/constant_system.dart'; | 8 import '../constants/constant_system.dart'; |
9 import '../constants/values.dart'; | 9 import '../constants/values.dart'; |
10 import '../constant_system_dart.dart'; | 10 import '../constant_system_dart.dart'; |
11 import '../core_types.dart' show CoreTypes; | 11 import '../core_types.dart' show CoreTypes; |
12 import '../dart_types.dart'; | 12 import '../dart_types.dart'; |
13 import '../elements/elements.dart' show ClassElement, FieldElement; | 13 import '../elements/elements.dart' show ClassElement, FieldElement; |
14 import '../tree/tree.dart' show DartString, LiteralDartString; | 14 import '../tree/dartstring.dart' show DartString, LiteralDartString; |
15 import 'js_backend.dart'; | 15 import 'js_backend.dart'; |
16 | 16 |
17 const JAVA_SCRIPT_CONSTANT_SYSTEM = const JavaScriptConstantSystem(); | 17 const JAVA_SCRIPT_CONSTANT_SYSTEM = const JavaScriptConstantSystem(); |
18 | 18 |
19 class JavaScriptBitNotOperation extends BitNotOperation { | 19 class JavaScriptBitNotOperation extends BitNotOperation { |
20 const JavaScriptBitNotOperation(); | 20 const JavaScriptBitNotOperation(); |
21 | 21 |
22 ConstantValue fold(ConstantValue constant) { | 22 ConstantValue fold(ConstantValue constant) { |
23 if (JAVA_SCRIPT_CONSTANT_SYSTEM.isInt(constant)) { | 23 if (JAVA_SCRIPT_CONSTANT_SYSTEM.isInt(constant)) { |
24 // In JavaScript we don't check for -0 and treat it as if it was zero. | 24 // In JavaScript we don't check for -0 and treat it as if it was zero. |
(...skipping 373 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
398 result.add(keyList); | 398 result.add(keyList); |
399 } else { | 399 } else { |
400 // Add the keys individually to avoid generating an unused list constant | 400 // Add the keys individually to avoid generating an unused list constant |
401 // for the keys. | 401 // for the keys. |
402 result.addAll(keys); | 402 result.addAll(keys); |
403 } | 403 } |
404 result.addAll(values); | 404 result.addAll(values); |
405 return result; | 405 return result; |
406 } | 406 } |
407 } | 407 } |
OLD | NEW |