Commit Graph

1383 Commits

Author SHA1 Message Date
Brian Wilkerson 3bf8b18680 More strong mode clean-up in server
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1966453002 .
2016-05-09 13:24:56 -07:00
Konstantin Shcheglov 522eaa9a80 Don't suggest types, getters, etc in 'for (Type ^)'.
Variable names should be suggested there.

It does not work for the moment, I'll need to make changes into
VariableNameContributor. But NOT suggesting all the garbage - for me
thi is 90% of the full solution ;-)

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1960783002 .
2016-05-09 12:30:15 -07:00
Konstantin Shcheglov cf71ab114b Suggest 'is' in 'if (x is^)'.
So, we don't treat is as an expression start, and don't suggest
inappropriate 'while', 'await', etc or identifiers.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1958733002 .
2016-05-06 14:36:43 -07:00
Konstantin Shcheglov 3775d92000 Suggest 'var' and 'final' in intializer of 'for'.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1953893004 .
2016-05-06 13:49:48 -07:00
Konstantin Shcheglov b73b82221e Fixes for completing 'for (var v in^)' and 'if (v is^)'.
The 'if (v is)' will require more work - we somehow manage to suggest
'if', 'final', 'switch', 'while', but NOT 'is'. But at least identifiers
are now out.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1956813004 .
2016-05-06 13:17:15 -07:00
Konstantin Shcheglov fef82ec1e8 Update mock SDK 'double'.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1956443003 .
2016-05-05 14:12:53 -07:00
Konstantin Shcheglov ada9cf43db Issue 26355. Don't overwrite full index with declarations-only one.
What happens in this case is that when we analyze this project with
many (very small) files, we successfully index first declarations
(on computing RESOLVED_UNIT3) and then RESOLVED_UNIT. But when we attempt
to search, we ask for RESOLVED_UNIT, which is flushed. So, we compute it.
In the process we compute RESOLVED_UNIT3, and the listener in
_setupIndexInvalidation() indexes declarations, and overwrites the full
index.

There are several possible solutions, the simplest one is to not
overwrite any existing index information while indexing declarations.

R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/26355

Review URL: https://codereview.chromium.org/1946353004 .
2016-05-05 07:10:14 -07:00
Brian Wilkerson 08241e9072 More strong mode clean-up
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1947813002 .
2016-05-04 07:42:46 -07:00
Konstantin Shcheglov fcf97b6c3d Keep directive annotations while sorting.
In one of the previous CLs I sorted unit members and removed the
required @MirrorsUsed annotation.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1938023002 .
2016-05-02 10:09:38 -07:00
Konstantin Shcheglov 0f0b38dab3 Implement stable resolution of generic types without type arguments to their bounds.
R=brianwilkerson@google.com, leafp@google.com
BUG= https://github.com/dart-lang/sdk/issues/26265

Review URL: https://codereview.chromium.org/1927323002 .
2016-04-29 08:25:55 -07:00
Konstantin Shcheglov 470c5de12e If the expected 'returnType' is 'null', just do not check it.
The completion tests are fragile and too sensitive to task model
changes. I have a change that inserts a new analysis result between
RESOLVED_UNIT3 and RESOLVED_UNIT4, and by doing this the next task to
perform resolves types in imported libraries. But in CC test we
continue performing analysis tasks and incidentally resolve something
what the 'null' checks don't expect.

So, I think we need to stop doing these checks.
If needed, we can check something directly by asking the state of some
analysis results from AnalysisContext.

R=jwren@google.com, danrubel@google.com
BUG=

Review URL: https://codereview.chromium.org/1932003002 .
2016-04-28 13:15:33 -07:00
pq 870aa5e4f4 Pubspec-specified analysis configuration (#26359).
Provides support for pubspec-specified analysis configurations.

Context: https://github.com/dart-lang/sdk/issues/26359

TODO:
  * docs
  * CLI support

BUG=
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1923973004 .
2016-04-28 13:10:45 -07:00
Jaime Wren 1aee4602bc Code completion bug fix, https://github.com/dart-lang/sdk/issues/26342, and test cleanup in variable_name_contributor_test.dart
BUG=https://github.com/dart-lang/sdk/issues/26342
R=danrubel@google.com

Review URL: https://codereview.chromium.org/1924683002 .
2016-04-27 09:26:49 -07:00
Konstantin Shcheglov 78ca9cc10b Fixes for SingleContextManager after experiments with two big codebases.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1926763002 .
2016-04-27 08:46:18 -07:00
Konstantin Shcheglov 5318eca65c Watch analysis roots separately.
The context folder sometimes includes way too much.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1919343002 .
2016-04-26 11:33:50 -07:00
Konstantin Shcheglov c6257ba52b Add Driver.useSingleContextManager to turn on single context manager.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1915833007 .
2016-04-26 10:29:48 -07:00
Konstantin Shcheglov 099f227c17 Add test for 'refresh()' and clean up other tests.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1922743002 .
2016-04-26 07:16:44 -07:00
Konstantin Shcheglov 4cd1d552e4 We don't use path filter in SingleContextManager.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1916063003 .
2016-04-25 14:31:03 -07:00
Konstantin Shcheglov c9068a8692 Listen for changes in the context folder.
I had to convert several static methods into instance ones becuse I'd
like to use PathContext from the ResourceProvider.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1921863002 .
2016-04-25 13:51:47 -07:00
Jaime Wren e01634bd79 Code completion progress part two of fix to https://github.com/dart-lang/sdk/issues/24254, addition of new contributor, variable_name_contributor.dart.
The completions are not yet showing up in either IDE, IntelliJ or Atom.

BUG=https://github.com/dart-lang/sdk/issues/24254
R=danrubel@google.com

Review URL: https://codereview.chromium.org/1916893002 .
2016-04-25 12:51:14 -07:00
Konstantin Shcheglov f892af36d8 Only add files that are match an analyzed files glob.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1922643002 .
2016-04-25 11:44:04 -07:00
Konstantin Shcheglov 44cedebded Support for replacing of the context folder.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1920993002 .
2016-04-25 11:24:43 -07:00
Konstantin Shcheglov 337862bca2 Initial version of SingleContextManager.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1918893002 .
2016-04-25 08:38:38 -07:00
Jaime Wren 58bf3075a8 Code completion progress part one of fix to https://github.com/dart-lang/sdk/issues/24254, addition of optype.includeVarNameSuggestions
BUG=https://github.com/dart-lang/sdk/issues/24254
R=danrubel@google.com

Review URL: https://codereview.chromium.org/1910263004 .
2016-04-22 11:00:21 -07:00
Brian Wilkerson 166f23e13f Code clean-up
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1907323002 .
2016-04-22 09:05:01 -07:00
Jaime Wren bfb5849f44 Code completion bug fix, don't suggest optional field formal parameters that are already in the constructor
BUG=https://github.com/dart-lang/sdk/issues/26255
R=danrubel@google.com

Review URL: https://codereview.chromium.org/1907723002 .
2016-04-21 10:46:35 -07:00
Jaime Wren cc065a3ad0 Code completion improvement, use type information when suggesting constructors, part 2.
This finishes the work started with https://codereview.chromium.org/1892823003/, by also adding the filter into the local_library_contributor.dart.

BUG=https://github.com/dart-lang/sdk/issues/26254
R=danrubel@google.com

Review URL: https://codereview.chromium.org/1908703002 .
2016-04-21 10:16:06 -07:00
Jaime Wren 345051cf1c Code completion test cleanup, rename test_DefaultFormalParameter_named_expression_filter as test_ArgumentList_namedParam_filter in local_reference_contributor_test.dart
R=danrubel@google.com

Review URL: https://codereview.chromium.org/1896853004 .
2016-04-20 11:08:18 -07:00
Konstantin Shcheglov daed53916a Issue 26207. Fix for renaming top-level functions with offset 0.
They were indistinguishable from the corresponding enclosing units.
Now we use a separate kind for units and libraries.

R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/26207

Review URL: https://codereview.chromium.org/1896023005 .
2016-04-19 15:36:28 -07:00
Jaime Wren 214a201ae5 Code completion improvement, use type information when suggesting constructors
BUG=https://github.com/dart-lang/sdk/issues/26254
R=danrubel@google.com

Review URL: https://codereview.chromium.org/1892823003 .
2016-04-18 12:11:46 -07:00
Brian Wilkerson 3ab253b977 More steps toward making server strong mode clean
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1900503002 .
2016-04-18 07:52:42 -07:00
Jaime Wren 2e87758149 Code completion tests: 2 additional tests for the is and as expressions.
R=danrubel@google.com

Review URL: https://codereview.chromium.org/1889873003 .
2016-04-14 13:28:00 -07:00
Florian Loitsch bcd8ef3dea Enable conditional directives by default.
R=brianwilkerson@google.com, iposva@google.com, sigmund@google.com

Review URL: https://codereview.chromium.org/1851753002 .
2016-04-14 19:02:41 +02:00
Jaime Wren 01aaf8629e Code completion improvement: in NamedExpressions (m(someNamedParam: ^)), use type information to sort variables higher in relevance.
R=danrubel@google.com

Review URL: https://codereview.chromium.org/1882243003 .
2016-04-13 16:11:39 -07:00
Jaime Wren 7b8d0b71a9 Additional code completion tests for the as expression in imported_reference_contributor_test.dart
R=danrubel@google.com

Review URL: https://codereview.chromium.org/1875283002 .
2016-04-12 11:09:56 -07:00
danrubel 657f88d7f0 use type information to filter RHS of "is" expression for imported types
fixes #22357

R=jwren@google.com

Review URL: https://codereview.chromium.org/1876603002 .
2016-04-11 15:57:41 -04:00
Jaime Wren 8a9403e15c Code completion improvement in the DAS- only suggest completions on the RHS of an as-expression that are proper subtypes of the type of the LHS of the as-expression.
R=danrubel@google.com

Review URL: https://codereview.chromium.org/1872073002 .
2016-04-11 09:59:30 -07:00
Jaime Wren bb62c408bf Fix for issue 22357: use type information on the RHS of is expressions to improve quality of completions.
BUG=https://github.com/dart-lang/sdk/issues/22357
R=danrubel@google.com

Review URL: https://codereview.chromium.org/1871073003 .
2016-04-08 15:16:53 -07:00
danrubel dbaf0c33b0 show only named argument suggestions - fixes #25198, fixes #23992
R=jwren@google.com

Review URL: https://codereview.chromium.org/1867063003 .
2016-04-08 12:54:31 -04:00
Jaime Wren 3c8b0d20f3 Fix for issue 23861: CompletionSuggestion.parameterType are now populated.
BUG=https://github.com/dart-lang/sdk/issues/23861
R=danrubel@google.com

Review URL: https://codereview.chromium.org/1864243002 .
2016-04-07 13:01:53 -07:00
Jaime Wren 04a14d0020 Code completion build fix following https://codereview.chromium.org/1860213002, fix test_all.dart to include completion_test.dart
R=danrubel@google.com, paulberry@google.com

Review URL: https://codereview.chromium.org/1866753004 .
2016-04-06 14:26:18 -07:00
Jaime Wren 84b9a47926 Fix for issue 24555: import/export/part completion improvement.
BUG=https://github.com/dart-lang/sdk/issues/24555
R=danrubel@google.com

Review URL: https://codereview.chromium.org/1860213002 .
2016-04-06 09:52:47 -07:00
Brian Wilkerson 97c613aad4 More strong mode changes in analysis_server
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1852113002 .
2016-04-03 17:56:30 -07:00
Brian Wilkerson f9b575e5b3 More strong mode changes to analysis_server
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1855643002 .
2016-04-01 18:00:04 -07:00
Konstantin Shcheglov b8fc38e8a8 Issue 26167. Test for indexing a unit which is not attached to a library.
We had the corresponding check wider than tests.
So, the problem in the issue does not happen now.
But it's still good to have a test.

R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/26167

Review URL: https://codereview.chromium.org/1854683003 .
2016-04-01 09:47:08 -07:00
Konstantin Shcheglov 559bc17535 Rework computing simple strings difference.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/26140

Review URL: https://codereview.chromium.org/1849843002 .
2016-03-31 10:18:06 -07:00
Dan Rubel 3b18b656c3 tests to assert completion suggestion replacementLength includes entire URI
https://github.com/dart-lang/sdk/issues/26083

R=jwren@google.com

Review URL: https://codereview.chromium.org/1843513003 .
2016-03-31 12:38:38 -04:00
Brian Wilkerson 0d743fbacf Start making server strong mode clean
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1842063003 .
2016-03-31 08:27:05 -07:00
Konstantin Shcheglov 582c038940 Fix for sorting directives with documentation comments.
Stop trying to keep non-documentation directive comments after sorting.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1843763002 .
2016-03-30 17:21:30 -07:00
Brian Wilkerson 8c22a5f807 Format code in analysis_server
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1838933003 .
2016-03-29 08:27:14 -07:00