Fix analyzer's treatment of mixin constructors.

This changes analyzer to match the spec (and the VM behavior) with
regard to which base class constructors are forwarded through mixin
applications: only those constructors that take zero optional
parameters are forwarded.  In addition, the tests in tests/language/
are updated to match analyzer and the VM.

There is one small difference between analyzer and the VM behavior:
the spec says that if no constructors are forwarded at all, then the
mixin application will automatically acquire an implicit default
constructor.  The VM behavior is to issue an error in this
circumstance.  After consulting with Gilad, it seems like the VM
behavior is more consistent with the intent, so I've chosen to make
analyzer and the tests match the VM behavior, in the hopes that the
spec can be changed accordingly.

Should we change our minds in the future and decide that we want to
keep the spec as is, the tests and analyzer behavior can easily be
changed.

BUG=dartbug.com/19576
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//707073002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@41645 260f80e4-7a28-3924-810f-c04153c831b5
Fix hurt recovery

R=paulberry@google.com

Review URL: https://codereview.chromium.org//713953002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@41646 260f80e4-7a28-3924-810f-c04153c831b5
orrect cut/paste error that replicated an item in the list of constants and (worse) deleted another.

Review URL: https://codereview.chromium.org//715653003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@41647 260f80e4-7a28-3924-810f-c04153c831b5
Fix incorrect syntax in constant evaluation test.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//711963002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@41648 260f80e4-7a28-3924-810f-c04153c831b5
Rewrite the pkg/yaml parser.

This increases the speed by about 10x. It also adds a number of new featurse.

BUG=21317, 20859
R=rnystrom@google.com

Review URL: https://codereview.chromium.org//689513002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@41649 260f80e4-7a28-3924-810f-c04153c831b5
Report HintCode.UNUSED_ELEMENT for classes.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//704413005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@41650 260f80e4-7a28-3924-810f-c04153c831b5
Issue 21552. Fixes for navigation, hover and rename in instance creation expressions.

R=brianwilkerson@google.com, paulberry@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=21552

Review URL: https://codereview.chromium.org//717513003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@41651 260f80e4-7a28-3924-810f-c04153c831b5
Add parser recovery tests. These correspond to some cases that dart2js is currently handling that I wanted to make sure we also handled.

R=paulberry@google.com

Review URL: https://codereview.chromium.org//703773004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@41652 260f80e4-7a28-3924-810f-c04153c831b5
Add some ArgumentError and RangeError constructors that capture more information.

Switch some uses of RangeError.range to RangeError.index.
Fix bug in Queue where elementAt allowed `length` as input.

R=sgjesse@google.com

Review URL: https://codereview.chromium.org//711003002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@41653 260f80e4-7a28-3924-810f-c04153c831b5
Support enums in dart2js.

- still missing warnings/errors.

BUG=https://code.google.com/p/dart/issues/detail?id=21417
R=floitsch@google.com

Review URL: https://codereview.chromium.org//707463003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@41654 260f80e4-7a28-3924-810f-c04153c831b5
Fix try/poi/serialize_test after adding class to dart:core.

Review URL: https://codereview.chromium.org//711303002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@41655 260f80e4-7a28-3924-810f-c04153c831b5
Change Expect.stringEquals to give more information about the difference, so it's possible to find it in a long string.

R=ricow@google.com

Review URL: https://codereview.chromium.org//710283002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@41656 260f80e4-7a28-3924-810f-c04153c831b5
dart2js: Don't emit additional precompiled file.

R=johnniwinther@google.com

Review URL: https://codereview.chromium.org//700123002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@41657 260f80e4-7a28-3924-810f-c04153c831b5
Working insertion of hash values; added a few labels in spec

Hash values are now computed for each "paragraph" starting with \LMHash
(which includes subsequent grammar, dartCode, itemize blocks, but stops
at \section-like commands).  Now addlatexhash.dart expects three arguments
(first the source latex file, then the destination simplified and
hash-value-annotated latex source file, and finally a file name used to
create the list of hash values emitted).  Adjusted testing accordingly.
Added a test for robustness of the hash value generation: It is checked
that lots of different "unimportant" changes make no difference for the
generated hash values (e.g., we can add/remove comments, change white
space, add \commentary{..} etc. without changing the hash values).

In order to ensure that all "structure" commands in the spec have a label,
I added an \LMLabel{..} a handful of places, following the style which is
used throughout the spec.

In dart.sty, the \renewcommand that made \LMHash{} produce a fixed
hash value has been removed such that the actual hash values are now
inserted into the generated spec PDF/DVI file.  Tests have been adjusted
to handle this difference between the spec with and without hash values
when comparing the two.

R=gbracha@google.com, lrn@google.com, ricow@google.com

Review URL: https://codereview.chromium.org//652993005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@41658 260f80e4-7a28-3924-810f-c04153c831b5
Revert "dart2js: Don't emit additional precompiled file."

This reverts commit r41657.

Review URL: https://codereview.chromium.org//689633007

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@41659 260f80e4-7a28-3924-810f-c04153c831b5
Arguments swapped in IndexError constructor.

Amazingly only caught by dart2js.

R=floitsch@google.com

Review URL: https://codereview.chromium.org//713243002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@41660 260f80e4-7a28-3924-810f-c04153c831b5
There are NativeTypedData classes that aren't lists and have no "length".

Review URL: https://codereview.chromium.org//714873002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@41661 260f80e4-7a28-3924-810f-c04153c831b5
Revert "Working insertion of hash values; added a few labels in spec"

This reverts commit r41658.

Review URL: https://codereview.chromium.org//714883002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@41662 260f80e4-7a28-3924-810f-c04153c831b5
Add compile-time errors for enums.

BUG=
R=floitsch@google.com

Review URL: https://codereview.chromium.org//709603003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@41663 260f80e4-7a28-3924-810f-c04153c831b5