Commit Graph

466 Commits

Author SHA1 Message Date
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
paulberry@google.com b855a781d6 Remove RefactoringId from the analysis server API.
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38954 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-06 21:07:59 +00:00
paulberry@google.com 5353760386 Change the type of Error.code from int to String.
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38940 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-06 18:44:13 +00:00
paulberry@google.com 0f559b00b0 Add analysis server API specification and related tools.
The source for the API specification is in
pkg/analysis_server/spec/spec_input.html.  This file uses custom HTML
elements to declare the machine-readable parts of the specification.

The script pkg/analysis_server/spec/generate_files processes that file
and creates two output files:

- pkg/analysis_server/spec/api.html, the human-readable analysis
  server spec.

- pkg/analysis_server/test/integration/protocol_matchers.dart, which
  is used by integration tests to check the data returned by the
  analysis server.

R=brianwilkerson@google.com, jwren@google.com, scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38937 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-06 18:34:21 +00:00
jwren@google.com 353546ff4a Use checked mode in server integration tests
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38912 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-05 22:23:48 +00:00
paulberry@google.com ec6f1dfb64 Simplify handling of pathnames in integration tests.
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38890 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-05 03:30:06 +00:00
paulberry@google.com 7e36498dd4 Add more matchers for use in analysis server integration testing.
R=jwren@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38868 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-04 17:15:09 +00:00
paulberry@google.com 44f58316a1 Wait for "server.connected" notification before beginning integration tests.
R=brianwilkerson@google.com, scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38795 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-31 20:28:43 +00:00
paulberry@google.com e2ac6f3b52 Get rid of unnecessary calls to toDouble().
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38749 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-30 20:16:19 +00:00
paulberry@google.com c243ffe3a2 Better implementation of shutdown timeout.
In addition to being easier to read, Future.timeout() has the
advantage that if the future completes before the timeout, there isn't
a pending asynchronous event unnecessarily keeping the process alive.

R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38748 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-30 20:15:01 +00:00
paulberry@google.com 99b36c3748 Increase shutdown timeout to work around slow analysis server startup time.
TBR=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38746 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-30 19:12:54 +00:00
paulberry@google.com dc95ca2d0e Add timestamps to integration test output.
This should aid in debugging buildbot failures.

TBR=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38743 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-30 18:20:32 +00:00
paulberry@google.com b1bb36946f Integration tests for analysis.updateContent.
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38741 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-30 17:55:27 +00:00
paulberry@google.com 6c74d75f6d Make "server.shutdown" exit the analysis server.
Also update integration tests so that they use "server.shutdown" to
terminate each test.  This ensures that repeatedly running integration
tests does not cause an accumulation of analysis server temporary
files.

R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38739 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-30 17:38:40 +00:00