Commit Graph

62 Commits

Author SHA1 Message Date
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
scheglov@google.com 695b438019 Task: Resolve References.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44720 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-26 19:28:28 +00:00
scheglov@google.com 4b418376fe BuildLibraryConstructorsTask to build all constructors of all library classes.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44701 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-25 21:59:58 +00:00
scheglov@google.com c37839bab1 Extract _ListTaskInputMixin and allow chaining.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44698 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-25 21:23:22 +00:00
scheglov@google.com 247b3edb06 Add toMap / toMapOf / toList
Rename 'inputOf' to 'of'.

R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44690 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-25 17:54:17 +00:00
scheglov@google.com 3d8bd5fcb6 Add UNITS and CLASS_ELEMENTS results.
R=paulberry@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44673 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-24 18:47:22 +00:00
scheglov@google.com 5c9110841e Fix hints in the analyzer package.
R=brianwilkerson@google.com
BUG=

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

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@44639 260f80e4-7a28-3924-810f-c04153c831b5
2015-03-23 17:34:00 +00:00