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
Dmitry Stefantsov
88fea76f58
[kernel] Add text (de)serialization for simple function types
...
Change-Id: Ied1be7c530793f94fea0c71ef8112a4524d6b815
Reviewed-on: https://dart-review.googlesource.com/c/92289
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2019-02-08 13:39:35 +00:00
Peter von der Ahé
b6dc18e21e
Remove legacyMode parameter and delete obsolete version of test
...
Change-Id: Ie50c43641279f9f33e7e9fffb57e6017e4d96b98
Reviewed-on: https://dart-review.googlesource.com/c/90946
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2019-02-01 11:51:06 +00:00
Jens Johansen
eb956a2516
Add synthetic bit to Library flags
...
Fasta can generate synthetic libraries.
Previously we didn't include them when serializing, but that leaves
references in the binary to libraries that doesn't exist which isn't
ideal.
This change includes them, and adds a flag to kernel Libraries such that
we know they are synthetic.
Change-Id: Ied25a21cd1f384d318347021bc7ec18dae3a4e05
Reviewed-on: https://dart-review.googlesource.com/c/91722
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2019-02-01 11:00:26 +00:00
Dmitry Stefantsov
bdeefc380a
[kernel] Add ability to (de)serialize ConstructorInvocation
...
Change-Id: Ia25e1800c820c63a7e48818860ed3110de5473ea
Reviewed-on: https://dart-review.googlesource.com/c/90384
Reviewed-by: Daniel Hillerström <hillerstrom@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
2019-01-22 12:14:57 +00:00
Dmitry Stefantsov
53217e6eb1
[kernel] Add ability to (de)serialize DirectMethodInvocation
...
Change-Id: I52371f85a76cf7c7422365052b248229a22a9287
Reviewed-on: https://dart-review.googlesource.com/c/89529
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Daniel Hillerström <hillerstrom@google.com >
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2019-01-18 13:15:44 +00:00
Dmitry Stefantsov
5048889c54
[kernel] Add ability to (de)serialize StaticInvocation
...
Change-Id: I63aaa041dc939ae6199cd48593dfa7ccd6415559
Reviewed-on: https://dart-review.googlesource.com/c/89528
Reviewed-by: Daniel Hillerström <hillerstrom@google.com >
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2019-01-18 13:15:44 +00:00
Dmitry Stefantsov
7ea2dfad20
[kernel] Add ability to (de)serialize DirectPropertySet
...
Change-Id: I769941faa7b80eddb5a9c52f250191dca6c9ecd3
Reviewed-on: https://dart-review.googlesource.com/c/89527
Reviewed-by: Kevin Millikin <kmillikin@google.com >
Reviewed-by: Daniel Hillerström <hillerstrom@google.com >
2019-01-18 13:15:44 +00:00
Dmitry Stefantsov
50c06c55ba
[kernel] Add ability to (de)serialize DirectPropertyGet
...
Change-Id: Ie75b45601f898a8286c72e97e11e7c08b64c00e8
Reviewed-on: https://dart-review.googlesource.com/c/89526
Reviewed-by: Kevin Millikin <kmillikin@google.com >
Reviewed-by: Daniel Hillerström <hillerstrom@google.com >
2019-01-18 13:15:44 +00:00
Dmitry Stefantsov
793fbc0d4a
[kernel] Add ability to (de)serialize StaticSet
...
Change-Id: I1efa620f4dfad37f4cbcbca94e9fa12ca7bfd752
Reviewed-on: https://dart-review.googlesource.com/c/89586
Reviewed-by: Kevin Millikin <kmillikin@google.com >
Reviewed-by: Daniel Hillerström <hillerstrom@google.com >
2019-01-18 13:15:44 +00:00
Dmitry Stefantsov
6205d7e82c
[kernel] Add ability to (de)serialize StaticGet
...
Change-Id: I8593c38c38f7aa4a9b8d573516681158db7f670c
Reviewed-on: https://dart-review.googlesource.com/c/89546
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Kevin Millikin <kmillikin@google.com >
Reviewed-by: Daniel Hillerström <hillerstrom@google.com >
2019-01-18 09:31:06 +00:00
Dmitry Stefantsov
f437fa02c2
[kernel] Nest *Environment into *State for (de)serialization
...
Change-Id: I580a67fd366546d7526e8b8204111aa89bb34c79
Reviewed-on: https://dart-review.googlesource.com/c/89284
Reviewed-by: Daniel Hillerström <hillerstrom@google.com >
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2019-01-18 09:31:06 +00:00
Dmitry Stefantsov
9157bbcf19
[kernel] Add text (de)serialization for VariableSet
...
Change-Id: Ib49aae4ee0f5ba1ff809dbf8b8ff0bc1c16e6838
Reviewed-on: https://dart-review.googlesource.com/c/89121
Reviewed-by: Daniel Hillerström <hillerstrom@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
2019-01-11 12:16:43 +00:00
Dmitry Stefantsov
59b252fa0a
[kernel] Add text serializer/deserializer for VariableGet
...
Change-Id: I884190dffbca5eb5181f21bc12972b375e31de65
Reviewed-on: https://dart-review.googlesource.com/c/88724
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2019-01-10 14:20:01 +00:00
Peter von der Ahé
50ea6344f5
Use TypeEnvironment.getTypeAsInstanceOf instead of ClassHierarchy
...
Change-Id: I1682baeb336b8be3cb6c5874715ef8ba730561e0
Reviewed-on: https://dart-review.googlesource.com/c/88803
Commit-Queue: Peter von der Ahé <ahe@google.com >
Commit-Queue: Kevin Millikin <kmillikin@google.com >
Auto-Submit: Peter von der Ahé <ahe@google.com >
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2019-01-09 10:08:03 +00:00
Kevin Millikin
a7b23e1cb5
[Kernel] Add text serializers for some invocations
...
Add serializers for instance getters, setters, and methods and for
super getters, setters, and methods. This requires also serializing
Arguments.
Change-Id: I36d36892bf896cd12b48f9e77395c0584daf47f1
Reviewed-on: https://dart-review.googlesource.com/c/88710
Commit-Queue: Kevin Millikin <kmillikin@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Daniel Hillerström <hillerstrom@google.com >
2019-01-09 09:43:31 +00:00
Peter von der Ahé
e7c808f910
Remove unused methods
...
Change-Id: I782700f972b846ec0d86b671c0c9b097ca73495d
Reviewed-on: https://dart-review.googlesource.com/c/88800
Commit-Queue: Peter von der Ahé <ahe@google.com >
Commit-Queue: Kevin Millikin <kmillikin@google.com >
Auto-Submit: Peter von der Ahé <ahe@google.com >
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2019-01-09 09:40:51 +00:00
Jens Johansen
6c909a0efa
Be explicit about whether a reference is allowed to be null or not
...
Before this change we allowed to serialize some references as null,
and would only complain when trying to read the dill back in.
This CL changes that so it complains up front.
It is unknown if any of this would ever occur in practise.
Change-Id: Id5e1af89abfb88a2d4249bd439b53b062d7aeffa
Reviewed-on: https://dart-review.googlesource.com/c/85392
Reviewed-by: Kevin Millikin <kmillikin@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2019-01-04 08:39:36 +00:00