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
scheglov@google.com
063e6cc00f
Fix for NPE in the server.
...
I think that is the same NPE we saw in both Dart and Java last week.
R=brianwilkerson@google.com , paulberry@google.com
BUG=
Review URL: https://codereview.chromium.org//529313002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39809 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-03 14:55:32 +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
3df72ead31
Document all the cases where HoverInformation fields can be absent.
...
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org//528303002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39807 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-03 14:52:11 +00:00
danrubel@google.com
216602d57a
return correct replacementOffset and replacementLength
...
BUG=
R=jwren@google.com
Review URL: https://codereview.chromium.org//536593002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39789 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-03 00:55:40 +00:00
danrubel@google.com
efb4c758f8
improve keyword suggestions when completing partial keyword
...
BUG=
R=jwren@google.com
Review URL: https://codereview.chromium.org//531243002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39780 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-02 21:54:56 +00:00
scheglov@google.com
df574c6e2c
Test for 'search.findElementReferences' for the case when there is no element.
...
R=brianwilkerson@google.com , paulberry@google.com
BUG=
Review URL: https://codereview.chromium.org//536563002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39779 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-02 21:54:19 +00:00
scheglov@google.com
4213f465fe
Fix for 'returnType' when extract a method with a single expression.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//533913002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39778 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-02 21:51:21 +00:00
paulberry@google.com
703df31e12
Rename ExecutableFile.offset to ExecutableFile.kind and fix documentation.
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org//528053002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39774 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-02 20:13:03 +00:00
paulberry@google.com
33b4cc89c0
Make findElementReferences' "id" result optional.
...
R=jwren@google.com
Review URL: https://codereview.chromium.org//529123002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39773 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-02 20:10:59 +00:00
scheglov@google.com
b7189ea678
New analyzer snapshot.
...
We compute the parameter element for 'object.field = 42' now, so:
1. We can stop doing it in InlineMethodRefactoring.
2. We need to update the corresponding hover integration test.
R=brianwilkerson@google.com , paulberry@google.com
BUG=
Review URL: https://codereview.chromium.org//535543003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39772 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-02 20:10:47 +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
scheglov@google.com
43e1872038
Impements 'names', 'offsets' and 'lengths' for ExtractMethodRefactoring.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//530123002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39768 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-02 19:35:48 +00:00
paulberry@google.com
a239950909
Rename Error to RequestError in analysis server API.
...
Also, use the code-generated RequestError class in place of the old
handwritten RequestError class.
R=jwren@google.com
Review URL: https://codereview.chromium.org//530583004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39760 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-02 18:20:47 +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
d8b6298631
Drop the 'occurrences' field from the EXTRACT_METHOD refactoring feedback.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//533743002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39756 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-02 16:59:23 +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
scheglov@google.com
04f5b81652
Remove excessive check.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//525993003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39722 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-31 21:17:09 +00:00
scheglov@google.com
3d5ea37050
'Inline Method' refactoring.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//526583002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39719 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-31 16:43:43 +00:00
paulberry@google.com
3123e48d29
In the analysis server API, change RequestError.code to an enum.
...
Some of the error codes that were previously defined are no longer
used, so those have been removed. The enum reflects the set of errors
that are currently in use.
R=brianwilkerson@google.com , scheglov@google.com
Review URL: https://codereview.chromium.org//513853002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39689 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-29 07:30:43 +00:00
scheglov@google.com
ca869c6d27
Tweaks for refactoring tests.
...
Mostly the push of 'assertSuccessfulRefactoring' into abstract RefactoringTest.
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//516673002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39658 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-28 15:15:17 +00:00
scheglov@google.com
2a7e871aab
'Inline Local' refactoring.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//515733002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39656 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-28 15:10:11 +00:00
paulberry@google.com
f556420f97
Rename some bools in the analysis server API.
...
R=brianwilkerson@google.com , jwren@google.com
Review URL: https://codereview.chromium.org//508203002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39604 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-27 16:39:49 +00:00
scheglov@google.com
df2dc27f50
Parameters and validation for the 'Extract Method' refactoring.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//506753002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39538 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-26 05:48:15 +00:00
scheglov@google.com
96a0c295ac
Initial 'Extract Method' refactoring implementation.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//498763003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39520 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-25 15:38:00 +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
paulberry@google.com
10fdb7677a
Change analysis server protocol to omit empty lists when optional.
...
For object fields of type List that are marked as optional, FromJson
code automatically populates the data structure with an empty list
when the field is omitted. ToJson code automatically omits the field
when its value is an empty list.
R=brianwilkerson@google.com , scheglov@google.com
Review URL: https://codereview.chromium.org//482573004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39507 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-23 18:03:34 +00:00
scheglov@google.com
39a38da0e7
Move Location factories and RefactoringProblemSeverity.max into the generated classes.
...
R=brianwilkerson@google.com , paulberry@google.com
BUG=
Review URL: https://codereview.chromium.org//462403005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39499 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-22 17:27:19 +00:00
scheglov@google.com
71d70c2de3
Rename 'getRefactoring.return.status' to 'problems'.
...
It is a list, and we name lists with plurals.
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//495273002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39495 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-22 14:47:30 +00:00
scheglov@google.com
fd11028816
Make RefactoringStatus a collection of generated RefactoringProblems.
...
R=brianwilkerson@google.com , paulberry@google.com
BUG=
Review URL: https://codereview.chromium.org//485083004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39494 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-22 14:45:33 +00:00
scheglov@google.com
436a6b725b
Make RefactoringProblem.location optional.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//496113002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39476 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-21 21:44:08 +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
scheglov@google.com
c0b2eee596
Finish 'Extract Local' refactoring.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//489413003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39457 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-21 16:31:39 +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
d67a4a4458
Initial 'Extract Local' implementation.
...
Missing:
1. suggested names;
2. offsets and lengths of occurrences.
3. some clean ups.
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//489973002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39434 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-20 22:20:19 +00:00
scheglov@google.com
c173853f4c
Don't use LinkedEditGroup.id.
...
R=paulberry@google.com , brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//495733002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39430 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-20 21:07:14 +00:00
paulberry@google.com
e4a9df7b12
Don't use "final" in analysis server protocol classes.
...
Doing so makes it harder to use these classes because we sometimes don't have
complete information about an object at the time we need to create it.
R=jwren@google.com
Review URL: https://codereview.chromium.org//495623002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39420 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-20 18:53:26 +00:00
danrubel@google.com
b10ef0b9dd
include inherited members in invocation suggestions
...
BUG=
R=jwren@google.com
Review URL: https://codereview.chromium.org//489813002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39413 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-20 16:13:30 +00:00
paulberry@google.com
721b435ba6
Add SearchResultKind.UNKNOWN to the analysis server API.
...
This resolves an inconsistency between the spec and the analysis
server behavior: the server returns a SearchResultKind of UNKNOWN if
the MatchKind from the analysis engine is one of the following types:
- ANGULAR_REFERENCE
- ANGULAR_CLOSING_TAG_REFERENCE
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org//488103003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39411 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-20 15:32:39 +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
paulberry@google.com
344ff2c03b
Make search.findElementReferences.result.element field optional.
...
This resolves an inconsistency between the spec and the analysis
server behavior: the server doesn't populete the "element" field if no
element could be found.
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org//484313002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39388 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-19 21:56:29 +00:00
paulberry@google.com
a54eafb037
Allow null as a synonym for {} when decoding JSON objects.
...
The spec allows this (for interoprability with Lisp-based clients),
and we had been doing it correctly for lists and maps, but not for
arbitrary objects.
R=jwren@google.com
Review URL: https://codereview.chromium.org//483613006
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39382 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-19 21:13:31 +00:00
paulberry@google.com
c9b9b98343
Use generated classes to create requests in analysis server unit tests.
...
R=jwren@google.com
Review URL: https://codereview.chromium.org//477323005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39381 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-19 20:36:16 +00:00