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