Commit Graph

18862 Commits

Author SHA1 Message Date
Jaime Wren a1754ff2be TBR Bot fix. Hardcode previewDart2 to be false to have the Dart SDK build.
Change-Id: Ida8e3a720c7a0e06d7ec0297f4ee2ba397899848
Reviewed-on: https://dart-review.googlesource.com/38342
Reviewed-by: Jaime Wren <jwren@google.com>
2018-02-02 21:43:43 +00:00
Konstantin Shcheglov 65e6697cf8 Add 'Add padding' quick assist.
R=brianwilkerson@google.com, devoncarew@google.com

Change-Id: I03ed7ec1c25dd8e9ee7b115d95f24baeee016251
Reviewed-on: https://dart-review.googlesource.com/38341
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-02-02 21:26:39 +00:00
Jaime Wren c5c5734e13 Implicit new and const work for the analyzer- add support for library prefixes: "prefix.ClassName.[constructorName]?()"
Change-Id: I9f9d59e38123bbbd5e47993a8f416603b77d47fb
Reviewed-on: https://dart-review.googlesource.com/38340
Commit-Queue: Jaime Wren <jwren@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-02-02 21:08:46 +00:00
Sigmund Cherem f541f060ee [fe] deferred access checks for several access patterns of classes.
This adds checks for allocations and type values, and provides a compile
time error for type declarations, is-checks, and as-casts.

Change-Id: I3bfed41b0dd45abeb02158f0537102c779511998
Reviewed-on: https://dart-review.googlesource.com/36383
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
2018-02-02 20:44:16 +00:00
Jenny Messerly 85cfbebd76 Fix constKeyword usage in DDC in preparation for implicit new/const
Change-Id: Iad3d38449dbe5bbb71d470cf085c2c071432abf5
Reviewed-on: https://dart-review.googlesource.com/38147
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-02-02 20:33:46 +00:00
Harry Terkelsen 1fcbe23b8f Fix issue in resolving annotations that refer to annotated types
Change-Id: Ifcef137ec51e26d3e1a2505fd4845fe63f670318
Reviewed-on: https://dart-review.googlesource.com/38181
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Harry Terkelsen <het@google.com>
2018-02-02 18:14:37 +00:00
Brian Wilkerson cb1b28f04f Initial parser work to parse instance creation without a keyword but with type arguments
Change-Id: I23421aa7387f5c249dfa9acbe4cda2f92c3481a2
Reviewed-on: https://dart-review.googlesource.com/38166
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Jaime Wren <jwren@google.com>
2018-02-02 18:07:37 +00:00
Danny Tuppeny fd6b8f772b Increase analysis server version to 1.18.5.
The version hasn't been increased since the server started accepting overlays for HTML files (for angular plugin) so this is to allow editors to know for sure that the server supports them.

Closes #32034
https://github.com/dart-lang/sdk/pull/32034

GitOrigin-RevId: 82bef7be897a2fe30e1a01724c5284d6615d9a4a
Change-Id: Id5e8a12cd9a895cd1122ddf764d93fd6f7459aed
Reviewed-on: https://dart-review.googlesource.com/38260
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-02-02 16:56:15 +00:00
Brian Wilkerson fba13af5a9 Finish updating OverrideContributor to use DartChangeBuilder
Change-Id: Ib3190e6825994c9e727fb80a319cfc04be943b76
Reviewed-on: https://dart-review.googlesource.com/38143
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-02-02 16:19:37 +00:00
Florian Loitsch 3b8e4d41a7 Reapply "Run async functions immediately."
Which was reverted in commit 032be73dbe.
Originally commited in commit 67bac0bce6.
Original review URL: https://dart-review.googlesource.com/5263

Change-Id: Ic7333c29e502a3924dc6aade8ffa46fc8aa5b04a
Reviewed-on: https://dart-review.googlesource.com/38120
Commit-Queue: Florian Loitsch <floitsch@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2018-02-02 15:50:16 +00:00
Vyacheslav Egorov d117760ba6 [vm/kernel/aot] Skip unnecessary type checks on parameters of instance methods.
This relands 75a9579ea0.

The approach works as follows:

Step 1: Kernel transform. Under the closed world assumption compute the
set of selectors dispatched dynamically, then mark all procedures that don't
match any of those selectors as 'not-dispatched-dynamically'.

Step 2: VM backend. When building IR for a function if this function was
marked as not-dispatched-dynamically then omit type checks for any parameter
that is not marked as generic-covariant-impl, as such arguments are guaranteed
to be checked on the caller side (by front-end).


+------------------------+------------+----------+-----------+--------------+
|       benchmark        |  baseline  |  current |  with opt |  improved by |
+------------------------+------------+----------+-----------+--------------+
| stock_layout_iteration |  2366.3786 |   2724.3 |   2562.75 |  -5.93%      |
| stock_build_iteration  |     3824.3 |   4914.8 |      4681 |  -4.76%      |
+------------------------+------------+----------+-----------+--------------+

* Flutter gallery Instructions size is reduced by 11% (8748720 bytes to 7846368 bytes).
Baseline is at 6196496 bytes.


Alternatively to annotating individual procedures, I considered annotating Program node
with a set of dynamically dispatched selectors. Decoding and passing this information
around proved to be quite cumbersome in the "streaming" world, so I opted for a simpler
approach where all individual procedures are annotated.

Bug: https://github.com/dart-lang/sdk/issues/3179
Change-Id: I2f32a609e3872c74d5ae7bbd97555453aaedf15f
Reviewed-on: https://dart-review.googlesource.com/38125
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
2018-02-02 11:43:55 +00:00
Jens Johansen c562c47f4c Disable loading corrupt dill in incremental_load_from_dill_test
Change-Id: If0f873de3ca69531a0e95bb8270db7c1645b06c6
Reviewed-on: https://dart-review.googlesource.com/38124
Reviewed-by: Jens Johansen <jensj@google.com>
2018-02-02 09:07:19 +00:00
Jens Johansen 7d06a43afa Revert "Avoid file io in incremental_load_from_dill_test"
This reverts commit 69412b2da7.

Reason for revert: Didn't work.

Original change's description:
> Avoid file io in incremental_load_from_dill_test
> 
> Attempt to avoid failure on Windows.
> 
> Change-Id: Ib86d36e377e655dc85f5a3e2da219e911fa3fa3c
> Reviewed-on: https://dart-review.googlesource.com/37761
> Reviewed-by: Jens Johansen <jensj@google.com>

TBR=ahe@google.com,jensj@google.com,kmillikin@google.com

Change-Id: I0f1957fd3a4f60dfcf86e907d2e36d243521b25e
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/37745
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2018-02-02 09:03:43 +00:00
Jens Johansen 69412b2da7 Avoid file io in incremental_load_from_dill_test
Attempt to avoid failure on Windows.

Change-Id: Ib86d36e377e655dc85f5a3e2da219e911fa3fa3c
Reviewed-on: https://dart-review.googlesource.com/37761
Reviewed-by: Jens Johansen <jensj@google.com>
2018-02-02 07:53:55 +00:00
Sigmund Cherem 5428a12b84 Ensure that env includes the actual mixin application fields and procedures.
From the docs of mixedInClass and mixin: the former is the direct thing that is
mixed in, but if it is a named mixin application it may not contain the actual
fields and procedures, instead the `.mixin` class does.

Change-Id: I049ced771925431d613b0b661154c1761fbe0a51
Reviewed-on: https://dart-review.googlesource.com/38161
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Emily Fortuna <efortuna@google.com>
2018-02-02 07:10:30 +00:00
Konstantin Shcheglov 860a624410 New Quick Assist to wrap with Center.
R=brianwilkerson@google.com, devoncarew@google.com

Change-Id: I729501ba128d2b287e0731fa63c84864f7435d3c
Reviewed-on: https://dart-review.googlesource.com/38167
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-02-01 23:21:34 +00:00
Sigmund Cherem 3b7569b66c Include additional flavor details in output comment
Mostly to validate that we are running the right version of an app when
debugging locally.

Change-Id: I24c19fbb73ac25f9691021307c4e1947fd857287
Reviewed-on: https://dart-review.googlesource.com/38141
Reviewed-by: Emily Fortuna <efortuna@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-02-01 22:21:50 +00:00
Konstantin Shcheglov 0ff7348c7b Switch tests to use Flutter package mock that more closely resembles the actual package structure.
So, we can test that "Wrap with Center" works when we ask for Center
in package:flutter/widgets.dart

R=brianwilkerson@google.com, devoncarew@google.com

Change-Id: I3446f5cf97c1d6f2e68686de6561d894b5e95620
Reviewed-on: https://dart-review.googlesource.com/38162
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-02-01 22:12:06 +00:00
Jaime Wren e2eb5a332a Additional analyzer test for the implicit new case: "A<T>()"
Change-Id: I98981f948d0b60dc0e652257020bcd7ce833ff41
Reviewed-on: https://dart-review.googlesource.com/38146
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Jaime Wren <jwren@google.com>
2018-02-01 21:07:18 +00:00
Vyacheslav Egorov 7078f6be58 Revert "[vm/kernel/aot] Skip unnecessary type checks on parameters of instance methods."
This reverts commit 75a9579ea0.

Reason for revert: function_subtype_bound_closure7_test fails in darkp

Original change's description:
> [vm/kernel/aot] Skip unnecessary type checks on parameters of instance methods.
> 
> The approach works as follows:
> 
> Step 1: Kernel transform. Under the closed world assumption compute the
> set of selectors dispatched dynamically, then mark all procedures that don't
> match any of those selectors as 'not-dispatched-dynamically'.
> 
> Step 2: VM backend. When building IR for a function if this function was
> marked as not-dispatched-dynamically then omit type checks for any parameter
> that is not marked as generic-covariant-impl, as such arguments are guaranteed
> to be checked on the caller side (by front-end).
> 
> # Performance Impact
> 
> +------------------------+------------+----------+-----------+--------------+
> |       benchmark        |  baseline  |  current |  with opt |  improved by |
> +------------------------+------------+----------+-----------+--------------+
> | stock_layout_iteration |  2366.3786 |   2724.3 |   2562.75 |  -5.93%      |
> | stock_build_iteration  |     3824.3 |   4914.8 |      4681 |  -4.76%      |
> +------------------------+------------+----------+-----------+--------------+
> 
> * Flutter gallery Instructions size is reduced by 11% (8748720 bytes to 7846368 bytes).
> Baseline is at 6196496 bytes.
> 
> # Alternative Implementations
> 
> Alternatively to annotating individual procedures, I considered annotating Program node
> with a set of dynamically dispatched selectors. Decoding and passing this information
> around proved to be quite cumbersome in the "streaming" world, so I opted for a simpler
> approach where all individual procedures are annotated.
> 
> Change-Id: I363db6d5dd1138fe25917646313c16d0b213c3b4
> Reviewed-on: https://dart-review.googlesource.com/37822
> Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
> Reviewed-by: Alexander Markov <alexmarkov@google.com>
> Reviewed-by: Samir Jindel <sjindel@google.com>

TBR=vegorov@google.com,alexmarkov@google.com,sjindel@google.com

Change-Id: I0fd6bf3e6edfc3e605da2b996f9a0da6c409d01c
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/37802
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-02-01 20:41:19 +00:00
Sigmund Cherem 611621e3ea Visit typedeftype.
This is to address the cl comment here:
https://dart-review.googlesource.com/c/sdk/+/37880/4/pkg/compiler/lib/src/js_model/elements.dart

TBR=johnniwinther@google.com

Change-Id: I90e9994edb14fca083242cbc4fdda8a7e9f4c23f
Reviewed-on: https://dart-review.googlesource.com/38160
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-02-01 19:34:58 +00:00
Brian Wilkerson 49e04b7875 Add an isConst getter to TypedLiteral
Change-Id: Ia884fe5aa6ba9b40ba5ef8c342c2312b3dd2ea77
Reviewed-on: https://dart-review.googlesource.com/38140
Reviewed-by: Jaime Wren <jwren@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-02-01 19:23:38 +00:00
Konstantin Shcheglov b0e5ff1a76 Add a test for a field rename that potentially conflicts with a parameter with null visible range.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/31497
Change-Id: I8293612a3dde1f794e871cf7b5a9384db3574c91
Reviewed-on: https://dart-review.googlesource.com/38100
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-02-01 18:47:38 +00:00
Brian Wilkerson 277724b80a Uncomment accidentally commented out tests
Change-Id: I807e89bafdf3c8d9bdd1ac0834124f9051e9fa44
Reviewed-on: https://dart-review.googlesource.com/38142
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-02-01 18:45:28 +00:00
Vyacheslav Egorov 75a9579ea0 [vm/kernel/aot] Skip unnecessary type checks on parameters of instance methods.
The approach works as follows:

Step 1: Kernel transform. Under the closed world assumption compute the
set of selectors dispatched dynamically, then mark all procedures that don't
match any of those selectors as 'not-dispatched-dynamically'.

Step 2: VM backend. When building IR for a function if this function was
marked as not-dispatched-dynamically then omit type checks for any parameter
that is not marked as generic-covariant-impl, as such arguments are guaranteed
to be checked on the caller side (by front-end).

# Performance Impact

+------------------------+------------+----------+-----------+--------------+
|       benchmark        |  baseline  |  current |  with opt |  improved by |
+------------------------+------------+----------+-----------+--------------+
| stock_layout_iteration |  2366.3786 |   2724.3 |   2562.75 |  -5.93%      |
| stock_build_iteration  |     3824.3 |   4914.8 |      4681 |  -4.76%      |
+------------------------+------------+----------+-----------+--------------+

* Flutter gallery Instructions size is reduced by 11% (8748720 bytes to 7846368 bytes).
Baseline is at 6196496 bytes.

# Alternative Implementations

Alternatively to annotating individual procedures, I considered annotating Program node
with a set of dynamically dispatched selectors. Decoding and passing this information
around proved to be quite cumbersome in the "streaming" world, so I opted for a simpler
approach where all individual procedures are annotated.

Change-Id: I363db6d5dd1138fe25917646313c16d0b213c3b4
Reviewed-on: https://dart-review.googlesource.com/37822
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
2018-02-01 18:07:38 +00:00
Brian Wilkerson c8e82b0995 Clean up dead code in recovery tests
Change-Id: I675e2c55a5e9216c6e6b4702a2bd86035009d9cb
Reviewed-on: https://dart-review.googlesource.com/38081
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-02-01 18:06:57 +00:00
Brian Wilkerson 30fa9c93af Clean up AnalysisOptions API
Change-Id: I54b7ba69cc1e03d38844abac7fdba07ba6c3c578
Reviewed-on: https://dart-review.googlesource.com/38080
Reviewed-by: Jaime Wren <jwren@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-02-01 17:50:38 +00:00
Brian Wilkerson 02fa885504 Add inConstantContext to Expression and use it
Change-Id: I1075afbe99f7d71b42b2a4074827bb91ea195a46
Reviewed-on: https://dart-review.googlesource.com/38001
Reviewed-by: Jaime Wren <jwren@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-02-01 17:25:08 +00:00
Paul Berry 6ddb483c8e Reverse the order of analyzer code generation
At some point the analyzer code generator for the task dependency
model began depending on summary infrastructure.  Therefore we need to
do summary code generation first.

Change-Id: I123c6bf2a1c5e0cb6f72548243955a714c0c763d
Reviewed-on: https://dart-review.googlesource.com/38000
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-02-01 16:03:08 +00:00
Siva Chandra 71dba8a0e5 Link the platform kernel with the command line dart executable.
Change-Id: Ib376a259e2e9ff9b487820c041d6795f8f7192d1
Reviewed-on: https://dart-review.googlesource.com/37420
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Siva Chandra <sivachandra@google.com>
2018-02-01 15:11:29 +00:00
Florian Loitsch 032be73dbe Revert "Run async functions immediately."
This reverts commit 67bac0bce6.

Reason for revert: broke the bot.

Original change's description:
> Run async functions immediately.
> 
> Migrated from https://codereview.chromium.org/2478703003/
> 
> Change-Id: I1d678c01ba5876490b12c676c500171328361d31
> Reviewed-on: https://dart-review.googlesource.com/5263
> Commit-Queue: Florian Loitsch <floitsch@google.com>
> Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
> Reviewed-by: Vijay Menon <vsm@google.com>
> Reviewed-by: William Hesse <whesse@google.com>
> Reviewed-by: Martin Kustermann <kustermann@google.com>
> Reviewed-by: Régis Crelier <regis@google.com>

TBR=whesse@google.com,rnystrom@google.com,vegorov@google.com,kustermann@google.com,zra@google.com,floitsch@google.com,jmesserly@google.com,vsm@google.com,regis@google.com,sigmund@google.com

Change-Id: I20c948057423c3fa5aa8c72843f8f2a17e086ad5
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/37981
Reviewed-by: Florian Loitsch <floitsch@google.com>
Reviewed-by: William Hesse <whesse@google.com>
2018-02-01 15:01:21 +00:00
Jens Johansen c3b992dcd8 [fasta] incremental compiler can initialize from dill
As requested in #31691 the incremental compiler should be able to
initialize its state from a previously generated dill file.

This CL introduces that functionally.
It is tested, but actual usage (e.g. proper invalidation of old files)
should live outside of the front-end (i.e. it's the callers responsibility).
One option would be for the caller to load the dill file and use the
included sources to invalidate changed files.

On my machine a from-scratch compile of dart2js takes ~5 seconds,
one initialized from such an output and with a single file invalidated
(though it actually hasn't changed) it takes ~1 second and the resulting
dill file is bit-perfect compared to the from-scratch compiled one.

Closes #31691.

Change-Id: I07f5efca5f2684d73f6c252f2dbc2ad04e9b5cd0
Reviewed-on: https://dart-review.googlesource.com/37260
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2018-02-01 14:57:07 +00:00
Aske Simon Christensen caabeaa618 Add type variables to scope before their bounds are resolved.
Closes https://github.com/dart-lang/sdk/issues/31766

Change-Id: I9be63fa04a083a5a7aaedb21829c77287d61b615
Reviewed-on: https://dart-review.googlesource.com/37742
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
2018-02-01 14:49:47 +00:00
William Hesse 25af9c2495 Add co19_2 suite to SDK source checkout
This is a branch of co19 tests where the tests have been
made strong mode compliant. A co19_2_analyzer.status file
has been added with the current statuses of the tests when
run on dartanalyzer --strong. We expect more Dart 2 configurations
to start running these tests and adding status files.

Change-Id: I22077272707620b92dd1092c38bbb4f3d5964493
Reviewed-on: https://dart-review.googlesource.com/37743
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Alexander Thomas <athom@google.com>
2018-02-01 14:11:37 +00:00
Florian Loitsch 67bac0bce6 Run async functions immediately.
Migrated from https://codereview.chromium.org/2478703003/

Change-Id: I1d678c01ba5876490b12c676c500171328361d31
Reviewed-on: https://dart-review.googlesource.com/5263
Commit-Queue: Florian Loitsch <floitsch@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Reviewed-by: William Hesse <whesse@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
2018-02-01 14:08:57 +00:00
Alexander Thomas 676c7dbd85 Revert "[Gardening] Marked pkg/front_end/test/fasta/compile_test.dart as 'Timeout' in pkg.status"
This reverts commit a6e59cc351.

Reason for revert: Timeout for these tests was increased in the recipes instead. We do want all of these tests to run.

Original change's description:
> [Gardening] Marked pkg/front_end/test/fasta/compile_test.dart as 'Timeout' in pkg.status
> 
> Change-Id: Ibf91848efef99159bb93b7ad46da91d4de9763ed
> Reviewed-on: https://dart-review.googlesource.com/37922
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
> Commit-Queue: Ben Konyi <bkonyi@google.com>

TBR=brianwilkerson@google.com,bkonyi@google.com

Change-Id: Id7dbb5241505c97c55b4469357d070e76bd42270
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/37662
Reviewed-by: Alexander Thomas <athom@google.com>
Commit-Queue: Alexander Thomas <athom@google.com>
2018-02-01 10:15:18 +00:00
Lasse Reichstein Holst Nielsen 0c18b643c6 Add RegExp.escape methods.
Fixes 4706

Bug: http://dartbug.com/4706
Change-Id: If635cb0eb7c20405ab0127a443fe51176191b5ad
Reviewed-on: https://dart-review.googlesource.com/35641
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
2018-02-01 09:56:47 +00:00
Ben Konyi a6e59cc351 [Gardening] Marked pkg/front_end/test/fasta/compile_test.dart as 'Timeout' in pkg.status
Change-Id: Ibf91848efef99159bb93b7ad46da91d4de9763ed
Reviewed-on: https://dart-review.googlesource.com/37922
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Ben Konyi <bkonyi@google.com>
2018-02-01 01:23:41 +00:00
Jenny Messerly 68ea5433fd implement assert initializers for DDC, fixes #27809
also fixes #31058, DDC failed to execute all field initializers
(already fixed this in DDK when porting code_generator).

also fixes assertion_initializer_test, it was not strong mode clean, so
it was not giving any meaningful results for runtime behavior.

Change-Id: I290b266ad77ed92851cc2d0617690c6c021182a3
Reviewed-on: https://dart-review.googlesource.com/37866
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Jenny Messerly <jmesserly@google.com>
2018-02-01 01:12:17 +00:00
Jenny Messerly 7d60caba63 fix #31973, dynamic calls to super getters that return Function
Change-Id: I6e87d5a501fcd004b43d570ce8a970ae9b8a5f78
Reviewed-on: https://dart-review.googlesource.com/37900
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Jenny Messerly <jmesserly@google.com>
2018-02-01 00:51:06 +00:00
Jaime Wren 1f4c74dabb Add the new language option in analysis_options.yaml files for enabling the preview-dart-2 flag
Change-Id: I32c090ad1d7696dd18a7db7ee470ea1af5f1ec91
Reviewed-on: https://dart-review.googlesource.com/37921
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Jaime Wren <jwren@google.com>
2018-01-31 22:45:08 +00:00
Jaime Wren ca0b707d2a Re-worked and refactored the resolution of implicit-new source in the analyzer resolver to make sure that any 'ClassName.methodName()' will not be mistakenly resolved as a constructor invocation.
Before any ASTs are constructed, a lookup happens to see if such a constructor exists, otherwise the AST replacement will not proceed, and even temporary ASTs will not be created: in this way we can add the test test_visitMethodInvocations_not_implicit_constructor.

Change-Id: I01e25af5d1eaec659cf02ca89f8a9a5da334e6a9
Reviewed-on: https://dart-review.googlesource.com/37920
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Jaime Wren <jwren@google.com>
2018-01-31 22:21:18 +00:00
Jenny Messerly 5013b28bbe fix #31999, remove fuzzy arrow runtime support from DDC
Also updates tests that relied on fuzzy arrows.

Change-Id: Ia8df1d8d421e43dfada589223d5e46182b92fa67
Reviewed-on: https://dart-review.googlesource.com/37425
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
2018-01-31 22:20:38 +00:00
Bob Nystrom 4aa55f06f4 Don't redundantly ignore cast failures on function types.
As far as I can tell, this case never gets hit because there is separate
support for ignoring cast failures on function types elsewhere.

Change-Id: I78bd8d0af10764477505545384f5103f294228bf
Reviewed-on: https://dart-review.googlesource.com/37648
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
2018-01-31 21:48:40 +00:00
Leaf Petersen 58bb8ace3f Fix missing variable typo in Link
Change-Id: I7c4c9ef5149328bb80ca7fadacb896654913fa4c
Reviewed-on: https://dart-review.googlesource.com/37641
Reviewed-by: Emily Fortuna <efortuna@google.com>
Commit-Queue: Leaf Petersen <leafp@google.com>
2018-01-31 21:24:08 +00:00
Leaf Petersen 0b2a0ed73c Update package testing for Dart 2.0 core lib changes (wave 2.2)
Change-Id: Ie64d3bcc0609b9d6c36a84815694c4aa71d20851
Reviewed-on: https://dart-review.googlesource.com/37864
Reviewed-by: Emily Fortuna <efortuna@google.com>
Commit-Queue: Leaf Petersen <leafp@google.com>
2018-01-31 21:12:28 +00:00
Sigmund Cherem 3b6d39cc2c Correctly defer typedef references
Change-Id: I61fb5ebb399dcfca5193b7ae870badc10add23e5
Reviewed-on: https://dart-review.googlesource.com/37880
Reviewed-by: Emily Fortuna <efortuna@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
2018-01-31 21:10:29 +00:00
Brian Wilkerson b74ceb0248 Remove a warning (issue 31351)
Change-Id: Id798aa7ece345970e3bfba15b260df6482a57074
Reviewed-on: https://dart-review.googlesource.com/37861
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-01-31 20:42:26 +00:00
Alexander Markov 450765c64e [kernel] Support external procedures without @ExternalName in treeshaker/findNativeName
Dart allows 'external' functions which are not connected to their body.
Calling such functions produces runtime error, but they should be accepted
at compile time. Test language_2/external_test verifies this behavior.

This CL fixes treeshaker/findNativeName to return 'null' instead of throwing
an error for 'external' functions without @ExternalName annotation (which
is used to specify native name).

Change-Id: I04ec892af29ffe064ece8fddd6f67c7acdca1139
Reviewed-on: https://dart-review.googlesource.com/37122
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-01-31 19:52:25 +00:00
Alexander Aprelev 4e677e9606 Revert "Introduce incremental compiler that can support accept/reject vm flow."
This reverts commit 2912e95451 as it introduced a flaky test.

Change-Id: I09c5d64eb2fe75ed67b6af5aa60b91de88f4bbda
Reviewed-on: https://dart-review.googlesource.com/37865
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2018-01-31 19:17:39 +00:00