Commit Graph

63 Commits

Author SHA1 Message Date
Devon Carew 2f3e5e51d6 rev to 0.1.11 2015-11-12 23:23:03 -08:00
Devon Carew 097a0234ee 0.1.10 2015-10-29 06:53:49 -07:00
Vijay Menon ab19094dc8 Remove the checker and corresponding dead code
This is all logic now in the analyzer.

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1406983003 .
2015-10-19 14:38:17 -07:00
Devon Carew 7d641d0743 Update version and analysis_options.
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1399193002 .
2015-10-12 18:55:52 -07:00
Vijay Menon 2c2a80e587 Update to 0.1.8
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1355043003 .
2015-09-21 15:51:35 -07:00
Devon Carew 318584b4ba add a --version option 2015-09-18 21:39:31 -07:00
Devon Carew 5baea1b7e7 make dev_compiler slightly happier with dartdoc 2015-09-16 18:03:52 -07:00
John Messerly 60aba749ca fixes #219, able to compile multiple entry points
also speeds up codegen_test by reusing the analysis context
BatchCompiler is pretty close to how analyzer_cli works now (other than missing features)

R=vsm@google.com

Review URL: https://codereview.chromium.org/1235503010.
2015-07-16 17:41:33 -07:00
John Messerly b1e92bfcaf simplify computing of runtime file location
R=vsm@google.com

Review URL: https://codereview.chromium.org/1223113005.
2015-07-15 09:58:26 -07:00
John Messerly bc4e0f2a38 fixes #6, refactor to use AnalysisError/Listener throughout dev_compiler
Main goal here was to get rid of the enter/exit compilation unit tracking, to allow further Compiler/Server refactoring. We can get the Uri/LineInfo/contents off Source, which AnalysisError already has
SummaryReporter is now fairly generic.

TODOs for the future:
* figure out what to do about ErrorCodes, in particular dev_compiler prefix feels off.
* skip the intermediate StaticInfo types? They're really just builders now for AnalysisError.
* don't classify all existing messages as "AnalyzerError" ... just print them ...
* skip logger. For our command line program, stdout is part of its "API", IMO it shouldn't use logging for those messages. Consider Pub, which uses stdout/err for its messages, and uses logging for more detailed troubleshooting.

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

Review URL: https://codereview.chromium.org/1230903002.
2015-07-10 10:15:08 -07:00
John Messerly b769aa5fbc fixes #25, most analyzer errors were not computed
It helps to call computeErrors ;)

R=vsm@google.com

Review URL: https://codereview.chromium.org/1183733004.
2015-06-15 08:55:59 -07:00
John Messerly 8f4db8f514 expose strong checker API, for use by analyzer_cli
most of the changes here are around making options sane(r), which fixes #204

R=vsm@google.com

Review URL: https://codereview.chromium.org/1174643003.
2015-06-11 07:47:12 -07:00
John Messerly c7b3846d8e fixes detection of SDK libraries
R=vsm@google.com

Review URL: https://codereview.chromium.org/1170813008.
2015-06-10 09:59:18 -07:00
Vijay Menon 4aaeaf6125 Remove dart backend
Fixes #205

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

Review URL: https://codereview.chromium.org/1148283010
2015-06-03 14:01:28 -07:00
John Messerly 918ee6636d fixes #187, implicit html, as well as server messages not printing
R=vsm@google.com

Review URL: https://codereview.chromium.org/1136293005
2015-05-19 13:44:31 -07:00
John Messerly 01d39ba3f2 cleanup: simplify creation of AnalysisContext
removes TypeResolver class, introduces function to create analysis context, simplifies a few other things around mock vs real SDK sources.

R=vsm@google.com

Review URL: https://codereview.chromium.org/1143683002
2015-05-18 10:20:29 -07:00
John Messerly f728691ac8 Fixes #179 -- compile error if editing files during server mode
this avoids reloading file contents many times during a compile. `.contents.data` == bad!
also fixes #73, using Analyzer's LineInfo instead of FileSpan to avoid finding line breaks over and over
I did some manual testing on sunflower as well as diffing SDK messages before and after

The one baseline change (23 -> 22) seems more accurate than it was before.

R=vsm@google.com

Review URL: https://codereview.chromium.org/1141013002
2015-05-14 16:42:33 -07:00
Vijay Menon 2749eaa496 Summarize only per logging level
This prunes out INFO messages by default - they end up being a substantial chunk of the payload in server mode.  You can still serve them up by passing '-l ALL' or '-l INFO'.

R=leafp@google.com

Review URL: https://codereview.chromium.org/1126243004
2015-05-14 10:46:35 -07:00
Vijay Menon b013a71e30 Create html if needed in server mode
This allows just serving up a dart file:

dart ./bin/devc.dart --server foo.dart

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1130093007
2015-05-14 09:26:19 -07:00
Sigmund Cherem dfdaff85bb Load time improvements (fixes #140):
- move hash to a query parameter (it works!)
- do widget request later, let app render/loading in case the request is fast
enough.

R=vsm@google.com

Review URL: https://codereview.chromium.org/1131933003
2015-05-12 16:53:32 -07:00
Vijay Menon b5e4a91941 Add flag to disable hashing
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1088703003
2015-04-21 14:52:04 -07:00
Sigmund Cherem fc141ad405 Show message that server is running when it really is
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1088603002
2015-04-13 11:14:02 -07:00
Leaf Petersen 033ab827dc Factor out reporting from rules
This changes the RestrictedTypeRules to eliminate a direct dependency on CheckerReporter.  Instead of logging a missing type error with the reporter directly, it now calls an optional callback.  The Checker registers an appropriate callback for its errors.  Currently the code generators don't log these errors.  This eliminates the dependency of the code generators on the checker reporter.

BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/1067553004
2015-04-07 09:58:14 -07:00
John Messerly c587869d1d bind to localhost instead of all interfaces, and fix closureWrap
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1022923005
2015-03-20 09:19:10 -07:00
Sigmund Cherem 1b23c0ecb2 Copy resources refered to in the HTML to the output folder
R=vsm@google.com

Review URL: https://codereview.chromium.org/1014173002
2015-03-17 18:54:48 -07:00
Sigmund Cherem c2d0c1b8b9 locating runtime files automatically (fixes #96)
R=vsm@google.com

Review URL: https://codereview.chromium.org/1013363002
2015-03-17 18:52:24 -07:00
John Messerly 07feeb3119 js: fix core.Object, output order, static const fields
These are a few fixes trying to get the compiled SDK to load

R=vsm@google.com

Review URL: https://codereview.chromium.org/1011153002
2015-03-17 13:11:34 -07:00
John Messerly 212b217506 server: create output directory if needed
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1001503003
2015-03-11 12:22:58 -07:00
Sigmund Cherem 6d9564b4ff Support browser caching using hashes in serverMode (fixes #93, fixes #92).
Now the HTML can include a hash in the URL for cachable resources, and the serve knows how to include cache-control headers.

In the process of doing so, I had to change a couple things that made it possible to fix #92 as well (producing different output in the command-line than in server mode).

R=vsm@google.com

Review URL: https://codereview.chromium.org/993213003
2015-03-10 18:27:23 -07:00
Sigmund Cherem 4e4dd98e6b Add widget to display errors, and report graph errors correctly.
This fixes the compiler so that all error messages in dependency_graph are reported via the reporter and unifies how errors are constructed in other places as well. With all errors reported together, we use a widget (adapted from polymer) to display the error messages as part of the app in server mode.

R=vsm@google.com

Review URL: https://codereview.chromium.org/988483006
2015-03-09 11:37:22 -07:00
Sigmund Cherem ca80f2c473 Add JavaScriptSourceNode to represent runtime libraries (fixes #85)
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/986723002
2015-03-09 11:33:46 -07:00
Sigmund Cherem 0991bea1ef Allow changing a file from a part to a library, and viceversa.
BUG=
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/983553002
2015-03-09 10:59:18 -07:00
John Messerly 6e824067a3 rename ddc -> dev_compiler, fixes #84
R=sigmund@google.com

Review URL: https://codereview.chromium.org/967933005
2015-03-04 11:12:19 -08:00
Sigmund Cherem 7dd29efd8f Initial cut for a development server
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/973433003
2015-03-04 09:40:06 -08:00
Sigmund Cherem f7b7f43d28 Fixing layout in js output (use full paths rather than just the library name)
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/968273002
2015-03-03 09:05:09 -08:00
John Messerly 4d7aa8e397 add source maps support, fixes #50
R=sigmund@google.com

Review URL: https://codereview.chromium.org/965033002
2015-02-27 15:17:19 -08:00
Sigmund Cherem 9369b3e981 Fix new line breaks on }
R=leafp@google.com

Review URL: https://codereview.chromium.org/959073002
2015-02-26 14:32:48 -08:00
Vijay Menon 5c1c9c2381 Add LICENSE and corresponding headers
Fix expectations where line number has changed.

R=dgrove@google.com

Review URL: https://chromereviews.googleplex.com/158257013
2015-02-24 15:02:26 -08:00
Sigmund Cherem ce3dd48740 Accept compilng HTML files
R=jmesserly@google.com, vsm@google.com

Review URL: https://chromereviews.googleplex.com/153157013
2015-02-18 16:48:56 -08:00
Sigmund Cherem ae910f2860 Infer return types and field types based on overrides
R=jmesserly@google.com, vsm@google.com

Review URL: https://chromereviews.googleplex.com/145247013
2015-02-13 16:53:58 -08:00
Sigmund Cherem c08003a36e Add options and move the multi-package options to normal flags
R=jmesserly@google.com

Review URL: https://chromereviews.googleplex.com/149487013
2015-02-13 13:04:16 -08:00
John Messerly 3438d26f5f check in SDK dart:core snapshot for tests
also tweaks the formatter to ignore it for ease of diffing

R=vsm@google.com

Review URL: https://chromereviews.googleplex.com/145337013
2015-01-28 16:41:34 -08:00
John Messerly c64afcf15a add SDK baseline
lots of things wrong with this generated code, but it's a start
(this builds on https://chromereviews.googleplex.com/148007013/)

R=vsm@google.com

Review URL: https://chromereviews.googleplex.com/147147014
2015-01-28 13:11:08 -08:00
John Messerly cad9b49ae4 generate JS per-library instead of per-unit
R=leafp@google.com

Review URL: https://chromereviews.googleplex.com/148007013
2015-01-28 12:51:45 -08:00
John Messerly 39746cb45e fixes to start codegen for sdk
R=leafp@google.com

Review URL: https://chromereviews.googleplex.com/145237013
2015-01-28 10:02:40 -08:00
Sigmund Cherem 2df05920ae Run formatter, remove dead code detected from analyzer
R=jmesserly@google.com

Review URL: https://chromereviews.googleplex.com/145197013
2015-01-27 12:17:12 -08:00
Sigmund Cherem 763e61f4d3 Compile library-by-library. This is a step closer to our incremental compile.
As part of this change I made codegen synchronous. Technically is not necessary,
but I think it reduces complexity a lot. For example, keeping it async would
have required more changes to the testing infrastructure. Let me know if you
want to keep that change separate though.

With this change, I'm removing one more use of element.node, which is necessary
to achileve our goal. There is only one more use of this API, for which John has
a CL out.

BUG=
R=jmesserly@google.com

Review URL: https://chromereviews.googleplex.com/145167013
2015-01-27 09:49:26 -08:00
Leaf Petersen fcf7a98525 Call method subtyping
Allow objects with an appropriately typed call method to subtype function types.  Fixes #19.

BUG=
R=vsm@google.com

Review URL: https://chromereviews.googleplex.com/140757013
2015-01-13 16:10:48 -08:00
Leaf Petersen 37752f763c Relaxed casts
Allow implicit sideways casts between types that are assignable in regular dart.

BUG=
R=jacobr@google.com, vsm@google.com

Review URL: https://chromereviews.googleplex.com/135247013
2015-01-09 10:22:29 -08:00
Leaf Petersen d44e64d22a Covariant generic support
Add support for full covariant generics, under a flag.  Using --covariant-generics will make the checker use full covariance for generics.

BUG=
R=jacobr@google.com

Review URL: https://chromereviews.googleplex.com/140607013
2015-01-08 12:39:32 -08:00