Add regression test for http://dartbug.com/21220.

BUG=http://dartbug.com/21220
R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@41599 260f80e4-7a28-3924-810f-c04153c831b5
Support local functions in analyzer2dart.

BUG=
R=paulberry@google.com, sigurdm@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@41600 260f80e4-7a28-3924-810f-c04153c831b5
dart2js: Accept named holes in js-templates.

R=sigurdm@google.com, sra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@41601 260f80e4-7a28-3924-810f-c04153c831b5
Simplify type propagation and IL declarations of TemplateInstruction.

Replace ComputeInitialType. It is not needed anymore.

AssertAssignable now properly uses the cid of the incoming value-type
in its compile-type.

ArgumentCount is has now a default implementation that returns 0 to avoid
defining it on all subclasses of TemplateInstruction (TemplateDefinition already
had it defined)

R=vegorov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge@41602 260f80e4-7a28-3924-810f-c04153c831b5
Revert "Revert "dart2js: Add a type parameter to class Reference....""

This reapplies svn commit r41564, with fixes to the dart2js intermediate
representation (IR) tests.  The tests explicitly construct IR expressions
and so need to be updated.  Some of the tests are currently invalid
expressions, which have been removed.

BUG=
R=sigurdm@google.com

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

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