Commit Graph

1846 Commits

Author SHA1 Message Date
Siva Annamalai af80eeef79 Fix the dartium status file to account for the mixin test failures.
BUG=

Review URL: https://codereview.chromium.org//1264773002 .
2015-07-29 15:47:54 -07:00
Siva Annamalai 112bfdf3c1 Fix dartium status file.
BUG=

Review URL: https://codereview.chromium.org//1258333003 .
2015-07-29 09:33:42 -07:00
Siva Annamalai d1ca481306 Fix status file for tests added to address issue 23244.
BUG=

Review URL: https://codereview.chromium.org//1260323002 .
2015-07-28 13:31:31 -07:00
Paul Berry 0e98c58190 Fix analyzer interpretation of 'ClassName?.staticMember'.
Previously, trying to access a static member of a class using '?.' was
not allowed.  But the spec was changed in
b11670f899 so that
'ClassName?.staticMember' is now equivalent to
'ClassName.staticMember'.

This CL updates analyzer to follow the spec, and updates the tests in
"tests/language" accordingly.  VM and dart2js still need fixing
(see #23794 and #23795).

Fixes #23464.

R=scheglov@google.com

Review URL: https://codereview.chromium.org//1255293005 .
2015-07-28 09:49:35 -07:00
Ryan Macnak ea65b867d3 Fix bad assert in constant evaluation.
R=regis@google.com

Review URL: https://codereview.chromium.org//1243263003 .
2015-07-22 14:25:04 -07:00
Regis Crelier 33aa038e7f Make vm buildbot green (2nd attempt, was red in debug mode only)
Review URL: https://codereview.chromium.org//1241263008 .
2015-07-22 13:54:19 -07:00
Regis Crelier 18b1f43afe Make vm buildbot green
Review URL: https://codereview.chromium.org//1241263007 .
2015-07-22 13:44:50 -07:00
Ryan Macnak 7815590e0e Mark new tests relying on flag as failing on Dartium.
TBR=regis@google.com

Review URL: https://codereview.chromium.org//1245493003 .
2015-07-17 17:14:26 -07:00
Matthias Hausner 84be183a32 Library prefixes used to be invisible. The newest spec treats them as objects, but it's a compile-time error to do most anything with them.
This change brings the VM in compliance with the current spec.

BUG=23612
R=iposva@google.com

Review URL: https://codereview.chromium.org//1201523002.
2015-06-22 13:01:29 -07:00
Srdjan Mitrovic 9270fc7f3d Fix status file
BUG=

Review URL: https://codereview.chromium.org//1197993002.
2015-06-20 00:10:54 -07:00
Srdjan Mitrovic b498492194 Fix bingint crash, disable a test
BUG=
R=regis@google.com

Review URL: https://codereview.chromium.org//1194963004.
2015-06-19 15:18:06 -07:00
Paul Berry a2a93750f6 Fix Dartium/drt buildbots for recent conditional operator and prefix tests.
TBR=hausner@google.com

Review URL: https://codereview.chromium.org//1191883003.
2015-06-18 16:13:59 -07:00
Matthias Hausner 0535e37619 Implement ?? ??= and ?. operators
BUG=23455
R=srdjan@google.com

Review URL: https://codereview.chromium.org//1180903002.
2015-06-18 11:05:16 -07:00
Paul Berry 9c90a66d0d Update analyzer to reflect new rules for prefixes.
As of commit 67b99e4b33, it is now
consistently a compile error for a prefix not to be followed by '.'.
(Previously, there were two exceptions in which a prefix not followed
by '.' was treated as though it was preceded by "this.")

This CL updates analyzer to be consistent with the new spec langauge,
and modifies the tests in tests/language accordingly.

Dart2js and the VM do not yet produce the correct compile-time error
in all circumstances.  See issues #23611 and #23612.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1186033004.
2015-06-18 10:03:07 -07:00
Paul Berry 76bbccf28f Add tests for e?.v++, e?.v--, ++e?.v, and --e?.v.
The tests for e?.v++ and e?.v-- validate the spec text added in
58708e3 (as clarified by 1ab7736).

The tests for ++e?.v and --e?.v weren't mandated by any spec change,
but since these expressions weren't previously tested, it seemed
reasonable to add tests for them.

All tests pass under the current implementation of "?." in analyzer
and dart2js.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1177043010.
2015-06-17 11:17:40 -07:00
Paul Berry 97ed10eba0 Exclude "drt" from expected failures due to issue #23612.
On the "dartium-full" buildbots we use the "drt" runtime, which has
the same behavior as the "dartium" runtime.  So we need to exclude
this runtime for the same reason as we had to exclude "dartium" in
commit 046123935a.

TBR=scheglov@google.com

Review URL: https://codereview.chromium.org//1171833005.
2015-06-09 18:58:12 -07:00
Paul Berry 046123935a Exclude Dartium from expected failures due to issue #23612.
These tests are marked as MissingCompileTimeError, and indeed Dartium
gives a runtime error rather than a compile-time error.  But the test
framework doesn't seem to be able to tell the difference, so it
incorrectly flags the test as passing.

TBR=scheglov@google.com
BUG=https://github.com/dart-lang/sdk/issues/23612

Review URL: https://codereview.chromium.org//1169813007.
2015-06-09 14:53:08 -07:00
Paul Berry fc83ce5ba9 Fix analyzer's handling of import prefixes not followed by '.'.
If 'p' is an import prefix, then 'p = ...' is treated as synonymous
with 'this.p = ...', and 'p()' is treated as synonymous with
'this.p()'.  In all other circumstances where 'p' is not followed by
'.', the spec calls for a compile time error.

Previous to this CL, 'p' not followed by '.' was being treated as
synonymous with 'this.p' under all circumstances.  This CL brings
analyzer in line with the spec, and updates the tests in
tests/language accordingly.

The VM and Dart2js currently fail to implement the compile-time error
properly.  See issues #23611 and #23612.

Fixes issue #23461.

R=scheglov@google.com

Review URL: https://codereview.chromium.org//1173523002.
2015-06-09 13:38:53 -07:00
Sigmund Cherem a8db3278e2 Implementation of null-aware operators.
This CL adds the implementation of all null-aware operators to dart2js. In
particular:

* a?.b: represented as 'isConditional' in the Send ast, and dispatched
  separately by the semantic visitor using visitIfNotNull* methods.

* a ?? b: represented as an operator, and dispatched separately by the semantic
  visitor using the `visitIfNull` method.

* a ??= b: represented as a compound operator.

All except 2 tests are passing with the SSA backend (those 2 tests fail for
unrelated reasons). I've marked the CPS ir tests as failing for now.

BUG=
R=johnniwinther@google.com, paulberry@google.com, sra@google.com

Review URL: https://codereview.chromium.org//1151163004
2015-05-22 15:44:41 -07:00
Asger Feldthaus 036f50d6aa Fix evaluation field initialization order for forwarding constructors.
Intestingly, the VM, dart2js/SSA and dart2js/CPS all fail the new test
in three different ways.

This CL fixed the SSA and CPS backends, and leaves a status line for
the VM.

When a constructor A redirects to B, it is B that should evaluate
declaration-site initializers (unless B also redirects).
Thus, this should happen after the arguments to B have been computed.

In SSA: Fields were initialized at A instead of B
(i.e. before redirect).

In CPS: Fields were initialized at both places, just horrible.

In VM: There seems to be a problem with redirecting constructors
called using super().

VM bug report: https://code.google.com/p/dart/issues/detail?id=23488

BUG=
R=floitsch@google.com

Review URL: https://codereview.chromium.org//1129693006
2015-05-20 10:05:53 +02:00
floitsch@google.com f4a1b28077 Move isolate tests to lib/isolate.
Moves most tests that require dart:isolate to the isolate-directory in the tests section.

Also enables the string_from_environment_default_value_test which didn't have "_test" in its name.

R=lrn@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45701 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-11 17:59:51 +00:00
sigurdm@google.com 0dd351d9eb Avoid using multitest.
This test did not work as a multitest, because the
deferred_redirecting_factory_lib1.dart imports the main file - it will not
find it after the splitting and renaming.

Luckily it is not strictly required for the test (though somewhat cleaner)
to have a multitest.

BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45643 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 12:09:41 +00:00
sigurdm@google.com 1ce5158350 Insert the right checks for redirecting factories to deferred constructors.
BUG=https://code.google.com/p/dart/issues/detail?id=23399
R=johnniwinther@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45637 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 09:18:00 +00:00
ricow@google.com e92f697236 Remove dart2dart support from testing scripts and status files
I will leave it to the dart2js people to remove the support from the dart2js tools (there is also a bunch of comments still in code, do a git grep)

R=kustermann@google.com, floitsch@google.com, kmillikin@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45588 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 11:29:55 +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
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
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
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
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 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
iposva@google.com 4c064caff6 - Remove empty section from status file.
Review URL: https://codereview.chromium.org//1047503002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44773 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-28 09:37:42 +00:00
brianwilkerson@google.com 8244428e5f Another attempt to fix the build
Review URL: https://codereview.chromium.org//1045463002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44769 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-28 00:04:00 +00:00
brianwilkerson@google.com 931af74488 (TBR) Another attempt to fix the build
Review URL: https://codereview.chromium.org//1039843003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44767 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-27 23:54:14 +00:00
brianwilkerson@google.com 3734765897 Attempt to fix the build
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44763 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-27 21:37:58 +00:00
hausner@google.com dc602ae96d Mark code when it instantiates an unloaded deferred type
The VM registers code objects that depend on deferred library prefixes,
e.g. when calling a function in the deferred library. We didn’t do this
when instantiating a type from the deferred library.

This is a fix for issue 22443.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44757 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-27 19:39:31 +00:00
brianwilkerson@google.com cf4d11e049 Add a test for trimming leading whitespace in multiline strings
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44755 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-27 19:28:15 +00:00
hausner@google.com 8c49660a7e Make await for cancel the stream when breaking out of the loop
Wrap the await-for loop in a try-finally statement that ensures that
the stream is cancelled. Also adding the ability to the
AsyncStartStreamController class to return a cancellation future.

The cancel() call at the end of the await-for loop is not awaiting
the cancellation future yet. This is not part of the spec at this
point.

R=regis@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44689 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-25 17:41:39 +00:00
sigurdm@google.com b5b61adba8 Fix cancel behaviour of async* in dart2js.
Errors thrown in finallies after a cancel would be added to the stream
(and thus suppressed) instead they now complete the future returned from
cancel.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44632 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-23 13:28:08 +00:00
hausner@google.com a7b1765187 Fix restoring of contexts in inlined finally code
When inlining code from a finally block before return or jump
instructions, do not restore the saved_try_context since the
inlined code is running in the context of the return or
jump instruction.

This is an old bug that surfaced in async code, since async code
deals with captured variables (contexts) much more than regular
code.

R=srdjan@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44465 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-13 15:53:03 +00:00
lrn@google.com 2e087f8405 Test can fail in more than one way.
Review URL: https://codereview.chromium.org//997113003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44403 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-11 15:08:06 +00:00
lrn@google.com 90da3af92b More status file updates for async tests.
Review URL: https://codereview.chromium.org//999633005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44398 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-11 11:50:19 +00:00