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

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

Issue 2824423002: Compute NativeBasicData for KernelWorldBuilder (Closed)
Patch Set: Put computeNativeBasicData into KernelAnnotationProcessor. 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 8b54d774fe6aebc0065232fc998e8593b894cadb..839ce61176d9d816143001a903cace358628ff9d 100644
--- a/tests/compiler/dart2js/kernel/closed_world2_test.dart
+++ b/tests/compiler/dart2js/kernel/closed_world2_test.dart
@@ -42,8 +42,17 @@ import 'package:compiler/src/universe/world_impact.dart';
import 'package:compiler/src/world.dart';
import '../memory_compiler.dart';
import '../serialization/helper.dart';
+import '../serialization/model_test_helper.dart';
+import '../serialization/test_helper.dart';
import 'closed_world_test.dart';
+import 'impact_test.dart';
+
+const SOURCE = const {
+ 'main.dart': '''
+main() {}
+'''
+};
main(List<String> args) {
Arguments arguments = new Arguments.from(args);
@@ -74,8 +83,16 @@ main(List<String> args) {
KernelWorldBuilder worldBuilder = new KernelWorldBuilder(
compiler.reporter, compiler.backend.kernelTask.program);
- List list = createKernelResolutionEnqueuerListener(compiler.options,
- compiler.reporter, compiler.deferredLoadTask, worldBuilder);
+ KernelEquivalence equivalence = new KernelEquivalence(worldBuilder);
+ NativeBasicData nativeBasicData = computeNativeBasicData(worldBuilder);
+ checkNativeBasicData(
+ compiler.backend.nativeBasicData, nativeBasicData, equivalence);
+ List list = createKernelResolutionEnqueuerListener(
+ compiler.options,
+ compiler.reporter,
+ compiler.deferredLoadTask,
+ worldBuilder,
+ nativeBasicData);
ResolutionEnqueuerListener resolutionEnqueuerListener = list[0];
ImpactTransformer impactTransformer = list[1];
ResolutionEnqueuer enqueuer = new ResolutionEnqueuer(
@@ -87,7 +104,7 @@ main(List<String> args) {
new KernelResolutionWorldBuilder(
worldBuilder.elementEnvironment,
worldBuilder.commonElements,
- new NativeBasicDataImpl(),
+ nativeBasicData,
const OpenWorldStrategy()),
new KernelWorkItemBuilder(worldBuilder, impactTransformer),
'enqueuer from kelements');
@@ -101,13 +118,13 @@ List createKernelResolutionEnqueuerListener(
CompilerOptions options,
DiagnosticReporter reporter,
DeferredLoadTask deferredLoadTask,
- KernelWorldBuilder worldBuilder) {
+ KernelWorldBuilder worldBuilder,
+ NativeBasicData nativeBasicData) {
ElementEnvironment elementEnvironment = worldBuilder.elementEnvironment;
CommonElements commonElements = worldBuilder.commonElements;
BackendImpacts impacts = new BackendImpacts(options, commonElements);
// TODO(johnniwinther): Create Kernel based implementations for these:
- NativeBasicData nativeBasicData = new NativeBasicDataImpl();
RuntimeTypesNeedBuilder rtiNeedBuilder = new RuntimeTypesNeedBuilderImpl();
MirrorsDataBuilder mirrorsDataBuilder = new MirrorsDataBuilderImpl();
CustomElementsResolutionAnalysis customElementsResolutionAnalysis =
@@ -116,6 +133,7 @@ List createKernelResolutionEnqueuerListener(
new MirrorsResolutionAnalysisImpl();
LookupMapResolutionAnalysis lookupMapResolutionAnalysis =
new LookupMapResolutionAnalysis(reporter, elementEnvironment);
+
InterceptorDataBuilder interceptorDataBuilder =
new InterceptorDataBuilderImpl(
nativeBasicData, elementEnvironment, commonElements);
@@ -160,41 +178,6 @@ List createKernelResolutionEnqueuerListener(
return [listener, transformer];
}
-class NativeBasicDataImpl implements NativeBasicData {
- @override
- bool isNativeClass(ClassEntity element) {
- // TODO(johnniwinther): Implement this.
- return false;
- }
-
- @override
- bool isJsInteropClass(ClassEntity element) {
- throw new UnimplementedError('NativeBasicDataImpl.isJsInteropClass');
- }
-
- @override
- bool isJsInteropLibrary(LibraryEntity element) {
- throw new UnimplementedError('NativeBasicDataImpl.isJsInteropLibrary');
- }
-
- @override
- bool isNativeOrExtendsNative(ClassEntity element) {
- // TODO(johnniwinther): Implement this.
- return false;
- }
-
- @override
- bool hasNativeTagsForcedNonLeaf(ClassEntity cls) {
- throw new UnimplementedError(
- 'NativeBasicDataImpl.hasNativeTagsForcedNonLeaf');
- }
-
- @override
- List<String> getNativeTagsOfClass(ClassEntity cls) {
- throw new UnimplementedError('NativeBasicDataImpl.getNativeTagsOfClass');
- }
-}
-
class RuntimeTypesNeedBuilderImpl implements RuntimeTypesNeedBuilder {
@override
void registerClassUsingTypeVariableExpression(ClassEntity cls) {}
@@ -298,3 +281,15 @@ class KernelWorkItem implements ResolutionWorkItem {
return _impactTransformer.transformResolutionImpact(impact);
}
}
+
+void checkNativeBasicData(NativeBasicDataImpl data1, NativeBasicDataImpl data2,
+ KernelEquivalence equivalence) {
+ checkMapEquivalence(
+ data1,
+ data2,
+ 'nativeClassTagInfo',
+ data1.nativeClassTagInfo,
+ data2.nativeClassTagInfo,
+ equivalence.entityEquivalence,
+ (a, b) => a == b);
+}

Powered by Google App Engine
This is Rietveld 408576698