content: // 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.
  
  /**
   *
   * Built-in types, collections,
   * and other core functionality for every Dart program.
   *
   * This library is automatically imported.
   *
   * Some classes in this library,
   * such as [String] and [num],
   * support Dart's built-in data types.
   * Other classes, such as [List] and [Map], provide data structures
   * for managing collections of objects.
   * And still other classes represent commonly used types of data
   * such as URIs, dates and times, and errors.
   *
   * ## Numbers and booleans
   *
   * [int] and [double] provide support for Dart's built-in numerical data types:
   * integers and double-precision floating point numbers, respectively.
   * An object of type [bool] is either true or false.
   * Variables of these types can be constructed from literals:
   *
   *     int meaningOfLife = 42;
   *     double valueOfPi  = 3.141592;
   *     bool visible      = true;
   *
   * ## Strings and regular expressions
   *
   * A [String] is immutable and represents a sequence of characters.
   *
   *     String shakespeareQuote = "All the world's a stage, ...";
   *
   * [StringBuffer] provides a way to construct strings efficiently.
   *
   *     StringBuffer moreShakespeare = new StringBuffer();
   *     moreShakespeare.write('And all the men and women ');
   *     moreShakespeare.write('merely players; ...');
   *
   * The String and StringBuffer classes implement string concatenation,
   * interpolation, and other string manipulation features.
   *
   *     String philosophy = 'Live on ';
   *     String get palindrome => philosophy + philosophy.split('').reversed.join();
   *
   * [RegExp] implements Dart regular expressions,
   * which provide a grammar for matching patterns within text.
   * For example, here's a regular expression that matches
   * a string of one or more digits:
   *
   *     var numbers = new RegExp(r'\d+');
   *
   * Dart regular expressions have the same syntax and semantics as
   * JavaScript regular expressions. See
   * <http://ecma-international.org/ecma-262/5.1/#sec-15.10>
   * for the specification of JavaScript regular expressions.
   *
   * ## Collections
   *
   * The dart:core library provides basic collections,
   * such as [List], [Map], and [Set].
   *
   * A List is an ordered collection of objects, with a length.
   * Lists are sometimes called arrays.
   * Use a List when you need to access objects by index.
   *
   *     List superheroes = [ 'Batman', 'Superman', 'Harry Potter' ];
   *
   * A Set is an unordered collection of unique objects.
   * You cannot get an item by index (position).
   * Adding a duplicate item has no effect.
   *
   *     Set villians = new Set();
   *     villians.add('Joker');
   *     villians.addAll( ['Lex Luther', 'Voldemort'] );
   *
   * A Map is an unordered collection of key-value pairs.
   * Maps are sometimes called associative arrays because
   * maps associate a key to some value for easy retrieval.
   * Keys are unique.
   * Use a Map when you need to access objects
   * by a unique identifier.
   *
   *     Map sidekicks = { 'Batman': 'Robin',
   *                       'Superman': 'Lois Lane',
   *                       'Harry Potter': 'Ron and Hermione' };
   *
   * In addition to these classes,
   * dart:core contains [Iterable],
   * an interface that defines functionality
   * common in collections of objects.
   * Examples include the ability
   * to run a function on each element in the collection,
   * to apply a test to each element,
   * to retrieve an object, and to determine length.
   *
   * Iterable is implemented by List and Set,
   * and used by Map for its keys and values.
   *
   * For other kinds of collections, check out the
   * [dart:collection](#dart-collection) library.
   *
   * ## Date and time
   *
   * Use [DateTime] to represent a point in time
   * and [Duration] to represent a span of time.
   *
   * You can create DateTime objects with constructors
   * or by parsing a correctly formatted string.
   *
   *     DateTime now = new DateTime.now();
   *     DateTime berlinWallFell = new DateTime(1989, 11, 9);
   *     DateTime moonLanding = DateTime.parse("1969-07-20");
   *
   * Create a Duration object specifying the individual time units.
   *
   *     Duration timeRemaining = new Duration(hours:56, minutes:14);
   *
   * In addition to DateTime and Duration,
   * dart:core contains the [Stopwatch] class for measuring elapsed time.
   *
   * ## Uri
   *
   * A [Uri] object represents a uniform resource identifier,
   * which identifies a resource on the web.
   *
   *     Uri dartlang = Uri.parse('http://dartlang.org/');
   *
   * ## Errors
   *
   * The [Error] class represents the occurrence of an error
   * during runtime.
   * Subclasses of this class represent specific kinds of errors.
   *
   * ## Other documentation
   *
   * For more information about how to use the built-in types, refer to
   * [Built-in Types](http://www.dartlang.org/docs/dart-up-and-running/contents/ch02.html#built-in-types)
   * in Chapter 2 of
   * [Dart: Up and Running](http://www.dartlang.org/docs/dart-up-and-running/).
   *
   * Also, see
   * [dart:core - Numbers, Collections, Strings, and More](http://www.dartlang.org/docs/dart-up-and-running/contents/ch03.html#ch03-dartcore---strings-collections-and-more)
   * for more coverage of classes in this package.
   *
   * The
   * [Dart Language Specification](http://www.dartlang.org/docs/spec/)
   * provides technical details.
   */
  library dart.core;
  
  import "dart:collection";
  import "dart:_collection-dev" hide Symbol;
  import "dart:_collection-dev" as _collection_dev;
  import "dart:convert" show UTF8, Encoding;
  import "dart:math" show Random;  // Used by List.shuffle.
  
  part "annotations.dart";
  part "bool.dart";
  part "comparable.dart";
  part "date_time.dart";
  part "double.dart";
  part "duration.dart";
  part "errors.dart";
  part "exceptions.dart";
  part "expando.dart";
  part "function.dart";
  part "identical.dart";
  part "int.dart";
  part "invocation.dart";
  part "iterable.dart";
  part "iterator.dart";
  part "list.dart";
  part "map.dart";
  part "null.dart";
  part "num.dart";
  part "object.dart";
  part "pattern.dart";
  part "print.dart";
  part "regexp.dart";
  part "set.dart";
  part "stacktrace.dart";
  part "stopwatch.dart";
  part "string.dart";
  part "string_buffer.dart";
  part "string_sink.dart";
  part "symbol.dart";
  part "type.dart";
  part "uri.dart";
  