4f7c1d3d54
Before: constant-valued expressions were usually compiled by the JS constant compiler task, which surprisingly produces a Dart (not JS) constant. After: use the already computed constant value of a constant-valued expression. This is looked up in one of two ways depending on whether the expression is an identifier or not. For primitive constants (Booleans, doubles, integers, strings, and null) simply construct them as they have not had a value computed. Also, fix a variety of small bugs. In some case the fix is disabling an incorrect code path and bailing out of the compiler. BUG= R=johnniwinther@google.com Review URL: https://codereview.chromium.org//1057483004 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45335 260f80e4-7a28-3924-810f-c04153c831b5