Files
sdk/pkg/front_end/testcases/private_method_tearoff.dart
T
Daniel Hillerström eee8787a8d Generate noSuchMethod forwarders for private members inherited from a
class in a foreign library.

This CL changes the predicate which is used to decide whether to
generate noSuchMethod forwarders such that it returns true whenever
the class in question has a user defined no such method or the
enclosing library of the class is different from that of the member.

Closes https://github.com/dart-lang/sdk/issues/33727

Change-Id: I0ffcbb8c8bdd69e4261bcefce2251d31babc19cf
Reviewed-on: https://dart-review.googlesource.com/c/79209
Commit-Queue: Daniel Hillerström <hillerstrom@google.com>
Reviewed-by: Dmitry Stefantsov <dmitryas@google.com>
2018-10-12 13:58:10 +00:00

18 lines
571 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.
import './private_method_tearoff_lib.dart';
// `Bar' contains a private method `_f'. The function `baz' is declared in the
// same library as `Bar' and attempts to invoke `_f`. The generated Kernel code
// for `Foo' should contain a no such method forwarder for `_f'.
class Foo implements Bar {}
class Baz extends Foo {}
main() {
baz(new Foo());
}