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>
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>
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>
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>
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>
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>
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>
This updates the fasta parser to gracefully recover
when a 'case' or 'default' keyword is not followed
by a colon.
In addition, the analyzer error code associated
with the fasta ExpectedButGot error template
has been changed
from UNEXPECTED_TOKEN
to EXPECTED_TOKEN.
Change-Id: Ic1cc01362b2ed796c0a0817504ac6aa9294fa9b3
Reviewed-on: https://dart-review.googlesource.com/30160
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
Fixes#31586.
Note that none of the back-ends handle Instantiation nodes yet, so the
language_2 tests added in this CL
(instantiate_tearoff_after_contravariance_check_test,
instantiate_tearoff_of_call_test, and instantiate_tearoff_test) fail
pretty much across the board right now.
Includes two fixes to Instantiation.getStaticType and the kernel type checker:
- Previously, they attempted to perform substitution on the full
function type, which had no effect because the type parameters were
bound.
- The type checker was not checking that type parameter bounds were
satisfied.
Note that the front end doesn't yet check that type parameter bounds
are satisfied by the inferred type parameters. I will address that in
a follow-up CL.
Change-Id: Ib0ad7a5fc5f4a2fdc8c99abe1f2d3d15b21a4974
Reviewed-on: https://dart-review.googlesource.com/29744
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
During fasta parser recovery, the offset and/or length of some
synthetic tokens was incorrect. This caused problems during
code completion.
Change-Id: Iace73d06bb5da3ae916c69b7823367d8fc6e16b8
Reviewed-on: https://dart-review.googlesource.com/29822
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
all satisfactory infrastructurally, organizationally, performance wise.
This does not handle summarizing errors so that we can produce them for existing
dill files, and some other places where special analysis is performed like on
the standard libs.
The CompilationMessage object is less rich than the Message object that other
code is using, see \#31644. However, workarounds included.
Bug:
Change-Id: I5b436b0de6051877801c1d128f43a9656df1b549
Reviewed-on: https://dart-review.googlesource.com/29400
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Add a new handleInterpolationExpression fasta parser event
so that AstBuilder can correctly construct interpolation expressions
with left and right brackets.
Change-Id: Icca977067fe3a28dbab83488108c7286ec135dca
Reviewed-on: https://dart-review.googlesource.com/29541
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
Change-Id: I4fe70ba733c80dcfa95b86447d1094b7338d83f2
Reviewed-on: https://dart-review.googlesource.com/29588
Reviewed-by: Peter von der Ahé <ahe@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Change-Id: I12390cc3a3f6dde2b2abe5ed5da4e6c5ce114ba7
Reviewed-on: https://dart-review.googlesource.com/28725
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
Change-Id: I80221caf1f17acfe50b3c77da8e86e1bff54c67f
Reviewed-on: https://dart-review.googlesource.com/28724
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
Temporarily use the patch URI for procedures and constructors and adjust
file-offset on class metadata to workaround issue #31579.
This change should be reverted when we have proper tracking of both origin and
patch URIs for each patched element.
Change-Id: I451a39b57cb121c2de3b1a324adc8cdbb5e8962c
Reviewed-on: https://dart-review.googlesource.com/29004
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
Bug:
Change-Id: Idfb037e79d247889fe6a7d9a9b475ca4f8637080
Reviewed-on: https://dart-review.googlesource.com/27800
Reviewed-by: Alexander Markov <alexmarkov@google.com>
Reviewed-by: Peter von der Ahé <ahe@google.com>
We have a fileUri for fields and procedures and it was missing in constructors.
This is needed to be able to correctly store the patch URI in patched
constructors and to be able to workaround
https://github.com/dart-lang/sdk/issues/31579.
Change-Id: Ic80d3dc87450ada8b39b555e9b16e162d0e40b45
Reviewed-on: https://dart-review.googlesource.com/29003
Commit-Queue: Sigmund Cherem <sigmund@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
Reviewed-by: Kevin Millikin <kmillikin@google.com>
Change-Id: I0961e74144fd9d86942e88cf525fe71e9a9c2b41
Reviewed-on: https://dart-review.googlesource.com/28740
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>
Change-Id: I6c500f977498b5e54e581273bf3a3b171fc2e61b
Reviewed-on: https://dart-review.googlesource.com/28720
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Peter von der Ahé <ahe@google.com>