Dmitry Stefantsov
1f3b493dcc
Add simple instantiate-to-bounds algorithm to the common front-end
...
Bug:
Change-Id: I65097b037f4b02f0a161c9c183844a3dc3339c77
Reviewed-on: https://dart-review.googlesource.com/29880
Reviewed-by: Paul Berry <paulberry@google.com >
2018-01-04 11:31:08 +00:00
Kevin Millikin
6fa813d818
Change handling of Kernel static errors
...
Before: Kernel static errors were represented by throwing a distinguished
error or else by calling a distinguished library const constructor.
Now: Kernel static errors are represented by InvalidExpression. To support
error reporting, InvalidExpression has an optional message and a file
offset. A back end can choose to signal these errors at any time; for
example, when deserializing the binary, or when compiling the procedure
containing the static error, or when the erroneous expression is evaluated
at run time.
InvalidStatement is removed because it can be encoded as ExpressionStatement
of InvalidExpression.
Future work:
* supporting static errors where an expression cannot appear in the AST
* allowing InvalidExpression to contain an Expression for error recovery
* adding a top-level list of static errors and warnings to the binary
Bug: https://github.com/dart-lang/sdk/issues/29840
Change-Id: Ifdfe9a76cee6cefed28061bf245be70531d2f413
Reviewed-on: https://dart-review.googlesource.com/31320
Commit-Queue: Kevin Millikin <kmillikin@google.com >
Reviewed-by: Dan Rubel <danrubel@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2018-01-04 11:00:25 +00:00
Dan Rubel
a459bc8b7c
Add fasta parser constructor reference recovery
...
This CL fixes/improves 2 keyword contributor situations
when analyzer is using the fasta parser:
* Recover gracefully given a constructor reference
followed by a dot without an identifier
* Include a colon whenever suggesting the 'default' keyword
Change-Id: I393ef16130c7d1288ac4c18e6fdc17dbbe1421ea
Reviewed-on: https://dart-review.googlesource.com/32145
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-01-03 20:42:24 +00:00
Sigmund Cherem
e3b70f4af1
Add mechanism to transform outlines and ensure metadata is preserved in summaries.
...
Change-Id: I3796612936a13c262efa54011c66c6f5ad881e07
Reviewed-on: https://dart-review.googlesource.com/32001
Commit-Queue: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2018-01-03 18:45:34 +00:00
Paul Berry
15c684bf50
Disable implicit instantiation of call methods.
...
Addresses the performance concern raised in #31746
Change-Id: Iabfb4b871fb7807c0fe625036adfd22d2e6c51ee
Reviewed-on: https://dart-review.googlesource.com/31751
Commit-Queue: Paul Berry <paulberry@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2018-01-02 23:15:33 +00:00
Sigmund Cherem
226602dc18
Reapply "Support module names in DDK"
...
This includes two fixes that only caused problems in windows:
- we assumed file-uris in other parts of DDK, and this caused problems with sourcemaps
- we generated module names containing a leading "./" (e.g. "./expect"), this didn't cause trouble in linux, but it is incorrect.
Bug:
Change-Id: Id3c363670544ed0a8373184ec5445549346fc7bf
Reviewed-on: https://dart-review.googlesource.com/31748
Reviewed-by: Jake Macdonald <jakemac@google.com >
Reviewed-by: Sigmund Cherem <sigmund@google.com >
Commit-Queue: Sigmund Cherem <sigmund@google.com >
2018-01-02 22:12:13 +00:00
Konstantin Shcheglov
57d75d3358
Apply resolution to static field references with import prefixes.
...
Bug:
Change-Id: Ie84c69aea71cd6e5e5c373eba2c4439af524264c
Reviewed-on: https://dart-review.googlesource.com/31747
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-01-02 20:20:06 +00:00
Konstantin Shcheglov
6b4ae0c7b6
Apply resolution to instance creation with import prefix.
...
Bug:
Change-Id: Ia032f7e9870531bc7337dc4517f438dacf7779ff
Reviewed-on: https://dart-review.googlesource.com/31746
Reviewed-by: Paul Berry <paulberry@google.com >
2018-01-02 20:15:08 +00:00
Konstantin Shcheglov
6d5f2f09aa
Apply resolution to function expression invocations.
...
Bug:
Change-Id: I895cf9765664f1e9608ec612e4b1897f42cb9d70
Reviewed-on: https://dart-review.googlesource.com/31881
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-01-02 19:34:23 +00:00
Johnni Winther
220a91122a
Add --strong-mode flag to dart2js
...
+ move generic methods tests into a subfolder.
Change-Id: I00cde6a7dc7d6ff1677a8ca60f3a243f065e3765
Reviewed-on: https://dart-review.googlesource.com/31782
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2018-01-02 08:42:21 +00:00
Sigmund Cherem
80a74e6bff
Revert "Support module names in DDK" and "Do not assume file-uris in other parts of DDK"
...
This reverts commits e122f48257 and b2b902f55a .
Reason for revert: broke ddk in windows, need to investigate proper fix
Change-Id: I5c03bae406f57570cc465aad32610c19ac385944
Reviewed-on: https://dart-review.googlesource.com/31541
Reviewed-by: Sigmund Cherem <sigmund@google.com >
2017-12-27 23:35:14 +00:00
Sigmund Cherem
e122f48257
Support module names in DDK
...
This adds the basic support for using the path to the .dill file as a module
name. The main difference between this and Jake's original CL is that we now
hide the multi-root as an implementation detail.
Change-Id: If24af1aaefa5c1445c7c84bd9ff4a7a4d738a320
Reviewed-on: https://dart-review.googlesource.com/31283
Reviewed-by: Jake Macdonald <jakemac@google.com >
Commit-Queue: Sigmund Cherem <sigmund@google.com >
2017-12-27 17:52:22 +00:00
Aske Simon Christensen
de2ce48e17
Finish type variables earlier so their bounds are available when building the program.
...
Check bounds in verifier.
Fixed an inconsistency in the printing of parent nodes in the verifier.
Closes https://github.com/dart-lang/sdk/issues/30838
Closes https://github.com/dart-lang/sdk/issues/31213
Closes https://github.com/dart-lang/sdk/issues/31700
Change-Id: I328ca2c5bfa01a6753a806abd2510c98fa2b7cfe
Reviewed-on: https://dart-review.googlesource.com/22500
Commit-Queue: Aske Simon Christensen <askesc@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2017-12-22 11:06:52 +00:00
Sigmund Cherem
4dfa6a4b9c
Add flag to truncate summaries.
...
Also remove "trimDependencies".
For context: see issue #31704 (https://github.com/dart-lang/sdk/issues/31704 )
Change-Id: Iedce40fac9ed974850b41145e531d08aeccee87b
Reviewed-on: https://dart-review.googlesource.com/30963
Commit-Queue: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2017-12-21 20:00:21 +00:00
Sigmund Cherem
22298629e8
Add unstable API for bazel summary worker and move the actual worker out of package:front-end
...
Bug:
Change-Id: I0a64d3de46ef55e8185e723d6111fa315ad286ca
Reviewed-on: https://dart-review.googlesource.com/30621
Commit-Queue: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
Reviewed-by: Jake Macdonald <jakemac@google.com >
2017-12-21 19:09:11 +00:00
Brian Wilkerson
c2f029ccf9
Remove another unused parameter and cleanup TODOs
...
Change-Id: I5f8e62abf2cd476ce026c4fdde45755de0c79cc6
Reviewed-on: https://dart-review.googlesource.com/31180
Reviewed-by: Dan Rubel <danrubel@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2017-12-21 18:10:21 +00:00
Aske Simon Christensen
43b1c68803
Error on super as expression
...
Report error when super is used as an expression outside
an initializer. Consolidated some error messages.
Change-Id: Iafaeeeff8a4b72f941925cefcbc832ba47f02a79
Reviewed-on: https://dart-review.googlesource.com/23360
Commit-Queue: Aske Simon Christensen <askesc@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2017-12-21 17:25:51 +00:00
Dan Rubel
63fa6f24a5
Add fasta parser for statement var recovery
...
Change-Id: I58b54e757e9deede69ecba5a5d4fa200efdb09fa
Reviewed-on: https://dart-review.googlesource.com/30920
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2017-12-21 16:55:01 +00:00
Brian Wilkerson
fe031dea8e
Remove support for generic comment syntax from fasta parser
...
Change-Id: Ic9d61a19d03ff537d58fa378d992e02de903bad8
Reviewed-on: https://dart-review.googlesource.com/30921
Reviewed-by: Dan Rubel <danrubel@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2017-12-21 15:18:11 +00:00
Brian Wilkerson
705904befd
Replace parseLiteralStringOrRecoverExpression with ensureLiteralString and remove unused methods
...
Change-Id: I8ffeff26114132c31a9f677be5654f25455db197
Reviewed-on: https://dart-review.googlesource.com/30882
Reviewed-by: Dan Rubel <danrubel@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2017-12-20 18:29:23 +00:00
Alexander Markov
07829bb52a
[CFE] Correct error message for large integer literals
...
Error message is corrected to reflect move of BigInt class
from dart:typed_data to dart:core.
Issue: https://github.com/dart-lang/sdk/issues/31339
Change-Id: Ia959b940dd6443b071642d26d33055c836f16ad7
Reviewed-on: https://dart-review.googlesource.com/30622
Commit-Queue: Alexander Markov <alexmarkov@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2017-12-20 18:13:02 +00:00
Brian Wilkerson
294e8a1ac1
Create a recovery method in ClassMethodModifierContext
...
Change-Id: I3e721995efd71f9905fd9dc001b05148fd48973b
Reviewed-on: https://dart-review.googlesource.com/30883
Reviewed-by: Dan Rubel <danrubel@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2017-12-20 17:57:13 +00:00
Leaf Petersen
36057d82fa
Add stubs for new Dart 2.0 Iterable methods to Link.
...
See https://github.com/dart-lang/sdk/issues/31664 for more detail on
the core library changes.
Bug:
Change-Id: Id67b60b12a1a47f121ca40f7ee146516a4ac51ee
Reviewed-on: https://dart-review.googlesource.com/29940
Reviewed-by: Kevin Millikin <kmillikin@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
Commit-Queue: Leaf Petersen <leafp@google.com >
2017-12-20 17:08:02 +00:00
Brian Wilkerson
55d13097e0
Unify skipFormals and skipFormalParameters
...
Change-Id: I495b33b283aec848b6089619ad5632632e1df60d
Reviewed-on: https://dart-review.googlesource.com/30881
Reviewed-by: Dan Rubel <danrubel@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2017-12-20 16:56:13 +00:00
Brian Wilkerson
0eea09056d
Remove an unused parameter from parseClass
...
Change-Id: I0bef7350e76dcdcf336d0602622e781b485fe722
Reviewed-on: https://dart-review.googlesource.com/30880
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Peter von der Ahé <ahe@google.com >
2017-12-20 16:28:02 +00:00
Peter von der Ahé
d1543b3986
Don't include .dill artifacts in delta program
...
Change-Id: Ibbcb490cdaca57c600bcf4b9783d889644e8af00
Reviewed-on: https://dart-review.googlesource.com/30822
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2017-12-20 15:58:02 +00:00
Peter von der Ahé
ac068b3cb4
Use options.input if entryPoint is null
...
Change-Id: Ia7ce42d2caa025b0e1a31872f23bd0364d6cf5f7
Reviewed-on: https://dart-review.googlesource.com/30820
Reviewed-by: Jens Johansen <jensj@google.com >
2017-12-20 12:49:28 +00:00
Peter von der Ahé
2eab494036
Don't add dynamic to a reused dart:core library.
...
Change-Id: I6e4b5bef9e6cd244b7dd59d1be676e47358ec9b8
Reviewed-on: https://dart-review.googlesource.com/30453
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2017-12-20 11:05:55 +00:00
Peter von der Ahé
3b6e403f1b
Support compiling the SDK from source
...
Change-Id: Ib5df97ef143c2cf98fc3d92a81d0f6b2f4cb1224
Reviewed-on: https://dart-review.googlesource.com/30452
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
2017-12-20 09:37:55 +00:00
Dan Rubel
4e8c6e7862
Add more fasta parser field recovery
...
Change-Id: I8a63e04c80931d2b2e8b24a547cc845837dee5d8
Reviewed-on: https://dart-review.googlesource.com/30625
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2017-12-20 00:38:38 +00:00
Sigmund Cherem
a6b28dfee6
Move the use of 'multi-root' out of the FE
...
Change-Id: If26e4da18d4379041927e100e471a381f5979126
Reviewed-on: https://dart-review.googlesource.com/30600
Commit-Queue: Sigmund Cherem <sigmund@google.com >
Reviewed-by: Jake Macdonald <jakemac@google.com >
2017-12-19 22:00:43 +00:00
Dan Rubel
166cc11a64
Add fasta parser function expression recovery
...
Change-Id: Id5e27b8f186da23fd141fda12621f1ae3bcd1f8c
Reviewed-on: https://dart-review.googlesource.com/30580
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2017-12-19 20:57:43 +00:00
Brian Wilkerson
cf0b75bc1d
Rename parseStatementOpt to parseStatement
...
Change-Id: I0016bfb44843b6cd6dd36bef724fe25e93630224
Reviewed-on: https://dart-review.googlesource.com/30560
Reviewed-by: Dan Rubel <danrubel@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2017-12-19 20:23:54 +00:00
Brian Wilkerson
032cc33fd5
Rename parseAsyncModifier to parseAsyncModifierOpt
...
Change-Id: I1cc4ad97566bcaeebf16be65ba1e8972a526daef
Reviewed-on: https://dart-review.googlesource.com/30468
Reviewed-by: Dan Rubel <danrubel@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2017-12-19 20:22:54 +00:00
Brian Wilkerson
4288625d53
Rename parseClassHeader to parseClassHeaderOpt
...
Change-Id: If488545e2a13ba1f452bdd17321c6065345475e5
Reviewed-on: https://dart-review.googlesource.com/30540
Reviewed-by: Dan Rubel <danrubel@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2017-12-19 18:54:46 +00:00
Brian Wilkerson
710b866cce
Rename parseStuff to parseStuffOpt
...
Change-Id: I7f663bf8d7f0b08093bc173638f9f3e036cb277f
Reviewed-on: https://dart-review.googlesource.com/30541
Reviewed-by: Dan Rubel <danrubel@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2017-12-19 18:43:34 +00:00
Brian Wilkerson
3438b33745
Rename parseConditionalUris to parseConditionalUriStar
...
Change-Id: Iae15de8658f40b355b545b148d0e74358a9d32e1
Reviewed-on: https://dart-review.googlesource.com/30500
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Dan Rubel <danrubel@google.com >
2017-12-19 18:17:23 +00:00
Brian Wilkerson
d973fb3bca
Rename parseCombinators to parseCombinatorStar
...
Change-Id: I5caac387a90c9a103182901ac8a1d2a3283e6440
Reviewed-on: https://dart-review.googlesource.com/30501
Reviewed-by: Dan Rubel <danrubel@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2017-12-19 17:37:16 +00:00
Sigmund Cherem
3c74884ebb
Use the enclosing builder fileUri when creating classes.
...
This fixes a subttle bug with patching: we were incorrectly storing the origin
uri on a private class that was only defined in a patch file (it was not a
patched class).
Change-Id: I183b8240be2f452f05bc956642363e9d125d2552
Reviewed-on: https://dart-review.googlesource.com/30387
Reviewed-by: Peter von der Ahé <ahe@google.com >
Commit-Queue: Sigmund Cherem <sigmund@google.com >
2017-12-19 17:09:14 +00:00
Dan Rubel
63392bdb36
Add fasta parser import uri recovery
...
Change-Id: If88a4273866ef80f16f2f3fb561dc929c9b16772
Reviewed-on: https://dart-review.googlesource.com/30462
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2017-12-19 17:00:24 +00:00
Brian Wilkerson
5c43484947
Unify three very similar methods into one
...
Change-Id: I18fbef8abcc8192f4eb287606ff004ae824dbb5c
Reviewed-on: https://dart-review.googlesource.com/30461
Reviewed-by: Dan Rubel <danrubel@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2017-12-19 16:39:44 +00:00
Peter von der Ahé
0fb21eec2f
Tweak and document compile-time constant for enabling Fasta's incremental compiler
...
Change-Id: Icb45e579233f567319439623d67d2a683fb13514
Reviewed-on: https://dart-review.googlesource.com/30447
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2017-12-19 15:23:43 +00:00
Brian Wilkerson
dfc356eb0a
Re-order some parameter lists
...
Change-Id: I1b9235653d0b8f3e2cd79cf254daecaaea27d083
Reviewed-on: https://dart-review.googlesource.com/30323
Reviewed-by: Dan Rubel <danrubel@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2017-12-19 14:06:04 +00:00
Brian Wilkerson
45eb92988c
Clean up one use of previous in commitType
...
Change-Id: I7ba3095e4bc846e20cf621a5f6f7f6a2a3423438
Reviewed-on: https://dart-review.googlesource.com/30322
Reviewed-by: Dan Rubel <danrubel@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2017-12-19 14:06:02 +00:00
Peter von der Ahé
8a68b7d91d
Reuse Ticker instance
...
Change-Id: Iced3191870e83b3962937d967e2bea6a80187aa3
Reviewed-on: https://dart-review.googlesource.com/30446
Reviewed-by: Jens Johansen <jensj@google.com >
Commit-Queue: Peter von der Ahé <ahe@google.com >
2017-12-19 13:53:24 +00:00
Peter von der Ahé
51d4803855
Add onProblem to provide more flexible error handling
...
Change-Id: Iafd73e0a065a357170ec8836360644ecfef944b5
Reviewed-on: https://dart-review.googlesource.com/30443
Reviewed-by: Kevin Millikin <kmillikin@google.com >
2017-12-19 12:06:44 +00:00
Dan Rubel
b04e75d2bf
Add fasta parser top level variable recovery
...
Change-Id: I211519f62c5934fca581a8981db2805362bbecd2
Reviewed-on: https://dart-review.googlesource.com/30324
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2017-12-18 20:06:06 +00:00
Dan Rubel
76f30b99f5
Add fasta parser interpolation expression recovery
...
Change-Id: I45942cf29a86feadcd15fe61432681903658f945
Reviewed-on: https://dart-review.googlesource.com/30360
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2017-12-18 18:04:46 +00:00
Dan Rubel
51162efc45
Add fasta parser missing switch block recovery
...
This adds fasta parser recovery for missing switch blocks
and removes some redundant error checking code.
Change-Id: I92b875d31f0ada50586f5bd81e5e1c51e0c2ceec
Reviewed-on: https://dart-review.googlesource.com/30321
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2017-12-18 17:32:36 +00:00
Dan Rubel
ad9ea873c7
Add fasta parser switch case error checks
...
This refactors fasta parsing of switch statements so that it can
detect `case` statements after `default` statements
and duplicate `default` statements.
Change-Id: If9d2590a3563d0fe8940e9f3ed45375f2bebfa24
Reviewed-on: https://dart-review.googlesource.com/30240
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2017-12-18 15:21:36 +00:00