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

Side by Side Diff: pkg/kernel/test/class_hierarchy_tester.dart

Issue 2561723003: Merge kernel closure conversion into the Dart SDK (Closed)
Patch Set: Remove path constraint Created 4 years 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) 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 import 'package:kernel/kernel.dart'; 5 import 'package:kernel/kernel.dart';
6 import 'package:kernel/class_hierarchy.dart'; 6 import 'package:kernel/class_hierarchy.dart';
7 import 'package:test/test.dart'; 7 import 'package:test/test.dart';
8 import 'class_hierarchy_basic.dart'; 8 import 'class_hierarchy_basic.dart';
9 import 'dart:io'; 9 import 'dart:io';
10 import 'dart:math'; 10 import 'dart:math';
(...skipping 97 matching lines...) Expand 10 before | Expand all | Expand 10 after
108 ++progress; 108 ++progress;
109 if (verbose) { 109 if (verbose) {
110 stdout.write('\rInterface queries ${100 * progress ~/ total}%'); 110 stdout.write('\rInterface queries ${100 * progress ~/ total}%');
111 } 111 }
112 } 112 }
113 for (var classNode in classHierarchy.classes) { 113 for (var classNode in classHierarchy.classes) {
114 String getHash(member, superMember, setter) { 114 String getHash(member, superMember, setter) {
115 String eq = setter ? '=' : ''; 115 String eq = setter ? '=' : '';
116 return '$member$eq overrides $superMember$eq'; 116 return '$member$eq overrides $superMember$eq';
117 } 117 }
118
118 Set<String> expectedOverrides = new Set<String>(); 119 Set<String> expectedOverrides = new Set<String>();
119 basic.forEachOverridePair(classNode, (member, superMember, setter) { 120 basic.forEachOverridePair(classNode, (member, superMember, setter) {
120 expectedOverrides.add(getHash(member, superMember, setter)); 121 expectedOverrides.add(getHash(member, superMember, setter));
121 }); 122 });
122 Set<String> actualOverrides = new Set<String>(); 123 Set<String> actualOverrides = new Set<String>();
123 classHierarchy.forEachOverridePair(classNode, (member, superMember, setter) { 124 classHierarchy.forEachOverridePair(classNode,
125 (member, superMember, setter) {
124 actualOverrides.add(getHash(member, superMember, setter)); 126 actualOverrides.add(getHash(member, superMember, setter));
125 }); 127 });
126 for (var actual in actualOverrides) { 128 for (var actual in actualOverrides) {
127 if (!expectedOverrides.contains(actual)) { 129 if (!expectedOverrides.contains(actual)) {
128 fail("forEachOverridePair($classNode) should not report that $actual"); 130 fail("forEachOverridePair($classNode) should not report that $actual");
129 } 131 }
130 } 132 }
131 for (var expected in expectedOverrides) { 133 for (var expected in expectedOverrides) {
132 if (!actualOverrides.contains(expected)) { 134 if (!actualOverrides.contains(expected)) {
133 fail("forEachOverridePair($classNode) did not report that $expected"); 135 fail("forEachOverridePair($classNode) did not report that $expected");
134 } 136 }
135 } 137 }
136 } 138 }
137 if (verbose) { 139 if (verbose) {
138 print('\rProgress 100%. Done.'); 140 print('\rProgress 100%. Done.');
139 } 141 }
140 } 142 }
141 143
142 var random = new Random(12345); 144 var random = new Random(12345);
143 145
144 List/*<T>*/ pickRandom/*<T>*/(List/*<T>*/ items, int n) { 146 List/*<T>*/ pickRandom/*<T>*/(List/*<T>*/ items, int n) {
145 var result = /*<T>*/[]; 147 var result = /*<T>*/ [];
146 for (int i = 0; i < n; ++i) { 148 for (int i = 0; i < n; ++i) {
147 result.add(items[random.nextInt(items.length)]); 149 result.add(items[random.nextInt(items.length)]);
148 } 150 }
149 return result; 151 return result;
150 } 152 }
OLDNEW
« no previous file with comments | « pkg/kernel/test/class_hierarchy_membench.dart ('k') | pkg/kernel/test/closures/kernel_chain.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698