Commit Graph

61 Commits

Author SHA1 Message Date
scheglov@google.com acec842aee Add 'Convert Method to Getter' proposal only if it is an available refactoring.
So, that we don't show it for method with parameter or returning null.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//945113002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43936 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-20 23:18:21 +00:00
scheglov@google.com 55a3255070 Return RequestErrorCode.NO_INDEX_GENERATED for search/refactoring requests.
Also remove passing a SearchEngine instance into Quick assists/fixes - they don't use it.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//923103004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43819 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-17 20:01:45 +00:00
scheglov@google.com 865b217511 Issue 22381. Fix for navigating to constructor from redirecting factory constructor.
R=brianwilkerson@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=22381

Review URL: https://codereview.chromium.org//921833002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43731 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-12 17:58:29 +00:00
scheglov@google.com c93b24904d Issue 22157. Cancel a pending refactoring request on receiving a new one.
R=brianwilkerson@google.com, paulberry@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=22157

Review URL: https://codereview.chromium.org//884453002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43201 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 19:24:19 +00:00
pquitslund@google.com 6fb12789e7 Analysis server format service wiring (and protocol doc update).
R=brianwilkerson@google.com, danrubel@google.com, scheglov@google.com

Review URL: https://codereview.chromium.org//833903005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42835 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-13 20:34:10 +00:00
scheglov@google.com a38a503d86 Replace @ReflectiveTestCase() with @reflectiveTest.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//849863002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42821 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-13 17:11:24 +00:00
scheglov@google.com f6d7bd629f Improve tests for refactoring exceptions. Catch initial exceptions.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//816133002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42574 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-30 18:50:57 +00:00
scheglov@google.com 11bdb14559 Catch exceptions in refactorings and return them as a SERVER_ERROR.
R=brianwilkerson@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=21907

Review URL: https://codereview.chromium.org//815233002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42526 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-19 21:51:02 +00:00
scheglov@google.com 1c082a63ab Don't send a refactoring feedback in case of a fatal initial problem.
R=brianwilkerson@google.com, danrubel@google.com
BUG=

Review URL: https://codereview.chromium.org//793373004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42350 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-12 22:55:52 +00:00
scheglov@google.com 0cd030eeb8 Issue 21613. Fix for renaming FieldFormalParameterElement.
R=paulberry@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=21613

Review URL: https://codereview.chromium.org//749173002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41929 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-24 16:00:28 +00:00
scheglov@google.com b8da9bc651 Format and sort analyzer and analysis_server packages.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//725143004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41792 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-17 22:23:53 +00:00
scheglov@google.com affc91a881 Issue 21552. Fixes for navigation, hover and rename in instance creation expressions.
R=brianwilkerson@google.com, paulberry@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=21552

Review URL: https://codereview.chromium.org//717513003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41651 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-11 03:01:21 +00:00
scheglov@google.com 772a0c6b22 Fix 'Unused local variable' hints in analyzer and analysis_server.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//709493002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41576 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-06 18:32:54 +00:00
scheglov@google.com 68831585dd Fix for renaming import without an import prefix.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//640253004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41021 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-09 16:25:07 +00:00
scheglov@google.com 6596936e55 Fix for starting 'Rename LibraryElement' refactoring.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//619223002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40866 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-02 03:00:32 +00:00
scheglov@google.com 99156246f8 Include 'potentialEdits' into refactoring feedback.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//611823003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40750 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-28 18:59:00 +00:00
scheglov@google.com 5d01fcbedf Implement 'edit.sortMembers' request.
R=paulberry@google.com, brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//601083005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40735 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-26 20:09:21 +00:00
scheglov@google.com bc768460d4 Integrate CONVERT_GETTER_TO_METHOD refactoring into server.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//605063002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40712 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-26 15:26:23 +00:00
scheglov@google.com c56440ec34 Integrate CONVERT_METHOD_TO_GETTER into the server.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//591083003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40549 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-22 17:04:50 +00:00
scheglov@google.com fac2a62392 Reset refactoring manager on any analysis.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//589843002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40542 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-22 14:56:26 +00:00
scheglov@google.com 604a9e760d Integration of MOVE_FILE into the server and a couple of fixes.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//583193005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40510 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-19 18:10:56 +00:00
scheglov@google.com 7fde5deecc Send final problems even if 'validateOnly'.
Also fix for reporting duplicate 'Rename Local' shadowing warnings.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//576703004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40332 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-16 17:48:19 +00:00
scheglov@google.com 457050dd88 Add SourceFileEdit.time field.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org//574573002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40329 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-16 17:19:37 +00:00
scheglov@google.com 2208ce5587 Split refactoring problems into init, options and final.
R=brianwilkerson@google.com, jwren@google.com
BUG=

Review URL: https://codereview.chromium.org//576473003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40318 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-16 15:14:51 +00:00
scheglov@google.com d2d8fb708e Issue 20894. Rename 'Class' when rename refactoring is activated on 'Class' in 'new Class.name()'.
To do this we need to tweak the Java version of ElementLocator and regenarate the Dart version.

R=brianwilkerson@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=20894

Review URL: https://codereview.chromium.org//571523002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40208 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-12 17:16:15 +00:00
paulberry@google.com ea7f519f03 Make SdkLibrary.shortName consistently include 'dart:'
The documentation of SdkLibrary.shortName claimed that it didn't
include the 'dart:' prefix; however the implementation did include it.
The implementation of shortName in _MockSdkLibrary class (used only
for unit testing) did not include the 'dart:' prefix, causing some
unit tests to pass even though the functionality was wrong.

This change updates the docs and _MockSdkLibrary to correspond to the
implementation (the 'dart:' prefix is included).  Additionally it
fixes one usage of shortName which was expecting the 'dart:' prefix to
be absent; this was preventing quick fixes from working correctly.

In addition, the Mock SDK is modified to add a reference from
dart:core to dart:async and from dart:async to dart:math (these
dependencies exist in the real SDK).  This avoids the need for some
workarounds in unit tests.

BUG=dartbug.com/20850
R=scheglov@google.com

Review URL: https://codereview.chromium.org//556573002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40000 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-08 21:02:30 +00:00
scheglov@google.com 19f017660a Return a feedback for the INLINE_METHOD refactoring.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//554053002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39993 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-08 19:56:26 +00:00
scheglov@google.com c0c0b51188 Send feedback for the INLINE_LOCAL_VARIABLE refactoring.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//547343004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39981 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-08 17:33:09 +00:00
scheglov@google.com 3661df5b0e Include additional information into RenameFeedback.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//545943003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39918 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-05 16:39:15 +00:00
scheglov@google.com 67cd1ab0e2 Decode RefactoringFeedback automatically.
The implementation is pretty ugly though.

1. I have to add Response into ResponseDecoder.
2. I have to hack EditGetRefactoringParams.fromRequest generation to feel the "id to kind" map.

  It would be easier if we decided to return 'kind' in responses.

R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org//541823004

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39887 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-04 21:13:24 +00:00
scheglov@google.com 3ddecb8c64 Use typed RefactoringOptions in the Dart version of the protocol.
R=jwren@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org//537733002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39875 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-04 16:21:08 +00:00
scheglov@google.com 44473cf553 Integrate INLINE_LOCAL_VARIABLE into the server.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//540503002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39824 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-03 19:23:37 +00:00
scheglov@google.com dfeccd520d Integrate INLINE_METHOD into the server.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//538583002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39816 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-03 18:32:36 +00:00
paulberry@google.com 8d8ee25cff Merge analysis_testing package into analysis_server.
Note that analysis_server already contains a file test/mocks.dart, so
the mocks.dart file from analysis_testing has been imported as
test/mocks2.dart.  I will merge these two into a single file in a
future CL.

R=scheglov@google.com

Review URL: https://codereview.chromium.org//533243002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39814 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-03 18:11:42 +00:00
scheglov@google.com 47fe46e1a6 Integrate EXTRACT_METHOD refactoring into the server.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//534123002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39808 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-03 14:54:16 +00:00
paulberry@google.com d092a96981 Clarify type names in analysis server API.
The following types are renamed:

- ErrorFixes -> AnalysisErrorFixes
- ErrorSeverity -> AnalysisErrorSeverity
- ErrorType -> AnalysisErrorType

This clarifies that the types have to do with the
errors/warnings/hints generated by the analysis of user code, as
opposed to analysis server protocol errors.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//531153002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39770 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-02 19:54:03 +00:00
paulberry@google.com ba9c0c689b Use a more precise type for "object" in analysis server API.
Previously, we translated "object" in the API to the dart type
"Object".  But this is not correct, since in the API when we say
"object" we mean "JSON object", which corresponds to a Dart Map.

Using a more precise type exposed some bugs in our refactoring
implementation, where we were forgetting to convert objects to and
from JSON.

R=scheglov@google.com

Review URL: https://codereview.chromium.org//530033002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39757 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-02 17:46:02 +00:00
scheglov@google.com 209abb70f4 Integrate EXTRACT_LOCAL_VARIABLE into the server.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//526183002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39747 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-02 15:00:45 +00:00
paulberry@google.com 0c0fd777a6 Finish modifying analysis server to make use of code generation.
Generated code is used to produce the response to these requests:
- analysis.updateOptions
- analysis.updateContent
- analysis.setSubscriptions
- analysis.setPriorityFiles
- analysis.setAnalysisRoots
- server.shutdown
- server.setSubscriptions

Generated code is used to produce these requests:
- server.shutdown
- server.getVersion
- server.shutdown
- server.connected

Generated code is used to produce these notifications:
- completion.results
- analysis.overrides
- analysis.outline
- analysis.occurrences

Generated code is used to decode these notifications:
- server.status

In addition, some dead code was removed, the 'protocol.dart' and
'protocol2.dart' files were combined, and the fields Response.result,
Request.params, and Notification.params were made private (to
encourage future use of the generated code).  Also, some overly
verbose import statements were cleaned up by using "hide" rather than
"show".

R=danrubel@google.com

Review URL: https://codereview.chromium.org//506433002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39516 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-25 10:48:16 +00:00
scheglov@google.com e16a9dfe84 Send RenameFeedback.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//501843002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39514 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-25 05:07:43 +00:00
paulberry@google.com e18327f317 Make more use of generated code in analysis server.
The following generated classes are now used:
- CompletionRelevance
- CompletionSuggestion
- CompletionSuggestionKind
- ErrorFixes
- HighlightRegion
- HighlightRegionType
- HoverInformation
- LinkedEditGroup
- LinkedEditSuggestion
- LinkedEditSuggestionKind
- SourceChange

Generated code is used to produce these notifications:
- analysis.errors
- analysis.highlights
- analysis.navigation
- search.results
- server.error
- server.status

Generated code is used to produce the response to these requests:
- analysis.getErrors
- analysis.getHover
- edit.getAssists
- edit.getFixes
- server.getVersion

Generated code is used to handle these notifications in unit testing:
- analysis.highlights
- analysis.navigation

In addition, these methods have been removed, since they are no longer
needed:
- Notification.getParameter
- Result.setEmptyResult
- Result.setResult

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//497393002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39511 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-24 08:39:41 +00:00
paulberry@google.com 665da3d948 Make certain generated constructor parameters optional.
The following constructor parameters are optional as a convenience to
callers.  They default to empty lists:

- SourceFileEdit.edits
- TypeHierarchyItem.interfaces
- TypeHierarchyItem.mixins
- TypeHierarchyItem.subclasses

R=scheglov@google.com

Review URL: https://codereview.chromium.org//499073002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39510 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-23 23:56:24 +00:00
scheglov@google.com 5dda914674 Implement 'edit.getRefactoring' for rename refactoring.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//499723002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39509 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-23 21:14:25 +00:00
scheglov@google.com 47b813e4ec Rename 'kindId' to 'kind' in 'edit.getRefactoring'.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//473763003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39474 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-21 20:57:14 +00:00
paulberry@google.com caf0592503 Make more use of generated code in analysis server.
The following generated classes are now used:
- Element
- Location
- Occurrences
- Outline
- OverriddenMember
- Override
- Position
- SearchResult
- SearchResultKind
- SourceFileEdit
- TypeHierarchyItem

Generated code is used to produce the responses to these requests:
- completion.getSuggestions
- search.findElementReferences
- search.findMemberDeclarations
- search.findMemberReferences
- search.findTopLevelDeclarations
- search.getTypeHierarchy

Generated code is used to handle these notifications in unit testing:
- analysis.navigation
- analysis.occurrences
- analysis.outline
- analysis.overrides
- search.results

In addition, we no longer bother to test the JSON conversion code on
AnalysisError, since it is code generated.

R=scheglov@google.com

Review URL: https://codereview.chromium.org//479683005

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39470 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-21 20:04:06 +00:00
scheglov@google.com e666722007 Make EXTRACT_LOCAL and EXTRACT_METHOD refactorings available when there is a selection.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//490923003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39463 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-21 17:43:22 +00:00
scheglov@google.com b13f544e13 Return only fixes for the errors on the line of the given offset.
R=paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org//494153003

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39460 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-21 17:25:26 +00:00
paulberry@google.com 1fed61127e Introduce convenience methods into generated analysis server classes.
R=scheglov@google.com

Review URL: https://codereview.chromium.org//492243002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39453 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-21 15:49:35 +00:00
scheglov@google.com 401de00007 Remove two empty/useless domain tests.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org//489703002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39407 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-20 14:16:10 +00:00
paulberry@google.com c5ff06636b Make more use of generated classes in analysis server.
Generated code is now used to process input JSON, and to create
requests and process responses in unit tests.  In addition, the
handwritten classes for ElementKind and SourceEdit have been replaced
with the gennerated versions.

Also some dead code has been removed.

R=scheglov@google.com

Review URL: https://codereview.chromium.org//492563002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39404 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-20 12:39:31 +00:00