Commit Graph

207 Commits

Author SHA1 Message Date
Asger Feldthaus a4656a204b [kernel] Incomplete global type propagation.
To make this more digestible, a lot of things are intentionally left
out from the implementation:
 - Some AST nodes, like super calls and await
 - Handling of externals
 - Avoidance of redundant variables in the constraint system

The solver is currently field-based, which is also something I plan to
change.

Suggested reading order:
- constraints.dart
- solver.dart
- canonicalizer.dart
- builder.dart
- visualizer.dart

R=kasperl@google.com

Review URL: https://chromereviews.googleplex.com/442937013 .
2016-06-03 16:22:36 +02:00
Asger Feldthaus c0c21cef23 [kernel] Add a tool for diagnosing where time is spent in the frontend.
BUG=
R=kmillikin@google.com, kustermann@google.com

Review URL: https://chromereviews.googleplex.com/442627013 .
2016-06-01 13:26:12 +02:00
Asger Feldthaus b61129ee84 [kernel] Support interface member resolution in class hierarchy.
This is useful for handling of externals in tree shaking and type
propagation.

BUG=
R=ahe@google.com

Review URL: https://chromereviews.googleplex.com/435947013 .
2016-05-27 11:25:00 +02:00
Asger Feldthaus 9e4e37a4ae [kernel] Add more convenience methods and tweak the behavior of toString().
Also contains a bugfix for a missing visitor call.

BUG=
R=ahe@google.com

Review URL: https://chromereviews.googleplex.com/438627013 .
2016-05-25 13:56:43 +02:00
Asger Feldthaus e340a3b0ac [kernel] Implement DartType.hashCode and add some tests.
BUG=
R=ahe@google.com

Review URL: https://chromereviews.googleplex.com/437757013 .
2016-05-25 13:09:59 +02:00
Asger Feldthaus 77d0b4b244 [kernel] Support member resolution in class hierarchy.
Review URL: https://chromereviews.googleplex.com/417107013 .
2016-05-09 14:12:40 +02:00
Asger Feldthaus 811a47d430 [kernel] Initial implementation of Dart Kernel.
Contains:
- Command-line tool
- Kernel AST
- Binary serialization
- Printing as text
- Frontend based on analyzer
- Class hierarchy and type algebra
2016-04-26 10:39:15 +02:00