Remove old frontend equivalence tests

Change-Id: I18b4b9979aea44b4dec64a5f1a32e67118b54a97
Reviewed-on: https://dart-review.googlesource.com/54222
Reviewed-by: Sigmund Cherem <sigmund@google.com>
diff --git a/tests/compiler/dart2js/closure/closure_test.dart b/tests/compiler/dart2js/closure/closure_test.dart
index 9cd4a87..96f99de 100644
--- a/tests/compiler/dart2js/closure/closure_test.dart
+++ b/tests/compiler/dart2js/closure/closure_test.dart
@@ -8,12 +8,10 @@
 import 'package:compiler/src/common.dart';
 import 'package:compiler/src/compiler.dart';
 import 'package:compiler/src/diagnostics/diagnostic_listener.dart';
-import 'package:compiler/src/elements/elements.dart';
 import 'package:compiler/src/elements/entities.dart';
 import 'package:compiler/src/kernel/element_map.dart';
 import 'package:compiler/src/kernel/kernel_backend_strategy.dart';
 import 'package:compiler/src/js_model/locals.dart';
-import 'package:compiler/src/tree/nodes.dart' as ast;
 import 'package:compiler/src/universe/world_builder.dart';
 import 'package:compiler/src/util/util.dart';
 import 'package:expect/expect.dart';
@@ -26,27 +24,11 @@
 main(List<String> args) {
   asyncTest(() async {
     Directory dataDir = new Directory.fromUri(Platform.script.resolve('data'));
-    await checkTests(dataDir, computeClosureData, computeKernelClosureData,
+    await checkTests(dataDir, computeKernelClosureData,
         skipForKernel: skipForKernel, args: args);
   });
 }
 
-/// Compute closure data mapping for [_member] as a [MemberElement].
-///
-/// Fills [actualMap] with the data and [sourceSpanMap] with the source spans
-/// for the data origin.
-void computeClosureData(
-    Compiler compiler, MemberEntity _member, Map<Id, ActualData> actualMap,
-    {bool verbose: false}) {
-  MemberElement member = _member;
-  ClosureDataLookup<ast.Node> closureDataLookup =
-      compiler.backendStrategy.closureDataLookup as ClosureDataLookup<ast.Node>;
-  new ClosureAstComputer(compiler.reporter, actualMap, member.resolvedAst,
-          closureDataLookup, compiler.codegenWorldBuilder,
-          verbose: verbose)
-      .run();
-}
-
 /// Compute closure data mapping for [member] as a kernel based element.
 ///
 /// Fills [actualMap] with the data and [sourceSpanMap] with the source spans
@@ -75,61 +57,6 @@
       .run(definition.node);
 }
 
-/// Ast visitor for computing closure data.
-class ClosureAstComputer extends AstDataExtractor with ComputeValueMixin {
-  final ClosureDataLookup<ast.Node> closureDataLookup;
-  final CodegenWorldBuilder codegenWorldBuilder;
-  final bool verbose;
-
-  ClosureAstComputer(DiagnosticReporter reporter, Map<Id, ActualData> actualMap,
-      ResolvedAst resolvedAst, this.closureDataLookup, this.codegenWorldBuilder,
-      {this.verbose: false})
-      : super(reporter, actualMap, resolvedAst) {
-    pushMember(resolvedAst.element as MemberElement);
-  }
-
-  visitFunctionExpression(ast.FunctionExpression node) {
-    Entity localFunction = resolvedAst.elements.getFunctionDefinition(node);
-    if (localFunction is LocalFunctionElement) {
-      pushMember(localFunction.callMethod);
-      pushLocalFunction(node);
-      super.visitFunctionExpression(node);
-      popLocalFunction();
-      popMember();
-    } else {
-      super.visitFunctionExpression(node);
-    }
-  }
-
-  visitLoop(ast.Loop node) {
-    pushLoopNode(node);
-    super.visitLoop(node);
-    popLoop();
-  }
-
-  @override
-  String computeNodeValue(Id id, ast.Node node, [AstElement element]) {
-    if (element != null && element.isLocal) {
-      if (element.isFunction) {
-        LocalFunctionElement localFunction = element;
-        return computeObjectValue(localFunction.callMethod);
-      } else {
-        LocalElement local = element;
-        return computeLocalValue(local);
-      }
-    }
-    // TODO(johnniwinther,efortuna): Collect data for other nodes?
-    return null;
-  }
-
-  @override
-  String computeElementValue(Id id, covariant MemberElement element) {
-    // TODO(johnniwinther,efortuna): Collect data for the member
-    // (has thisLocal, has box, etc.).
-    return computeObjectValue(element);
-  }
-}
-
 /// Kernel IR visitor for computing closure data.
 class ClosureIrChecker extends IrDataExtractor with ComputeValueMixin<ir.Node> {
   final MemberEntity member;
diff --git a/tests/compiler/dart2js/closure/data/test_type.dart b/tests/compiler/dart2js/closure/data/test_type.dart
index c74d190..aaadba2 100644
--- a/tests/compiler/dart2js/closure/data/test_type.dart
+++ b/tests/compiler/dart2js/closure/data/test_type.dart
@@ -38,7 +38,6 @@
 class Class3<T> {
   /*element: Class3.method3:hasThis*/
   method3(dynamic o) {
-    /*ast.fields=[o],free=[o],hasThis*/
     /*kernel.fields=[o],free=[o],hasThis*/
     /*strong.fields=[o,this],free=[o,this],hasThis*/
     T local() => o;
diff --git a/tests/compiler/dart2js/closure/data/type_annotations.dart b/tests/compiler/dart2js/closure/data/type_annotations.dart
index 329252f..112565e 100644
--- a/tests/compiler/dart2js/closure/data/type_annotations.dart
+++ b/tests/compiler/dart2js/closure/data/type_annotations.dart
@@ -48,7 +48,6 @@
 class Class2<T> {
   /*element: Class2.method2:hasThis*/
   method2() {
-    /*ast.hasThis*/
     /*kernel.hasThis*/
     /*strong.fields=[this],free=[this],hasThis*/
     dynamic local(T t) => t;
@@ -64,7 +63,6 @@
 class Class3<T> {
   /*element: Class3.method3:hasThis*/
   method3(dynamic o) {
-    /*ast.fields=[o],free=[o],hasThis*/
     /*kernel.fields=[o],free=[o],hasThis*/
     /*strong.fields=[o,this],free=[o,this],hasThis*/
     T local() => o;
@@ -108,7 +106,6 @@
 class Class6<T> {
   /*element: Class6.method6:hasThis*/
   method6() {
-    /*ast.hasThis*/
     /*kernel.hasThis*/
     /*strong.fields=[this],free=[this],hasThis*/
     dynamic local(T t) {
@@ -129,7 +126,6 @@
 class Class7<T> {
   /*element: Class7.method7:hasThis*/
   method7(dynamic o) {
-    /*ast.fields=[o],free=[o],hasThis*/
     /*kernel.fields=[o],free=[o],hasThis*/
     /*strong.fields=[o,this],free=[o,this],hasThis*/
     T local() {
diff --git a/tests/compiler/dart2js/closure/show.dart b/tests/compiler/dart2js/closure/show.dart
index ae6eb5e..870eea9 100644
--- a/tests/compiler/dart2js/closure/show.dart
+++ b/tests/compiler/dart2js/closure/show.dart
@@ -16,7 +16,6 @@
   argParser.addFlag('callers', defaultsTo: false);
   ArgResults results = argParser.parse(args);
 
-  ComputeMemberDataFunction astFunction = computeClosureData;
   ComputeMemberDataFunction kernelFunction = computeKernelClosureData;
-  await show(results, astFunction, kernelFunction);
+  await show(results, kernelFunction);
 }
diff --git a/tests/compiler/dart2js/deferred_loading/deferred_loading_test.dart b/tests/compiler/dart2js/deferred_loading/deferred_loading_test.dart
index 37b9fed..8abed7c 100644
--- a/tests/compiler/dart2js/deferred_loading/deferred_loading_test.dart
+++ b/tests/compiler/dart2js/deferred_loading/deferred_loading_test.dart
@@ -7,7 +7,6 @@
 import 'package:compiler/src/common.dart';
 import 'package:compiler/src/compiler.dart';
 import 'package:compiler/src/deferred_load.dart';
-import 'package:compiler/src/elements/elements.dart';
 import 'package:compiler/src/elements/entities.dart';
 import 'package:compiler/src/kernel/element_map.dart';
 import 'package:compiler/src/kernel/kernel_backend_strategy.dart';
@@ -32,9 +31,7 @@
 main(List<String> args) {
   asyncTest(() async {
     Directory dataDir = new Directory.fromUri(Platform.script.resolve('data'));
-    await checkTests(
-        dataDir, computeAstOutputUnitData, computeKernelOutputUnitData,
-        computeClassDataFromAst: computeAstClassOutputUnitData,
+    await checkTests(dataDir, computeKernelOutputUnitData,
         computeClassDataFromKernel: computeKernelClassOutputUnitData,
         libDirectory: new Directory.fromUri(Platform.script.resolve('libs')),
         skipForKernel: skipForKernel,
@@ -81,46 +78,6 @@
   return 'OutputUnit(${unit.name}, {$sb})';
 }
 
-/// Compute closure data mapping for [member] as a [MemberElement].
-///
-/// Fills [actualMap] with the data computed about what the resulting OutputUnit
-/// is.
-void computeAstOutputUnitData(
-    Compiler compiler, MemberEntity _member, Map<Id, ActualData> actualMap,
-    {bool verbose: false}) {
-  MemberElement member = _member;
-  OutputUnitData data = compiler.backend.outputUnitData;
-  String value = outputUnitString(data.outputUnitForEntity(member));
-
-  _registerValue(computeElementId(member), value, member, member.sourcePosition,
-      actualMap, compiler.reporter);
-
-  if (member is FieldElement && member.isConst) {
-    var node = member.initializer;
-    var constant = compiler.constants.getConstantValue(member.constant);
-    if (constant.isPrimitive) return;
-    _registerValue(
-        new NodeId(node.getBeginToken().charOffset, IdKind.node),
-        outputUnitString(data.outputUnitForConstant(constant)),
-        member,
-        new SourceSpan(member.resolvedAst.sourceUri,
-            node.getBeginToken().charOffset, node.getEndToken().charEnd),
-        actualMap,
-        compiler.reporter);
-  }
-}
-
-void computeAstClassOutputUnitData(
-    Compiler compiler, ClassEntity _cls, Map<Id, ActualData> actualMap,
-    {bool verbose: false}) {
-  ClassElement cls = _cls;
-  OutputUnitData data = compiler.backend.outputUnitData;
-  String value = outputUnitString(data.outputUnitForEntity(cls));
-
-  _registerValue(new ClassId(cls.name), value, cls, cls.sourcePosition,
-      actualMap, compiler.reporter);
-}
-
 /// OutputData for [member] as a kernel based element.
 ///
 /// At this point the compiler has already been run, so it is holding the
diff --git a/tests/compiler/dart2js/deferred_loading/libs/deferred_typed_map_lib1.dart b/tests/compiler/dart2js/deferred_loading/libs/deferred_typed_map_lib1.dart
index 36d7d4a..e5b0dc7 100644
--- a/tests/compiler/dart2js/deferred_loading/libs/deferred_typed_map_lib1.dart
+++ b/tests/compiler/dart2js/deferred_loading/libs/deferred_typed_map_lib1.dart
@@ -9,8 +9,7 @@
 
 /*element: table:OutputUnit(1, {lib})*/
 const table =
-/*ast.null*/
-/*!ast.OutputUnit(1, {lib})*/
+/*OutputUnit(1, {lib})*/
     const <int, FF>{1: f1, 2: f2};
 
 /*element: f1:OutputUnit(1, {lib})*/
diff --git a/tests/compiler/dart2js/deferred_loading/libs/type_argument_dependency_lib2.dart b/tests/compiler/dart2js/deferred_loading/libs/type_argument_dependency_lib2.dart
index bf70190..a5a50fd 100644
--- a/tests/compiler/dart2js/deferred_loading/libs/type_argument_dependency_lib2.dart
+++ b/tests/compiler/dart2js/deferred_loading/libs/type_argument_dependency_lib2.dart
@@ -2,7 +2,6 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-/*ast.class: A:OutputUnit(1, {c})*/
 /*kernel.class: A:OutputUnit(1, {c})*/
 /*strong.class: A:OutputUnit(main, {})*/
 /*omit.class: A:OutputUnit(main, {})*/
diff --git a/tests/compiler/dart2js/equivalence/id_equivalence_helper.dart b/tests/compiler/dart2js/equivalence/id_equivalence_helper.dart
index 82bea10..7ffae04 100644
--- a/tests/compiler/dart2js/equivalence/id_equivalence_helper.dart
+++ b/tests/compiler/dart2js/equivalence/id_equivalence_helper.dart
@@ -463,10 +463,9 @@
 /// [setUpFunction] is called once for every test that is executed.
 /// If [forUserSourceFilesOnly] is true, we examine the elements in the main
 /// file and any supporting libraries.
-Future checkTests(Directory dataDir, ComputeMemberDataFunction computeFromAst,
-    ComputeMemberDataFunction computeFromKernel,
+Future checkTests(
+    Directory dataDir, ComputeMemberDataFunction computeFromKernel,
     {bool testStrongMode: true,
-    List<String> skipForAst: const <String>[],
     List<String> skipForKernel: const <String>[],
     List<String> skipForStrong: const <String>[],
     bool filterActualData(IdValue idValue, ActualData actualData),
@@ -475,7 +474,6 @@
     Directory libDirectory: null,
     bool forUserLibrariesOnly: true,
     Callback setUpFunction,
-    ComputeClassDataFunction computeClassDataFromAst,
     ComputeClassDataFunction computeClassDataFromKernel,
     int shards: 1,
     int shardIndex: 0,
@@ -564,27 +562,6 @@
 
     if (setUpFunction != null) setUpFunction();
 
-    if (skipForAst.contains(name) || strongModeOnlyTest) {
-      print('--skipped for ast-----------------------------------------------');
-    } else {
-      print('--from ast------------------------------------------------------');
-      List<String> options = [Flags.useOldFrontend]..addAll(testOptions);
-      if (trustTypeAnnotations) {
-        options.add(Flags.trustTypeAnnotations);
-      }
-      MemberAnnotations<IdValue> annotations = expectedMaps[astMarker];
-      CompiledData compiledData1 = await computeData(
-          entryPoint, memorySourceFiles, computeFromAst,
-          computeClassData: computeClassDataFromAst,
-          options: options,
-          verbose: verbose,
-          forUserLibrariesOnly: forUserLibrariesOnly,
-          globalIds: annotations.globalData.keys);
-      if (await checkCode(astName, entity.uri, code, annotations, compiledData1,
-          fatalErrors: !testAfterFailures)) {
-        hasFailures = true;
-      }
-    }
     if (skipForKernel.contains(name) ||
         (testStrongMode && strongModeOnlyTest)) {
       print('--skipped for kernel--------------------------------------------');
diff --git a/tests/compiler/dart2js/equivalence/show_helper.dart b/tests/compiler/dart2js/equivalence/show_helper.dart
index bbf0b1d..c3549b5 100644
--- a/tests/compiler/dart2js/equivalence/show_helper.dart
+++ b/tests/compiler/dart2js/equivalence/show_helper.dart
@@ -18,7 +18,6 @@
   argParser.addFlag('verbose', negatable: true, defaultsTo: false);
   argParser.addFlag('colors', negatable: true);
   argParser.addFlag('all', negatable: false, defaultsTo: false);
-  argParser.addFlag('use-kernel', negatable: false, defaultsTo: false);
   argParser.addFlag('strong', negatable: false, defaultsTo: false);
   argParser.addFlag('omit-implicit-checks',
       negatable: false, defaultsTo: false);
@@ -27,17 +26,14 @@
   return argParser;
 }
 
-show(ArgResults argResults, ComputeMemberDataFunction computeAstData,
-    ComputeMemberDataFunction computeKernelData,
-    {ComputeClassDataFunction computeAstClassData,
-    ComputeClassDataFunction computeKernelClassData,
+show(ArgResults argResults, ComputeMemberDataFunction computeKernelData,
+    {ComputeClassDataFunction computeKernelClassData,
     List<String> options: const <String>[]}) async {
   if (argResults.wasParsed('colors')) {
     useColors = argResults['colors'];
   }
   bool verbose = argResults['verbose'];
   bool strongMode = argResults['strong'];
-  bool useKernel = argResults['use-kernel'] || strongMode;
   bool omitImplicitChecks = argResults['omit-implicit-checks'];
   bool trustTypeAnnotations = argResults['trust-type-annotations'];
 
@@ -53,9 +49,6 @@
   }
 
   options = new List<String>.from(options);
-  if (!useKernel) {
-    options.add(Flags.useOldFrontend);
-  }
   if (strongMode) {
     options.add(Flags.strongMode);
   }
@@ -65,10 +58,8 @@
   if (omitImplicitChecks) {
     options.add(Flags.omitImplicitChecks);
   }
-  CompiledData data = await computeData(
-      entryPoint, const {}, useKernel ? computeKernelData : computeAstData,
-      computeClassData:
-          useKernel ? computeKernelClassData : computeAstClassData,
+  CompiledData data = await computeData(entryPoint, const {}, computeKernelData,
+      computeClassData: computeKernelClassData,
       options: options,
       forUserLibrariesOnly: false,
       skipUnprocessedMembers: true,
diff --git a/tests/compiler/dart2js/inference/callers_test.dart b/tests/compiler/dart2js/inference/callers_test.dart
index b88f07f..60bc82f 100644
--- a/tests/compiler/dart2js/inference/callers_test.dart
+++ b/tests/compiler/dart2js/inference/callers_test.dart
@@ -8,13 +8,11 @@
 import 'package:compiler/src/common.dart';
 import 'package:compiler/src/compiler.dart';
 import 'package:compiler/src/diagnostics/diagnostic_listener.dart';
-import 'package:compiler/src/elements/elements.dart';
 import 'package:compiler/src/elements/entities.dart';
 import 'package:compiler/src/inferrer/inferrer_engine.dart';
 import 'package:compiler/src/inferrer/type_graph_inferrer.dart';
 import 'package:compiler/src/kernel/element_map.dart';
 import 'package:compiler/src/kernel/kernel_backend_strategy.dart';
-import 'package:compiler/src/tree/nodes.dart' as ast;
 import 'package:kernel/ast.dart' as ir;
 import '../equivalence/id_equivalence.dart';
 import '../equivalence/id_equivalence_helper.dart';
@@ -24,26 +22,11 @@
   asyncTest(() async {
     Directory dataDir =
         new Directory.fromUri(Platform.script.resolve('callers'));
-    await checkTests(dataDir, computeMemberAstCallers, computeMemberIrCallers,
+    await checkTests(dataDir, computeMemberIrCallers,
         args: args, options: [stopAfterTypeInference]);
   });
 }
 
-/// Compute callers data for [_member] as a [MemberElement].
-///
-/// Fills [actualMap] with the data.
-void computeMemberAstCallers(
-    Compiler compiler, MemberEntity _member, Map<Id, ActualData> actualMap,
-    {bool verbose: false}) {
-  MemberElement member = _member;
-  ResolvedAst resolvedAst = member.resolvedAst;
-  compiler.reporter.withCurrentElement(member.implementation, () {
-    new CallersAstComputer(compiler.reporter, actualMap, resolvedAst,
-            compiler.globalInference.typesInferrerInternal)
-        .run();
-  });
-}
-
 abstract class ComputeValueMixin<T> {
   TypeGraphInferrer get inferrer;
 
@@ -69,37 +52,6 @@
   }
 }
 
-/// AST visitor for computing side effects data for a member.
-class CallersAstComputer extends AstDataExtractor
-    with ComputeValueMixin<ast.Node> {
-  final TypeGraphInferrer inferrer;
-
-  CallersAstComputer(DiagnosticReporter reporter, Map<Id, ActualData> actualMap,
-      ResolvedAst resolvedAst, this.inferrer)
-      : super(reporter, actualMap, resolvedAst);
-
-  @override
-  String computeElementValue(Id id, AstElement element) {
-    if (element.isParameter) {
-      return null;
-    } else if (element.isLocal && element.isFunction) {
-      LocalFunctionElement localFunction = element;
-      return getMemberValue(localFunction.callMethod);
-    } else {
-      MemberElement member = element.declaration;
-      return getMemberValue(member);
-    }
-  }
-
-  @override
-  String computeNodeValue(Id id, ast.Node node, [AstElement element]) {
-    if (element != null && element.isLocal && element.isFunction) {
-      return computeElementValue(id, element);
-    }
-    return null;
-  }
-}
-
 /// Compute callers data for [member] from kernel based inference.
 ///
 /// Fills [actualMap] with the data.
diff --git a/tests/compiler/dart2js/inference/data/await.dart b/tests/compiler/dart2js/inference/data/await.dart
index 03099d8..07c562b 100644
--- a/tests/compiler/dart2js/inference/data/await.dart
+++ b/tests/compiler/dart2js/inference/data/await.dart
@@ -17,7 +17,6 @@
 
 /*element: _method1:[null]*/
 _method1(
-    /*ast.[null|subclass=Object]*/
     /*kernel.[null|subclass=Object]*/
     /*strong.[null|subclass=JSInt]*/
     o) {}
@@ -35,7 +34,6 @@
 
 /*element: _method2:[null]*/
 _method2(
-    /*ast.[null|subclass=Object]*/
     /*kernel.[null|subclass=Object]*/
     /*strong.[null|subclass=JSInt]*/
     o) {}
@@ -56,7 +54,6 @@
 
 /*element: _method4:[null]*/
 _method4(
-    /*ast.[null|subclass=Object]*/
     /*kernel.[null|subclass=Object]*/
     /*strong.[null|subclass=JSInt]*/
     o) {}
diff --git a/tests/compiler/dart2js/inference/data/call_method_function_typed_value.dart b/tests/compiler/dart2js/inference/data/call_method_function_typed_value.dart
index e938ddb..5d5c0f4 100644
--- a/tests/compiler/dart2js/inference/data/call_method_function_typed_value.dart
+++ b/tests/compiler/dart2js/inference/data/call_method_function_typed_value.dart
@@ -6,7 +6,6 @@
 
 import "package:expect/expect.dart";
 
-/*ast.element: f:[subclass=JSNumber]*/
 /*kernel.element: f:[subclass=JSNumber]*/
 /*strong.element: f:[subclass=JSInt]*/
 int f(int /*[null|subclass=Object]*/ i) => 2 /*invoke: [exact=JSUInt31]*/ * i;
diff --git a/tests/compiler/dart2js/inference/data/closure_tracer_28919.dart b/tests/compiler/dart2js/inference/data/closure_tracer_28919.dart
index 96ea43a..eb8b96c 100644
--- a/tests/compiler/dart2js/inference/data/closure_tracer_28919.dart
+++ b/tests/compiler/dart2js/inference/data/closure_tracer_28919.dart
@@ -64,11 +64,9 @@
   probe2methods(methods);
 }
 
-/*ast.element: probe2res:[null|subclass=Object]*/
 /*kernel.element: probe2res:[null|subclass=Object]*/
 /*strong.element: probe2res:[null|subclass=JSInt]*/
 probe2res(
-        /*ast.[null|subclass=Object]*/
         /*kernel.[null|subclass=Object]*/
         /*strong.[null|subclass=JSInt]*/
         x) =>
diff --git a/tests/compiler/dart2js/inference/data/closurization_instance_call.dart b/tests/compiler/dart2js/inference/data/closurization_instance_call.dart
index 0c98bcc..d42efcd 100644
--- a/tests/compiler/dart2js/inference/data/closurization_instance_call.dart
+++ b/tests/compiler/dart2js/inference/data/closurization_instance_call.dart
@@ -28,21 +28,18 @@
   var local = c. /*[exact=Class]*/ method;
   local
       .
-      /*ast.invoke: [subtype=Function]*/
       /*kernel.invoke: [subtype=Function]*/
       /*strong.invoke: [subclass=Closure]*/
       toString();
   local();
   local
       .
-      /*ast.invoke: [subtype=Function]*/
       /*kernel.invoke: [subtype=Function]*/
       /*strong.invoke: [subclass=Closure]*/
       toString();
   local.call();
   return local
       .
-      /*ast.invoke: [subtype=Function]*/
       /*kernel.invoke: [subtype=Function]*/
       /*strong.invoke: [subclass=Closure]*/
       toString();
diff --git a/tests/compiler/dart2js/inference/data/closurization_local_call.dart b/tests/compiler/dart2js/inference/data/closurization_local_call.dart
index 25e3bcd..c14d3c4 100644
--- a/tests/compiler/dart2js/inference/data/closurization_local_call.dart
+++ b/tests/compiler/dart2js/inference/data/closurization_local_call.dart
@@ -25,21 +25,18 @@
   var local = /*[exact=JSUInt31]*/ () => 42;
   local
       .
-      /*ast.invoke: [subtype=Function]*/
       /*kernel.invoke: [subtype=Function]*/
       /*strong.invoke: [subclass=Closure]*/
       toString();
   local();
   local
       .
-      /*ast.invoke: [subtype=Function]*/
       /*kernel.invoke: [subtype=Function]*/
       /*strong.invoke: [subclass=Closure]*/
       toString();
   local.call();
   return local
       .
-      /*ast.invoke: [subtype=Function]*/
       /*kernel.invoke: [subtype=Function]*/
       /*strong.invoke: [subclass=Closure]*/
       toString();
diff --git a/tests/compiler/dart2js/inference/data/closurization_static_call.dart b/tests/compiler/dart2js/inference/data/closurization_static_call.dart
index 6a28213..7881009 100644
--- a/tests/compiler/dart2js/inference/data/closurization_static_call.dart
+++ b/tests/compiler/dart2js/inference/data/closurization_static_call.dart
@@ -28,21 +28,18 @@
   var local = method;
   local
       .
-      /*ast.invoke: [subtype=Function]*/
       /*kernel.invoke: [subtype=Function]*/
       /*strong.invoke: [subclass=Closure]*/
       toString();
   local();
   local
       .
-      /*ast.invoke: [subtype=Function]*/
       /*kernel.invoke: [subtype=Function]*/
       /*strong.invoke: [subclass=Closure]*/
       toString();
   local.call();
   return local
       .
-      /*ast.invoke: [subtype=Function]*/
       /*kernel.invoke: [subtype=Function]*/
       /*strong.invoke: [subclass=Closure]*/
       toString();
diff --git a/tests/compiler/dart2js/inference/data/expose_this_closure.dart b/tests/compiler/dart2js/inference/data/expose_this_closure.dart
index b60e4c9..d49b4e2 100644
--- a/tests/compiler/dart2js/inference/data/expose_this_closure.dart
+++ b/tests/compiler/dart2js/inference/data/expose_this_closure.dart
@@ -59,7 +59,6 @@
 abstract class SuperClass1 {
   /*element: SuperClass1.:[exact=Class3]*/
   SuperClass1(
-      /*ast.[null|subclass=Object]*/
       /*kernel.[null|subclass=Object]*/
       /*strong.[null|subclass=JSInt]*/
       o);
diff --git a/tests/compiler/dart2js/inference/data/expose_this_mask.dart b/tests/compiler/dart2js/inference/data/expose_this_mask.dart
index b1033c6..84feb4a 100644
--- a/tests/compiler/dart2js/inference/data/expose_this_mask.dart
+++ b/tests/compiler/dart2js/inference/data/expose_this_mask.dart
@@ -167,9 +167,7 @@
 class Class6 {
   /*element: Class6.field6a:[exact=JSUInt31]*/
   var field6a;
-  /*ast.element: Class6.field6b:[exact=JSUInt31]*/
-  /*kernel.element: Class6.field6b:[null|exact=JSUInt31]*/
-  /*strong.element: Class6.field6b:[null|exact=JSUInt31]*/
+  /*element: Class6.field6b:[null|exact=JSUInt31]*/
   var field6b;
 
   /*element: Class6.:[exact=Class6]*/
@@ -185,15 +183,11 @@
   /*element: SubClass6.:[exact=SubClass6]*/
   SubClass6() : field6b = 42;
 
-  /*ast.element: SubClass6.access:[exact=JSUInt31]*/
-  /*kernel.element: SubClass6.access:[null|exact=JSUInt31]*/
-  /*strong.element: SubClass6.access:[null|exact=JSUInt31]*/
+  /*element: SubClass6.access:[null|exact=JSUInt31]*/
   get access => super.field6b;
 }
 
-/*ast.element: subclassFieldWrite:[exact=JSUInt31]*/
-/*kernel.element: subclassFieldWrite:[null|exact=JSUInt31]*/
-/*strong.element: subclassFieldWrite:[null|exact=JSUInt31]*/
+/*element: subclassFieldWrite:[null|exact=JSUInt31]*/
 subclassFieldWrite() {
   new Class6();
   return new SubClass6(). /*[exact=SubClass6]*/ access;
@@ -207,9 +201,7 @@
 class Class9 {
   /*element: Class9.field9a:[exact=JSUInt31]*/
   var field9a;
-  /*ast.element: Class9.field9b:[exact=JSUInt31]*/
-  /*kernel.element: Class9.field9b:[null|exact=JSUInt31]*/
-  /*strong.element: Class9.field9b:[null|exact=JSUInt31]*/
+  /*element: Class9.field9b:[null|exact=JSUInt31]*/
   var field9b;
 
   /*element: Class9.:[exact=Class9]*/
@@ -225,18 +217,14 @@
   /*element: SubClass9a.:[exact=SubClass9a]*/
   SubClass9a() : field9b = 42;
 
-  /*ast.element: SubClass9a.access:[exact=JSUInt31]*/
-  /*kernel.element: SubClass9a.access:[null|exact=JSUInt31]*/
-  /*strong.element: SubClass9a.access:[null|exact=JSUInt31]*/
+  /*element: SubClass9a.access:[null|exact=JSUInt31]*/
   get access => super.field9b;
 }
 
 /*element: SubClass9b.:[exact=SubClass9b]*/
 class SubClass9b extends Class9 {}
 
-/*ast.element: subclassesFieldWrite:[exact=JSUInt31]*/
-/*kernel.element: subclassesFieldWrite:[null|exact=JSUInt31]*/
-/*strong.element: subclassesFieldWrite:[null|exact=JSUInt31]*/
+/*element: subclassesFieldWrite:[null|exact=JSUInt31]*/
 subclassesFieldWrite() {
   new Class9();
   new SubClass9b();
diff --git a/tests/compiler/dart2js/inference/data/field_type.dart b/tests/compiler/dart2js/inference/data/field_type.dart
index 5fe9757..2f2e8d3 100644
--- a/tests/compiler/dart2js/inference/data/field_type.dart
+++ b/tests/compiler/dart2js/inference/data/field_type.dart
@@ -348,8 +348,8 @@
 }
 
 class A16 {
-  // TODO(johnniwinther): Investigate with these differ.
-  /*ast.element: A16.f16:Union([exact=JSString], [exact=JSUInt31])*/
+  // TODO(johnniwinther): Investigate with these differ this includes `null`.
+  // The ast version didn't.
   /*kernel.element: A16.f16:Union([exact=JSString], [null|exact=JSUInt31])*/
   /*strong.element: A16.f16:Union([exact=JSString], [null|exact=JSUInt31])*/
   var f16;
@@ -609,7 +609,6 @@
 
   /*element: A24.+:Value([exact=JSString], value: "foo")*/
   operator +(
-          /*ast.[exact=JSUInt31]*/
           /*kernel.[exact=JSUInt31]*/
           /*strong.[empty]*/
           other) =>
diff --git a/tests/compiler/dart2js/inference/data/for_in.dart b/tests/compiler/dart2js/inference/data/for_in.dart
index d71083f..562897a 100644
--- a/tests/compiler/dart2js/inference/data/for_in.dart
+++ b/tests/compiler/dart2js/inference/data/for_in.dart
@@ -32,7 +32,6 @@
 // Return element from a for-in loop on a list literal.
 ////////////////////////////////////////////////////////////////////////////////
 
-/*ast.element: forInReturn:[null|subclass=Object]*/
 /*kernel.element: forInReturn:[null|subclass=Object]*/
 /*strong.element: forInReturn:[null|subclass=JSInt]*/
 forInReturn() {
diff --git a/tests/compiler/dart2js/inference/data/general.dart b/tests/compiler/dart2js/inference/data/general.dart
index 1ca6af3..ea317d5 100644
--- a/tests/compiler/dart2js/inference/data/general.dart
+++ b/tests/compiler/dart2js/inference/data/general.dart
@@ -589,8 +589,7 @@
   var a = topLevelGetter();
   // Make [a] a captured variable. This should disable receiver
   // specialization on [a].
-  (/*ast.[null|subclass=Object]*/
-      /*kernel.[null|subclass=Object]*/
+  (/*kernel.[null|subclass=Object]*/
       /*strong.[null|exact=JSString]*/
       () => a.toString())();
   a - 42;
@@ -671,7 +670,6 @@
   /*element: A.generative:[exact=A]*/
   A.generative();
 
-  /*ast.element: A.==:Union([exact=JSBool], [exact=JSUInt31])*/
   /*kernel.element: A.==:Union([exact=JSBool], [exact=JSUInt31])*/
   /*strong.element: A.==:[exact=JSBool]*/
   operator ==(/*Union([exact=JSString], [exact=JSUInt31])*/ other) =>
diff --git a/tests/compiler/dart2js/inference/data/if_null.dart b/tests/compiler/dart2js/inference/data/if_null.dart
index d9cca46..640ef25 100644
--- a/tests/compiler/dart2js/inference/data/if_null.dart
+++ b/tests/compiler/dart2js/inference/data/if_null.dart
@@ -29,9 +29,7 @@
 /*element: _ifNotNullInvoke:[null|exact=JSBool]*/
 _ifNotNullInvoke(/*[null|exact=JSUInt31]*/ o) {
   return o?.
-      /*ast.[null|exact=JSUInt31]*/
-      /*kernel.[exact=JSUInt31]*/
-      /*strong.[exact=JSUInt31]*/
+      /*[exact=JSUInt31]*/
       isEven;
 }
 
diff --git a/tests/compiler/dart2js/inference/data/js_interop.dart b/tests/compiler/dart2js/inference/data/js_interop.dart
index 168b52e..c20543d 100644
--- a/tests/compiler/dart2js/inference/data/js_interop.dart
+++ b/tests/compiler/dart2js/inference/data/js_interop.dart
@@ -20,7 +20,6 @@
       {/*[exact=JSUInt31]*/ a, /*Value([exact=JSString], value: "")*/ b});
 }
 
-/*ast.element: anonymousClass:[null|subclass=Object]*/
 /*kernel.element: anonymousClass:[null|subclass=Object]*/
 /*strong.element: anonymousClass:[null|subclass=JavaScriptObject]*/
 anonymousClass() => new Class1(a: 1, b: '');
diff --git a/tests/compiler/dart2js/inference/data/list.dart b/tests/compiler/dart2js/inference/data/list.dart
index 1b31de9..6592f98 100644
--- a/tests/compiler/dart2js/inference/data/list.dart
+++ b/tests/compiler/dart2js/inference/data/list.dart
@@ -104,9 +104,7 @@
 // Create a Uint32List using a parenthesized literal int as length.
 ////////////////////////////////////////////////////////////////////////////////
 
-/*ast.element: newUint32List:Container([exact=NativeUint32List], element: [subclass=JSUInt32], length: null)*/
-/*kernel.element: newUint32List:Container([exact=NativeUint32List], element: [subclass=JSUInt32], length: 13)*/
-/*strong.element: newUint32List:Container([exact=NativeUint32List], element: [subclass=JSUInt32], length: 13)*/
+/*element: newUint32List:Container([exact=NativeUint32List], element: [subclass=JSUInt32], length: 13)*/
 newUint32List() => new Uint32List((13));
 
 ////////////////////////////////////////////////////////////////////////////////
diff --git a/tests/compiler/dart2js/inference/data/logical_if.dart b/tests/compiler/dart2js/inference/data/logical_if.dart
index 9313a84..596907a 100644
--- a/tests/compiler/dart2js/inference/data/logical_if.dart
+++ b/tests/compiler/dart2js/inference/data/logical_if.dart
@@ -248,9 +248,7 @@
   if (!(o is! Class10)) {
     o
         .
-        /*ast.invoke: Union([exact=Class10], [exact=JSUInt31])*/
-        /*kernel.invoke: [exact=Class10]*/
-        /*strong.invoke: [exact=Class10]*/
+        /*invoke: [exact=Class10]*/
         toString();
   }
 }
@@ -278,9 +276,7 @@
   } else {
     o
         .
-        /*ast.invoke: Union([exact=Class11], [exact=JSUInt31])*/
-        /*kernel.invoke: [exact=Class11]*/
-        /*strong.invoke: [exact=Class11]*/
+        /*invoke: [exact=Class11]*/
         toString();
   }
 }
diff --git a/tests/compiler/dart2js/inference/data/map_tracer_const.dart b/tests/compiler/dart2js/inference/data/map_tracer_const.dart
index 2bfe52f..4da5254 100644
--- a/tests/compiler/dart2js/inference/data/map_tracer_const.dart
+++ b/tests/compiler/dart2js/inference/data/map_tracer_const.dart
@@ -2,7 +2,6 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-/*ast.element: closure:Union([exact=JSDouble], [exact=JSUInt31])*/
 /*kernel.element: closure:Union([exact=JSDouble], [exact=JSUInt31])*/
 /*strong.element: closure:[exact=JSUInt31]*/
 int closure(int /*Union([exact=JSDouble], [exact=JSUInt31])*/ x) {
diff --git a/tests/compiler/dart2js/inference/data/optimizer_hints.dart b/tests/compiler/dart2js/inference/data/optimizer_hints.dart
index bf8463c..57ea72c 100644
--- a/tests/compiler/dart2js/inference/data/optimizer_hints.dart
+++ b/tests/compiler/dart2js/inference/data/optimizer_hints.dart
@@ -57,7 +57,6 @@
 // As above but without the annotation.
 ////////////////////////////////////////////////////////////////////////////////
 
-/*ast.element: notTrustReturnTypeString:[null|subclass=Object]*/
 /*kernel.element: notTrustReturnTypeString:[null|subclass=Object]*/
 /*strong.element: notTrustReturnTypeString:[null|exact=JSString]*/
 String notTrustReturnTypeString() {
@@ -84,7 +83,6 @@
 /*element: _notTrustParameterTypeString:[null]*/
 _notTrustParameterTypeString(
     String
-        /*ast.[null|subclass=Object]*/
         /*kernel.[null|subclass=Object]*/
         /*strong.[null|exact=JSString]*/
         o) {}
diff --git a/tests/compiler/dart2js/inference/data/parameters_notrust.dart b/tests/compiler/dart2js/inference/data/parameters_notrust.dart
index 41503d2..d031544 100644
--- a/tests/compiler/dart2js/inference/data/parameters_notrust.dart
+++ b/tests/compiler/dart2js/inference/data/parameters_notrust.dart
@@ -20,7 +20,6 @@
 // within the method and therefore infer the return type to be an int.
 ////////////////////////////////////////////////////////////////////////////////
 
-/*ast.element: _dontTrustParameters:Union([exact=JSString], [exact=JSUInt31])*/
 /*kernel.element: _dontTrustParameters:Union([exact=JSString], [exact=JSUInt31])*/
 /*strong.element: _dontTrustParameters:[exact=JSUInt31]*/
 _dontTrustParameters(int /*Union([exact=JSString], [exact=JSUInt31])*/ i) {
diff --git a/tests/compiler/dart2js/inference/data/postfix_prefix.dart b/tests/compiler/dart2js/inference/data/postfix_prefix.dart
index f7428dd..9ede9a2 100644
--- a/tests/compiler/dart2js/inference/data/postfix_prefix.dart
+++ b/tests/compiler/dart2js/inference/data/postfix_prefix.dart
@@ -18,10 +18,7 @@
   /*element: A.[]=:[null]*/
   operator []=(/*[empty]*/ index, /*[subclass=JSNumber]*/ value) {}
 
-  // TODO(johnniwinther): Investigate why these differ.
-  /*ast.element: A.returnDynamic1:Union([exact=JSString], [exact=JSUInt31])*/
-  /*kernel.element: A.returnDynamic1:[exact=JSUInt31]*/
-  /*strong.element: A.returnDynamic1:[exact=JSUInt31]*/
+  /*element: A.returnDynamic1:[exact=JSUInt31]*/
   returnDynamic1() => /*[subclass=A]*/ /*update: [subclass=A]*/ foo
       /*invoke: Union([exact=JSString], [exact=JSUInt31])*/ --;
 
@@ -33,10 +30,7 @@
   returnNum2() => /*[subclass=A]*/ /*update: [subclass=A]*/ foo
       /*invoke: Union([exact=JSString], [exact=JSUInt31])*/ -= 42;
 
-  // TODO(johnniwinther): Investigate why these differ.
-  /*ast.element: A.returnDynamic2:Union([exact=JSString], [exact=JSUInt31])*/
-  /*kernel.element: A.returnDynamic2:[exact=JSUInt31]*/
-  /*strong.element: A.returnDynamic2:[exact=JSUInt31]*/
+  /*element: A.returnDynamic2:[exact=JSUInt31]*/
   returnDynamic2() => this
           /*[subclass=A]*/ /*update: [subclass=A]*/ [index]
       /*invoke: Union([exact=JSString], [exact=JSUInt31])*/ --;
@@ -55,9 +49,7 @@
   returnEmpty3() {
     dynamic a = this;
     return a. /*[subclass=A]*/
-            /*ast.update: [subclass=A]*/
-            /*kernel.update: [empty]*/
-            /*strong.update: [empty]*/
+            /*update: [empty]*/
             bar
         /*invoke: [empty]*/ --;
   }
@@ -84,10 +76,7 @@
   /*element: B.[]:[exact=JSUInt31]*/
   operator [](/*[empty]*/ index) => 42;
 
-  // TODO(johnniwinther): Investigate why these differ.
-  /*ast.element: B.returnString1:Value([exact=JSString], value: "string")*/
-  /*kernel.element: B.returnString1:[empty]*/
-  /*strong.element: B.returnString1:[empty]*/
+  /*element: B.returnString1:[empty]*/
   returnString1() =>
       super.foo /*invoke: Value([exact=JSString], value: "string")*/ --;
 
@@ -100,10 +89,7 @@
   returnDynamic2() =>
       super.foo /*invoke: Value([exact=JSString], value: "string")*/ -= 42;
 
-  // TODO(johnniwinther): Investigate why these differ.
-  /*ast.element: B.returnString2:Value([exact=JSString], value: "string")*/
-  /*kernel.element: B.returnString2:[empty]*/
-  /*strong.element: B.returnString2:[empty]*/
+  /*element: B.returnString2:[empty]*/
   returnString2() => super[index]
       /*invoke: Value([exact=JSString], value: "string")*/ --;
 
diff --git a/tests/compiler/dart2js/inference/data/refine_locals.dart b/tests/compiler/dart2js/inference/data/refine_locals.dart
index 54a4013..8711587 100644
--- a/tests/compiler/dart2js/inference/data/refine_locals.dart
+++ b/tests/compiler/dart2js/inference/data/refine_locals.dart
@@ -114,21 +114,15 @@
     /*Union([exact=Class2], [null|exact=Class1])*/ o) {
   o
       ?.
-      /*ast.invoke: Union([exact=Class2], [null|exact=Class1])*/
-      /*kernel.invoke: Union([exact=Class1], [exact=Class2])*/
-      /*strong.invoke: Union([exact=Class1], [exact=Class2])*/
+      /*invoke: Union([exact=Class1], [exact=Class2])*/
       method1();
   o
       ?.
-      /*ast.invoke: [null|exact=Class1]*/
-      /*kernel.invoke: [exact=Class1]*/
-      /*strong.invoke: [exact=Class1]*/
+      /*invoke: [exact=Class1]*/
       method0();
   o
       ?.
-      /*ast.invoke: [null|exact=Class1]*/
-      /*kernel.invoke: [exact=Class1]*/
-      /*strong.invoke: [exact=Class1]*/
+      /*invoke: [exact=Class1]*/
       method2();
   return o;
 }
diff --git a/tests/compiler/dart2js/inference/inference_equivalence.dart b/tests/compiler/dart2js/inference/inference_equivalence.dart
deleted file mode 100644
index 638eab5..0000000
--- a/tests/compiler/dart2js/inference/inference_equivalence.dart
+++ /dev/null
@@ -1,82 +0,0 @@
-// Copyright (c) 2017, the Dart project authors.  Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-/// Helper program that tests the equivalence between old and new inferrer data
-/// on a dart program or directory of dart programs.
-
-import 'dart:async';
-import 'dart:io';
-import 'package:args/args.dart';
-import 'package:compiler/src/filenames.dart';
-import 'package:compiler/src/inferrer/inferrer_engine.dart';
-import '../equivalence/id_equivalence_helper.dart';
-import 'inference_test_helper.dart';
-import '../equivalence/id_equivalence.dart';
-
-main(List<String> args) {
-  mainInternal(args);
-}
-
-Future<bool> mainInternal(List<String> args,
-    {bool whiteList(Uri uri, Id id)}) async {
-  ArgParser argParser = new ArgParser(allowTrailingOptions: true);
-  argParser.addFlag('verbose', negatable: true, defaultsTo: false);
-  argParser.addFlag('colors', negatable: true);
-  ArgResults argResults = argParser.parse(args);
-  if (argResults.options.contains('colors')) {
-    useColors = true;
-  }
-  bool verbose = argResults['verbose'];
-
-  InferrerEngineImpl.useSorterForTesting = true;
-
-  bool success = true;
-  for (String arg in argResults.rest) {
-    Uri uri = Uri.base.resolve(nativeToUriPath(arg));
-    List<Uri> uris = <Uri>[];
-    if (FileSystemEntity.isDirectorySync(arg)) {
-      for (FileSystemEntity file in new Directory.fromUri(uri).listSync()) {
-        if (file is File && file.path.endsWith('.dart')) {
-          uris.add(file.uri);
-        }
-      }
-    } else {
-      uris.add(uri);
-    }
-    for (Uri uri in uris) {
-      StringBuffer sb = new StringBuffer();
-      ZoneSpecification specification = new ZoneSpecification(
-          print: (self, parent, zone, line) => sb.writeln(line));
-
-      try {
-        print('--$uri------------------------------------------------------');
-        bool isSuccess = await runZoned(() {
-          return testUri(uri, verbose: verbose, whiteList: whiteList);
-        }, zoneSpecification: specification);
-        if (!isSuccess) {
-          success = false;
-          print('  skipped due to compile-time errors');
-        }
-      } catch (e, s) {
-        success = false;
-        print(sb);
-        print('Failed: $e\n$s');
-      }
-    }
-  }
-
-  return success;
-}
-
-Future<bool> testUri(Uri uri,
-    {bool verbose: false, bool whiteList(Uri uri, Id id)}) {
-  return compareData(
-      uri, uri, const {}, computeMemberAstTypeMasks, computeMemberIrTypeMasks,
-      options: [stopAfterTypeInference],
-      forUserLibrariesOnly: false,
-      skipUnprocessedMembers: true,
-      skipFailedCompilations: true,
-      verbose: verbose,
-      whiteList: whiteList);
-}
diff --git a/tests/compiler/dart2js/inference/inference_test_helper.dart b/tests/compiler/dart2js/inference/inference_test_helper.dart
index 2b9c68f..7796132 100644
--- a/tests/compiler/dart2js/inference/inference_test_helper.dart
+++ b/tests/compiler/dart2js/inference/inference_test_helper.dart
@@ -8,10 +8,7 @@
 import 'package:compiler/src/common.dart';
 import 'package:compiler/src/compiler.dart';
 import 'package:compiler/src/diagnostics/diagnostic_listener.dart';
-import 'package:compiler/src/elements/elements.dart';
 import 'package:compiler/src/elements/entities.dart';
-import 'package:compiler/src/resolution/send_structure.dart';
-import 'package:compiler/src/tree/nodes.dart' as ast;
 import 'package:compiler/src/types/types.dart';
 import 'package:compiler/src/js_model/locals.dart';
 import 'package:compiler/src/kernel/element_map.dart';
@@ -45,8 +42,7 @@
 runTests(List<String> args, [int shardIndex]) {
   asyncTest(() async {
     Directory dataDir = new Directory.fromUri(Platform.script.resolve('data'));
-    await checkTests(
-        dataDir, computeMemberAstTypeMasks, computeMemberIrTypeMasks,
+    await checkTests(dataDir, computeMemberIrTypeMasks,
         libDirectory: new Directory.fromUri(Platform.script.resolve('libs')),
         forUserLibrariesOnly: true,
         args: args,
@@ -58,21 +54,6 @@
   });
 }
 
-/// Compute type inference data for [_member] as a [MemberElement].
-///
-/// Fills [actualMap] with the data.
-void computeMemberAstTypeMasks(
-    Compiler compiler, MemberEntity _member, Map<Id, ActualData> actualMap,
-    {bool verbose: false}) {
-  MemberElement member = _member;
-  ResolvedAst resolvedAst = member.resolvedAst;
-  compiler.reporter.withCurrentElement(member.implementation, () {
-    new TypeMaskAstComputer(compiler.reporter, actualMap, resolvedAst,
-            compiler.globalInference.results)
-        .run();
-  });
-}
-
 abstract class ComputeValueMixin<T> {
   GlobalTypeInferenceResults<T> get results;
 
@@ -103,63 +84,6 @@
   }
 }
 
-/// AST visitor for computing inference data for a member.
-class TypeMaskAstComputer extends AstDataExtractor
-    with ComputeValueMixin<ast.Node> {
-  final GlobalTypeInferenceResults<ast.Node> results;
-  final GlobalTypeInferenceElementResult<ast.Node> result;
-
-  TypeMaskAstComputer(DiagnosticReporter reporter,
-      Map<Id, ActualData> actualMap, ResolvedAst resolvedAst, this.results)
-      : result = results.resultOfMember(resolvedAst.element as MemberElement),
-        super(reporter, actualMap, resolvedAst);
-
-  @override
-  String computeElementValue(Id id, AstElement element) {
-    if (element.isParameter) {
-      ParameterElement parameter = element.implementation;
-      return getParameterValue(parameter);
-    } else if (element.isLocal && element.isFunction) {
-      LocalFunctionElement localFunction = element;
-      return getMemberValue(localFunction.callMethod);
-    } else {
-      MemberElement member = element.declaration;
-      return getMemberValue(member);
-    }
-  }
-
-  @override
-  String computeNodeValue(Id id, ast.Node node, [AstElement element]) {
-    if (element != null && element.isLocal && element.isFunction) {
-      return computeElementValue(id, element);
-    } else if (element != null && element.isParameter) {
-      return computeElementValue(id, element);
-    } else if (node is ast.SendSet) {
-      SendStructure sendStructure = elements.getSendStructure(node);
-      if (sendStructure?.kind == SendStructureKind.INDEX_SET) {
-        return getTypeMaskValue(result.typeOfSend(node));
-      } else if (id.kind == IdKind.invoke) {
-        return getTypeMaskValue(result.typeOfOperator(node));
-      } else if (id.kind == IdKind.update) {
-        return getTypeMaskValue(result.typeOfSend(node));
-      } else if (id.kind == IdKind.node) {
-        return getTypeMaskValue(result.typeOfGetter(node));
-      }
-    } else if (node is ast.Send) {
-      return getTypeMaskValue(result.typeOfSend(node));
-    } else if (node is ast.ForIn) {
-      if (id.kind == IdKind.iterator) {
-        return getTypeMaskValue(result.typeOfIterator(node));
-      } else if (id.kind == IdKind.current) {
-        return getTypeMaskValue(result.typeOfIteratorCurrent(node));
-      } else if (id.kind == IdKind.moveNext) {
-        return getTypeMaskValue(result.typeOfIteratorMoveNext(node));
-      }
-    }
-    return null;
-  }
-}
-
 /// Compute type inference data for [member] from kernel based inference.
 ///
 /// Fills [actualMap] with the data.
diff --git a/tests/compiler/dart2js/inference/show.dart b/tests/compiler/dart2js/inference/show.dart
index 94402a7..0602a54 100644
--- a/tests/compiler/dart2js/inference/show.dart
+++ b/tests/compiler/dart2js/inference/show.dart
@@ -19,21 +19,16 @@
   argParser.addFlag('callers', defaultsTo: false);
   ArgResults results = argParser.parse(args);
 
-  ComputeMemberDataFunction astFunction;
   ComputeMemberDataFunction kernelFunction;
   if (results['side-effects']) {
-    astFunction = computeMemberAstSideEffects;
     kernelFunction = computeMemberIrSideEffects;
   }
   if (results['callers']) {
     InferrerEngineImpl.retainDataForTesting = true;
-    astFunction = computeMemberAstCallers;
     kernelFunction = computeMemberIrCallers;
   } else {
     InferrerEngineImpl.useSorterForTesting = true;
-    astFunction = computeMemberAstTypeMasks;
     kernelFunction = computeMemberIrTypeMasks;
   }
-  await show(results, astFunction, kernelFunction,
-      options: [/*stopAfterTypeInference*/]);
+  await show(results, kernelFunction, options: [/*stopAfterTypeInference*/]);
 }
diff --git a/tests/compiler/dart2js/inference/side_effects_test.dart b/tests/compiler/dart2js/inference/side_effects_test.dart
index a92944e..e60006d 100644
--- a/tests/compiler/dart2js/inference/side_effects_test.dart
+++ b/tests/compiler/dart2js/inference/side_effects_test.dart
@@ -8,11 +8,9 @@
 import 'package:compiler/src/common.dart';
 import 'package:compiler/src/compiler.dart';
 import 'package:compiler/src/diagnostics/diagnostic_listener.dart';
-import 'package:compiler/src/elements/elements.dart';
 import 'package:compiler/src/elements/entities.dart';
 import 'package:compiler/src/kernel/element_map.dart';
 import 'package:compiler/src/kernel/kernel_backend_strategy.dart';
-import 'package:compiler/src/tree/nodes.dart' as ast;
 import 'package:compiler/src/world.dart';
 import 'package:kernel/ast.dart' as ir;
 import '../equivalence/id_equivalence.dart';
@@ -22,29 +20,13 @@
   asyncTest(() async {
     Directory dataDir =
         new Directory.fromUri(Platform.script.resolve('side_effects'));
-    await checkTests(
-        dataDir, computeMemberAstSideEffects, computeMemberIrSideEffects,
+    await checkTests(dataDir, computeMemberIrSideEffects,
         args: args,
         options: [stopAfterTypeInference],
         skipForStrong: ['closure_call.dart']);
   });
 }
 
-/// Compute side effects data for [_member] as a [MemberElement].
-///
-/// Fills [actualMap] with the data.
-void computeMemberAstSideEffects(
-    Compiler compiler, MemberEntity _member, Map<Id, ActualData> actualMap,
-    {bool verbose: false}) {
-  MemberElement member = _member;
-  ResolvedAst resolvedAst = member.resolvedAst;
-  compiler.reporter.withCurrentElement(member.implementation, () {
-    new SideEffectsAstComputer(compiler.reporter, actualMap, resolvedAst,
-            compiler.backendClosedWorldForTesting)
-        .run();
-  });
-}
-
 abstract class ComputeValueMixin<T> {
   ClosedWorld get closedWorld;
 
@@ -56,37 +38,6 @@
   }
 }
 
-/// AST visitor for computing side effects data for a member.
-class SideEffectsAstComputer extends AstDataExtractor
-    with ComputeValueMixin<ast.Node> {
-  final ClosedWorld closedWorld;
-
-  SideEffectsAstComputer(DiagnosticReporter reporter,
-      Map<Id, ActualData> actualMap, ResolvedAst resolvedAst, this.closedWorld)
-      : super(reporter, actualMap, resolvedAst);
-
-  @override
-  String computeElementValue(Id id, AstElement element) {
-    if (element.isParameter) {
-      return null;
-    } else if (element.isLocal && element.isFunction) {
-      LocalFunctionElement localFunction = element;
-      return getMemberValue(localFunction.callMethod);
-    } else {
-      MemberElement member = element.declaration;
-      return getMemberValue(member);
-    }
-  }
-
-  @override
-  String computeNodeValue(Id id, ast.Node node, [AstElement element]) {
-    if (element != null && element.isLocal && element.isFunction) {
-      return computeElementValue(id, element);
-    }
-    return null;
-  }
-}
-
 /// Compute side effects data for [member] from kernel based inference.
 ///
 /// Fills [actualMap] with the data.
diff --git a/tests/compiler/dart2js/inference/swarm_test.dart b/tests/compiler/dart2js/inference/swarm_test.dart
deleted file mode 100644
index c374b3f..0000000
--- a/tests/compiler/dart2js/inference/swarm_test.dart
+++ /dev/null
@@ -1,24 +0,0 @@
-// Copyright (c) 2017, the Dart project authors.  Please see the AUTHORS file
-// for details. All rights reserved. Use of this source code is governed by a
-// BSD-style license that can be found in the LICENSE file.
-
-import 'package:async_helper/async_helper.dart';
-import 'package:expect/expect.dart';
-import '../equivalence/id_equivalence.dart';
-import 'inference_equivalence.dart';
-
-main(List<String> args) {
-  asyncTest(() async {
-    Expect.isTrue(
-        await mainInternal(['samples-dev/swarm/swarm.dart']..addAll(args),
-            whiteList: (Uri uri, Id id) {
-      if (uri.pathSegments.last == 'date_time.dart' &&
-          '$id' == 'IdKind.node:15944') {
-        // DateTime.== uses `if (!(other is DateTime))` for which kernel is
-        // smarter.
-        return true;
-      }
-      return false;
-    }));
-  });
-}
diff --git a/tests/compiler/dart2js/inlining/inlining_test.dart b/tests/compiler/dart2js/inlining/inlining_test.dart
index 36e7b3f..18951fc 100644
--- a/tests/compiler/dart2js/inlining/inlining_test.dart
+++ b/tests/compiler/dart2js/inlining/inlining_test.dart
@@ -8,13 +8,10 @@
 import 'package:compiler/src/common.dart';
 import 'package:compiler/src/compiler.dart';
 import 'package:compiler/src/diagnostics/diagnostic_listener.dart';
-import 'package:compiler/src/elements/elements.dart';
 import 'package:compiler/src/elements/entities.dart';
-import 'package:compiler/src/tree/nodes.dart' as ast;
 import 'package:compiler/src/js_backend/backend.dart';
 import 'package:compiler/src/kernel/element_map.dart';
 import 'package:compiler/src/kernel/kernel_backend_strategy.dart';
-import 'package:compiler/src/ssa/builder.dart' as ast;
 import 'package:compiler/src/ssa/builder_kernel.dart' as kernel;
 import 'package:compiler/src/universe/world_impact.dart';
 import 'package:compiler/src/universe/use.dart';
@@ -26,24 +23,7 @@
   JavaScriptBackend.cacheCodegenImpactForTesting = true;
   asyncTest(() async {
     Directory dataDir = new Directory.fromUri(Platform.script.resolve('data'));
-    await checkTests(
-        dataDir, computeMemberAstInlinings, computeMemberIrInlinings,
-        args: args, skipForAst: ['external.dart']);
-  });
-}
-
-/// Compute type inference data for [_member] as a [MemberElement].
-///
-/// Fills [actualMap] with the data.
-void computeMemberAstInlinings(
-    Compiler compiler, MemberEntity _member, Map<Id, ActualData> actualMap,
-    {bool verbose: false}) {
-  MemberElement member = _member;
-  ResolvedAst resolvedAst = member.resolvedAst;
-  compiler.reporter.withCurrentElement(member.implementation, () {
-    new InliningAstComputer(
-            compiler.reporter, actualMap, resolvedAst, compiler.backend)
-        .run();
+    await checkTests(dataDir, computeMemberIrInlinings, args: args);
   });
 }
 
@@ -98,55 +78,6 @@
   }
 }
 
-/// AST visitor for computing inlining data for a member.
-class InliningAstComputer extends AstDataExtractor
-    with ComputeValueMixin<ast.Node> {
-  final JavaScriptBackend backend;
-
-  InliningAstComputer(DiagnosticReporter reporter,
-      Map<Id, ActualData> actualMap, ResolvedAst resolvedAst, this.backend)
-      : super(reporter, actualMap, resolvedAst);
-
-  @override
-  ConstructorBodyEntity getConstructorBody(
-      covariant ConstructorElement constructor) {
-    return constructor.enclosingClass.lookupConstructorBody(constructor.name);
-  }
-
-  @override
-  String getTooDifficultReason(MemberEntity member) {
-    if (member is MethodElement) {
-      if (member is ConstructorElement && member.isDefaultConstructor) {
-        return null;
-      }
-      return ast.InlineWeeder.cannotBeInlinedReason(member.resolvedAst, null,
-          enableUserAssertions: true);
-    }
-    return null;
-  }
-
-  @override
-  String computeElementValue(Id id, AstElement element) {
-    if (element.isParameter) {
-      return null;
-    } else if (element.isLocal && element.isFunction) {
-      LocalFunctionElement localFunction = element;
-      return getMemberValue(localFunction.callMethod);
-    } else {
-      MemberElement member = element.declaration;
-      return getMemberValue(member);
-    }
-  }
-
-  @override
-  String computeNodeValue(Id id, ast.Node node, [AstElement element]) {
-    if (element != null && element.isLocal && element.isFunction) {
-      return computeElementValue(id, element);
-    }
-    return null;
-  }
-}
-
 /// Compute type inference data for [member] from kernel based inference.
 ///
 /// Fills [actualMap] with the data.
diff --git a/tests/compiler/dart2js/inlining/inlining_viewer.dart b/tests/compiler/dart2js/inlining/inlining_viewer.dart
index 9ec0739..9b11031 100644
--- a/tests/compiler/dart2js/inlining/inlining_viewer.dart
+++ b/tests/compiler/dart2js/inlining/inlining_viewer.dart
@@ -10,6 +10,5 @@
 
 main(List<String> args) async {
   JavaScriptBackend.cacheCodegenImpactForTesting = true;
-  await show(createArgParser().parse(args), computeMemberAstInlinings,
-      computeMemberIrInlinings);
+  await show(createArgParser().parse(args), computeMemberIrInlinings);
 }
diff --git a/tests/compiler/dart2js/jumps/data/complex_loops.dart b/tests/compiler/dart2js/jumps/data/complex_loops.dart
index 5495006..d5f73e2 100644
--- a/tests/compiler/dart2js/jumps/data/complex_loops.dart
+++ b/tests/compiler/dart2js/jumps/data/complex_loops.dart
@@ -22,11 +22,9 @@
 }
 
 complexForInLoopWithContinueLookalike2(list) {
-  /*kernel.0@continue*/
-  /*strong.0@continue*/
+  /*0@continue*/
   for (int i in list) {
     label:
-    /*ast.0@break*/
     {
       if (i % 2 == 0) /*target=0*/ break label;
       print(i);
diff --git a/tests/compiler/dart2js/jumps/jump_test.dart b/tests/compiler/dart2js/jumps/jump_test.dart
index b18da0e..ddc8766 100644
--- a/tests/compiler/dart2js/jumps/jump_test.dart
+++ b/tests/compiler/dart2js/jumps/jump_test.dart
@@ -8,13 +8,11 @@
 import 'package:compiler/src/common.dart';
 import 'package:compiler/src/compiler.dart';
 import 'package:compiler/src/diagnostics/diagnostic_listener.dart';
-import 'package:compiler/src/elements/elements.dart';
 import 'package:compiler/src/elements/entities.dart';
 import 'package:compiler/src/elements/jumps.dart';
 import 'package:compiler/src/js_model/locals.dart';
 import 'package:compiler/src/kernel/element_map.dart';
 import 'package:compiler/src/kernel/kernel_backend_strategy.dart';
-import 'package:compiler/src/tree/nodes.dart' as ast;
 import '../equivalence/id_equivalence.dart';
 import '../equivalence/id_equivalence_helper.dart';
 import 'package:kernel/ast.dart' as ir;
@@ -22,23 +20,12 @@
 main(List<String> args) {
   asyncTest(() async {
     Directory dataDir = new Directory.fromUri(Platform.script.resolve('data'));
-    await checkTests(dataDir, computeJumpsData, computeKernelJumpsData,
+    await checkTests(dataDir, computeKernelJumpsData,
         options: [Flags.disableTypeInference, stopAfterTypeInference],
         args: args);
   });
 }
 
-/// Compute closure data mapping for [_member] as a [MemberElement].
-///
-/// Fills [actualMap] with the data and [sourceSpanMap] with the source spans
-/// for the data origin.
-void computeJumpsData(
-    Compiler compiler, MemberEntity _member, Map<Id, ActualData> actualMap,
-    {bool verbose: false}) {
-  MemberElement member = _member;
-  new JumpsAstComputer(compiler.reporter, actualMap, member.resolvedAst).run();
-}
-
 /// Compute closure data mapping for [member] as a kernel based element.
 ///
 /// Fills [actualMap] with the data and [sourceSpanMap] with the source spans
@@ -116,85 +103,6 @@
   }
 }
 
-/// Ast visitor for computing jump data.
-class JumpsAstComputer extends AstDataExtractor with JumpsMixin {
-  JumpsAstComputer(DiagnosticReporter reporter, Map<Id, ActualData> actualMap,
-      ResolvedAst resolvedAst)
-      : super(reporter, actualMap, resolvedAst);
-
-  void run() {
-    super.run();
-    processData();
-  }
-
-  @override
-  String computeNodeValue(Id id, ast.Node node, [AstElement element]) {
-    // Node values are computed post-visit in [processData].
-    return null;
-  }
-
-  @override
-  String computeElementValue(Id id, AstElement element) {
-    return null;
-  }
-
-  @override
-  visitLoop(ast.Loop node) {
-    JumpTarget target = elements.getTargetDefinition(node);
-    if (target != null) {
-      NodeId id = createLoopId(node);
-      SourceSpan sourceSpan = computeSourceSpan(node);
-      targets[target] = new TargetData(index++, id, sourceSpan, target);
-    }
-    super.visitLoop(node);
-  }
-
-  @override
-  visitGotoStatement(ast.GotoStatement node) {
-    JumpTarget target = elements.getTargetOf(node);
-    assert(target != null, 'No target for $node.');
-    NodeId id = createGotoId(node);
-    SourceSpan sourceSpan = computeSourceSpan(node);
-    gotos.add(new GotoData(id, sourceSpan, target));
-    super.visitGotoStatement(node);
-  }
-
-  @override
-  visitLabeledStatement(ast.LabeledStatement node) {
-    if (node.statement is! ast.Loop && node.statement is! ast.SwitchStatement) {
-      JumpTarget target = elements.getTargetDefinition(node.statement);
-      if (target != null) {
-        NodeId id = createLabeledStatementId(node);
-        SourceSpan sourceSpan = computeSourceSpan(node);
-        targets[target] = new TargetData(index++, id, sourceSpan, target);
-      }
-    }
-    super.visitLabeledStatement(node);
-  }
-
-  @override
-  visitSwitchStatement(ast.SwitchStatement node) {
-    JumpTarget target = elements.getTargetDefinition(node);
-    if (target != null) {
-      NodeId id = createLoopId(node);
-      SourceSpan sourceSpan = computeSourceSpan(node);
-      targets[target] = new TargetData(index++, id, sourceSpan, target);
-    }
-    super.visitSwitchStatement(node);
-  }
-
-  @override
-  visitSwitchCase(ast.SwitchCase node) {
-    JumpTarget target = elements.getTargetDefinition(node);
-    if (target != null) {
-      NodeId id = createSwitchCaseId(node);
-      SourceSpan sourceSpan = computeSourceSpan(node);
-      targets[target] = new TargetData(index++, id, sourceSpan, target);
-    }
-    super.visitSwitchCase(node);
-  }
-}
-
 /// Kernel IR visitor for computing jump data.
 class JumpsIrChecker extends IrDataExtractor with JumpsMixin {
   final KernelToLocalsMap _localsMap;
diff --git a/tests/compiler/dart2js/rti/data/closure.dart b/tests/compiler/dart2js/rti/data/closure.dart
index 8b23eeb..df64b7e 100644
--- a/tests/compiler/dart2js/rti/data/closure.dart
+++ b/tests/compiler/dart2js/rti/data/closure.dart
@@ -13,7 +13,6 @@
   f() {
     // TODO(johnniwinther): Optimize local function type signature need.
     return
-        /*ast.*/
         /*kernel.*/
         /*strong.needsSignature*/
         /*omit.needsSignature*/
diff --git a/tests/compiler/dart2js/rti/data/function_subtype_local5.dart b/tests/compiler/dart2js/rti/data/function_subtype_local5.dart
index b1cb012..6fb64c6 100644
--- a/tests/compiler/dart2js/rti/data/function_subtype_local5.dart
+++ b/tests/compiler/dart2js/rti/data/function_subtype_local5.dart
@@ -18,12 +18,10 @@
 class C<T> {
   void test(String nameOfT, bool expectedResult) {
     // TODO(johnniwinther): Optimize local function type signature need.
-    /*ast.*/
     /*kernel.*/
     /*strong.needsSignature*/
     /*omit.needsSignature*/
     int foo(bool a, [String b]) => null;
-    /*ast.*/
     /*kernel.*/
     /*strong.needsSignature*/
     /*omit.needsSignature*/
diff --git a/tests/compiler/dart2js/rti/data/generic_method_instantiate.dart b/tests/compiler/dart2js/rti/data/generic_method_instantiate.dart
index 0162882..2d0d2ce 100644
--- a/tests/compiler/dart2js/rti/data/generic_method_instantiate.dart
+++ b/tests/compiler/dart2js/rti/data/generic_method_instantiate.dart
@@ -8,7 +8,6 @@
 /*class: B:deps=[method],explicit=[B<A>],needsArgs*/
 class B<T> {}
 
-/*ast.element: method:*/
 /*kernel.element: method:*/
 /*strong.element: method:needsArgs*/
 /*omit.element: method:needsArgs*/
diff --git a/tests/compiler/dart2js/rti/data/generic_method_is.dart b/tests/compiler/dart2js/rti/data/generic_method_is.dart
index a2cfa4a..6339de6 100644
--- a/tests/compiler/dart2js/rti/data/generic_method_is.dart
+++ b/tests/compiler/dart2js/rti/data/generic_method_is.dart
@@ -2,7 +2,6 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-/*ast.element: method:direct,explicit=[method.T]*/
 /*kernel.element: method:direct,explicit=[method.T]*/
 /*strong.element: method:direct,explicit=[method.T],needsArgs*/
 /*omit.element: method:direct,explicit=[method.T],needsArgs*/
diff --git a/tests/compiler/dart2js/rti/data/list_to_set.dart b/tests/compiler/dart2js/rti/data/list_to_set.dart
index 83762b3..427ecc9 100644
--- a/tests/compiler/dart2js/rti/data/list_to_set.dart
+++ b/tests/compiler/dart2js/rti/data/list_to_set.dart
@@ -2,12 +2,10 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-/*ast.class: global#List:deps=[Class,EmptyIterable,Iterable,JSArray,ListIterable,SetMixin,SubListIterable],explicit=[List],implicit=[List.E],indirect,needsArgs*/
 /*kernel.class: global#List:deps=[Class,EmptyIterable,Iterable,JSArray,ListIterable,SetMixin],explicit=[List],implicit=[List.E],indirect,needsArgs*/
 /*strong.class: global#List:deps=[Class,EmptyIterable,Iterable,JSArray,ListIterable,SetMixin,makeListFixedLength],direct,explicit=[List,List.E,List<JSArray.E>,List<String>,List<makeListFixedLength.T>],implicit=[List.E],needsArgs*/
 /*omit.class: global#List:deps=[Class,EmptyIterable,Iterable,JSArray,ListIterable,SetMixin],explicit=[List],implicit=[List.E],indirect,needsArgs*/
 
-/*ast.class: global#JSArray:deps=[List],explicit=[JSArray],implicit=[JSArray.E],indirect,needsArgs*/
 /*kernel.class: global#JSArray:deps=[EmptyIterable,List,ListIterable,SetMixin,SubListIterable],explicit=[JSArray],implicit=[JSArray.E],indirect,needsArgs*/
 /*strong.class: global#JSArray:deps=[ArrayIterator,EmptyIterable,List,ListIterable,SetMixin,SubListIterable],explicit=[Iterable<JSArray.E>,JSArray,JSArray.E,JSArray<ArrayIterator.E>,List<JSArray.E>],implicit=[JSArray.E],indirect,needsArgs*/
 /*omit.class: global#JSArray:deps=[EmptyIterable,List,ListIterable,SetMixin,SubListIterable],explicit=[JSArray],implicit=[JSArray.E],indirect,needsArgs*/
diff --git a/tests/compiler/dart2js/rti/data/local_function_signatures.dart b/tests/compiler/dart2js/rti/data/local_function_signatures.dart
index 5759a26..b7c851c 100644
--- a/tests/compiler/dart2js/rti/data/local_function_signatures.dart
+++ b/tests/compiler/dart2js/rti/data/local_function_signatures.dart
@@ -6,7 +6,6 @@
 
 class Class1 {
   method1() {
-    /*ast.*/
     /*kernel.*/
     /*strong.needsSignature*/
     /*omit.needsSignature*/
diff --git a/tests/compiler/dart2js/rti/data/subtype_named_args.dart b/tests/compiler/dart2js/rti/data/subtype_named_args.dart
index d7014bf..452b820 100644
--- a/tests/compiler/dart2js/rti/data/subtype_named_args.dart
+++ b/tests/compiler/dart2js/rti/data/subtype_named_args.dart
@@ -6,28 +6,23 @@
 
 import 'package:expect/expect.dart';
 
-/*ast.class: A:explicit=[dynamic Function({a:A,b:B,c:C,d:D}),dynamic Function({g:G<A,B,C,D>,l:List<List<B>>,m:Map<num,int>})]*/
-/*kernel.class: A:explicit=[dynamic Function({a:A,b:B,c:C,d:D}),dynamic Function({f1:dynamic Function({a:A,b:B,c:C,d:D}),f2:dynamic Function({g:G<A,B,C,D>,l:List<List<B>>,m:Map<num,int>}),f3:dynamic Function({v:dynamic,x:dynamic,y:dynamic,z:dynamic})}),dynamic Function({g:G<A,B,C,D>,l:List<List<B>>,m:Map<num,int>})]*/
+/*class: A:explicit=[dynamic Function({a:A,b:B,c:C,d:D}),dynamic Function({f1:dynamic Function({a:A,b:B,c:C,d:D}),f2:dynamic Function({g:G<A,B,C,D>,l:List<List<B>>,m:Map<num,int>}),f3:dynamic Function({v:dynamic,x:dynamic,y:dynamic,z:dynamic})}),dynamic Function({g:G<A,B,C,D>,l:List<List<B>>,m:Map<num,int>})]*/
 class A {}
 
 class A1 {}
 
 class A2 {}
 
-/*ast.class: B:explicit=[dynamic Function({a:A,b:B,c:C,d:D}),dynamic Function({g:G<A,B,C,D>,l:List<List<B>>,m:Map<num,int>})]*/
-/*kernel.class: B:explicit=[dynamic Function({a:A,b:B,c:C,d:D}),dynamic Function({f1:dynamic Function({a:A,b:B,c:C,d:D}),f2:dynamic Function({g:G<A,B,C,D>,l:List<List<B>>,m:Map<num,int>}),f3:dynamic Function({v:dynamic,x:dynamic,y:dynamic,z:dynamic})}),dynamic Function({g:G<A,B,C,D>,l:List<List<B>>,m:Map<num,int>})]*/
+/*class: B:explicit=[dynamic Function({a:A,b:B,c:C,d:D}),dynamic Function({f1:dynamic Function({a:A,b:B,c:C,d:D}),f2:dynamic Function({g:G<A,B,C,D>,l:List<List<B>>,m:Map<num,int>}),f3:dynamic Function({v:dynamic,x:dynamic,y:dynamic,z:dynamic})}),dynamic Function({g:G<A,B,C,D>,l:List<List<B>>,m:Map<num,int>})]*/
 class B implements A, A1, A2 {}
 
-/*ast.class: C:explicit=[dynamic Function({a:A,b:B,c:C,d:D}),dynamic Function({g:G<A,B,C,D>,l:List<List<B>>,m:Map<num,int>})]*/
-/*kernel.class: C:explicit=[dynamic Function({a:A,b:B,c:C,d:D}),dynamic Function({f1:dynamic Function({a:A,b:B,c:C,d:D}),f2:dynamic Function({g:G<A,B,C,D>,l:List<List<B>>,m:Map<num,int>}),f3:dynamic Function({v:dynamic,x:dynamic,y:dynamic,z:dynamic})}),dynamic Function({g:G<A,B,C,D>,l:List<List<B>>,m:Map<num,int>})]*/
+/*class: C:explicit=[dynamic Function({a:A,b:B,c:C,d:D}),dynamic Function({f1:dynamic Function({a:A,b:B,c:C,d:D}),f2:dynamic Function({g:G<A,B,C,D>,l:List<List<B>>,m:Map<num,int>}),f3:dynamic Function({v:dynamic,x:dynamic,y:dynamic,z:dynamic})}),dynamic Function({g:G<A,B,C,D>,l:List<List<B>>,m:Map<num,int>})]*/
 class C implements B {}
 
-/*ast.class: D:explicit=[dynamic Function({a:A,b:B,c:C,d:D}),dynamic Function({g:G<A,B,C,D>,l:List<List<B>>,m:Map<num,int>})]*/
-/*kernel.class: D:explicit=[dynamic Function({a:A,b:B,c:C,d:D}),dynamic Function({f1:dynamic Function({a:A,b:B,c:C,d:D}),f2:dynamic Function({g:G<A,B,C,D>,l:List<List<B>>,m:Map<num,int>}),f3:dynamic Function({v:dynamic,x:dynamic,y:dynamic,z:dynamic})}),dynamic Function({g:G<A,B,C,D>,l:List<List<B>>,m:Map<num,int>})]*/
+/*class: D:explicit=[dynamic Function({a:A,b:B,c:C,d:D}),dynamic Function({f1:dynamic Function({a:A,b:B,c:C,d:D}),f2:dynamic Function({g:G<A,B,C,D>,l:List<List<B>>,m:Map<num,int>}),f3:dynamic Function({v:dynamic,x:dynamic,y:dynamic,z:dynamic})}),dynamic Function({g:G<A,B,C,D>,l:List<List<B>>,m:Map<num,int>})]*/
 class D implements C {}
 
-/*ast.class: G:explicit=[dynamic Function({g:G<A,B,C,D>,l:List<List<B>>,m:Map<num,int>})]*/
-/*kernel.class: G:explicit=[dynamic Function({f1:dynamic Function({a:A,b:B,c:C,d:D}),f2:dynamic Function({g:G<A,B,C,D>,l:List<List<B>>,m:Map<num,int>}),f3:dynamic Function({v:dynamic,x:dynamic,y:dynamic,z:dynamic})}),dynamic Function({g:G<A,B,C,D>,l:List<List<B>>,m:Map<num,int>})]*/
+/*class: G:explicit=[dynamic Function({f1:dynamic Function({a:A,b:B,c:C,d:D}),f2:dynamic Function({g:G<A,B,C,D>,l:List<List<B>>,m:Map<num,int>}),f3:dynamic Function({v:dynamic,x:dynamic,y:dynamic,z:dynamic})}),dynamic Function({g:G<A,B,C,D>,l:List<List<B>>,m:Map<num,int>})]*/
 class G<T, S, U, W> {}
 
 typedef classesFunc({A a, B b, C c, D d});
diff --git a/tests/compiler/dart2js/rti/data/subtype_named_args1.dart b/tests/compiler/dart2js/rti/data/subtype_named_args1.dart
index 0312132..8d5cf9c 100644
--- a/tests/compiler/dart2js/rti/data/subtype_named_args1.dart
+++ b/tests/compiler/dart2js/rti/data/subtype_named_args1.dart
@@ -8,8 +8,7 @@
 
 class A {}
 
-/*ast.class: B:explicit=[dynamic Function({a:B})]*/
-/*kernel.class: B:explicit=[dynamic Function({a:B}),dynamic Function({f:dynamic Function({a:B})})]*/
+/*class: B:explicit=[dynamic Function({a:B}),dynamic Function({f:dynamic Function({a:B})})]*/
 class B implements A {}
 
 /*class: C:explicit=[dynamic Function({c:C})]*/
diff --git a/tests/compiler/dart2js/rti/emission/closure_function.dart b/tests/compiler/dart2js/rti/emission/closure_function.dart
index 099dee0..9b11f64 100644
--- a/tests/compiler/dart2js/rti/emission/closure_function.dart
+++ b/tests/compiler/dart2js/rti/emission/closure_function.dart
@@ -9,7 +9,6 @@
 
 main() {
   test(
-      /*ast.checks=[],functionType,instance*/
       /*kernel.checks=[],functionType,instance*/
       /*strong.checks=[],instance*/ () {});
   test(null);
diff --git a/tests/compiler/dart2js/rti/emission/closure_signature_unneeded.dart b/tests/compiler/dart2js/rti/emission/closure_signature_unneeded.dart
index ac72186..6ffe4e3 100644
--- a/tests/compiler/dart2js/rti/emission/closure_signature_unneeded.dart
+++ b/tests/compiler/dart2js/rti/emission/closure_signature_unneeded.dart
@@ -11,7 +11,6 @@
     // TODO(johnniwinther): The signature is not needed since the type isn't a
     // potential subtype of the checked function types.
     return
-        /*ast.checks=[$signature],instance*/
         /*kernel.checks=[$signature],instance*/
         /*strong.checks=[],instance*/
         (T t, String s) {};
diff --git a/tests/compiler/dart2js/rti/emission/list.dart b/tests/compiler/dart2js/rti/emission/list.dart
index 565ea00..5be9f09 100644
--- a/tests/compiler/dart2js/rti/emission/list.dart
+++ b/tests/compiler/dart2js/rti/emission/list.dart
@@ -4,7 +4,6 @@
 
 import 'package:meta/dart2js.dart';
 
-/*ast.class: global#JSArray:checkedInstance,checks=[$isIterable],instance*/
 /*kernel.class: global#JSArray:checkedInstance,checks=[$isIterable],instance*/
 /*strong.class: global#JSArray:checkedInstance,checks=[$isIterable,$isList],instance*/
 
diff --git a/tests/compiler/dart2js/rti/emission/map_literal.dart b/tests/compiler/dart2js/rti/emission/map_literal.dart
index 4df5013..2dbeda8 100644
--- a/tests/compiler/dart2js/rti/emission/map_literal.dart
+++ b/tests/compiler/dart2js/rti/emission/map_literal.dart
@@ -2,14 +2,12 @@
 // for details. All rights reserved. Use of this source code is governed by a
 // BSD-style license that can be found in the LICENSE file.
 
-/*ast.class: global#Map:instance*/
 /*kernel.class: global#Map:instance*/
 /*strong.class: global#Map:checkedInstance,checks=[],instance*/
 
 /*class: global#LinkedHashMap:*/
 /*class: global#JsLinkedHashMap:checks=[],instance*/
 
-/*ast.class: global#double:checks=[],instance,typeArgument*/
 /*kernel.class: global#double:checks=[],instance,typeArgument*/
 /*strong.class: global#double:checkedInstance,checks=[],instance,typeArgument*/
 
diff --git a/tests/compiler/dart2js/rti/rti_emission_test.dart b/tests/compiler/dart2js/rti/rti_emission_test.dart
index 5408325..3878ea1 100644
--- a/tests/compiler/dart2js/rti/rti_emission_test.dart
+++ b/tests/compiler/dart2js/rti/rti_emission_test.dart
@@ -8,14 +8,11 @@
 import 'package:compiler/src/common.dart';
 import 'package:compiler/src/compiler.dart';
 import 'package:compiler/src/diagnostics/diagnostic_listener.dart';
-import 'package:compiler/src/elements/elements.dart';
 import 'package:compiler/src/elements/entities.dart';
 import 'package:compiler/src/js_backend/runtime_types.dart';
 import 'package:compiler/src/js_emitter/model.dart';
-import 'package:compiler/src/tree/nodes.dart' as ast;
 import 'package:compiler/src/kernel/element_map.dart';
 import 'package:compiler/src/kernel/kernel_backend_strategy.dart';
-import 'package:compiler/src/ssa/builder.dart' as ast;
 import 'package:kernel/ast.dart' as ir;
 import '../equivalence/id_equivalence.dart';
 import '../equivalence/id_equivalence_helper.dart';
@@ -28,9 +25,7 @@
         new Directory.fromUri(Platform.script.resolve('emission'));
     await checkTests(
       dataDir,
-      computeAstRtiMemberEmission,
       computeKernelRtiMemberEmission,
-      computeClassDataFromAst: computeAstRtiClassEmission,
       computeClassDataFromKernel: computeKernelRtiClassEmission,
       args: args,
       skipForStrong: [
@@ -57,24 +52,6 @@
   static const String functionType = 'functionType';
 }
 
-void computeAstRtiMemberEmission(
-    Compiler compiler, MemberEntity _member, Map<Id, ActualData> actualMap,
-    {bool verbose: false}) {
-  MemberElement member = _member;
-  ResolvedAst resolvedAst = member.resolvedAst;
-  compiler.reporter.withCurrentElement(member.implementation, () {
-    new RtiMemberEmissionAstComputer(
-            compiler.reporter, actualMap, resolvedAst, compiler)
-        .run();
-  });
-}
-
-void computeAstRtiClassEmission(
-    Compiler compiler, ClassEntity cls, Map<Id, ActualData> actualMap,
-    {bool verbose: false}) {
-  new RtiClassEmissionAstComputer(compiler, actualMap).computeClassValue(cls);
-}
-
 abstract class ComputeValueMixin<T> {
   Compiler get compiler;
   ProgramLookup lookup;
@@ -121,51 +98,6 @@
   }
 }
 
-class RtiClassEmissionAstComputer extends DataRegistry
-    with ComputeValueMixin<ast.Node> {
-  final Compiler compiler;
-  final Map<Id, ActualData> actualMap;
-
-  RtiClassEmissionAstComputer(this.compiler, this.actualMap);
-
-  DiagnosticReporter get reporter => compiler.reporter;
-
-  void computeClassValue(covariant ClassElement cls) {
-    Id id = new ClassId(cls.name);
-    registerValue(cls.sourcePosition, id, getClassValue(cls), cls);
-  }
-}
-
-class RtiMemberEmissionAstComputer extends AstDataExtractor
-    with ComputeValueMixin<ast.Node> {
-  final Compiler compiler;
-
-  RtiMemberEmissionAstComputer(DiagnosticReporter reporter,
-      Map<Id, ActualData> actualMap, ResolvedAst resolvedAst, this.compiler)
-      : super(reporter, actualMap, resolvedAst);
-
-  @override
-  String computeElementValue(Id id, AstElement element) {
-    if (element.isParameter) {
-      return null;
-    } else if (element.isLocal && element.isFunction) {
-      LocalFunctionElement localFunction = element;
-      return getMemberValue(localFunction.callMethod);
-    } else {
-      MemberElement member = element.declaration;
-      return getMemberValue(member);
-    }
-  }
-
-  @override
-  String computeNodeValue(Id id, ast.Node node, [AstElement element]) {
-    if (element != null && element.isLocal && element.isFunction) {
-      return computeElementValue(id, element);
-    }
-    return null;
-  }
-}
-
 void computeKernelRtiMemberEmission(
     Compiler compiler, MemberEntity member, Map<Id, ActualData> actualMap,
     {bool verbose: false}) {
diff --git a/tests/compiler/dart2js/rti/rti_need_test_helper.dart b/tests/compiler/dart2js/rti/rti_need_test_helper.dart
index 567e519..d13dae2 100644
--- a/tests/compiler/dart2js/rti/rti_need_test_helper.dart
+++ b/tests/compiler/dart2js/rti/rti_need_test_helper.dart
@@ -13,12 +13,10 @@
 import 'package:compiler/src/elements/entities.dart';
 import 'package:compiler/src/elements/resolution_types.dart';
 import 'package:compiler/src/elements/types.dart';
-import 'package:compiler/src/tree/nodes.dart' as ast;
 import 'package:compiler/src/js_backend/runtime_types.dart';
 import 'package:compiler/src/kernel/element_map.dart';
 import 'package:compiler/src/kernel/kernel_backend_strategy.dart';
 import 'package:compiler/src/kernel/kernel_strategy.dart';
-import 'package:compiler/src/ssa/builder.dart' as ast;
 import 'package:compiler/src/universe/selector.dart';
 import 'package:compiler/src/universe/world_builder.dart';
 import 'package:kernel/ast.dart' as ir;
@@ -34,9 +32,7 @@
   cacheRtiDataForTesting = true;
   asyncTest(() async {
     Directory dataDir = new Directory.fromUri(Platform.script.resolve('data'));
-    await checkTests(
-        dataDir, computeAstRtiMemberNeed, computeKernelRtiMemberNeed,
-        computeClassDataFromAst: computeAstRtiClassNeed,
+    await checkTests(dataDir, computeKernelRtiMemberNeed,
         computeClassDataFromKernel: computeKernelRtiClassNeed,
         options: [],
         skipForStrong: [
@@ -52,30 +48,6 @@
   });
 }
 
-/// Compute RTI need data for [_member] as a [MemberElement].
-///
-/// Fills [actualMap] with the data.
-void computeAstRtiMemberNeed(
-    Compiler compiler, MemberEntity _member, Map<Id, ActualData> actualMap,
-    {bool verbose: false}) {
-  MemberElement member = _member;
-  ResolvedAst resolvedAst = member.resolvedAst;
-  compiler.reporter.withCurrentElement(member.implementation, () {
-    new RtiMemberNeedAstComputer(
-            compiler.reporter, actualMap, resolvedAst, compiler)
-        .run();
-  });
-}
-
-/// Compute RTI need data for [cls] from the old frontend.
-///
-/// Fills [actualMap] with the data.
-void computeAstRtiClassNeed(
-    Compiler compiler, ClassEntity cls, Map<Id, ActualData> actualMap,
-    {bool verbose: false}) {
-  new RtiClassNeedAstComputer(compiler, actualMap).computeClassValue(cls);
-}
-
 class Tags {
   static const String needsTypeArguments = 'needsArgs';
   static const String needsSignature = 'needsSignature';
@@ -259,70 +231,6 @@
   }
 }
 
-abstract class AstMixin implements ComputeValueMixin<ast.Node> {
-  @override
-  ClassEntity getFrontendClass(ClassEntity cls) {
-    return cls;
-  }
-
-  @override
-  MemberEntity getFrontendMember(MemberEntity member) {
-    return member;
-  }
-
-  @override
-  Local getFrontendClosure(MemberEntity member) {
-    if (member is SynthesizedCallMethodElementX) return member.expression;
-    return null;
-  }
-}
-
-class RtiClassNeedAstComputer extends DataRegistry
-    with ComputeValueMixin<ast.Node>, AstMixin {
-  final Compiler compiler;
-  final Map<Id, ActualData> actualMap;
-
-  RtiClassNeedAstComputer(this.compiler, this.actualMap);
-
-  DiagnosticReporter get reporter => compiler.reporter;
-
-  void computeClassValue(covariant ClassElement cls) {
-    Id id = new ClassId(cls.name);
-    registerValue(cls.sourcePosition, id, getClassValue(cls), cls);
-  }
-}
-
-/// AST visitor for computing inlining data for a member.
-class RtiMemberNeedAstComputer extends AstDataExtractor
-    with ComputeValueMixin<ast.Node>, AstMixin {
-  final Compiler compiler;
-
-  RtiMemberNeedAstComputer(DiagnosticReporter reporter,
-      Map<Id, ActualData> actualMap, ResolvedAst resolvedAst, this.compiler)
-      : super(reporter, actualMap, resolvedAst);
-
-  @override
-  String computeElementValue(Id id, AstElement element) {
-    if (element.isParameter) {
-      return null;
-    } else if (element.isLocal && element.isFunction) {
-      LocalFunctionElement localFunction = element;
-      return getMemberValue(localFunction.callMethod);
-    } else {
-      MemberElement member = element.declaration;
-      return getMemberValue(member);
-    }
-  }
-
-  @override
-  String computeNodeValue(Id id, ast.Node node, [AstElement element]) {
-    if (element != null && element.isLocal && element.isFunction) {
-      return computeElementValue(id, element);
-    }
-    return null;
-  }
-}
-
 /// Compute RTI need data for [member] from the new frontend.
 ///
 /// Fills [actualMap] with the data.
diff --git a/tests/compiler/dart2js/rti/show.dart b/tests/compiler/dart2js/rti/show.dart
index f4ab741..6c0ff7f 100644
--- a/tests/compiler/dart2js/rti/show.dart
+++ b/tests/compiler/dart2js/rti/show.dart
@@ -18,23 +18,16 @@
   argParser.addFlag('emission');
   ArgResults results = argParser.parse(args);
 
-  ComputeMemberDataFunction computeAstData;
   ComputeMemberDataFunction computeKernelData;
-  ComputeClassDataFunction computeAstClassData;
   ComputeClassDataFunction computeKernelClassData;
   if (results['emission']) {
-    computeAstData = computeAstRtiMemberEmission;
     computeKernelData = computeKernelRtiMemberEmission;
-    computeAstClassData = computeAstRtiClassEmission;
     computeKernelClassData = computeKernelRtiClassEmission;
   } else {
-    computeAstData = computeAstRtiMemberNeed;
     computeKernelData = computeKernelRtiMemberNeed;
-    computeAstClassData = computeAstRtiClassNeed;
     computeKernelClassData = computeKernelRtiClassNeed;
   }
 
-  await show(results, computeAstData, computeKernelData,
-      computeAstClassData: computeAstClassData,
+  await show(results, computeKernelData,
       computeKernelClassData: computeKernelClassData);
 }