// 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.md file.

class A1 {
  const A1();
}

class A2 {
  const A2();
}

class A3 {
  const A3();
}

class A4 {
  const A4();
}

class A5 {
  const A5();
}

class A6 {
  const A6();
}

class A7 {
  const A7();
}
