db08061424
Previously, we were setting `expression` incorrectly after generating the implicit tear-off of .call, so if an implicit downcast was needed as well, it was not attached to the proper kernel node, and the resulting kernel representation was invalid. Addresses the front end manifestation of #32426. Change-Id: Ibd86b75c54a53db1fc4606b7583910c57e1c4aae Reviewed-on: https://dart-review.googlesource.com/45522 Commit-Queue: Paul Berry <paulberry@google.com> Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
21 lines
493 B
Plaintext
21 lines
493 B
Plaintext
library;
|
|
import self as self;
|
|
import "dart:core" as core;
|
|
|
|
abstract class I extends core::Object {
|
|
synthetic constructor •() → void
|
|
: super core::Object::•()
|
|
;
|
|
abstract method call() → void;
|
|
}
|
|
class C extends core::Object implements self::I {
|
|
synthetic constructor •() → void
|
|
: super core::Object::•()
|
|
;
|
|
method call([core::int x = null]) → void {}
|
|
}
|
|
static method main() → dynamic {
|
|
self::I i = new self::C::•();
|
|
([core::int]) → void f = i;
|
|
}
|