Commit graph

42183 commits

Author SHA1 Message Date
Lasse R.H. Nielsen
f3288982de Spec: Rewrite lambdas to simpler semantics instead.
This is instead of introducing a let-construct.

R=eernst@google.com

Review URL: https://codereview.chromium.org/2433943002 .
2016-11-09 13:21:39 +01:00
Erik Ernst
5bf3c1fa4d Fixed erroneously commented-out \end{itemize}
Commit 4cb61407a8, CL
https://codereview.chromium.org/2476613002 introduced a spurious `%`
which causes `latex dartLangSpec.tex` to fail. This CL fixes it.

Review URL: https://codereview.chromium.org/2487113003 .
2016-11-09 12:30:34 +01:00
Konstantin Shcheglov
e7350d171e Don't serialize elements of top-level function/constructor/method bodies.
Instead in DeclarationResolver build these local elements in the bodies.

As you can see, the summary_common tests are quite ugly now, we decided
that we still have to serialize everything in variable initialiers,
including local functions. So, this requires repurposing the tests to
using initializers, and also keep buildLabelElements() in
DeclarationResolver.

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

Review URL: https://codereview.chromium.org/2485043004 .
2016-11-08 19:19:46 -08:00
Konstantin Shcheglov
ceda6a038b Provide LINE_INFO using just UnlinkedUnit even though the full info is not available.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review URL: https://codereview.chromium.org/2486573002 .
2016-11-08 18:11:43 -08:00
Konstantin Shcheglov
b22ac9c93d Use AnalysisDriverScheduler to schedule work across multiple AnalysisDriver(s).
I don't like that it lives in the same file, but I'd not like to
expose internals of AnalysisDriver or AnalysisDriverScheduler outside :-(

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

Review URL: https://codereview.chromium.org/2487003002 .
2016-11-08 18:05:16 -08:00
Konstantin Shcheglov
0f52c15f1c Include 'enableGenericMethods' into salt.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2485853003 .
2016-11-08 17:24:04 -08:00
Ryan Macnak
ab26422df0 Check that Dart_CreateIsolate is given a correct kind of snapshot.
R=zra@google.com

Review URL: https://codereview.chromium.org/2481013006 .
2016-11-08 16:49:59 -08:00
Paul Berry
7493d120a4 Remove front_end's dependency override on analyzer.
The override had no effect anyway, because it was identical to
front_end's dependency on analyzer.

This is necessary in order to publish front_end.

R=sigmund@google.com

Review URL: https://codereview.chromium.org/2487603004 .
2016-11-08 16:19:34 -08:00
Florian Schneider
368409d3e4 DBC: Fix bugs with array allocation
Guard against negative length in the fast path.

Add missing PC descriptors for correct exceptions.

BUG=
R=zra@google.com

Review URL: https://codereview.chromium.org/2490803002 .
2016-11-08 15:45:31 -08:00
Zachary Anderson
5f8580a673 Add BUILD.gn for pkg/front_end to fix the Fuchsia build
BUG=
R=paulberry@google.com

Review URL: https://codereview.chromium.org/2483353002 .
2016-11-08 15:15:07 -08:00
Jacob Richman
3356f82eb3 Fix crashing bug for closures of the form () { return; }
BUG=
R=jmesserly@google.com, vsm@google.com

Review URL: https://codereview.chromium.org/2484913004 .
2016-11-08 15:14:10 -08:00
Zachary Anderson
076ff10c3c Fuchsia: fix Debug build
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2488813002 .
2016-11-08 14:35:00 -08:00
Paul Berry
0c3fade7f7 Fix front_end version number in preparation for publishing.
Analyzer needs to depend on a published version of front_end in order to
pass buildbot tests (it may be an alpha version).  This CL sets the
version to "0.1.0-alpha.0" (I will publish this version once the CL
lands).  Note that the previous version of front_end was "0.1.0", so we
appear to be moving the version backwards.  This is ok because version
"0.1.0" was never published.

Note that during this transitional period where code is being moved from
analyzer to front_end, we have circular imports between analyzer and
front_end, so from now until the transitional period ends, we will need
to publish front_end whenever we publish analyzer.

Update copyright notices in front_end package

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

Review URL: https://codereview.chromium.org/2485993003 .
2016-11-08 14:28:40 -08:00
Paul Berry
e790b44c63 Update copyright notices in front_end package.
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2483313003 .
2016-11-08 14:23:58 -08:00
Paul Berry
5eb3636ae3 Add patch file support to the analyzer task model.
R=brianwilkerson@google.com

Review URL: https://codereview.chromium.org/2483343002 .
2016-11-08 14:00:45 -08:00
Zachary Anderson
a1bcf051d8 clang-format runtime/vm
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2481873005 .
2016-11-08 13:54:47 -08:00
Paul Berry
0a1fb8d248 Move scanner into pkg/front_end/lib/src/scanner.
Several support classes also had to move to front_end along with the
scanner.  Some of these support classes arguably don't belong to the
scanner itself, since they have other uses (e.g. SyntacticEntity,
ErrorCode, ErrorSeverity, ErrorType, and StringUtilities).  They will
be reorganized into a more appropriate location in future CLs, at the
time that they become needed by other components of the front end.

In order to avoid dragging in a lot of dependencies, the following
changes were made:

1. Scanner no longer reports errors through Source and
AnalysisErrorListener objects passed to the constructor.  Instead, it
provides an abstract reportError() method which clients may override
to perform error reporting in any way they wish.  Analyzer contains an
override of Scanner that mimics the old behavior in order to maintain
compatibility.

2. Static members of ErrorCode (`values` and `byUniqueName`) have been
moved to top level, and remain in analyzer.  To maintain
compatibility, these static members remain in ErrorCode (as deprecated
members that simply wrap the implementations in analyzer).  This means
we have a reverse dependency (front_end depends on analyzer), but this
dependency will go away as soon as we publish the next breaking change
release of analyzer.

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

Review URL: https://codereview.chromium.org/2486873003 .
2016-11-08 13:47:17 -08:00
Sigmund Cherem
ce758e7e0a dart2js: depend directly on kernel/ast to avoid indirect dependency on dart:io
BUG= https://github.com/dart-lang/sdk/issues/27744
R=het@google.com

Review URL: https://codereview.chromium.org/2485093003 .
2016-11-08 13:13:10 -08:00
Florian Schneider
a77d860806 Fix static field initialization in optimzed DBC code.
Static fields can be initialized from optimized code. This CL
adds support for handling InitStaticFieldInstr in optimized code.

Fixes #27787.

R=zra@google.com

Review URL: https://codereview.chromium.org/2486863002 .
2016-11-08 11:21:47 -08:00
Brian Wilkerson
562c2be184 Convert generic method errors to hints
R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2487583002 .
2016-11-08 11:06:42 -08:00
Paul Berry
72fc9805d9 Add analysis options for front end, and fix a bug discovered by strong mode.
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2489573002 .
2016-11-08 10:39:48 -08:00
Jennifer Messerly
8f04f902df fix #27771, create directory if needed
R=vsm@google.com

Review URL: https://codereview.chromium.org/2483753004 .
2016-11-08 10:21:31 -08:00
Jennifer Messerly
3995146b55 fix #27775, enum declaration where "name" is a property
R=vsm@google.com

Review URL: https://codereview.chromium.org/2488543002 .
2016-11-08 10:18:55 -08:00
Ryan Macnak
f7ed0eb832 GN: Run a small portion of the test suite for dart2js and the analyzer.
R=zra@google.com

Review URL: https://codereview.chromium.org/2484083002 .
2016-11-08 10:04:45 -08:00
Florian Schneider
d53f26e395 Remove references to non-existing tests from status files.
BUG=
R=rmacnak@google.com

Review URL: https://codereview.chromium.org/2481223003 .
2016-11-08 09:21:21 -08:00
Ryan Macnak
888a8793a3 Mark sample_extension_app_snapshot_test as failing on IA32 Windows.
Issue #27786

Review URL: https://codereview.chromium.org/2482193002 .
2016-11-08 09:07:23 -08:00
Martin Kustermann
4ae06af529 VM: [Kernel] Set types on [LocalVariable] if they were introduced by [VariableDeclaration]s
R=vegorov@google.com

Review URL: https://codereview.chromium.org/2477563003 .
2016-11-08 09:56:23 +01:00
Johnni Winther
8ea13999de Handle dart:html in kernel_impact
R=het@google.com

Review URL: https://codereview.chromium.org/2481113003 .
2016-11-08 09:31:53 +01:00
Ryan Macnak
0d830711bf Fix Windows build.
Review URL: https://codereview.chromium.org/2481013005 .
2016-11-07 16:38:30 -08:00
Ryan Macnak
987165f022 Reload native extensions when starting from a snapshot.
Fixes #21180
Fixes #27574

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2475523002 .
2016-11-07 16:17:47 -08:00
Harry Terkelsen
4b2751a80e don't rely on identical for comparing empty linked lists
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2476333003 .
2016-11-07 15:48:45 -08:00
John McCutchan
14297ee480 Add an environment variable toggle to control new service protocol auth token
BUG=
R=asiva@google.com

Review URL: https://codereview.chromium.org/2486443002 .
2016-11-07 14:45:52 -08:00
Harry Terkelsen
a9d4575788 add missing semicolon in profile_many script
BUG=
R=sigmund@google.com

Review URL: https://codereview.chromium.org/2482773003 .
2016-11-07 13:17:43 -08:00
Zachary Anderson
861f0be47e Fix build
Review URL: https://codereview.chromium.org/2487473002 .
2016-11-07 13:13:58 -08:00
Zachary Anderson
7b86880b01 GN: Add an option to build against the Debian wheezy sysroot
Set the environment variable DART_USE_WHEEZY to build against
the wheezy sysroot on Linux.

R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2476343004 .
2016-11-07 13:09:45 -08:00
Konstantin Shcheglov
f059523037 Highlight FieldFormalParameterElement as a field only in declaration.
R=brianwilkerson@google.com
BUG= https://github.com/dart-lang/sdk/issues/27478

Review URL: https://codereview.chromium.org/2484883002 .
2016-11-07 12:03:06 -08:00
Konstantin Shcheglov
fd3d6047fb Send notifications in the scheduled futures.
Doing this allows code completion to run before notifications, so
we get completions faster.

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

Review URL: https://codereview.chromium.org/2481323002 .
2016-11-07 12:01:10 -08:00
Kevin Moore
f05e2b0760 recompile for 4179bd7601
Review URL: https://codereview.chromium.org/2484853002 .
2016-11-07 11:02:36 -08:00
Kevin Moore
4179bd7601 Apply codec change from fb968553 to DDC copy
Closes https://github.com/dart-lang/sdk/pull/27724

R=jmesserly@google.com

Review URL: https://codereview.chromium.org/2481703003 .
2016-11-07 10:59:22 -08:00
Bob Nystrom
8daf4cfb73 Get the basics of deferred libraries working.
References to loadLibrary on a library prefix are compiled to a
helper function that returns a Future that always completes
successfully.

The deferred libraries aren't actually deferred, but code that uses
loadLibrary() now doesn't barf.

BUG=#27343
R=vsm@google.com

Review URL: https://codereview.chromium.org/2477673006 .
2016-11-07 10:41:23 -08:00
Brian Wilkerson
f61a3eacc4 Add the @immutable annotation
R=pquitslund@google.com

Review URL: https://codereview.chromium.org/2476673004 .
2016-11-07 09:49:45 -08:00
Konstantin Shcheglov
ed172ddf70 When DefaultFormalParameter, don't use ParameterKind.REQUIRED.
It's a compilation error, but we still want to be consisten.

R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2477183002 .
2016-11-07 09:31:48 -08:00
Konstantin Shcheglov
9723a28457 Support for hover with the new analysis driver.
R=brianwilkerson@google.com
BUG=

Review URL: https://codereview.chromium.org/2477193002 .
2016-11-07 09:09:14 -08:00
Zachary Anderson
02cb4a0003 GN: Take asan default from an environment variable
If DART_USE_ASAN is defined, then the GN build will have ASAN
enabled after a 'gclient runhooks'

R=whesse@google.com

Review URL: https://codereview.chromium.org/2480333002 .
2016-11-07 09:01:14 -08:00
Lasse Reichstein Holst Nielsen
88ef4e98fa Make Stream.take(0) still listen and close the stream.
It shouldn't matter, but for some streams (e.g., a `ReceivePort`)
it does make a big difference whether it's closed or not.
We can't make a port not keep the isolate alive unless it has been listened to.
If we could, this wouldn't be necessary.

R=floitsch@google.com

Review URL: https://codereview.chromium.org/2481083003 .
2016-11-07 17:01:19 +01:00
Florian Schneider
153b24ad59 Fix bug in test expectation for uri_platform test.
This fixes this test when run from the root directory (/) like we
do when running precompiled tests on Android.

BUG=#26376
R=zra@google.com

Review URL: https://codereview.chromium.org/2439053005 .
2016-11-07 07:58:38 -08:00
Kevin Moore
35c09238d6 smaller observatory pngs
R=johnmccutchan@google.com

Review URL: https://codereview.chromium.org/2473293003 .
2016-11-07 07:08:53 -08:00
Lasse Reichstein Holst Nielsen
4cb61407a8 Remove generalized tear-offs from the specification.
Fixes issue #27519
BUG= http://dartbug.com/27519
R=eernst@google.com

Review URL: https://codereview.chromium.org/2476613002 .
2016-11-07 14:53:27 +01:00
Lasse R.H. Nielsen
7bb7f5e6bb Handle the case of Stream.take(0) better.
The current implementation listens to the stream and waits for it to complete.
The change makes it listen and then immediately cancel, and then return a
subscription that only sends done.

R=floitsch@google.com

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

Committed: 8cead4090c
Committed: 9ebef9af7c
2016-11-07 11:48:48 +01:00
Paul Berry
4ee32a9950 Fix driver_test.dart for Windows.
TBR=scheglov@google.com

Review URL: https://codereview.chromium.org/2476143002 .
2016-11-06 11:16:55 -08:00