# 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.

# Implementation sources.

{
  'sources': [
    'array.cc',
    'array.dart',
    'array_patch.dart',
    'date.cc',
    'date_patch.dart',
    'growable_array.cc',
    'growable_array.dart',
    'immutable_map.dart',
    'literal_factory.dart',
    'math.dart',
    'math.cc',
    'object.cc',
    'regexp.cc',
    'regexp_jsc.cc',
    'regexp_jsc.h',
    'regexp_patch.dart',
    'stopwatch_patch.dart',
    'string.cc',
    'string_base.dart',
    'string_patch.dart',
  ],
}
