Commit Graph

3219 Commits

Author SHA1 Message Date
sgrekhov 9b96337521 [co19] LibTests/async tests enabled in status files
Change-Id: I268dff370f6067ebe7ede16b1e655a427329bca0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/155603
Reviewed-by: Alexander Thomas <athom@google.com>
2020-07-28 13:08:10 +00:00
sgrekhov debb4dddea [co19] Language/Types and Language/Variables tests enabled
Change-Id: Ida34b66799e4b0f4a109cb50cc1db4b051d4060a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153760
Reviewed-by: William Hesse <whesse@google.com>
2020-07-23 10:34:32 +00:00
sgrekhov fefcac472f [co19] Language/Statements tests enabled in .status files
Change-Id: Ia9832d81a4d472c8781a79bf221324a1232c144a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153211
Reviewed-by: Alexander Thomas <athom@google.com>
2020-07-08 07:47:44 +00:00
sgrekhov 3ccf7ce5d2 [co19] Language/Reference tests enabled
Change-Id: I51647c2e3de9e63d25b9bea29eae050b3473414a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153203
Reviewed-by: Alexander Thomas <athom@google.com>
2020-07-03 09:05:28 +00:00
sgrekhov 965a70a319 [co19] Enable Metadata, Mixin and Overview tests
Change-Id: I5a640e31eb50e17260386ef2aafe9864b54d8f8e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152642
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: William Hesse <whesse@google.com>
2020-07-02 19:12:40 +00:00
sgrekhov 85d37c1ede [co19] Enable Language/Libraries_and_Scripts tests
Change-Id: I9632efb404c7723258f64569fb5821b7a04941c0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152326
Reviewed-by: Alexander Thomas <athom@google.com>
2020-06-26 09:11:14 +00:00
sgrekhov 1c512ef120 [co19] Enable more migrated "Language" tests
Change-Id: Ib5e450d90bcce0a96d65f088b292b5db2ade1f5e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/152342
Reviewed-by: Alexander Thomas <athom@google.com>
2020-06-25 07:40:46 +00:00
sgrekhov fb8b7a8a4e [co19] Generics and Superinterfaces tests enabled
Change-Id: If95d1ba2f935135c2038eb9a6e3525d62fccf72f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151529
Reviewed-by: Alexander Thomas <athom@google.com>
2020-06-24 13:13:03 +00:00
sgrekhov 81564edaa3 [co19] Language/Functions tests enabled
Change-Id: I8f7487ccc8a3f387bc0821e58f2df70efde11eb5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151521
Reviewed-by: Alexander Thomas <athom@google.com>
2020-06-18 08:17:03 +00:00
sgrekhov d1eae9f742 [co19] Enable Language/Expressions tests
Change-Id: I6ebe9227965e038a42ce30da8c5ac70866297d24
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151392
Reviewed-by: Alexander Thomas <athom@google.com>
2020-06-17 11:30:31 +00:00
sgrekhov 1a2cbd54d7 [co19] Enable migrated Language/Classes tests
Change-Id: I49ee2549b38cdd019131a3f32da0cfbe5b2db769
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151237
Commit-Queue: Sergey Grekhov <sgrekhov@unipro.ru>
Reviewed-by: Alexander Thomas <athom@google.com>
2020-06-16 13:45:14 +00:00
sgrekhov 68e17083b9 [co19] Enable Subtyping tests
* Skip tests that use type aliases on analyzer configurations.
* Shard co19 test more on VM AOT builder (to avoid shard timeouts).

Change-Id: I5834091e91f229242329ee9e7456ca822d18c0b5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/151223
Reviewed-by: Alexander Thomas <athom@google.com>
2020-06-15 15:14:41 +00:00
sgrekhov 81d35e0743 [co19] Enable tests migrated to null safety
Change-Id: Ic95afdd0bdfabbc40ff4cad4ef8e514153e48f5a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/150107
Reviewed-by: Alexander Thomas <athom@google.com>
2020-06-08 12:46:42 +00:00
Alexander Thomas 42c3d21756 [infra] Run all migrated co19 tests on nnbd configurations
co19 test migration has started, and these tests will be unskipped
folder by folder now.

Change-Id: I7dad1a97d1a676042512a8a19e1403849e039f97
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149002
Reviewed-by: William Hesse <whesse@google.com>
2020-05-29 11:35:04 +00:00
Alexander Thomas b718209dfd Revert "[co19] Enable tests migrated to null-safety"
This reverts commit 9a588de9f4.

Reason for revert: The tests need additional fixes before they can be enabled, and this CL makes it harder to land the support for running
the tests on tryjobs.

Original change's description:
> [co19] Enable tests migrated to null-safety
> 
> Change-Id: I738f5be6fe60aa4addb925101eb7f2912627ec8b
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148527
> Reviewed-by: Sergey Grekhov <sgrekhov@unipro.ru>
> Reviewed-by: William Hesse <whesse@google.com>
> Commit-Queue: William Hesse <whesse@google.com>

TBR=whesse@google.com,athom@google.com,sgrekhov@unipro.ru

# Not skipping CQ checks because original CL landed > 1 day ago.

Change-Id: If758a0041214693aa6cd90f76b3e1a4f4db78c5b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/149283
Reviewed-by: Alexander Thomas <athom@google.com>
2020-05-28 09:42:56 +00:00
sgrekhov 9a588de9f4 [co19] Enable tests migrated to null-safety
Change-Id: I738f5be6fe60aa4addb925101eb7f2912627ec8b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/148527
Reviewed-by: Sergey Grekhov <sgrekhov@unipro.ru>
Reviewed-by: William Hesse <whesse@google.com>
Commit-Queue: William Hesse <whesse@google.com>
2020-05-25 08:26:38 +00:00
sgrekhov 5dc4e9362a [co19] Re-enable tests skipped due to breaking change #40674
The co19 tests were fixed in the co19 and co19_2 suites.

Change-Id: Ib71bfdcb90b0f4b77c77f3fc6ee74f47605b71af
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145580
Commit-Queue: Alexander Thomas <athom@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2020-05-12 14:51:19 +00:00
sgrekhov 9b9f89a64c [co19] Skip not migrated to NNBD folders in a status file
Change-Id: Iaf54ad33ae79291caffda74843d46a238b6c2a17
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144945
Reviewed-by: Sergey Grekhov <sgrekhov@unipro.ru>
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Sergey Grekhov <sgrekhov@unipro.ru>
2020-04-30 05:29:14 +00:00
Jonas Termansen 188ab04445 [infra] Delete approve_results.
Change-Id: I43346ff69e6b82f700a06b52bdff891122d38572
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128551
Reviewed-by: Alexander Thomas <athom@google.com>
2020-03-25 10:27:40 +00:00
Alexander Thomas c7b933a832 [co19] Handle builders using co19 with test selectors
Previously, the script would look for an argument that is matches "co19"
exactly. NNBD builders currently use "co19/LanguageFeatures/nnbd" as a
test selector. This change will make the update script recognize both
the raw suite, as well as "suite with selectors".

Change-Id: I22d3274b7e99e4bfd96859bdb2ad47f4ff5acc37
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128721
Reviewed-by: William Hesse <whesse@google.com>
2019-12-17 17:24:09 +00:00
Erik Ernst 077795b3e5 [co19] Add .gitignore to new co19 directory
Change-Id: If0477e6096af1cec41b346c0c288ed73051f61df
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126644
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2019-11-28 11:12:44 +00:00
Alexander Thomas 3524bb1a93 [co19] Roll co19_2 and add co19 (nnbd) to DEPS.
Initial import of co19 (nnbd) at 8767031866e8243eafdb46011d4d8a7b5705019d.

Roll co19_2 to 368bfa9e877a2df003547f64bb17e30596af10c7:
2019-11-22 irina.arkhipets@gmail.com Issue 501 fixed: correct expected result adjusted.
2019-11-22 irina.arkhipets@gmail.com Issue 501 fixed: correct expected result adjusted.
2019-11-22 irina.arkhipets@gmail.com Issue 499 fixed: correct expected result adjusted.
2019-11-22 sgrekhov@unipro.ru Fixes 500. Expected result corrected
2019-11-12 sgrekhov@unipro.ru Fixes 495. Partial fix. Explicit extension member invocation tests added
2019-11-11 sgrekhov@unipro.ru 495. Partial fix. Null-aware explicit extension member invocation tests added
2019-11-07 sgrekhov@unipro.ru Remove hint in analyzer
2019-11-07 sgrekhov@unipro.ru 495. Partial fix. Explicit extension member invocation tests for composite member invocation added
2019-11-06 sgrekhov@unipro.ru 495. Partial fix. Explicit extension member invocation tests for composite member invocation added
2019-11-05 sgrekhov@unipro.ru 495. Partial fix. Explicit extension member invocation tests for composite member invocation added
2019-10-31 sgrekhov@unipro.ru 495. Partial fix. Explicit extension member invocation tests for binary operations added
2019-10-30 sgrekhov@unipro.ru 495. Partial fix. Explicit extension member invocation tests for binary operations added
2019-10-29 sgrekhov@unipro.ru 495. Partial fix. Explicit extension member invocation tests added
2019-10-10 irina.arkhipets@gmail.com Fixed Issue 494: expected result corrected.
2019-10-09 irina.arkhipets@gmail.com Fixed Issue 493: typo corrected.
2019-10-09 irina.arkhipets@gmail.com Fixed Issue 492: typo corrected.

Failures are due to:
* Triple-shift is not yet implemented.
* https://github.com/dart-lang/sdk/issues/39527

Change-Id: I81578e1e3e18b396f1d20cee7aaa34cd4df54bbf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125973
Reviewed-by: Jonas Termansen <sortie@google.com>
2019-11-26 17:10:18 +00:00
Alexander Thomas 51f14eb911 [co19] Fork the update script for the co19 NNBD tests
This will allow creation of the co19 NNBD CIPD package. We'll keep the
old variant of the script to create the co19 legacy packages until the
non-NNBD tests are no longer needed.

The new layout on CIPD will be:
dart/third_party/co19 (co19's master branch)
dart/third_party/co19/legacy (co19's pre-nnbd branch)

Change-Id: I21c61083630de43be10fcead221616a2bc6f9c20
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125962
Reviewed-by: Jonas Termansen <sortie@google.com>
2019-11-21 11:16:40 +00:00
Bob Nystrom f6ca2c1d8f Remove the Dart 1 tests.
This deletes:

tests/co19
tests/corelib
tests/html
tests/isolate
tests/language
tests/lib

It does not delete tests/standalone because apparently there are tests
in there that are not in standalone_2. (I assume they were added after
the test migration. I don't know why they were added there.)

I have tried to remove references to the old tests from various scripts
and tools but may have missed some. (As you can imagine, grepping for
"lib" does not have the best signal-to-noise ratio.)

"It was a pleasure to burn. It was a special pleasure to see things
eaten, to see things blackened and changed. With the brass nozzle in his
fists, with this great python spitting its venomous kerosene upon the
world, the blood pounded in his head, and his hands were the hands of
some amazing conductor playing all the symphonies of blazing and burning
to bring down the tatters and charcoal ruins of history."

- Ray Bradbury, Fahrenheit 451

Change-Id: If3db4a50e7a5ee25aff8058b1483e2ce8e68424e
Reviewed-on: https://dart-review.googlesource.com/c/75420
Commit-Queue: Bob Nystrom <rnystrom@google.com>
Auto-Submit: Bob Nystrom <rnystrom@google.com>
Reviewed-by: William Hesse <whesse@google.com>
Reviewed-by: Terry Lucas <terry@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2018-10-11 23:45:18 +00:00
Dmitry Stefantsov 8648d782ae Reland "[fasta] Report errors for bounds violations"
The original commit:
https://github.com/dart-lang/sdk/commit/aa6fb2d3a4298e60b5635f26507d5b39f4e531cb

Change-Id: I34287ec856fde16d56e9369ef2620311ba9bb722
Reviewed-on: https://dart-review.googlesource.com/c/79200
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2018-10-11 10:20:01 +00:00
Dmitry Stefantsov a539d2ef5f Revert "[fasta] Report errors for bounds violations"
The CL is reverted because it didn't account for the case when a check
of a user-specified type argument against the bound depends on another
type that is only known after type inference is done.

Change-Id: I1fd140af95ed37b9191a5b161a281d4639e3453f
Reviewed-on: https://dart-review.googlesource.com/c/79048
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2018-10-10 15:31:27 +00:00
Dmitry Stefantsov aa6fb2d3a4 [fasta] Report errors for bounds violations
Fixes #33308.

Bug: http://dartbug.com/33308
Change-Id: Iae087928468ed6883c438db95644135dc7ef0a6a
Reviewed-on: https://dart-review.googlesource.com/c/57621
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2018-10-10 12:03:36 +00:00
Kevin Millikin 0566f5fa27 Remove unnecessary test status lines
* The co19_2 test suite doesn't have collection/Maps at all.  Though
  test.py will ignore the unnecessary test status lines, there is no
  reason to have them.

* The co19 test suite has these tests but they are not expected to
  pass with a Dart 2 SDK.  They are already skipped for all Fasta
  targets, so the individual expectations can be removed.

Change-Id: I4d4c27254d4ff7da5a49da77fb2314b5beb035c1
Reviewed-on: https://dart-review.googlesource.com/c/78500
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
2018-10-08 14:29:48 +00:00
Aske Simon Christensen d3bd06d4e8 Check class interface requirements using override check code.
When a member in the interface of a non-abstract class is found to
have an implementation with the correct name which does not override
the representative declaration of the member in the interface (and thus
has not been checked against that member for override validity), call
the override check to check interface validity.

Override relations thus checked produce an extra context message
explaining that the override relation must hold because both members
are inherited by a non-abstract class.

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

Change-Id: I955f057e35fa30f33c19da37c9cea1262042431c
Reviewed-on: https://dart-review.googlesource.com/c/74642
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-10-03 14:56:43 +00:00
Jens Johansen 570fd5a788 Error on re-export, export and import of libraries with same name.
Fixes #12916.

Change-Id: Icef0f04f1575c8dad5f1cd23a9363f06fa2a2b35
Reviewed-on: https://dart-review.googlesource.com/74161
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-09-25 09:09:21 +00:00
asiva 355c73d4ee [VM] Remove support for option --no-preview-dart-2
- option --no-preview-dart-2 will now result in an error
- change aot-assembly build rule to generate AOT snapshot using Dart 2
- generate coresnapshot using Dart 2 (this snapshot is not used yet, next CL which switch the isolate create code to use this snapshot)
- by pass all Dart1 test runs in the status file
- change the default compiler setting in test.py to use dartk
- have test.py not pick up any configuration for --no-preview-dart-2

Change-Id: Ia136943ebfd0fed0c52683b330745b3e2c7a7ce6
Reviewed-on: https://dart-review.googlesource.com/75820
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2018-09-24 20:38:08 +00:00
Daniel Hillerström 7ad1e5da99 Perform substitution on type argument/parameter bounds.
Fixes regression #34528. Introduces a new test to mitigate future
regressions.

Closes #34528.

Change-Id: Iaf0a8f44db2a8b4a8151c391ddb8dff69910fe3a
Reviewed-on: https://dart-review.googlesource.com/75840
Commit-Queue: Daniel Hillerström <hillerstrom@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
2018-09-24 14:02:01 +00:00
Aske Simon Christensen 8385c36d97 Move all int literal parsing and checking code together.
Report error for negated hex literals > 2^63.

Optimized common case of web int literal exactness check.

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

Change-Id: Ib72b2dbb21e42489ee2d06b17302daf83d560df1
Reviewed-on: https://dart-review.googlesource.com/72802
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-09-24 11:17:36 +00:00
Daniel Hillerström de984e58cb Type checking for redirecting factories.
Implements static semantics for redirecting factories (c.f. §10.6.2 of
the specification). This CL does not include inference of actual type
arguments on redirectees, that is it does not handle the case where
type arguments have been omitted on the redirectee as in this
following example program:

  class A<T> {
    factory A() = B;
  }
  class B<T> implements A<T> {
    B();
  }

Closes https://github.com/dart-lang/sdk/issues/32988.

Also resolves the second part of
https://github.com/dart-lang/sdk/issues/30579.

Can possibly also close https://github.com/dart-lang/sdk/issues/11578.

Change-Id: I5f1fb60510ba6cdc917321239819c1f817b5b85d
Reviewed-on: https://dart-review.googlesource.com/74580
Commit-Queue: Daniel Hillerström <hillerstrom@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-09-19 06:20:20 +00:00
Lasse R.H. Nielsen cc08d0e1da Add operators &, | and ^ to bool.
Change-Id: Idd6472f239445914c1ff1ab68fc7b38fa6b320ae
Reviewed-on: https://dart-review.googlesource.com/25240
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Florian Loitsch <floitsch@google.com>
2018-09-17 12:33:12 +00:00
Dan Rubel 49da026e3e Report error for extends void type parameters
Change-Id: I634b836ea40199a1e7962b7d07ca9f5d1ef3f16a
Reviewed-on: https://dart-review.googlesource.com/74680
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-09-13 20:27:56 +00:00
danrubel 9764bac918 Update OutlineBuilder to handle class C with M
That is, when `extends S` is missing.

Also address comment in https://dart-review.googlesource.com/c/sdk/+/73940

Change-Id: Ieee7ae42bf1e63d40cab08044068b809ea1f474d
Reviewed-on: https://dart-review.googlesource.com/74016
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-09-12 15:19:33 +00:00
Daniel Hillerström 3d4f28b23a Disallow default values in redirecting factory constructors.
Closes https://github.com/dart-lang/sdk/issues/34160

Change-Id: Idf6ee172b5fe81aa17920d12b68525a37a3c2231
Reviewed-on: https://dart-review.googlesource.com/72660
Commit-Queue: Daniel Hillerström <hillerstrom@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-09-05 05:41:04 +00:00
Kevin Millikin 9bdf2489b5 Signal errors and warnings for invalid returns
Implement the feature spec for checking returns against inferred
function return types:

https://github.com/dart-lang/sdk/blob/master/docs/language/informal/invalid_returns.md

with the change that an invalid return without a subexpression is
a warning, not an error.  This is because it is a warning in the
analyzer and it would be a breaking change to turn it into an
error.

The check for valid returns is moved to exactly where we handle
returns, rather than in ensureAssignable which is used as a
helper in a lot of places. A bug in type inference was fixed: we
would use `void` for the type of return without a subexpression
instead of `null`.  To accommodate that we would use a
non-standard subtyping relation for returns.  This could lead to
us inferring a return type of `void` in cases where we should
not.

Change-Id: Iee9ece9c722f47efa305f49490d3022d0bbb9f44
Reviewed-on: https://dart-review.googlesource.com/72403
Commit-Queue: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2018-09-04 16:50:51 +00:00
Jens Johansen 015840d31f Fasta: Wrong number of type parameters is an error
E.g. `new Map<String>` is now reported as an error.

Note that this does not add a check for whether correct types are given,
so e.g.

```
class Foo<X extends num> {}
main() {
  new Foo<String>();
}
```

is not caught by this fix.

Fixes #32972, #32281.

Change-Id: I57513b5c13865a828890775c8e14f7433d00bdbe
Reviewed-on: https://dart-review.googlesource.com/72382
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-09-04 10:10:32 +00:00
Daniel Hillerström a56203041f Checks whether the type of a switch expression is assignable to the
types of its case expressions.

Resolves the first part of
https://github.com/dart-lang/sdk/issues/34207. According to the
language team the second part may soon become irrelevant.

Change-Id: Ifce38f2a62c293156dafa94f16799d5a126c6b9c
Reviewed-on: https://dart-review.googlesource.com/71981
Commit-Queue: Daniel Hillerström <hillerstrom@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2018-09-03 11:03:56 +00:00
Jens Johansen 33704fa75f Fasta: Instance field cannot be const
Fixes #32326.

Change-Id: Idef32a842a68c5c9ee58caff7b6e731204f033b6
Reviewed-on: https://dart-review.googlesource.com/72041
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-08-31 10:28:19 +00:00
Kevin Millikin 9803d5c786 Signal an error when invoking a non-function
When invoking an expression whose static type is not a function type,
signal an error.  However, allow invocations of expressions with
static type `dynamic` or `Function`.  Fixes #32975.

Change-Id: Ia54d8df650076ad5c9c9c3a2c6f79ea31acbbbfe
Reviewed-on: https://dart-review.googlesource.com/72082
Commit-Queue: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Daniel Hillerström <hillerstrom@google.com>
2018-08-31 02:30:46 +00:00
Aske Simon Christensen ac77419209 Status file cleanup for dart2js.
Removed all sections labeled $compiler == dart2js and !$fasta.

Removed $fasta from all sections with $compiler == dart2js and merged
with existing sections as appropriate.

Some additional cleanup and normalization.

Change-Id: I8b93283a2cce22ce60e29d364c8d0e70dccbb6e3
Reviewed-on: https://dart-review.googlesource.com/71840
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2018-08-30 10:28:41 +00:00
Daniel Hillerström 73a35c9937 Checks whether a constant factory has a constant target.
Closes https://github.com/dart-lang/sdk/issues/34161

Change-Id: Ie5eb4d3307e0fd389bcd25b8c548b6dff64633ab
Reviewed-on: https://dart-review.googlesource.com/71300
Commit-Queue: Daniel Hillerström <hillerstrom@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2018-08-30 08:37:02 +00:00
Aske Simon Christensen 94dabdaae7 Error when importing a part
Fixes https://github.com/dart-lang/sdk/issues/33650

Change-Id: I2fb5f4bf7c20309c2da9660911b7ce2088e7efea
Reviewed-on: https://dart-review.googlesource.com/71820
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-08-29 12:19:17 +00:00
Lasse Reichstein Holst Nielsen 72e6353c32 Make Stream.fromIterable handle errors in current and send a done.
The code didn't handle `iterator.current` throwing, and it didn't send a done
event after `iterator.moveNext()` throws.

Fixes #33431.

Bug: http://dartbug.com/33431
Change-Id: Ic8f7b5d52793ea3db30480e7aa69d01a86e93772
Reviewed-on: https://dart-review.googlesource.com/63841
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2018-08-27 08:06:54 +00:00
Daniel Hillerström 23e379d0aa Checks whether an interface is implemented multiple times.
It is a compile-time error if an interface appears multiple times
across the extends and implements clauses.

This CL implements a check to detect the aforementioned case. A
previous commit implemented this by expanding and refactoring the
restricted super types check in source_loader.dart
(c.f. checkSemantics method). The restricted super types check decides
whether a type is allowed to appear in an 'extends', 'implements', or
'with' clause. However, it turned out it may have sat too early in the
compilation pipeline as it failed to detect the following case

   class A implements Object {}

I decided that it was somewhat suboptimal to implement a special case
for "Object". Therefore I have moved the check to a later stage in the
pipeline, where classes without a super class have had the Object
class injected as their default super class. The check is now
implemented in kernel_class_builder.dart (c.f. checkSupertypes
method).

Closes https://github.com/dart-lang/sdk/issues/34193

Change-Id: Ie7153c896337b589118cac4b80e9df8ea5a09daa
Reviewed-on: https://dart-review.googlesource.com/70864
Commit-Queue: Daniel Hillerström <hillerstrom@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2018-08-23 14:36:40 +00:00
Aske Simon Christensen a4b3009ca5 Require super initializer to be at the end of the initializer list.
Drops code to handle special evaluation order rules for super
initializer before the end.

Initializer check code now also recovers from initializer errors.

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

Change-Id: I1024853bfd3acfef42630bdc2fc47782746b07c0
Reviewed-on: https://dart-review.googlesource.com/68060
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2018-08-22 10:43:08 +00:00
Daniel Hillerström 5780deb18a Signal a compile-time error when a type variable name conflicts with a setter name.
Specification disallow name conflicts between
  - type variables and class names
  - type variables and getter names
  - type variables and member names

Although not present in current specification, the language team confirms that
it is also supposed to be a compile-time error if there is conflict with a setter.

Closes https://github.com/dart-lang/sdk/issues/33827

Bug:
Change-Id: Ia25bc91c3287f93ae43faae121a1f9d81b179c6b
Reviewed-on: https://dart-review.googlesource.com/70500
Commit-Queue: Daniel Hillerström <hillerstrom@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2018-08-22 06:55:22 +00:00