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

Unified Diff: tests/compiler/dart2js/kernel/closed_world2_test.dart

Issue 2836993003: Handle instantiation of native classes in closed_world2_test (Closed)
Patch Set: Created 3 years, 8 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 side-by-side diff with in-line comments
Download patch
Index: tests/compiler/dart2js/kernel/closed_world2_test.dart
diff --git a/tests/compiler/dart2js/kernel/closed_world2_test.dart b/tests/compiler/dart2js/kernel/closed_world2_test.dart
index f8666433fdda334fe00e3bb075a9add0beec9b0a..cd4c6c9fb470e2c4c42747ba1e17eccfcca1e33f 100644
--- a/tests/compiler/dart2js/kernel/closed_world2_test.dart
+++ b/tests/compiler/dart2js/kernel/closed_world2_test.dart
@@ -35,11 +35,13 @@ import 'package:compiler/src/js_backend/no_such_method_registry.dart';
import 'package:compiler/src/js_backend/resolution_listener.dart';
import 'package:compiler/src/js_backend/type_variable_handler.dart';
import 'package:compiler/src/native/enqueue.dart';
+import 'package:compiler/src/native/resolver.dart';
import 'package:compiler/src/kernel/element_map.dart';
import 'package:compiler/src/options.dart';
import 'package:compiler/src/universe/world_builder.dart';
import 'package:compiler/src/universe/world_impact.dart';
import 'package:compiler/src/world.dart';
+import 'package:expect/expect.dart';
import '../memory_compiler.dart';
import '../serialization/helper.dart';
import '../serialization/model_test_helper.dart';
@@ -50,9 +52,12 @@ import 'impact_test.dart';
const SOURCE = const {
'main.dart': '''
+import 'dart:html';
+
main() {
print('Hello World');
''.contains; // Trigger member closurization.
+ new Element.div();
}
'''
};
@@ -80,6 +85,7 @@ main(List<String> args) {
ElementResolutionWorldBuilder.useInstantiationMap = true;
compiler1.resolution.retainCachesForTesting = true;
await compiler1.run(entryPoint);
+ Expect.isFalse(compiler1.compilationFailed);
ResolutionEnqueuer enqueuer1 = compiler1.enqueuer.resolution;
BackendUsage backendUsage1 = compiler1.backend.backendUsage;
ClosedWorld closedWorld1 = compiler1.resolutionWorldBuilder.closeWorld();
@@ -102,7 +108,7 @@ main(List<String> args) {
KernelEquivalence equivalence = new KernelEquivalence(elementMap);
NativeBasicData nativeBasicData = computeNativeBasicData(elementMap);
checkNativeBasicData(
- compiler.backend.nativeBasicData, nativeBasicData, equivalence);
+ compiler1.backend.nativeBasicData, nativeBasicData, equivalence);
List list = createKernelResolutionEnqueuerListener(
compiler.options,
compiler.reporter,
@@ -112,6 +118,7 @@ main(List<String> args) {
ResolutionEnqueuerListener resolutionEnqueuerListener = list[0];
BackendUsageBuilder backendUsageBuilder2 = list[1];
ImpactTransformer impactTransformer = list[2];
+
ResolutionEnqueuer enqueuer2 = new ResolutionEnqueuer(
compiler.enqueuer,
compiler.options,
@@ -165,9 +172,11 @@ List createKernelResolutionEnqueuerListener(
new BackendUsageBuilderImpl(commonElements);
NoSuchMethodRegistry noSuchMethodRegistry = new NoSuchMethodRegistry(
commonElements, new KernelNoSuchMethodResolver(elementMap));
+ NativeClassResolver nativeClassResolver = new NativeClassResolverImpl(
Siggi Cherem (dart-lang) 2017/04/25 19:45:53 should we start using the strategy here?
Johnni Winther 2017/04/26 07:40:19 Yes.
+ elementEnvironment, commonElements, nativeBasicData);
NativeResolutionEnqueuer nativeResolutionEnqueuer =
new NativeResolutionEnqueuer(options, elementEnvironment, commonElements,
- backendUsageBuilder, new KernelNativeClassResolver(elementMap));
+ backendUsageBuilder, nativeClassResolver);
ResolutionEnqueuerListener listener = new ResolutionEnqueuerListener(
options,

Powered by Google App Engine
This is Rietveld 408576698