Paul Berry
b3af151325
Rework detection of uninstantiated bound errors.
...
We now determine whether a type is simply bounded in the summary
linker, so that we can take advantage of the linker's circularity
detection logic.
Fixes #34635 .
Fixes #34636 .
Change-Id: I6c5040dbaeb79957d8a84e3f76e6a51834b57f05
Reviewed-on: https://dart-review.googlesource.com/c/78867
Commit-Queue: Paul Berry <paulberry@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2018-10-09 22:07:02 +00:00
Paul Berry
4400df4190
Convert strong_mode_test.dart to triple-slash comment style.
...
Change-Id: Iba3ca6bc14269b89e55d36b662f0fa46b6710c5b
Reviewed-on: https://dart-review.googlesource.com/c/78800
Auto-Submit: Paul Berry <paulberry@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-10-09 17:12:44 +00:00
Paul Berry
219dc1be87
Rework the class hierarchy of StrongModeStaticTypeAnalyzer2Test.
...
The tests are moved into a mixin,
StrongModeStaticTypeAnalyzer2TestCases, which both
StrongModeStaticTypeAnalyzer2Test and
StrongModeStaticTypeAnalyzer2Test_Driver apply separately. This
allows tests to be marked as failing in
StrongModeStaticTypeAnalyzer2Test without affecting
StrongModeStaticTypeAnalyzer2Test_Driver.
Change-Id: Iabd641d5ecf03fd0481baf053e689d68a0e0e7a1
Reviewed-on: https://dart-review.googlesource.com/c/78705
Commit-Queue: Paul Berry <paulberry@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Auto-Submit: Paul Berry <paulberry@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2018-10-09 00:45:10 +00:00
Mike Fairhurst
7f531b5112
Analyzer: Fix missing errors during (a)sync(*) yield of void.
...
Change-Id: Iff1d87862b2f684c0ce36b0f07620f62f2e49a85
Reviewed-on: https://dart-review.googlesource.com/c/78323
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-10-08 22:27:59 +00:00
Konstantin Shcheglov
ca8809fcfa
Don't use variableElement.computeConstantValue() in ConstantVisitor.
...
...when we are using Analysis Driver.
This method causes switching to the task-model based way of computing
constants. And so filling SdkAnalysisContext with data. And because
SDK instances are long-lived, we were keeping this data as well.
R=brianwilkerson@google.com
Change-Id: Ie6f4a4ce8a05238b9640aef961af394d64373573
Reviewed-on: https://dart-review.googlesource.com/c/78420
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-10-08 16:34:04 +00:00
Mike Fairhurst
198b05279b
Fix #33599 circular typedef stack overflow.
...
Fix #33599 stack overflow for recursive function type parameters
Bug: 33599
Change-Id: I31a14e9f941bfd6bb7c2dba09f671d887e535b2a
Reviewed-on: https://dart-review.googlesource.com/c/76040
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Mike Fairhurst <mfairhurst@google.com >
2018-10-05 15:59:42 +00:00
Mike Fairhurst
765b8e2d66
More void cleanup
...
Change-Id: I21e23ab6dec654242d049935e2665389e61dd3d7
Reviewed-on: https://dart-review.googlesource.com/c/78189
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Auto-Submit: Mike Fairhurst <mfairhurst@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2018-10-05 15:34:31 +00:00
Peter von der Ahé
2a6b566ca2
Move byte store to package:analyzer
...
Change-Id: I1fc41cc0b2e2848565a5411d0512a4ca086ab659
Reviewed-on: https://dart-review.googlesource.com/c/77761
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
Auto-Submit: Peter von der Ahé <ahe@google.com >
2018-10-04 09:15:54 +00:00
Peter von der Ahé
45cb0815bc
Move PerformanceLogger to package:analyzer
...
Change-Id: I89a60ae9ab639c7907a92976e1eb8007d0f4ee9b
Reviewed-on: https://dart-review.googlesource.com/c/77760
Commit-Queue: Peter von der Ahé <ahe@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Jens Johansen <jensj@google.com >
Auto-Submit: Peter von der Ahé <ahe@google.com >
2018-10-04 08:44:43 +00:00
Konstantin Shcheglov
3daa63bc4c
Revert OverrideVerifier back to the old InheritanceManager.
...
This partially reverts https://dart-review.googlesource.com/c/sdk/+/77521
There is still one pre-existing issue, will be fixed later.
R=brianwilkerson@google.com
Change-Id: Ide556a65ef2e46f1621ac60b1b7a32207d804b31
Reviewed-on: https://dart-review.googlesource.com/c/77920
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-10-03 19:23:05 +00:00
danrubel
ab3ef0914c
Allow "yield" as label
...
Fix https://github.com/dart-lang/sdk/issues/33672
Change-Id: I1d070fd2fd3901d8159aa760b094398efee8643c
Reviewed-on: https://dart-review.googlesource.com/77501
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-10-03 18:32:07 +00:00
danrubel
f529ab10f0
Allow "operator" as a static method name
...
Fix https://github.com/dart-lang/sdk/issues/33673
Change-Id: Ia2ec01a3b9cf701f7f85f4891d2fb45f1f01e444
Reviewed-on: https://dart-review.googlesource.com/77500
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-10-03 18:32:07 +00:00
Konstantin Shcheglov
b628a62aa8
Remove ConstantValueComputer and DirectedGraph.
...
We use different graph implementation in Analyzer, CFE has its own.
And ConstantValueComputer is not used in Analyzer or anywhere internally.
R=brianwilkerson@google.com
Change-Id: I1abaca5205fa0af7c50675d2935b0d6f21373b31
Reviewed-on: https://dart-review.googlesource.com/c/77672
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-10-03 01:51:03 +00:00
Konstantin Shcheglov
80db08809c
Pass InheritanceManager2 into resolver, use for BinaryExpression.
...
Ideally I think we should not use Expression.staticParameterElement to
get back to the corresponding parameter of the invoked FunctionType,
and do this check directly during resolution.
R=brianwilkerson@google.com
Change-Id: I6dbb5bf63f7eaad7f19b31129319e32dd4455acc
Reviewed-on: https://dart-review.googlesource.com/c/77641
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-10-02 21:48:36 +00:00
Konstantin Shcheglov
4df3626d19
Remove support for (non)nullable types from Analyzer.
...
R=brianwilkerson@google.com
Change-Id: Ia26c203ed4fa238d1a546fe67e009fa542ed8f82
Reviewed-on: https://dart-review.googlesource.com/77666
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-10-02 20:05:15 +00:00
Brian Wilkerson
d2c5a24fd9
Recognize mixins as subtypes of their superclass constraints in hint generation (issue 34633)
...
Change-Id: I84b86e998ec353c13b18a460f2a7ca8cb0802204
Reviewed-on: https://dart-review.googlesource.com/77665
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2018-10-02 19:20:35 +00:00
Brian Wilkerson
a074a87b25
Convert more analyzer tests to use ResourceProviderMixin
...
Change-Id: I0b6d54501a7f52f0b8ae2faa72992cd22dfc6c58
Reviewed-on: https://dart-review.googlesource.com/77600
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2018-10-02 16:57:43 +00:00
Konstantin Shcheglov
7ca2f56112
Stop using and deprecate InheritanceManager.getMembersInheritedFromInterfaces().
...
R=brianwilkerson@google.com
Change-Id: Ia24248cc0d80960d2a4aa40e0da519804c68abbc
Reviewed-on: https://dart-review.googlesource.com/77483
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-10-01 22:40:07 +00:00
Konstantin Shcheglov
f5135c6e86
Don't recurse into arguments of constant InstanceCreationExpression while verifying.
...
This reduces time required to verify constant errors on my Flutter
analysis benchmark from 1770 ms to 540 ms. Total analysis time is also
down the similar value.
R=brianwilkerson@google.com
Change-Id: Ia307b33ddd36f8f7e88c0f909422b980d3c67dda
Reviewed-on: https://dart-review.googlesource.com/77481
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-10-01 20:45:10 +00:00
Paul Berry
32af1be0a4
Check type arguments against bounds when instantiating a typedef.
...
Change-Id: I38f390abd2c409694ad15cbc35654ba5dab9b9ce
Reviewed-on: https://dart-review.googlesource.com/77015
Commit-Queue: Paul Berry <paulberry@google.com >
Auto-Submit: Paul Berry <paulberry@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-10-01 20:43:19 +00:00
Konstantin Shcheglov
64f02226b3
Stop using InheritanceManager.getMembersInheritedFromClasses().
...
R=brianwilkerson@google.com
Change-Id: I2f719f6c3c5383ac76608b9fd5b7251f3af0d6bb
Reviewed-on: https://dart-review.googlesource.com/77463
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-10-01 19:02:14 +00:00
Konstantin Shcheglov
9083b116f8
InheritanceManager does not produce errors, don't ask it.
...
R=brianwilkerson@google.com
Change-Id: I0b26de6d60b02574b5a13803491833d4aaf43a1d
Reviewed-on: https://dart-review.googlesource.com/77269
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-10-01 15:34:55 +00:00
Konstantin Shcheglov
85fb1f3de1
Fix Analyzer tests on Windows bot.
...
R=brianwilkerson@google.com
Change-Id: Ia43513d068a7676e8760efb87631cccd124b3c69
Reviewed-on: https://dart-review.googlesource.com/77265
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-10-01 01:02:46 +00:00
Konstantin Shcheglov
1bceca91b0
Remove the 'name' constructor parameter from CompilationUnitElementImpl()
...
It costed us about 1.2% of total analysis time.
The whole information about a unit is available in its Source.
R=brianwilkerson@google.com
Change-Id: Iffa253d1eae1a466c10766f66c6c677e19be124a
Reviewed-on: https://dart-review.googlesource.com/77220
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-09-28 21:53:24 +00:00
Konstantin Shcheglov
749cf15dcf
Fix tests failing on Windows.
...
R=brianwilkerson@google.com
Change-Id: I72f01b89e03a3269cab9c8a33cbfb45c0bd13d72
Reviewed-on: https://dart-review.googlesource.com/77223
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-09-28 20:20:36 +00:00
danrubel
a73e0a840a
Fix parsing partial named constructor
...
Fix https://github.com/dart-lang/sdk/issues/34614
Change-Id: I22d96780a32bc58f83e81c5c9d01c6c4992be581
Reviewed-on: https://dart-review.googlesource.com/77200
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-09-28 19:53:10 +00:00
Konstantin Shcheglov
9c585bf5df
Document that ResourceProvider requires absolute, normalized paths, and enforce this.
...
This allows us to avoid performing normalization, and work with paths
as is. So, this speeds up SourceFactoryImpl.restoreUri() from 7.5% to 3.7%
R=brianwilkerson@google.com
Change-Id: I085f3db40af6543fbb524a82fad48aa051e87937
Reviewed-on: https://dart-review.googlesource.com/77017
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-09-28 17:18:49 +00:00
Konstantin Shcheglov
06744c68b2
Pull reporting for unimplemented inherited members, and declared abstract members from ErrorVerifier.
...
When we need to check that the concrete implementation is valid for
the class interface, we already know whether we have the required
concrete implementation, or if it is left abstract. So, we can report
corresponding errors without additional computation.
R=brianwilkerson@google.com
Change-Id: Ib6d19bab024572c26853c16f22adb8a545a2e304
Reviewed-on: https://dart-review.googlesource.com/77006
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-09-27 21:01:12 +00:00
Paul Berry
b1a54154f8
Check that implicit type arguments satisfy bounds.
...
This required adding an implementation of super-bounded types to the
analyzer.
We really could use some more tests to verify that we disallow
super-bounded types in all the appropriate locations, but allow it in
other cases (it seems that there are no language_2 tests to verify
this). To avoid churn, I'll wait until I have confirmation that my
reasoning is correct in #34583 before submitting test cases.
Fixes #34532 .
Fixes #34560 .
Change-Id: I3c5def60bcac0d31b56bead31cb1aab445f18e96
Reviewed-on: https://dart-review.googlesource.com/76280
Commit-Queue: Paul Berry <paulberry@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-09-26 01:12:28 +00:00
Brian Wilkerson
2c82a400e8
Signal a static error when invoking a non-function (issue 34320)
...
Change-Id: Ida2998b44f52185fcd1d3be545004edff917f5ad
Reviewed-on: https://dart-review.googlesource.com/76560
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2018-09-25 20:52:35 +00:00
Konstantin Shcheglov
9185294e7a
Reland: Implement inheritance/override checks from the spec.
...
Relands https://dart-review.googlesource.com/c/sdk/+/76061
Was reverted in https://dart-review.googlesource.com/c/sdk/+/76301
The difference with the original CL is that we don't look into
superclass and mixins of mixed-in for concrete members. This reduces
the number of errors in Flutter codebase to 1.
R=brianwilkerson@google.com
Bug: https://github.com/dart-lang/sdk/issues/34392
Change-Id: I86256b598d116439194cbaf4d09b4f72013d6563
Reviewed-on: https://dart-review.googlesource.com/76340
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-09-25 18:51:04 +00:00
Paul Berry
c23a9815ec
Stop setting element model supertypes in TypeResolverVisitor when using new driver.
...
It's not necessary (because these types are already set correctly by
the summary linker) and it causes incorrect behavior (because due to
issue #34579 the AST nodes don't always contain correct types).
This reduces the severity of #34579 by ensuring that the incorrect
types stay in the AST nodes and don't leak into the element model.
I'll leave that issue open to remind us to make a more complete fix.
Change-Id: Ibf39370d501b5e19c9dc75713f2c39ca732870d6
Reviewed-on: https://dart-review.googlesource.com/76441
Commit-Queue: Paul Berry <paulberry@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2018-09-25 17:46:50 +00:00
Zach Anderson
95d37b0921
Revert "Implement inheritance/override checks from the spec."
...
This reverts commit 836a1d7a88 .
Revert "Don't use ClassElementImpl for now in override checking."
This reverts commit 58e44c1400 .
Revert "large_class_declaration_test is slow now."
This reverts commit 56f6c52d58 .
Revert "Add regression test for issue 34392."
This reverts commit ef7d144bc7 .
Revert "Mixin declarations don't have supertype, fix isMoreSpecificThan()."
This reverts commit 95b8a19a20 .
Change-Id: Icda9cf9091ef35acc8fd61ac5dc135b3717eba0a
Reviewed-on: https://dart-review.googlesource.com/76301
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Zach Anderson <zra@google.com >
2018-09-24 21:27:34 +00:00
Konstantin Shcheglov
836a1d7a88
Implement inheritance/override checks from the spec.
...
This CL starts moving checks from strong-mode specific checker,
and old InheritanceManager into an implementation that is based
on the current spec, and avoids old baggage. It also fixes the issue
we were asked to fix for Dart 2.1.
Bug: https://github.com/dart-lang/sdk/issues/34392
Change-Id: Id5a23c5db7704b2b530bb894ae92628a08eaa70f
Reviewed-on: https://dart-review.googlesource.com/76061
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-09-24 16:28:50 +00:00
Paul Berry
6a04b3079f
Fix test_mixinInference_noMatchingClass_namedMixinApplication_new_syntax
...
It turns out that with the new mixin syntax, we always check for error
MIXIN_APPLICATION_NOT_IMPLEMENTED_INTERFACE first, and if it is found,
we don't even bother checking for MIXIN_INFERENCE_NO_MATCHING_CLASS
(which I think is reasonable). So the expectations on this test need
to be changed.
Change-Id: I2a33ce60a928af63f4fc83b4e3a8309a2660b441
Reviewed-on: https://dart-review.googlesource.com/75990
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2018-09-21 20:52:49 +00:00
Paul Berry
e22dd19b13
Create a base class for compile-time error code test cases.
...
This avoids the need to override tests in
CompileTimeErrorCodeTest_Driver to indicate that they pass.
Change-Id: Ieedb75c5d23edb3214b8d2cdb00a138201e3e3a7
Reviewed-on: https://dart-review.googlesource.com/75985
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2018-09-21 19:48:21 +00:00
danrubel
7cd25705ab
Fix parsing label between 2 switch cases
...
Fix https://github.com/dart-lang/sdk/issues/34453
Change-Id: Ib2280c4482b6530dab3947a0dfd87490bd379034
Reviewed-on: https://dart-review.googlesource.com/75960
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-09-21 19:36:40 +00:00
Paul Berry
5cf0d9e844
Replicate existing analyzer supermixin tests using new "mixin" syntax.
...
A few test cases fail. I'll investigate them and follow up with fixes.
Change-Id: I934e82a2ecec68f72ed46fb698b065186ef38aad
Reviewed-on: https://dart-review.googlesource.com/75980
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2018-09-21 18:34:42 +00:00
Paul Berry
ead158ab5d
Fix gatherMixinSupertypeConstraints to handle named mixin applications.
...
In a named mixin application, the superclass doesn't include the last
type appearing in the "with" clause, so that class isn't considered a
superclass constraint.
Fixes some test cases broken by 46e5954b0a .
Change-Id: I2e824d38017fe2c7eaa23e8f185cea07fe2222b7
Reviewed-on: https://dart-review.googlesource.com/75940
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2018-09-21 16:37:55 +00:00
Paul Berry
46e5954b0a
Turn on and fix mixin type inference checks when not in "supermixin" mode.
...
Now that we have an explicit syntax for mixins that is available all
the time, we have to do mixin inference error checking all the time,
not just when the "--supermixin" flag is supplied.
This required fixing several minor bugs:
- ErrorVerifier._checkForMixinSuperInvokedMembers did not properly
handle a mixinElement argument that was a ClassElementHandle.
- ErrorVerifier._checkMixinInference wasn't using the actual
substituted mixin types, causing errors to be wrongly reported when
a class declaration had multiple inferred mixins (this was the root
cause of #34404 ).
- Type names in "with" clauses in the resolved AST weren't properly
reflecting the mixin type arguments that had been inferred.
Fixes #34404 .
Change-Id: Ia773233c66f8d9ab778f207689c73922e9e3a880
Reviewed-on: https://dart-review.googlesource.com/75792
Commit-Queue: Paul Berry <paulberry@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2018-09-21 01:06:25 +00:00
Mike Fairhurst
0ec9945885
Fix #33629 boolean negation of void
...
Bug: 33629
Change-Id: Ieabd07cd7155b60466bf6873ba8252c9b5cb8d70
Reviewed-on: https://dart-review.googlesource.com/75784
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Mike Fairhurst <mfairhurst@google.com >
2018-09-20 23:58:48 +00:00
Paul Berry
d32e93db46
Remove unused import.
...
This import was mistakenly added in 2e3f17fa2b .
Change-Id: Ie89d47d4168c84eacea9d11b4c7f5bf986f5c2d7
Reviewed-on: https://dart-review.googlesource.com/75661
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2018-09-20 15:44:25 +00:00
Paul Berry
4baa3ec951
Create a base class for non-error resolver test cases.
...
This avoids the need to override tests in NonErrorResolverTest_Driver
to indicate that they pass.
Change-Id: I2a980889bc3e32db2c6ac3873bf439a12b23c63e
Reviewed-on: https://dart-review.googlesource.com/75660
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2018-09-20 15:44:16 +00:00
Paul Berry
2e3f17fa2b
Add support for the new mixin syntax to supertype constraint checking and resynthesis.
...
Partially addresses #34404 .
Change-Id: Ia115647c7e6e15092a7dca55287ff0680b780a97
Reviewed-on: https://dart-review.googlesource.com/75625
Commit-Queue: Paul Berry <paulberry@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2018-09-20 02:34:36 +00:00
Konstantin Shcheglov
81ce969060
Enable implicit constructors with optional parameters in mixin applications.
...
The spec changed in https://github.com/dart-lang/sdk/commit/63c6851dd01514e9d9e6cb96da0430e15b66d576
R=brianwilkerson@google.com
Bug: https://github.com/dart-lang/sdk/issues/34375
Change-Id: If7ba66d82fa4127cc6764d93f299790e8a862b42
Reviewed-on: https://dart-review.googlesource.com/75422
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-09-19 16:12:21 +00:00
Konstantin Shcheglov
ddcb8b7bb3
Remove unused SubtypeManager.
...
R=brianwilkerson@google.com
Change-Id: I4ec2bec51912817621361bf170257c6dfe972189
Reviewed-on: https://dart-review.googlesource.com/75123
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-09-16 02:27:14 +00:00
Dan Rubel
49da026e3e
Report error for extends void type parameters
...
Change-Id: I634b836ea40199a1e7962b7d07ca9f5d1ef3f16a
Reviewed-on: https://dart-review.googlesource.com/74680
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-09-13 20:27:56 +00:00
Mike Fairhurst
4ee66c9708
Const evaluation for int2double
...
Change-Id: I4673ab47d9dfcb8de62a5190a6dd2b9c79ef1d19
Reviewed-on: https://dart-review.googlesource.com/74496
Commit-Queue: Mike Fairhurst <mfairhurst@google.com >
Reviewed-by: Paul Berry <paulberry@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-09-13 00:02:54 +00:00
Konstantin Shcheglov
d09429debb
Generate more mixin errors.
...
R=brianwilkerson@google.com
Change-Id: Ia858efb270caa5664728395d47b4e31e34a0ed91
Reviewed-on: https://dart-review.googlesource.com/74667
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-09-12 20:54:28 +00:00
danrubel
4fe0088962
Report error if super on RHS of binary expression
...
Change-Id: I6251d56f4df5ebb603b653a100fed2c643870c96
Reviewed-on: https://dart-review.googlesource.com/74601
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-09-12 18:10:26 +00:00