Commit graph

16414 commits

Author SHA1 Message Date
Zachary Anderson 633ed4cf83 [corelib] dart:developer timeline flow events
This change adds an API to dart:developer Timeline for
adding flow events to the timeline. For details see the
changes in:

sdk/lib/developer/timeline.dart

R=rmacnak@google.com

Review-Url: https://codereview.chromium.org/2985253002 .
2017-07-31 07:46:52 -07:00
Johnni Winther 7873cced2c Compute closure model during resolution
R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2979373003 .
2017-07-31 09:41:07 +02:00
Dan Rubel dcd8c471ef update fasta parser compatibility tests to check error codes
This updates the analyzer parser compatibility tests to check for
error codes. Any test that was passing but failed as a result of these
changes was updated to continue passing and a duplicate test'2' added
in the subclass and marked as failing.

R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2990003002 .
2017-07-30 23:12:41 -04:00
Emily Fortuna a1f911c599 Add Closure call method to created closure class.
BUG=
R=sra@google.com

Review-Url: https://codereview.chromium.org/2991903002 .
2017-07-30 14:08:38 -07:00
Emily Fortuna a5ea160a44 Make the ClosedWorld build the closure class on the kernel side.
This was discussed with Johnni to avoid having to add the class index after construction of the KernelClosureClass.

BUG=
R=johnniwinther@google.com, sra@google.com

Review-Url: https://codereview.chromium.org/2984263002 .
2017-07-30 13:00:48 -07:00
Jennifer Messerly 951e9a5f88 fix DDC travis bot
It appears to have been broken by the language_2 test migration.

Review-Url: https://codereview.chromium.org/2991063002 .
2017-07-28 17:04:32 -07:00
Sigmund Cherem d0f218fa95 dart2js: throw when receiving an internal-problem error from the FE.
BUG=
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2991003002 .
2017-07-28 12:28:14 -07:00
Florian Loitsch ee46026671 Don't use LinkedList in the core libraries anymore.
R=lrn@google.com

Committed: fe17b5b2bc
Reverted: 5d4a786f44
Review-Url: https://codereview.chromium.org/2975443002 .
2017-07-28 21:14:11 +02:00
Johnni Winther 9259487174 Handle NativeTypedArray in closed_world_from_dill_test
- includes using the optimized mixin algorithm
- includes computing the default super class for natives

R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2990983002 .
2017-07-28 21:06:48 +02:00
Bob Nystrom 385b88f289 Migrate status file entries when migrating files. Yay!
This looks at all the files in the batch being migrated. It goes through
the status files in the 1.0 and strong directories. If it sees an entry
that matches that file, it adds it to the resulting "_2" status file.

It handles adding entries to an existing section if already present in
the new status file. Otherwise, it adds a new section at the end with
the entries.

R=bkonyi@google.com

Review-Url: https://codereview.chromium.org/2989033002 .
2017-07-28 11:10:30 -07:00
Brian Wilkerson 5b88eef0af Suggest covariant in parameter lists
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2986133002 .
2017-07-28 10:33:07 -07:00
Konstantin Shcheglov b41d5809c7 Include parameters into function typed formal parameters.
We use need to verify that we have parameters for parameters, because
we use them when we match AST and element model. Unfortunately, kernel
does not include these parameters (at least at the moment), so we
need to make some more tests as failing.

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

Review-Url: https://codereview.chromium.org/2988013004 .
2017-07-28 10:22:21 -07:00
Sigmund Cherem b1065335cd Use dart2js_plaform.dill from the sdk.
This will enable --use-kernel tests in the dart2js bots.

After this change, running our tests will change a little bit, either of these
would work:

Option A: --use-sdk (host-checked not allowed)

python tools/test.py -m release \
   -c dart2js -r d8 --dart2js-batch --report \
   --dart2js-with-kernel --use-sdk \
   language corelib library_2 corelib_2 \
   dart2js_native dart2js_extra

Option B: pass --library-root, --host-check works here.
python tools/test.py -m release \
   -c dart2js -r d8 --dart2js-batch --report \
   --dart2js-with-kernel --host-checked \
   --dart2js_options="--library-root=out/ReleaseX64/dart-sdk/" \
   language corelib library_2 corelib_2 \
   dart2js_native dart2js_extra

In the future, when fasta supports compiling sdk with @patch files, we will
be able to remove the --library-root option and simply compile the SDK from
sources at that point.

BUG=
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2988063002 .
2017-07-28 10:07:08 -07:00
Konstantin Shcheglov ea876bd780 Reapply 47ecf72 after it was reverted in e431e93e87.
There was a conflict with the problematic afc392b, so it was reverted
too. But 47ecf72 per se does not cause dartk failures. This runs
without failures.

python tools/test.py -m release -c dartk --builder-tag no_ipv6 language/

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

Review-Url: https://codereview.chromium.org/2991993002 .
2017-07-28 09:48:51 -07:00
Brian Wilkerson adb482002b Prevent exception with isolate failed to start
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2986123002 .
2017-07-28 08:26:31 -07:00
Johnni Winther 6e280fc4f4 Compute closure model purely from IR nodes
- and convert it to the J-model afterwards.

R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2988553003 .
2017-07-28 15:48:35 +02:00
pq 7370c8f749 front_end analyzer dev dependency.
To satisfy dependencies, for example, in `tool/perf.dart`.

Duplicate of https://codereview.chromium.org/2985143002/ (which fails to land).

R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2992633004 .
2017-07-28 06:38:10 -07:00
Brian Wilkerson de0b7a2f40 Add sourceFactory getter to AnalysisSession
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2989883002 .
2017-07-28 06:18:53 -07:00
Johnni Winther cdb0a6a84c Remove KernelScopeInfo.localsMap
R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2985683002 .
2017-07-28 14:35:24 +02:00
Johnni Winther 6292f410d1 Move .getLocalFunction from KernelToElementMap to KernelToLocalsMap
- and to KernelToElementMapForImpact
+ Remove CapturedScopeBuilder._kernelToElementMap
+ Remove JLocalFunction

R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2981423003 .
2017-07-28 14:13:29 +02:00
Erik Corry e431e93e87 Revert two Kernel changes that were causing test failures.
Example failure:
python tools/test.py -m release -c dartk --builder-tag no_ipv6 \
    language/function_type/function_type63_test

Revert "Serialize typedef parameters (including function typed ones) to Kernel and use it to resynthesize typedefs from Kernel."
This reverts commit afc392b66d.
Reverts https://codereview.chromium.org/2990783002

Revert "Add Member.documentationComment and use it to resynthesize documentation from Kernel."
This reverts commit 47ecf72272.
Reverts https://codereview.chromium.org/2990873002

Also reverts some attempts to fix test files:
302b410364
https://codereview.chromium.org/2984343002
05ccf27015
https://codereview.chromium.org/2992683002
f71dcd7834
https://codereview.chromium.org/2984363003

Also had to revert some test changes that were committed on top of a red buildbot, in order to try to get back to a place where bots were green:

23952fdf56
https://codereview.chromium.org/2990773002
557cab2a3e
https://codereview.chromium.org/2985173002

R=johnniwinther@google.com, karlklose@google.com
BUG=

Review-Url: https://codereview.chromium.org/2986093002 .
2017-07-28 14:08:23 +02:00
Johnni Winther 049019bc03 Remove _nodeToEntity and _nodeToThisLocal from CapturedScopeBuilder
R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2985663002 .
2017-07-28 13:48:46 +02:00
Johnni Winther e5f5b95961 Fix and assert getLocalFunction invariant
R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2984783002 .
2017-07-28 13:36:52 +02:00
Konstantin Shcheglov bf25080cc1 Replace typed_mock with mockito in analyzer.
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2991913002 .
2017-07-27 16:15:17 -07:00
Stephen Adams 0ca1d23eb0 Remove assert that prevents nested scopes closing over save variable
R=efortuna@google.com

BUG=

Review-Url: https://codereview.chromium.org/2989043002 .
2017-07-27 15:48:05 -07:00
Konstantin Shcheglov 47ecf72272 Add Member.documentationComment and use it to resynthesize documentation from Kernel.
R=ahe@google.com, brianwilkerson@google.com, sigmund@google.com
BUG=

Review-Url: https://codereview.chromium.org/2990873002 .
2017-07-27 15:22:48 -07:00
Leaf Petersen bbb0ed27ad Avoid issuing incorrect errors when super mixins are enabled
BUG=
R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2986063002 .
2017-07-27 14:38:57 -07:00
Brian Wilkerson 9591a9449f Partial support for intelligent paste operation
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2986073002 .
2017-07-27 13:55:59 -07:00
Leaf Petersen 61e071e3e7 Avoid string interpolation in templates.
Replace some constant string interpolation with literal strings.

BUG=
R=sra@google.com

Review-Url: https://codereview.chromium.org/2971453002 .
2017-07-27 13:47:40 -07:00
Brian Wilkerson c618032a69 Remove the uri from the ImportedElements object in the experimental spec API
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2991893002 .
2017-07-27 12:52:38 -07:00
Konstantin Shcheglov afc392b66d Serialize typedef parameters (including function typed ones) to Kernel and use it to resynthesize typedefs from Kernel.
R=ahe@google.com, brianwilkerson@google.com, sigmund@google.com
BUG=

Review-Url: https://codereview.chromium.org/2990783002 .
2017-07-27 11:53:15 -07:00
Konstantin Shcheglov 7d8d0b51c4 Resynthesize metadata from Kernel, when already supported.
R=ahe@google.com, brianwilkerson@google.com, sigmund@google.com
BUG=

Review-Url: https://codereview.chromium.org/2986983002 .
2017-07-27 11:32:44 -07:00
Konstantin Shcheglov f603889766 Store dependency libraries canonical names during limited store.
R=ahe@google.com, brianwilkerson@google.com, sigmund@google.com
BUG=

Review-Url: https://codereview.chromium.org/2991873002 .
2017-07-27 11:22:05 -07:00
Siva Annamalai 53cf85abc8 Fix for issue 29819 https://github.com/dart-lang/sdk/issues/29819 when a 'dill' file is loaded directly into the VM, set mode to dart front end mode and use that when reloading files too, this ensures that we reload correctly.
Adjust pkg.status to account for the hot_reload_e2e_test passing.

R=aam@google.com

https://github.com/dart-lang/sdk/issues/29819
Review-Url: https://codereview.chromium.org/2990833002 .
2017-07-27 10:06:54 -07:00
Brian Wilkerson 9a6b134d33 Improve name generation for indexed expressions
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2990793002 .
2017-07-27 07:58:34 -07:00
Erik Ernst 94669b4811 Added status for d8 failures, cf. issue 30279.
Review-Url: https://codereview.chromium.org/2988023002 .
2017-07-27 16:08:51 +02:00
Zhivka Gucevska 2331199968 Add support for field initialization in objects
Fields declared as T f = E are now initialized to the value
expression E evaluates to.
Fields without initalizer expression are intialized with null.

BUG=
R=dmitryas@google.com

Review-Url: https://codereview.chromium.org/2985883002 .
2017-07-27 13:47:12 +02:00
Erik Ernst 9336e199fd Re-land of CL 2990703002, adding fixes to analyzer_test and error_test.
This CL is identical to the reverted CL 2990703002 which implements
syntactic support for generalized void in the analyzer, plus two bug
fixes in pkg/analyzer/test/generated/parser_test.dart and
pkg/analyzer_cli/test/error_test.dart. In the former, a test on parsing
`void,` was changed to expect an error: _isTypeIdentifier on a lone
`void` will no longer return true, which is necessary because `void`
can now be used as a type annotation alone. Another test on `void x`
was added, which produces the behavior previously seen for `void,`.
In error_test, the error which is used throughout was changed from
`void foo;` to `var int foo;` (because the former is no longer an
error).

Review-Url: https://codereview.chromium.org/2992623002 .
2017-07-27 12:39:19 +02:00
Bob Nystrom cc8ae6b723 Add some more validation of things in expect that should not be used.
Also add some helper functions in expect.

R=bkonyi@google.com

Review-Url: https://codereview.chromium.org/2989743002 .
2017-07-26 16:52:18 -07:00
Sigmund Cherem 92481e9b34 Add dump-partial tool.
This script lets you dump as text a partial .dill file generated by the
incremental generator. To do so, it requires that you pass in other .dill files
that are needed (in order).

In the context of a hot-reload test, you should be able to run this as follows:

pkg/front_end/tool/fasta dump-ir newProgram.dill fullProgram.dill platform.dill

BUG=
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2985113002 .
2017-07-26 15:19:42 -07:00
Konstantin Shcheglov f813e21f12 Specialize imported_withPrefix tests for resynthesizing from Kernel.
We don't get back AST with prefixes, so it would require additional
work to find them. We does need them though, as long as resolution is
correct.

R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2992573002 .
2017-07-26 15:02:02 -07:00
pq 6e45682ebb Analyzer 0.31.0-alpha.0
For analyzer, front_end and kernel packages:

* bump alpha versions
* update SDK constraints

R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2985103002 .
2017-07-26 13:18:14 -07:00
Emily Fortuna 4bcde03ed9 Fix analyzer error in dart2js modelx. We will need to watch for perf regressions.
BUG=
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2984253002 .
2017-07-26 12:51:55 -07:00
Konstantin Shcheglov 8a08dbd08e Add export dependencies to Kernel libraries and use them to resynthesize ExportElement(s) in Analyzer.
R=ahe@google.com, brianwilkerson@google.com, sigmund@google.com
BUG=

Review-Url: https://codereview.chromium.org/2991753002 .
2017-07-26 12:33:19 -07:00
Konstantin Shcheglov f7e81325d8 Resynthesize top-level accessors and variables from Kernel.
R=ahe@google.com, brianwilkerson@google.com, sigmund@google.com
BUG=

Review-Url: https://codereview.chromium.org/2987883003 .
2017-07-26 11:29:11 -07:00
Konstantin Shcheglov 89c58dd116 Don't resynthesize invalid constant expressions at all.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2990733002 .
2017-07-26 11:13:07 -07:00
Erik Ernst 2e73ce1187 Revert "Implemented support for generalized void in analyzer."
This reverts commit 1d44f5296a,
because it causes failures for the analyzer in parser_test, error_test.

Review-Url: https://codereview.chromium.org/2990723002 .
2017-07-26 18:18:04 +02:00
Konstantin Shcheglov fef8f2a19e Triage more ResynthesizeKernelStrongTest tests.
R=ahe@google.com, brianwilkerson@google.com, sigmund@google.com
BUG=

Review-Url: https://codereview.chromium.org/2985913002 .
2017-07-26 09:14:21 -07:00
Brian Wilkerson 950b4108f7 Add assist to convert part-of directives
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2986903002 .
2017-07-26 09:08:37 -07:00
Erik Ernst 1d44f5296a Implemented support for generalized void in analyzer.
Changed the analyzer parser to accept usages of `void` which were
previously rejected as syntax errors: `void` can now be the type
annotation for a variable or parameter, and it can be an actual type
argument.

Removed affected error codes like VOID_PARAMETER, VOID_VARIABLE,
VOID_RETURN_FOR_GETTER and associated declarations (like checking
functions), and adjusted test cases to expect success rather than
compile time errors.

Adjusted generalized_void_syntax_test.dart (it had real errors like
`final` variables with no initializer etc. that were not detected
when tools would just reject the file as syntactically wrong).

R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2990703002 .
2017-07-26 17:45:13 +02:00
Konstantin Shcheglov b1589bf879 Replace typed_mock with mockito in analysis_server.
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2991773002 .
2017-07-26 08:14:25 -07:00
Brian Wilkerson cc7b83f4da Mark refactoring support for plugins as experimental
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2990573003 .
2017-07-26 07:43:55 -07:00
Dan Rubel 0b93c279e7 improve fasta closing brace recovery
Currently, fasta synthetically closes open braces until it finds
a match for the current closing brace. This works most of the time,
but provides less than optimal recovery in some common cases.
For example, given the following

class { foo()){print(a);} var a = 'hello'; }

the current brace recovery method fails to find any match for the
second closing parenthesis and synthetically closes the class
causing the rest of the file to be parsed as outside the class.

With this CL, fasta still synthetically closes open braces when it finds
a match for the current closing brace, but if there is no match, then
it just skips over the extra closer and continues. This approach dramatically
improves recovery in many cases where there is an extra closing parenthesis
or extra closing square bracket. In the example above, fasta parses
everything after the second closing parenthesis inside the class.

R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2981343002 .
2017-07-26 10:37:19 -04:00
Samir Jindel ff0c3936a1 Revert "Revert "Preserve type variables in closure conversion.""
This reverts commit fd4a0c658f.
2017-07-26 13:27:35 +02:00
Samir Jindel fd4a0c658f Revert "Preserve type variables in closure conversion."
This reverts commit 4d7490c609.
2017-07-26 12:44:15 +02:00
Samir Jindel 4d7490c609 Preserve type variables in closure conversion.
Summary:

Previously, we filled in all occurrences of captured type variables with either
"dynamic" or their bound, if they had one.

Now, we add extra type parameters to the top-level function corresponding to the
closure, and pass in the corresponding arguments as type arguments to the
"MakeClosure" operation.

Test Plan:

Updated [type_variables.dart] and added a new test case to it.

R=dmitryas@google.com

Review-Url: https://codereview.chromium.org/2989563002 .
2017-07-26 12:43:02 +02:00
Jennifer Messerly d207e8d5ca fix test status for DDC's travis bot
Review-Url: https://codereview.chromium.org/2991633004 .
2017-07-25 18:40:50 -07:00
Jennifer Messerly f0c8fe6763 remove redundant type check in DDC's SDK implementation
Review-Url: https://codereview.chromium.org/2985063002 .
2017-07-25 18:33:09 -07:00
Ben Konyi caf87da9ed Added functionality to dump relevant status file entries to a single file to make it easier to see which tests have which status file entries. Future work: remove entries from original status files.
BUG=
R=jcollins@google.com, rnystrom@google.com

Review-Url: https://codereview.chromium.org/2987633002 .
2017-07-25 17:48:09 -07:00
Leaf Petersen dbaf229341 Mark newly passing test as passing.
Fixes bots.

TBR=scheglov@google.com

BUG=

Review-Url: https://codereview.chromium.org/2985043002 .
2017-07-25 17:03:27 -07:00
Stephen Adams af56ba7b19 dart2js-kernel: Recognize some List constructors.
BUG=
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2984183002 .
2017-07-25 16:31:19 -07:00
Leaf Petersen c595972d74 Remove toplevel inference restriction hints, and restore as much
toplevel inference as possible to match the new front end toplevel
inference.

BUG=
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2983293002 .
2017-07-25 15:57:07 -07:00
Bob Nystrom 796eb21071 Move the status file parser into its own package.
This required munging a bit of test.dart code too to tease out some
dependencies, but the changes are minor. I considered moving all of
test.dart out into a package and making the status file library a
public one that other packages in the repo could import but this seemed
like the less intrusive change.

R=bkonyi@google.com

Review-Url: https://codereview.chromium.org/2984203002 .
2017-07-25 15:29:59 -07:00
Konstantin Shcheglov 736d6388d8 Mark redirecting generic factory constructors as failing because of Fasta.
R=ahe@google.com, brianwilkerson@google.com, sigmund@google.com
BUG= https://github.com/dart-lang/sdk/issues/30258

Review-Url: https://codereview.chromium.org/2990663002 .
2017-07-25 15:16:58 -07:00
Konstantin Shcheglov 2b1e3a3b81 Resynthesize factoring constructor redirects from Kernel.
Generic redirects are not implemented yet, I was not able to find type
arguments in RedirectingFactoryBody.

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

Review-Url: https://codereview.chromium.org/2987863002 .
2017-07-25 14:54:33 -07:00
pq b72742e8da Update linter engine to use driver (linter#743).
R=brianwilkerson@google.com, scheglov@google.com

See: https://github.com/dart-lang/linter/issues/743
Review-Url: https://codereview.chromium.org/2992463003 .
2017-07-25 14:22:56 -07:00
Konstantin Shcheglov a2afba2be0 Resynthesize FunctionType(s) from Kernel.
Also fixes resynthesizing generic methods and functions.

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

Review-Url: https://codereview.chromium.org/2991723002 .
2017-07-25 13:14:35 -07:00
Konstantin Shcheglov 05f34f52d5 Resynthesize import prefixes from Kernel.
R=ahe@google.com, brianwilkerson@google.com, sigmund@google.com
BUG=

Review-Url: https://codereview.chromium.org/2983423003 .
2017-07-25 13:05:49 -07:00
Brian Wilkerson a040de8c08 Update the version of the server API
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2985003002 .
2017-07-25 12:45:16 -07:00
Brian Wilkerson 8bbf373a5e Remove the analysus.reanalyze request from the plugin API
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2988743002 .
2017-07-25 12:10:52 -07:00
Konstantin Shcheglov 939d8aaf6d Issue 30238. Fix for subscribing for a notifications with already cached analysis result.
With the new 'sendCachedToStream' option we can control that whether
cached analysis result is also reported into the 'results' stream when
it is desirable (when we do this to send analysis notifications from
the stream listener). Or not, when it is not desirable, e.g. when we
ask becaue we need the results unit for Quick Assists.

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

Review-Url: https://codereview.chromium.org/2989633002 .
2017-07-25 10:28:25 -07:00
Konstantin Shcheglov 7bdfd098f6 Extract KernelResynthesizer from tests into analyzer/lib.
R=ahe@google.com, brianwilkerson@google.com, sigmund@google.com
BUG=

Review-Url: https://codereview.chromium.org/2990603002 .
2017-07-25 09:56:32 -07:00
Konstantin Shcheglov 1db0b3a29c Replace typed_mock with mockito in analyzer_cli.
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2989583003 .
2017-07-25 09:54:08 -07:00
Konstantin Shcheglov e0658b18a3 Resynthesize constructor initializers from Kernel.
We don't resynthesize assert initializers yet, because they are
compiled into an unholy mess.

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

Review-Url: https://codereview.chromium.org/2983413002 .
2017-07-25 09:24:13 -07:00
Sigmund Cherem 09009ad6e9 Fix bots: partial support for --use-sdk (assumes
out/ReleaseX64/patched_dart2js_sdk exists), add .status entries for 'minified'

R=sra@google.com

Review-Url: https://codereview.chromium.org/2991683002 .
2017-07-25 09:13:19 -07:00
Vijay Menon 598b98bd09 Fix DDC travis status
A few more passes, but perhaps one regression:

Chrome 59.0.3071 (Mac OS X 10.12.5)  corelib/date_time10_test FAILED
       Error: Expect.equals(at index 1: Expected <0100-01-01 00:00:00.000Z...>, Found: <0099-01-01 00:00:00.000Z...>) fails.
           at finish (test/browser/language_tests.js:807:59)

TBR=rnystrom@google.com,jmesserly@google.com

Review-Url: https://codereview.chromium.org/2983403003 .
2017-07-25 08:36:20 -07:00
Zhivka Gucevska 43cf49a717 Add support for running constructors with new
BUG=
R=dmitryas@google.com

Review-Url: https://codereview.chromium.org/2984903002 .
2017-07-25 17:24:15 +02:00
Dmitry Stefantsov 08e91e07b7 Enable Run step in closure-conversion test suite
R=sjindel@google.com

Review-Url: https://codereview.chromium.org/2984963002 .
2017-07-25 14:02:52 +02:00
Konstantin Shcheglov 2d01f1f8d9 Parse documentation for class aliases, fix for /// comments.
R=ahe@google.com, kmillikin@google.com, paulberry@google.com, sigmund@google.com
BUG=

Review-Url: https://codereview.chromium.org/2990523002 .
2017-07-24 22:15:37 -07:00
Sigmund Cherem 0d49519988 Mark front-end analyze tests as passing again. Actual fixes were submitted in strong mode checker and dart2js (Fixes #30244)
R=whesse@google.com

Review-Url: https://codereview.chromium.org/2990553002 .
2017-07-24 17:33:32 -07:00
Sigmund Cherem 09ff1b56f7 Add support for compiling Dart via the FE in dart2js.
This also:
 - replaces --use-kernel with --use-kernel-in-ssa
 - replaces --load-dill with --use-kernel
 - makes --use-kernel support both: compiling from .dill or from .dart
 - change the default of other options that are currently disabled when --use-kernel is on.
 - adds .status lines for all tests in language/corelib/dart2js_extra/dart2js_native

R=efortuna@google.com

 Note: this CL is built on top of another change
 (https://codereview.chromium.org/2981403002/) that adds preview_dart_2 to
 test.dart
Review-Url: https://codereview.chromium.org/2989453002 .
2017-07-24 17:10:11 -07:00
Jennifer Messerly ff8511c83e fix override checking of mixins
it was rejecting some patterns that are sound, because the mixin member is overridden and thus not exposed.

R=leafp@google.com

Review-Url: https://codereview.chromium.org/2988673003 .
2017-07-24 16:27:08 -07:00
Sigmund Cherem 86e18de920 Additional fixes for invalid overrides in dart2js
Together with Jen's fix for checking mixin, these are the remaining cases in
dart2js that we need to silence strong mode errors.

For modelz - the plan is to eventually delete this code, so ignoring makes sense
here. For the namer, Stephen believes we should get rid of the special
subclasses, for now I'm just supressing the error.

R=johhniwinther@google.com, sra@google.com
CC=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2987783002 .
2017-07-24 16:25:28 -07:00
Zachary Anderson 9e7e66602f Compute the script Uri lazily
Previously, the string set up by the embedder was eagerly passed to
Uri.parse during Isolate startup. This is expensive both in time and
memory footprint. This CL causes Uri.parse() to be called only
when needed. This change will allow reducing the memory footprint
of Fuchsia's Dart content handler on hello world by ~1MB.

fixes #25603

R=asiva@google.com

Review-Url: https://codereview.chromium.org/2988613002 .
2017-07-24 12:56:21 -07:00
Konstantin Shcheglov e3c418a3db Start marking @_fastaProblem, fix for unresolved mixin, fix for type parameter context.
R=ahe@google.com, brianwilkerson@google.com, sigmund@google.com
BUG=

Review-Url: https://codereview.chromium.org/2984153002 .
2017-07-24 11:50:12 -07:00
Konstantin Shcheglov 72d14b8202 Replace typed_mock with mockito in front_end.
R=ahe@google.com, paulberry@google.com, sigmund@google.com
BUG=

Review-Url: https://codereview.chromium.org/2984123002 .
2017-07-24 11:46:18 -07:00
Brian Wilkerson f434d87581 Fix the bots (TBR)
Review-Url: https://codereview.chromium.org/2986813002 .
2017-07-24 10:39:16 -07:00
Brian Wilkerson 0f9707073d Add support for creating a .packages file when the plugin is in a Bazel workspace
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2988673002 .
2017-07-24 10:00:05 -07:00
Brian Wilkerson 1e0e351406 Fix a typo in the docs
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2988683002 .
2017-07-24 09:54:23 -07:00
William Hesse 33f919f8c7 Update status for correct fasta test.
Previous commit changed the status for the wrong test.

BUG=https://github.com/dart-lang/sdk/issues/30244

Review-Url: https://codereview.chromium.org/2989543002 .
2017-07-24 15:26:08 +02:00
William Hesse 1bfcfa4560 Update status for failing tests
Issues have been filed for these tests.

BUG=https://github.com/dart-lang/sdk/issues/30245
BUG=https://github.com/dart-lang/sdk/issues/30244

Review-Url: https://codereview.chromium.org/2991523002 .
2017-07-24 14:18:09 +02:00
Vijay Menon 19a19f4423 Fix getSetterType in presence of metadata
R=jmesserly@google.com, rnystrom@google.com

Review-Url: https://codereview.chromium.org/2986673002 .
2017-07-23 19:56:06 -07:00
Bob Nystrom 39a56dd020 Triage a couple of DDC tests. (#30232) 2017-07-21 17:01:39 -07:00
Konstantin Shcheglov ce4d7b1891 Restore UriReferencedElement and its uri/uriOffset/uriEnd properties.
This is a partial rollback of bdd69ccd6c,
it restores APIs and implementations, but does not restore its usages
in analyzer or analysis_server. Should be enough to make clients
temporary OK, but also keeps resynthesizing from Kernel working.

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

Review-Url: https://codereview.chromium.org/2991453002 .
2017-07-21 16:59:52 -07:00
Bob Nystrom f334284967 Squashed commit of the following:
commit 4ed5f6f9d3
Merge: 075833b fb613c0
Author: Bob Nystrom <rnystrom@google.com>
Date:   Fri Jul 21 16:08:11 2017 -0700

    Merge branch 'master' into ddc-tests-2

commit 075833bbdb
Author: Bob Nystrom <rnystrom@google.com>
Date:   Thu Jul 20 18:08:25 2017 -0700

    Include migrated "_2" test directories in DDC's codegen_test.

    This required a couple of other changes too:

    - I renamed "not_yet_strong_tests.dart" to "compile_error_tests.dart"
      because it includes some tests that have been made strong mode clean,
      but still generate static errors due to bugs in analyzer or ddc.
    - Reworded the test failure messages to take the above into account.
    - I cleaned up the failure reporting code a bit. There was some
      redundancy and unreachable code.
    - Triaged the "_2" tests to mark the ones that are failing at compile
      time or runtime appropriately. Good news! The big integers tests
      compile now! Of course, they don't actually *run* correctly on the
      web...
2017-07-21 16:12:23 -07:00
Jennifer Messerly fb613c0635 fix #29766, fix #29782 - fix override checker's interface checking
R=vsm@google.com

Review-Url: https://codereview.chromium.org/2981183003 .
2017-07-21 16:02:52 -07:00
Jennifer Messerly 04f3c8835f implement Invocation.typeArguments in DDC
also fixes various bugs:
* setters now use the correct memberName symbol, fixes #30223
* object members work for callable classes, fixes #30213
* some test fixes to work in strong mode
* a few other small cleanups (e.g. obsolete `dart.list` is removed)

R=vsm@google.com

Review-Url: https://codereview.chromium.org/2979353002 .
2017-07-21 15:51:16 -07:00
Sigmund Cherem c6600c08d3 Remove FileSystem.lastModified
It is no longer in use.

R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2988443002 .
2017-07-21 11:45:56 -07:00
Paul Berry c057f091c2 Implement AstBuilder integration for method/function invocations.
This is tricky because there isn't a clean correspondence between
analyzer's AST (which reflects user syntax) and kernel representation.
For example:

  f(args);

could be a call to a static function f, a method f in the current
class, or an invocation of a function-typed object stored in a
variable called f.  ResolutionStorer operates on the kernel
representation, so it sees the difference, but ResolutionApplier
operates on the analyzer AST, so it does not.  So we go to some extra
work to make sure a type is stored for f, regardless of whether f is a
function, method, or a variable.  This requires some re-ordering logic
in ResolutionStorer, since the inferred type of f is not known until
after the args have been visited.

The implementation is not complete; currently the type that we store
in the first two cases is `dynamic` because the type inference
mechanism doesn't preserve enough information to allow us to determine
the correct type; this will be remidied in a future CL.

A similar situation occurs for:

  x.m(args);

which could be a call to a method m in the object x, or an invocation
of a function-typed object returned by the getter m in the object x.

R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2984013002 .
2017-07-21 10:47:25 -07:00
Konstantin Shcheglov ebd3ed5ade Resynthesize mixins from Kernel.
This adds Class.isSyntheticMixinImplementation flag which is set
to 'true' for synthetic X&Y classes.

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

Review-Url: https://codereview.chromium.org/2982373002 .
2017-07-21 10:29:46 -07:00
Konstantin Shcheglov 2289ce12ae Add import dependencies to Kernel libraries and use them to resynthesize ImportElement(s) in Analyzer.
R=ahe@google.com, kmillikin@google.com, paulberry@google.com, sigmund@google.com
BUG=

Review-Url: https://codereview.chromium.org/2987553002 .
2017-07-21 09:21:57 -07:00
Siva Annamalai 000bec45ac Account for kernel files being passed in directly on the command line this fixes issue 30212 (https://github.com/dart-lang/sdk/issues/30212)
R=sigmund@google.com

Review-Url: https://codereview.chromium.org/2985563003 .
2017-07-21 08:27:39 -07:00
Brian Wilkerson 8a275e6df8 Add utility method to SubscriptionManager
R=mfairhurst@google.com

Review-Url: https://codereview.chromium.org/2983913002 .
2017-07-21 07:24:55 -07:00
Zhivka Gucevska 3e563c6e9e Modify class definition in interpreter according to spec:
- Populate implicit getters and setters.
 - Populate instance methods, getters and setters.

BUG=
R=dmitryas@google.com

Review-Url: https://codereview.chromium.org/2987573002 .
2017-07-21 12:37:11 +02:00
Dmitry Stefantsov 5475240725 Add support for converted closures with explicit contexts to VM
The closure-conversion transformation is not enabled yet.  This commit
only adds the support for it to FlowGraphBuilder and
StreamingFlowGraphBuilder.  More work should be done before enabling the
transformation; most mportantly, the 'platform.dill' file that is used
in the Kernel isolate and is loaded by VM for linking with executed
programs should be separated.  The former should receive a file not
touched by the transformation, and the latter should receive a
transformed one.

BUG=
R=jensj@google.com, karlklose@google.com, kustermann@google.com

Review-Url: https://codereview.chromium.org/2891053003 .
2017-07-21 11:45:15 +02:00
Johnni Winther b5ec1dd2b8 Add Class/MemberDefinition to handle synthesized classes/members
R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2984643002 .
2017-07-21 10:09:55 +02:00
Leaf Petersen 1eb480d266 Add --no-declaration-casts option to analyzer.
Adds a flag to disable and enable declaration casts independently
from other casts.

Fixes #29546

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

Review-Url: https://codereview.chromium.org/2976963002 .
2017-07-20 15:55:07 -07:00
Paul Berry cc97126aed Implement AstBuilder integration for parenthesized expressions.
The type inference engine doesn't even see parenthesized expressions
as a separate entity, since parentheses don't have any semantics.  So
we just copy the static type from the enclosed expression.

R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2982323003 .
2017-07-20 13:49:20 -07:00
Konstantin Shcheglov 70933930cb Resynthesize instance creation expressions from Kernel.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2986593002 .
2017-07-20 12:57:27 -07:00
Paul Berry f1efb202d1 Implement AstBuilder integration for instance creation expressions.
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2982323002 .
2017-07-20 12:52:10 -07:00
Bob Nystrom 012774c78e Remove Dartium support from test.dart.
R=whesse@google.com

Review-Url: https://codereview.chromium.org/2981223002 .
2017-07-20 12:46:50 -07:00
Emily Fortuna 306453d91d Reapply "Add nonboxed closure class fields."
Last time I submitted it I was unable to test my adjustments from sra's suggestions becuase of build permissions (and failed motherboard). It has been tested on my laptop now.

This reverts commit bff25c89fe.

BUG=
R=sra@google.com

Review-Url: https://codereview.chromium.org/2986583002 .
2017-07-20 12:15:08 -07:00
Konstantin Shcheglov 25e695a71a Resynthesize field formal parameters from Kernel.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2978353002 .
2017-07-20 10:59:54 -07:00
Konstantin Shcheglov 1170b117c9 Remember isFieldFormal informative flag in VariableDeclaration(s).
It is informative in the same way as documentation.

Yesterday I tried to make Analyzer and Analysis Server stop using
FieldFormalParameterElement(s) and found one important use case requested
by the Flutter team. We need to show documentation of a field when
user requests documentation on the corresponding field formal named
parameter. This happens outside of the file that declares the parameter
and the field, so we don't have AST available. Of course we could
resolve the unit, but it would cost us something. And if we decide
that it is OK, then maybe we don't need to have documenation comments
in elements at all.

This is of course more convenience, and we could store documentation
and parameter to field mappings outside, like we store index. Just a
compromise - convenience vs. purity.

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

Review-Url: https://codereview.chromium.org/2983173002 .
2017-07-20 09:53:04 -07:00
Samir Jindel 239e044874 Remove dead code for closure-converting tearoffs.
This review scraps the (currently disabled) code for converting tearoffs in the
closure conversion pass.

The closure conversion pass can only ever do a partial job with tearoffs, due to
the possibility of an unconverted library tearing off a method from any object
it likes. Partially converting [PropertyGet]s makes the closure conversion pass
slower and introduces a new method for any field or method anywhere with a name
used in any [PropertyGet], inflating code size and potentially regressing
performance. As it provides no concrete value in return we've decided to scrap
this aspect of the transformation. Anyway, creating closures for tearoffs is
much easier for a backend than converting anonymous or nested functions, since
there is only one object ("this") captured. Thus ignoring tear-offs does not
undermine the value of the transformation.

BUG=
R=dmitryas@google.com

Review-Url: https://codereview.chromium.org/2986553002 .
2017-07-20 16:47:09 +02:00
Dan Rubel 3b2625ccde rename test methods and format
* rename usingFasta --> usingFastaParser
* add usingFastaScanner
* apply dartfmt

R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2981283002 .
2017-07-20 09:51:43 -04:00
Zhivka Gucevska 0e07361eb5 Store field locations instead of values in objects
BUG=
R=dmitryas@google.com

Review-Url: https://codereview.chromium.org/2979293002 .
2017-07-20 10:35:26 +02:00
Paul Berry a93aee1a08 Further integration of front end type inference into analyzer.
This CL propagates types from top level variable declarations into
analyzer ASTs.

This required adding a finishFields method to parser listeners (and a
corresponding method DietListener.listenerFinishFields which calls
it); this allows AnalyzerDietListener to thread the types through from
the BodyBuilder to the AstBuilder.  This is similar to what we were
already doing for methods.

R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2987503003 .
2017-07-19 23:00:52 -07:00
Bob Nystrom 0947675d6d Migrate the language tests up to arithmetic_test.
This technically steals a few tests from the previous batch that spans
corelib and language, but I wanted to start from the top of the language
tests.

Removed application_test and application_negative_test because they are
useless and the latter has never actually worked correctly since the day
it was transliterated from the long-defunct application file syntax.

R=bkonyi@google.com, whesse@google.com

Review-Url: https://codereview.chromium.org/2984443003 .
2017-07-19 20:30:21 -07:00
Siva Annamalai 23e3f55188 Adjust status file for some fasta front end test which are failing (see issue 30212).
Review-Url: https://codereview.chromium.org/2984663002 .
2017-07-19 19:21:41 -07:00
Jennifer Messerly 132067f685 ignore @proxy in strong mode
R=paulberry@google.com

Review-Url: https://codereview.chromium.org/2980383002 .
2017-07-19 18:17:01 -07:00
Siva Chandra bff25c89fe Revert "Add nonboxed closure class fields."
This is to get the vm-kernel bots go green.
Test failing on the bot: pkg/front_end/test/fasta/analyze_test

This reverts commit dc99692b41.

TBR=efortuna

Review-Url: https://codereview.chromium.org/2983933002 .
2017-07-19 17:23:37 -07:00
Emily Fortuna dc99692b41 Add nonboxed closure class fields.
BUG=
R=sra@google.com

Review-Url: https://codereview.chromium.org/2978263003 .
2017-07-19 15:30:07 -07:00
Konstantin Shcheglov 607445ae9b Delay finishing dart:core and dart:async libraries until after TypeProvider is set for the context.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2986493002 .
2017-07-19 14:55:49 -07:00
pq 70869b61f4 Update meta version pre-publish.
BUG=
R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2981313002 .
2017-07-19 14:30:47 -07:00
Vijay Menon 87ee6cc0d6 Polyfill only once
Avoid dcall on polyfill.

R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2983903002 .
2017-07-19 13:42:23 -07:00
Vijay Menon 99e672d1cb Registration-based approach to cross frame support.
This approach installs all Dart extension types onto a window whenever
that window is accessed.

See #28326

R=jmesserly@google.com

Review-Url: https://codereview.chromium.org/2980853002 .
2017-07-19 12:53:43 -07:00
Konstantin Shcheglov 94815c7bdb Include default values for default field formal parameters into text dump.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2981303002 .
2017-07-19 12:42:14 -07:00
Konstantin Shcheglov 3a4c33cc93 Resynthesize binary, prefix, and conditional expressions from Kernel.
R=paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2979303002 .
2017-07-19 12:36:49 -07:00
pq d5539d7d32 Update meta SDK constraint to be 2.0.0 dev friendly.
BUG=
R=brianwilkerson@google.com

Review-Url: https://codereview.chromium.org/2983853003 .
2017-07-19 12:31:08 -07:00
Konstantin Shcheglov f04aa833c1 Parenthesize expressions as needed in elements text dump.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2985503002 .
2017-07-19 12:29:38 -07:00
Sigmund Cherem 84828cff89 Random improvements in error reporting.
R=ahe@google.com

This mainly addresses comments and suggestions from
https://codereview.chromium.org/2979623002/
Review-Url: https://codereview.chromium.org/2980273002 .
2017-07-19 10:45:31 -07:00
Stephen Adams a433bfd3b3 Default value constants are created only call uses them
Currently this fails with:

Unhandled exception:
Expect.fail('Instantiated types mismatch:
 Unfound:
  _Marker')

The generated code also contains the class and the (unused) constant.

BUG=
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2980973003 .
2017-07-19 10:35:33 -07:00
Konstantin Shcheglov a295f782c0 Include TypeEnvironment into KernelResult.
We need it to use kernel.Expression.getStaticType().

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

Review-Url: https://codereview.chromium.org/2978333002 .
2017-07-19 09:40:33 -07:00
Konstantin Shcheglov bdd69ccd6c Remove UriReferencedElement with its uri/uriOffset/uriEnd properties.
The 'Move File' refactoring does not work, so I comment out most
of its code.

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

Review-Url: https://codereview.chromium.org/2982993003 .
2017-07-19 09:31:03 -07:00
Vijay Menon 12e32e230d Add hook to register global object
DDC will use this in a later CL.

R=alanknight@google.com, sra@google.com

Stephen: I assume this will get compiled out be dart2js.
Review-Url: https://codereview.chromium.org/2983813002 .
2017-07-19 05:46:07 -07:00
Johnni Winther 27a4cbeef9 Implement optimized mixin application in dart2js
This prepares for equivalence testing of shared mixins.

Review-Url: https://codereview.chromium.org/2983013002 .
2017-07-19 13:13:49 +02:00
Sigmund Cherem 2628d75c4b Fix bots, address duplicate error reporting later.
My CL broke dartk/vm tests because I stopped reporting some errors accidentaly.
I thought I was duplicating all error messages, but turns out that recoverable
errors were only reported in the line fixed here.

This reverts to the old behavior so we can address the reporting issues
separately. Added details to: https://github.com/dart-lang/sdk/issues/30194

BUG=

Review-Url: https://codereview.chromium.org/2977423002 .
2017-07-18 19:42:28 -07:00
Konstantin Shcheglov 90121b528a Remove the 'Move File' refactoring.
It has been broken since we switched to Analysis Driver.
Given that IDEA does not use it, there is little incentive to fix it.

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

Review-Url: https://codereview.chromium.org/2983783003 .
2017-07-18 17:59:20 -07:00
Sigmund Cherem 1aa139bc94 Unifying compiler context
Changes in this CL:
 - Updated CompilerContext:
    - it now contains a ProcessedOptions object

    - it no longer depends on CompilerCommandLine/CommandLine

    - it delegates to ProcessedOptions.report so all error reporting
      goes to one single place.

    - use "withContext" term instead of "withGlobalOptions" to be
      more clear about the intent

 - Changes in public API
    - added more options that correspond to flags in command-line
      fasta tools

    - default onError is different: we now use the
      command_line_reporting report, which prints and throws
      on fatal messages, but doesn't throw eagerly on all messages
      as before.

    - introduced "printMessages" option: make it easy to have
      both onError + command_line_reporting  (kernel-service.dart
      is the main use case at this time, other ideas welcome!)

    - renamed CompilationError to CompilationMessage

 - Other changes

    - set exit code is done on report, not on format
    - fixed corner cases not covered in previous CL
        - error reporting with missing-main needs to happen with
          a context
        - missing error cases when inferring .packages and input
          URIs are not file:* URIs

Ideas for follow up after this CL:
 - combine ProcessedOptions and CompilerContext into a single class
   (or extend one from the other)
 - switch onError to a stream

R=ahe@google.com

Review-Url: https://codereview.chromium.org/2982093003 .
2017-07-18 17:02:59 -07:00
Konstantin Shcheglov 749b61f8ec Resynthesize List/Map literals from Kernel.
R=paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2984583002 .
2017-07-18 16:39:16 -07:00
Bob Nystrom 1d8c3af663 Delete old tests that aren't used and/or useful any more.
R=efortuna@google.com

Review-Url: https://codereview.chromium.org/2976313002 .
2017-07-18 14:12:57 -07:00
Vijay Menon 7365a24d98 Fix DDC status
TBR=rnystrom@google.com

Review-Url: https://codereview.chromium.org/2981213002 .
2017-07-18 13:59:57 -07:00
Konstantin Shcheglov 9d5a249ed3 Resynthesize expressions for Kernel's StaticGet and PropertyGet.
Note, that we don't restore the original AST for StaticGet(s).
The original AST is not available in Kernel.
Instead we generate simple identifiers with correct elements.
It should be enough to compute constant values, although some clients
might have to adapt to the change.

R=paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/2983773002 .
2017-07-18 13:09:16 -07:00
Vijay Menon ab39958ac5 Dummy DDC implementation of MirrorSystem
It's a bit absurd that a bunch of tests are passing with this.

R=leafp@google.com

Review-Url: https://codereview.chromium.org/2978223002 .
2017-07-18 13:00:23 -07:00
Peter von der Ahé 4565719783 Remove number from operator mismatch message.
R=johnniwinther@google.com

Review-Url: https://codereview.chromium.org/2978903002 .
2017-07-18 14:43:11 +02:00
Peter von der Ahé 3709ff5150 Add closeBraceTokenFor and use it instead of BeginToken.
R=danrubel@google.com

Review-Url: https://codereview.chromium.org/2978073002 .
2017-07-18 13:57:10 +02:00
Zhivka Gucevska cbafc38513 Remove unused private methods in interpreter
BUG=
R=dmitryas@google.com

Review-Url: https://codereview.chromium.org/2978193002 .
2017-07-18 13:48:09 +02:00
Zhivka Gucevska d62ff42f0e Add support for binding 'this'
BUG=
R=dmitryas@google.com

Review-Url: https://codereview.chromium.org/2978893002 .
2017-07-18 13:18:54 +02:00
Zhivka Gucevska 1288ece5c8 Introduce statement continuations following the specification
The next statement to be executed is captured by a statement
continuation.

BUG=
R=dmitryas@google.com

Review-Url: https://codereview.chromium.org/2975173002 .
2017-07-18 13:03:39 +02:00