mirror of
https://github.com/dart-lang/sdk
synced 2024-09-22 18:23:41 +00:00
Fix 15721: When checking for bad overrides we must eagerly finalize superclasses.
R=regis@google.com Review URL: https://codereview.chromium.org//128263005 git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@31628 260f80e4-7a28-3924-810f-c04153c831b5
This commit is contained in:
parent
12ad69b7d4
commit
b7d93c342a
|
@ -1273,6 +1273,9 @@ void ClassFinalizer::ResolveAndFinalizeMemberTypes(const Class& cls) {
|
|||
// A constructor cannot override anything.
|
||||
for (intptr_t i = 0; i < interfaces.Length(); i++) {
|
||||
super_class ^= interfaces.At(i);
|
||||
// Finalize superclass since overrides check relies on all members
|
||||
// of the superclass to be finalized.
|
||||
FinalizeClass(super_class);
|
||||
overridden_function = super_class.LookupDynamicFunction(name);
|
||||
if (!overridden_function.IsNull() &&
|
||||
!function.HasCompatibleParametersWith(overridden_function,
|
||||
|
|
|
@ -164,8 +164,7 @@ class Stdin extends _StdStream implements Stream<List<int>> {
|
|||
*
|
||||
* Use [hasTerminal] to test if there is a terminal associated to stdout.
|
||||
*/
|
||||
class Stdout extends _StdSink {
|
||||
// TODO(15721): Should implement IOSink (for documentation purpose).
|
||||
class Stdout extends _StdSink implements IOSink {
|
||||
Stdout._(IOSink sink) : super(sink);
|
||||
|
||||
/**
|
||||
|
|
Loading…
Reference in a new issue