Commit graph

50866 commits

Author SHA1 Message Date
Zachary Anderson dcd275fa74 [dart:io] Begins work on mocking support
Change-Id: I770ed9485a934af07e570fbad3f3fb84ebef973d
Reviewed-on: https://dart-review.googlesource.com/3302
Commit-Queue: Zach Anderson <zra@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Florian Loitsch <floitsch@google.com>
2017-10-10 17:39:12 +00:00
Janice Collins c5ff5b4011 Migrate test block 158 to Dart 2.0
Successfully migrated 28 tests. Need manual work on 1 test:
- language_2/truncdiv_test.dart:
  (TODO) Merge from language/truncdiv_test.dart into this file.

Bug:
Change-Id: Iceba114915feba5ab4564b8b7265d684d23b4d0d
Reviewed-on: https://dart-review.googlesource.com/12360
Commit-Queue: Janice Collins <jcollins@google.com>
Reviewed-by: Janice Collins <jcollins@google.com>
Reviewed-by: Jaime Wren <jwren@google.com>
2017-10-10 16:28:31 +00:00
Erik Ernst b61f1047d5 Add a tools/spec_parse.py script.
This makes it possible to run the spec parser in a way which is a bit
more like the other tools that we have (e.g., tools/test.py):

  > tools/spec_parse.py tests/language/callable_test.dart

It still requires the developer to run `make parser` in
tools/spec_parser and hence does not run on a buildbot, but it's one
step forward.

Change-Id: I68ad6cea55bc02dddac21558acec33fc4bfc1981
Reviewed-on: https://dart-review.googlesource.com/9620
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2017-10-10 16:03:36 +00:00
Paul Berry 9545cf6e2f Check for SyntheticAccessor in _requiresTypeInference.
This will be necessary once we start doing type inference on fields in
InterfaceResolver.

Change-Id: If363ba4d2b3b42efd3fa7975a94e29286882d5ab
Reviewed-on: https://dart-review.googlesource.com/12620
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2017-10-10 16:03:16 +00:00
Janice Collins e166ab3e2b Migrate test block 160 to Dart 2.0.
Successfully migrated 7 tests. Need manual work on 6 tests:
- language_2/try_catch_test.dart:
  (TODO) Merge from language/try_catch_test.dart into this file.
- language_2/type_argument_in_super_type_test.dart:
  (TODO) Ensure code that checks for a TypeError uses 2.0 semantics.
- language_2/type_check_const_function_typedef2_test.dart:
  (TODO) Fix code that mentions "checked" mode.
- language_2/type_checks_in_factory_method_test.dart:
  (TODO) Ensure code that checks for a TypeError uses 2.0 semantics.
- language_2/type_conversion_ssa_test.dart:
  (TODO) Fix code that mentions "checked" mode.
- language_2/type_error_test.dart:
  (TODO) Merge from language/type_error_test.dart into this file.
  (TODO) Ensure code that checks for a TypeError uses 2.0 semantics.


Bug:
Change-Id: I43901890540efcf55da13d013571ce91979cbb64
Reviewed-on: https://dart-review.googlesource.com/11142
Commit-Queue: Janice Collins <jcollins@google.com>
Reviewed-by: Janice Collins <jcollins@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2017-10-10 15:55:32 +00:00
Paul Berry 655d3ce665 Account for forwarding nodes when looking up inherited members in InterfaceResolver.
This allows covariance information to propagate properly between
classes and avoids creation of unnecessary forwarding stubs.

Change-Id: Ib55c62adb74d16f94282e752e387634086001946
Reviewed-on: https://dart-review.googlesource.com/12600
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2017-10-10 15:55:14 +00:00
Erik Ernst 1ba7ba01ff Added informal spec of "no such method forwarding".
Change-Id: Ifa3bb120566daf0963dbb88db380fbb0e0db26c1
Reviewed-on: https://dart-review.googlesource.com/6500
Commit-Queue: Erik Ernst <eernst@google.com>
Reviewed-by: Florian Loitsch <floitsch@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2017-10-10 15:38:42 +00:00
Erik Ernst 83e8cf3d0b Added language on covariant fields to covariant-overrides.md.
Change-Id: I2c2857f5e32328bfe4693038e7ef376f8633758e
Reviewed-on: https://dart-review.googlesource.com/12296
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2017-10-10 15:01:11 +00:00
Brian Wilkerson 91ee4ee8d2 Cause partial code tests to be run by testAll
Change-Id: If865210a82739849d321447b57565233dea4a4d4
Reviewed-on: https://dart-review.googlesource.com/12343
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-10 14:10:41 +00:00
Erik Ernst 63a4533602 Gardening: Adjusted status of tabindex-removal-from-focused-element_t01
Change-Id: If3f285955b7f4037793517cace10e9f15d7473dd
Reviewed-on: https://dart-review.googlesource.com/12562
Reviewed-by: Erik Ernst <eernst@google.com>
2017-10-10 14:07:20 +00:00
Terry Lucas 8611852b81 Migrated Block 199 to Dart 2.0
R=bkonyi@google.com

Change-Id: Ic52e7afb489b15b2f2e45f5ad9191cf5e441c047
Reviewed-on: https://dart-review.googlesource.com/11342
Commit-Queue: Terry Lucas <terry@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2017-10-10 13:53:24 +00:00
Vijay Menon c1d45769c3 Inline constant values
Change-Id: Iee929bc64c152be989e6e7ba38132f806c33c7e0
Reviewed-on: https://dart-review.googlesource.com/11960
Commit-Queue: Vijay Menon <vsm@google.com>
Reviewed-by: Jennifer Messerly <jmesserly@google.com>
2017-10-10 13:21:41 +00:00
Brian Wilkerson 7b4e3c3ba2 Last of partial code tests
Change-Id: I0e451229fc9650e1e30b57bc0cbeae97b66496d3
Reviewed-on: https://dart-review.googlesource.com/12342
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-10 13:20:11 +00:00
Terry Lucas 83ff87e4a3 Migrated Block 204 to Dart 2.0
R=bkonyi@google.com

Change-Id: I032f25969e75fb9966222da969e73a665bf35f44
Reviewed-on: https://dart-review.googlesource.com/12321
Reviewed-by: Bob Nystrom <rnystrom@google.com>
Commit-Queue: Terry Lucas <terry@google.com>
2017-10-10 13:00:01 +00:00
Erik Ernst 4da6535720 Cleaned up several status entries for tests using toString on types.
Change-Id: I0b43a7024490ed4d656d4dd5a6802d3865217492
Reviewed-on: https://dart-review.googlesource.com/12561
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2017-10-10 12:55:31 +00:00
Florian Loitsch bb1b39deaf Migrate test block 159.
Change-Id: I71498e6b3d8c6b11ee53fc78b5b1b72dbe8c9fd8
Reviewed-on: https://dart-review.googlesource.com/12299
Commit-Queue: Florian Loitsch <floitsch@google.com>
Reviewed-by: Jakob Roland Andersen <jakobr@google.com>
2017-10-10 12:05:51 +00:00
Florian Loitsch 5b01aaa4e5 Migrate test block 147.
Change-Id: I811e8dd4c44d42e6d0ffc94635c6922a21627c46
Reviewed-on: https://dart-review.googlesource.com/12297
Commit-Queue: Florian Loitsch <floitsch@google.com>
Reviewed-by: Jakob Roland Andersen <jakobr@google.com>
2017-10-10 11:25:03 +00:00
Vyacheslav Egorov a771e05fa4 [VM] Fix typing issues in convert_patch.dart
Bug: https://github.com/dart-lang/sdk/issues/31052
Change-Id: I65cea214cb4f053850a05c107f78a8af1bdde81f
Reviewed-on: https://dart-review.googlesource.com/12446
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
2017-10-10 11:09:11 +00:00
Vyacheslav Egorov 5b14ee115a [VM] Make _StringBase implement String
_StringBase is used everywhere as if it was assignable to String,
however it itself does not implement String, its subclasses do.

This change addresses this.

Also removes unused native runtime method from one of subclasses.

Bug: https://github.com/dart-lang/sdk/issues/31052
Change-Id: Iea2389d1b48a3689fb11c99c0e230747ab1c5962
Reviewed-on: https://dart-review.googlesource.com/12444
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
2017-10-10 10:33:31 +00:00
William Hesse e8662fca02 Update status for language_2/f_bounded_quantification5_test
BUG=https://github.com/dart-lang/sdk/issues/31053
TBR=athom@google.com

Change-Id: If647e5251a89620ad6cc8f6565b1247fc564b3ba
Reviewed-on: https://dart-review.googlesource.com/12445
Reviewed-by: William Hesse <whesse@google.com>
2017-10-10 09:55:55 +00:00
Erik Ernst dfced8c1d3 Adjusted status to include failure in named_pipe_script_test.
One more failure of the kind described in
https://github.com/dart-lang/sdk/issues/28737 was seen with `$mode ==
product`. This CL adds that mode to the existing status entry.
Change-Id: I073e7b26d7760da1a89d6d2a0ba5ade4b06c64d2
Reviewed-on: https://dart-review.googlesource.com/12443
Reviewed-by: Erik Ernst <eernst@google.com>
Commit-Queue: Erik Ernst <eernst@google.com>
2017-10-10 08:46:44 +00:00
Aske Simon Christensen 2f9d4efff6 Produce error statement for return with value from generator
Introduces a handleInvalidStatement method in listeners to signal
that the previous statement was invalid.

Closes https://github.com/dart-lang/sdk/issues/29983
Change-Id: I08d69062aa626a554b88d11d2c8c0e31b0abbe28
Reviewed-on: https://dart-review.googlesource.com/11501
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2017-10-10 08:34:21 +00:00
Vyacheslav Egorov f460586505 [kernel] Implement naive type checker based on pkg/kernel/lib/type_checker.dart
This type checker can be used to find strong mode violations in the
Kernel files.

This will be used to work on cleaning strong mode violations in VM's patch files
in the absence of any other way to type-check them.

Bug:
Change-Id: Id7005f6312dafe04eb0e7b33d008934b62a1b726
Reviewed-on: https://dart-review.googlesource.com/11883
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2017-10-10 06:42:02 +00:00
Paul Berry 8d02be26db Override fileOffset and fileUri in SyntheticAccessor.
This is necessary because we will need to consult fileOffset and
fileUri in order to make covariance annotations.

Change-Id: I989393cd3f66c0875b4e8e091c7a8d7523a08b20
Reviewed-on: https://dart-review.googlesource.com/12422
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2017-10-10 04:56:41 +00:00
Paul Berry 8455c13e75 Rework access to ShadowClass._inferenceInfo.
Two changes:

- ShadowClass.getClassInferenceInfo now accepts an ordinary class, and
  returns `null`.  This will allow us to ensure that if a ShadowClass
  gets re-used later as an ordinary Class (which sometimes happens
  during incremental analysis), it will behave the same as an ordinary
  Class.

- We don't create ShadowClass._inferenceInfo at the time of
  ShadowClass creation; we wait until a builder is stored.  This will
  allow ShadowClass objects with no inference info to be easily
  created in unit tests.

Change-Id: I0dd2d65b0c477b069ec36872c13b19ba8ebbd021
Reviewed-on: https://dart-review.googlesource.com/12382
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2017-10-10 04:52:41 +00:00
Paul Berry 9799028747 Resolve inherited accessors before computing forwarding stubs.
This is necessary because the need for a forwarding stub may be
affected by the types of inherited accessors, and the types of
inherited accessors may need to be determined by type inference.

Change-Id: I160cf21186485d2572301f3cda8621ede517c47b
Reviewed-on: https://dart-review.googlesource.com/12400
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2017-10-10 03:45:47 +00:00
Jennifer Messerly 32eb7e3612 fix #30944, mark specific nodes with source information
This change fixes bugs that users see when we mark declaration code,
while also reducing the source map size (improving startup & reducing
the load on devtools). The SDK source map is reduced by 41%.

Stack traces and stepping should be more accurate after this change, but
if we identify any node(s) that need different marking, we now have
the tools to refine it further.

Change-Id: Ie50c6aca873be7b7c0f7c238a9db2001acbceb5c
Reviewed-on: https://dart-review.googlesource.com/10210
Commit-Queue: Jennifer Messerly <jmesserly@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Reviewed-by: Alan Knight <alanknight@google.com>
2017-10-10 03:40:40 +00:00
Alexander Markov 0be57ec442 Fix analyzer warning (unused import)
Change-Id: Ief1b570a311bf3a7e0c78744b845f7fff9c5fe20
Reviewed-on: https://dart-review.googlesource.com/12480
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2017-10-10 01:50:20 +00:00
Paul Berry c33b17d9ae Store _isImplicitlyTyped in ShadowField.
Previously we were using the presence or absence of an AccessorNode to
determine whether the field was implicitly typed.  But AccessorNode is
going to go away soon, so we need a boolean.

Change-Id: I7ef5bfb8be25f753fa674472b72d7bef0d3a2baf
Reviewed-on: https://dart-review.googlesource.com/12380
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2017-10-10 01:43:18 +00:00
Jennifer Messerly 1da54c2346 fix status files for DDC so local test runs pass
Change-Id: I43ca656983ea06def076b1e9166f0c7ccaa3b301
Reviewed-on: https://dart-review.googlesource.com/12384
Reviewed-by: Bob Nystrom <rnystrom@google.com>
2017-10-10 01:25:01 +00:00
Paul Berry 6d202e7ea6 Split finishTopLevel into two phases.
Soon, inference of instance fields will be unified with the logic for
creating forwarding stubs.  When this happens, we will need the order
of inference to be:

1 Finish top level inference of static fields.

2 Finish top level inference of other fields, and create forwarding stubs.

3 Finish top level inference of initializing formals.

Currently, (1) and (3) are performed by the same method,
finishTopLevel().  Splitting it into two methods allows us to put (2)
in between.

Change-Id: I70e1a47e8ad604bdb8f0348c54d6017c0a0b57b5
Reviewed-on: https://dart-review.googlesource.com/12381
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2017-10-10 01:23:42 +00:00
Alexander Markov 14f6276945 [Kernel, VM] Add null checking to devirtualization
Devirtualization optimization now adds metadata to kernel AST instead
of transforming nodes to Direct* ones. The direct call metadata
provides information about checking receiver for null, while
Direct* kernel nodes do not support null checking.

VM's kernel binary loader is extended to extract arbitrary metadata
from kernel binaries and keep it for flow graph builder.
Kernel flow graph builder is extended to take direct call metadata
into account and generate CheckNull/StaticCall instructions
for devirtualized PropertyGet, PropertySet and MethodInvocation nodes.

Issue: https://github.com/dart-lang/sdk/issues/30480
Change-Id: I57f56fbf4a8981d33b1571c0d93105cf8ca71d76
Reviewed-on: https://dart-review.googlesource.com/12260
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2017-10-10 00:50:31 +00:00
Jennifer Messerly c05a4439bc fix DDC handling of @notNull annotation for ?. method calls
Change-Id: I9be22e126ff32c16a90fc85e3d754258e9fc98c3
Reviewed-on: https://dart-review.googlesource.com/12344
Reviewed-by: Vijay Menon <vsm@google.com>
2017-10-10 00:35:31 +00:00
Vijay Menon 05619da8ea Optimize String.length
Change-Id: I7e8481c8822d170492112704e04b92b19d5e5f2e
Reviewed-on: https://dart-review.googlesource.com/12340
Reviewed-by: Jennifer Messerly <jmesserly@google.com>
Commit-Queue: Vijay Menon <vsm@google.com>
2017-10-10 00:22:36 +00:00
Sigmund Cherem c0860d0499 one more fix
Change-Id: I47481d04e25137bc63b23d2366dbc5929c275e94
Reviewed-on: https://dart-review.googlesource.com/12440
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-10-09 23:18:27 +00:00
Ryan Macnak 3609522166 printf format checking is a compiler feature, not a platform feature.
Change-Id: Ib3e0beb814b5cae6f2b4be13f055069f682674f5
Reviewed-on: https://dart-review.googlesource.com/11645
Reviewed-by: Zach Anderson <zra@google.com>
2017-10-09 22:26:01 +00:00
Brian Wilkerson 847c684bb2 More partial code tests
Change-Id: Iea1602eaf17ac114e5e3522033bfef3e6e6914e6
Reviewed-on: https://dart-review.googlesource.com/12341
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-09 21:50:26 +00:00
Sigmund Cherem 28fa8a60aa status fixes: configurations not covered earlier by the try bots
Change-Id: I56d7935ebf4bf49925a9c616133206e5bfd17bd2
Reviewed-on: https://dart-review.googlesource.com/12383
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-10-09 21:44:24 +00:00
Siva Chandra 0eb9528be8 [vm/kernel_binary.h] Make few asserts stricter.
This makes the compiler happy under -Wstrict-overflow.

Change-Id: Ic91ccd9d716c866e11d6b00de7b95916a73ea5d7
Reviewed-on: https://dart-review.googlesource.com/12346
Commit-Queue: Siva Chandra <sivachandra@google.com>
Reviewed-by: Zach Anderson <zra@google.com>
2017-10-09 21:17:48 +00:00
Jaime Wren 31e5cab243 Migrate test block 62
- negative tests merged into non-negative tests
- lots of factory tests

Change-Id: I825e3ab6153f0dce243c3b8f1c4d223ab8ec5f9b
Reviewed-on: https://dart-review.googlesource.com/12126
Reviewed-by: Janice Collins <jcollins@google.com>
Reviewed-by: Jaime Wren <jwren@google.com>
2017-10-09 20:00:01 +00:00
Terry Lucas 2b16dc99ce Updated status with issue on flakiness of websql_test in DDC.
TBR=rnystrom@gogole.com

Change-Id: I3f11c7a97d107ff8ba52c4cfaa52ad81fccef6be
Reviewed-on: https://dart-review.googlesource.com/12347
Reviewed-by: Terry Lucas <terry@google.com>
2017-10-09 19:54:54 +00:00
Sigmund Cherem ec49b67b19 Split init.metadata by deferred chunk
Bug: http://dartbug.com/30002
Change-Id: I532f122a9b10054a51e40c49b3759c0af471370e
Reviewed-on: https://dart-review.googlesource.com/9140
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Florian Loitsch <floitsch@google.com>
2017-10-09 19:41:15 +00:00
Zachary Anderson 11177ce405 [android] Fix build
Change-Id: I33fe71898d0d1defd9c55f0a53a1b0748ddfb820
Reviewed-on: https://dart-review.googlesource.com/12345
Reviewed-by: Zach Anderson <zra@google.com>
2017-10-09 19:31:40 +00:00
Zachary Anderson 7fd15110fe [dart:io] chdir, getcwd when in a namespace
This change does a couple things:
- When there is a non-default namespace, on Linux, Android, and Fuchsia
  the current working directory is per-Isolate.
- On Fuchsia, it caches the fd from fdio_ns_t instead of recomputing it
  on every fs access.

Change-Id: I3735330884de51ca853a17d66dcfcfa984b9a041
Reviewed-on: https://dart-review.googlesource.com/9367
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Commit-Queue: Zach Anderson <zra@google.com>
2017-10-09 19:14:58 +00:00
Harry Terkelsen 954aa98da5 Use the RHS as the return value for super set exprs
Change-Id: If456ee64873354cd0cfb61024982e35ce5e97149
Reviewed-on: https://dart-review.googlesource.com/12241
Commit-Queue: Harry Terkelsen <het@google.com>
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2017-10-09 18:53:55 +00:00
Sigmund Cherem 1149e7a39a Remove the strong-mode note
Bug: https://github.com/dart-lang/sdk/issues/31044
Change-Id: I54261f046ff86b0c972fb090f87c8440c59ddfe4
Reviewed-on: https://dart-review.googlesource.com/12322
Reviewed-by: Zach Anderson <zra@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
2017-10-09 18:20:35 +00:00
Brian Wilkerson 7986c0c1c2 Add backward compatibility for the linter
Change-Id: Id38cafbe0f5dca87fb56cb132603da26c42cf740
Reviewed-on: https://dart-review.googlesource.com/12323
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2017-10-09 18:09:45 +00:00
Florian Loitsch c5e10d5b78 Fix typos in last newsletter.
Address comments from https://dart-review.googlesource.com/c/sdk/+/12161

Change-Id: I05294112753891732784a38fc5ef14fb7fed291b
Reviewed-on: https://dart-review.googlesource.com/12298
Reviewed-by: Florian Loitsch <floitsch@google.com>
2017-10-09 17:46:44 +00:00
Ryan Macnak 140dfd6d89 [vm] Consider a reload with no changed files as a reload for _getUnusedChangesInLastReload.
Add missing messages for various vm-service error codes.

Bug: https://github.com/flutter/flutter/issues/12300
Change-Id: I1f3607f94c5ab2fb770813f0502c3b1c9c40fdf4
Reviewed-on: https://dart-review.googlesource.com/11642
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2017-10-09 16:31:05 +00:00
Brian Wilkerson f10ff8ae82 More partial code tests
Change-Id: I43416c8d527ca519ad590aab5d2c25c022157f89
Reviewed-on: https://dart-review.googlesource.com/12200
Reviewed-by: Dan Rubel <danrubel@google.com>
2017-10-09 16:17:45 +00:00