Commit Graph

5559 Commits

Author SHA1 Message Date
Sigmund Cherem 6d0fedd59b Fix status again: meant to only include dartk, misread the context earlier :(
TBR=ahe@google.com

Review-Url: https://codereview.chromium.org/2913353002 .
2017-05-31 16:40:14 -07:00
Sigmund Cherem 04ee5b7109 Update status of language test
This was passing before because we disallowed native everywhere. The test should
pass again when we fix: https://github.com/dart-lang/sdk/issues/29763

TBR=ahe@google.com

Review-Url: https://codereview.chromium.org/2917823002 .
2017-05-31 16:28:09 -07:00
Peter von der Ahé c0bf4eddbe Various checks for constant expressions.
Fixes https://github.com/dart-lang/sdk/issues/29379

R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2911023002 .
2017-05-31 15:57:03 +02:00
Johnni Winther c4cd1add5c Update dartj2s-with-kernel status
Review-Url: https://codereview.chromium.org/2913163002 .
2017-05-31 14:55:58 +02:00
Peter von der Ahé 8ea78cbc3f Avoid using Invalid{Statement,Expression,Initializer}.
R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2906253004 .
2017-05-31 14:53:44 +02:00
Régis Crelier f0faae52bf Fix VM to accept literal function type as type bound (fixes #29481).
Add regression test.
Mark status files for failing dart2js and analyzer (filed new issues).

R=asiva@google.com

Review-Url: https://codereview.chromium.org/2916453003 .
2017-05-30 17:26:35 -07:00
Régis Crelier b7ebbf8c77 Allow a function named 'get' to be generic (fixes #29746).
Add regression test.
Mark status files for failing dartk, dart2js, and analyzer.

R=asiva@google.com

Review-Url: https://codereview.chromium.org/2911333002 .
2017-05-30 15:31:04 -07:00
Peter von der Ahé 0eae9218f4 Complain about duplicated names.
R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2902113005 .
2017-05-29 09:45:05 +02:00
Sigmund Cherem dd70d8b655 Remove factory body in *.fromEnvironment, and implement this same behavior
directly inside dart2js.

A few notes:
  * I ended up adding support for this feature also in dart2js with --use-kernel, it was not implemented correctly before. This is why more tests are passing.

  * I played with two other ideas:
    (a) making this a compile-time error instead
    (b) making it a warning if the arguments were constant and implement it as a constant, treat it as an error if they were not.

Unfortunately both are a breaking changes, so I backed out from them. IMO (a) is the cleanest thing to do long term, and we should raise this with the language team.

R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2896393003 .
2017-05-26 14:49:19 -07:00
Ryan Macnak bcf2900a26 Reapply "Shuffle around deopt id allocation to give the flow graph builder a chance to record other data as they are allocated".
- Fix inlining of new List(n) to propogate deopt id.
 - Fix CreateArrayOpt to check for a Smi length.

R=vegorov@google.com

Review-Url: https://codereview.chromium.org/2900963008 .
2017-05-25 10:12:22 -07:00
Paul Berry 11fbbea7a7 Create language test that exercises bug #29709.
R=ahe@google.com, scheglov@google.com

Review-Url: https://codereview.chromium.org/2903033002 .
2017-05-24 11:20:07 -07:00
Florian Loitsch 46a6fab347 Reformat generated tests files.
Review-Url: https://codereview.chromium.org/2904563005 .
2017-05-24 16:29:32 +02:00
William Hesse 2a0dd9d43c Update status for passing analyzer test.
This test started passing with
1cfb242321
https://codereview.chromium.org/2901853002

Also removed comments in status file, and placed issue number comments
on the test status lines.

BUG=dartbug.com/14879
R=ahe@google.com

Review-Url: https://codereview.chromium.org/2902943003 .
2017-05-24 13:52:41 +02:00
Peter von der Ahé 7065a8dfd4 Update kernel status file.
Review-Url: https://codereview.chromium.org/2898173003 .
2017-05-24 13:42:05 +02:00
Peter von der Ahé 1cfb242321 Improve various old tests.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2901853002 .
2017-05-24 11:46:08 +02:00
Erik Ernst 8aef60a78f Included setters in testing of the void => return-any-type feature.
The older issue https://github.com/dart-lang/sdk/issues/28939 did not
mention setters. They were already covered in the implementation, so
this CL just adds testing for it.

Addresses issue https://github.com/dart-lang/sdk/issues/29680.

R=floitsch@google.com, johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2899683003 .
2017-05-24 09:36:48 +02:00
Stephen Adams 1a965036b5 Lookup const constructor invocation like other constants
We should really be building the constants from kernel ir.

BUG=
R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2896983002 .
2017-05-23 13:52:23 -07:00
Stephen Adams a1263c27c0 dart2js kernel status update - 2 more tests pass
TBR=efortuna@google.com

BUG=

Review-Url: https://codereview.chromium.org/2896103004 .
2017-05-22 18:06:18 -07:00
Peter von der Ahé 8f17ae7709 Update status and expectations.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2900753002 .
2017-05-22 15:22:38 +02:00
Peter von der Ahé fb8c445e92 Update status files.
Review-Url: https://codereview.chromium.org/2897483004 .
2017-05-19 13:40:46 +02:00
Peter von der Ahé 547b2cdcce Implement generalized function types.
Fixes https://github.com/dart-lang/sdk/issues/6972

Fixes https://github.com/dart-lang/sdk/issues/26581

R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2876813002 .
2017-05-19 11:03:24 +02:00
Bob Nystrom 92267afc66 Refactor and clean up the status file parsing code. - Make the parser less error tolerant. The expression parser used to ignore any unrecognized tokens, which means a status like "RuntimeError CompileError" (not the missing comma) was parsed as simply "RuntimeError", which seems bad. Now it reports an error. Fixed a couple of status files that thought they were setting statuses that they weren't (!).
- Separate out parsing a status file from applying the environment to
  determine which sections are active. This makes it possible to, for
  example, generate expectation sets for multiple environments without
  having to reparse each time.

- Simplify expression parsing. Remove set expressions since they weren't
  used for anything useful. A test's expectations are a simple
  comma-separated list and don't need anything beyond that. Merge
  Scanner and Tokenizer since the latter was a glorified function.

- Make more names private so that it's clearer what's used outside of
  various libraries.

- Generally modernize the style.

- Add *lots* of documentation.

Again, there should be no behavioral changes. I ran:

  ./tools/test.py -m release,debug -c none,dart2js,dart2analyzer -r none,vm,d8 corelib

Before and after the change and verified that the output was the same
(aside from timing).

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2891753003 .
2017-05-18 12:42:52 -07:00
Bob Nystrom c269ef53a5 Revert "Re-apply status file parser changes from 0b7728da1bef08c1c1e092005d9fd8c8bff5fa6c."
This reverts commit a881aed354.

TBR.

R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2888213002 .
2017-05-17 13:45:40 -07:00
Bob Nystrom a881aed354 Re-apply status file parser changes from 0b7728da1b.
R=whesse@google.com

Review-Url: https://codereview.chromium.org/2880203004 .
2017-05-17 13:04:35 -07:00
Bob Nystrom 01e5b1b40c Revert "Refactor and clean up the status file parsing code."
This reverts commit 0b7728da1b.

R=nbosch@google.com

Review-Url: https://codereview.chromium.org/2885623002 .
2017-05-15 15:58:05 -07:00
Bob Nystrom 0b7728da1b Refactor and clean up the status file parsing code.
- Make the parser less error tolerant. The expression parser used to
  ignore any unrecognized tokens, which means a status like
  "RuntimeError CompileError" (not the missing comma) was parsed as
  simply "RuntimeError", which seems bad. Now it reports an error.
  Fixed a couple of status files that thought they were setting statuses
  that they weren't (!).

- Separate out parsing a status file from applying the environment to
  determine which sections are active. This makes it possible to, for
  example, generate expectation sets for multiple environments without
  having to reparse each time.

- Simplify expression parsing. Remove set expressions since they weren't
  used for anything useful. A test's expectations are a simple
  comma-separated list and don't need anything beyond that. Merge
  Scanner and Tokenizer since the latter was a glorified function.

- Make more names private so that it's clearer what's used outside of
  various libraries.

- Generally modernize the style.

- Add *lots* of documentation.

Again, there should be no behavioral changes. I ran:

  ./tools/test.py -m release,debug -c none,dart2js,dart2analyzer -r none,vm,d8 corelib

Before and after the change and verified that the output was the same
(aside from timing).

BUG=
R=whesse@google.com

Review-Url: https://codereview.chromium.org/2875203005 .
2017-05-15 15:42:15 -07:00
Paul Berry bd15c223de Implement function-typed formal parameters in OutlineBuilder.
R=ahe@google.com

Review-Url: https://codereview.chromium.org/2884483002 .
2017-05-15 06:28:51 -07:00
Erik Ernst 6cb0966401 Allowing e of any type in void f(...) => e in the analyzer.
Re-land, now including adjustment of two tests in pkg/analyzer/test.

R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2870363003 .
2017-05-11 10:10:03 +02:00
Terry Lucas f27144d7b5 Roll 50: Updated for push to origin/master.
TBR=jacobr@google.com

Review-Url: https://codereview.chromium.org/2875773003 .
2017-05-10 18:16:51 -07:00
Erik Ernst 7adb470835 Revert "Allowing e of any type in void f(...) => e in the analyzer."
This reverts commit 025b83fb89.

Review-Url: https://codereview.chromium.org/2871163002 .
2017-05-10 12:54:24 +02:00
Erik Ernst 025b83fb89 Allowing e of any type in void f(...) => e in the analyzer.
Addresses https://github.com/dart-lang/sdk/issues/28940.

R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2870063002 .
2017-05-10 11:36:43 +02:00
Johnni Winther 2c1b33aee7 Update status for mixin test
Review-Url: https://codereview.chromium.org/2871883002 .
2017-05-09 10:46:48 +02:00
Peter von der Ahé 4880a2876e Rewrite mixin application handling in Fasta.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2862223002 .
2017-05-09 09:22:57 +02:00
Johnni Winther db289eed9e Update status for multiline tests.
Review-Url: https://codereview.chromium.org/2869743002 .
2017-05-08 13:37:27 +02:00
Peter von der Ahé 0dba8c9516 Update handling of multiline strings to specification.
R=johnniwinther@google.com, lrn@google.com

Review-Url: https://codereview.chromium.org/2847793002 .
2017-05-08 12:20:02 +02:00
Florian Loitsch 8e01f69305 Void is not required to be null anymore.
In checked mode, `void` now accepts any value.

Fixes #28937.
Fixes #28938.

BUG= http://dartbug.com/28937
BUG= http://dartbug.com/28938
R=johnniwinther@google.com, kmillikin@google.com, lrn@google.com, regis@google.com

Committed: https://github.com/dart-lang/sdk/commit/521dc6620fd2c4591aa975745c14b304428f17eb
Reverted: https://github.com/dart-lang/sdk/commit/a3c0cb65af4bbbdde756208dcccdcdf896902b5b
Committed: https://github.com/dart-lang/sdk/commit/4e52c457a9ac412b6b0a3a350020998c7e2f7d9a
Reverted: https://github.com/dart-lang/sdk/commit/4b35d3995b2b273728751c19976ece0edca0eddc
Committed: https://github.com/dart-lang/sdk/commit/6caf9ef4439e20ea726d8a5383ed34d42b02c84b
Reverted: https://github.com/dart-lang/sdk/commit/30d9bf2ed3225f04c52d999a1a5c61e63a90578d
Review-Url: https://codereview.chromium.org/2718513002 .
2017-05-08 11:31:37 +02:00
Jens Johansen 30d9bf2ed3 Revert "Void is not required to be null anymore."
This reverts commit 6caf9ef443.

Commit breaks vm-kernel-linux-debug-x64-be.

Triggers asserts like
../../runtime/vm/flow_graph_compiler_x64.cc: 658: error: expected: dst_type.IsMalformedOrMalbounded() || (!dst_type.IsDynamicType() && !dst_type.IsObjectType() && !dst_type.IsVoidType())

Quick-check with python tools/test.py -cdartk -t120 --builder-tag no_ipv6 --vm-options --no-enable-malloc-hooks isolate

BUG=

Review-Url: https://codereview.chromium.org/2865603003 .
2017-05-05 08:56:26 +02:00
Florian Loitsch 6caf9ef443 Void is not required to be null anymore.
In checked mode, `void` now accepts any value.

Fixes #28937.
Fixes #28938.

BUG= http://dartbug.com/28937
BUG= http://dartbug.com/28938
R=johnniwinther@google.com, lrn@google.com, regis@google.com

Committed: https://github.com/dart-lang/sdk/commit/521dc6620fd2c4591aa975745c14b304428f17eb
Reverted: https://github.com/dart-lang/sdk/commit/a3c0cb65af4bbbdde756208dcccdcdf896902b5b
Committed: https://github.com/dart-lang/sdk/commit/4e52c457a9ac412b6b0a3a350020998c7e2f7d9a
Reverted: https://github.com/dart-lang/sdk/commit/4b35d3995b2b273728751c19976ece0edca0eddc
Review-Url: https://codereview.chromium.org/2718513002 .
2017-05-04 16:27:52 +02:00
Florian Loitsch 4b35d3995b Revert "Void is not required to be null anymore."
This reverts commit 4e52c457a9.

BUG=

Review-Url: https://codereview.chromium.org/2863463002 .
2017-05-03 19:22:22 +02:00
Florian Loitsch 4e52c457a9 Void is not required to be null anymore.
In checked mode, `void` now accepts any value.

Fixes #28937.
Fixes #28938.

BUG= http://dartbug.com/28937
BUG= http://dartbug.com/28938
R=johnniwinther@google.com, lrn@google.com, regis@google.com

Committed: https://github.com/dart-lang/sdk/commit/521dc6620fd2c4591aa975745c14b304428f17eb
Reverted: https://github.com/dart-lang/sdk/commit/a3c0cb65af4bbbdde756208dcccdcdf896902b5b
Review-Url: https://codereview.chromium.org/2718513002 .
2017-05-03 17:43:23 +02:00
Florian Loitsch a3c0cb65af Revert "Void is not required to be null anymore."
This reverts commit 521dc6620f.

BUG=

Review-Url: https://codereview.chromium.org/2855173002 .
2017-05-03 17:36:39 +02:00
Florian Loitsch 521dc6620f Void is not required to be null anymore.
In checked mode, `void` now accepts any value.

Fixes #28937.
Fixes #28938.

BUG= http://dartbug.com/28937
BUG= http://dartbug.com/28938
R=johnniwinther@google.com, lrn@google.com, regis@google.com

Review-Url: https://codereview.chromium.org/2718513002 .
2017-05-03 17:31:21 +02:00
Erik Corry aa6353b6da Dart SDK Spelling b, c, and d.
R=kmillikin@google.com
BUG=

Review-Url: https://codereview.chromium.org/2850783002 .
2017-05-01 08:28:10 +02:00
Stephen Adams 41ca7f8bf5 kernel backend impact - noSuchMethod helpers are passed a Map literal
Fixes a regression on ~150 tests.
Will be replaced with kernel_impact.

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2850933002 .
2017-04-28 14:26:28 -07:00
Mike Fairhurst a48e0ef493 Fix #28740 demangle constructors in stack traces (A.A becomes new A) REDO
Regular constructors and unnamed factory constructors:
- Were A.A, now are new A
Named constructors (including factory constructors):
- Were A.A.name, now are new A.name

Previous attempt (a84b6b7f) didn't update vm/cc tests, which broke the
build, was reverted, and also revealed an important case:

Functions within constructors:
- Were A.A.x, now are new A.x

Doing this was cleanest by switching the loop out for recursion, which
provides a nice guarantee that any anonymous function within some other
function will always have the correct prefix, and the class name (which
may or may not be prepended at the end) is only applied once, and its
existence is only checked in one place.

R=asiva@google.com

Review-Url: https://codereview.chromium.org/2823253005 .
2017-04-28 10:19:20 -07:00
Stephen Adams 9635a84d32 dart2js-kernel: Bind type variables in generative constructor.
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2841213002 .
2017-04-27 16:06:54 -07:00
Florian Loitsch 641e2a64a7 Fix yet another bad copyright year in a test.
Review-Url: https://codereview.chromium.org/2849523002 .
2017-04-27 15:30:53 +02:00
Florian Loitsch 9ebf446eaa Fix copyright year in test.
Review-Url: https://codereview.chromium.org/2850473002 .
2017-04-27 15:24:43 +02:00
Stephen Adams 2c313f8125 Redo "dart2js: --fast-startup: use alias for 'this'"
Doesn't currently work since we can't use js.Names and regular parameters/variables in the same JavaScript scope.

Long term - we should fix this (https://github.com/dart-lang/sdk/issues/29455)

Short term, we could generate variable strings that are named after the fields and disambiguate them manually.

BUG=

Review-Url: https://codereview.chromium.org/2837243002 .
2017-04-26 20:51:19 -07:00
Johnni Winther 86fbb962cf Include superclasses of classes only needed for rti
Closes #29441

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2842653003 .
2017-04-26 09:21:29 +02:00