kernel
kernel copied to clipboard
Dart IR (Intermediate Representation) -- moved to dart-lang/sdk
Commit 0defa95239024bf36b62f59d42130037cadfa519 introduced sorting of named parameters which apparently doesn't play well with native stuff. E.g. the test "co19/LibTest/core/Match/operator_subscript_A01_t01" fails because lib/regexp.cc (at about line 23) just takes in parameter...
Currently `dartk` translates ```dart class Foo { } ``` to ``` class Foo extends core::Object { constructor •() → void : super core::Object::•(); } ``` The VM has [logic](https://github.com/dart-lang/sdk/blob/master/runtime/vm/kernel_reader.cc#L257) to...
We should consider canonicalizing the following in the kernel IR: - [ ] Constants - [ ] Types - [ ] Names
Tracking issue for missing type inference features, not including minor fixes, and in no particular order. Soundness: - [ ] Handle objects with user-defined noSuchMethod - [x] Handle objects with...
Use this issue to track general modular compilation concerns. This is very incomplete, but the general plan so far is this: The binary format currently uses symbolic references, which generally...
Do we think the front end should canonicalize mixin applications? i.e. Should this ``` class Base {} class Mixin {} class C1 extends Base with Mixin {} class C2 extends...
The translation from analyzer to kernel generates an `InvalidStatement` or `InvalidExpression` when we can detect at compile-time that a runtime error should be thrown. This statement throws at runtime, but...
This ``` class A { foo() => 1; } main() { var o = new A(); print(o#foo); } ``` gets translated to ``` class A extends core::Object { constructor •()...
To use kernel as a frontend, dart2js needs to know which elements are loaded deferred. We also need to know which imports cause the element to be in scope in...
The dartk and rastak compilers handle mixins differently in terms of the implements clause. ``` class Base { } class Mixin { } class Foo extends Base with Mixin {}...