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

{
  'sources': [
    'bool.dart',
    'collection.dart',
    'comparable.dart',
    'date.dart',
    'double.dart',
    'duration.dart',
    'exceptions.dart',
    'errors.dart',
    'expando.dart',
    'expect.dart',
    'future.dart',
    'function.dart',
    'identical.dart',
    'int.dart',
    'hashable.dart',
    'iterable.dart',
    'iterator.dart',
    'map.dart',
    'list.dart',
    'num.dart',
    'object.dart',
    'options.dart',
    'pattern.dart',
    'print.dart',
    'queue.dart',
    'regexp.dart',
    'sequences.dart',
    'set.dart',
    'stopwatch.dart',
    'string.dart',
    'strings.dart',
    'string_buffer.dart',
    'type.dart',
  ],
}
