Clement Skau
871983d8ae
Revert "[VM] Fixes missing bits for new sync* transform."
...
This reverts commit 05b7f49c72 .
Reason for revert: This appears to break other external targets. Rolling this and original CL back to unblock rolls until deeper investigation can be done.
Original change's description:
> [VM] Fixes missing bits for new sync* transform.
>
> The missing part of the transform fixes an issue that manifested
> as a crash when running tests for [0].
> Which was caused by un-transformed yields in nested functions in sync*s.
>
> The second half of this CL updates the type_checker tool for the new
> transform of sync*s.
>
> [0] https://github.com/KhronosGroup/glTF-Validator
>
> TBR: To unblock roll blocked by crash.
>
> Bug: https://github.com/dart-lang/sdk/issues/37753
> Change-Id: Ie20f351b16f2f87e92f0731fc96b0a5ea29e0300
> Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144948
> Commit-Queue: Clement Skau <cskau@google.com >
> Reviewed-by: Clement Skau <cskau@google.com >
TBR=kustermann@google.com ,cskau@google.com
Change-Id: Ided526100e7393375445545d0fe16806333b0d20
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Bug: https://github.com/dart-lang/sdk/issues/37753
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/145360
Reviewed-by: Clement Skau <cskau@google.com >
Commit-Queue: Clement Skau <cskau@google.com >
2020-04-29 08:35:52 +00:00
Clement Skau
05b7f49c72
[VM] Fixes missing bits for new sync* transform.
...
The missing part of the transform fixes an issue that manifested
as a crash when running tests for [0].
Which was caused by un-transformed yields in nested functions in sync*s.
The second half of this CL updates the type_checker tool for the new
transform of sync*s.
[0] https://github.com/KhronosGroup/glTF-Validator
TBR: To unblock roll blocked by crash.
Bug: https://github.com/dart-lang/sdk/issues/37753
Change-Id: Ie20f351b16f2f87e92f0731fc96b0a5ea29e0300
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144948
Commit-Queue: Clement Skau <cskau@google.com >
Reviewed-by: Clement Skau <cskau@google.com >
2020-04-29 06:56:14 +00:00
Johnni Winther
3f18d37333
[cfe] Implement NNBD_TOP_MERGE update
...
Change-Id: I6b204b5d7def6a9d1dd4709e47f95eb102741489
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144763
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-04-27 16:28:08 +00:00
Johnni Winther
3c0e9642d2
[cfe] Ensure default type on generic forwarding stubs/method signatures
...
Change-Id: Iad6246c55f45953bffe2c3de4a2e30a32db347d2
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144820
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-04-27 16:25:18 +00:00
Johnni Winther
6c21ed6314
[cfe] Support class hierarchy changes in ChangedStructureNotifier
...
Closes #40707
Change-Id: I0a9e0b11d0f597dfed7182dd869382057d04e5dc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/144821
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-04-26 19:51:29 +00:00
Jens Johansen
a85a7fc254
[kernel/CFE] Better mixed compilation mode handling
...
* Throw a specific error on mixed compilation mode; let the incremental
compiler ignore that error when trying to initialize (i.e. it doesn't
initialize from it, but it doesn't show any warning either).
* Allow some mixed mode stuff: Eventually the SDK should be in agnostic
mode, so we should allow mixing agnostic with non-agnostic.
Fixes #41493 .
Change-Id: Idb33fb31afe6bbba6d74134cb722ca825751898b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/143583
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-04-17 10:22:46 +00:00
Dmitry Stefantsov
ae0eca8318
[cfe] Add text serialization support for libraries
...
Change-Id: Ia36efcc433df573abf2f82c1b402fa031276c652
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/143587
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
2020-04-17 07:27:06 +00:00
Dmitry Stefantsov
3fa2d81240
[cfe] Add serialization support for top-level methods
...
Change-Id: Ie2f949142dc8fd97a0ad937b1ccc38918f3aae87
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/143584
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
2020-04-16 10:52:01 +00:00
Johnni Winther
0a9e57419b
[kernel] Make verbose qualified names conditional in toStringInternal
...
Including the library name/uri in types and member names makes these
unreadable in most cases. This changes that default toStringInternal
to omit the library name/uri but supports a verbose mode that includes
the library name/uri for debugging the rare occasions where they matter.
Change-Id: I783e8bd0ac5d2f19c3051e8e7f226b240c8d1bc8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141546
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Johnni Winther <johnniwinther@google.com >
2020-03-30 08:41:15 +00:00
Jens Johansen
3e053b7da2
[kernel] Polish toString implementation on AST nodes
...
Change-Id: I0c21ded156243d8f8ff178d1b31bf0512758ebe1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141101
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-03-27 07:33:38 +00:00
Jens Johansen
feefcf0c94
[kernel/CFE] Simplified toString on (ast) nodes
...
This is a bare-bones implementation (and test) for having an explicit
toString on all `Node`s.
This can then be extended as-needed to better suit our debugging
purposes. It's not allowed to leak, though.
Change-Id: I8d3f5a9cd13b292ed7a6bf33762e507286f3fa7d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/139805
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-03-23 10:25:23 +00:00
Jens Johansen
532a602fef
[kernel] Rewrite verify test
...
Prerequisite for changing toString on ast nodes.
Change-Id: I295e201df160b158b4ea709c61e525206efb5523
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/140063
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2020-03-20 06:46:50 +00:00
Johnni Winther
fbe9f6115d
[cfe] Handle Object* in NNBD_TOP_MERGE
...
Closes #40481
Change-Id: I5f1060b137e9855106873b2173930d3ebed69930
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/137921
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-03-02 12:15:50 +00:00
Clement Skau
ad118b1718
[Kernel] Fixes bug in async transform causing reuse of temps.
...
Certain nodes will delimit(..) an Expression to some Statements, which
was resetting the temp nameIndex.
This meant any sub-expressions that generated temps would not cause the
outer expressions to see those already used temps.
Bug: https://github.com/dart-lang/sdk/issues/40662
Change-Id: Ife07052ab756b9d05f34f69380614c7eb7309a4c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136224
Commit-Queue: Clement Skau <cskau@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
2020-02-21 07:35:16 +00:00
Jens Johansen
a314cff6ee
[CFE] Indicate NNBD compilation mode on all libraries
...
Change-Id: I01236158b593d0e4bd7cf67017459f05fb9520a8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/136128
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-02-18 08:51:37 +00:00
Robert Nystrom
44f027b8b2
Remove the matchers_lite.dart library.
...
It was literally only used by one test, and only used a single function
not already defined in minitest. That function was only used in one
place and wasn't very useful, so just refactored to not use it.
Change-Id: Ib51ac255233aa29bcaf19aaba16bc99d7eff724d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/135965
Auto-Submit: Bob Nystrom <rnystrom@google.com >
Reviewed-by: Srujan Gaddam <srujzs@google.com >
2020-02-14 20:44:52 +00:00
Dmitry Stefantsov
535ee87c21
[kernel] Add NORM implementation
...
Change-Id: I6292a4247ed0c418f2d3d6fa841ed086894c31c9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/134335
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2020-02-07 15:00:24 +00:00
Johnni Winther
42f954d5f1
[cfe] Move type parser to package:kernel
...
Change-Id: Icbb37b586dd4113605f9a0959e585586ee94c33c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/131836
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-01-21 14:37:32 +00:00
Johnni Winther
96a8282cd9
[cfe] Use structural equality for generic function types
...
Change-Id: Iecff57779243e042c5e9cad96c96139da9d93380
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/129719
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2020-01-07 07:52:32 +00:00
Johnni Winther
818ec6db92
[cfe] Implement nnbd-top-merge
...
+ and use nnbd-top-merge and legacy erasure in hierarchy computation
Change-Id: I4bf06ce8d3c68a9926865ebf84b24b4029828d73
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128065
Commit-Queue: Johnni Winther <johnniwinther@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-12-13 17:19:59 +00:00
Dmitry Stefantsov
47a9ebea76
[cfe] Make API of as-instance-of and legacy LUB/GLB library-specific
...
Change-Id: I1991c66e654ef537243d9f25f17070acbfa13af9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/126380
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2019-12-05 13:32:28 +00:00
Jens Johansen
1c3468a646
[kernel] Remove Library.isExternal
...
Change-Id: I6638b915c1189838e7081069a0075e4ecd9ee9d0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125600
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2019-12-02 09:24:42 +00:00
Jens Johansen
4d884229ab
[kernel] Add (internal) relink method
...
Think of this as an internal method. You probably shouldn't call this
method without being told to by the kernel team.
Change-Id: I76d55870ee781646a648e8e253a33a1d497eed81
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/125963
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2019-11-25 12:44:25 +00:00
Dmitry Stefantsov
d9d5fbc109
[cfe] Create TypeParameterTypes with default nullabilities
...
Change-Id: I85be937240ba5cc39840e78f374902c1e36521a0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124327
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
2019-11-19 11:22:43 +00:00
Dmitry Stefantsov
7e430f6ff7
[kernel] Add serialization support for FunctionNodes
...
Change-Id: I2dc014cebcab0da911757e49d1feb59f52444c1a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/93982
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2019-11-14 16:23:16 +00:00
Dmitry Stefantsov
b4554c1215
[cfe] Make nullability a required parameter for types
...
Change-Id: Id787291294cafb15cf4ecad4a9db9da4c6066638
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/124135
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Auto-Submit: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2019-11-07 13:24:47 +00:00
Aske Simon Christensen
c504476dc4
[CFE] Extend verifier to check constants.
...
Add a flag to the verifier that tells it to assume that full constant
evaluation has been performed. It will then complain about anything
that should not be there after constant evaluation.
Also fix two bugs exposed by the new checks:
- The constant transformer did not visit annotations on type parameters
in function nodes.
- The InstanceCreation constructor did not set the parent pointers of
its children.
Change-Id: Ieef865a51892918e524da973b0cbaf52ed467181
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123400
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Aske Simon Christensen <askesc@google.com >
2019-11-07 09:53:26 +00:00
Jens Johansen
f91ef3afd7
[kernel] Deprecate Library.isExternal
...
We're deprecating kernels Library.isExternal as it wasn't used for
what it was originally intended. It will hopefully go away entirely
soon.
Change-Id: If363c50af5607febae68865875af452c106fff85
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/123721
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2019-11-04 09:24:02 +00:00
Devon Carew
b97fc2e05f
[kernel] fix a typo
...
Change-Id: I60aaefd7c1166f862f0f207977ba10db6252d997
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120924
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Devon Carew <devoncarew@google.com >
2019-10-10 15:09:07 +00:00
Jens Johansen
41c11716b0
[kernel] Make round-trip script work; improve fastas compare dill tool
...
Change-Id: I194987772349f6c673263662346a28560ecb168a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120645
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2019-10-08 09:55:37 +00:00
Jens Johansen
998f1efbe9
[kernel] Add test for keeping sources when loading concatenated component
...
This CL adds a test for what was fixed in
79cc54e519 , namely that when loading a
concatenated component, the uriToSource map shouldn't have its values
overwritten with objects with no source in them.
Change-Id: Ief899295d0b4ab97cbfe598a39bb47441d38c3ba
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119542
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2019-10-01 13:14:52 +00:00
Dmitry Stefantsov
515a597710
[cfe] Remove Class.rawType
...
Bug: http://dartbug.com/38224
Change-Id: If0af5487b1d43125738575ee3e0fcd747db54fa9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117546
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2019-09-19 10:42:10 +00:00
Dmitry Stefantsov
d4342b9021
[cfe] Print Kernel's type-parameter types in more details in text
...
Change-Id: I10cb27cba22ce91eca4e5cceed53a2753c6d4573
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/114943
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2019-08-30 10:11:40 +00:00
Dmitry Stefantsov
51f6cab413
[cfe] Parse nnbd modifiers in kernel type substitution tests
...
The Kernel package has its own internal tests for substitution on
DartTypes. This CL updates the parser for the types in the tests, so
that the nullability attributes are recognized and used.
Change-Id: Icef50259b587817407037c23a0bc3bbc0812d638
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/113994
Reviewed-by: Johnni Winther <johnniwinther@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
2019-08-22 08:09:47 +00:00
Dmitry Stefantsov
20e4c74f7f
[fasta][nnbd] Print NNBD type modifiers in Kernel's text representation
...
Change-Id: I48c43858094e2b7264a15be05238bfc3dadd5ecb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108264
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Johnni Winther <johnniwinther@google.com >
2019-07-31 08:26:14 +00:00
Paul Berry
b7b7a63407
Fix relative import from pkg/kernel/test to pkg/kernel/lib.
...
This doesn't work due to the file organization used in google3.
Change-Id: I814a087bd9c6e10fc7738c782af6f54fde3cf000
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/99181
Auto-Submit: Paul Berry <paulberry@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2019-04-12 07:17:47 +00:00
Jens Johansen
460d00616c
Better printing of imports
...
Before a import of, say "hello.dart" was printed as
"import './hello.dart'".
Now instead it is printed as "import 'hello.dart'".
At the same time we get rid of a dependency.
Change-Id: I352f0f507168fde75358704ec9bf0e248bb8179d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/98480
Reviewed-by: Kevin Millikin <kmillikin@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2019-04-11 11:43:23 +00:00
Peter von der Ahé
76e3dfe096
Remove TypeEnvironment.legacyMode
...
Change-Id: I1bcebc66cbf4d3cb749fdc4cec382d936d4107ca
Reviewed-on: https://dart-review.googlesource.com/c/94212
Reviewed-by: Kevin Millikin <kmillikin@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2019-02-25 12:17:54 +00:00
Peter von der Ahé
ceb998ecc0
Remove unused TargetFlags
...
Change-Id: I33f1ffaec5bb9a936639424b78393cd187344ff9
Reviewed-on: https://dart-review.googlesource.com/c/94210
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2019-02-25 12:17:54 +00:00
Dmitry Stefantsov
ef9592a9c7
[kernel] Add (de)serialization for ExpressionStatements
...
Change-Id: I388e8201086227a92adb2b7ac6622ea9def340eb
Reviewed-on: https://dart-review.googlesource.com/c/92563
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2019-02-20 12:40:21 +00:00
Dmitry Stefantsov
395c0e4b98
[kernel] Add text (de)serialization for NamedTypes
...
Change-Id: I70aa3092a4a7b9c7f77b4e007a9d6fd602883ccf
Reviewed-on: https://dart-review.googlesource.com/c/92560
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2019-02-20 12:40:21 +00:00
Dmitry Stefantsov
14f5936468
[kernel] Simplify (de)serialization encoding for FunctionTypes
...
Change-Id: I1fde87601eb57d1e73fbc262b5b6be659fa2d3a0
Reviewed-on: https://dart-review.googlesource.com/c/92431
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2019-02-20 12:40:21 +00:00
Dmitry Stefantsov
5e3e633d5d
[kernel] Add text (de)serialization for TypeParameterTypes
...
Change-Id: I6a50629b40fab061f3bade650b11499b505f9c3d
Reviewed-on: https://dart-review.googlesource.com/c/92429
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2019-02-20 12:40:21 +00:00
Dmitry Stefantsov
d60354b521
[kernel] Add binders and close terms as separate operations
...
Change-Id: I3e9372df5f37cad91d4609d052f05c94fdc54ab1
Reviewed-on: https://dart-review.googlesource.com/c/92428
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2019-02-20 12:40:21 +00:00
Dmitry Stefantsov
a3736868c0
[kernel] Add text (de)serialization for type parameters
...
Change-Id: Id661da5ff16d9151852a563be08adc702c06b60a
Reviewed-on: https://dart-review.googlesource.com/c/92420
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2019-02-20 12:40:21 +00:00
Peter von der Ahé
cf5a7cf36a
Simplify class_hierarchy_test: Move tests of getLegacyLeastUpperBound to own file
...
Change-Id: Iff64676644f17c32dea2b01e0c25e92af1f63774
Reviewed-on: https://dart-review.googlesource.com/c/93024
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2019-02-13 14:35:15 +00:00
Peter von der Ahé
a92ddcf34b
Add package:expect/matchers_lite.dart
...
Change-Id: I671f317ee2c806380584646c75412762e549418e
Reviewed-on: https://dart-review.googlesource.com/c/93023
Reviewed-by: Jens Johansen <jensj@google.com >
2019-02-13 14:35:15 +00:00
Peter von der Ahé
0dfac95dac
Simplify class_hierarchy_test: don't use package:test
...
Change-Id: I68319c20230b1194ef372fed4526bfcbb3b50442
Reviewed-on: https://dart-review.googlesource.com/c/93022
Reviewed-by: Jens Johansen <jensj@google.com >
2019-02-13 14:35:15 +00:00
Peter von der Ahé
5bf0065b46
Simplify class_hierarchy_test: don't use package:test_reflective_loader
...
Change-Id: I4eb3678ddda2b020404fba9adcc658362df8ebfa
Reviewed-on: https://dart-review.googlesource.com/c/93021
Reviewed-by: Jens Johansen <jensj@google.com >
2019-02-13 14:35:15 +00:00
Peter von der Ahé
f954c0535c
Simplify class_hierarchy_test: remove abstract class
...
Change-Id: I805325a165a8d0540c3c839b656cc39fb898228a
Reviewed-on: https://dart-review.googlesource.com/c/92980
Reviewed-by: Jens Johansen <jensj@google.com >
2019-02-13 14:35:15 +00:00