Commit Graph

2234 Commits

Author SHA1 Message Date
Konstantin Shcheglov fd9823ae9e Issue 21965. Add Quick Fix for adding missing named parameter.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/21965
Change-Id: I81a39df6fd38f9f562b494483b3fe0f67f9a627b
Reviewed-on: https://dart-review.googlesource.com/54360
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-05-09 06:44:38 +00:00
Konstantin Shcheglov 0bab7e6bfa Issue 32765. Improve guess for type name identifier.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/32765
Change-Id: I7587fd2aaba50e4e07c9192d95141ece80d423b1
Reviewed-on: https://dart-review.googlesource.com/54303
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-05-08 18:57:58 +00:00
Danny Tuppeny b73541cffe Add a skeleton for Dart Folding
Only currently adds a single region around Directives.

Bug: https://github.com/dart-lang/sdk/issues/33033
Change-Id: Ibde0400c5815c00b1f94bf592d8cc9eb7cb592cf
Reviewed-on: https://dart-review.googlesource.com/54232
Commit-Queue: Danny Tuppeny <dantup@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-05-08 16:59:03 +00:00
Konstantin Shcheglov 179b31c157 Allow built-in identifiers for non-type entities, with a warning.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/32893
Change-Id: I0d3d25b24d68e9cf30bfd69e6818aaa2a24b6f90
Reviewed-on: https://dart-review.googlesource.com/54100
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-05-07 23:22:53 +00:00
Konstantin Shcheglov 1b8a3b1045 Implement support for overridden elements that are declared in mixins.
R=brianwilkerson@google.com

Change-Id: I70ca606b23b928481f24d1322cfbd01a9b3d3e5f
Reviewed-on: https://dart-review.googlesource.com/54071
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-05-07 21:56:25 +00:00
Konstantin Shcheglov 8515d74332 Add ImportElement.namespace and use it in completion.
R=brianwilkerson@google.com

Change-Id: I58cadf0e3239ad4ae8584d79485f4d9ebda10eba
Reviewed-on: https://dart-review.googlesource.com/54064
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-05-07 21:23:48 +00:00
Konstantin Shcheglov f62302b8ee Make extracted widgets follow Flutter style - const constructor and @required named parameters.
R=brianwilkerson@google.com, pquitslund@google.com

Bug: https://github.com/flutter/flutter-intellij/issues/2166
Change-Id: I28f548c8e814ac5b9585dd46fbb9a8f84f70f418
Reviewed-on: https://dart-review.googlesource.com/54066
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Phil Quitslund <pquitslund@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-05-07 20:59:04 +00:00
Konstantin Shcheglov 92f50475b8 Issue 32849. Use export namespace for import prefix and combinator completions.
R=brianwilkerson@google.com

Closes https://github.com/dart-lang/sdk/issues/32849
Change-Id: I43621a1c917095fab6be1f1798ea8596f7c3a173
Reviewed-on: https://dart-review.googlesource.com/53863
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-05-07 16:14:40 +00:00
Konstantin Shcheglov e5e83a29fb Revert "Add a fix for prefer_single_quotes"
This reverts commit eb2fbf501f.

Reason for revert: there is already corresponding quick assist, and it might be confusing to have both. Sorry.

Original change's description:
> Add a fix for prefer_single_quotes
> 
> Change-Id: Ifb59ec4c6822858e019adf780bfd7726b229542e
> Reviewed-on: https://dart-review.googlesource.com/53824
> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
> Reviewed-by: Konstantin Shcheglov <scheglov@google.com>

TBR=devoncarew@google.com,scheglov@google.com,brianwilkerson@google.com,jmesserly@google.com,ianloic@google.com

Change-Id: I880c7188ba25eef66c704ade4b61de3be1b55eb9
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/53880
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-05-05 00:42:59 +00:00
Ian McKellar eb2fbf501f Add a fix for prefer_single_quotes
Change-Id: Ifb59ec4c6822858e019adf780bfd7726b229542e
Reviewed-on: https://dart-review.googlesource.com/53824
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-05-05 00:01:06 +00:00
Konstantin Shcheglov f6a1f48450 Allow using pseudo keywords for names in refactorings.
The specification does not diallow them (actually does not say anything
at all).

R=brianwilkerson@google.com, devoncarew@google.com

Bug: https://github.com/dart-lang/sdk/issues/32893
Change-Id: I963b01aaf123bbf51d74dfcad6daf82cdb911bea
Reviewed-on: https://dart-review.googlesource.com/53841
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-05-04 23:23:16 +00:00
Konstantin Shcheglov 332dc7f3e9 Issue 32935. Fix NPE in 'Make final' quick fix.
R=brianwilkerson@google.com, devoncarew@google.com

Bug: https://github.com/dart-lang/sdk/issues/32935
Change-Id: I980ffebe48050f7835664fa4d7d798c6f48e755c
Reviewed-on: https://dart-review.googlesource.com/53840
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-05-04 21:19:26 +00:00
Konstantin Shcheglov 67d3e4e3a1 Use actual names of the @isTest of isTestGroup executable in outlines.
R=brianwilkerson@google.com, devoncarew@google.com

Change-Id: Ifcd9d2398ca4e80cdace115e36f0d27df1afaad4
Reviewed-on: https://dart-review.googlesource.com/53825
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
2018-05-04 20:11:16 +00:00
Konstantin Shcheglov b7a63c8d52 Use @isTest and @isTestGroup to understand executable element as a test/group.
R=brianwilkerson@google.com, devoncarew@google.com

Bug: https://github.com/flutter/flutter-intellij/issues/2055
Change-Id: I7c8e7639d111eca63df0780ebdec182573493047
Reviewed-on: https://dart-review.googlesource.com/53690
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-05-04 17:09:06 +00:00
Konstantin Shcheglov 9d10a6ad4a Issue 33034. Fix statement completion with missing condition right parenthesis.
Bug: https://github.com/dart-lang/sdk/issues/33034
Change-Id: I87a47e5ddc41596b4bcd0c07d250a7afb00546ef
Reviewed-on: https://dart-review.googlesource.com/53680
Reviewed-by: Steve Messick <messick@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-05-03 17:48:53 +00:00
Konstantin Shcheglov b7d8ae30e2 Change 'Extract Widget' to generate named constructor parameters, with 'key'.
R=devoncarew@google.com, paulberry@google.com

Bug: https://github.com/flutter/flutter-intellij/issues/2166
Change-Id: Ie698dc27a1328b7e18e92f46583f84c22c84de57
Reviewed-on: https://dart-review.googlesource.com/53060
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-04-30 16:49:00 +00:00
Konstantin Shcheglov da49615c2c Don't filter out references to constructors.
Even if we assign to something that wants a different type, we might
chain some property access on it later on, so it is not nice to don't
suggest anything at all. Instead, we should give higher relevance to
compatible types, but keep all the rest with default relevance, as we
did already for everything other than instance creations.

R=brianwilkerson@google.com

Bug: https://github.com/flutter/flutter-intellij/issues/1107
Change-Id: I86c3c5dded4ad4cbbf28a60c0ae2847f07a3373b
Reviewed-on: https://dart-review.googlesource.com/52863
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-04-26 23:43:26 +00:00
Janice Collins 1afe71c08a Enable preview-dart-2 as default for analyzer.
Based on https://dart-review.googlesource.com/c/sdk/+/52340, but adds
the necessary plumbing through the test system to pass through
negations to strong and preview-dart-2.  Also adds support for those
negations to the analyzer.

Change-Id: I9793ff28bb593d25bbb0a2ed8736b5b53e0a62d8
Reviewed-on: https://dart-review.googlesource.com/52461
Commit-Queue: Janice Collins <jcollins@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-04-26 17:01:12 +00:00
Danny Tuppeny 2d6dfb1ea9 Add failing tests for #32677
Change-Id: I215cb8ea4688af5fb505eb7650715d1ba74eb93f
Reviewed-on: https://dart-review.googlesource.com/52442
Commit-Queue: Danny Tuppeny <dantup@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-04-25 07:08:49 +00:00
Brian Wilkerson 7054d92a02 Remove some classes from the analyzer public API
Change-Id: Ic53a8426818b06f44c2876abd16c789589bf78b5
Reviewed-on: https://dart-review.googlesource.com/52421
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-04-24 15:28:15 +00:00
Konstantin Shcheglov 7b3a9c9aec Issue 2111. Copy documentation comments when 'Encapsulate Field'.
R=brianwilkerson@google.com

Bug: https://github.com/flutter/flutter-intellij/issues/2111
Change-Id: If971e72b2cde15b7183f148da9da4d0dfed4ae05
Reviewed-on: https://dart-review.googlesource.com/52267
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-04-23 16:46:22 +00:00
Konstantin Shcheglov f755d9dc33 Don't specify 'void' return type for setters in 'Encapsulate Field'.
R=brianwilkerson@google.com

Bug: https://github.com/flutter/flutter-intellij/issues/2104
Change-Id: Ib7fe60e27f37726be5131c8a2e915b7911773855
Reviewed-on: https://dart-review.googlesource.com/52180
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-04-20 17:40:39 +00:00
Brian Wilkerson a456753267 Move a library only used by tests into the test directory
Change-Id: Ie8dcadc6313b3745ef874954da968839eb460c71
Reviewed-on: https://dart-review.googlesource.com/52020
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-04-20 15:56:00 +00:00
Brian Wilkerson 9a7168a2bf Clean up dead code in quick assist support
Change-Id: I983c78a9ad131e5ae35a83abf2f455608b3ae835
Reviewed-on: https://dart-review.googlesource.com/52060
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-04-20 14:23:29 +00:00
Brian Wilkerson bdc727d49b Fix npe in quick fix computation (issue 32926)
Change-Id: Ic93da063758513f101d753516cb61c351dae2501
Reviewed-on: https://dart-review.googlesource.com/51940
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Danny Tuppeny <dantup@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-04-19 17:05:20 +00:00
Konstantin Shcheglov 71ca507d3d Fix for 'Extract Widget' refactoring test on Windows.
R=brianwilkerson@google.com

Change-Id: Ibcc2e7a1d080c46168675d62ac9f0462e7d2cad0
Reviewed-on: https://dart-review.googlesource.com/51540
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-04-17 18:17:21 +00:00
Brian Wilkerson b936ffb329 Move several libraries out of the public API
Change-Id: I8259de00134310f25b1c6168940aea5190488999
Reviewed-on: https://dart-review.googlesource.com/51443
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-04-17 17:35:27 +00:00
Brian Wilkerson 5460ddbab5 Move three more libraries out of the public API
Change-Id: I8e6aeaea35c739fb26e22ffcfc30a343ebbb5424
Reviewed-on: https://dart-review.googlesource.com/51363
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-04-16 22:15:28 +00:00
Konstantin Shcheglov afbaf0c4a6 Add 'Extract Widget' to getAvailableRefactorings().
R=brianwilkerson@google.com

Change-Id: Ieb6faa63de75d64edd317bf8b5276f775c634e3c
Reviewed-on: https://dart-review.googlesource.com/51361
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-04-16 20:13:08 +00:00
Konstantin Shcheglov 9976cddcd7 Shared cache of FileState contents.
This makes Flutter repo analysis about 12% faster.

R=brianwilkerson@google.com, devoncarew@google.com

Base: 76.2 74.9 75.9
After: 65.6 66.0 66.6 67.1
Change-Id: I5afffdae15eacf2c09c4ede40d7312c8827bae0c
Reviewed-on: https://dart-review.googlesource.com/51061
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-04-13 16:43:36 +00:00
Devon Carew 1ab4cee181 Add a benchmark for running flutter analyze --flutter-repo against flutter head.
Change-Id: I0e4cb66808126b37b43edede43ec7fdd2bbec45a
Reviewed-on: https://dart-review.googlesource.com/51042
Reviewed-by: Devon Carew <devoncarew@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2018-04-12 21:01:36 +00:00
Brian Wilkerson 3575b810b3 Only add const in a constant context (issue 32819)
Change-Id: Ia149d812d2540fa98d76765ffb8b54fe32ecf010
Reviewed-on: https://dart-review.googlesource.com/50120
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-04-09 18:11:36 +00:00
Devon Carew 70a61e7e6e more fixes to windows tests for path issues
Change-Id: Ic5e63be99cba833ee96f7b5c1c342b63095e0f47
Reviewed-on: https://dart-review.googlesource.com/49833
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-04-06 18:10:17 +00:00
Devon Carew 6ce79da9a1 Fix windows issues w/ the packages dir handling removal.
Change-Id: I78cf4b8787da7449f8a7a2840b9dd91e2342d5ec
Reviewed-on: https://dart-review.googlesource.com/49830
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2018-04-06 16:24:52 +00:00
Devon Carew 7cbd0f55b5 Remove the special casing of 'packages' files from the analyzer and analysis server.
Change-Id: I11fa2f73f7cdba8c53478c9002cefe82e58c09d6
Reviewed-on: https://dart-review.googlesource.com/49822
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-04-06 14:57:42 +00:00
Konstantin Shcheglov 6e25b9b2d3 Add flutter.getChangeAddForDesignTimeConstructor to API.
R=brianwilkerson@google.com

Change-Id: I91e40c447d32e603026de337ec2d36983174a8cd
Reviewed-on: https://dart-review.googlesource.com/49826
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-04-06 02:40:00 +00:00
Konstantin Shcheglov a6bd6fe047 Fix for generating forDesignTime(), must be factory.
R=brianwilkerson@google.com

Change-Id: Ie4a81511f52ee883da458ae9c029cc619013a433
Reviewed-on: https://dart-review.googlesource.com/49825
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-04-06 02:12:00 +00:00
Konstantin Shcheglov 618077cfee Implement FlutterCorrections.addForDesignTimeConstructor().
R=brianwilkerson@google.com, devoncarew@google.com

Change-Id: I1318020e9feab79ac1403e5d76c7e15483fc9a8e
Reviewed-on: https://dart-review.googlesource.com/49545
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-04-04 22:27:25 +00:00
Konstantin Shcheglov 1ff525c7f4 Add tests and fix a problem in inverting expressions.
R=brianwilkerson@google.com, danrubel@google.com

Change-Id: I4085efd1a4457f01ccb6cf62bd535fed61a1217a
Reviewed-on: https://dart-review.googlesource.com/49541
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
2018-04-04 18:29:05 +00:00
Konstantin Shcheglov 4089111540 Revert "Revert "Don't do implicit new/const code generation with --preview-dart-2 enabled.""
This reverts commit e5ed23fdb5.

R=brianwilkerson@google.com

Change-Id: Ida33856e965f06f773025f3c625d6ab3bace80a8
Reviewed-on: https://dart-review.googlesource.com/49280
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-04-03 22:29:09 +00:00
Konstantin Shcheglov e5ed23fdb5 Revert "Don't do implicit new/const code generation with --preview-dart-2 enabled."
This reverts commit a1e4d8e0bf.

Reason for revert: <INSERT REASONING HERE>

Original change's description:
> Don't do implicit new/const code generation with --preview-dart-2 enabled.
> 
> R=​brianwilkerson@google.com, devoncarew@google.com
> 
> Change-Id: I8a96a5ccceae57c3ed5c1f2e0fd4897a7e99df03
> Reviewed-on: https://dart-review.googlesource.com/48883
> Reviewed-by: Devon Carew <devoncarew@google.com>
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>

TBR=devoncarew@google.com,scheglov@google.com,brianwilkerson@google.com

Change-Id: Ie3acf0794ed7b8264682e29aaa4bc1516fce6981
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/48900
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-03-30 19:24:46 +00:00
Jenny Messerly bed5debbeb Callable object support in Analyzer and DDC.
Fixes #32156
Fixes #32157
Fixes #32426

This also fixes `implements Function` so it has no effect in Dart 2
(it is ignored for the purposes of subtyping.)

Change-Id: Ibec9c77cd516b8b97fef68a579998598d0acf8c6
Reviewed-on: https://dart-review.googlesource.com/45141
Commit-Queue: Jenny Messerly <jmesserly@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Vijay Menon <vsm@google.com>
2018-03-30 18:14:55 +00:00
Konstantin Shcheglov a1e4d8e0bf Don't do implicit new/const code generation with --preview-dart-2 enabled.
R=brianwilkerson@google.com, devoncarew@google.com

Change-Id: I8a96a5ccceae57c3ed5c1f2e0fd4897a7e99df03
Reviewed-on: https://dart-review.googlesource.com/48883
Reviewed-by: Devon Carew <devoncarew@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-03-30 18:07:25 +00:00
Konstantin Shcheglov ce1d52481c Don't remove unused imports when there are unresolved symbols.
R=brianwilkerson@google.com, devoncarew@google.com

Bug: https://github.com/dart-lang/sdk/issues/32124
Change-Id: If1b7b57bd98922768f28584325f668ba612c69d7
Reviewed-on: https://dart-review.googlesource.com/48705
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-03-29 21:44:19 +00:00
Konstantin Shcheglov 98f627f989 Issue 32708. Make GenericFunctionTypeElementForLink implement GenericFunctionTypeElementImpl.
R=brianwilkerson@google.com, paulberry@google.com

Bug: https://github.com/dart-lang/sdk/issues/32708
Change-Id: I50e3bf46ca276dbffed9cccb39d800bebb9aec68
Reviewed-on: https://dart-review.googlesource.com/48761
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-03-29 19:47:29 +00:00
Paul Berry 506ac7f953 Rework linker type inference using ExprBuilder.
This CL changes the way linker type inference works.  Instead of
walking the operations in an UnlinkedExpr in order and inferring types
directly, it first builds an AST for the expression using ExprBuilder,
then uses ResolverVisitor to resolve the AST and perform type
inference.

This helps ensure that summary type inference and ordinary AST-based
type inference produce the same result, since they now use the same
core algorithm.  In particular, this means that summary type inference
now does downwards inference properly.

Since the ResolverVisitor makes greater use of the element model than
the rest of the linker, this required implementing additional methods
in the linker's element model.

This CL includes some minor fixes to ExprBuilder that were uncovered
during testing.  It also contains some minor changes to
ResolverVisitor to make it work during linking.

Fixes #32525.
Fixes #32394.

Change-Id: I5ec9b2bf5565ad30b8cc856475334323dc118da8
Reviewed-on: https://dart-review.googlesource.com/48741
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-03-29 17:16:39 +00:00
Konstantin Shcheglov 859632b439 Fixes for uninitialized fields of Flutter widgets create constructors in Flutter style.
R=brianwilkerson@google.com, devoncarew@google.com

Bug: https://github.com/flutter/flutter-intellij/issues/2021
Change-Id: Ia5c8989d463ce7071b31069313e4638dea7b13a6
Reviewed-on: https://dart-review.googlesource.com/48700
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-03-28 20:28:28 +00:00
Konstantin Shcheglov 44dbba2b80 Use offset/length of the import prefix, or empty. Same for constructor names.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/32685
Change-Id: I40b7f9c679b04725db19dad661e3a88a4a982f1c
Reviewed-on: https://dart-review.googlesource.com/48682
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-03-28 18:19:09 +00:00
Konstantin Shcheglov 59de9710ea Complete Flutter's setState() as a whole statement, with a closure, and the caret inside the closure.
R=brianwilkerson@google.com, devoncarew@google.com

Bug: https://github.com/flutter/flutter-intellij/issues/1916
Change-Id: I90b8c11c5435e1981fb334a4762bbe2131f3064f
Reviewed-on: https://dart-review.googlesource.com/48526
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-03-28 04:26:36 +00:00
Brian Wilkerson d3295ded48 Remove the SORT_MEMBERS refactoring from the spec
Change-Id: Ic8b8135f22d8c3c07d4ded661ac43d2d5105dc3f
Reviewed-on: https://dart-review.googlesource.com/48464
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-03-27 16:37:44 +00:00