Commit Graph

2889 Commits

Author SHA1 Message Date
Dan Rubel 9ec7547323 update ContextManager to support analysis option include directive
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2514533002 .
2016-11-17 15:36:33 -05:00
Konstantin Shcheglov d3b5ed9808 Support 'edit.organizeDirectives' with the new analysis driver.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2491953002 .
2016-11-10 09:52:40 -08:00
Konstantin Shcheglov f059523037 Highlight FieldFormalParameterElement as a field only in declaration.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/27478

Review URL: https://codereview.chromium.org/2484883002 .
2016-11-07 12:03:06 -08:00
Konstantin Shcheglov 9723a28457 Support for hover with the new analysis driver.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2477193002 .
2016-11-07 09:09:14 -08:00
Konstantin Shcheglov fc30904a39 Completion with the new analysis driver.
It works for top-levels, fields, locals, prefixed expressions.

Integration is not the most efficient - we resolve the full unit.
It works fine for files with about 1000 lines, about 50-70 ms.

We could slightly improve timing if we prioritize completion over
navigation and highlight notifications, which are currently prepared
and sent before completion.

In giant files like src/dart/element/element.dart, about 8500 lines,
it takes about 400 ms from typing to receiving completion. The theoretical
bottom bound for such files is about 70 ms - time that it required to
parse, create unlinked bundle, ensure that the API signature is the
same, load linked bundles and prepare to resynthesize. On top of this
goes any time required to resolve a single method and completion itself.

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

Review URL: https://codereview.chromium.org/2478963002 .
2016-11-06 10:45:46 -08:00
Konstantin Shcheglov 64e0247700 Implement 'Sort Members' for the new analysis driver.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2473003003 .
2016-11-04 08:24:02 -07:00
Konstantin Shcheglov 6826e267b9 Integration of the new analysis driver, behind a flag.
The flag is --enable-new-analysis-driver, disabled by default.

WIP, only error notifications for now.

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

Review URL: https://codereview.chromium.org/2465923002 .
2016-10-31 09:54:31 -07:00
Konstantin Shcheglov 3319e6d0e3 Fix for inlining async methods/getters.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2463493002 .
2016-10-31 08:48:37 -07:00
Brian Wilkerson 96750cd5cb Split out options from ContextBuilder
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2425423009 .
2016-10-20 11:03:11 -07:00
Brian Wilkerson 99ce88f8bc (TBR) Fix more failing tests
Review URL: https://codereview.chromium.org/2426723002 .
2016-10-17 12:57:56 -07:00
Brian Wilkerson cbd7a2908e Fixes for tests on windows
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2420413004 .
2016-10-17 09:39:25 -07:00
Brian Wilkerson 3155b1e08c Remove unused method and field from DartSdkManager
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2415413003 .
2016-10-14 09:53:44 -07:00
Konstantin Shcheglov 33ecec5d4f Replace expect() with outOfTestExpect() in Analysis Server performance benchmark.
In package:test function expect() does not want to be used outside of
test() methods. So, we need a partial copy for using it in integration
tesitng code, and performance benchmarks.

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

Review URL: https://codereview.chromium.org/2413573003 .
2016-10-12 12:57:03 -07:00
Konstantin Shcheglov 56bde6da28 Issue 27542. Guard against CompilationUnitElement is null in SearchMatch.element getter.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/27542

Review URL: https://codereview.chromium.org/2409403002 .
2016-10-11 14:09:09 -07:00
Konstantin Shcheglov 1a70ff791a Parse the 'patches' argument in SDK libraries declarations.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2408863002 .
2016-10-11 09:19:27 -07:00
Brian Wilkerson 0f364bfac2 Fix more tests on windows bots
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2404733002 .
2016-10-09 11:57:40 -07:00
Konstantin Shcheglov 831d3119f2 Issue 27536. Quick Fix for 'Avoid using braces in interpolation when not needed'.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/27536

Review URL: https://codereview.chromium.org/2397153004 .
2016-10-07 12:51:04 -07:00
Konstantin Shcheglov d4ebdabf43 MemoryResourceProvider.getFolder() should not create the folder.
But newFolder() should be used to create.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2396423002 .
2016-10-07 10:12:00 -07:00
Konstantin Shcheglov 05a86a7495 Remove 'initializeTestEnvironment' from 'analysis_server'.
Also fixes the server_options_test.dart:22 test broken in https://codereview.chromium.org/2394683006/

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

Review URL: https://codereview.chromium.org/2402483002 .
2016-10-06 10:26:17 -07:00
Konstantin Shcheglov de4d8b3a78 Switch analysis_server to use 'package:test'.
I'm changing DEPS in the corresponding analyzer CL.

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

Review URL: https://codereview.chromium.org/2394683006 .
2016-10-06 08:47:15 -07:00
Konstantin Shcheglov 5a4d7ebf61 Issue 27475. Discourage users from naming constructors the same as the enclosing classes.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/27475

Review URL: https://codereview.chromium.org/2399533003 .
2016-10-05 12:07:40 -07:00
Brian Wilkerson 3a610fc9f4 Fix test failures under windows
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2383133002 .
2016-09-30 10:53:53 -07:00
Brian Wilkerson 685e4ff9e1 Revert "Remove unused option in server API"
Review URL: https://codereview.chromium.org/2382033003 .
2016-09-30 10:14:12 -07:00
Brian Wilkerson 2972bd0d6b Remove unused option in server API
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2382053002 .
2016-09-30 09:04:38 -07:00
Konstantin Shcheglov 3647e7bac0 Order suggested Quick Fix imports: direct, export, non-API.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2377803002 .
2016-09-27 15:03:26 -07:00
Konstantin Shcheglov 0223b08a34 Issue 27300. Report HintCode.ABSTRACT_SUPER_MEMBER_REFERENCE. (Land again)
The pkg/analysis_server/test/integration/analysis/error_test was fixed.

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

Review URL: https://codereview.chromium.org/2366963002 .
2016-09-23 10:21:21 -07:00
Konstantin Shcheglov 09b0bba932 Issue 27358. Reset AnalysisContext 'sourceFactory' and 'typeSystem' on analysis options change.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/27358

Review URL: https://codereview.chromium.org/2361203004 .
2016-09-23 09:44:47 -07:00
Brian Wilkerson 74686371b3 Add support for getting the sessionId from instrumentation and sending it to the client
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2359233002 .
2016-09-22 10:26:13 -07:00
William Hesse 92cd3e10f5 Fix test.py and tests to use an explicit --packages flag.
BUG=https://github.com/dart-lang/sdk/issues/27412
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2361813003 .
2016-09-22 17:51:09 +02:00
Konstantin Shcheglov e82cbea8fe Issue 27386. Fix for 'use similar' Quick Fix for import-prefixed identifiers.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/27386

Review URL: https://codereview.chromium.org/2361483002 .
2016-09-21 10:02:20 -07:00
Konstantin Shcheglov bdc024a303 Move PackageIndexAssembler into analysis_server.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2357283002 .
2016-09-21 08:54:46 -07:00
Brian Wilkerson d947a7ba89 Async is no longer optional
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2361433002 .
2016-09-21 08:29:34 -07:00
Brian Wilkerson 2d9e690e6c Fix newly introduced errors and warnings
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2357553003 .
2016-09-21 08:01:04 -07:00
Brian Wilkerson c369a8449e More clean-up in server
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2350143004 .
2016-09-20 08:39:43 -07:00
Brian Wilkerson ab9ba20c04 Fix recently introduced strong-mode errors
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2344933002 .
2016-09-15 14:37:37 -07:00
Brian Wilkerson ecc84b26a4 Break up another large file
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2342733002 .
2016-09-15 07:49:27 -07:00
Dan Rubel 023295912a improve import URI completions at EOF
fixes https://github.com/dart-lang/sdk/issues/27020

R=scheglov@google.com

Review URL: https://codereview.chromium.org/2342473002 .
2016-09-14 11:22:25 -04:00
Dan Rubel 4fce5e9022 reduce the relevance of completions starting with "$"
fixes https://github.com/dart-lang/sdk/issues/27303

R=scheglov@google.com

Review URL: https://codereview.chromium.org/2330413004 .
2016-09-13 14:21:31 -04:00
Brian Wilkerson 6c448b6938 Move exception support to its own library
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2328043002 .
2016-09-10 11:04:19 -07:00
Brian Wilkerson 5bd4de469e Clean up warnings and hints
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2324463006 .
2016-09-09 09:09:59 -07:00
Konstantin Shcheglov 9cf47ce04c Remove parseUriWithException() and URISyntaxException.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2321263003 .
2016-09-09 08:30:01 -07:00
Brian Wilkerson fe02411930 Remove several references to JavaFile
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2323173002 .
2016-09-09 07:45:40 -07:00
Konstantin Shcheglov e976e692be Replace and remove JavaException(s).
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2326813002 .
2016-09-08 15:56:33 -07:00
Konstantin Shcheglov 7442a85cbb Issue 27130. Fix applying changes to .analysis_options on save.
This fix partially reverts changes made in https://github.com/dart-lang/sdk/commit/de6925a23ebf29cd587dd5f4e214cb277a7397e4
It is correct that we should ignore applyChanges() for sources with
content overridden in the content cache. But we cannot know what else
happened with results in the analysis cache at this point. So, we
should just let Analysis Server to always run analysis, so that
Driver and WorkManager(s) will decide if there is anything to do.

I believe that the original motivation for the change was to avoid
sending extr 'analysis.implemented' notifications. It does not happen
anymore, probably because we set other shortcuts using source content.

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

Review URL: https://codereview.chromium.org/2314933003 .
2016-09-06 13:41:48 -07:00
Konstantin Shcheglov 9aa060e67f Issue 27143. Fill documentation for local, AST based completion.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/27143

Review URL: https://codereview.chromium.org/2313003002 .
2016-09-06 12:05:20 -07:00
Konstantin Shcheglov f4186fb463 Issue 27244. Add 'isDeprecated' to HoverInformation.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/27244

Review URL: https://codereview.chromium.org/2310153002 .
2016-09-06 11:31:11 -07:00
Paul Berry 94309733cd Revert "Remove unnecessary hide clauses"
The `Resource` class wasn't removed from the SDK until version
1.20.0-dev.0.0, which was only recently published.  Reverting this
change to allow people using older SDK releases a little more time to
upgrade.

This reverts commit 2cdafd82c2.

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

Review URL: https://codereview.chromium.org/2299243002 .
2016-09-01 16:08:43 -07:00
Brian Wilkerson 2cdafd82c2 Remove unnecessary hide clauses
R=scheglov@google.com

Review URL: https://codereview.chromium.org/2305453002 .
2016-08-31 16:44:52 -07:00
Konstantin Shcheglov cc6beaf56d Pull in test_reflective_loader 0.0.4 and switch analyzer to it.
There are following changes:

1. DEPS to pull in test_reflective_loader 0.0.4
2. Rename runReflectiveTests() to defineReflectiveTests().
3. Remove analyzer's pkg/analyzer/test/reflective_tests.dart
4. Replace reflective_tests.dart imports with package:test_reflective_loader/test_reflective_loader.dart imports.
5. Sort/format and organize imports in the files with imports changes.
6. Fix for a couple of bugs in analysis_server exposed by the new loader.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2298913003 .
2016-08-31 13:46:39 -07:00
Konstantin Shcheglov f8f4228728 Revert "Flush AST results for source outside of the analysis roots."
This reverts commit b115309531.

Revert "Use FlushTargetFilter to pre-filter targets before checking their results."

This reverts commit 2e24662c06.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2298043002 .
2016-08-30 19:55:10 -07:00