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>
17 lines
362 B
Dart
17 lines
362 B
Dart
// Copyright (c) 2018, the Dart project authors. Please see the AUTHORS file
|
|
// for details. All rights reserved. Use of this source code is governed by a
|
|
// BSD-style license that can be found in the LICENSE file.
|
|
|
|
abstract class I {
|
|
void call();
|
|
}
|
|
|
|
class C implements I {
|
|
void call([int x]) {}
|
|
}
|
|
|
|
main() {
|
|
I i = new C();
|
|
void Function([int]) f = i;
|
|
}
|