Mike Fairhurst
a88b10ad5a
Fix #34906 Handle bottom type via Null correctly
...
Bug: 34906
Change-Id: I6105de38a0ed697f53ba1158f12e0a03a809728e
Reviewed-on: https://dart-review.googlesource.com/c/81321
Reviewed-by: Paul Berry <paulberry@google.com >
Commit-Queue: Mike Fairhurst <mfairhurst@google.com >
2018-10-24 20:50:15 +00:00
Paul Berry
2e2c360371
Merge commit '0b15595913ff89d8486e6677af0254dd6feab350' into analyzer
2018-10-24 06:09:47 -07:00
Paul Berry
0009ca7b1b
In _matchInterfaceSubtypeOf, account for mixins having null superclass.
...
Fixes #34907 .
Change-Id: I1ba56bf57d6ca5a7a69f262e12df801dc2cc4a4a
Reviewed-on: https://dart-review.googlesource.com/c/81322
Auto-Submit: Paul Berry <paulberry@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Paul Berry <paulberry@google.com >
2018-10-24 01:06:25 +00:00
Konstantin Shcheglov
f5758b74c8
Report missing '[]' and '[]=' operators separately.
...
R=brianwilkerson@google.com
Change-Id: I729d76c3373ab0eba3e191a5a79f6d2a34a97e23
Reviewed-on: https://dart-review.googlesource.com/c/81222
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-10-23 15:46:51 +00:00
Paul Berry
5665636983
Merge commit '7fd78ed5b606e64d30ec201de9adce6fdf8856ba' into analyzer
2018-10-22 13:07:24 -07:00
Brian Wilkerson
a342cecffd
Disable support for the old super mixins
...
Change-Id: I8f8074b67ea43249fcc10deddd2325938996d529
Reviewed-on: https://dart-review.googlesource.com/c/79469
Reviewed-by: Devon Carew <devoncarew@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2018-10-22 16:02:01 +00:00
Konstantin Shcheglov
c44fa48f8f
Extract and rewrite MethodInvocation resolution.
...
This is a copy of https://dart-review.googlesource.com/c/sdk/+/78182 ,
but now in the analyzer branch.
R=brianwilkerson@google.com , paulberry@google.com
Change-Id: I75d17a351ee7a33c164d560009cf3ffd088d956a
Reviewed-on: https://dart-review.googlesource.com/c/80942
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-10-22 03:36:30 +00:00
Konstantin Shcheglov
163b356b79
Remove CheckedModeCompileTimeErrorCode.CONST_EVAL_THROWS_EXCEPTION.
...
There is no destinction anymore.
So, we don't need a cycle, and can report just one error kind.
R=brianwilkerson@google.com
Change-Id: I54680ca5b5df275b2d68804a0ad7caeda3ed92aa
Reviewed-on: https://dart-review.googlesource.com/c/80982
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-10-21 19:49:44 +00:00
danrubel
9f7ad8d082
Fix recovery when parsing complex type variables
...
This fixes parser recovery when the user has inserted a word before
a method declaration with a complex type arguments, such as
foo Future<List<int>> bar() {}
Fix https://github.com/dart-lang/sdk/issues/34850
Change-Id: Ic6d1767668bd34d75c6ab5f9973e5762bdd8f160
Reviewed-on: https://dart-review.googlesource.com/c/80780
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-10-19 18:56:09 +00:00
Sam Rawlins
2bb4284c63
Add a few more tests and comments for GnWorkspace
...
Change-Id: I3d8cc76e166c1968049c35d383599f6bebd0d1bf
Reviewed-on: https://dart-review.googlesource.com/c/80521
Commit-Queue: Samuel Rawlins <srawlins@google.com >
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
2018-10-18 00:26:01 +00:00
Sam Rawlins
5b574415f8
Fix GnWorkspace root
...
Bug: none
Change-Id: I61c11773313bab13afcab26bd2d3164a94da3e46
Reviewed-on: https://dart-review.googlesource.com/c/80260
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Samuel Rawlins <srawlins@google.com >
2018-10-16 23:09:01 +00:00
Konstantin Shcheglov
20f4349951
Fix for reporting INVALID_USE_OF_PROTECTED_MEMBER in documentation comments.
...
R=brianwilkerson@google.com , devoncarew@google.com
Bug: https://github.com/dart-lang/sdk/issues/34816
Change-Id: Ifb46351f83405e862fb5f28b669fa151ab0e2f8f
Reviewed-on: https://dart-review.googlesource.com/c/80267
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Reviewed-by: Devon Carew <devoncarew@google.com >
2018-10-16 17:29:37 +00:00
Brian Wilkerson
469e1e2e64
Remove unnecessary library directives
...
Change-Id: I7a157080e4d7fd80d64489a13de4e996b5870930
Reviewed-on: https://dart-review.googlesource.com/c/79474
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2018-10-13 00:44:04 +00:00
Konstantin Shcheglov
977f5c2c21
Switch KytheDartVisitor to InheritanceManager2.
...
Also deprecate lookupOverrides(), which is the last public method
that was left. So, now production code in Analyzer and Analysis Server
does not use InheritanceManager. It is used in lints and dartdoc
though. I'd like to make a slightly bigger change for lints than just
to replace creating of one with another.
R=brianwilkerson@google.com
Change-Id: I2f1ff42360706e13436e7be8683392027aefbb8c
Reviewed-on: https://dart-review.googlesource.com/c/79470
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-10-12 21:11:44 +00:00
danrubel
bc2ea566f1
Auto generate more analyzer error codes
...
Change-Id: I7881274ef6aae22d29d35fb6be084be873f929b8
Reviewed-on: https://dart-review.googlesource.com/c/79602
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-10-12 20:58:34 +00:00
Brian Wilkerson
0e001641a9
Re-write invalid ASTs and update fix to reflect new AST structure for invalid type arguments on named constructors
...
Change-Id: I66e5f6b6022356eb31a327d1c989950c360492f7
Reviewed-on: https://dart-review.googlesource.com/c/79463
Reviewed-by: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Dan Rubel <danrubel@google.com >
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com >
2018-10-12 16:38:51 +00:00
Dan Rubel
e4c3fa0a9c
Improve recovery when parsing named constructor invocation with invalid type arguments
...
The parser now generates a ConstructorWithTypeArguments error and a new
handleInvalidTypeArguments event after a begin/endTypeArguments event pair
when those type arguments are in a syntatically invalid location.
For example: `new C.n<int>();` in
```
class C<T> { T f; C.n() {} }
main() { var x = new C.n<int>(); }
Most listeners handle this event by dropping the invalid type arguments,
but AstBuilder now preserves those invalid type arguments in the AST
to support better code quick-fixes/quick-assists/refactoring.
Change-Id: I5b22bd4903cd9ee3645936b9a108598b603cf9ca
Reviewed-on: https://dart-review.googlesource.com/c/79300
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Dan Rubel <danrubel@google.com >
2018-10-11 19:57:22 +00:00
Konstantin Shcheglov
fab5d0a50d
In InheritanceManager remove unused, and deprecate used (in lints) methods.
...
Also, remove it from ErrorVerifier.
R=brianwilkerson@google.com
Change-Id: I35f6f7fd2f8c6680ec470e7bf7da4780a3c69df3
Reviewed-on: https://dart-review.googlesource.com/c/79360
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-10-11 17:57:35 +00:00
Konstantin Shcheglov
efcca1132b
Switch ErrorVerifier and OverrideVerifier to InheritanceManager2.
...
R=brianwilkerson@google.com
Change-Id: I2f1f03684611fcd6a183ea494d3b3d71a67fb170
Reviewed-on: https://dart-review.googlesource.com/c/79181
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
2018-10-11 14:48:18 +00:00
Konstantin Shcheglov
e221a6288b
Move reporting MISMATCHED_GETTER_AND_SETTER_TYPES for classes to using new interfaces.
...
R=brianwilkerson@google.com
Change-Id: I07e8af54ffebd446a1492fab667e4148468cc2f8
Reviewed-on: https://dart-review.googlesource.com/c/78925
Commit-Queue: Konstantin Shcheglov <scheglov@google.com >
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com >
2018-10-10 16:25:49 +00:00
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