Commit Graph

32 Commits

Author SHA1 Message Date
Konstantin Shcheglov feb02ba034 Resynthesize types of function typed formal parameters.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: I1afb45879afc67806dfb3d6fe18b172fd2b3c01a
Reviewed-on: https://dart-review.googlesource.com/6645
Reviewed-by: Paul Berry <paulberry@google.com>
2017-09-18 19:36:30 +00:00
Konstantin Shcheglov 50c964b819 Add option for AnalysisDriver to use KernelDriver and KernelResynthesizer.
Run NonErrorResolverTest_Driver tests with this option enabled.
We fail 163 out of 478 tests, or 35%.

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

Bug:
Change-Id: Iac6154a14a1357fe239b0140f9f66de792825693
Reviewed-on: https://dart-review.googlesource.com/6340
Commit-Queue: Konstantin Shcheglov <scheglov@google.com>
Reviewed-by: Brian Wilkerson <brianwilkerson@google.com>
2017-09-18 02:09:14 +00:00
Konstantin Shcheglov 9665f39e51 Resynthesize InvalidType as dynamic. Triage some tests.
R=brianwilkerson@google.com, paulberry@google.com

Bug:
Change-Id: I011e76f6243a1ff51884d2beb1a4f1d3f0e2251d
Reviewed-on: https://dart-review.googlesource.com/5891
Reviewed-by: Paul Berry <paulberry@google.com>
2017-09-14 21:11:03 +00:00
Konstantin Shcheglov d1988c9c7f Fix for using enums as InterfaceType(s) when resynthesize from Kernel.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/3006983002 .
2017-08-31 14:06:48 -07:00
Konstantin Shcheglov b617cde778 Resynthesize references to type parameters in default expressions from Kernel.
Update the related tests to take into account the fact that front-end
infers type arguments, but the summaries linker does not.

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

Review-Url: https://codereview.chromium.org/3009933002 .
2017-08-31 12:37:26 -07:00
Konstantin Shcheglov d704073f40 Resynthesize ?? expressions from Kernel.
R=brianwilkerson@google.com, paulberry@google.com
BUG=

Review-Url: https://codereview.chromium.org/3006973002 .
2017-08-31 12:18:22 -07:00
Konstantin Shcheglov 46f0940a0a Resynthesize assert constructor initializers and parameter references.
R=ahe@google.com, paulberry@google.com, sigmund@google.com
BUG=

Review-Url: https://codereview.chromium.org/3002633002 .
2017-08-23 10:06:49 -07:00
Konstantin Shcheglov 936569da6d Add implicit dart:core import when resynthsize from Kernel.
R=ahe@google.com, paulberry@google.com, sigmund@google.com
BUG=

Review-Url: https://codereview.chromium.org/3000913002 .
2017-08-23 09:50:25 -07:00
Brian Wilkerson 01b024c006 Replace comment style generic method syntax with real syntax
Review-Url: https://codereview.chromium.org/2997593002 .
2017-08-08 10:34:09 -07:00
Konstantin Shcheglov 4ef7fd14c1 Record Typedef reference into Kernel FunctionType and resynthesyze typedefs in Analyzer.
R=ahe@google.com, paulberry@google.com, sigmund@google.com
BUG=

Review-Url: https://codereview.chromium.org/2986393002 .
2017-08-04 12:02:26 -07:00
Konstantin Shcheglov 60a576108c Store parts in Kernel Library, resynthesize parts in Analyzer.
R=ahe@google.com, brianwilkerson@google.com, sigmund@google.com
BUG=

Review-Url: https://codereview.chromium.org/2988373002 .
2017-08-03 10:36:29 -07:00
Konstantin Shcheglov 4ea75e9f8e Resynthesize values of final fields of classes with const constructors.
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2989243003 .
2017-08-02 10:26:32 -07:00
Konstantin Shcheglov 1ab12931e4 A couple of tweaks.
R=brianwilkerson@google.com
BUG=

Review-Url: https://codereview.chromium.org/2988253002 .
2017-08-01 15:24:08 -07:00
Konstantin Shcheglov d632e82cd3 Resynthesize type literals from Kernel.
Most tests still fail, because in Kernel typedef(s) are stored as
explicit FunctionType(s), i.e. we lose their names. I'm going to
amend this in the next CL.

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

Review-Url: https://codereview.chromium.org/2992143002 .
2017-08-01 11:29:03 -07:00
Konstantin Shcheglov 7951e0d8d2 Resynthesize typedefs from Kernel.
An alternative approach - use names of positional arguments recorded
for Kernel FunctionType(s).

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

Review-Url: https://codereview.chromium.org/2992083002 .
2017-08-01 09:32:22 -07:00
Konstantin Shcheglov e64115f93f Add Class.isEnum to Kernel and use it to resynthesize enums in Analyzer.
R=ahe@google.com, brianwilkerson@google.com, sigmund@google.com
BUG=

Review-Url: https://codereview.chromium.org/2988113002 .
2017-07-31 10:35:03 -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 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 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
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 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
Jens Johansen 68bb955b7f Fix bot failure because of missed update of AssertStatement
BUG=

Review-Url: https://codereview.chromium.org/2943103002 .
2017-06-16 13:28:49 +02:00
Asger Feldthaus 876db33bf4 Add import/export declaration AST node boilerplate to kernel.
Previously only deferred imports were represented. They have been
merged with the general form.

BUG=
R=kmillikin@google.com

Review-Url: https://codereview.chromium.org/2852373002 .
2017-05-18 14:38:08 +02:00
Asger Feldthaus 3a162d4241 Add flag to track if a constructor is the synthetic default constructor.
BUG=
R=ahe@google.com

Review-Url: https://codereview.chromium.org/2856123002 .
2017-05-03 12:48:11 +02:00
Erik Corry aa6353b6da Dart SDK Spelling b, c, and d.
R=kmillikin@google.com
BUG=

Review-Url: https://codereview.chromium.org/2850783002 .
2017-05-01 08:28:10 +02:00
Paul Berry 77d26a330c Add top level type inference logic for integer literals.
This CL hooks up enough infrastructure for doing simple top level type
inference of variables whose initializer is an int.

Additional type inference rules will be added in follow-up CLs.

R=karlklose@google.com

Review-Url: https://codereview.chromium.org/2828253003 .
2017-04-21 04:38:18 -07:00
Jacob Richman 6ac3a24a2e Run formatter on the analyzer.
BUG=
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2826693004 .
2017-04-19 08:24:09 -07:00
Paul Berry 80101ac407 Re-duplicate frontend_accessors.dart.
This was de-duped in 02573b3caa, however
there's a problem: In order to share type inference and error
detection logic between Fasta's AstBuilder and BodyBuilder classes,
Fasta's use of the accessors needs to be rewritten to make use of the
shadow hierarchy (see
pkg/front_end/lib/src/fasta/builder/shadow_ast.dart), which kernel
shouldn't have to depend on.

R=ahe@google.com

Review-Url: https://codereview.chromium.org/2794013003 .
2017-04-04 10:48:50 -07:00
Peter von der Ahé 02573b3caa Remove Fasta's copy of accessors.dart.
R=asgerf@google.com, jensj@google.com

Review-Url: https://codereview.chromium.org/2777883002 .
2017-03-27 14:04:43 +02:00
Jens Johansen a1a34a1c84 [kernel] Debugging of switch statement
BUG=
R=ahe@google.com, kmillikin@google.com

Review-Url: https://codereview.chromium.org/2750013002 .
2017-03-21 11:36:48 +01:00
Brian Wilkerson 9a66373ee9 Fix errors and warnings
R=scheglov@google.com

Review-Url: https://codereview.chromium.org/2760993002 .
2017-03-20 11:30:32 -07:00
Paul Berry 685045d619 Start unraveling circularities between analyzer and front_end/kernel.
This CL moves many of the files from
pkg/front_end/lib/src/fasta/analyzer/ to pkg/analyzer/lib/src/fasta/.
It also moves two files from pkg/kernel/lib/analyzer/ to
pkg/analyzer/lib/src/kernel/.

This reduces the amount of circularity between analyzer and
front_end/kernel so that there are no files in front_end or kernel
which are both dependend upon by analyzer and depend upon analyzer.  I
will clean up the remaining circularities in future CLs.

There should be no functional change.

R=ahe@google.com, asgerf@google.com, kmillikin@google.com, scheglov@google.com, sigmund@google.com

Review-Url: https://codereview.chromium.org/2756593004 .
2017-03-17 05:56:06 -07:00