# 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:collection library.
{
  'sources': [
    'collection.dart',
    # The above file needs to be first as it lists the parts below.
    'collections.dart',
    'hash_map.dart',
    'hash_set.dart',
    'iterable.dart',
    'iterator.dart',
    'linked_hash_map.dart',
    'linked_hash_set.dart',
    'linked_list.dart',
    'list.dart',
    'maps.dart',
    'queue.dart',
    'set.dart',
    'splay_tree.dart',
  ],
}
