Commit Graph

2889 Commits

Author SHA1 Message Date
Brian Wilkerson 271bc1f776 Convert completion API to be future based
R=danrubel@google.com

Review URL: https://codereview.chromium.org//1318543002 .
2015-08-25 11:01:13 -07:00
Brian Wilkerson 4bd6b4b048 Fix display of parameter lists in servers Element structure (issue 24194)
R=scheglov@google.com

Review URL: https://codereview.chromium.org//1313113002 .
2015-08-25 09:23:26 -07:00
Konstantin Shcheglov aea1e572a1 Sort top-level constants before other top-level variables.
R=danrubel@google.com
BUG=

Review URL: https://codereview.chromium.org//1306083003 .
2015-08-21 12:19:48 -07:00
Paul Berry 03a156c891 Plumb "enableSuperMixins" option through analysis server (implements DEP 34).
Partially addresses #23772.

R=scheglov@google.com

Review URL: https://codereview.chromium.org//1301533003 .
2015-08-20 09:47:26 -07:00
Paul Berry 8f2ed2c68d Fix most implementations of UriResolver.restoreAbsolute.
Although it wasn't previously clear in the documentation,
implementations of UriResolver.restoreAbsolute() should only depend on
Source.fullName.  To do otherwise breaks some assumptions made by
analysis server.  This CL fixes all implementations except
SdkExtUriResolver (which has been deferred to issue #24090).

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1296653003 .
2015-08-18 11:32:15 -07:00
Konstantin Shcheglov 7e99b8696e Support for analysis.setPriorityFiles for files in SDK.
R=brianwilkerson@google.com
BUG= https://github.com/dart-atom/dartlang/issues/215

Review URL: https://codereview.chromium.org//1289643003 .
2015-08-17 10:48:38 -07:00
Dan Rubel 0aaa3bd0a4 reformat and 2 new tests for #23501
R=paulberry@google.com

Review URL: https://codereview.chromium.org//1290743003 .
2015-08-17 11:20:20 -04:00
danrubel e2f6739b44 tests for keyword/identifier replacementOffset - asserts fixes #23906 and fixes #23947
requires these CLs:
https://codereview.chromium.org/1281793004/
https://codereview.chromium.org/1287603003/

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1278033006 .
2015-08-15 15:18:03 -04:00
danrubel 9af696a4f7 suggest prefixed constructors - fixes #23210
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1291283002 .
2015-08-14 20:33:12 -04:00
John McCutchan 67a7aeaf12 Add _sdkext support back to analysis server
BUG=
R=brianwilkerson@google.com, paulberry@google.com

Review URL: https://codereview.chromium.org//1295463003 .
2015-08-13 12:24:37 -07:00
Konstantin Shcheglov 7ab954efb5 Remove debug output in getNavigation().
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1288163003 .
2015-08-12 14:02:07 -07:00
Konstantin Shcheglov e9d2f739ad More tweaks in attempt to debug the reason of failing getNavigation() tests.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1284933002 .
2015-08-11 11:13:48 -07:00
Konstantin Shcheglov 089f84f6cd Keep only unique overridden elements.
If the implemented interfaces don't declare an element, keep only a single copy of the element - from the superclass.

In Dart Editor we use any element, but in in IDEA we show all of them, and we don't want to have duplicates.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1273003005 .
2015-08-10 16:13:43 -07:00
Brian Wilkerson 97225c3a21 Possible fix for Windows bot failures
R=paulberry@google.com

Review URL: https://codereview.chromium.org//1275503003 .
2015-08-10 13:10:08 -07:00
Paul Berry f3f52d4b59 Fix regression in import fixups introduced by .packages support.
With the introduction of support for ".packages" files, analysis
server now uses a slightly different code path for translating the
Source objects from imported package files into "package:" URI's.
Previously it used PackageUriResolver.resolveAbsolute(); now it uses
ResourceUriResolver.resolveAbsolute(), and then translates the
resulting file: URI to a package: URI uring the .packages file.

The old code path used Source.fullName (the file path) to locate the
file in the filesystem; the new code path uses Source.uri.  This
causes problems because when figuring out the correct import statement
to insert, the analysis server creates a bogus Source object whose uri
field is null.  As a result, import fixups were getting relative paths
like "../../../../.pub-cache/..." rather than package imports, which
is clearly wrong.

As a short term non-invasive fix, we set Source.uri in the bogus
Source object, so that the new codepath is able to find the path of
the imported file.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1281313002 .
2015-08-10 12:14:26 -07:00
Konstantin Shcheglov c48cc7b913 Check for reset during 'await' in refactoring manager.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1281983002 .
2015-08-10 11:19:03 -07:00
danrubel 07d94ad596 fix completion after dot-keyword - fixes #23882
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1273773005 .
2015-08-10 11:11:51 -04:00
danrubel 3bbf03ba7b suggest "in" in for statement
BUG=
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1285573003 .
2015-08-10 10:43:27 -04:00
danrubel f79d02ddd0 remove complex keyword suggestions - fixes #23978
BUG=
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1280313002 .
2015-08-10 10:09:18 -04:00
danrubel 8ac02a9a24 suggest constructor named param
fixes #24004

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1283443004 .
2015-08-07 13:09:47 -05:00
danrubel a05ee55f03 suggest import uris when import is only text in file
prevent keyword suggestion in import uri without semicolon

fixes #24002

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1276273003 .
2015-08-07 12:25:25 -05:00
Paul Berry 206083c8b1 In analysis server, favor package root setting over ".packages" file.
R=brianwilkerson@google.com, pquitslund@google.com

Review URL: https://codereview.chromium.org//1277063002 .
2015-08-07 09:23:53 -07:00
danrubel 3b8b7ee7a2 suggest "deferred as" rather than "deferred"
suggest show and hide in import declaration

fixes #23967

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1276843007 .
2015-08-06 16:02:58 -07:00
Konstantin Shcheglov 65941839b7 Remove also duplicate imports.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1277983002 .
2015-08-06 12:42:30 -07:00
Brian Wilkerson 848386fddc (TBR) Add missed file
Review URL: https://codereview.chromium.org//1272273003 .
2015-08-05 08:23:43 -07:00
Brian Wilkerson 908708d655 More fixes for failures on the Windows bot
R=paulberry@google.com

Review URL: https://codereview.chromium.org//1266923004 .
2015-08-05 08:13:28 -07:00
danrubel a6ea45883d add location to suggestions from local file
fixes #23905

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1267203002 .
2015-08-04 22:12:01 -07:00
danrubel bf05b75f43 update suggestion element return type to have type param
cleanup loadLibrary suggestion to have correct element

dartbug.com/23905

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1260593005 .
2015-08-04 22:08:55 -07:00
Konstantin Shcheglov d11b644cc5 Issue 23963. Improve to/from block/expression body with void expressions.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/23963

Review URL: https://codereview.chromium.org//1267333003 .
2015-08-04 16:16:17 -07:00
Konstantin Shcheglov fbb7aedee5 WEB-17598. Name new libraries according to the Dart Style Guide.
R=brianwilkerson@google.com
BUG= https://youtrack.jetbrains.com/issue/WEB-17598
     https://github.com/dart-lang/sdk/issues/23972

Review URL: https://codereview.chromium.org//1253103007 .
2015-08-04 14:47:30 -07:00
pq d4d7e300f4 Flip .packages server support bit.
R=brianwilkerson@google.com, paulberry@google.com

Review URL: https://codereview.chromium.org//1253183015 .
2015-08-04 14:01:49 -07:00
Konstantin Shcheglov 60ab26dc30 Simplify directive's optimizer edit.
There was also a bug in computing common range.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1272013002 .
2015-08-04 13:14:27 -07:00
Konstantin Shcheglov ca28e0ff4b Forgotten test.
TBR

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1259263004 .
2015-08-04 08:35:53 -07:00
Konstantin Shcheglov 92f49b892d Implementation of 'edit.organizeDirectives'.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1255413003 .
2015-08-03 22:44:35 -07:00
danrubel fde3b1b335 better completions in switch statements
Closes #23527

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1255953004 .
2015-08-03 14:06:30 -07:00
danrubel e8e6cf823a fix completion replacement offset/length for invalid token in switch statement
Closes #23947

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1271723002 .
2015-08-03 14:02:40 -07:00
John McCutchan dfc35faaf9 Make exclude list also exclude contexts
- Only create a context if the directory/.packages/pubspec.yaml is not excluded.
- Add tests.

Fixes: https://github.com/dart-lang/sdk/issues/23941

R=brianwilkerson@google.com, devoncarew@google.com, paulberry@google.com, pquitslund@google.com

Review URL: https://codereview.chromium.org//1263443005 .
2015-08-03 13:54:17 -07:00
danrubel 9d5154a1fd include exported library namespace in prefixed import suggestions
Closes #23946

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1263093003 .
2015-08-03 13:52:44 -07:00
Konstantin Shcheglov 64ff591f56 Organize directives implementation.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1266393002 .
2015-08-03 13:49:57 -07:00
Konstantin Shcheglov e5b4713f03 'Import library' and 'Create class' Quick Fixes for unresolved class-like name in list literals.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1269043003 .
2015-08-03 13:03:28 -07:00
Konstantin Shcheglov aa30cad380 Proposal for the 'edit.organizeDirectives' request.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/23921

Review URL: https://codereview.chromium.org//1258563008 .
2015-08-03 07:59:26 -07:00
pq 88b8fb8e1e Server options handling.
R=brianwilkerson@google.com, scheglov@google.com

Review URL: https://codereview.chromium.org//1270593002 .
2015-07-30 12:58:58 -07:00
Brian Wilkerson f909ed8adf Add test for references in comments
R=scheglov@google.com

Review URL: https://codereview.chromium.org//1256333008 .
2015-07-30 11:20:00 -07:00
Paul Berry f5dab3fd2b Convert ContextManager to recursively watch analysis roots.
Previously ContextManager watched the contents of each context folder
independently; this was redundant in the case where one context folder
was nested inside another.  Also it led to some race conditions, since
we had to examine the contents of a folder in order to determine
whether there should be a context associated with it, but we couldn't
begin watching those files for that context until after the context
was created; this left a small window of time where a change to the
files might go unnoticed.

Note that a minor functional change is introduced: if "pub list"
indicates that the package resolution for a given folder is dependent
upon a file outside that folder, we no longer watch that file for
changes.  This shouldn't be a problem, since in practice "pub list"
always lists exactly two files as dependencies, and both of those
files are inside the folder (pubspec.yaml and pubspec.lock).

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1257933002 .
2015-07-26 20:56:43 -07:00
Paul Berry cdfa46faa5 Improve package root tests.
Partially fixes #23909.  Previously, these tests didn't work at all.
Now they verify that the FolderDisposition is based on the correct
package root, but they don't yet verify that the package map is
generated correctly.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1257913002 .
2015-07-26 15:08:58 -07:00
Konstantin Shcheglov 14e1cdc86c Fix for 'analysis.getNavigation' implementation.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org//1260503002 .
2015-07-24 14:27:20 -07:00
Paul Berry 46c284abdf Stop optimizing uses of "pub list".
The use case which made this optimization necessary is now gone, and
it's getting in the way of refactoring ContextManager.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1256793006 .
2015-07-24 10:42:25 -07:00
Paul Berry 7fb62213cf Introduce FolderDisposition class hierarchy for use in ContextManagerCallback.
The new class hierarchy encapsulates the packageUriResolver and
packages parameters that were previously used in the
ContextManagerCallback API.  In a future CL, I intend to use it more
extensively within ContextManagerImpl in order to make the algorithm
for choosing contexts more declarative.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1258473003 .
2015-07-24 06:42:54 -07:00
Paul Berry 391741a2de Clean up bogus codepath in ContextManager._computePackageUriResolver.
This codepath was only exercised during unit tests and race
conditions.  The fact that it was executed during unit tests at all
was due to a bug (see #23909).  The behavior during race conditions
was incorrect (it tried to set up package resolution using a folder
that didn't exist).

This CL fixes the race condition behavior and disables the affected
tests.  In a future CL I will fix the underlying bug that caused the
unit tests to execute incorrectly, and re-enable the tests.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org//1253803002 .
2015-07-24 06:39:21 -07:00
Paul Berry 37bf862fe4 Get rid of ContextManager._contexts.
This data structure was redundant with the tree of contexts maintained
in ContextManager._rootInfo.

R=scheglov@google.com

Review URL: https://codereview.chromium.org//1243063003 .
2015-07-23 11:03:44 -07:00