Commit Graph

8489 Commits

Author SHA1 Message Date
scheglov@google.com 555401bc13 Add logging to the incremental resolver.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42087 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-03 18:04:37 +00:00
scheglov@google.com 354081528c Update local functions methods/functions.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42078 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-02 23:51:10 +00:00
paulberry@google.com 581996f315 Evaluate annotations using ConstantValueComputer.
This is a step towards fixing bug 15467 (Analyzer does not handle
aliases of @proxy).  It should also help integration between analyzer
and dart2js (since Dart2js will need to know the constant values
associated with annotations).

R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42076 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-02 20:59:13 +00:00
paulberry@google.com b9ee97a93f Rename all_the_rest.dart to all_the_rest_test.dart.
So that it will be run by the buildbots.

Also fix a bug which would have caused the test
'DirectoryBasedDartSdkTest.getSdkVersion' to fail when run by the
buildbots.

R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42068 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-02 16:29:30 +00:00
scheglov@google.com f499514469 Extract DocumentationCommentToken with field.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42056 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-02 01:39:25 +00:00
paulberry@google.com 1bace1461b Respect order dependencies in ImplicitConstructorBuilder.
Since implicit constructors for a mixin application are based on the
constructors of the superclass, we must build implicit constructors
for superclasses before we build them for derived classes.

BUG=dartbug.com/21600
R=brianwilkerson@google.com, scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42052 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-01 22:35:42 +00:00
scheglov@google.com cd3d01103b Updated detached tokens of references in documentation comments.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42050 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-01 22:22:59 +00:00
scheglov@google.com 8d5831b87d Set for all preceding comment tokens.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42046 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-01 16:45:25 +00:00
scheglov@google.com 0bb68fba0a Incremental resolution of updated DartDoc comments.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42045 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-01 16:05:21 +00:00
scheglov@google.com 63b8bba102 A whitespace-only change can be incremental anywhere.
Just one change thought.
Does not work for a formatting causing multiple whitespace changes.

R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42012 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-26 23:26:18 +00:00
scheglov@google.com 05ea658841 Finish parameters matching.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42008 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-26 20:47:29 +00:00
brianwilkerson@google.com ba033a38f9 Fix the code completion timing test
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42007 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-26 20:09:17 +00:00
scheglov@google.com 360a076c94 Fix for incremental resolution of top-level and class-member accessors.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42006 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-26 19:42:45 +00:00
brianwilkerson@google.com 6b244a1856 Fix issue 21426
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42004 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-26 18:28:43 +00:00
paulberry@google.com f9afec6a18 Fix incremental scanner's computation of scanEnd.
Previously, if the last token to be replaced (oldLast) was followed by
a lot of whitespace, we ended the scan at the end of oldLast (adjusted
by delta), which meant that we missed tokens inserted into the
whitespace region.  The correct place to end the scan is at the start
of the first token to be kept (oldRightToken), since that ensures that
we include the whitespace region.

Also, change the expression for scanStart to use oldLeftToken rather
than oldFirst (the two are equivalent) in order to highlight the
symmetry between the expressions for scanStart and scanEnd.

This bug was discovered by the incremental parse stress tester.

R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42002 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-26 16:41:40 +00:00
paulberry@google.com e93f6ff2ea Fix incremental parsing when class name is changed.
This bug was discovered by the incremental parse stress tester.

R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42000 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-26 16:22:00 +00:00
scheglov@google.com 5269d25368 Fix for resolving super.method() invocations.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41998 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-26 15:55:54 +00:00
scheglov@google.com 417c3a125e Incremental improvements in the matcher.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41997 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-26 14:55:37 +00:00
paulberry@google.com a36d6c0a6c Fix incremental parsing of import combinators.
This bug was discovered by the incremental parse stress tester.

R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41993 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-26 14:05:47 +00:00
scheglov@google.com a4737c6027 Try to resolve incrementally whole functions, constructors or methods.
So, for example, not-named parameter rename in a function can be incrementally resolved.

R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41977 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-26 05:11:35 +00:00
paulberry@google.com c5a938fde2 Allow the contents of the analysis cache to be inspected via http debugging.
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41975 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-26 00:51:55 +00:00
scheglov@google.com 709dbe943c Function type aliases matching.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41974 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-25 22:18:20 +00:00
scheglov@google.com 039d975dba Fixes for identifying changed token ranges and updating them.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41972 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-25 21:20:25 +00:00
brianwilkerson@google.com ff7f0f4bd4 Fix for issue 20930
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41970 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-25 20:51:36 +00:00
scheglov@google.com 18ee8a8abf Update errors during incremental resolution.
Update offsets for the existing ones, remove some of them, add new.

R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41966 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-25 18:53:24 +00:00
paulberry@google.com dfbb96a127 Clean up resolution of unlabeled break/continue targets.
Move the tracking of unlabeled break and continue targets from
ResolverVisitor to ScopedVisitor, where it makes more sense, and add a
new ImplicitLabelScope class that encapsulates the logic for it.

R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41965 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-25 18:39:54 +00:00
paulberry@google.com 2eaef9ba80 During resolution, record the target of break/continue statements.
This adds a new "target" field to BreakStatement and ContinueStatement
which points to the AST for the statement that the break/continue is
breaking from or continuing to.  For labeled break and continue
statements, this will always be the statement identified by the label
(not the LabeledStatement itself but its child).  For unlabeled break
and continue statements, this will be the innermost enclosing loop (or
switch statement, for break statements), provided that it is not in an
enclosing function.

R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41961 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-25 17:04:59 +00:00
scheglov@google.com 371e52317a Incremental improvements in parameters and types matching.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41942 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-24 21:11:31 +00:00
danrubel@google.com 369b7f3918 fix broadcast streams
BUG=
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41940 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-24 20:26:59 +00:00
scheglov@google.com 8171f61532 Use a poor man's incremental parser to perform incremental resolution.
Also turns it on in the analysis server.

Limitations:
1. It works only inside a BlockFunctionBody.
2. It does not update errors.
3. Incremental resolution fails to resolve unqualified class member invocations.

But it works in general.
It take 3-4 milliseconds to perform incremental_resolver.dart resolution.
It was multiple seconds before (see my yesterday's log).
So, it is something like 1000 times faster now :-)

And it should be now much faster to fix the limitations :-)

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41937 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-24 18:58:38 +00:00
scheglov@google.com c94412a1b6 Incremental resolution: rename function/constructor/method parameters.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41931 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-24 16:20:15 +00:00
scheglov@google.com d8cf8ac9e4 Matching of top-level functions, methods and accessors.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41930 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-24 16:02:32 +00:00
scheglov@google.com 1f3ab9c5dd Extend resolution Scope with ResolutionContext and set it for ResolverVisitor.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41922 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-23 17:41:12 +00:00
brianwilkerson@google.com cb2fc08695 Resolve not-equals operator
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41920 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-21 21:23:42 +00:00
scheglov@google.com 28a463ba90 Build elements for local variable and label in functions/methods.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41919 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-21 21:13:51 +00:00
scheglov@google.com 28e007b872 Matching for import/export/part directives.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41915 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-21 20:07:39 +00:00
brianwilkerson@google.com 81a2f8406d Stop copying tokens in incremental scanner. Once the incremental parser is no longer using the token map I can remove the tokenMap support.
R=paulberry@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41913 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-21 17:23:14 +00:00
scheglov@google.com 96da96fbc2 Restore (and deprecate) ForEachStatement.iterator getter.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41879 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-21 00:19:17 +00:00
scheglov@google.com cb767886bf Match enums, class type alias, type parameters.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41878 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-21 00:18:14 +00:00
scheglov@google.com 76f1d90e3e Matching fields, some parameters, ignore locals.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41868 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-20 22:08:47 +00:00
paulberry@google.com 8d7842bc3f Incremental parser fix: handle insertion of method parameters.
This bug was discovered by the incremental parse stress tester.

R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41864 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-20 19:22:31 +00:00
scheglov@google.com 3e9a3601a0 Tests for matching constructors.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41863 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-20 19:20:36 +00:00
scheglov@google.com 9feb90faa7 Remove in-bodies analysis from DeclarationMatcher.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41859 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-20 18:29:01 +00:00
scheglov@google.com 6aea1f5970 Update 'nameOffset' for elements during incremental analysis.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41857 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-20 17:56:45 +00:00
brianwilkerson@google.com e6686b2993 Move incremental scanner to separate file
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41856 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-20 17:54:41 +00:00
brianwilkerson@google.com e65d299873 Code clean-up, add utility class for incremental scanning, add tests
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41855 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-20 17:03:27 +00:00
scheglov@google.com a6f842dd9e Drop return types in DeclarationMatcher visitor.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41853 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-20 15:59:46 +00:00
danrubel@google.com 4a50ed6cf8 cleanup hints
BUG=
R=brianwilkerson@google.com, paulberry@google.com, scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41852 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-20 14:03:18 +00:00
scheglov@google.com 81d4af5e07 Tests for matching classes.
Matching type parameters is not implemeneted yet.

R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41841 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-20 05:27:54 +00:00
scheglov@google.com a663c547d4 Improvements and tests for top-level variables matching.
It is OK to reorder them.
But it is not OK to change number of them or their types.

R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@41839 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-19 19:31:16 +00:00