# 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 visible via default library.

{
  'sources': [
    'bool_patch.dart',
    'date.cc',
    'date_patch.dart',
    'array.cc',
    'array.dart',
    'array_patch.dart',
    'double.cc',
    'double.dart',
    'double_patch.dart',
    'error.cc',
    'error.dart',
    'errors_patch.dart',
    'error.h',
    'expando_patch.dart',
    'function.cc',
    'function_patch.dart',
    'growable_array.cc',
    'growable_array.dart',
    'identical.cc',
    'identical_patch.dart',
    'immutable_map.dart',
    'integers.cc',
    'integers.dart',
    'integers_patch.dart',
    'invocation_mirror.cc',
    'invocation_mirror.h',
    'invocation_mirror_patch.dart',
    'map_patch.dart',
    'object.cc',
    'object_patch.dart',
    'print_patch.dart',
    'regexp.cc',
    'regexp_jsc.cc',
    'regexp_jsc.h',
    'regexp_patch.dart',
    'stopwatch_patch.dart',
    'stopwatch.cc',
    'string.cc',
    'string_base.dart',
    'string_patch.dart',
    'string_buffer_patch.dart',
    'type_patch.dart',
    'weak_property.dart',
    'weak_property.cc',
  ],
}
