Commit Graph

30 Commits

Author SHA1 Message Date
Konstantin Shcheglov e97f1bdbf0 Switch analysis_server to language 2.12, so null safety, but opt-out files.
This should allow doing partial migration, specifically protocol files,
which are imported by other libraries, but are a small library cycle
that does not import much outside of it.

Change-Id: I904c05d6d5b444ee9a9dbd1f7ada12aabdcc5165
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/193583
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2021-03-30 23:39:37 +00:00
Danny Tuppeny 387e9d9ab2 [analyzer] Include ConditionalExpressions in Flutter Outlines
Fixes https://github.com/Dart-Code/Dart-Code/issues/3196.

Change-Id: I369e48285329c808a092ff677440e159aa7a103b
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/192688
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2021-03-24 15:01:21 +00:00
Konstantin Shcheglov 90ce990409 Simplify Flutter support to a single instance.
Change-Id: I90813c4e01694510971c4ce9cf96a4a3380a2923
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/153952
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2020-07-10 17:21:24 +00:00
Brian Wilkerson 8969b1839c Enable omit_local_variable_types in analysis_server
Change-Id: I7e5c13d40fd276854601681fc84be321e6031b10
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/141583
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2020-03-30 03:58:44 +00:00
Brian Wilkerson 4043a6fce3 Remove unnecessary uses of new in analysis_server
Other than analysis_options.yaml, all of the changes were from running
dartfix.

Change-Id: I92411642f12a00fc6bd0bfd24dd60fe67f0fed16
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/128845
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-12-18 19:01:51 +00:00
Konstantin Shcheglov f0b119c1b4 Add nameLocation/valueLocation to FlutterOutlineAttribute.
R=brianwilkerson@google.com

Change-Id: Ib73c5a01013516232f78f1ffa89bff005976e632
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/109060
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-07-15 14:50:59 +00:00
Konstantin Shcheglov 8a1dcdae68 Graduate 'flutter' domain from experimental, remove unused methods and fields.
We could also remove FlutterCorrections, because right now we don't
use it, but we will restore it soon as we get new Flutter domain
methods.

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

Change-Id: I084fe5acbe5d854673c7247d734aeca1f8d721af
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/108364
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-07-08 22:03:24 +00:00
Konstantin Shcheglov da3ead02c1 Issue 3446. Recurse into attributes to find children widgets.
R=brianwilkerson@google.com, devoncarew@google.com

Bug: https://github.com/flutter/flutter-intellij/issues/3446
Change-Id: Ifa83367c68b406b342e0f99195015d98eaedb049
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/103900
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-05-28 20:09:25 +00:00
Konstantin Shcheglov fd76dda221 Identify mobile or web Flutter correctly when both are possible.
R=brianwilkerson@google.com

Bug: https://buganizer.corp.google.com/issues/131257401
Change-Id: Ifccb54504e7551009cdc3a66dd454e653d3cdd4a
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100663
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-04-27 16:52:56 +00:00
Brian Wilkerson d03323783a Fix an exception in flutter outline when using ui-as-code elements (issue 36772)
Change-Id: If0cb8972cc172581d0365e4d9e0bab0cfee598c6
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/100629
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-04-26 19:26:55 +00:00
Paul Berry 7d277c4a32 Introduce methods and classes to replace "2" variants left over from "UI as code" work.
The AST refactor for "UI as code" left behind a few things whose names
ended in "2".  This CL deprecates those things and creates
replacements that don't end in "2", so that we keep the API clean.  In
a future breaking change release of the analyzer we'll remove the
deprecated things.

The following methods and classes are added:
- ForStatement and ForStatementImpl
- ListLiteral.elements
- SetOrMapLiteral.elements
- AstVisitor.visitForStatement
- AstFactory.forStatement
- NodeLintRegistry.addForStatement

The following methods and classes are deprecated:
- ForStatement2 and ForStatement2Impl
- ListLiteral.elements2
- SetOrMapLiteral.elements2
- AstVisitor.visitForStatement2
- AstFactory.forStatement2
- NodeLintRegistry.addForStatement2

In a similar way to how we did the previous stage of AST migration,
the existing visitors have been modified so that the default
implementation of visitForStatement2 redirects to visitForStatement;
this allows clients to change their overrides of visitForStatement2 to
override visitForStatement instead.  Once all clients have been
migrated we will be able to delete the visitForStatement2 method.

Change-Id: Ife5949071fe4cb50791cd4f2f4b99a1bfaad54c1
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/97360
Commit-Queue: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-03-20 22:58:55 +00:00
Konstantin Shcheglov 3124125008 Move Flutter utility methods into a class, which can be instantiated either with regular package:flutter, or with package_flutter_web.
The factory constructors does not yet choose one, will do in a
following CL.

R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/36056
Change-Id: I7fabe9da571ea80ce993d9303217ccd8b085e8a5
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/95283
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-05 05:51:41 +00:00
Paul Berry 7dec865054 Add set literal support to the flutter outline computer
Change-Id: I1d5f3dfdc4987bd7dc91dbd78ff5649667aa23b0
Reviewed-on: https://dart-review.googlesource.com/c/94760
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-02-28 15:35:36 +00:00
Paul Berry 0adddfbeab Eliminate uses of old AST node types from analysis server
Change-Id: Ifc97c6e08cb40cf98c519b442d10d921b2cccd05
Reviewed-on: https://dart-review.googlesource.com/c/94364
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-02-28 12:37:56 +00:00
Brian Wilkerson 122aa43ef6 Convert ListLiteral and remove uses of ListLiteral2
Change-Id: I6c6f60ae969deb798cdbc8572341f2a51256b194
Reviewed-on: https://dart-review.googlesource.com/c/93341
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2019-02-15 16:17:28 +00:00
Brian Wilkerson 47e988b781 Clean up the remaining copyright notices in analysis_server
Change-Id: Iee3110f92ab0f24312ddd1eff407d2229f895321
Reviewed-on: https://dart-review.googlesource.com/c/89101
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2019-01-11 15:38:56 +00:00
Brian Wilkerson 57c185c89d Remove remaining uses of Element.context from server
Change-Id: Ibc383064951e181fa8e951714904526c2ea42f5f
Reviewed-on: https://dart-review.googlesource.com/c/81749
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-10-29 14:56:24 +00:00
Brian Wilkerson 87f753dbd3 Replace some declarations of element with declaredElement
Change-Id: Idd62472b16cccaa98749a510197ec8d0f5053cb1
Reviewed-on: https://dart-review.googlesource.com/67820
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
2018-08-02 16:00:36 +00:00
Konstantin Shcheglov 633b2ccb38 Add 'isWidgetClass' and 'stateClassName' to FlutterOutline.
R=brianwilkerson@google.com, devoncarew@google.com

Change-Id: Idf7a986a67321b3ed33bb5d3bd4c139fac995474
Reviewed-on: https://dart-review.googlesource.com/48260
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-03-25 20:22:26 +00:00
Konstantin Shcheglov 91d3c02d19 Rewrite relative URIs in instrumented Flutter outline code.
R=brianwilkerson@google.com, devoncarew@google.com

Change-Id: I33e73400643d77eb7c2b105eae918f4997e7d55d
Reviewed-on: https://dart-review.googlesource.com/46920
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-03-16 16:52:40 +00:00
Konstantin Shcheglov 64e092d4a3 Add fields codeOffset/codeLength to FlutterOutline.
R=brianwilkerson@google.com

Change-Id: I917a780704882fcd7537a9334febc21098aabd4f
Reviewed-on: https://dart-review.googlesource.com/46579
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-03-15 21:01:14 +00:00
Konstantin Shcheglov 6b44182344 Only widgets in libraries can be rendered.
Technically we could eventually implement rendering widgets in parts,
but this is probably rare situation, and IntelliJ plugin does not
handle this case yet.

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

Change-Id: I734eb5f5b26c386780a776f652366bd4d21125f9
Reviewed-on: https://dart-review.googlesource.com/45361
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-03-06 18:02:39 +00:00
Konstantin Shcheglov be87175fee Implement Flutter Outline rendering API.
R=brianwilkerson@google.com, devoncarew@google.com

Change-Id: I7cbb4c0be7656ba1e684e8864348e6f1af54efae
Reviewed-on: https://dart-review.googlesource.com/45140
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-03-06 16:33:34 +00:00
Konstantin Shcheglov 223eeb2ebe Always shorten function expressions, list/map literals, multiline values.
R=brianwilkerson@google.com, devoncarew@google.com

Bug: https://github.com/flutter/flutter-intellij/issues/1762
Change-Id: I742ac6cb0ebbdde78f1326c5e07775d94e335d42
Reviewed-on: https://dart-review.googlesource.com/40560
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-02-12 19:15:05 +00:00
Konstantin Shcheglov 330ad8d287 Fix for NPE when an argument does not correspond to a constructor parameter.
R=brianwilkerson@google.com

Change-Id: I97ba245398e4375e0e132cc3280db0357859e494
Reviewed-on: https://dart-review.googlesource.com/40104
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-02-08 21:38:57 +00:00
Konstantin Shcheglov fb9b24a8cc Shorted MethodInvocation as outline labels.
R=brianwilkerson@google.com, devoncarew@google.com

Change-Id: I9056b9116ad50b2d9cddc38895e17d53c010d934
Reviewed-on: https://dart-review.googlesource.com/38921
Reviewed-by: Devon Carew <devoncarew@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-02-06 01:27:56 +00:00
Konstantin Shcheglov 8871ffbae1 Include generic label into Flutter outlines.
R=brianwilkerson@google.com, devoncarew@google.com

Change-Id: I98f96b38839bf339080144f2dc1f4f8dc9f3126f
Reviewed-on: https://dart-review.googlesource.com/38840
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-02-05 20:46:27 +00:00
Konstantin Shcheglov f771476eec Record variable name in FlutterOutline, fix for named attributes.
R=brianwilkerson@google.com, devoncarew@google.com

Change-Id: Ie91b21f464eaa43d811d51e50f7a6b479406f9da
Reviewed-on: https://dart-review.googlesource.com/36980
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-01-26 17:54:45 +00:00
Konstantin Shcheglov 6393a247fc Add support for boolean/integer attributes.
R=brianwilkerson@google.com, devoncarew@google.com

Change-Id: I574931e558d45370c33a1d7626e17b5fb5e60480
Reviewed-on: https://dart-review.googlesource.com/36561
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-01-24 05:49:35 +00:00
Konstantin Shcheglov 07367d05cd Basic implementation of FlutterOutlineComputer.
R=brianwilkerson@google.com, devoncarew@google.com

Change-Id: I22c96c2a35c086814aace13f0121cc0361f3386f
Reviewed-on: https://dart-review.googlesource.com/36140
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-01-21 18:12:58 +00:00