Commit Graph

97 Commits

Author SHA1 Message Date
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 632abb6a25 Improve 'Import Library' code generation when has 'part' directive.
R=brianwilkerson@google.com

Change-Id: Idb3370dcbb67a935939a8ee2c072b897b866f7b0
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96826
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-03-13 20:24:13 +00:00
Mike Fairhurst 382cd59388 Update completion target tests for new map syntax
Change-Id: Ibb059d802aac92af6331e19f0b14aca03859ac42
Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/96524
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Mike Fairhurst <mfairhurst@google.com>
Auto-Submit: Mike Fairhurst <mfairhurst@google.com>
2019-03-12 21:04:35 +00:00
Paul Berry 9a0a3fd8c1 Eliminate uses of old AST node types from analyzer_plugin
Change-Id: I1dc8e1d51d96c5fc4e6b8c77b143c8cc9564f63e
Reviewed-on: https://dart-review.googlesource.com/c/94761
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Paul Berry <paulberry@google.com>
2019-03-01 10:03:22 +00:00
Konstantin Shcheglov 39afa4e555 Revert "Add ExecutableElement(s) based InheritanceManager3, and switch analyzer to it."
This reverts commit 5d6bab4ed2.

Reason for revert: this change is API incompatible when rolling into mono-repo.

Original change's description:
> Add ExecutableElement(s) based InheritanceManager3, and switch analyzer to it.
> 
> Change-Id: I9d87619e05ae769f4df6a6ba26cd7901c7c98510
> Reviewed-on: https://dart-review.googlesource.com/c/93141
> Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
> Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>

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

Change-Id: I98d478f56e8aea037cbcc8b6cb940c36edb732fd
No-Presubmit: true
No-Tree-Checks: true
No-Try: true
Reviewed-on: https://dart-review.googlesource.com/c/93440
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-02-15 16:38:08 +00:00
Konstantin Shcheglov 078f8e67f8 Tests for invalid library id, and requested name.
R=brianwilkerson@google.com

Change-Id: I75c7445bd2e9e25805c8789af9e648a3000b0668
Reviewed-on: https://dart-review.googlesource.com/c/93381
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-02-15 16:35:56 +00:00
Konstantin Shcheglov d1b15cc92c Support for FieldFormalParameter in SyntacticScopeNamesCollector.
R=brianwilkerson@google.com

Change-Id: I2d1311de5c373bf81034e7764086ad09ac22a041
Reviewed-on: https://dart-review.googlesource.com/c/93280
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2019-02-14 19:26:29 +00:00
Konstantin Shcheglov 5d6bab4ed2 Add ExecutableElement(s) based InheritanceManager3, and switch analyzer to it.
Change-Id: I9d87619e05ae769f4df6a6ba26cd7901c7c98510
Reviewed-on: https://dart-review.googlesource.com/c/93141
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-02-14 18:11:18 +00:00
Paul Berry 1e72e9c985 Fix tests now that set literal support is enabled by default.
Fixes #35870.

Change-Id: Ie250961f12a720a4ffbfc114df55a18518bf0426
Reviewed-on: https://dart-review.googlesource.com/c/92864
Commit-Queue: Paul Berry <paulberry@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Auto-Submit: Paul Berry <paulberry@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-02-12 22:23:51 +00:00
Konstantin Shcheglov fdfe40ea95 Compute 'executableElement' and 'parameterElement' in CompletionTarget.
R=brianwilkerson@google.com

Change-Id: I58904548a034cf927d9205bdbba3be9014c49328
Reviewed-on: https://dart-review.googlesource.com/c/92539
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-02-11 06:08:00 +00:00
Kevin Millikin be79eb4517 Ship experiment 'set-literals'
Change-Id: Ief182017752b87ef099ac5140ff781cbb14d76a9
Reviewed-on: https://dart-review.googlesource.com/c/92125
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Leaf Petersen <leafp@google.com>
Commit-Queue: Kevin Millikin <kmillikin@google.com>
2019-02-08 16:17:55 +00:00
Konstantin Shcheglov 0a2de9238b Extract importLibraryElement() implementation, make it less pessimistic.
R=brianwilkerson@google.com

Change-Id: I916d4b761c8a9886dc701206c03cfd88c9f047ef
Reviewed-on: https://dart-review.googlesource.com/c/92021
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-02-05 21:05:45 +00:00
Konstantin Shcheglov fe585471e3 Add DartFileEditBuilder.importLibraryElement().
R=brianwilkerson@google.com

Change-Id: I83e0f58bce36660d15c477f100fdb4052b3bb672
Reviewed-on: https://dart-review.googlesource.com/c/91687
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-02-01 22:59:05 +00:00
Konstantin Shcheglov fbc267f18f Support for override completions in mixins.
Also moves tests for override implementations into a separate class.
New tests:
  test_mixin_method_of_interface
  test_mixin_method_of_superclassConstraint

Changes for deciding whether to generate `super` invocation.

R=brianwilkerson@google.com

Change-Id: I7f875695ce81f0212863fbd2f9fe1f1b9d7aaa3f
Reviewed-on: https://dart-review.googlesource.com/c/90784
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-23 21:55:03 +00:00
Konstantin Shcheglov 3513f872ce Extract DartFileEditBuilder.importLibrary() into separate file.
R=brianwilkerson@google.com

Change-Id: I2f4a4943ad4db573504a890e29424357e0775839
Reviewed-on: https://dart-review.googlesource.com/c/89722
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2019-01-17 19:22:05 +00:00
Konstantin Shcheglov c91a245e30 Use ChangeWorkspace to limit where DartChangeBuilder(s) can edit.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/35402
Change-Id: If5f78b44b69f01d9ddc235401f70cc4aefd3ca37
Reviewed-on: https://dart-review.googlesource.com/c/87382
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-12-14 22:32:35 +00:00
Konstantin Shcheglov eb1153c546 Fix for override completion contributions for abstract void methods and setters.
R=brianwilkerson@google.com

Change-Id: Ie505e4640095dac1f9a566a32bf9aa9f0a5926e9
Reviewed-on: https://dart-review.googlesource.com/c/85622
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-11-29 19:48:51 +00:00
Brian Wilkerson b12c125825 Export Future from dart:core in the mock sdk
Change-Id: I9b234e5834a6a6559b65b86140d60ea781ff8883
Reviewed-on: https://dart-review.googlesource.com/c/84501
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-11-15 19:32:30 +00:00
Brian Wilkerson 60f02dd2aa Re-enable the no-implicit-casts option
Change-Id: Id1a943971de703bd156410375211c70318ed7ca0
Reviewed-on: https://dart-review.googlesource.com/c/84361
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-11-14 16:40:03 +00:00
Konstantin Shcheglov da191665aa Issue 34709. Support generic type alias (AKA generic function type alias for now) in outline and completion.
R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/34709
Change-Id: Ic18d98e07ba0cbd231ded27c4c32533ee013632b
Reviewed-on: https://dart-review.googlesource.com/c/84320
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-11-13 21:20:08 +00:00
Konstantin Shcheglov 7cf3382f8f Fix OpType.inXyzBody to actually being in body.
R=brianwilkerson@google.com

Change-Id: I42ce480b63b4fcdfe04ebb1faa63b556759aa425
Reviewed-on: https://dart-review.googlesource.com/c/84125
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-11-12 19:08:39 +00:00
Konstantin Shcheglov d53f8c8789 Issue 34735. Fix completion in ConstructorFieldInitializer expression.
R=brianwilkerson@google.com, danrubel@google.com

Bug: https://github.com/dart-lang/sdk/issues/34735
Change-Id: I420822cce50b17807d1235de5d071942ce2e6076
Reviewed-on: https://dart-review.googlesource.com/c/84048
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Reviewed-by: Dan Rubel <danrubel@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-11-12 18:11:14 +00:00
Konstantin Shcheglov e3c8774543 Add AnalysisSession.analysisContext, stop using AnalysisDriver's AnalysisResult outside the driver.
Change-Id: I63138e002d9e777f51d2d843f7ef2b1f32fed3e0
Reviewed-on: https://dart-review.googlesource.com/c/82529
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-11-02 14:16:31 +00:00
Brian Wilkerson 2c10b5e288 Update TestTypeProvider to not require an AnalysisContext
Change-Id: I83f3429d16b544a3210c0bab8b5fae28897702fb
Reviewed-on: https://dart-review.googlesource.com/c/82470
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-11-01 18:22:45 +00:00
Konstantin Shcheglov 5711a1d539 Move implementations of analysis results into src/results.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I7527dfb597ff54802517093b4aa526b14e7b705c
Reviewed-on: https://dart-review.googlesource.com/c/82461
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Paul Berry <paulberry@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-11-01 16:11:23 +00:00
Brian Wilkerson 6a4be163eb Convert some classes to mixins
Change-Id: I619b17eec0a76bb825c7711fe63bf17223807a57
Reviewed-on: https://dart-review.googlesource.com/c/82020
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-10-30 14:19:36 +00:00
Konstantin Shcheglov e223bd3628 Replace most of direct uses of MemoryResourceProvider with ResourceProviderMixin.
R=brianwilkerson@google.com, paulberry@google.com

Change-Id: I87114418b63ef68665b9c3e487980a72db00ec6a
Reviewed-on: https://dart-review.googlesource.com/c/81744
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-10-27 17:50:10 +00:00
Jaime Wren c70666a3a3 Additional tests in the analyzer_plugin optype_test.dart file, follow up from https://dart-review.googlesource.com/c/sdk/+/80362.
Change-Id: Icc716fd9bc56cfe79a430f60419a0ce89cf1d2ee
Reviewed-on: https://dart-review.googlesource.com/c/80420
Commit-Queue: Jaime Wren <jwren@google.com>
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
2018-10-19 17:07:14 +00:00
Brian Wilkerson 180b3dd301 Remove extra spaces in copyright notices in analyzer_plugin
Change-Id: Icf01fbdd84747fc92908fe5ca818124c5df992af
Reviewed-on: https://dart-review.googlesource.com/c/79640
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-10-13 18:05:23 +00:00
Konstantin Shcheglov 80cddf0d53 Rename writeOverrideOfInheritedMember() to writeOverride() in DartEditBuilder.
R=brianwilkerson@google.com

Change-Id: I83374dcd72eb272ac5d8ad8fd040c1223544eb4c
Reviewed-on: https://dart-review.googlesource.com/c/79471
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-10-12 22:03:59 +00:00
Konstantin Shcheglov 2c352111a4 Use just TypeSystem in InheritanceManager2.
R=brianwilkerson@google.com

Change-Id: I4784293fa33b8318fc0b7f470d3f38909103910d
Reviewed-on: https://dart-review.googlesource.com/c/79472
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-10-12 22:03:29 +00:00
Konstantin Shcheglov a2a3c36b77 Switch CREATE_MISSING_OVERRIDES to writeOverrideOfInheritedMember() and using FunctionType signatures.
This fixes the issue, and simplifies code generation.

R=brianwilkerson@google.com

Bug: https://github.com/dart-lang/sdk/issues/34729
Change-Id: I65928b5e68e44e4db77eb9c371aa1e6d27d66635
Reviewed-on: https://dart-review.googlesource.com/c/79468
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-10-12 20:45:42 +00:00
Brian Wilkerson 8fc80031ae Fix cast exception in OpTypeAstVisitor
Change-Id: I7fa9f9586a7d57ebc9707db3ee1532c462bbeccd
Reviewed-on: https://dart-review.googlesource.com/c/78712
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-10-09 18:40:19 +00:00
Brian Wilkerson 6c712f157b Add a fix to create a mixin
Change-Id: Id0f31949a5639a00e884abc61b2cfcb5bc552b44
Reviewed-on: https://dart-review.googlesource.com/75130
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-09-17 12:43:41 +00:00
Brian Wilkerson 39535676c8 Add completion support inside the on clause
Change-Id: I55a118a6e2d684ad917b2371d640c658119e3559
Reviewed-on: https://dart-review.googlesource.com/73700
Reviewed-by: Konstantin Shcheglov <scheglov@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-09-06 20:02:48 +00:00
Brian Wilkerson 0bcf767d4d Clean up more preview-dart-2 related code
Change-Id: Id1f81a635727f0f2fafb5dea4178f303c6ca4659
Reviewed-on: https://dart-review.googlesource.com/70143
Reviewed-by: Devon Carew <devoncarew@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-15 14:43:12 +00:00
Devon Carew 6a4f1b76ac Remove the --preview-dart-2 option from dartanalyzer and the analysis server.
Change-Id: I268b9d5f79b30d0e4a0f8e6bb81a7738c98e5eea
Reviewed-on: https://dart-review.googlesource.com/69802
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-14 04:24:47 +00:00
Brian Wilkerson 0bb8cbd9cb Use void in place of Null in analyzer_plugin
Change-Id: I21a3d3646c5906256e21fb8d7d71f8433b1b39e9
Reviewed-on: https://dart-review.googlesource.com/69500
Reviewed-by: Mike Fairhurst <mfairhurst@google.com>
Commit-Queue: Brian Wilkerson <brianwilkerson@google.com>
2018-08-11 15:30:28 +00:00
Devon Carew 6fc1dd4480 analyzer_plugin no implicit-casts.
Change-Id: I12e5d4da5b61938b3eb7cc7c0e2ade6a64510b9e
Reviewed-on: https://dart-review.googlesource.com/69201
Commit-Queue: Devon Carew <devoncarew@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-08-09 22:41:41 +00:00
Konstantin Shcheglov 758e5ea502 Use '=' for default values of named parameters.
R=brianwilkerson@google.com

Change-Id: I694c9e411fc125ae7b716d0f8b9e78c5cac57e34
Reviewed-on: https://dart-review.googlesource.com/68180
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-08-02 19:34:52 +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
Danny Tuppeny 3dc201e168 Update ChangeBuilder to not include empty edits (Take 2)
Combination of Brian's change:
https://dart-review.googlesource.com/c/sdk/+/63901

and Devon's change:
https://dart-review.googlesource.com/c/sdk/+/66405

Change-Id: I57e5d1f7d3a653f225aba2d690190fe1ff18a5b1
Reviewed-on: https://dart-review.googlesource.com/67344
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Danny Tuppeny <dantup@google.com>
2018-07-31 13:44:06 +00:00
danrubel 1ddadd4207 Update LocalDeclarationVisitorTest for fasta parser
Change-Id: Ieb36aff41bbf132bc8a1d765c6b08e15c4363ac3
Reviewed-on: https://dart-review.googlesource.com/66261
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Dan Rubel <danrubel@google.com>
2018-07-24 14:57:16 +00:00
danrubel dd23176eab Update CompletionTargetTest for fasta parser
Change-Id: Ic3673f05750d8973f5e1cd7c787d884cf66d2b09
Reviewed-on: https://dart-review.googlesource.com/66260
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-24 14:57:16 +00:00
danrubel 0e04a3b858 Update code completion OpType and tests for fasta parser
Change-Id: Icaf11d7e79d9638507b8909be5edb7f85df321dd
Reviewed-on: https://dart-review.googlesource.com/66200
Commit-Queue: Dan Rubel <danrubel@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-07-23 18:36:49 +00:00
Devon Carew 710530c640 Update deprecated uses of package:test's isInstanceOf.
Change-Id: I0789ad89f2a247a17c472d74ca16885c5b8b6d5c
Reviewed-on: https://dart-review.googlesource.com/63320
Reviewed-by: Paul Berry <paulberry@google.com>
Commit-Queue: Devon Carew <devoncarew@google.com>
2018-06-30 00:08:44 +00:00
Konstantin Shcheglov def6f6c86c Don't create linked groups when nothing was written.
In particular, if the type was invalid, so that we cannot write it.

R=brianwilkerson@google.com

Change-Id: I5499e17e2aa3527d21cab050b7fecfd3cd09efc7
Reviewed-on: https://dart-review.googlesource.com/55860
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-05-18 15:54:29 +00:00
Konstantin Shcheglov 62ffedefdd Rewrite writing types to using existing writeXYZ() methods.
Also extract code that ensures imports and writes prefixes into a
separate method.

R=brianwilkerson@google.com

Change-Id: Icd35af19435153bfaebd46f7611823e6a9830d20
Reviewed-on: https://dart-review.googlesource.com/55640
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-05-17 15:51:27 +00:00
Konstantin Shcheglov 53a51d17db Support for optional ImportPrefixGenerator to generate prefixes for new imports.
Only one import is generated for each library.
If there is already an import for a library, new prefix is not asked.
If a prefix was generated once, it is not possible to force another
import with a different prefix.

R=brianwilkerson@google.com

Change-Id: I1676a1953002060b5e7155ce90abf87b3bfe270e
Reviewed-on: https://dart-review.googlesource.com/55326
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2018-05-16 20:15:03 +00:00
Konstantin Shcheglov d9d7cb12a6 Replace DartFileEditBuilder.importLibraries() with importLibrary().
It now returns the text of the URI that will be actually used, so
we can show it in the quick fix message without computing it separately.

R=brianwilkerson@google.com

Change-Id: I16a455d8f6a3c3e3a9c5779c94d654de32992006
Reviewed-on: https://dart-review.googlesource.com/55501
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
2018-05-16 18:46:22 +00:00