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

Side by Side Diff: tests/compiler/dart2js/serialization/model_test_helper.dart

Issue 2693893003: Introduce EnqueuerListener (Closed)
Patch Set: Make listener private 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
« no previous file with comments | « tests/compiler/dart2js/kernel/closed_world_test.dart ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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.serialization_model_test; 5 library dart2js.serialization_model_test;
6 6
7 import 'dart:async'; 7 import 'dart:async';
8 import 'dart:io'; 8 import 'dart:io';
9 import 'package:async_helper/async_helper.dart'; 9 import 'package:async_helper/async_helper.dart';
10 import 'package:expect/expect.dart'; 10 import 'package:expect/expect.dart';
(...skipping 78 matching lines...) Expand 10 before | Expand all | Expand 10 after
89 resolutionInputs: resolutionInputs, 89 resolutionInputs: resolutionInputs,
90 options: [Flags.analyzeOnly]); 90 options: [Flags.analyzeOnly]);
91 compilerDeserialized.resolution.retainCachesForTesting = true; 91 compilerDeserialized.resolution.retainCachesForTesting = true;
92 await compilerDeserialized.run(entryPoint); 92 await compilerDeserialized.run(entryPoint);
93 compilerDeserialized.closeResolution(); 93 compilerDeserialized.closeResolution();
94 return compilerDeserialized; 94 return compilerDeserialized;
95 }); 95 });
96 96
97 return measure(title, 'check models', () async { 97 return measure(title, 'check models', () async {
98 checkAllImpacts(compilerNormal, compilerDeserialized, verbose: verbose); 98 checkAllImpacts(compilerNormal, compilerDeserialized, verbose: verbose);
99 checkResolutionEnqueuers(compilerNormal.enqueuer.resolution, 99 checkResolutionEnqueuers(
100 compilerNormal.backend,
101 compilerDeserialized.backend,
102 compilerNormal.enqueuer.resolution,
100 compilerDeserialized.enqueuer.resolution, 103 compilerDeserialized.enqueuer.resolution,
101 verbose: verbose); 104 verbose: verbose);
102 checkClosedWorlds( 105 checkClosedWorlds(
103 compilerNormal.resolutionWorldBuilder.closedWorldForTesting, 106 compilerNormal.resolutionWorldBuilder.closedWorldForTesting,
104 compilerDeserialized.resolutionWorldBuilder.closedWorldForTesting, 107 compilerDeserialized.resolutionWorldBuilder.closedWorldForTesting,
105 verbose: verbose); 108 verbose: verbose);
106 checkBackendInfo(compilerNormal, compilerDeserialized, verbose: verbose); 109 checkBackendInfo(compilerNormal, compilerDeserialized, verbose: verbose);
107 }); 110 });
108 } 111 }
109 112
110 void checkResolutionEnqueuers( 113 void checkResolutionEnqueuers(
111 ResolutionEnqueuer enqueuer1, ResolutionEnqueuer enqueuer2, 114 JavaScriptBackend backend1,
115 JavaScriptBackend backend2,
116 ResolutionEnqueuer enqueuer1,
117 ResolutionEnqueuer enqueuer2,
112 {bool typeEquivalence(ResolutionDartType a, ResolutionDartType b): 118 {bool typeEquivalence(ResolutionDartType a, ResolutionDartType b):
113 areTypesEquivalent, 119 areTypesEquivalent,
114 bool elementFilter(Element element), 120 bool elementFilter(Element element),
115 bool verbose: false}) { 121 bool verbose: false}) {
116 checkSets(enqueuer1.processedEntities, enqueuer2.processedEntities, 122 checkSets(enqueuer1.processedEntities, enqueuer2.processedEntities,
117 "Processed element mismatch", areElementsEquivalent, 123 "Processed element mismatch", areElementsEquivalent,
118 elementFilter: elementFilter, verbose: verbose); 124 elementFilter: elementFilter, verbose: verbose);
119 125
120 ResolutionWorldBuilderImpl worldBuilder1 = enqueuer1.worldBuilder; 126 ResolutionWorldBuilderImpl worldBuilder1 = enqueuer1.worldBuilder;
121 ResolutionWorldBuilderImpl worldBuilder2 = enqueuer2.worldBuilder; 127 ResolutionWorldBuilderImpl worldBuilder2 = enqueuer2.worldBuilder;
(...skipping 17 matching lines...) Expand all
139 enqueuer1.worldBuilder.instantiatedTypes, 145 enqueuer1.worldBuilder.instantiatedTypes,
140 enqueuer2.worldBuilder.instantiatedTypes, 146 enqueuer2.worldBuilder.instantiatedTypes,
141 "Instantiated types mismatch", 147 "Instantiated types mismatch",
142 typeEquivalence, 148 typeEquivalence,
143 verbose: verbose); 149 verbose: verbose);
144 150
145 checkSets(enqueuer1.worldBuilder.isChecks, enqueuer2.worldBuilder.isChecks, 151 checkSets(enqueuer1.worldBuilder.isChecks, enqueuer2.worldBuilder.isChecks,
146 "Is-check mismatch", typeEquivalence, 152 "Is-check mismatch", typeEquivalence,
147 verbose: verbose); 153 verbose: verbose);
148 154
149 JavaScriptBackend backend1 = enqueuer1.backend;
150 JavaScriptBackend backend2 = enqueuer2.backend;
151 Expect.equals(backend1.hasInvokeOnSupport, backend2.hasInvokeOnSupport, 155 Expect.equals(backend1.hasInvokeOnSupport, backend2.hasInvokeOnSupport,
152 "JavaScriptBackend.hasInvokeOnSupport mismatch"); 156 "JavaScriptBackend.hasInvokeOnSupport mismatch");
153 Expect.equals( 157 Expect.equals(
154 backend1.hasFunctionApplySupport, 158 backend1.hasFunctionApplySupport,
155 backend2.hasFunctionApplySupport, 159 backend2.hasFunctionApplySupport,
156 "JavaScriptBackend.hasFunctionApplySupport mismatch"); 160 "JavaScriptBackend.hasFunctionApplySupport mismatch");
157 Expect.equals(backend1.hasRuntimeTypeSupport, backend2.hasRuntimeTypeSupport, 161 Expect.equals(backend1.hasRuntimeTypeSupport, backend2.hasRuntimeTypeSupport,
158 "JavaScriptBackend.hasRuntimeTypeSupport mismatch"); 162 "JavaScriptBackend.hasRuntimeTypeSupport mismatch");
159 Expect.equals(backend1.hasIsolateSupport, backend2.hasIsolateSupport, 163 Expect.equals(backend1.hasIsolateSupport, backend2.hasIsolateSupport,
160 "JavaScriptBackend.hasIsolateSupport mismatch"); 164 "JavaScriptBackend.hasIsolateSupport mismatch");
(...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after
441 a, b, (a, b) => areInstancesEquivalent(a, b, typeEquivalence))); 445 a, b, (a, b) => areInstancesEquivalent(a, b, typeEquivalence)));
442 return true; 446 return true;
443 } 447 }
444 448
445 bool areInstancesEquivalent(Instance instance1, Instance instance2, 449 bool areInstancesEquivalent(Instance instance1, Instance instance2,
446 bool typeEquivalence(ResolutionDartType a, ResolutionDartType b)) { 450 bool typeEquivalence(ResolutionDartType a, ResolutionDartType b)) {
447 return typeEquivalence(instance1.type, instance2.type) && 451 return typeEquivalence(instance1.type, instance2.type) &&
448 instance1.kind == instance2.kind && 452 instance1.kind == instance2.kind &&
449 instance1.isRedirection == instance2.isRedirection; 453 instance1.isRedirection == instance2.isRedirection;
450 } 454 }
OLDNEW
« no previous file with comments | « tests/compiler/dart2js/kernel/closed_world_test.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698