54906759b9
If a concrete class implements an interface containing a name that's private to a different library, any attempt to invoke that name will result in an exception getting thrown. Previously, such attempts would result in the call being diverted to noSuchMethod. This change closes a loophole in Dart's privacy system, and paves the way for a future implementation of promotion for private final fields (see https://github.com/dart-lang/language/issues/2020). Bug: https://github.com/dart-lang/sdk/issues/49687 Change-Id: Ie55805e0fc77dc39713761a80a42c28bd0504722 Tested: language tests Reviewed-on: https://dart-review.googlesource.com/c/sdk/+/255640 Reviewed-by: Johnni Winther <johnniwinther@google.com> Commit-Queue: Paul Berry <paulberry@google.com> Reviewed-by: Lasse Nielsen <lrn@google.com>