Commit Graph

579 Commits

Author SHA1 Message Date
brianwilkerson@google.com f289a1abac Fix exception in error processing; implement mapUri
R=jwren@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40109 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-10 19:54:49 +00:00
paulberry@google.com bad1890ab3 Implement "analysis.reanalyze" in analysis server.
This is accomplished by instructing the context manager to remove all
contexts and recreate them from scratch.

R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40106 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-10 19:20:09 +00:00
scheglov@google.com d7f0532f29 Add feedback for INLINE_METHOD refactoring.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39992 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-08 19:26:52 +00:00
scheglov@google.com 4187ed6349 Add feedback for 'Inline Local' refactoring.
Also fix for the Java client tests.

R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39977 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-08 16:29:23 +00:00
brianwilkerson@google.com 44c2892f6f Initial support for execution domain
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39974 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-08 16:21:16 +00:00
brianwilkerson@google.com 29341b4e5e Rename debug domain to execution
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39942 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-06 02:43:12 +00:00
paulberry@google.com 77a6daa667 Add error condition INVALID_OVERLAY_CHANGE to analysis server.
R=danrubel@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39925 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-05 19:23:55 +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
paulberry@google.com 9279b9fe81 Fix error handling in analysis.getError.
Analysis.getError now has the following behaviors:

- If the file in question does not exist, or is not subject to
  analysis, a new error called GET_ERRORS_INVALID_FILE is generated.

- If the server's internal state (the set of active analysis contexts)
  changes while the query is in process, the query is transparently
  restarted; the client no longer receives a GET_ERRORS_ERROR error.

R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39871 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-04 14:34:43 +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
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
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
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
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
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 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 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 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 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 570b2f115e Change analysis.updateOptions to use generated classes.
Note that there is a small change in behavior: unrecognized options
are now silently ignored; they no longer generate an error.

R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39380 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-19 19:57:43 +00:00
brianwilkerson@google.com 2bf03e89c6 Fix the build
Review URL: https://codereview.chromium.org//481533002

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39310 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-15 19:45:41 +00:00
brianwilkerson@google.com 54edbcc686 Support potential edits
R=paulberry@google.com, scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39309 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-15 18:51:16 +00:00
paulberry@google.com 4ab9bde919 Add an integration test for analysis.overrides.
Also remove the note from the API documentation saying that
analysis.overrides only works for overrides of a superclass.
Interface overrides work too.

R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39302 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-15 16:56:45 +00:00
danrubel@google.com fa2f2ec46d add keyword suggestions
BUG=
R=brianwilkerson@google.com, paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39284 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-15 03:37:01 +00:00
paulberry@google.com fce2ad90a8 Add an integration test for analysis.outline.
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39282 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-15 03:03:24 +00:00
paulberry@google.com d2f6dddc57 Fix code generated matchers to handle recursive objects.
This requires using a wrapper that creating the matchers lazily (when
they're first used), so that a matcher can refer to itself without
causing a circularity during initialization.

R=jwren@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39274 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-14 22:45:01 +00:00
paulberry@google.com 7e83cc7363 Add an integration test for analysis.occurrences.
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39269 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-14 21:38:47 +00:00
paulberry@google.com c38a23704c Write an integration test for analysis.navigation notification.
Also, add the missing ElementKind "PARAMETER", and sort the
ElementKinds.

R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39267 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-14 21:06:50 +00:00
scheglov@google.com 8bbd86fd11 Proposal for RefactoringMethodParameter.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39253 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-14 16:46:55 +00:00
paulberry@google.com 17a5250955 Document the fact that client must filter results from completion.results.
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39220 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-13 20:36:55 +00:00
paulberry@google.com f822f41189 Update analysis server and integration tests to match new ChangeContentOverlay.
The spec was changed in r39199 so that ChangeContentOverlay contains a
list of edits rather than a single edit.  This updates the analysis
server and integration tests accordingly.

BUG=dartbug.com/20495
R=brianwilkerson@google.com, scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39218 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-13 20:04:55 +00:00
paulberry@google.com 96d5bd1bf0 Add union types to the analysis server API spec.
R=brianwilkerson@google.com, jwren@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39208 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-13 17:38:11 +00:00
brianwilkerson@google.com 7ab0a914ba Improve spec style and minor changes
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39199 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-13 14:46:56 +00:00
paulberry@google.com 153e73e155 Add an integration test for analysis.highlights.
Also fix sort order in the API definition of HighlightRegionType.

R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39152 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-12 18:16:37 +00:00
paulberry@google.com 37697c0e81 Rename InttestMixin -> IntegrationTestMixin
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39128 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-12 12:07:43 +00:00
paulberry@google.com 19a44a67a6 Split up server_domain_int_test.dart; regularize integration test directories.
With this change, there is a separate subfolder in "test/integration"
for each domain, and each subfolder has its own "test_all.dart".

This change is almost entirely code motion.  The only material change
is that two tests have been dropped:

- test_connected(): this test is now unnecessary since every time the
  "server.connected" message is received, the generated code in
  integration_test_methods.dart verifies that it is well-formed.

- test_error(): this was a placeholder to remind us to test the
  "server.error" notification.  On further reflection, it's unlikely
  that we'll be able to integration test this notification, since it
  only occurs in the event of a server bug.

R=jwren@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39112 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-11 22:25:26 +00:00
paulberry@google.com 931b0afaa6 Split analysis_domain_int_test.dart into several test files.
This test was timing out on the debug build bots because it had 6
sub-tests, each of which started a separate instance of the analysis
server.  Split it out to one test per file.

R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39095 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-11 17:39:10 +00:00
paulberry@google.com ff1f9c2643 Code generate integration test streams for notifications.
When a notification is received from the server, it is checked to
verify that its type matches the analysis server API, and then it is
dispatched to the proper stream.

R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39094 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-11 17:34:27 +00:00
paulberry@google.com d80f9d9053 Improve matchers for enums defined by the analysis server API.
R=jwren@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39090 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-11 15:21:18 +00:00
paulberry@google.com 80352fd61c Fix analysis server to only send SERVER_STATUS when subscribed to.
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39065 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-09 16:36:39 +00:00
paulberry@google.com abfa8dd268 Rework search_domain_int_test to avoid timeouts.
Now all sub-tests are run using a single analysis server so that the
SDK only needs to be analyzed once.

Reduces test time by about 9x.

R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39064 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-09 14:19:17 +00:00
paulberry@google.com 1a773207c5 Integration test search.getTypeHierarchy and make some minor fixes.
R=brianwilkerson@google.com, scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39045 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-08 19:39:50 +00:00
paulberry@google.com 320cbbf865 Rework "analysis.updateContent" analysis server request.
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39034 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-08 13:15:26 +00:00
paulberry@google.com acd92bad63 Code generate integration test methods for synchronous request/response pairs.
These methods take care of validating requests and responses (unless
the optional argument 'checkTypes' is false); this should make writing
integration tests easier and less error-prone.

R=jwren@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39007 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-07 20:13:53 +00:00