Commit graph

36931 commits

Author SHA1 Message Date
Kevin Moore 6f6b345f75 Added details of dartfmt change to 1.15 changelog
Moved Dartium updates under new Tools section

R=rnystrom@google.com

Review URL: https://codereview.chromium.org/1777483009 .
2016-03-09 15:19:30 -08:00
Regis Crelier ba69c8a898 Enumerate URIs of all types in type errors in order to help the user diagnose
the error (it was previously only printed for types with identical names).
Cleanup and simplify construction of type errors.

R=hausner@google.com, srdjan@google.com

Review URL: https://codereview.chromium.org/1778133002 .
2016-03-09 15:16:47 -08:00
Konstantin Shcheglov 4d48fa56d0 Listen for context add/remove and unit invalidation to update the index.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1783503004 .
2016-03-09 14:52:19 -08:00
Stephen Adams 9292d1bc2b Revert "dart2js: Destroy some type inference graph edges after type inference."
BUG=

Review URL: https://codereview.chromium.org/1775253004 .
2016-03-09 14:07:48 -08:00
Alan Knight 4641732ddb Remove websql_test/functional suppression
BUG=

Review URL: https://codereview.chromium.org/1777013003 .
2016-03-09 14:05:14 -08:00
Alan Knight 051451d7e6 Trying to fix SQLResultSetRowList's subscript operator to do type conversion
BUG=

Review URL: https://codereview.chromium.org/1779023002 .
2016-03-09 14:02:30 -08:00
pq f56704cd41 DEPS bump to pickup the latest linter.
Includes:

* Fix to skip overriding members in API doc checks (`public_member_api_docs`).
* Fix to suppress lints on synthetic nodes/tokens (#193).
* Message fixes (`annotate_overrides`, `public_member_api_docs`).
* Fix to exclude setters from return type checks (#192).

BUG=
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1770763007 .
2016-03-09 13:30:56 -08:00
danrubel 14983f0a26 extract resource path test utils
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1777913003 .
2016-03-09 16:26:14 -05:00
Konstantin Shcheglov 00b6f98166 Separate index objects for each analysis context.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1778113002 .
2016-03-09 13:24:12 -08:00
Stephen Adams 42070892a4 Create map for dump_info on demand.
Saves about 1% of heap for non --dump-info compile.

R=sigmund@google.com

Review URL: https://codereview.chromium.org/1777823002 .
2016-03-09 13:15:05 -08:00
Brian Slesinsky ae009e0870 Fix regression for import suggestions
Imports weren't being suggested for implicit source files,
for example files from other analysis roots.

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

Review URL: https://codereview.chromium.org/1759333002 .
2016-03-09 12:59:46 -08:00
Stephen Adams e85ac19134 dart2js: Destroy some type inference graph edges after type inference.
Removing the `_assignments` and `users` collections from TypeInformation
nodes causes interior nodes (e.g. Phi, Narrow) to become unreachable and
available for GC. This seems to trim 1%-5% off the final heap of an SSA
compile.

R=sigmund@google.com

Review URL: https://codereview.chromium.org/1776533002 .
2016-03-09 12:47:10 -08:00
Srdjan Mitrovic 60ce67d91f Fix sticky error propagation from thread to isolate
BUG=
R=asiva@google.com, iposva@google.com

Review URL: https://codereview.chromium.org/1769183003 .
2016-03-09 12:40:43 -08:00
Ryan Macnak ed52614322 Fix incorrect assertion failures in noopt regarding removing classes that still have constants.
R=asiva@google.com

Review URL: https://codereview.chromium.org/1776243002 .
2016-03-09 12:11:23 -08:00
Konstantin Shcheglov 5a927c7373 Add hacks into build_sdk_summaries to workaround bugs in build tools.
Paul thinks that there is a bug in gyp or make, and we should generate
only one output. So, we generate the whole bundle with all summaries
and index information. And then we have separate actions that take
this bundle and extract one output each - spec.sum and strong.sum files.

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

Review URL: https://codereview.chromium.org/1775973003 .
2016-03-09 11:37:17 -08:00
Konstantin Shcheglov 21ed1750ce Issue 25962. Check for the number of arguments vs. number of required parameters.
Unfortunately I was not able to reproduce the problem.

R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/25962

Review URL: https://codereview.chromium.org/1776353003 .
2016-03-09 11:33:01 -08:00
pq e7e205f00b Add error codes to server protocol (#25958).
See: https://github.com/dart-lang/sdk/issues/25958

BUG=
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1774913006 .
2016-03-09 10:44:03 -08:00
Bob Nystrom 8defa5f77c Split resolver_test.dart into smaller files.
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1782463002 .
2016-03-09 10:42:09 -08:00
William Hesse 00e6b92e20 Change bleeding-edge version to 1.16.0, merge stable and bleeding-edge changelog.
BUG=
R=kevmoo@google.com, mit@google.com

Review URL: https://codereview.chromium.org/1781703002 .
2016-03-09 19:14:31 +01:00
pq fb3eae598a CLI support for enableConditionalDirectives.
BUG=
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1778683004 .
2016-03-09 10:04:41 -08:00
pq 402f27e26d Fix enableConditionalDirectives option handling.
Net-net: we weren't copying this value over when copying context options.

BUG=
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1774213003 .
2016-03-09 10:01:28 -08:00
Kevin Moore 3ab25d2803 fix changelog formatting 2016-03-09 09:48:26 -08:00
Kevin Moore 3cb353b4c5 update version that analyzer changes landed
Follow-up on 18f46ec2a7

Review URL: https://codereview.chromium.org/1784443002 .
2016-03-09 09:46:57 -08:00
Matthias Hausner 5db2c56b5b Fix crash when setting breakpoint in Observatory
Fix bug in code that determines end token pos of classes, handle
typedef classes correctly.

BUG=25880
R=floitsch@google.com, johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1767113007 .
2016-03-09 08:55:54 -08:00
Asger Feldthaus 40f6c6934c dart2js cps: Do field calls directly instead going through the adapter.
E.g. obj.foo$1(x) becomes obj.foo.call$1(x).

BUG=
R=kmillikin@google.com

Review URL: https://codereview.chromium.org/1776473006 .
2016-03-09 15:59:49 +01:00
Asger Feldthaus cb46f224f6 dart2js cps: Inline constructor bodies that are only called once.
ConstructorBodyElements do not exist in the type inference graph, so
we can't rely on it to tell us if such a method has a single call site.

BUG=
R=kmillikin@google.com

Review URL: https://codereview.chromium.org/1779723002 .
2016-03-09 14:00:25 +01:00
Johnni Winther 7b7cfb66ab Add source information to variable declarations in CPS.
This adds a source mapping to variable declarations in the beginning of a JS function, that points to the start of the corresponding Dart method:

foo: function() {
  var a, b;
  ^

maps to

foo() {
      ^

R=sigmund@google.com

Review URL: https://codereview.chromium.org/1772703002 .
2016-03-09 10:02:16 +01:00
Bob Nystrom 528f6c01a7 Clean up some copy/paste in a test.
Almost all of these tests had the same few steps, so I pulled that out
into a helper function and used that.

R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/1780623002 .
2016-03-08 17:40:46 -08:00
Stephen Adams d367741ead Recognize identical() ConstantValues as equal.
This fast path is not used when interning ConstantValues but is
beneficial when the ConstantValue is the key of a HashMap.

BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1777483006 .
2016-03-08 17:18:27 -08:00
Bob Nystrom 18f46ec2a7 Mention for-in static checking in CHANGELOG.
R=nweiz@google.com

Review URL: https://codereview.chromium.org/1777733002 .
2016-03-08 16:13:03 -08:00
Alan Knight 1f9395fb30 Add back CssCharsetRule for Safari support
BUG=

Review URL: https://codereview.chromium.org/1777683002 .
2016-03-08 14:40:57 -08:00
Paul Berry 1fa1b388c1 Fix incremental build of analyzer snapshot when pkg/analyzer changes.
Previously, changing a file in pkg/analyzer would not force a rebuild of
the analyzer snapshot, causing confusion during anayzer development.

R=scheglov@google.com

Review URL: https://codereview.chromium.org/1781473002 .
2016-03-08 14:04:21 -08:00
Konstantin Shcheglov 5b117e9e18 Use the fact that some index lists are sorted.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1776143002 .
2016-03-08 13:43:43 -08:00
Konstantin Shcheglov 3af20476d1 Add AnalysisContext.onResultInvalidated(descriptor).
This method will be used to remove index entries corresponding to
invalidated resolved units.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1776023002 .
2016-03-08 12:55:06 -08:00
Konstantin Shcheglov 15bfead120 Sort strings in the index.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/1774253002 .
2016-03-08 12:45:29 -08:00
Paul Berry c497c026fe Fix summary generation in "package-summary-only" mode.
If we aren't doing full analysis, then we can't use
`context.librarySources` to find out the set of library sources (because
it doesn't include sources that haven't been examined yet).  Instead, we
have to query each source to find out its type.

R=scheglov@google.com

Review URL: https://codereview.chromium.org/1770323003 .
2016-03-08 12:14:11 -08:00
Ryan Macnak a0e3bfdd68 Qualify the precompiled shared library name with the snapshot directory instead of using LD_LIBRARY_PATH.
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/1771423002 .
2016-03-08 12:01:53 -08:00
Bob Nystrom cb7aa02116 Type check for-in statements.
This does nominal checking on the iterable expression used in a for-in
statement:

1. It must implement Iterable.
2. The type argument to Iterable must be assignable to the variable's
   type.

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

Review URL: https://codereview.chromium.org/1771153002 .
2016-03-08 11:25:49 -08:00
Stephen Adams ea480cdf0f Fix typo in TypeInformationSystem.joinTypeMasks
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1771253002 .
2016-03-08 10:55:15 -08:00
Matthias Hausner ab7eb43013 Make LineSplitter much faster for common case
Avoiding the sync* function in the common case makes LineSplitter
50-100 times faster.

BUG=
R=floitsch@google.com

Review URL: https://codereview.chromium.org/1775683002 .
2016-03-08 10:49:18 -08:00
Paul Berry 1f8ea5448e Add an analyzer_cli option to disable analysis (for faster summary generation)
R=scheglov@google.com

Review URL: https://codereview.chromium.org/1772923002 .
2016-03-08 09:25:20 -08:00
William Hesse 301e527e6e Update status for html/websql_test
BUG=https://github.com/dart-lang/sdk/issues/25927
R=floitsch@google.com

Review URL: https://codereview.chromium.org/1775883002 .
2016-03-08 17:55:28 +01:00
Brian Wilkerson d8786ac278 Change when enum constant elements are created to fix bug in re-creating ASTs from existing element models
R=paulberry@google.com, scheglov@google.com

Review URL: https://codereview.chromium.org/1771243002 .
2016-03-08 08:45:44 -08:00
Terry Lucas af562187bc Chrome moved clipboardData from Event to ClipboardEvent for security clipboard can only be accessed during a onCut/onCopy/onPaste event.
The polyfill class KeyEvent can no longer access clipboardData without listening for the cut, copy or paste event.

TBR=alanknight@google.com,sigmund@google.com

Review URL: https://codereview.chromium.org/1775923002 .
2016-03-08 05:24:02 -08:00
Asger Feldthaus 7772152fa1 dart2js cps: Keep interceptors in a separate field.
Previously, the "receiver" of an InvokeMethod would be either be the
"Dart receiver" or an interceptor, depending on the calling convention.
Likewise, the argument list was possibly prefixed by the Dart receiver.

Now, the receiver is always the Dart receiver, and the arguments are
the Dart arguments and the interceptor is in a field specific for the
interceptor.

The old way was very inconvenient in the CPS, it has led to several
bugs already, and it's just unintuitive that "receiver" can mean two
very different things.

FunctionDefinition no longer has a thisParameter, but
instead a receiverParameter and an interceptorParameter.  These are
named to correspond exactly with the names used in InvokeMethod.

The concept of 'this' has been removed from the CPS IR to hopefully
avoid confusion between 'Dart this' and 'JS this'.  There is now only
receiver and interceptor, and which one corresponds to the JS 'this'
is irrelevant.

The Tree IR has not changed.  The Tree IR builder is thus responsible
for translating the calling convention into the JS receiver and
argument list.  The Tree needs to know the order in which the operands
are evaluated, so it makes sense to keep this form in the Tree.

R=sra@google.com

Review URL: https://codereview.chromium.org/1761903002 .
2016-03-08 13:43:20 +01:00
Johnni Winther 5719bc4ff3 Add white-listing to sourcemap tests.
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1769013002 .
2016-03-08 10:49:01 +01:00
Johnni Winther 7cbfcd69ca Updates from comments.
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1683063002 .
2016-03-08 10:36:58 +01:00
Johnni Winther 583fd470d8 Add source location to function declarations.
Temporarily adds source location to function declarations in the new source info system.

R=sigmund@google.com

Review URL: https://codereview.chromium.org/1773553002 .
2016-03-08 10:30:13 +01:00
Johnni Winther 7254451244 Add source mappings and inlined Dart code to diff_view.
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/1752393002 .
2016-03-08 10:02:28 +01:00
Ryan Macnak c6d3ff0098 More MIPS status cleanup.
R=regis@google.com

Review URL: https://codereview.chromium.org/1774693002 .
2016-03-07 16:37:48 -08:00