Commit Graph

7128 Commits

Author SHA1 Message Date
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
scheglov@google.com 4fe7a9dd3e Remove Angular support from the analyzer and analysis_server packages.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42697 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-08 16:04:17 +00:00
brianwilkerson@google.com 54df418597 Enable async support
R=danrubel@google.com, scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42666 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-07 16:51:14 +00:00
scheglov@google.com 030594b353 Disable type propagation for class/top-level fields.
It was added initially in https://codereview.chromium.org/300033008/

R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42647 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-06 22:13:55 +00:00
scheglov@google.com 07ff6d4a45 Move incremental resolution validator into the analysis engine.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42642 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-06 19:05:27 +00:00
scheglov@google.com b2835b572b Tweak for escaping in instrumentation.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42637 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-06 17:16:07 +00:00
brianwilkerson@google.com fa896352ca Escape field separator
R=danrubel@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42634 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-06 15:37:20 +00:00
scheglov@google.com e83d560f8d Issue 21842. Fix for incremental resolution of function expressions in top-level variables.
R=brianwilkerson@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=21842

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42600 260f80e4-7a28-3924-810f-c04153c831b5
2015-01-05 17:32:01 +00:00
scheglov@google.com 232504e215 Incrementally resolve users of a changed method.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42515 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-19 17:42:12 +00:00
paulberry@google.com 2546490ed5 Ensure that AnalysisContext futures are completed when context disposed.
It's possible for the analysis server to create or destroy contexts in
the background while the user is working (as a result of changes on
the filesystem).  This ensures that if any code completions are
waiting for analysis when that happens, they are aborted.

R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42416 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-16 23:41:56 +00:00
paulberry@google.com 3448724d3a Improve nomenclature of new AnalysisContext async method.
R=danrubel@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42404 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-16 18:05:02 +00:00
scheglov@google.com bc3d00456b Issue 21886. Make enums available outside of the defining library.
R=brianwilkerson@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=21886

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42403 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-16 17:33:13 +00:00
brianwilkerson@google.com cbe501644b Fix for issue 21771
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42402 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-16 17:27:09 +00:00
paulberry@google.com d2f11b6c44 Make futures returned by AnalysisContext cancelable.
R=brianwilkerson@google.com, danrubel@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42400 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-16 17:01:22 +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
scheglov@google.com 085afe65ee Issue 21850. Fix for incremental resolving field formal parameters.
R=brianwilkerson@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=21850

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42325 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-12 16:42:43 +00:00
scheglov@google.com 958a1338e1 Issue 21842. Fix incremental resolving of parameters of function typed parameters.
R=paulberry@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=21842

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42277 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-11 05:21:05 +00:00
brianwilkerson@google.com f58bf4dbc9 Remove old instrumentation
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42267 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-10 21:53:08 +00:00
jwren@google.com c82b826af1 New getter: FieldElement.isEnumConstant (Dart version of source)
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42249 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-10 16:20:49 +00:00
paulberry@google.com 7cd5226565 Annotate remaining analyzer/analysis server tests with "@ReflectiveTestCase()"
In r42181, I failed to notice the need to annotate these tests because
they aren't currently being run under dart2js (most likely due to
slowness).  I've modified runReflectiveTests() to check for the
presence of the annotation before running the tests, in order to
ensure that all the classes are properly annotated now, and so that we
won't forget to add annotations in the future.

R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42185 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-08 21:35:52 +00:00
paulberry@google.com 280657737f Annotate analyzer tests with @ReflectiveTestCase().
Fixes analyzer tests when run under dart2js.

R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42181 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-08 21:00:51 +00:00
paulberry@google.com a97ad9a625 Handle "fail_" style tests in reflective tests.
There is one corner case we don't handle--we don't catch the case
where the test is expected to fail, but the failure comes from an
asynchronous callback invoked via expectAsync().  Fortunately
expectAsync() is rare enough that this doesn't cause a problem with
any of our existing "fail_" style tests.

R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42180 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-08 20:33:18 +00:00
brianwilkerson@google.com 59f66641c8 Partial fix for issue 1934
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42155 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-06 01:04:23 +00:00
brianwilkerson@google.com e15eff9ed2 Fix for issue 3001
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42154 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-06 01:00:11 +00:00
scheglov@google.com 71bb5315f7 First step to resolving simple API changes.
Limitations:

1. Errors are not updated.

2. Classes are not resolved when it might be required.

3. Just method invocations, and just static elements.

R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42153 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-05 23:48:32 +00:00
brianwilkerson@google.com 7e19f48c13 Fix for issue 4070
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42143 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-05 20:09:58 +00:00
scheglov@google.com a7d32f9212 Consider adding/editing a method as a resolvable mismatch.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42142 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-05 19:46:11 +00:00
brianwilkerson@google.com 625b422a82 Fix for issue 4482
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42136 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-05 18:12:19 +00:00
scheglov@google.com a6123dccea Always build elements, then match and restore if matches.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42135 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-05 18:12:07 +00:00
scheglov@google.com 5858d6558e When the same contents is set for a source, we still need to reset its modification time.
Otherwise quick add/remove a character causes non-incremental resolution.

R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42120 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-04 22:31:02 +00:00
scheglov@google.com 5278fa209a Replace hints. Resolve TODO.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42110 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-04 16:21:57 +00:00
brianwilkerson@google.com 6b378d5007 Fix for issue 18244
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42097 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-04 00:48:11 +00:00
scheglov@google.com 784058d8a2 Don't throw an exception when model is changed.
I don't add much information, just 'return false;' is enough.

R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42094 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-03 23:21:25 +00:00
scheglov@google.com 05e842e503 Rework the whitespace/comment change detection.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42093 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-03 22:48:27 +00:00
brianwilkerson@google.com 3696e4601d Fix for issue 18598
R=scheglov@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42091 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-03 20:07:29 +00:00
scheglov@google.com c4818d34c4 More work on logging - new classes and timers.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42090 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-03 19:47:06 +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 03346f100e Keep full test_ method names in reflective tests.
If found that when a test fails, need to copy its name, open outline,
don't forget to type * (i.e. Shift+8) and then paste the name.

It would be easier to have full names ready to copy.

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

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42067 260f80e4-7a28-3924-810f-c04153c831b5
2014-12-02 15:22:41 +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 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
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 f822139cc5 Add incremental parser test for splitting a combinator.
R=brianwilkerson@google.com

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@42001 260f80e4-7a28-3924-810f-c04153c831b5
2014-11-26 16:28:30 +00:00