// Copyright (c) 2020, 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.

// @dart = 2.9

// OtherResources=../../../../tests/language_2/mixin/regress_flutter_55345_test.dart

// Runs regress_flutter_55345_test.dart using AOT kernel generation split into
// 2 steps using '--from-dill' option.

import 'dart:io' show Platform;

import 'split_aot_kernel_generation_test.dart'
    show runSplitAOTKernelGenerationTest;

main() async {
  await runSplitAOTKernelGenerationTest(Platform.script.resolve(
      '../../../../tests/language_2/mixin/regress_flutter_55345_test.dart'));
}
