# 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': [
    'core.dart',
    # The above file needs to be first as it lists the parts below.
    'bool.dart',
    'comparable.dart',
    'date_time.dart',
    'double.dart',
    'duration.dart',
    'errors.dart',
    'exceptions.dart',
    'expando.dart',
    'function.dart',
    'identical.dart',
    'int.dart',
    'invocation.dart',
    'iterable.dart',
    'iterator.dart',
    'list.dart',
    'map.dart',
    'num.dart',
    'object.dart',
    'pattern.dart',
    'print.dart',
    'regexp.dart',
    'set.dart',
    'stacktrace.dart',
    'stopwatch.dart',
    'string.dart',
    'string_buffer.dart',
    'string_sink.dart',
    'symbol.dart',
    'type.dart',
    'uri.dart',
  ],
}
