Commit Graph

621 Commits

Author SHA1 Message Date
Brian Wilkerson a8dc041543 Capture the request time for performance data and support forced shutdown
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2893803004 .
2017-05-19 08:49:47 -07:00
Brian Wilkerson 7e11a13cf5 Add requestTime to responses
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2890163004 .
2017-05-18 10:32:47 -07:00
Brian Wilkerson 091752f158 Register files with new drivers (issue 29641)
Review-Url: https://codereview.chromium.org/2886343002 .
2017-05-18 07:43:47 -07:00
Brian Wilkerson daffcecc11 Pass the sdk path to plugins
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2885993004 .
2017-05-17 08:19:49 -07:00
Brian Wilkerson 7d26ff6d4f Remove some more library directives
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2884233004 .
2017-05-17 08:02:08 -07:00
Brian Wilkerson 4c487c806b Minor cleanup of error reporting in plugins
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2887453004 .
2017-05-15 16:48:23 -07:00
Brian Wilkerson e2ebf96aea Stop sharing two types between wire protocols
R=danrubel@google.com

Review-Url: https://codereview.chromium.org/2883793002 .
2017-05-15 07:57:27 -07:00
Brian Wilkerson 3085734ef6 Generate common types into a separate library
R=danrubel@google.com

Review-Url: https://codereview.chromium.org/2880443006 .
2017-05-13 08:12:14 -07:00
Paul Berry f4d3f6cf45 Remove .iml files from the repository.
These files weren't providing enough benefit compared to the confusion
they were causing by showing up frequently in diffs.

R=brianwilkerson@google.com, scheglov@google.com

Review-Url: https://codereview.chromium.org/2878103002 .
2017-05-12 15:06:18 -07:00
Konstantin Shcheglov a4fd5d814f Extract PerformanceLogger from AnalysisDriver.
I also added the runAsync().

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

Review-Url: https://codereview.chromium.org/2883633002 .
2017-05-12 14:27:50 -07:00
Paul Berry b5bc14c0b4 Begin writing a TypeInferenceListener interface.
In the long term, this is intended to be used to communicate the
results of type inference from the front_end to analyzer.  In the
short term, it can be used to debug type inference (by uncommenting
the print statements in type_inference_listener.dart).

R=scheglov@google.com, sigmund@google.com

Review-Url: https://codereview.chromium.org/2878733006 .
2017-05-12 13:31:26 -07:00
Brian Wilkerson 2cbcd96327 Allow the common spec types to be in a separate document
R=danrubel@google.com

Review-Url: https://codereview.chromium.org/2876023003 .
2017-05-12 12:24:05 -07:00
Konstantin Shcheglov bdedd6768b Add a way to use shared CanonicalName root to deserialize Program.
This allows for example to add SDK into a Program, then load the
"incomplete" Program A that has only the library A, and name sequences
that references SDK classes. Because we look into the nameRoot which
aleady has SDK CanonicalName(s), we can find these names while filling
the link table and use references which point to the existing SDK
AST nodes.  Then we can load another set of library cycles, etc.

At the end we have a set of self-consistent libraries that we can
feed into DillTarget/DillLoader and resolve anothersource target
against it.

This CL is based on https://codereview.chromium.org/2872903005/
which has not been reviewed yet.

R=kmillikin@google.com, paulberry@google.com, sigmund@google.com
BUG=

Review-Url: https://codereview.chromium.org/2874723002 .
2017-05-12 10:42:08 -07:00
Brian Wilkerson bef53e72e4 Remove unintentional dependency on analysis_server
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2875323002 .
2017-05-12 10:07:37 -07:00
Mike Fairhurst e9edd2e568 Fix pubspecs for new analyzer plugin arch dependencies
BUG=
R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2877863002 .
2017-05-11 14:37:46 -07:00
Brian Wilkerson 80eec49e40 Make the plugin request handling async
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2877793002 .
2017-05-11 09:07:06 -07:00
Brian Wilkerson 3b2c3ae5b2 Add support for built-in plugins
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2874803003 .
2017-05-10 13:31:20 -07:00
Brian Wilkerson 68b6f9b90d Fix bot failures (TBR)
Review-Url: https://codereview.chromium.org/2869193002 .
2017-05-09 13:51:54 -07:00
Brian Wilkerson 1f893e86a9 Clean up some warnings
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2874443003 .
2017-05-09 13:07:06 -07:00
Brian Wilkerson a70e29ac60 Add support for converting elements to plugin API objects
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2873503007 .
2017-05-09 13:02:31 -07:00
Brian Wilkerson 98e8f17b96 Convert server to use RangeFactory
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2869083002 .
2017-05-09 10:08:14 -07:00
Konstantin Shcheglov bd1ee32543 Move [file_]byte_store.dart into pkg/front_end/test/src/incremental/.
We are going to reuse ByteStore in front_end, also for incremental
compilation.

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

Review-Url: https://codereview.chromium.org/2869803004 .
2017-05-09 09:12:15 -07:00
Brian Wilkerson acbd90b35d Fix tests under Windows (TBR)
Review-Url: https://codereview.chromium.org/2871933003 .
2017-05-09 08:56:20 -07:00
Brian Wilkerson bbb37dae8b Add support for creating source ranges
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2872813002 .
2017-05-09 08:28:09 -07:00
Paul Berry 4eee6cb5ea Fix constructor invocation type inference.
Three problems are fixed:

- I forgot to pass the `downwards` flag when doing downwards inference.

- I forgot to initialize the `formalTypes` and `actualTypes` arrays.

- I wasn't tracking whether constructor type arguments were implicit
  or explicit, so constructor type inference wasn't actually
  happening.

R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2864853002 .
2017-05-08 14:41:56 -07:00
Brian Wilkerson f05ecff43d Add more conversion utilities
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2867163002 .
2017-05-08 13:40:58 -07:00
Brian Wilkerson 9ca84e15f4 Improve default support provided for plugins
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2861373005 .
2017-05-08 10:01:35 -07:00
Konstantin Shcheglov cc91d04514 Use FileSystem to read files in SourceLoader and TranslateUri.
This is a prerequisite for writing fast unit tests, as I would like
to do while working on the incremental kernel driver.

R=ahe@google.com, paulberry@google.com, sigmund@google.com
BUG=

Review-Url: https://codereview.chromium.org/2865843002 .
2017-05-06 13:09:28 -07:00
P.Y. Laligand 21e9c40b8f Disable analysis on a few packages. (#29571) 2017-05-05 22:06:00 -07:00
Brian Wilkerson c1c17946fe Missed one path when fixing Window bots (TBR)
Review-Url: https://codereview.chromium.org/2862973003 .
2017-05-05 09:33:34 -07:00
Brian Wilkerson eecb358dd4 Attempt to fix failures on Windows bots (TBR)
Review-Url: https://codereview.chromium.org/2864653002 .
2017-05-05 08:53:00 -07:00
Brian Wilkerson 6c2023bd07 Move ChangeBuilder to analyzer_plugin
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2860383002 .
2017-05-05 07:52:27 -07:00
Paul Berry de32b9a32a Hook up full list literal type inference logic.
AFAIK this is the full algorithm for list literal inference.  But some
list literal tests still don't pass.  I will investigate and fix in
future CLs.

R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2863733003 .
2017-05-05 04:23:39 -07:00
Paul Berry 28f277a7e2 Implement inferTypeFromConstraints in front_end.
This is an intermediate algorithm used in type inference.  It
corresponds to the method _GenericInferrer.infer() in analyzer.

R=jmesserly@google.com, scheglov@google.com

Note: error reporting will be added in a follow-up CL.
Review-Url: https://codereview.chromium.org/2863823002 .
2017-05-04 16:32:32 -07:00
Konstantin Shcheglov f7c8c7e3ef Infer AsExpression types.
R=paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2862043002 .
2017-05-04 13:27:47 -07:00
Paul Berry 932a749bbc Begin implementing subtype matching for type inference.
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2856383003 .
2017-05-04 08:40:45 -07:00
Brian Wilkerson 84ca84b1a7 Implement more of the behavior of a plugin; refactor some API
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2857233002 .
2017-05-03 12:48:39 -07:00
Brian Wilkerson 9eee213363 Fix bugs found while working on tests
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2849253002 .
2017-05-02 06:15:25 -07:00
danrubel c8784af933 rename .analysis_options --> analysis_options.yaml
See https://github.com/dart-lang/sdk/issues/28385

R=brianwilkerson@google.com, vsm@google.com

Review-Url: https://codereview.chromium.org/2839383003 .
2017-04-30 18:33:10 -04:00
Brian Wilkerson 91fede471f Re-organize and comment clean-up
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2846963004 .
2017-04-28 09:09:59 -07:00
Brian Wilkerson e55812a3f2 Unify the server and plugin versions of the generators
R=devoncarew@google.com

Review-Url: https://codereview.chromium.org/2844273003 .
2017-04-28 07:46:29 -07:00
Devon Carew eb1839b8fd Minor changes to the generated spec, and display deprecated methods better.
BUG=
R=brianwilkerson@google.com, scheglov@google.com

Review-Url: https://codereview.chromium.org/2800283002 .
2017-04-15 13:43:36 -07:00
Brian Wilkerson 385cbc3839 Apply changes made to server spec generator
R=messick@google.com

Review-Url: https://codereview.chromium.org/2787703003 .
2017-03-30 10:04:40 -07:00
Brian Wilkerson d3c926b089 Fix errors in analyzer
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2772473004 .
2017-03-23 11:26:49 -07:00
Devon Carew f486a21d8f Run dartfmt on additional generated files.
BUG=

Review-Url: https://codereview.chromium.org/2762413002 .
2017-03-21 16:23:43 -07:00
Devon Carew a231501692 Format generated files.
BUG=
R=brianwilkerson@google.com, jacobr@google.com

Review-Url: https://codereview.chromium.org/2765953002 .
2017-03-21 15:54:16 -07:00
Jacob Richman 3688edaa17 Roll back two files that shouldn't have had dartfmt run.
BUG=

Review-Url: https://codereview.chromium.org/2757753003 .
2017-03-16 16:56:20 -07:00
Jacob Richman a993294503 Format all analyzer packages
BUG=
R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2753923003 .
2017-03-16 16:11:43 -07:00
Paul Berry c78b4d66bb Move some of analyzer's code generation utilities into front_end.
These utilities are needed for generating the code that supports
summaries; in order to move summary logic into front_end, we will need
these code generation tools in front_end as well.

Also make a minor change to summary code generation logic so that it
talks to the file system directly rather than depending on analyzer's
file system abstraction.

R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2742333005 .
2017-03-14 12:30:18 -07:00
Brian Wilkerson 27338f8d20 Missed clean-up from the last CL
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2748663003 .
2017-03-13 11:31:17 -07:00