Commit Graph

43 Commits

Author SHA1 Message Date
scheglov@google.com eac4b2e0a3 Discard pending notifications on the same source change.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43564 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-06 19:31:13 +00:00
scheglov@google.com ae2e608ff9 Send notificatinos after no-op changes.
This should solve the problem when client remove some part of the code,
so removes also error markers for it, and then quickly restores it,
so for the server it looks as an empty/no-op change. But information is
lost, and the server should resend it to the client.

R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43521 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-05 20:42:17 +00:00
danrubel@google.com b35d83dbad Revert 43227
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43228 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-28 04:48:18 +00:00
danrubel@google.com 5a7c80ab80 (TBR) fix the build
BUG=dartbug.com/22180

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43227 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-28 04:30:36 +00:00
scheglov@google.com b280b861f9 Issue 22143. Navigation from super initializers.
R=brianwilkerson@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=22143

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43209 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 21:50:00 +00:00
paulberry@google.com aac571f7a0 Add tests for additional bugs fixed by r43163.
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43168 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 01:09:54 +00:00
paulberry@google.com 7bf029506d Fix "reanalyze sources" when there are unsaved files.
The analysis server now maintains a single content cache which is
shared by all contexts; this allows it to persist the content cache
across reanalysis (which destroys all contexts and recreates them from
scratch).

Two other bugs are fixed in the process:

- If a file is analyzed in multiple contexts, then editing it will
  cause all affected contexts to be notified of the change.  (Note
  that this could potentially account for some other strange behaviors
  we've seen recently, such as incorrect semantic highlighting and
  lingering errors/warnings.)

- If the client supplies a ChangeContentOverlay for a file which
  currently has no overlay, the proper error is generated.

I plan to submit tests for these two bugs in a follow-up CL.

R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43163 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-26 23:26:45 +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 409fcc9d44 Fix for 'await' highlighting in for-each.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42610 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-05 20:01:05 +00:00
scheglov@google.com e73e5faaad Getters should not have parameters.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42183 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-08 21:04:44 +00:00
scheglov@google.com 20d82e5135 Compressed/optimized navigation notification.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42049 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-01 22:21: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 1c6ddd0751 Issue 21498. Fix for navigation from instance creation with type arguments.
R=paulberry@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=21498

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41468 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-03 20:45:34 +00:00
scheglov@google.com 0463d78cfb Semantic highlight async/await/sync/yield.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41335 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-27 20:18:11 +00:00
scheglov@google.com 2ca4bbbd60 Support for enums semantic highlighting.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41330 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-27 18:39:40 +00:00
scheglov@google.com 8ae0268b39 Issue 21419. Don't create navigation region for elements without location.
R=brianwilkerson@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=21419

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41302 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-25 21:12:12 +00:00
scheglov@google.com 51fb6c5a9e Issue 21377. Specify that navigation regions are sorted and implement it.
R=brianwilkerson@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=21377

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41261 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-23 17:18:13 +00:00
scheglov@google.com 8f337c37d1 Issue 21373. Fix for removing line info in case of exception (causes NPE in outline computer).
I will update analysis_server/pubspec.yaml before commit.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41235 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-21 20:34:31 +00:00
scheglov@google.com 89978808cd Issue 21238. Fix for NPE in occurrences computer when FieldFormalParameterElement references unresolved field.
R=brianwilkerson@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=21238

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41215 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-20 21:26:09 +00:00
scheglov@google.com 11f7d4027e Fix for missing LineInfo to SDK entries.
I will update analyzer reference in pubspec before commit.

R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41064 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-12 21:27:08 +00:00
paulberry@google.com 1f50bf550a Remove special list behavior in analysis server protocol.
Previously, for optional lists, the absence of a list was treated by
the toJson and fromJson methods as equivalent to the presence of an
empty list.  This disagreed with the API documentation in several
places and created the risk of null reference exceptions in clients.

This change makes optional lists behave just like optional fields of
any other type.

BUG=dartbug.com/21230
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40939 260f80e4-7a28-3924-810f-c04153c831b5
2014-10-06 16:32:14 +00:00
scheglov@google.com 5e9ba07a3e Fix for NPE when FieldFormalParameterElement references an unresolved field.
I found it (in a hard way - server died) during dogfooding.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40820 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-30 17:59:16 +00:00
scheglov@google.com a836f0f5ad Fix for highlighting 'abstract' in ClassTypeAlias.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40777 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-29 17:33:55 +00:00
scheglov@google.com c7a131a7d5 Churn only: move analysis notification tests.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@40396 260f80e4-7a28-3924-810f-c04153c831b5
2014-09-17 20:16:29 +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
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 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 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 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
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 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
paulberry@google.com 34699f46d5 Start using code-generated protocol classes in analysis server.
This updates the handlers for analysis.getErrors,
server.setSubscriptions, and analysis.setSubscriptions with simpler
versions that make use of the code-generated protocol classes, and
replaces the classes AnalysisError and AnalysisService with their
code-generated versions.

It also removes some dead code.

R=jwren@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39376 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-19 18:29:41 +00:00
scheglov@google.com e1e1febe72 Merge two constants.dart into one.
R=paulberry@google.com, brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39355 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-18 21:34:54 +00:00
paulberry@google.com 7226309842 Import analysis_services.dart into analysis_server.dart.
Having two separate packages doesn't really have any benefit, and has
the downside of forcing us to carefully avoid circular dependencies
between the two.  It makes more sense to just combine them.

This is largely a mechanical change consisting of the following renames:

1. pkg/analysis_services/lib/src/* -> pkg/analysis_server/lib/src/services/*
2. pkg/analysis_services/lib/* -> pkg/analysis_server/lib/src/services/*
3. pkg/analysis_services/test/* -> pkg/analysis_server/test/services/*

There were 4 instances where 1 and 2 created a collision:
.../services/correction/assist.dart, .../services/correction/fix.dart,
.../services/refactoring/refactoring.dart, and
.../services/search/search_engine_internal.dart.  To fix the
collision, the files coming from pkg/analysis_services/lib/src were
renamed to "..._internal.dart".

In addition, pkg/analysis_services/test/test_all.dart was modified to
call pkg/analysis_services/test/services/test_all.dart.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@39349 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-18 20:17:49 +00:00
scheglov@google.com 95cc1e5b14 Send 'analysis.errors' notification only for files in analysis roots.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38944 260f80e4-7a28-3924-810f-c04153c831b5
2014-08-06 19:58:00 +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
scheglov@google.com e24d5aacfc Implementation of the 'search.getTypeHierarchy' API.
R=paulberry@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38626 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-28 15:52:28 +00:00
scheglov@google.com aba0cfa4e6 Remove any 'group' invocations enclosing 'runReflectiveTests'.
R=paulberry@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38547 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-24 18:08:45 +00:00
scheglov@google.com b3054315da Send responses for any pending 'analysis.getErrors' requests during context removal.
R=paulberry@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38544 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-24 17:34:06 +00:00
scheglov@google.com 6b7184ba97 Implementation of the 'analysis.getErrors' API.
R=paulberry@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@38476 260f80e4-7a28-3924-810f-c04153c831b5
2014-07-22 21:24:11 +00:00