Commit graph

53552 commits

Author SHA1 Message Date
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
Erik Corry 209959fe97 Fix status files to refer to correct deferred loading bug
R=kmillikin@google.com

Bug: 30273
Change-Id: Ib6e0ecf0d68d575680cb45a9208ea93cd94551b8
Reviewed-on: https://dart-review.googlesource.com/37823
Reviewed-by: Kevin Millikin <kmillikin@google.com>
2018-02-01 09:54:35 +00:00
Jens Johansen e4238bea4c Fix wrong assert in InvocationMirror_unpackTypeArguments (take 2)
It was pointed out that the previous fix
(5c74e0e16f) wasn't strong mode safe
because the returned array when length = 0 was not properly typed.
This fixes the issue by removing the old fix and simply removing the
assert.

Bug: 31381
Change-Id: I6d63d3329da2711067f632adbb9be998a4d468d9
Reviewed-on: https://dart-review.googlesource.com/37741
Reviewed-by: Régis Crelier <regis@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2018-02-01 07:09:38 +00:00
Jenny Messerly 8489a843db fix generic_test and generics_test for Dart 2
Change-Id: I831b5b0b6ade4cb099447e6a09058eb5c6745afa
Reviewed-on: https://dart-review.googlesource.com/36562
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2018-02-01 02:15:25 +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
Jenny Messerly 81304281c8 fix dart2js minified status for Dart 2 function type tests
Since dart2js doesn't implement Dart 2 yet, the RuntimeError status must
be copied for each of the many dart2js configurations.

Change-Id: I7814546ce808922bf62c12d6c5443eee8600a5c7
Reviewed-on: https://dart-review.googlesource.com/37940
Reviewed-by: Jenny Messerly <jmesserly@google.com>
2018-02-01 00:44:55 +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
Brian Wilkerson 4cad8c202d Attempt to fix bot status
Change-Id: Ib934765771306d57b218d3691c3bba249f1d90ef
Reviewed-on: https://dart-review.googlesource.com/37863
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-01-31 19:51:55 +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
Alexander Markov d69ac00676 [vm/kernel/tfa] Remove unused static type approximations
This CL removes .staticType from all Types and most Statements as they
are not currently used.

Change-Id: Ia29bac49327356b26395c4851d84941daf61614d
Reviewed-on: https://dart-review.googlesource.com/37124
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-01-31 19:15:15 +00:00
Alexander Markov 2b8e149999 [vm/kernel/tfa] Improve efficiency of type flow analysis
* _ReceiverTypeBuilder class is introduced to create receiver type more
  efficiently (without using union operations and creating intermediate
  types).

* Certain tracing prints are hidden behind kPrintTrace flag to avoid
  expensive string interpolations.

* Also, added debugging flag for dumping class hierarchy.

This CL reduces analysis time of Flutter gallery by ~2x.

Change-Id: Ia918b88a4d902895e77aac306dc6a5cf9cecad14
Reviewed-on: https://dart-review.googlesource.com/37644
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-01-31 17:43:25 +00:00
Jaime Wren 8b9e1bda84 Copy the CLI flag into the AnalysisOptions file
Change-Id: I0c5da5f884ed1343f2dbb999fed136f49bd55103
Reviewed-on: https://dart-review.googlesource.com/37649
Reviewed-by: Jaime Wren <jwren@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Jaime Wren <jwren@google.com>
2018-01-31 17:26:55 +00:00
Alexander Aprelev 2912e95451 Introduce incremental compiler that can support accept/reject vm flow.
This is to be used in Flutter tools: https://github.com/flutter/engine/pull/4601

Bug: https://github.com/dart-lang/sdk/issues/31919
Change-Id: Ib94562e797b3455c047ce5a9dae959375f957e5f
Reviewed-on: https://dart-review.googlesource.com/37360
Commit-Queue: Alexander Aprelev <aam@google.com>
Reviewed-by: Siva Annamalai <asiva@google.com>
2018-01-31 17:06:06 +00:00
Brian Wilkerson 1d9ac49dd9 Reland "Add an error when an integer literal is out of bounds"
Change-Id: Id6ef76b47bedabc96fc372f6aea455975dfcc213
Reviewed-on: https://dart-review.googlesource.com/37840
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-01-31 16:50:55 +00:00
Alexander Aprelev 0a79c54cee Remove trailing space only if string is not empty
Bug: dartbug.com/32003
Change-Id: Ia4160e438ac7f98ae607098761618623f6fd0501
Reviewed-on: https://dart-review.googlesource.com/37841
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2018-01-31 16:06:06 +00:00
William Hesse a4dd9d0a87 Update status for test on dart2js-with-kernel
R=erikcorry@google.com
BUG=32010

Change-Id: Ie615eb2975774027f0f606659d2d6704cf9341a6
Reviewed-on: https://dart-review.googlesource.com/37821
Reviewed-by: William Hesse <whesse@google.com>
2018-01-31 15:24:04 +00:00
Erik Corry 4089f9f199 Annotate even more failing abstract class tests with issue number
R=ahe@google.com

Bug: 32014
Change-Id: I66dd70498ac1bac854c2045cf9df9af56ee80746
TBR=ahe@google.com
Reviewed-on: https://dart-review.googlesource.com/37801
Reviewed-by: Erik Corry <erikcorry@google.com>
2018-01-31 13:19:29 +00:00
Erik Corry a57f95452f Annotate more failing abstract class tests with issue number
R=ahe@google.com

Bug: 32014
Change-Id: Ib2cf0b8dcd65f7115e674676c0682efc78f8d461
TBR: ahe@google.com
Reviewed-on: https://dart-review.googlesource.com/37820
Reviewed-by: Erik Corry <erikcorry@google.com>
2018-01-31 13:12:00 +00:00
Erik Corry 72b36a7927 Annotate failing abstract class tests with issue number
R=ahe@google.com

Bug: 32013
Change-Id: I1b56f8e3239ec8d5079a02031a94a4a2f93aa552
TBR=ahe@google.com
Reviewed-on: https://dart-review.googlesource.com/37800
Reviewed-by: Erik Corry <erikcorry@google.com>
2018-01-31 12:59:02 +00:00
Dan Rubel ec7435945d Remove findMemberName from parseTopLevelMember
This CL refactors parseTopLevelMember so that it does not scan ahead
using findMemberName. This is the next step in removing findMemberName
to improve top level declaration recovery.

Change-Id: I4d949f72cba5618541448c08e1756bf45a4d1762
Reviewed-on: https://dart-review.googlesource.com/37680
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-01-31 12:04:56 +00:00
Erik Corry e4ebb436c4 Disable list_replace_range_test that fails on dart2js+kernel
R=johnniwinther@google.com
BUG=32010

Change-Id: I325b0fd5d37bc9d15f5a9773f1acc3f7077556bd
Reviewed-on: https://dart-review.googlesource.com/37780
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2018-01-31 11:17:15 +00:00
Johnni Winther 5b626c2a40 Revert "[vm, isolate] Send large TypedData as ExternalTypedData in isolate messages."
This reverts commit ddafb88794.

Change-Id: I5bf56c82e4f6ad43ab9460220bc17476596a0530
Reviewed-on: https://dart-review.googlesource.com/37760
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2018-01-31 10:22:35 +00:00
Erik Corry d69b81d2e0 Fix test that expects too much from type inference
R=paulberry@google.com

Change-Id: I7a811b690fe06c3295363e7fccfbafb325a8c9b3
Reviewed-on: https://dart-review.googlesource.com/37740
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Erik Corry <erikcorry@google.com>
2018-01-31 09:06:31 +00:00
Johnni Winther abaabd4773 Remove unneeded RuntimeTypeChecks object
Change-Id: Ia0d7e842edff4694a74a6d3e43c3c912093c3e9b
Reviewed-on: https://dart-review.googlesource.com/37520
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2018-01-31 08:00:31 +00:00
Erik Corry 04d3b1b382 Fix wrong test corelib_2/json_map_test
R=floitsch@google.com

Change-Id: Ie444d91870e4bf043207f05db3950223ce1fcba2
Reviewed-on: https://dart-review.googlesource.com/37620
Commit-Queue: Erik Corry <erikcorry@google.com>
Reviewed-by: Florian Loitsch <floitsch@google.com>
2018-01-31 07:29:24 +00:00
Bob Nystrom c303d75aac Fix dart2js status.
Change-Id: I4edc8e261b48c832d22e7ea55b0a8c707fb5941a
Reviewed-on: https://dart-review.googlesource.com/37720
Reviewed-by: Sigmund Cherem <sigmund@google.com>
Commit-Queue: Bob Nystrom <rnystrom@google.com>
2018-01-31 01:22:27 +00:00
Régis Crelier ed1d8bd475 [VM parser] Complete support for generalized void (fixes #30516).
'void' is now allowed as type annotation for locals, fields, and formal
parameters, in addition to being previously allowed as type argument.
Update status files.

Change-Id: I6459f56824dc0a695615d8dc87c9a8a1f9be29ef
Reviewed-on: https://dart-review.googlesource.com/37651
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Régis Crelier <regis@google.com>
2018-01-31 00:56:41 +00:00
Ryan Macnak ddafb88794 [vm, isolate] Send large TypedData as ExternalTypedData in isolate messages.
Bug: https://github.com/dart-lang/sdk/issues/31959
Change-Id: I7235d24e29b72bc9849d726b63f0d4c38633e803
Reviewed-on: https://dart-review.googlesource.com/37423
Reviewed-by: Siva Annamalai <asiva@google.com>
Commit-Queue: Ryan Macnak <rmacnak@google.com>
2018-01-30 23:48:01 +00:00
Bob Nystrom 85faacc23c Fix the const assertion test.
Dart 2 has no notion of "checked mode", so a failed assertion in a
const constructor should always be a compile error.

Change-Id: I02227c03613346918de1e3a7f7c70d209a940b90
Reviewed-on: https://dart-review.googlesource.com/37647
Reviewed-by: Leaf Petersen <leafp@google.com>
2018-01-30 23:26:01 +00:00
Brian Wilkerson 0916cca7d2 Do not convert return type of enclosing function when adding async to nested closure (issue 30901)
Change-Id: I8293b7784f71d4ff7846a0cca6efbfa69847b7da
Reviewed-on: https://dart-review.googlesource.com/37646
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-01-30 21:57:10 +00:00
Jenny Messerly 16f8bbe68b fix #32001, DDC mixins with getter/setters partially from superclass
Whenever we install a getter or setter, we need to install a corresponding
one that calls `super`, because JS treats getters/setters as pairs for the
purposes of lookup. Normally we generate the paired super accessor, but for
mixins we cannot, because we don't know what the `super` will be at compile
time. So the fix is for `mixinMembers` to handle it at run time.

Change-Id: I2b14ea437720bd26f2879c7daac5b3f796d48038
Reviewed-on: https://dart-review.googlesource.com/37645
Reviewed-by: Vijay Menon <vsm@google.com>
Commit-Queue: Jenny Messerly <jmesserly@google.com>
2018-01-30 21:44:50 +00:00
Adam Barth b447a3989c [fuchsia] Update FIDL1 C++ bindings to match FIDL2 interface
This change will make it easier to transition to FIDL2.

Change-Id: Ibd69f9cb60687630b81306d5931134916d4d1d84
Reviewed-on: https://dart-review.googlesource.com/37640
Reviewed-by: Alexander Aprelev <aam@google.com>
Commit-Queue: Alexander Aprelev <aam@google.com>
2018-01-30 21:39:52 +00:00
Jaime Wren 0bca64f57e First draft on API change for support for implicit new and const in the InstanceCreationExpressionImpl class.
Change-Id: Id8df09456689a400957fec15b9f32b8f4f10bab1
Reviewed-on: https://dart-review.googlesource.com/37642
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Jaime Wren <jwren@google.com>
2018-01-30 20:07:49 +00:00
Brian Wilkerson 1d6b2de09c Another status file update to fix the bots
Change-Id: I4cd60ab7c74573f136db44c2c4075d20abcd6688
Reviewed-on: https://dart-review.googlesource.com/37643
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-01-30 19:47:59 +00:00
Jaime Wren 25d0bac724 Initial tests for the implicit new and const constructor support in the analyzer
Change-Id: Ieef3294810520aaa03f6782971ccaaeff6ddb875
Reviewed-on: https://dart-review.googlesource.com/37422
Commit-Queue: Jaime Wren <jwren@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-01-30 18:57:59 +00:00
Leaf Petersen 991753313f Remove deep future flattening from analyzer and DDC
Change-Id: Ic48f29adec3a46744b259ba5b2b8ad7d97caa6c2
Reviewed-on: https://dart-review.googlesource.com/37424
Reviewed-by: Jenny Messerly <jmesserly@google.com>
2018-01-30 18:11:11 +00:00
Alexander Markov ec6eb06d2f [CFE] Make synthetic __loadLibrary procedure static
Change-Id: I23fa164059b214bcc763ac582aafcf86dc1964d4
Reviewed-on: https://dart-review.googlesource.com/37121
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Commit-Queue: Alexander Markov <alexmarkov@google.com>
2018-01-30 17:48:59 +00:00
Brian Wilkerson f8596607bb Update status files to fix bots
Change-Id: I1659bc7e8ef8452daf44ae6ca30064f01f338272
Reviewed-on: https://dart-review.googlesource.com/37580
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-01-30 17:33:09 +00:00
Alexander Markov 30a12f927b [vm/kernel/tfa] Fix invalidation of invocations during processing
This CL fixes the case when an invocation is invalidated in the
middle of processing. In such case, its result should not be retained
and it should be re-processed again.

Also:

* _WorkList.pending Set is replaced with LinkedList (reduces analysis time).

* ClassHierarchy is configured to ignore ambiguous supertypes.

* _AssertionError._throwNew entry point is added (as it is implicitly
  inserted by flow graph builder).

Change-Id: Ie2d5d29352a5463fbe602910f9ae7f6f77a917d7
Reviewed-on: https://dart-review.googlesource.com/37126
Commit-Queue: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Ryan Macnak <rmacnak@google.com>
2018-01-30 17:32:19 +00:00
Brian Wilkerson d0f105de1a Reland "Produce an error if there would be an exception thrown by an assert in an initializer list"
Change-Id: Id79a8cf949a08d56a59268b687f299f3482a1b88
Reviewed-on: https://dart-review.googlesource.com/37540
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-01-30 14:40:19 +00:00