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

Side by Side Diff: tests/compiler/dart2js/constant_expression_evaluate_test.dart

Issue 2669703003: Refactor ConstantExpression/ConstantConstructor to use entities. (Closed)
Patch Set: Created 3 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
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 library dart2js.constants.expressions.evaluate_test; 5 library dart2js.constants.expressions.evaluate_test;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'package:async_helper/async_helper.dart'; 8 import 'package:async_helper/async_helper.dart';
9 import 'package:expect/expect.dart'; 9 import 'package:expect/expect.dart';
10 import 'package:compiler/src/constants/constructors.dart';
10 import 'package:compiler/src/constants/evaluation.dart'; 11 import 'package:compiler/src/constants/evaluation.dart';
11 import 'package:compiler/src/constants/expressions.dart'; 12 import 'package:compiler/src/constants/expressions.dart';
12 import 'package:compiler/src/constants/values.dart'; 13 import 'package:compiler/src/constants/values.dart';
13 import 'package:compiler/src/constant_system_dart.dart'; 14 import 'package:compiler/src/constant_system_dart.dart';
14 import 'package:compiler/src/compiler.dart'; 15 import 'package:compiler/src/compiler.dart';
15 import 'package:compiler/src/elements/elements.dart'; 16 import 'package:compiler/src/elements/elements.dart';
17 import 'package:compiler/src/elements/resolution_types.dart';
16 import 'memory_compiler.dart'; 18 import 'memory_compiler.dart';
17 19
18 class TestData { 20 class TestData {
19 /// Declarations needed for the [constants]. 21 /// Declarations needed for the [constants].
20 final String declarations; 22 final String declarations;
21 23
22 /// Tested constants. 24 /// Tested constants.
23 final List constants; 25 final List constants;
24 26
25 const TestData(this.declarations, this.constants); 27 const TestData(this.declarations, this.constants);
(...skipping 10 matching lines...) Expand all
36 } 38 }
37 39
38 class MemoryEnvironment implements Environment { 40 class MemoryEnvironment implements Environment {
39 final Compiler compiler; 41 final Compiler compiler;
40 final Map<String, String> env; 42 final Map<String, String> env;
41 43
42 MemoryEnvironment(this.compiler, [this.env = const <String, String>{}]); 44 MemoryEnvironment(this.compiler, [this.env = const <String, String>{}]);
43 45
44 @override 46 @override
45 String readFromEnvironment(String name) => env[name]; 47 String readFromEnvironment(String name) => env[name];
48
49 @override
50 ResolutionInterfaceType substByContext(
51 ResolutionInterfaceType base, ResolutionInterfaceType target) {
52 return base.substByContext(target);
53 }
54
55 @override
56 ConstantConstructor getConstructorConstant(ConstructorElement constructor) {
57 return constructor.constantConstructor;
58 }
59
60 @override
61 ConstantExpression getFieldConstant(FieldElement field) {
62 return field.constant;
63 }
64
65 @override
66 ConstantExpression getLocalConstant(LocalVariableElement local) {
67 return local.constant;
68 }
46 } 69 }
47 70
48 const List<TestData> DATA = const [ 71 const List<TestData> DATA = const [
49 const TestData('', const [ 72 const TestData('', const [
50 const ConstantData('null', const {const {}: 'NullConstant'}), 73 const ConstantData('null', const {const {}: 'NullConstant'}),
51 const ConstantData('false', const {const {}: 'BoolConstant(false)'}), 74 const ConstantData('false', const {const {}: 'BoolConstant(false)'}),
52 const ConstantData('true', const {const {}: 'BoolConstant(true)'}), 75 const ConstantData('true', const {const {}: 'BoolConstant(true)'}),
53 const ConstantData('0', const {const {}: 'IntConstant(0)'}), 76 const ConstantData('0', const {const {}: 'IntConstant(0)'}),
54 const ConstantData('0.0', const {const {}: 'DoubleConstant(0.0)'}), 77 const ConstantData('0.0', const {const {}: 'DoubleConstant(0.0)'}),
55 const ConstantData('"foo"', const {const {}: 'StringConstant("foo")'}), 78 const ConstantData('"foo"', const {const {}: 'StringConstant("foo")'}),
(...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after
258 constant.evaluate(environment, DART_CONSTANT_SYSTEM); 281 constant.evaluate(environment, DART_CONSTANT_SYSTEM);
259 String valueText = value.toStructuredText(); 282 String valueText = value.toStructuredText();
260 Expect.equals( 283 Expect.equals(
261 expectedText, 284 expectedText,
262 valueText, 285 valueText,
263 "Unexpected value '${valueText}' for contant " 286 "Unexpected value '${valueText}' for contant "
264 "`${constant.toDartText()}`, expected '${expectedText}'."); 287 "`${constant.toDartText()}`, expected '${expectedText}'.");
265 }); 288 });
266 }); 289 });
267 } 290 }
OLDNEW
« no previous file with comments | « tests/compiler/dart2js/analyze_dart2js_helpers_test.dart ('k') | tests/compiler/dart2js/constant_expression_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698