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

library mocks;

import 'dart:async';

import 'package:observatory/models.dart' as M;

part 'src/mocks/exceptions/connection_exception.dart';

part 'src/mocks/objects/error.dart';
part 'src/mocks/objects/code.dart';
part 'src/mocks/objects/event.dart';
part 'src/mocks/objects/class.dart';
part 'src/mocks/objects/flag.dart';
part 'src/mocks/objects/function.dart';
part 'src/mocks/objects/isolate.dart';
part 'src/mocks/objects/library.dart';
part 'src/mocks/objects/notification.dart';
part 'src/mocks/objects/script.dart';
part 'src/mocks/objects/source_location.dart';
part 'src/mocks/objects/target.dart';
part 'src/mocks/objects/vm.dart';

part 'src/mocks/repositories/crash_dump.dart';
part 'src/mocks/repositories/flag.dart';
part 'src/mocks/repositories/notification.dart';
part 'src/mocks/repositories/script.dart';
part 'src/mocks/repositories/target.dart';
