Commit Graph

104 Commits

Author SHA1 Message Date
danrubel@google.com 5194a2b1b4 filter static methods when showing instance completions
BUG=dartbug.com/22171
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43580 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-07 00:56:15 +00:00
danrubel@google.com f43912dfce fix code completion in string literals
BUG=dartbug.com/22297
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43567 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-06 20:07:29 +00:00
danrubel@google.com 20b64a97a4 fix completion in for statement
BUG=
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43541 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-06 04:58:11 +00:00
danrubel@google.com 84350e186c fix named param default value code completion
BUG=
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43540 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-06 04:50:57 +00:00
danrubel@google.com dc95fd3689 use propogated type for completions
BUG=dartbug.com/21457
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43539 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-06 04:43:15 +00:00
danrubel@google.com fa0dc53f6f fix code completion in conditional expressions
BUG=
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43538 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-06 04:33:07 +00:00
danrubel@google.com e5a34c3c12 fix completions in indexed expression
BUG=
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43523 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-05 21:42:43 +00:00
danrubel@google.com 2425d0c57c const rename and cleanup
BUG=
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43520 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-05 19:50:42 +00:00
danrubel@google.com 8233434126 move relevance computation from client to server
BUG=
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43519 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-05 19:36:19 +00:00
danrubel@google.com dbd0fa9d68 fix exception and improve keyword completion
BUG=dartbug.com/22231
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43466 260f80e4-7a28-3924-810f-c04153c831b5
2015-02-04 13:18:42 +00:00
danrubel@google.com ef89b4c21a tests for earlier CL
BUG=dartbug.com/21768
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43295 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 16:50:24 +00:00
brianwilkerson@google.com cb6c16922f Fix for issue 22052
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43292 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-29 16:01:58 +00:00
danrubel@google.com 4229cb1c6f use CompletionTarget for replacement offset/length
add code completion replacementLength and replacementOffset assertions

BUG=
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43255 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-28 20:11:10 +00:00
paulberry@google.com ea333d8459 Fix mixin resolution order when multiple mixins present.
BUG=dartbug.com/22069
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43224 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-27 23:41:21 +00:00
scheglov@google.com 2b8c66ea79 Rename ChangeNotice resolved Dart/Html unit fields.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43147 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-26 19:58:19 +00:00
paulberry@google.com 30f1b97888 Handle generic parameters correctly in invocation completions.
When doing invocation completions, we need to walk the interface
types, not the classes, because the interface types record the actual
types of the generic parameters.  This required some rework because
the old technique used an element visitor, and interface types can't
be visited using an element visitor.

R=danrubel@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@43040 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-21 15:16:50 +00:00
danrubel@google.com cbd16a7336 add local parameter info to completion suggestions
BUG=
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42894 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-15 02: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
danrubel@google.com 0974f8b1ea insert parameters when completing imported functions and inherited methods
BUG=
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42808 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-13 14:10:47 +00:00
paulberry@google.com cebcc398f6 Add support for completion of case labels.
This change addresses completions like the following:

  switch (...) {
    foo: case 1:
      ...
    bar: case 2:
      continue ^;
    baz: case 3:
      ...
  }

Completion at the point marked "^" will show "foo", "bar", and "baz"
as possible completions.

R=danrubel@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42799 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-13 03:11:46 +00:00
danrubel@google.com 14a97cafed suggest fields rather than synthetic getters
and return dynamic returnType rather than null

BUG=dartbug.com/21679
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42786 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-12 19:02:47 +00:00
paulberry@google.com 531c591460 Completion support for loop labels.
Break and continue statements inside loops now have their targets
properly completed.  Continue statements inside switch statements will
be addressed in a future CL.

R=danrubel@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42781 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-12 17:37:46 +00:00
danrubel@google.com 2005b07aea Change code completion relevance from CompletionRelevance.LOW/DEFAULT/HIGH to int
This allows the sever to return a more graduated relevance
and facilitates moving client side prioritization over to the server.

BUG=
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42735 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-09 15:30:59 +00:00
danrubel@google.com 46df250c5a suggest fields rather than synthetic getters
BUG=dartbug.com/21679
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42712 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-08 19:35:52 +00:00
brianwilkerson@google.com dd306dc9eb Enable enum and deferred import support
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42704 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-08 17:51:49 +00:00
danrubel@google.com 8393c92e89 exclude suggestions from other contexts
BUG=dartbug.com/21853
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42668 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-07 17:16:37 +00:00
paulberry@google.com 94993d5cc1 Include required parameter names when completing a method call.
When a method such as "void m(int i, int j)" is completed, instead of
simply inserting "m()", we insert "m(i, j)", we highlight "i", and we
set up linked position groups for "i" and "j" so that the user can
press tab to move from one parameter to the next.

Optional parameters (both named and positional) are not handled by
this logic--the user must still enter them manually.

R=danrubel@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42667 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-07 16:57:39 +00:00
scheglov@google.com 138572182c Getter elements should not have parameters.
R=danrubel@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42617 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-05 23:22:20 +00:00
danrubel@google.com bc9c340ec5 fix local setter suggestions
BUG=
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42599 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-05 17:26:51 +00:00
danrubel@google.com d645d2dce2 fix top level getter suggestions
BUG=
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42597 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-05 15:55:15 +00:00
danrubel@google.com 78a3bfe9c2 refactor/cleanup dart completion cache
BUG=
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42556 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-22 22:09:46 +00:00
paulberry@google.com 6d7155de63 Introduce CompletionTarget to take the place of the Node being completed.
Instead of locating the node containing the cursor offset using a
NodeLocator, identify the edge in the parse tree which will be
displaced or modified by the completion proposal.  This reduces the
number of cases that need to be handled in the _OpTypeAstVisitor, and
avoids the need for the _OpTypeAstVisitor to consider character
offsets in nearly all cases.

R=danrubel@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42543 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-20 15:47:25 +00:00
danrubel@google.com d06e291c52 update completion cache key to include part directives
BUG=
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42542 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-20 05:17:58 +00:00
danrubel@google.com e95dcac840 support part file completions
BUG=
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42541 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-20 05:15:50 +00:00
danrubel@google.com 049adb2777 refactor optype to be computed once per refactoring request
and hide optype computation internals

BUG=
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42412 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-16 22:15:38 +00:00
danrubel@google.com ddc3cae8bd refactor duplicate code into single visitor
BUG=
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42398 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-16 16:53:24 +00:00
danrubel@google.com 438aa447d4 refine when suggestions are limited to types
BUG=dartbug.com/18860
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42366 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-15 17:48:00 +00:00
danrubel@google.com cd4ec28541 fix named constructor completion
BUG=dartbug.com/21799
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42365 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-15 17:16:40 +00:00
danrubel@google.com 7f1ac9a001 include local functions in completion suggestions
BUG=
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42363 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-15 17:11:38 +00:00
paulberry@google.com 0b9ed18603 Allow completions to wait for analysis without requiring a busy wait loop.
Two new methods are added to the AnalysisContext which return
Futures--the futures complete with the result of analysis once it's
available, avoiding the need for a busy wait loop in the completion engine.

The futures are guaranteed to complete eventually (provided that
analysis reaches quiescence).  If it is determined that the requested
analysis will never become available (e.g. because analysis was
requested for a file or file/library combination that is not subject
to analysis), the future will be completed with an
AnalysisNotScheduledError, so that the client isn't stalled forever
waiting for analysis results.

R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42339 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-12 18:22:34 +00:00
danrubel@google.com 45bebf8b76 filter imported element suggestions to reduce number of results sent to client
BUG=
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42289 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-11 17:18:13 +00:00
danrubel@google.com 6995092b9d code completion for dynamic type elements
BUG=
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42261 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-10 19:09:29 +00:00
danrubel@google.com f0bc442ea4 cache suggestions on change in priority sources
BUG=
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42189 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-08 22:00:16 +00:00
danrubel@google.com 8ef4de75cd include lower relevance suggestions only if they are already cached
BUG=
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42172 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-08 18:56:43 +00:00
danrubel@google.com cbbcadc423 remove unused cache arguments
BUG=
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42167 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-08 16:59:02 +00:00
danrubel@google.com 2d6a8357f3 make completion managers responsible for their own caches
- move cache out of CompletionDomainHandler into CompletionManager
- make CompletionManager longer lived
- move context and source fields out of DartCompletionManager and into superclass
- encapsulate information related to a specific request in new CompletionRequest rather than in the manager
- remove request specific information from CompletionManager creation
- use same ContextManager instance for consecutive requests on the same context/source pair

BUG=
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42157 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-07 19:31:59 +00:00
danrubel@google.com be636515be refactor import caching to exclude suggestions for inherited members
BUG=
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41925 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-24 12:28:07 +00:00
danrubel@google.com a714eb2faf cache import suggestions
BUG=
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41865 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-20 19:31:31 +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
danrubel@google.com f60be24eb8 add code completion cache
- generic mechanism for use in a subsequent CL
- minor get_handler import cleanup

BUG=
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41778 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-17 15:13:38 +00:00