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
Kevin Millikin
9f866c8696
[Kernel] Do not serialize list lengths
...
The length is redundant if the list is delimited. Serializing the
length had the slight advantage of preallocating a list of the correct
size and the disadvantages of being harder to maintain by hand and
ugly to read.
Instead, delimit lists. The empty list is naturally ().
Change-Id: I17c14f4e0ca4934cfd3dcdf2a0047f87df80bb79
Reviewed-on: https://dart-review.googlesource.com/c/88320
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Daniel Hillerström <hillerstrom@google.com >
Commit-Queue: Kevin Millikin <kmillikin@google.com >
2019-01-03 10:16:14 +00:00
Kevin Millikin
66fa918fd3
[Kernel] Add text serializers for Let expressions
...
Serializing Let requires us to serialize variable declarations which are
complicated. They require us to support optional values because they
have an optional initializer. This is done by using a _ for none.
Having support for Let will allow us to support variable get and set.
Change-Id: I207183730389de70409ae6ca5017510420e36830
Reviewed-on: https://dart-review.googlesource.com/c/88182
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Daniel Hillerström <hillerstrom@google.com >
Commit-Queue: Kevin Millikin <kmillikin@google.com >
2019-01-02 15:49:49 +00:00
Kevin Millikin
01b23e23a4
[Kernel] Add text serializers for lists, sets, and maps
...
Use separate tags for the non-const and const versions of these
literals, just like the binary serializer does.
Change-Id: I3fabf02ce758a46ce55ff258723dd3ae11e6d497
Reviewed-on: https://dart-review.googlesource.com/c/88181
Reviewed-by: Daniel Hillerström <hillerstrom@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Kevin Millikin <kmillikin@google.com >
2019-01-02 12:12:49 +00:00
Kevin Millikin
94e77946a0
[Kernel] Add text serializers for some DartTypes
...
Add serializers for some simple DartTypes and some expressions that
were blocked on being able to serializer DartTypes.
Change-Id: Ib16aa59e5782bddc820ea88e0885f258fc17bbd0
Reviewed-on: https://dart-review.googlesource.com/c/88180
Reviewed-by: Daniel Hillerström <hillerstrom@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Kevin Millikin <kmillikin@google.com >
2019-01-02 10:45:35 +00:00
Kevin Millikin
da0216e92d
[Kernel] add serializers for more simple expressions
...
Support the rest of the expressions that do not require serializing
DartType, Name, Arguments, or references to other parts of the AST.
Change-Id: Icef3c2824354add1b13fa8c34fa7ff7c48bd2148
Reviewed-on: https://dart-review.googlesource.com/c/87963
Reviewed-by: Daniel Hillerström <hillerstrom@google.com >
Commit-Queue: Kevin Millikin <kmillikin@google.com >
2018-12-21 14:00:10 +00:00
Kevin Millikin
aeb873187d
[Kernel] Add text serializers for lists
...
Add a serializer for lists that writes the length and then the elements.
Use it for serializing/deserializing StringConcatenation.
Change-Id: I61eb0ec319b0dbf94a2f3965b392a7ad12ce01dc
Reviewed-on: https://dart-review.googlesource.com/c/87962
Reviewed-by: Daniel Hillerström <hillerstrom@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Kevin Millikin <kmillikin@google.com >
2018-12-21 10:46:00 +00:00
Peter von der Ahé
e45e334548
Rename strong mode to legacy mode in package:kernel
...
Change-Id: Ia4a8a9cac7817a8db5771ec82541b556c705f7c8
Reviewed-on: https://dart-review.googlesource.com/c/86353
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2018-12-20 18:06:34 +00:00
Kevin Millikin
9d77f18784
[Kernel] Serialize logical expressions
...
Use the operator string as the tag. This requires us to be able to
serialize a sequence of (two) things. Homogeneous lists don't give us
static typing so we introduce a pair class.
This requires allocating a pair (serializing a list would require
allocating a list anyway). When we start generating and optimizing
the combinator applications we expect to eliminate the pair allocation
overhead.
Change-Id: I5a00c6973b9065ac8a91f1a69b52d97554f1e823
Reviewed-on: https://dart-review.googlesource.com/c/87840
Reviewed-by: Daniel Hillerström <hillerstrom@google.com >
Commit-Queue: Kevin Millikin <kmillikin@google.com >
2018-12-20 15:24:15 +00:00
Kevin Millikin
091e38afcb
[Kernel] Implement more text serialization
...
Begin serializing expressions. Fairly quickly you encounter the cyclic
dependency between class Expression and any subclass that contains
nested expressions. It isn't possible to implement this with immutable
values in Dart.
A quick solution is to break the cycle somewhere. Here, the cycle is
broken by late initialization of the serializer for Expression.
Serializers are still immutable (either const or with all final fields)
and still singleton instances (by virtue of being static fields).
Change-Id: I9886bcd57041744e0ef9e95f7b901fcb94b5e042
Reviewed-on: https://dart-review.googlesource.com/c/87801
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Kevin Millikin <kmillikin@google.com >
2018-12-20 13:45:04 +00:00
Kevin Millikin
ff44e27c5a
Implement text serialization of strings
...
Use json.encode/json.decode. This gets some strings wrong but it
should be enough to make more progress.
Testing with hardcoded strings is already getting awkward.
Change-Id: Ie0b168bec611ed93da13fff90f86232bb56c713f
Reviewed-on: https://dart-review.googlesource.com/c/87663
Reviewed-by: Daniel Hillerström <hillerstrom@google.com >
Commit-Queue: Kevin Millikin <kmillikin@google.com >
2018-12-20 11:12:49 +00:00
Kevin Millikin
612b6884c4
Split the text serializer into libraries
...
Move the combinators and the reader into their own libraries.
Change-Id: I85042a3f319c0fc945d658dd23a3959c74b7cbca
Reviewed-on: https://dart-review.googlesource.com/c/87660
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Kevin Millikin <kmillikin@google.com >
2018-12-19 14:24:22 +00:00
Kevin Millikin
4283735fa1
First pieces of Kernel text serialization
...
Combinator-based serialization of Kernel basic literals.
Change-Id: I6d08c80f47f233b178aa57ee6fc887ac91ed9e9c
Reviewed-on: https://dart-review.googlesource.com/c/87320
Commit-Queue: Kevin Millikin <kmillikin@google.com >
Reviewed-by: Daniel Hillerström <hillerstrom@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2018-12-19 12:16:24 +00:00
Peter von der Ahé
54ef78b7c5
Remove non-strong vm dill files from SDK
...
Change-Id: Ia9337ec090333902ea8fc2492f2ffdac1bcff2d1
Reviewed-on: https://dart-review.googlesource.com/c/79520
Reviewed-by: Jens Johansen <jensj@google.com >
Reviewed-by: Vyacheslav Egorov <vegorov@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2018-10-12 12:42:57 +00:00
Aske Simon Christensen
6177615d71
[kernel] Fix subtype relationship for generic function types
...
Fixes #34623
Change-Id: I707502e74c5d867785a80b64bb1d19e09412659f
Reviewed-on: https://dart-review.googlesource.com/c/79212
Reviewed-by: Aske Simon Christensen <askesc@google.com >
Commit-Queue: Aske Simon Christensen <askesc@google.com >
2018-10-12 11:58:37 +00:00
Peter von der Ahé
5b32ab3be6
Remove the word "strongMode" from some package:kernel libraries.
...
Temporarily using "legacyMode" instead, but I plan to rid these soon.
Change-Id: Iff8bcde03b6ebe4ad95f963f456c855e73e58926
Reviewed-on: https://dart-review.googlesource.com/c/79042
Auto-Submit: Peter von der Ahé <ahe@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2018-10-11 08:50:43 +00:00
G?nter Z?chbauer
2da0b9f4f1
fix some typos
...
Closes #34738
https://github.com/dart-lang/sdk/pull/34738
GitOrigin-RevId: d211bbacfe65355cf7304c990ffb6c79d7a229cf
Change-Id: If690e6d378e543b300e1f6a353ceae73e39c29db
Reviewed-on: https://dart-review.googlesource.com/c/78900
Reviewed-by: Alexander Thomas <athom@google.com >
2018-10-10 19:15:30 +00:00
Peter von der Ahé
f942af451b
Remove kernel interpreter
...
The test isn't normally run, and all 12 testcases caused a crash.
Change-Id: Ie1576e32b70f01aa775c3305bff2bc992eebf86f
Reviewed-on: https://dart-review.googlesource.com/c/78940
Auto-Submit: Peter von der Ahé <ahe@google.com >
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2018-10-10 08:42:21 +00:00