Commit graph

58037 commits

Author SHA1 Message Date
Lasse Reichstein Holst Nielsen edd6b75a05 Add missing method to UnmodifiableMapMixin.
Fixes 34256
BUG= http://dartbug.com/34256

Change-Id: I780368176b0111130bee1b5aae1f5228eabfa16f
Reviewed-on: https://dart-review.googlesource.com/71460
Reviewed-by: Nate Bosch <nbosch@google.com>
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
2018-08-28 05:11:12 +00:00
Régis Crelier 4b8d3e4cf1 [VM runtime] Restore global isolate state after loading bytecode.
This caused deopt_ids to be wrongly reused when mixing
jitted and interpreted code.

Change-Id: I23eb93bb79d7297f8d9efdd81844394fee3fb821
Reviewed-on: https://dart-review.googlesource.com/71703
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Régis Crelier <regis@google.com>
2018-08-27 23:24:40 +00:00
Konstantin Shcheglov 83324a8db9 Fix for NPE when prefix completion after an expression without type.
R=brianwilkerson@google.com

Change-Id: I3ef1c1e1f981e3a5c9ed6da066a1d204c6b3816d
Reviewed-on: https://dart-review.googlesource.com/71620
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-27 22:14:01 +00:00
Konstantin Shcheglov d332cae86e Refactor PostfixCompletionTest to make invalid tests positive.
A clean up before https://dart-review.googlesource.com/c/sdk/+/71620

R=brianwilkerson@google.com

Change-Id: I475d1eab3bb5a54a2035a7b8940c101f662e53a0
Reviewed-on: https://dart-review.googlesource.com/71660
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-08-27 21:06:23 +00:00
Samir Jindel c691a85b92 [vm/kernel] Fix type arguments handling in IL construction.
Thanks to Alex Markov for the test case!

Fixes #34269.

Change-Id: I66371532b40984c58332ee43c99e744d746ecfae
Reviewed-on: https://dart-review.googlesource.com/71540
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-08-27 19:39:27 +00:00
Alexander Markov 52d33f0d5d [vm/kernel/bytecode] Support partially instantiated closures in bytecode
Generic closures should take delayed type arguments into account when
initializing type arguments in prologue.

Fixes language_2/instantiate_tearoff_test in bytecode mode.

Change-Id: I0ab07e759f3372ae9143a48f0b8b0fe4fab8a51a
Reviewed-on: https://dart-review.googlesource.com/71432
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Régis Crelier <regis@google.com>
Reviewed-by: Samir Jindel <sjindel@google.com>
2018-08-27 18:13:56 +00:00
Alexander Markov ff8a989e55 [vm/bytecode] Update status for a test with missing compile-time error
Negative test cases

  generic_function_type_as_type_argument_test/01
  generic_function_type_as_type_argument_test/02

rely on a compile-time error, which is still missing in CFE.
Unlike default VM, bytecode pipeline does not flag this error.

Change-Id: I3c052b5ca6013ab0728ffc234b5ffbe2fddfec5d
Reviewed-on: https://dart-review.googlesource.com/71600
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-08-27 17:59:10 +00:00
Alexander Markov 1b89c785e1 [vm/kernel/bytecode] Duplicate receiver variable if it is captured
If receiver is captured, the variable is duplicated so top-level
members can access receiver as a local variable.

This is more efficient and allows uses of receiver in the prologue of
top-level member, before context is allocated and receiver is copied to
the context.

Change-Id: I5b13f692767c3aa445e558bff2bc3f8fbf016561
Reviewed-on: https://dart-review.googlesource.com/71431
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-08-27 17:41:58 +00:00
Konstantin Shcheglov 8b3a0a8476 Issue 2558. Fixes for 'convert to async function body'.
R=brianwilkerson@google.com

Bug: https://github.com/flutter/flutter-intellij/issues/2558
Change-Id: I6e1931a226732b922c2c1695f378d3b59ae09c09
Reviewed-on: https://dart-review.googlesource.com/71560
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-08-27 16:31:14 +00:00
Martin Kustermann 8b5a2b01e7 [VM] Move any updates to static call targets array into the flow graph compiler
We already do this for static calls, with this CL we'll also do it for stub calls.

Change-Id: I2ec78a94165472d4a197f78a5789336b1b29e089
Reviewed-on: https://dart-review.googlesource.com/71402
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Martin Kustermann <kustermann@google.com>
2018-08-27 14:11:02 +00:00
Daniel Hillerström 8a99ab0c74 Fixes an illegal override in KernelUnresolvedNameGenerator.
The signature of the overridden method buildCompoundAssignment in
KernelUnresolvedNameGenerator (c.f. kernel_expression_generator.dart)
was illegal, because its (named parameter) arity was four, whilst the
same method in one of its supertypes has arity five.

Furthermore, there was a signature conflict for
buildCompoundAssignment amongst the supertypes of
KernelUnresolvedNameGenerator:

   KernelUnresolvedNameGenerator
   extends KernelGenerator
           |
           = Generator with KernelExpressionGenerator
                            |
                            arity(buildCompoundAssignment) = 5
   with    ErroneousExpressionGenerator, UnresolvedNameGenerator.
           |
           arity(buildCompoundAssignment) = 4

In this CL the conflict is resolved by the "greatest common
denominator" approach, that is, now each implementation of
buildCompoundAssignment has arity five.

This CL is a necessary step towards fixing
https://github.com/dart-lang/sdk/issues/34235

Related change: c95ef874aa

Change-Id: If1992b8fb2bb994f83557c48fb0ac276b2d1a8d3
Reviewed-on: https://dart-review.googlesource.com/71520
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Daniel Hillerström <hillerstrom@google.com>
2018-08-27 13:32:30 +00:00
Lasse Reichstein Holst Nielsen f6242cb100 Disallow expressions statements starting with {.
The current specification only prohibits expressions statements where the
expression *is* a map, not those that *start with* a map.
Implementations have always rejected those starting with a map.

Bug: http://dartbug.com/725
Change-Id: I805a6f82d1afdcf335aff73e74dac1f14e5a6afe
Reviewed-on: https://dart-review.googlesource.com/71247
Commit-Queue: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
2018-08-27 12:43:56 +00:00
Daniel Hillerström 8b92fe3bbd Checks whether a class extends or implements FutureOr.
According to the specification (§10.9) it is a compile-time error to
extend, implement, or use FutureOr as a mixin.

Expands the "multiple implements" check to include a test for whether
a class attempts to extend or implement the 'FutureOr' class.

The mixin case is indirectly caught by another syntactic check for
mixed in types (c.f. checkSemantics method in source_loader.dart). It
verifies whether a mixin has zero constructors. Since FutureOr has a
constructor the check fails. This is technically enough to meet the
specification, but it leads to a confusing error message for this
particular case. To improve the quality of the error message, we may
want to merge some of the mixed in check into checkSupertypes in
kernel_class_builder.dart.

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

Change-Id: I887ea9431fd50059399937f4236523ed917e3673
Reviewed-on: https://dart-review.googlesource.com/71141
Commit-Queue: Daniel Hillerström <hillerstrom@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2018-08-27 08:31:15 +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
Konstantin Shcheglov 07fb992964 Report CompileTimeErrorCode.FOR_IN_WITH_CONST_VARIABLE
R=brianwilkerson@google.com, paulberry@google.com

Bug: https://github.com/dart-lang/sdk/issues/25161
Change-Id: I27ebc09fd9fcd6d6d992268f158e80477c41d042
Reviewed-on: https://dart-review.googlesource.com/71424
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-08-26 20:09:46 +00:00
Konstantin Shcheglov 04e2ada09b Report StaticTypeWarningCode.WRONG_NUMBER_OF_TYPE_ARGUMENTS for dynamic and type parmaeters.
R=brianwilkerson@google.com, paulberry@google.com

Bug: https://github.com/dart-lang/sdk/issues/28813
Change-Id: Iae43c0bb913bfd06fa09ddeacd6fdb8f81eccf9a
Reviewed-on: https://dart-review.googlesource.com/71423
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-08-26 03:42:31 +00:00
danrubel 5e4e6037a9 Remove old scanner
Change-Id: If3abd39898487f4e790bbd2a4fcf5f2c8704c46d
Reviewed-on: https://dart-review.googlesource.com/70360
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-08-24 23:19:12 +00:00
Stephen Adams ecfc03c3d1 dart2js: fix crash on setter with FutureOr type.
TBR=johnniwinther@google.com

Change-Id: Idc82430ccbee697201401ed7ebcb11c34cb3d8ce
Reviewed-on: https://dart-review.googlesource.com/71429
Reviewed-by: Stephen Adams <sra@google.com>
Commit-Queue: Stephen Adams <sra@google.com>
2018-08-24 22:42:21 +00:00
Paul Berry 5424289f95 Analyzer test cleanup: remove unnecessary getter includeInformative
This getter appears to have been introduced in anticipation of
refactoring the summary mechanism to avoid populating summaries with
unnecessary "informative" data (see
da6a26966e), but such a refactoring
never occurred.

Change-Id: I6c486b21864b22a943af546a76bd63f7d55c42a3
Reviewed-on: https://dart-review.googlesource.com/71427
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-08-24 22:05:21 +00:00
Dan Rubel aa6945d5e9 First cut basic mixin declaration parsing support
... with parser recovery added in subsequent CLs.

Change-Id: I7a73e8e2a4dee961920fe9854bcd108bb1041b20
Reviewed-on: https://dart-review.googlesource.com/70882
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-08-24 21:58:55 +00:00
Paul Berry e91d30e904 Analyzer test cleanup: remove unnecessary getter skipNonConstInitializers
The getter used to be used to skip certain tests when testing the code
that computed summaries from the element model.  That code was removed
nearly two years ago (d13a887292).

Change-Id: I03fe6a28d9064374e25e4968fb1d2780f75e6826
Reviewed-on: https://dart-review.googlesource.com/71440
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-08-24 21:57:14 +00:00
Nate Bosch 0976347339 Expand docs for Stream.toSet
Fixes #30187

Include description of behavior around when the Future completes and how
errors are handled. Include detail of ordering - since the default
`Set` implementation is `LinkedHashSet` where insertion order matters.

Change-Id: I4695c131bcab4527b153f57f90bffe61c818d187
Reviewed-on: https://dart-review.googlesource.com/71381
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Commit-Queue: Nate Bosch <nbosch@google.com>
2018-08-24 19:28:37 +00:00
Nate Bosch dc9a7b3aa3 Clarify that stdout my not be done before exitCode
Closes #31666

Change-Id: If1ba66d72a57a3ca2ce38d9a8101de2f13baa639
Reviewed-on: https://dart-review.googlesource.com/71384
Commit-Queue: Nate Bosch <nbosch@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2018-08-24 18:54:25 +00:00
Nate Bosch 48f61d6ae3 Clarify docs on StreamSubscription.pause/resume
Fixes #27756

Call out more explicitly in the `pause` doc that `resume` and
`resumeSignal` are interchangeable, and in both docs that a `resume`
call is safe on a subscription which is not paused.

Also reformat to remove single newline in between sentences and to 80
character lines.

Change-Id: I1efd05639400f2cb5266e686adb99c3c721fabe7
Reviewed-on: https://dart-review.googlesource.com/71380
Commit-Queue: Nate Bosch <nbosch@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
2018-08-24 18:46:29 +00:00
Paul Berry 3d27982419 Add a language_2 test for invalid assignment to postfix increment.
Prior to c95ef874aa, case 02 crashed the
front end.  Prior to f074f3c120, case 01
crashed analyzer/FE integration.  Prior to
a94e43af7c, cases 02 and 03 crashed
analyzer/FE integration.  So it seems worth adding a test to make sure
we don't regress.

Change-Id: I0e1af7d9ed397d40dd1aebab3ff919999379d824
Reviewed-on: https://dart-review.googlesource.com/71369
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-08-24 18:29:14 +00:00
Paul Berry d2a4358bef Add a language_2 test reproducing #34235.
Change-Id: Icaf6329729a17b20a591ae6e9b8bf7c0d2e21265
Reviewed-on: https://dart-review.googlesource.com/71368
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Daniel Hillerström <hillerstrom@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-08-24 18:27:09 +00:00
asiva a6d20e6df4 Fix dependence on kernel-service in the application snapshot rule.
Change-Id: I8cc047ed3bcb1fbd9144ca3f1c9192f63b99a10b
Reviewed-on: https://dart-review.googlesource.com/71421
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Commit-Queue: Siva Annamalai <asiva@google.com>
2018-08-24 18:03:30 +00:00
Samir Jindel a11e079d4c [vm] Fix oversight in status file.
Change-Id: Icf9631799058ad4c6f1fd465f454950bcc11c8c5
Reviewed-on: https://dart-review.googlesource.com/71406
Reviewed-by: Samir Jindel <sjindel@google.com>
2018-08-24 17:41:41 +00:00
Samir Jindel cf6c57de40 [vm] Update status file for BitTestImmediate on Windows 32-bit.
Change-Id: I0269fe14090515eb77ba18af1932c8c31d2f663f
Reviewed-on: https://dart-review.googlesource.com/71405
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-08-24 17:11:12 +00:00
Alexander Markov 3e3459b0ab [vm/kernel/bytecode] Use default type args (bounds) in generic functions
This CL adds checking of number of passed function type arguments into
prologue of generic functions in bytecode. If type arguments are not
passed, then default type arguments (instantiated bounds) are used.

This mimics IL generated in StreamingFlowGraphBuilder::BuildDefaultTypeHandling.

In order to implement this check, a new bytecode instruction
JumpIfNotZeroTypeArgs is added to bytecode generator and interpreter.

Fixes language_2/function_apply_generic2_test in bytecode mode.

Change-Id: I70901c16b8bfc5f86623d51fccaf50f8969c587e
Reviewed-on: https://dart-review.googlesource.com/71387
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-08-24 15:55:05 +00:00
asiva 0a29264117 [VM] Remove vm_platform from the dart binary
- Remove vm_platform from the dart binary
- kernel isolate always compiles in strong mode

Change-Id: I4e3973fdaee0bda1c43244ea04673f253eaae249
Reviewed-on: https://dart-review.googlesource.com/65788
Commit-Queue: Siva Annamalai <asiva@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-08-24 15:45:04 +00:00
Kevin Millikin 6e63df3bfb Revert "Avoid the deprecated input error in source_loader"
Reverted because of failures on the VM reload tests.

Change-Id: I880523a5f3e14cc6d318d4493f037b79515b1dce
Reviewed-on: https://dart-review.googlesource.com/71401
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
2018-08-24 11:03:28 +00:00
Kevin Millikin 0eb0f700b8 Avoid the deprecated input error in source_loader
Avoid using deprecated errors by hadling them on a case-by-case basis.
This is a version of https://dart-review.googlesource.com/c/sdk/+/63144
with merge conflicts resolved.

Fixes #33686

Change-Id: I726740af2db5d32f15c8103c903376bc8ea948e6
Reviewed-on: https://dart-review.googlesource.com/71161
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
2018-08-24 09:14:15 +00:00
pq b72da4194c linter 0.1.60
* new lint: `avoid_void_async`
* `unawaited_futures` updated to check cascades

Change-Id: I9378df6ab618c9a0e71f8a3c5b16d2543445b014
Reviewed-on: https://dart-review.googlesource.com/71386
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Phil Quitslund <pquitslund@google.com>
2018-08-23 22:46:21 +00:00
Konstantin Shcheglov b255f0fab6 Resolve required arguments after named.
Change-Id: I2947be1fc20b1455e7865c34e35349977d61f70b
Reviewed-on: https://dart-review.googlesource.com/71382
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-08-23 22:04:12 +00:00
Sam Rawlins ff3908d6df Implement INVALID_SEALED_ANNOTATION analyzer Hint
This follows the pattern of other meta-annotations, when it comes to the AST:

* Element gains a new `hasSealed` getter. Many overrides.
* ElementAnnotation gains a new `isSealed` getter.

Bug: https://github.com/dart-lang/sdk/issues/34232
Change-Id: If8ae8e16b500125cb3b92b3cf83d46de6ca6ee23
Reviewed-on: https://dart-review.googlesource.com/71227
Commit-Queue: Samuel Rawlins <srawlins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-23 22:03:22 +00:00
Konstantin Shcheglov 955ca3ef87 Use SUPER_AS_EXPRESSION for SuperAsIdentifier.
Change-Id: I7bcbcc51739f01532f4723cf39c25a620f77f8b0
Reviewed-on: https://dart-review.googlesource.com/71364
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-08-23 21:48:27 +00:00
Régis Crelier 3d74bb0980 [VM runtime] Fix Compiler::CompileAllFunctions() to work with interpreter.
Change-Id: Icd82beb21f7d5f22d9422bd730774e859e025694
Reviewed-on: https://dart-review.googlesource.com/71365
Commit-Queue: Régis Crelier <regis@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-08-23 21:40:37 +00:00
Brian Wilkerson 7b87c7abeb Fix escape processing in interpolated strings
Change-Id: If4ed614f75a9eb1a0f42cb602fd1236cada31dd3
Reviewed-on: https://dart-review.googlesource.com/71362
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-23 19:25:56 +00:00
Paul Berry 1f82d37124 Refactor duplicate code in ContextAwareGenerator.
Change-Id: I9c63827e41e1a1c043432e5385d381b0e668469d
Reviewed-on: https://dart-review.googlesource.com/71361
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-23 19:21:43 +00:00
Paul Berry 630929edf2 Test analyzer/FE integration of some more obscure invalid assignment cases.
This CL tests proper handling of the following erroneous assignments:
- Compound assignment to prefix increment (e.g. "++x += y;")
- Null aware assignment to prefix increment (e.g. "++x ??= y;")

Change-Id: I090ba2dacd754372674276b9fea3945588f3a731
Reviewed-on: https://dart-review.googlesource.com/71360
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-08-23 19:11:15 +00:00
Régis Crelier e5b3feb241 [VM interpreter] Fix broken interpreter build after commit 5d7ca9cd1e.
Change-Id: I3a9540593e9cdcaaf54740d160101eb74f8e56c8
Reviewed-on: https://dart-review.googlesource.com/71363
Reviewed-by: Régis Crelier <regis@google.com>
2018-08-23 19:10:26 +00:00
Konstantin Shcheglov 19a17e66fd Fix constant evalutation for == and != when left or right is null.
Change-Id: Iefa0890b57a9ba01675ce80c81fd3a73511f8c82
Reviewed-on: https://dart-review.googlesource.com/71340
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-08-23 18:18:51 +00:00
Samir Jindel 2beb05b829 [vm] Re-land use of multiple entrypoints for closure calls.
Original patchset is in revision 1.

Change-Id: I29ab0dbc3711f99895fd4f04a49d4185463a1602
Cq-Include-Trybots: luci.dart.try:vm-kernel-win-release-x64-try,vm-kernel-optcounter-threshold-linux-release-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-kernel-precomp-linux-release-simarm-try,vm-kernel-precomp-linux-release-simarm64-try,vm-kernel-precomp-linux-release-x64-try,vm-kernel-precomp-win-release-x64-try,vm-kernel-linux-release-simarm-try,vm-kernel-linux-release-simarm64-try,vm-kernel-reload-linux-debug-x64-try,vm-kernel-reload-linux-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/71241
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-08-23 17:54:19 +00:00
Paul Berry a94e43af7c Fix analyzer/CFE integration of some more obscure invalid assignment cases.
This CL fixes handling of the following erroneous assignments:
- Compound assignment to postfix increment (e.g. "x++ += y;")
- Null-aware assignment to postfix increment (e.g. "x++ ??= y;")

There is some code duplication in ContextAwareGenerator now; I will
clean that up in a follow-up CL.

Change-Id: If68bc267b67904562bf8c2e705123d04fdf0b69a
Reviewed-on: https://dart-review.googlesource.com/71321
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2018-08-23 17:31:48 +00:00
Vyacheslav Egorov a69844cb19 [vm/compiler] Check for catch presence explicitly in optimizer.
Some optimizations were checking for a number of successors of graph
entry - but that count includes unchecked entry and indirect entries.

Change-Id: Ib163a7710aaba3e68023a9cd04ca194c03262c33
Reviewed-on: https://dart-review.googlesource.com/71302
Reviewed-by: Samir Jindel <sjindel@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
2018-08-23 17:19:00 +00:00
Brian Wilkerson 4212a46dab Add failing tests for handling of comment refs by fasta parser
Change-Id: I02bfbf2354ccf49bf6c3ea4968bb916f06b34c07
Reviewed-on: https://dart-review.googlesource.com/71320
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-23 17:11:47 +00:00
Samir Jindel 723eeccb36 [vm] Update status files after 23e379d0.
Change-Id: Iebb47fc431b44c340ee64e389aabc0e16e48e3d9
Reviewed-on: https://dart-review.googlesource.com/71301
Commit-Queue: Samir Jindel <sjindel@google.com>
Commit-Queue: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
2018-08-23 17:00:28 +00:00
Konstantin Shcheglov 7e39d07916 Resolve namespace combinators.
R=brianwilkerson@google.com, paulberry@google.com

Bug: https://github.com/dart-lang/sdk/issues/33636
Change-Id: I4f16eec2dcb5805663c0118d221f8ad8710cf3f8
Reviewed-on: https://dart-review.googlesource.com/71220
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-08-23 16:08:45 +00:00
Kevin Millikin 90a4600c12 Update lower and upper bounds used in type inference
During type inference, use the standard upper bound function SUB and
the standard lower bound function SLB defined in

https://github.com/dart-lang/sdk/blob/master/docs/language/informal/extreme-upper-lower-bounds.md

Change-Id: Ia767ae1e27ec3fac435cfe3f84b59d4bbc1589f7
Reviewed-on: https://dart-review.googlesource.com/70281
Commit-Queue: Kevin Millikin <kmillikin@google.com>
Reviewed-by: Erik Ernst <eernst@google.com>
Reviewed-by: Daniel Hillerström <hillerstrom@google.com>
2018-08-23 14:51:45 +00:00