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

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

Issue 2944843002: All strong mode cleaning of dart2js. (Closed)
Patch Set: More issues discovered during testing. Created 3 years, 6 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) 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 // Test that dart2js gvns dynamic getters that don't have side 4 // Test that dart2js gvns dynamic getters that don't have side
5 // effects. 5 // effects.
6 6
7 import 'package:expect/expect.dart'; 7 import 'package:expect/expect.dart';
8 import 'package:async_helper/async_helper.dart'; 8 import 'package:async_helper/async_helper.dart';
9 import 'compiler_helper.dart'; 9 import 'compiler_helper.dart';
10 import 'package:compiler/src/elements/names.dart'; 10 import 'package:compiler/src/elements/names.dart';
11 import 'package:compiler/src/universe/selector.dart' show Selector; 11 import 'package:compiler/src/universe/selector.dart' show Selector;
12 12
13 const String TEST = r""" 13 const String TEST = r"""
14 class A { 14 class A {
15 var foo; 15 var foo;
16 bar(a) { 16 bar(a) {
17 return a.foo + a.foo; 17 return a.foo + a.foo;
18 } 18 }
19 } 19 }
20 20
21 main() { 21 main() {
22 new A().bar(new Object()); 22 new A().bar(new Object());
23 } 23 }
24 """; 24 """;
25 25
26 main() { 26 main() {
27 Uri uri = new Uri(scheme: 'source'); 27 Uri uri = new Uri(scheme: 'source');
28 var compiler = compilerFor(TEST, uri); 28 dynamic compiler = compilerFor(TEST, uri);
29 asyncTest(() => compiler.run(uri).then((_) { 29 asyncTest(() => compiler.run(uri).then((_) {
30 String generated = compiler.assembledCode; 30 String generated = compiler.assembledCode;
31 RegExp regexp = new RegExp(r"get\$foo"); 31 RegExp regexp = new RegExp(r"get\$foo");
32 Iterator matches = regexp.allMatches(generated).iterator; 32 Iterator matches = regexp.allMatches(generated).iterator;
33 checkNumberOfMatches(matches, 1); 33 checkNumberOfMatches(matches, 1);
34 var cls = findElement(compiler, 'A'); 34 dynamic cls = findElement(compiler, 'A');
35 Expect.isNotNull(cls); 35 Expect.isNotNull(cls);
36 String name = 'foo'; 36 String name = 'foo';
37 var element = cls.lookupLocalMember(name); 37 var element = cls.lookupLocalMember(name);
38 Expect.isNotNull(element); 38 Expect.isNotNull(element);
39 Selector selector = new Selector.getter(new PublicName(name)); 39 Selector selector = new Selector.getter(new PublicName(name));
40 Expect.isFalse(compiler.resolutionWorldBuilder.closedWorldForTesting 40 Expect.isFalse(compiler.resolutionWorldBuilder.closedWorldForTesting
41 .hasAnyUserDefinedGetter(selector, null)); 41 .hasAnyUserDefinedGetter(selector, null));
42 })); 42 }));
43 } 43 }
OLDNEW
« no previous file with comments | « tests/compiler/dart2js/exit_code_test.dart ('k') | tests/compiler/dart2js/kernel/closed_world2_test.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698