# Copyright (c) 2012, 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.

# This file contains all sources for the dart:async library.
{
  'sources': [
    'async.dart',
    # The above file needs to be first as it lists the parts below.
    'async_error.dart',
    'collection_sink.dart',
    'deferred_load.dart',
    'future.dart',
    'future_impl.dart',
    'stream.dart',
    'stream_controller.dart',
    'stream_impl.dart',
    'stream_pipe.dart',
    'timer.dart',
  ],
}
