Commit Graph

4770 Commits

Author SHA1 Message Date
Johnni Winther 4856917f63 [cfe] Handle extension getter/setter conflicts
Closes #38713

Change-Id: I07a1a07f842c88f95ddecbe1a9d4e0a7da232c02
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120586
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2019-10-08 14:03:31 +00:00
Jens Johansen 8f477fd84a [parser] Disallow covariant on extension method parameters
Fixes #38560.

Change-Id: I4c941fb6713983cc01efbe143c7924d0643efe73
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119332
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-10-08 13:01:40 +00:00
Aske Simon Christensen dee64581ad [fasta] Option for controlling message debugging stack traces
Change-Id: Ib15be633f19e37d9d2c243f88ae36f4f589eacd8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120663
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
2019-10-08 12:40:12 +00:00
Johnni Winther f4a72bfc64 [cfe] Don't crash on access to extension fields
Closes #38745

Change-Id: I8ab361d3663e22f1d21869ac787069ba8f73fa9d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120646
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-10-08 10:26:17 +00:00
Johnni Winther 9276d50fdc [cfe] Remove Severity.errorLegacyWarning
Change-Id: I1cc7a34af307b9edee4c92e43e8607a450cf471d
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120585
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2019-10-08 09:16:47 +00:00
Johnni Winther bc8b12e43b [cfe] Handle privacy in extension lookup
Closes #38750

Change-Id: Ieb5af03859a51ee034b3c2731eadf7591a4cc83c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120641
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-10-08 08:07:09 +00:00
Paul Berry 55466fd3cc Flow analysis: Remove AssignedVariables.capturedAnywhere.
This was intended to capture the set of variables captured anywhere in
a given function, but it doesn't actually work that way, because we
use a single AssignedVariables instance for the entire file.  But
that's no problem; we can just track variables captured within the
function using AssignedVariables.capturedInNode().

Change-Id: I2c39f40029203f275cf9b3284c6077de089b91fb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/120501
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-10-07 13:45:59 +00:00
Johnni Winther 8413a0db0d [cfe] Add *BuilderImpl
In preparation for creating a clean implementable interface for various
builder classes. This is in turn a precursor for deprecating
Builder.target

Change-Id: I83910e84da149775f46c0be4b10f7694fadd0a7f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119843
Reviewed-by: Aske Simon Christensen <askesc@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-10-04 12:24:45 +00:00
Johnni Winther 967673c005 [cfe] Introduce ClassMember
Use interface ClassMember instead of Builder in ClassHierarchyBuilder.
This avoids the coupling between DelayedMember and Builder and is a
precursor to removing Builder.target.

Change-Id: Ie2067512051618a60fcb94b5aae7e7f3d8c02b15
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119644
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Aske Simon Christensen <askesc@google.com>
2019-10-03 09:49:01 +00:00
Johnni Winther 3e2d6f95ee [cfe] Use fileOffset in Forest instead of Token
Change-Id: I6904555d5e192b7f6a561ae41859288db808e771
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119642
Reviewed-by: Jens Johansen <jensj@google.com>
2019-10-03 09:49:01 +00:00
Ryan Macnak d65a60db00 [vm, bytecode] Populate bytecode cache when initializing an incremental compiler from a kernel file.
AST
"without_change_elapsed_time_ms": 2863,
"implementation_change_elapsed_time_ms": 6009,
"interface_change_elapsed_time_ms": 5888,
"with_coverage_time_ms": 2884

BYTECODE BEFORE
"without_change_elapsed_time_ms": 5216,
"implementation_change_elapsed_time_ms": 8517,
"interface_change_elapsed_time_ms": 8895,
"with_coverage_time_ms": 5462

BYTECODE AFTER
"without_change_elapsed_time_ms": 3384,
"implementation_change_elapsed_time_ms": 8139,
"interface_change_elapsed_time_ms": 8073,
"with_coverage_time_ms": 3473

Change-Id: Ic8e1c183070cb6019ea48f16c04ea5363df41a97
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119620
Commit-Queue: Ryan Macnak <rmacnak@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2019-10-02 23:53:42 +00:00
Dmitry Stefantsov bdf6b9505e [cfe] Ask for subtype checking mode explicitly
The interpretation of the subtype check result depends on the mode.  In partial
NNBD mode all type errors that wouldn't be errors in non-NNBD programs should
become warnings.  In full NNBD mode all such errors are errors.  This CL adds
the mode explicitly to the interface of the subtype check as a parameter.

Bug: http://dartbug.com/38673
Change-Id: I14bcdd260618530cfdd8189c01abba7469a16679
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119545
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2019-10-02 11:30:29 +00:00
Jens Johansen 05c75c096d [CFE] Merge DDC and bazel incremental modular entrypoint code
Change-Id: Ia6ff627d50131fb55817e0d1adf2bc15240aeec1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119338
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-10-01 13:56:32 +00:00
Johnni Winther 0ef041d8f2 [cfe] Avoid crash on explicit extension access of static members
Change-Id: Ia9df90138be93cb9aa2a3111fdc2127fdc3f6cb4
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119334
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2019-10-01 07:34:20 +00:00
Aske Simon Christensen 0a5f736c68 [cfe] Fix missing comma between type parameters in function types
Change-Id: I90f7d1665a93414ed89799b3f564fdb7d2114e20
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119324
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Auto-Submit: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-09-30 13:44:59 +00:00
Johnni Winther f1d6282fa3 [cfe] Report error on extension members that conflict with Object members
Closes #38561

Change-Id: I9c26879662502e1f56203f87d1cd7a21036dcb2f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119325
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-09-30 13:21:49 +00:00
Dmitry Stefantsov b682235c4c [cfe] Preserve the nullability of LHS of intersection types
Change-Id: I2e91338d4172c1288ceb58c566d9d3e3e465a0b9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118985
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2019-09-30 12:53:19 +00:00
Dmitry Stefantsov 902a36e36f [cfe] Thread nullability of typedef types from source into Kernel
Closes #38214, #38215.

Bug: http://dartbug.com/38214
Bug: http://dartbug.com/38215
Change-Id: I6f96668f3dc7b315b0848a8d8953783ceb5f1c47
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119326
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-09-30 12:52:29 +00:00
Dmitry Stefantsov b361639a74 [cfe] Account for nullability in type substitution on TypeBuilders
Closes #37689.

Bug: http://dartbug.com/37689
Change-Id: Ifac30bede3dbec9008e31e5fc81014cc69069afc
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119145
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-09-30 12:52:29 +00:00
Dmitry Stefantsov 7d75eb1fd9 [cfe] Account for nullability in type substitution on DartTypes
Bug: http://dartbug.com/37689
Change-Id: I5c37f0e13da956285300288cffc58263e67ac302
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119140
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-09-30 12:52:29 +00:00
Johnni Winther d8c5daf17a Enable extension methods by default
Change-Id: Ib70ac3a1dd4885ef95a9b5b001978ffbb46f6ad0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119327
Reviewed-by: Daco Harkes <dacoharkes@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-09-30 11:28:46 +00:00
Johnni Winther e52542b421 [cfe] Handle generic return types
Returns types on generic methods in generic extension that contained
type variables declared on the generic method were not substituted,
leaving these as unindexed type parameters during serialization.

Change-Id: I4f53005318ba2be014bfe6e92f4f6c93288f2a4f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118995
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-09-30 10:58:05 +00:00
Johnni Winther dd028547ce [cfe] Support patching of extension methods
Change-Id: I453e17e63f97a0ca2477371541c6a9602bee2404
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119322
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Johnni Winther <johnniwinther@google.com>
2019-09-30 09:51:31 +00:00
Aske Simon Christensen 8f24bd2901 [cfe] Remove or reformulate some bad tips and messages.
Change-Id: I5f37da30370fb48a4417e2b0c990d9fc1c9713a7
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118990
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-09-30 09:02:41 +00:00
Aske Simon Christensen 4b9557e5e3 [cfe] Check valid return type of local async functions.
Fixes https://github.com/dart-lang/sdk/issues/37681

Change-Id: I24e53f92ab9c812591a1317673082c4a40c2d00b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119142
Commit-Queue: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-09-30 08:48:08 +00:00
Paul Berry e4d8ad5866 Flow analysis: remove add method.
It is no longer necessary to explicitly "add" variables that are
subject to flow analysis.  Unrecognized variables are now treated
simply as uninitialized.  This simplifies analyzer error recovery by
ensuring that an attempt to use a variable before its declaration
doesn't lead to a crash.

Change-Id: I11e8afc3ffb93c864db4638a224ff782d11f5a6c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119200
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-09-28 01:55:45 +00:00
Paul Berry 34899a8a56 Flow analysis: remove TypeOperations.isLocalVariable.
The last use of it was removed in c73df64c94.

Change-Id: Iececde3309246bfb6f6106e6e6d62ac2b08f9376
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/119163
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-09-27 22:09:01 +00:00
Aske Simon Christensen a12c275901 [CFE] Avoid talking about const context in error messages.
The constant evaluator does not know if the expression it is evaluating
is actually in const context. If not, those messages are misleading.

Fixes https://github.com/dart-lang/sdk/issues/38568

Change-Id: Iddfb1fbdc12eb1874a1f400cf08763e003db23e6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118982
Auto-Submit: Aske Simon Christensen <askesc@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
2019-09-27 14:49:57 +00:00
Jens Johansen c3c31b74fd [parser] Fix bug wrt when the handleNonNullAssertExpression is added
This fix is basically a revert of the first fix for for the same issue,
https://github.com/dart-lang/sdk/commit/627e4c8cad17f069a9dc281e6726cc2080f1af45

Fix #37708

Bug: 37708
Change-Id: Ic470b2663e7171fcac6a8de3d9e1276b7815a64b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118574
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-09-27 11:53:15 +00:00
Kallen Tu 327bc451f8 Added variance support in listeners to ast.
Pass variance data to field in TypeParameter through the listeners.
ast_to_text will print variances for classes and mixins if specified.

Avoids serialization/deserialization (impl in future CL).

Change-Id: I298537604823710f0d30001f4cb5f1e81530959f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118464
Commit-Queue: Kallen Tu <kallentu@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-09-26 18:11:10 +00:00
Brian Wilkerson 3c18db7d9e update analyzer error message generator to generate hasPublishedDocs
Change-Id: I87fae43033876c84448e785417bd5a72efe52ef9
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118180
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-09-26 17:11:02 +00:00
Johnni Winther 6ff8d2199d [cfe] Don't crash on constructors in extensions
Change-Id: I11cdb9699101f384c2734c3551b4eefdfda6eccb
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118980
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2019-09-26 12:32:25 +00:00
Johnni Winther 53564db036 [cfe] Handle implicit extension call()
Change-Id: Ib0aa04b7b00c54c21932040bd8912d95c138f62e
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118960
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2019-09-26 10:36:51 +00:00
Johnni Winther ee7aae43c0 [cfe] Handle explicit extension index access
+ avoid implicit extension for [] or []= when the other is defined on
the receiver.

Change-Id: I99c76a66bfb4f72c396097b2f347aad9f0a42f33
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118940
Reviewed-by: Jens Johansen <jensj@google.com>
2019-09-26 10:36:51 +00:00
Johnni Winther 0bf6b6ae64 [cfe] Handle instantiation of extension tear-offs and check bounds on extension method invocation
Change-Id: I212f95c897889a28934910c2c21c64bea6c6a64c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118585
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2019-09-26 08:41:38 +00:00
Kallen Tu c3bbd6a247 Added parser recovery for multiple variance modifiers.
New error message for multiple variances and will handle recovery from
more than one variance modifier before a parameter.

Change-Id: I63ed8a7f04dd664e20d72b632b40f723aa43020f
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118621
Commit-Queue: Kallen Tu <kallentu@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-09-25 17:12:06 +00:00
Dmitry Stefantsov e034104f04 [cfe] Remove TypeEnvironment.*Type getters
The getters were returning types of undefined nullabilities.  Now the
nullability-aware getters on CoreTypes should be used instead.

Closes #38224.

Bug: http://dartbug.com/38224
Change-Id: I617a0ef8ee17ebd792c2bc1ec6477a5ee469fee1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118570
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2019-09-25 13:28:28 +00:00
Dmitry Stefantsov 463894f986 [cfe] Remove NullabilityBuilder.legacy
TL;DR: Use cases of 'legacy' constructor are covered by the 'omitted'
constructor.

The initial idea behind the removed constructor was to use it on all
types in opted-out libraries, as if the programmer had a way to specify
which type is legacy.  That didn't prevent from building the 'omitted'
NullabilityBuilder into 'legacy' nullability sometimes.  In some cases
we still had to use the 'omitted' constructor because we didn't have the
access to the library object yet, and then, then the
NullabilityBuilder.build method is invoked, and the library object is
passed to it, we build 'legacy' nullability.

Change-Id: I975fa93e23ee55e93db5f3e642a97ad6901b06c1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118568
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-09-25 13:28:28 +00:00
Dmitry Stefantsov 4209c50587 [cfe] Remove NullabilityBuilder.pendingImplementation
Closes #38286.

Bug: http://dartbug.com/38286
Change-Id: Id9e3167f5e03dbaeb7f776aed3f4fcaf068a1b95
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118567
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-09-25 13:28:28 +00:00
Johnni Winther b03d472e4c [cfe] Handle default values on extension methods
Closes #38541

Change-Id: I078800cc98b5444c2c7f6f87b2d89bcf764bfc23
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118582
Commit-Queue: Johnni Winther <johnniwinther@google.com>
Reviewed-by: Jens Johansen <jensj@google.com>
2019-09-25 08:45:27 +00:00
Dmitry Stefantsov 12f6cbb7b1 [cfe] Thread nullability modifiers for TypeParameterTypes from source
Closes #38218, #38221.

Bug: http://dartbug.com/38218
Change-Id: I4689b0b192b71790c8fc5ffba6ccb807f289f771
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118580
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Dmitry Stefantsov <dmitryas@google.com>
2019-09-25 08:15:47 +00:00
Dmitry Stefantsov 13fcf27c25 [cfe] Implement library-specific NullabilityBuilder getters
Change-Id: Ia7ca900f52bab8549224147bdf2ea161fc60002c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118564
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-09-25 08:15:47 +00:00
Dmitry Stefantsov db3bf8f509 [cfe] Preserve abstraction level in TypeDeclarationBuilder.buildType
The .buildType method and its implementations should receive builders as
arguments, not already built objects.  The already built objects should
be passed to .buildTypeWithBuiltArguments instead.  The absraction level
is prserved in this CL by passing in a NullabilityBuilder, not a
Nullability into .buildType.

Change-Id: I1dd87974e0081b82a5c6593f3e8a133d20563f6b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118563
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-09-25 08:15:47 +00:00
Johnni Winther 7b9bcd08b4 [cfe] Correctly substitute function types from extension on-clauses
Change-Id: Icf6bf59544d2c14cc153cdf77b675554d319b6b8
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118541
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2019-09-25 07:30:17 +00:00
Johnni Winther 2f7ad92ee4 [cfe] Handle null aware explicit extension application
Handles expressions like `Extension(c)?.foo`.

This CL also includes an update to SourceExtensionBuilder.build
addressing a comment in a previous CL.

Change-Id: I0ebcd95d16743c0aa6da22120182b2219fc30726
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118443
Reviewed-by: Jens Johansen <jensj@google.com>
2019-09-25 07:30:17 +00:00
Kallen Tu 89220fd812 Variance Parsing and Syntax Support
With the experiment flag on, will properly parse the `in`/`out`/`inout`
keywords. Without it, will issue an error regarding the flag. First CL
for parsing, syntax support, no AST work yet.

Keywords only parse correctly for classes and mixins.
See test `variance_disabled_syntax_test.dart`.


Change-Id: I37d765804fa0752512abf52fa44456a173087ef0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/117929
Commit-Queue: Kallen Tu <kallentu@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2019-09-24 17:21:39 +00:00
Jens Johansen cc7baf9bf5 [CFE] Fix of crash etc in error messages wrt formal parameters
With something like
x2() {
  y(z, {z}) {}
}

in a part, we create an error on the 2nd 'z'.
That error message gets the file uri of the body builder which is correct.
The context gets (for the 1st 'z') gets the file uri of the
FormalParameterBuilder which in turn got it from the "parent" which is the
library which is the "main library", i.e. not the "part library".

This causes - in the face of parts - one of two things:
1) It will point into the wrong file and the error message will be bad.
2) It tries to point into the wrong file, but the wrong file is not big
   enough, and we thus get a crash.

This CL fixes it so the FormalParameterBuilder has the right uri.

Fixes https://github.com/dart-lang/sdk/issues/38523.

Bug: 38523
Change-Id: I303dbec2934ae930b8f2f2c9f63a4aa00db3a89c
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118448
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-09-24 11:50:09 +00:00
Jens Johansen fdda2729c3 [CFE] Fix crash when mixin application has mixin application super from dill
Fixes https://github.com/flutter/flutter/issues/40966.

Change-Id: Idf3febc50b5c8d637e9f3f43e8bd3e6b8bdee2fd
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118444
Reviewed-by: Johnni Winther <johnniwinther@google.com>
Commit-Queue: Jens Johansen <jensj@google.com>
2019-09-24 10:47:18 +00:00
Jens Johansen dccbb236a9 [DDC/bazel/frontend] Fix same library in old and new dill
Because we cache dills, it gives problems when loading the same library
from two different dills and starts "ping-ponging" between them.

See http://dartbug.com/38496 for details.

This solves the problem by removing any old dill from the cache,
that overlaps with what we're loading in now.

Bug: 38496
Change-Id: I61c2b3694d1d0d8fd5e9b62c4a03b6ac03ae4308
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/118386
Commit-Queue: Jens Johansen <jensj@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
2019-09-24 09:53:47 +00:00
Aske Simon Christensen c71ee4b0c9 [cfe] Report override errors at the class in which the override takes place.
Change-Id: Ib5b80d3cca6e15966f822bf96294dee8f4dedc04
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/115247
Reviewed-by: Jens Johansen <jensj@google.com>
Commit-Queue: Aske Simon Christensen <askesc@google.com>
2019-09-24 08:28:21 +00:00