Commit Graph

5559 Commits

Author SHA1 Message Date
karlklose@google.com dd7d140bc3 Adjust test expectations for dart2js-cps-ir.
R=johnniwinther@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45457 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-30 09:48:09 +00:00
kmillikin@google.com f44f9c78ac Support rethrow in the dart2js JS backend.
The approach is simple: translate rethrow to a throw of the enclosing
catch block's JS exception.  There is already an assert that the JS
backend does not see rethrow at code generation time.

R=karlklose@google.com, floitsch@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45397 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-24 11:23:09 +00:00
asiva@google.com 49d1dc7252 Address issue 13719, cleanup the status file to reflect reality.
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45383 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-23 20:42:28 +00:00
regis@google.com f40270798e Add reference to existing issue in status file.
This test has to be skipped on dartium because the VMOptions line is ignored.

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45366 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 20:58:52 +00:00
johnniwinther@google.com 19c838f3eb Fix dart2dart new backend status.
BUG=
R=karlklose@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45346 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 13:20:48 +00:00
kmillikin@google.com 4f7c1d3d54 Clean up handling of constants in the CPS backend.
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
2015-04-22 10:59:03 +00:00
karlklose@google.com 9e154bc62a Allow access to type variables as expressions in factory constructors.
BUG= http://dartbug.com/22700
R=johnniwinther@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45328 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-22 09:11:14 +00:00
hausner@google.com 21ca62f8bc Properly resolve top-level setters
Fixes issue 4386.

When converting a getter to a setter (converting a right-hand
side expression to a left-hand side, assignable entity),
we need to know where to look for the setter function.
Top-level setters need to be resolved in the library or prefix
scope in which the getter was found.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45316 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-21 17:36:34 +00:00
regis@google.com 2b3abd61d8 Make build green by skipping debug break test on Dartium and friends (will
investigate later).

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45308 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-21 01:42:52 +00:00
regis@google.com 240c208462 Add a separate test verifying that the optimizer does not trip over debug break.
R=iposva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45300 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-20 23:19:58 +00:00
vegorov@google.com 7db7425826 Reland r45243.
Type and constant propagator should guard against mutable class ids.

Constant strings can be externalized so we can't fold away class checks against
them.

Prevent CP from removing redefinitions of constants with mutable cids.

BUG=
R=fschneider@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45275 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-20 10:42:54 +00:00
regis@google.com c983ebf506 Fix bigint division (issue 23238).
Add regression test.

R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45253 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 20:30:29 +00:00
karlklose@google.com 7dd2608820 Adjust test expectations for dart2js-cps-ir.
R=kmillikin@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45236 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 11:45:51 +00:00
kmillikin@google.com 00e4ba52ea CPS implementation of throw and rethrow.
Throw and rethrow are implemented as CPS expressions in tail position.

The CPS translation assumes that all expressions translate to a primitive
that is the value of the expression, and throw is an expression in Dart.
For simplicity of the translation, a non-tail throw Primitive is sometimes
used as a placeholder during the translation and removed immediately
afterward.

Both throw and rethrow are represented in the Tree IR.  In the Dart backend,
throw translates to throw and rethrow translates to rethrow.  In the JS
backend, throw translates to JS throw of a wrapped value.  Rethrow is not
currently implemented for the JS backend, it bails out of the compiler.

R=asgerf@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45235 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 11:15:45 +00:00
regis@google.com 9a2468736a Add support for debug break in Dart source.
The new flag --enable-debug-break turns the otherwise illegal Dart statement
  break "message";
into a break instruction preceded with a debug message, the equivalent of
emitting an Assembler::Stop("message").
Add a language test expecting a syntax error without the flag.
Change expected break instruction in arm64 simulator.
Remove constants related to now deleted simulator tracing on mips and arm64.

R=johnmccutchan@google.com, srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45218 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-16 19:32:48 +00:00
zra@google.com 86bfd7cb30 Adds a simarmv5te build and test target.
Also:
- Removes command line flags to choose simulated arm version.
  I think we should use build targets instead, like in this change,
  to make building and testing more obvious.
- Skips pkg tests on all simulators.

R=regis@google.com, ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45181 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 20:44:43 +00:00
paulberry@google.com 2da94d7abb Update analyzer status files after r45169.
TBR=johnmccutchan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45174 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 17:17:46 +00:00
johnmccutchan@google.com 6f40403682 Remove embedder-package scheme
- Soon mojo embedder private packages will be imported with a 'dart:_' prefixes.
- Add an explicit test of transitive private library access. This ensures that imports of 'dart:embedder_private_packages' cannot access anything imported within it.

R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45169 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 15:49:50 +00:00
paulberry@google.com 0457770df5 Don't permit annotations inside variable declarations.
This addresses the root cause of dartbug.com/23176.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45165 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 13:28:38 +00:00
karlklose@google.com d839c64766 Establish test expectations for dart2js running with the CPS based backend.
R=ricow@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45162 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 11:44:02 +00:00
sigurdm@google.com 507e85ab61 Dart2js deferred loading. Follow types of functions when calculating dependencies.
This fixes part of dartbug.com/22995

Turns out that synthesized constructors not always have a type.

BUG=
R=johnniwinther@google.com

Committed: https://code.google.com/p/dart/source/detail?r=45086

Reverted in r45086

Committed: https://code.google.com/p/dart/source/detail?r=45101

Reverted in 45106

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45159 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-15 10:55:39 +00:00
brianwilkerson@google.com ba5b3ccde4 Fix resolution of stack trace parameters
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45140 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-14 15:01:45 +00:00
lrn@google.com 68dd6f6338 Add StackTrace.fromString constructor.
Remove _RemoteStackTrace from dart:isolate and use the new version instead.

R=sgjesse@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45088 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-13 09:17:13 +00:00
floitsch@google.com 80155170ce dart2js: Fix csp minified.
For the most part this only required status file or test updates.
There was, however, a bug in the code that extracted the class-name from its constructor.

R=sra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45084 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-13 07:49:54 +00:00
johnniwinther@google.com ff09647008 Reinsert status line for dart2dart != new_backend
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45067 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-10 14:27:00 +00:00
johnniwinther@google.com 16bfae7b27 Handle setter without getter for compounds in SemanticSendVisitor
+ fix status of dart2dart new_backend.

BUG=
R=asgerf@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45065 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-10 14:00:15 +00:00
zarah@google.com a604c0d3ed dart2js: create a 'types' table for each deferred unit.
This fixes part of dartbug.com/22995.

R=sigurdm@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45061 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-10 11:21:10 +00:00
sigurdm@google.com 3a44fa3e07 Dart2js async* functions only resume execution of the body when suspended on yield.
Before they would also resume if suspended on await, leading to resuming
on unfinished futures.

BUG= dartbug.com/23129
R=floitsch@google.com, lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45056 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-10 08:58:32 +00:00
regis@google.com 8a0194b846 Fix mint shifting by zero on MIPS (issue 23117).
Add regression test.
Restore formatting space dropped by mistake in simulator tracing output.

R=zra@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45042 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 22:50:25 +00:00
johnniwinther@google.com 6f80d7d817 Update expectancy for deferred test on d8/windows.
BUG=
R=sigurdm@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44992 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 07:50:56 +00:00
johnniwinther@google.com 796c130cdc Extract CallStructure from Selector.
This should be used for static invocation so that Selector is only for dynamic invocations.

BUG=
R=floitsch@google.com

Committed: https://code.google.com/p/dart/source/detail?r=44960

Reverted: https://code.google.com/p/dart/source/detail?r=44961

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44991 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-09 07:44:17 +00:00
paulberry@google.com fba59e4d12 Fix static warning in language/catch_liveness_test.
TBR=asgerf@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44974 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-08 16:44:37 +00:00
paulberry@google.com 51a244d159 Update dart2js status file after r44965.
TBR=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44970 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-08 14:37:17 +00:00
paulberry@google.com e0ee1cb68f Rework type assignability, subtype, and "more specific than" checking.
The key change in this CL is to change the technique for avoiding
infinite recursion in the presence of illegal code.  Rather than track
type pairs, we track (a) the function typedef elements that have been
expanded while examining the LHS and RHS, and (b) the class and type
parameter elements that have been visited while exploring the class
hierarchy.  If a function typedef is encountered while expanding
itself, or a class or type parameter element is encountered while
searching its own class hierarchy, then it is skipped.  Since both
class hierarchy loops and self-referential function typedefs are
prohibited by the spec, this ensures that the checks to avoid
recursion will only trigger in the presence of compile errors, so
analyzer will produce correct warnings in the absence of compile
errors.

As a consequence of the new technique, bugs 21912 and 22976 are fixed.

In addition, there are a few other improvements:

- Optional arguments are used to keep track of elements already
  visited, so it's not necessary to have separate functions
  isAssignableTo2, isSubtypeOf2, and isMoreSpecificThan2, nor do we
  need "internal" versions of those functions.

- InterfaceTypeImpl no longer needs a special implementation of
  isSubtypeOf.  It's now implemented in the same way it's defined (in
  terms of isMoreSpecificThan).

- Some flaws were discovered in the co19 tests.  I've filed a co19 bug
  for these, and updated the co19-analyzer2 status file.

R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44965 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-08 13:00:57 +00:00
asgerf@google.com c1a29cfc2f cps-ir: Merge variables based on set-based liveness and graph coloring.
RegisterAllocator and CopyPropagator have been removed.

Variables are merged after StatementRewriter.

This simplifies CPS->Tree translation is a little bit since the mapping
to variables is one-to-one.

The StatementRewriter has a more SSA-like input, but has to be more
aggressive when looking for a redex. It now looks through a chain of
phi-assignments to check if two statements can be combined, whereas
before it would only combine two identical jumps.

I haven't been able to measure a significant slowdown, though I'm sure
it is at least a little bit slower.

R=kmillikin@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44962 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-08 10:59:22 +00:00
johnniwinther@google.com 1098ce385c Handle unexpected tokens in modifier lists.
BUG=http://dartbug.com/23051
R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44958 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-08 08:11:12 +00:00
regis@google.com 11fb39533c Make sure declared upper bounds are resolved when finalizing a type containing a
cycle via bounds (issue 23089).
Add regression test.

R=asiva@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44956 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-08 00:59:52 +00:00
sigurdm@google.com f328d3f997 Fix bug in dart2js async rewrite
In some cases where a transform of yield and await was not needed, the old nodes were reused - instead they should have been visited to
allow renaming and rewrite of `this`.

BUG= dartbug.com/23058
R=floitsch@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44933 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-07 12:06:46 +00:00
paulberry@google.com 9efc540b0e Fix tests broken by r44880.
Revision 44880 added an assertion to accompany the internal error
message emitted if Parser._computeStringValue computes nonsensical
string start and end positions, so that those internal errors would be
noticed by the buildbots.  It fixed most of the circumstances in which
the internal error might occur, but it missed a few: if the analyzer
encounters an unterminated string at the end of a line, or an
unterminated multiline string at the end of a file, or a string ending
with an invalid interpolation expression (e.g. "${var x}" or
"$class"), then a token might be generated which the parser thinks is
a complete string, but which consists solely of 1, 3, 4, or 5
consecutive quotes (and thus is an unterminated string), causing
Parser._computeStringValue to get confused and fire the assertion.

This CL addresses those problems by modifying
Parser._computeStringValue to handle those ill-formed tokens.

In a future CL I plan to modify the parser so that invalid
interpolation expressions like "${var x}" and "$class" are recovered
from more gracefully.  But that is a low priority fix, since this CL
is sufficent to prevent the assertion from firing.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44914 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-06 16:22:54 +00:00
paulberry@google.com 635c6a11ec Implement the new '?.' operator in analyzer.
As in r44802, the new operator is only accepted by the tokenizer if
the command-line option "--enable-null-aware-operators" is supplied.
Only static analysis of '?.' is implemented; however, the tests in
tests/language will verify behavior once it is implemented.

R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44907 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-05 20:59:05 +00:00
paulberry@google.com 9e1055502f Update status files to reflect bug 23100.
These status file updates reflect breakages I introduced in r44880.

BUG=dartbug.com/23100
TBR=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44904 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-04 01:03:17 +00:00
paulberry@google.com a1974d61c6 Fix interpretation of string contents after interpolation expressions.
Previously, the logic for skipping the opening quote(s) (and optional
'r') of a string were erroneously being invoked after string
interpolations.  As a result, a string like '${x}"y' was being
interpreted as '${x}y'.  Usually, this had no visible user effect,
because analyzer's interpretation of strings is currently only used
for constant evaluation, and string interpolation is rare in constant
expressions.  However, it was triggering an internal error in the case
where the interpolation is at the end of a multiline string, since it
caused analyzer to compute that the number of characters following the
interpolation was negative.

In addition to fixing the bug, I've modified the logic for logging the
internal error so that it also asserts; this allows the error to be
detected by unit tests.  I've also fixed an off-by-one error in the
internal error logic which had prevented the bug from being noticed on
single-line strings.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44880 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-03 15:52:10 +00:00
paulberry@google.com 0e488419b6 Implement the new '??=' operator in analyzer.
As in r44802, the new operator is only accepted by the tokenizer if
the command-line option "--enable-null-aware-operators" is supplied.
Only static analysis of '??=' is implemented; however, the tests in
tests/language will verify behavior once it is implemented.

R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44873 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-02 20:37:09 +00:00
zra@google.com 34044a4ca8 Adds armv5 build and test target.
R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44828 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-31 23:11:33 +00:00
paulberry@google.com 6f3d94a716 Simpler VM status file fix for if_null tests.
This should fix some additional buildbots
(e.g. dartium-lucid32-full-be) that were missed by r44803.

TBR=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44807 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-31 16:25:32 +00:00
paulberry@google.com 38af779b59 Fix Dartium test breakage after r44802.
Compile-time errors apparently manifest in the Dartium tests as
runtime errors, so the new "if_null" tests need to be marked as
RuntimeError for Dartium.

TBR=hausner@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44803 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-31 14:13:18 +00:00
paulberry@google.com 53e52f0a31 Implement the new '??' operator in analyzer.
The new operator is only accepted by the tokenizer if the command-line
option "--enable-null-aware-operators" is supplied.

Only static analysis of '??' is implemented.  However, the tests in
tests/language/if_null_*_test.dart will also verify behavior once it
is implemented.

R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44802 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-31 12:38:12 +00:00
paulberry@google.com ad0cce176a Avoid infinite loop if const constructor redirects don't reach a fixed point.
BUG=dartbug.com/23038
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44789 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-30 21:00:36 +00:00
hausner@google.com 411a26e37e Evaluate parameters of static calls that throw NSM
The spec mandates that parameters of calls get evaluated
even if the function can’t be resolved and the call results
in a noSuchMethod being thrown.

Fixes issue 17382.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44784 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-30 19:31:20 +00:00
paulberry@google.com 5677e52ad6 Generate warnings for assignment to a type.
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44774 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-30 00:08:17 +00:00