Dan Rubel
874f9d0bdf
Refactor for statement parsing
...
This CL introduces 2 new parser listener events
in preparation for parsing for control flow structures
in literal lists, sets, and maps.
Change-Id: I230f36cded714a13e4badb401fe5b5906c93a2da
Reviewed-on: https://dart-review.googlesource.com/c/91144
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2019-01-25 18:15:00 +00:00
danrubel
56123f08b0
Update parser to support simple if/else control flow in literal lists, sets, and maps
...
Change-Id: I740beea833ed1ad76582ad5232549bd204981808
Reviewed-on: https://dart-review.googlesource.com/c/90901
Commit-Queue: Dan Rubel <danrubel@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2019-01-24 22:22:50 +00:00
Peter von der Ahé
15dc147226
Prevent serialization of synthetic kernel nodes
...
Change-Id: Iad2300d8fa5384b5d692c5598c9311e600427dd2
Reviewed-on: https://dart-review.googlesource.com/c/90003
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-01-24 18:55:44 +00:00
Peter von der Ahé
53b372f575
Test that shows leaking synthetic nodes
...
Change-Id: I8f68795380c1d6963203f9356244d2599be6c9cb
Reviewed-on: https://dart-review.googlesource.com/c/90002
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-01-24 18:55:44 +00:00
Peter von der Ahé
07ec31dcf1
Create kernel nodes from parsed types
...
Change-Id: I2f56d05c7d6639ec3e3d7848cddcc665d13086a1
Reviewed-on: https://dart-review.googlesource.com/c/90004
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2019-01-24 18:53:04 +00:00
Liam Appelbe
c6e0d56a41
[VM] Add experimental flags to gen_kernel.
...
Bug: https://github.com/dart-lang/sdk/issues/35602
Change-Id: I41cc7fcfe2ec520d4b6cf1d8e9535c618b09637d
Reviewed-on: https://dart-review.googlesource.com/c/90540
Reviewed-by: Siva Annamalai <asiva@google.com >
Commit-Queue: Liam Appelbe <liama@google.com >
2019-01-23 19:43:09 +00:00
danrubel
5543fce9a3
add limited support for parsing if control flow entries in lists, sets, and maps
...
This updates the parser to handle two if control flow entries
* `if` condition entry
* `if` condition spread-collection
... and also addresses comments in
https://dart-review.googlesource.com/c/sdk/+/90500
Change-Id: Ibabec8f0f4da918ef4cfe429405dae82ba74c129
Reviewed-on: https://dart-review.googlesource.com/c/90620
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2019-01-23 17:57:05 +00:00
danrubel
55197eafd7
Refactor literal list, set, and map parsing for control flow collections
...
This refactors the existing spread collection parsing in preparation
for control flow collection parsing.
Change-Id: I1fc5aa31449999145f7a63da1d34c7b8858cf5d4
Reviewed-on: https://dart-review.googlesource.com/c/90500
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2019-01-23 17:57:05 +00:00
Daco Harkes
591b52f1c5
[frontend] report transformation error messages through library loader
...
Change-Id: I7280d02e42785742fc800f7e44b1913408dcada5
Reviewed-on: https://dart-review.googlesource.com/c/90460
Commit-Queue: Daco Harkes <dacoharkes@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2019-01-23 10:39:07 +00:00
Peter von der Ahé
9d02ca176a
Follow up to CL 88941
...
Change-Id: I17a9e62da9b23e84447d5d121477ccda2cfc2339
Reviewed-on: https://dart-review.googlesource.com/c/89581
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-01-23 08:41:50 +00:00
Peter von der Ahé
c0d46344ef
Implement double dispatch for types
...
Change-Id: Id4eb18cff0fc18d47055b63351be6adc5ce7aec5
Reviewed-on: https://dart-review.googlesource.com/c/89583
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2019-01-23 08:03:34 +00:00
Peter von der Ahé
31ef7add9b
Simplify ClassHierarchyBuilder API
...
Change-Id: Id5b6951713c22fa7f414de2ca9d34673107ebe80
Reviewed-on: https://dart-review.googlesource.com/c/89547
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2019-01-22 17:24:52 +00:00
Dmitry Stefantsov
027d3d3c66
[kernel] Create empty (De)SerializationState in the verifier
...
Change-Id: Ie0af87d783a21b36949a288939b99ab45398543f
Reviewed-on: https://dart-review.googlesource.com/c/90383
Reviewed-by: Daniel Hillerström <hillerstrom@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
2019-01-22 12:10:06 +00:00
Peter von der Ahé
70b02ea06d
Remove double synthetic wrap to fix crash in for-in
...
Fixes https://github.com/dart-lang/sdk/issues/35651
Change-Id: I80c07453cae3e4901785db65546a396bc99c3183
Reviewed-on: https://dart-review.googlesource.com/c/89515
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com >
Auto-Submit: Peter von der Ahé <ahe@google.com >
2019-01-21 14:39:02 +00:00
Jens Johansen
d2270fcda7
Avoid ConcurrentModificationException with problemsAsJson and patch files
...
Change-Id: I8663b99376b90c42bfdcad7eff7da47002b98eb0
Reviewed-on: https://dart-review.googlesource.com/c/90386
Reviewed-by: Peter von der Ahé <ahe@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2019-01-21 12:18:24 +00:00
Jens Johansen
865743a273
Include all non-dart and non-package libaries in fasta testing
...
Change-Id: Ied4ded0f601a5a2bf683cbc63cec724623b12796
Reviewed-on: https://dart-review.googlesource.com/c/90227
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2019-01-21 12:10:56 +00:00
Jens Johansen
1bad9304a0
Print user-imports and parts when printing ast to text
...
Also remove some duplicated code so libraries are mostly only printed
in one place.
Change-Id: I7cb86bff1938f05631d7eb3432deda2c9939f402
Reviewed-on: https://dart-review.googlesource.com/c/90226
Reviewed-by: Peter von der Ahé <ahe@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2019-01-21 12:10:16 +00:00
Peter von der Ahé
8b214f4d72
Restore type parser from reify project
...
Change-Id: Ic347890a4146cadb3ad1b6049b562350903505e7
Reviewed-on: https://dart-review.googlesource.com/c/89660
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2019-01-18 14:09:08 +00:00
Peter von der Ahé
b0017d758c
Refer to correct locations in SDK (and other dill files)
...
Fixes https://github.com/dart-lang/sdk/issues/35559
Fixes https://github.com/dart-lang/sdk/issues/35558
Change-Id: I902273759c6d3076779ccf120a79fd972d939827
Reviewed-on: https://dart-review.googlesource.com/c/90181
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2019-01-18 12:37:24 +00:00
Kevin Millikin
c9a55b437a
[Kernel] Remove the dedicated fromEnvironment constants
...
These can be represented as an unevaluated static invocation.
Change-Id: Ib827345f1f65a09f1a856eae33366722a2e613d2
Reviewed-on: https://dart-review.googlesource.com/c/90008
Commit-Queue: Kevin Millikin <kmillikin@google.com >
Reviewed-by: Aske Simon Christensen <askesc@google.com >
2019-01-18 10:10:42 +00:00
Peter von der Ahé
1a0367a373
Create test which demonstrates issues 35558 and 35559
...
Change-Id: I521ea3f7cf8d02f9e23edc1a9775fbd65bf64e4a
Reviewed-on: https://dart-review.googlesource.com/c/90180
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2019-01-18 09:44:18 +00:00
Jens Johansen
e3302cdb8f
Follow-up to storing problems in the ast
...
Change-Id: I2bfe8ad8d86806e0f5ffa026566cfa234b82154b
Reviewed-on: https://dart-review.googlesource.com/c/90005
Reviewed-by: Peter von der Ahé <ahe@google.com >
Commit-Queue: Jens Johansen <jensj@google.com >
2019-01-18 07:15:36 +00:00
Dan Rubel
ddce2824fa
Add more spread collection fasta test cases
...
Change-Id: I998234da8f9e3f1e5902f8cd3fcad884c012f128
Reviewed-on: https://dart-review.googlesource.com/c/90080
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2019-01-17 20:29:47 +00:00
Kevin Millikin
b00193fa5f
[Kernel] Signal an error for invalid native invocations
...
Calls to the factory constructor 'new List' can turn into static
invocations of a backend-specific factory function. Signal an error
instead of crashing.
Change-Id: Id0a8a7f0f847c03225b7fa9da2351032d15522e0
Reviewed-on: https://dart-review.googlesource.com/c/90006
Reviewed-by: Aske Simon Christensen <askesc@google.com >
Commit-Queue: Kevin Millikin <kmillikin@google.com >
2019-01-17 15:12:04 +00:00
Peter von der Ahé
21c42e914e
Compute supertypes
...
Change-Id: I85fd7894b026180b1bc418602c0f09fcfea0a543
Reviewed-on: https://dart-review.googlesource.com/c/89543
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-01-17 14:23:07 +00:00
Peter von der Ahé
181b3898eb
Follow up on review comments
...
Change-Id: Ie5c3d31630b638653e5e27002b029915b8f940cf
Reviewed-on: https://dart-review.googlesource.com/c/89542
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-01-17 14:23:07 +00:00
Peter von der Ahé
660c33fde6
Add TypeBuilder.declaration
...
Change-Id: Iede4bde8e30bb4ac034c0cb0db49a843ff84d48b
Reviewed-on: https://dart-review.googlesource.com/c/89541
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-01-17 14:23:07 +00:00
Peter von der Ahé
3e24b60516
Hierarchy expectation files
...
These expectations will be used in a future CL.
Change-Id: I0e0659054732251452b32fedfd0ee52fac068f44
Reviewed-on: https://dart-review.googlesource.com/c/89524
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-01-17 14:23:07 +00:00
Peter von der Ahé
ef2e000a52
Share expectation matching
...
Change-Id: I15e8d4c622a7980e170cf38e2ff57738ea57f01c
Reviewed-on: https://dart-review.googlesource.com/c/89521
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-01-17 14:23:07 +00:00
Peter von der Ahé
f3cee0147c
Fast versions of legacy and strong tests.
...
These versions don't run the VM on the generated .dill files.
These tests are still "Slow" in status-file lingo, as they run for
about 30 seconds on a fast machine.
Change-Id: I7bd326a14c8f1f1905d4c6b4d5f850a95b135325
Reviewed-on: https://dart-review.googlesource.com/c/88967
Reviewed-by: Aske Simon Christensen <askesc@google.com >
2019-01-17 14:23:07 +00:00
Aske Simon Christensen
e3d6709289
Error message for circular constant expressions
...
Handles the situations described in #34204 and #34189 when front-end
constant folding is enabled.
Change-Id: I64fd8449ac1661f6fe67411113c6f99d8009547c
Reviewed-on: https://dart-review.googlesource.com/c/90007
Reviewed-by: Kevin Millikin <kmillikin@google.com >
Commit-Queue: Aske Simon Christensen <askesc@google.com >
2019-01-17 14:21:47 +00:00
Jens Johansen
dab228e55f
Save problems in ast - fasta changes
...
Change-Id: Id38f5e7495c245e5a7b161b55c58b8826c146a80
Reviewed-on: https://dart-review.googlesource.com/c/90000
Commit-Queue: Jens Johansen <jensj@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2019-01-17 10:46:13 +00:00
Peter von der Ahé
ddc1de50d6
Use ClassHierarchyBuilder in all modes.
...
Change-Id: Ia4df46c2e9f6edc25274492c4a7ea85a4f4b95e1
Reviewed-on: https://dart-review.googlesource.com/c/88959
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
2019-01-17 09:39:44 +00:00
Kevin Millikin
e36ad1dad0
[Kernel] Build an invalid constant for evaluation errors
...
An invalid constant is (currently) represented by an unevaluated
invalid expression. Using this instead of null fixes 63 out of 125
CFE constant-evaluation crashes with constant-update-2018 and
correctly signals 26 more previously-missed compile-time errors.
Change-Id: I5b4de3995b3a59978dfa08fc542ef0f027572eb6
Reviewed-on: https://dart-review.googlesource.com/c/89506
Commit-Queue: Kevin Millikin <kmillikin@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
Reviewed-by: Aske Simon Christensen <askesc@google.com >
2019-01-17 07:26:04 +00:00
danrubel
b81c1b2095
Parse spread collections in map literals
...
This CL adds support for parsing spread collection entries in map literals.
For now, all listeners report an error on the spread collection tokens
'...' and '...?' until support has been added for those listeners.
Change-Id: I299bb1524fda39746471c07e618df6a2305b1a2e
Reviewed-on: https://dart-review.googlesource.com/c/89860
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2019-01-17 01:32:35 +00:00
Dan Rubel
1b0d93366d
Add list literal spread collection fasta test cases
...
Change-Id: Ia17b7e1d4f97565a8ca7a93b1db35896d0f2f647
Reviewed-on: https://dart-review.googlesource.com/c/89700
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2019-01-17 01:32:15 +00:00
Paul Berry
7984dc4fcc
Prepare to publish analyzer version 0.34.2.
...
Change-Id: I70f9036cd18fc5aa4d30b0005dfe577d0bb11fb7
Reviewed-on: https://dart-review.googlesource.com/c/89821
Commit-Queue: Paul Berry <paulberry@google.com >
Auto-Submit: Paul Berry <paulberry@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2019-01-16 16:44:43 +00:00
Peter von der Ahé
8ba2de2344
Sort context for conflicting inherited members
...
Change-Id: I3a1893c6ea268b4bb1518aa8f098b3524aa4f1ba
Reviewed-on: https://dart-review.googlesource.com/c/88957
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2019-01-16 15:46:22 +00:00
Kevin Millikin
215f6620e7
[Kernel] Signal errors on static fields in constant contexts
...
Fasta allows some non-const static field access in constant contexts
which leads to the constant evaluator trying to evaluate them. Signal
an error instead of crashing. This will double-report errors for the
cases that Fasta already catches, and we should fix that
double-reporting.
Fix unbounded recursion in printing unevaluated constants (writeNode
called visitUnevaluatedConstant which called defaultConstant which
called writeNode...).
Fix a spurious trailing comma in printing of instance constants.
Change-Id: Idff3169a3a56432ad67c27ff9c267ef355c4c1dc
Reviewed-on: https://dart-review.googlesource.com/c/89514
Commit-Queue: Kevin Millikin <kmillikin@google.com >
Reviewed-by: Aske Simon Christensen <askesc@google.com >
2019-01-16 15:07:58 +00:00
Peter von der Ahé
9b5eabdaca
Fix crash in color support
...
Change-Id: Ibf1ad2a77ba5d1de3ae66ca64c43fe1b22a5da0a
Reviewed-on: https://dart-review.googlesource.com/c/89513
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-16 11:43:24 +00:00
Kevin Millikin
5f10aed19c
[Kernel] Don't print static fields in instance constants
...
Instance constants don't have any of the class's static fields, so we
should not try to print them.
Change-Id: Id52bf7c25c805a21cf3a48c58efe84a720d0d2dd
Reviewed-on: https://dart-review.googlesource.com/c/89508
Reviewed-by: Aske Simon Christensen <askesc@google.com >
Commit-Queue: Kevin Millikin <kmillikin@google.com >
2019-01-16 10:34:33 +00:00
Peter von der Ahé
bdb51e2837
Improve input path handling and remove extra schemas.
...
Change-Id: I02a403284a2cc71cac908be4a7ec9f858cb5db47
Reviewed-on: https://dart-review.googlesource.com/c/89509
Auto-Submit: Peter von der Ahé <ahe@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2019-01-16 10:17:03 +00:00
Peter von der Ahé
0604110806
Reduce expectations on thrown exception
...
Change-Id: Ic1421c7d3164c581d1f69f6c032edd6ca0b9f519
Reviewed-on: https://dart-review.googlesource.com/c/89504
Reviewed-by: Jens Johansen <jensj@google.com >
2019-01-16 10:17:03 +00:00
Kevin Millikin
8a91948c03
[Kernel] Properly signal compilation errors for constants
...
Instead of simply printing a message, properly signal a Fasta problem for
constant errors. This causes 68 tests (presumably missing compile-time
errors) to start passing with --enable-experiment=constant-update-2018.
Change-Id: Ia9f1809305bbef7b4652ce49acf6fb9c18408207
Reviewed-on: https://dart-review.googlesource.com/c/89580
Commit-Queue: Kevin Millikin <kmillikin@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
Reviewed-by: Aske Simon Christensen <askesc@google.com >
2019-01-16 08:15:34 +00:00
Sam Rawlins
492df72739
Fix fasta test under windows
...
Change-Id: If9db5a0a9d67aa2ae369aabef44a70da06d41ac2
Reviewed-on: https://dart-review.googlesource.com/c/89764
Reviewed-by: Alexander Aprelev <aam@google.com >
Commit-Queue: Samuel Rawlins <srawlins@google.com >
2019-01-16 04:23:33 +00:00
Dan Rubel
4ec9dbf1d0
Add set literal spread collection parsing support
...
Change-Id: I12f4675a3a034a82acc16c4d189b001d52c23039
Reviewed-on: https://dart-review.googlesource.com/c/89681
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2019-01-16 01:48:36 +00:00
Dan Rubel
b55bc09f1f
Add list literal spread collection parsing support
...
Change-Id: I96098e35baf44660b3f7a49952fde64def9998c7
Reviewed-on: https://dart-review.googlesource.com/c/89680
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2019-01-15 21:16:05 +00:00
Sam Rawlins
3154bb0d37
Stop using external deprecated members in front_end
...
Change-Id: I3fa03de568f72bfc3adb46efcfa2b61b781c706b
Reviewed-on: https://dart-review.googlesource.com/c/89020
Commit-Queue: Samuel Rawlins <srawlins@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2019-01-15 18:55:10 +00:00
Dan Rubel
21edbbbac6
Add spread collection token to scanner
...
Change-Id: I1932d7c7fa6daba244ad2d93ddc7e2de18100fee
Reviewed-on: https://dart-review.googlesource.com/c/89600
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2019-01-15 16:42:39 +00:00
Aske Simon Christensen
ecc1411685
Print constant table when printing libraries.
...
Change-Id: Ia474f3ddbe23be14d40789b0587ceeee92813106
Reviewed-on: https://dart-review.googlesource.com/c/89548
Reviewed-by: Kevin Millikin <kmillikin@google.com >
Commit-Queue: Aske Simon Christensen <askesc@google.com >
2019-01-15 15:10:33 +00:00