Brian Wilkerson
166f23e13f
Code clean-up
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org/1907323002 .
2016-04-22 09:05:01 -07:00
Brian Wilkerson
bf1fa31c90
Make analyzer more strong mode compliant
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org/1897713002 .
2016-04-16 12:28:44 -07:00
Brian Wilkerson
6dae827b70
More strong mode fixes for analyzer
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org/1842363004 .
2016-04-01 09:35:22 -07:00
Brian Wilkerson
5309d86424
First batch of changes to make analyzer package strong mode error free
...
Review URL: https://codereview.chromium.org/1808123005 .
2016-03-18 07:47:58 -07:00
Brian Wilkerson
bfacd1878c
Tolerate SDKs that do not include dart:async (issue 25520)
...
R=danrubel@google.com
Review URL: https://codereview.chromium.org/1715563002 .
2016-02-19 07:45:54 -08:00
Brian Wilkerson
71e7ed86c0
Move scanner out of generated and clean up imports
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org/1693083004 .
2016-02-14 07:48:44 -08:00
Brian Wilkerson
a1feb55137
Replace isAppropriateFor with suitabilityFor and start using it
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org/1645643002 .
2016-01-27 09:26:13 -08:00
Brian Wilkerson
5a07d5c559
Add support for tasks to determine whether they are appropriate for a given target
...
R=paulberry@google.com , scheglov@google.com
Review URL: https://codereview.chromium.org/1633823002 .
2016-01-25 12:28:41 -08:00
Brian Wilkerson
032aa11711
Add minimal yaml support to the engine
...
R=paulberry@google.com , scheglov@google.com
Review URL: https://codereview.chromium.org/1622313003 .
2016-01-25 09:00:56 -08:00
Brian Wilkerson
21ecb14548
Clean-up imports
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org/1602803002 .
2016-01-18 15:42:16 -08:00
Brian Wilkerson
2a190aa11a
Fix imports within the analyzer package
...
R=paulberry@google.com , scheglov@google.com
Review URL: https://codereview.chromium.org/1524893002 .
2015-12-14 12:25:41 -08:00
Konstantin Shcheglov
2f0f398c73
Fix lints: unnecessary_brace_in_string_interp
...
Also fixes two cases of empty_constructor_bodies.
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org/1521883002 .
2015-12-13 13:05:00 -08:00
Brian Wilkerson
1a5a9a7247
Clean up syntax in generic method comments
...
R=jmesserly@google.com
Review URL: https://codereview.chromium.org/1515533004 .
2015-12-10 10:19:15 -08:00
Brian Wilkerson
86216e5154
Consistently use implements when one interface inherits from another interface
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org/1481273002 .
2015-11-30 07:58:10 -08:00
Konstantin Shcheglov
5b61845221
Send any logError() information to the IDE.
...
I have not seen any errors sent so far after several minutes of playing with it.
Adding and removing files does not cause any errors.
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org/1432423004 .
2015-11-12 08:16:24 -08:00
Konstantin Shcheglov
c43f292dd9
Remove IMPORT_EXPORT_SOURCE_CLOSURE and IS_CLIENT results.
...
This improves warm VM analysis time (i.e. 99% of all analyzis that happens in IDEs) from 7200 ms to 6600 ms.
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org/1417143003 .
2015-10-24 08:35:26 -07:00
pq
d12abed5d7
Last performed task diagnostics.
...
Adds a new block of status that reports the last 10 performed tasks.
For example:
<p>Recent Tasks</p>
GatherUsedLocalElementsTask for source /Users/pquitslund/src/git/clones/analyzer_cli/test/mocks.dart
GatherUsedImportedElementsTask for source /Users/pquitslund/src/git/clones/analyzer_cli/test/mocks.dart
GenerateHintsTask for source /Users/pquitslund/src/git/clones/analyzer_cli/test/mocks.dart
GenerateLintsTask for source /Users/pquitslund/src/git/clones/analyzer_cli/test/mocks.dart
VerifyUnitTask for source /Users/pquitslund/src/git/clones/analyzer_cli/test/mocks.dart
LibraryUnitErrorsTask for source /Users/pquitslund/src/git/clones/analyzer_cli/test/mocks.dart
DartErrorsTask for source /Users/pquitslund/src/git/clones/analyzer_cli/test/mocks.dart
LibraryErrorsReadyTask for source /Users/pquitslund/src/git/clones/analyzer_cli/test/mocks.dart
GetContentTask for source /Users/pquitslund/src/git/clones/analyzer_cli/.analysis_options
GenerateOptionsErrorsTask for source /Users/pquitslund/src/git/clones/analyzer_cli/.analysis_options
R=brianwilkerson@google.com , keertip@google.com
Review URL: https://codereview.chromium.org/1420783004 .
2015-10-23 10:31:26 -07:00
Konstantin Shcheglov
f09778528a
Use LIBRARY_SPECIFIC_UNITS instead of UNITS.
...
This reduces number of LibrarySpecificUnit instances from 10,000,000 to about 6,000.
Also this slightly improves the code of corresponding 'buildInputs' methods.
This saves some memory, but unfortunately does not win any performance.
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org/1422793002 .
2015-10-23 08:31:59 -07:00
Leaf Petersen
10915a849b
Library Cycle invalidation. Library cycle information on the element model was not being correctly invalidated on incremental updates to source files, since the appropriate dependencies cannot be surfaced in the task model directly. This CL adds logic to conservatively invalidate the element model information as needed.
...
BUG=
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org/1413273002 .
2015-10-19 17:08:07 -07:00
Brian Wilkerson
27eb09033f
Clean up wording of client usage expectations
...
R=paulberry@google.com
Review URL: https://codereview.chromium.org/1409353002 .
2015-10-19 07:46:49 -07:00
Brian Wilkerson
66a122a9db
Stop defensively copying AST structures before resolution
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org/1383043002 .
2015-10-02 12:38:18 -07:00
Konstantin Shcheglov
ff95a65900
Reset AnalysisDriver on priority sources changes.
...
It turned out that our WorkManager(s) don't have the problem we discussed.
We remove targeted results from queues only when they are VALID or ERROR.
So, reset is safe to do.
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//1350993002 .
2015-09-17 07:57:51 -07:00
Brian Wilkerson
24b24a3569
Reformat code to reduce churn
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org//1322513004 .
2015-09-09 08:19:41 -07:00
Konstantin Shcheglov
597f189eb4
Extension point for WorkManagerFactory(s).
...
I'm not quite happy that internal classes get into the extension point declaration.
But I guess that because of the nature of the work WorkManager(s) are doing, we have to have significant exposure to internals.
Also, onAnalysisOptionsChanged() and onSourceFactoryChanged()... these probably are better to implement as streams in InternalAnalysisContext.
Thoughts?
R=brianwilkerson@google.com , paulberry@google.com
BUG=
Review URL: https://codereview.chromium.org//1311773005 .
2015-08-26 09:45:19 -07:00
Brian Wilkerson
cb8b774fef
Re-enable and add new HTML support
...
R=paulberry@google.com
Review URL: https://codereview.chromium.org//1182303006 .
2015-06-16 09:52:18 -07:00
Brian Wilkerson
585402d77f
Attempt to fix the build by backing out HTML support
...
Review URL: https://codereview.chromium.org//1177983003 .
2015-06-11 14:44:00 -07:00
Brian Wilkerson
980978c967
Support for parsing HTML in the new task model
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org//1185443002 .
2015-06-11 13:24:20 -07:00
Brian Wilkerson
db0b64475d
Include more errors when computing complete list
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org//1171893007 .
2015-06-09 13:14:17 -07:00
Brian Wilkerson
2980c8839d
Improve logging performance
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org//1152923002
2015-05-23 09:14:31 -07:00
Paul Berry
a9982b0e02
Properly handle circular references among constants in the task model.
...
Tasks may now override the getter "handlesDependencyCycles" to return
true to indicate that they can deal with circular dependencies. Most
tasks will not have to do this, since outside of constant evaluation
circular dependencies among tasks should only be possible due to an
analyzer bug.
Any task that handles dependency cycles can detect that a cycle has
occurred by consulting AnalysisTask.dependencyCycle inside its
internalPerform() method. The ComputeConstantValueTask uses this to
determine which constants are involved in the cycle.
This required modifying the TaskInputBuilder classes so that if the
current input can't be evaluated due to a circularity, they can
continue on to evaluate other inputs. This allows the circularity to
be reported on the whole strongly connected component, rather than
just the firs cycle that was noticed (which would be
nondeterministic).
R=brianwilkerson@google.com , scheglov@google.com
Review URL: https://codereview.chromium.org//1147853002
2015-05-19 12:43:28 -07:00
paulberry@google.com
13af577c37
Rename CONSTANT_RESOLVED_UNIT to RESOLVED_UNIT.
...
And move the old RESOLVED_UNIT out of the public API and rename it to
RESOLVED_UNIT6.
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org//1138853002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45777 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-13 20:41:10 +00:00
paulberry@google.com
130376558f
Add a task for computing all constant values in a compilation unit.
...
R=brianwilkerson@google.com , scheglov@google.com
Review URL: https://codereview.chromium.org//1137873003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45719 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-11 22:18:02 +00:00
brianwilkerson@google.com
d14e5042bb
Removed CLASS_ELEMENTS from BuildCompilationUnitElementTask and cleaned up comments
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org//1139473003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45661 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 21:39:59 +00:00
paulberry@google.com
8dcf63f9b1
Move CONSTANT_DEPENDENCIES out of the analyzer public API.
...
Exposing this through the public API was a mistake. There is no
reason why clients (or plug-ins) should need to access this
intermediate result directly.
R=brianwilkerson@google.com
Review URL: https://codereview.chromium.org//1127423005
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45653 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 20:07:33 +00:00
scheglov@google.com
2d41ec2079
Remove memento.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//1132103002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45645 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 15:11:47 +00:00
paulberry@google.com
728e9b3a9e
Create a task in the new task model to compute constant dependencies.
...
This is the first of several planned tasks for constant evaluation.
R=brianwilkerson@google.com , scheglov@google.com
Review URL: https://codereview.chromium.org//1131953004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45624 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-08 00:36:45 +00:00
brianwilkerson@google.com
9414515ba7
Remove CompositeResultDescriptor
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org//1136603002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45613 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 20:00:49 +00:00
brianwilkerson@google.com
965ac274f6
Clean-up result descriptors
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org//1131983002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45607 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 19:10:14 +00:00
brianwilkerson@google.com
e8c5b87478
Get computeError working
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org//1130763003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45604 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 18:30:40 +00:00
scheglov@google.com
a3366361de
Cache flushing implementation for the task model.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//1133513003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45597 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-07 15:50:13 +00:00
brianwilkerson@google.com
1124eaacd8
Rename EMPTY_ARRAY to EMPTY_LIST
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org//1127183003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45579 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-06 23:47:59 +00:00
brianwilkerson@google.com
0305ce28e1
Compute explicit imports
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org//1124923002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45531 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-05 17:09:42 +00:00
scheglov@google.com
e54d46d2d8
Get memento objects from tasks, remember in cache and pass back to tasks.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//1120313004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45496 260f80e4-7a28-3924-810f-c04153c831b5
2015-05-04 17:13:31 +00:00
brianwilkerson@google.com
d1d92d63fc
Bug fixes and clean-up
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org//1096613004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45244 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-17 17:03:01 +00:00
scheglov@google.com
1ea1b3ac49
Move LibraryUnitTarget into API.
...
We need this Target to use it in the Angular plugin.
Also increment version with the goal to publish the analyzer package and use in the Angular plugin.
R=brianwilkerson@google.com , paulberry@google.com
BUG=
Review URL: https://codereview.chromium.org//1082913007
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@45192 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-16 00:06:20 +00:00
scheglov@google.com
2224bd0860
Compute IS_CLIENT result.
...
It is easy now with import source closure.
So, we can remove the temporary HAS_HTML_IMPORT result.
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//1051023004
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44919 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-06 17:31:56 +00:00
brianwilkerson@google.com
fb97a93f6b
Add missing results needed to convert AnalysisContext to the new task model
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org//1059753002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44890 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-03 20:56:35 +00:00
scheglov@google.com
a707ae2282
Resolve type hierarchies for all units of the library's import closure.
...
R=brianwilkerson@google.com
BUG=
Review URL: https://codereview.chromium.org//1052053002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44846 260f80e4-7a28-3924-810f-c04153c831b5
2015-04-01 22:18:32 +00:00
scheglov@google.com
281f305c90
Issue 22521. Drop '_J2DAccessor' suffixes.
...
R=brianwilkerson@google.com
BUG= https://code.google.com/p/dart/issues/detail?id=22521
Review URL: https://codereview.chromium.org//1042453003
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44745 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-27 16:55:52 +00:00
brianwilkerson@google.com
8982110eaf
Make some results private
...
R=scheglov@google.com
Review URL: https://codereview.chromium.org//1034423002
git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44738 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-27 15:37:01 +00:00