Commit Graph

64479 Commits

Author SHA1 Message Date
Nate Bosch d8a0d68bd6 Rename devcompiler to ddc
The value 'devcompiler' is never being passed to this argument so this
will not break any known use cases. The name 'ddc' has better
consistency with how we label SDK platforms in `build_runner`.

Bug: https://github.com/dart-lang/build/issues/2174
Change-Id: I95f6cb75ec86c2f276298781443203d201550815
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99704
Reviewed-by: Jake Macdonald <jakemac@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
2019-04-17 21:42:51 +00:00
Ryan Macnak 6d91643073 [vm, interpreter] Handle closure case of invoke-field-dispatchers as bytecode.
This will appear to regress the "interp-only" mode on Golem because it will no longer cheat by inlining into a machine code version of the closure call method.

Bug: https://github.com/dart-lang/sdk/issues/36410
Change-Id: I5daa2cffb6d18b6dd2da61ce08d5bc90092a250a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99561
Reviewed-by: Régis Crelier <regis@google.com>
2019-04-17 21:28:51 +00:00
Dan Rubel b8a9711489 Update AstBuilder to handle "required" modifier
Change-Id: I68a3f0abd405119ccc52dc9263860129fff7453a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99486
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-04-17 21:19:51 +00:00
Dan Rubel ca28e2c8ce forward "required" modifier to parser listeners
... and have each report an error by default

Change-Id: If818a7bb207becbed95a97890632a1803917d285
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99720
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-17 21:19:51 +00:00
Konstantin Shcheglov 250d931ecc When URI cannot be resolved, the library is null.
R=brianwilkerson@google.com

Change-Id: Icdba4cd1c23b88bdfc11bd9082a79738f3371a9e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99726
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-17 20:27:56 +00:00
Konstantin Shcheglov 2491767a33 Use correct CompilationUnitElement for annotations.
R=brianwilkerson@google.com

Change-Id: Iad43c3f8cb02bcc165235e3832a569f4dd44c7a5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99725
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-17 20:27:35 +00:00
Konstantin Shcheglov 4ef18fdb96 Fix nameOffset for Export/ImportElement.
R=brianwilkerson@google.com

Change-Id: If757d8ccbb0bdaed74c2d4268a507bd87854ab05
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99724
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-17 20:27:18 +00:00
Konstantin Shcheglov 7873dbdc1d Fix for duplicate declarations.
R=brianwilkerson@google.com

Change-Id: Ie08b441edc30027ec4c4509f6c77b97d4cf8242d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99723
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-17 20:27:01 +00:00
Ryan Macnak 38049f3cb6 [vm, interpreter] Handle implicit static getters as bytecode.
Handle bytecode without a function in stack trace collection.

Bug: https://github.com/dart-lang/sdk/issues/36410
Change-Id: I828fbc11fb0c7ad617ff7a31f44adb021f9b6edf
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99378
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-04-17 19:48:37 +00:00
Konstantin Shcheglov 714a082a5d Minimal integration of summary2 into AnalysisDriver.
There are also a couple of fixes for linking, to reduce the number
of failures.

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

Change-Id: I411ac34dd65bafd35adcbf22c1b78869ec0b5e24
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99703
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-17 19:15:52 +00:00
Dan Rubel dd3530450d make "late" and "required" builtin keywords
Change-Id: Ia352ec979bc04edcb1e9ee9733a3f86d8e5ce1a4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99644
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-04-17 18:51:01 +00:00
Brian Wilkerson 836efd6520 Add a language_2 test for having an invalid type in an on clause
Change-Id: Ia073e6a85f6f5cc54ecb45ab5d4e11e7976c3134
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99701
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-04-17 18:35:20 +00:00
Dan Rubel 81e554ea43 parse "required" modifier for NNBD
This updates the parser to recognize the "required" modifier
but always reports an error when it is detected.
A subsequent CL will update the listeners to handle the new modifier.

This also cleans up ModifierContext initialization
and adds a new pseudo-keyword-used-as-type test

Change-Id: I83f9a6b410c2bfb3476e691d3e8482bf7c97b0dc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99643
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-04-17 17:54:00 +00:00
Zichang Guo 1eab04ed3f Reland "[VM-debugger] resolve column breakpoint tokenposition into a single value"
This is a reland of 2d1440b848

Original change's description:
> [VM-debugger] resolve column breakpoint tokenposition into a single value
> 
> The token positions of column breakpointlocation was the token position range of requested line.
> With column number given, the token position should be resolved into a single value. Therefore,
> FindInnermostClosure() can identify the closure precisely.
> 
> BUG= https://github.com/dart-lang/sdk/issues/35137
> 
> Change-Id: Ibbd273fcd85d49b441f2de7f3720e7889a6c1c22
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97341
> Reviewed-by: Siva Annamalai <asiva@google.com>
> Commit-Queue: Zichang Guo <zichangguo@google.com>

Bug: https://github.com/dart-lang/sdk/issues/35137
Change-Id: I7b8f4a7ea266b4ad5c63d137cd256706885a7452
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99450
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Zichang Guo <zichangguo@google.com>
2019-04-17 17:50:36 +00:00
Ryan Macnak ec27b09e68 [vm, service] Fix deferral of service extension invocation to not be mislead by other OOB messages.
This was the behavior intended in 7052bd6bed.

Bug: https://github.com/dart-lang/sdk/issues/24137
Bug: https://github.com/dart-lang/sdk/issues/36612
Change-Id: I2d0712d89ff45cd480580e73c4fd55ac4cf2ca59
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99360
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
Reviewed-by: Ben Konyi <bkonyi@google.com>
2019-04-17 17:34:46 +00:00
Daco Harkes 1e30bb90dc [vm/dbc] Support unboxed Int64 on DBC
Note that this CL only implements the Box and Unbox instructions for 64 bit ints, but does not implement unboxed 64 bit int arithmetic.

Change-Id: I6205a900493ce526ef59d3e1f9c4887cae4d1f21
Cq-Include-Trybots: luci.dart.try:vm-kernel-linux-debug-simdbc64-try, vm-kernel-linux-release-simdbc64-try, vm-kernel-mac-debug-simdbc64-try, vm-kernel-mac-release-simdbc64-try, vm-kernel-reload-mac-debug-simdbc64-try, vm-kernel-reload-mac-release-simdbc64-try
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99025
Commit-Queue: Daco Harkes <dacoharkes@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
2019-04-17 16:41:06 +00:00
Brian Wilkerson 7b9ab9f353 Add error ranges to more diagnostic tests
Change-Id: I7c3efc8b4973f84f6b1ccfaf85d1c5655b461ffb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99446
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-04-17 16:08:16 +00:00
Paul Berry 3782197e95 Sort summary_common.dart
Change-Id: Id3ce4ab8437de025ce9e7cd754f69a18f18c72b3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99642
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-04-17 15:41:36 +00:00
Paul Berry 37285467db Improvements to null_assertion_ambiguous_test
Change-Id: I164d0815262d9c861c3b4ad3532808409004ea0a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99660
Reviewed-by: Leaf Petersen <leafp@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-04-17 15:36:26 +00:00
Keerti Parthasarathy b0c98d57fa Add the new manifest error codes to error codes list
Change-Id: Iaea0edc3d0680c03dec32c5da74399e1b26a399c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99580
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Keerti Parthasarathy <keertip@google.com>
2019-04-17 15:08:16 +00:00
Dan Rubel ebdefa3f5f add new "late" and "required" modifiers
Change-Id: Iec0acac1bb4280f31bd32297543eceb54f87f1ab
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99641
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-04-17 15:01:36 +00:00
Paul Berry bc99f1ca28 Test a few more uses of the nullable type decorator
Change-Id: I902caac00961514637b77f70200103618662b325
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99621
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-04-17 12:15:35 +00:00
Martin Kustermann f0da03ca36 [vm/compiler] Do not include FPU registers on ARM if VFP is not supported
Closes https://github.com/dart-lang/sdk/issues/36636

Change-Id: I5a07edb12af8d012e9fcbdc058abb57102a56436
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99462
Commit-Queue: Martin Kustermann <kustermann@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
2019-04-17 09:28:46 +00:00
Ryan Macnak d9c40462c2 [vm] Rename kImplicitStaticFinalGetter to kImplicitStaticGetter.
This function kind is used for any static field with an initializer. It has nothing to do with whether the field is final.

Change-Id: I3faa2d2d77fd4bbd801624bc0bba88476b8f3cb0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99622
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-04-17 00:47:15 +00:00
Kevin Moore 9a5a720413 Remove dead/outdated lints from pkg/dev_compiler/README.md
Change-Id: I6f09fcc5e8627b22e2a1e14568218108501ffa8f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99640
Auto-Submit: Kevin Moore <kevmoo@google.com>
Reviewed-by: Jenny Messerly <jmesserly@google.com>
Commit-Queue: Jenny Messerly <jmesserly@google.com>
2019-04-17 00:40:56 +00:00
Nicholas Shahan 9d15138c91 [tests] Revert the previous deletion of UI-as-Code const tests
Returning since they should be valid with the `constant-update-2018` experiment
flag:
* control_flow_collections/if_const_test.dart
* control_flow_collections/if_const_error_test.dart
* spread_collections/const_test.dart
* spread_collections/const_error_test.dart

Should be deleted when UI-as-Code is supported in constant collections:
* control_flow_collections/if_const_syntax_error_test.dart
* spread_collections/const_syntax_error_test.dart

Change-Id: I595333782630122ae4f3d021841b062b27e1cccb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99600
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-04-16 23:04:37 +00:00
Sigmund Cherem 523666a97a Fix messages_test.
Now that the feature is enabled by default, this status file needed to be updated.

TBR=dmitryas@google.com

Change-Id: Ib9ca7350e40da31fab7804fbcd89ca54180d5bd5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99620
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-04-16 21:38:09 +00:00
Sigmund Cherem 8e73b3c006 Enable ui-as-code features.
Change-Id: I97781ffe5144c4b959cb3cb720e9cd06c22928ec
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99283
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-04-16 21:29:55 +00:00
Ben Konyi 698800a902 [ VM / Service ] Initialize ThreadInterrupter state even if profiler isn't enabled.
Fixes issue #36586.

Change-Id: I2e3807d00d10e262201295744b6da8249a337e19
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99344
Reviewed-by: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Jacob Richman <jacobr@google.com>
2019-04-16 20:56:39 +00:00
Keerti Parthasarathy e7f75e11ae Add more checks for manifest
Change-Id: I1bdfa35fe6ae6d026a913abc95b209f0fe41e2fb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99500
Commit-Queue: Keerti Parthasarathy <keertip@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-16 20:33:15 +00:00
Sigmund Cherem 4b7d256a06 Revert "Enable constant-update-2018 by default." and "Update .expect files in pkg/front_end after e9ca6a53"
This reverts commit e9ca6a5335 and d3e00fd35e.

Change-Id: I346d6156be19c4fceffa202a7ce9bfa931c7c14b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99560
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2019-04-16 20:20:12 +00:00
Vijay Menon ecdbdf00b8 [dartdevc] Retry ddc incremental compile on crash
Change-Id: I00c2eb1b3bc6d9153fd2e88a8074e5670a0e082e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99442
Reviewed-by: Jake Macdonald <jakemac@google.com>
Reviewed-by: Nate Bosch <nbosch@google.com>
Reviewed-by: Jenny Messerly <jmesserly@google.com>
Commit-Queue: Vijay Menon <vsm@google.com>
2019-04-16 20:06:05 +00:00
Nicholas Shahan 6dc209e858 [tests] UI-as-Code in const collections is a compile time error
* Update tests to expect compilation errors when `if` `for` or `...` are used in
  const collections.
* Remove constant-update-2018 flag from tests.

Change-Id: I477c30f07c7e3da6139f263e1855c3908c1bce2d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99485
Reviewed-by: Sigmund Cherem <sigmund@google.com>
2019-04-16 20:02:29 +00:00
Sigmund Cherem f175b0baf8 Report errors for using control-flow and spread features in a const context
CFE detects the const context while parsing, so we can report the error message
early on before we do any transformations.

Change-Id: Ib1cadb28366eb6a9a18612206aa155b04a4a5b32
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99540
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-16 19:50:55 +00:00
Brian Wilkerson 73d99df7e0 Report when a potentially nullable type is used in an on clause
Change-Id: I6e9e779d5bb0f37cfd71d4d2dc38c1511c03d59f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99484
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-04-16 19:34:25 +00:00
Dan Rubel 80dd5ca3d4 new "modifier out of order" error code
This replaces the const-after-factory error code
with a more general modifier-out-of-order error code.

Change-Id: I71baf2c96656241475c344cb33b887d8e0d456fe
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99481
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2019-04-16 19:28:55 +00:00
Aart Bik 9070d6ae61 [dart/vm] Inspect shift constant in absence of range analysis
Rationale:
Queries the constant of a shift operation to determine if it
is in range when range analysis has not run. This seems in general
a good idea, since some optimizations occur *after* range analysis,
and we were missing those cases. In this particular case, it also
avoids an assert fail on a shift by one without env() that was
introduced by a pass that has no subsequent range analysis. In
this case, it is unclear whether not having an env() was an
accident, or on purpose since the shift factor is known to
be well-behaved. Please have a careful look!

https://github.com/dart-lang/sdk/issues/36587

Change-Id: I12b4cb773f31899e17bfce8506bce599ccbef8ba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99382
Commit-Queue: Aart Bik <ajcbik@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-04-16 19:07:15 +00:00
Sam Rawlins 49607d13e2 Bump markdown to 2.0.3
Change-Id: Ia67e81b3b18ee6de560acf518059849e1953f6f9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99541
Reviewed-by: Kevin Moore <kevmoo@google.com>
Commit-Queue: Samuel Rawlins <srawlins@google.com>
2019-04-16 18:43:15 +00:00
Ryan Macnak 1642934663 [vm, interpreter] Emit only one copy of exception processing.
Change-Id: Icfa4039e7a097b9290dd8bbd875791c05ad89162
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99420
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-04-16 18:29:35 +00:00
Konstantin Shcheglov 41e9878348 Unbreak two tests that were failing on Windows.
R=brianwilkerson@google.com

Change-Id: Ib871dcddb5c547ad3b89ef529fb0d739f1cdd30b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99483
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-16 17:55:55 +00:00
Konstantin Shcheglov cef1e31284 Rewrite AST for implicit instance creation.
R=brianwilkerson@google.com

Change-Id: I2fc7b75e2d64359c3bd79fdb613f03d01e8211a3
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99482
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-04-16 17:24:24 +00:00
Alexander Markov 6e28c24a01 [vm/compiler/bytecode] Ensure CheckStackOverflow is in the join block
Fixes https://github.com/dart-lang/sdk/issues/36590

Change-Id: Ie18f0f61a437c58b452bbcde8f4bafe58125328f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99377
Reviewed-by: Aart Bik <ajcbik@google.com>
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-04-16 16:37:25 +00:00
Johnni Winther 5af34ea93d [CFE] Handle invalid constant string interpolation in unevaluated constant expressions
Non-primitive constants were incorrectly stringified in an unevaluated
context. These are now, as with unevaluated constants, checked when the
string concatenation is fully evaluated.

Closes #36609

Change-Id: Ia3266ebcb9d497b277690244569812f7cd3e30c8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99461
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Auto-Submit: Johnni Winther <johnniwinther@google.com>
2019-04-16 16:05:05 +00:00
Paul Berry 457a781bd7 Reland "Do not append ! to type names in tests that exercise NullabilitySuffix.none."
This is a reland of 890d12fa47

Original change's description:
> Do not append `!` to type names in tests that exercise NullabilitySuffix.none.
> 
> Appending `!` is confusing because it suggests a non-nullable version
> of the type.  But the absence of a `?` or `*` suffix doesn't mean the
> type is non-nullable.  For type parameters, the type might or might
> permit null depending on how it is instantiated.
> 
> Change-Id: I3c98ddeb80816cc82e00e2692977e66c9fb51170
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99373
> Reviewed-by: Dan Rubel <danrubel@google.com>
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
> Commit-Queue: Paul Berry <paulberry@google.com>

Change-Id: Ifbb3caea8881839e16ac959f962adc831b792ec6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99448
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-04-16 16:02:25 +00:00
Konstantin Shcheglov 2b4d27bf6f Fix test_unresolved_annotation_instanceCreation_argument_super.
R=brianwilkerson@google.com

Change-Id: I6a70d9766fe90fc9eb4b7783a3c897c849a1652e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99445
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-04-16 15:54:24 +00:00
Paul Berry c3428c9342 Disallow UI-as-code in constants if constant-update-2018 is disabled.
Analyzer unit tests exercising the behavior of UI-as-code had to be
replicated so that we could test the behavior both with and without
constant-update-2018.

Note that as of the writing of this CL, constant-update-2018 has been
enabled by default, so there is no immediate functional change.  The
change will take effect if we decide to back out constant-update-2018.

Change-Id: Iff50f4cb834805bec14638220671384c97dea39d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99443
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-04-16 15:45:44 +00:00
Alexander Markov a8e8b2c426 [vm/compiler] Elide DebugStepCheck instructions in PRODUCT mode
This improves https://dart-review.googlesource.com/c/sdk/+/99287
by removing DebugStepCheck instructions from unoptimized IL
entirely in PRODUCT mode.

Crash mentioned in https://dart-review.googlesource.com/c/sdk/+/99287/1/runtime/vm/compiler/backend/il_arm.cc#7045
is fixed. Also, this CL adds checks which helped me to debug the crash.

Change-Id: I5452877355876b21d2ce21890626db9e5a59f170
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99421
Reviewed-by: Martin Kustermann <kustermann@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2019-04-16 15:43:55 +00:00
Paul Berry 4b19ca1489 Add language_2 tests for NNBD null-assertion operator (!)
Change-Id: I06ffbfae376210ca0428181f567be3702defbe5a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99185
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-04-16 15:16:44 +00:00
Paul Berry 2768cce4bf Revert "Do not append ! to type names in tests that exercise NullabilitySuffix.none."
This reverts commit 890d12fa47.

Reason for revert: Bot failures

Original change's description:
> Do not append `!` to type names in tests that exercise NullabilitySuffix.none.
> 
> Appending `!` is confusing because it suggests a non-nullable version
> of the type.  But the absence of a `?` or `*` suffix doesn't mean the
> type is non-nullable.  For type parameters, the type might or might
> permit null depending on how it is instantiated.
> 
> Change-Id: I3c98ddeb80816cc82e00e2692977e66c9fb51170
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99373
> Reviewed-by: Dan Rubel <danrubel@google.com>
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
> Commit-Queue: Paul Berry <paulberry@google.com>

TBR=paulberry@google.com,scheglov@google.com,brianwilkerson@google.com,danrubel@google.com,mfairhurst@google.com

Change-Id: I5fe26d9d668dde4072ec0e4e25b9865a047bb817
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99447
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-04-16 14:53:59 +00:00
Konstantin Shcheglov 8188e02661 Create ConstFieldElementImpl for final instance fields in classes with const constructors.
R=brianwilkerson@google.com

Change-Id: Ie8590959e11b642951fae8fd39b93b75181034e7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99441
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-04-16 14:16:46 +00:00