| library; |
| // |
| // Problems in library: |
| // |
| // pkg/front_end/testcases/class_modifiers/issue52115/main.dart:10:16: Error: The class 'LinkedList' can't be implemented outside of its library because it's a base class. |
| // implements LegacyImplementBaseCore<E> {} |
| // ^ |
| // sdk/lib/collection/linked_list.dart:*: Context: The type 'LegacyImplementBaseCore' is a subtype of 'LinkedList', and 'LinkedList' is defined here. |
| // base class LinkedList<E extends LinkedListEntry<E>> extends Iterable<E> { |
| // ^ |
| // |
| // pkg/front_end/testcases/class_modifiers/issue52115/main.dart:13:45: Error: The class 'MapEntry' can't be implemented outside of its library because it's a final class. |
| // final class LegacyImplementFinal implements LegacyImplementFinalCore { |
| // ^ |
| // sdk/lib/core/map.dart:*: Context: The type 'LegacyImplementFinalCore' is a subtype of 'MapEntry', and 'MapEntry' is defined here. |
| // final class MapEntry<K, V> { |
| // ^ |
| // |
| // pkg/front_end/testcases/class_modifiers/issue52115/main.dart:20:16: Error: The type 'LegacyImplementBaseNoModifier' must be 'base', 'final' or 'sealed' because the supertype 'LinkedList' is 'base'. |
| // Try adding 'base', 'final', or 'sealed' to the type. |
| // abstract class LegacyImplementBaseNoModifier<E extends LinkedListEntry<E>> |
| // ^ |
| // |
| // pkg/front_end/testcases/class_modifiers/issue52115/main.dart:21:16: Error: The class 'LinkedList' can't be implemented outside of its library because it's a base class. |
| // implements LegacyImplementBaseCore<E> {} |
| // ^ |
| // sdk/lib/collection/linked_list.dart:*: Context: The type 'LegacyImplementBaseCore' is a subtype of 'LinkedList', and 'LinkedList' is defined here. |
| // base class LinkedList<E extends LinkedListEntry<E>> extends Iterable<E> { |
| // ^ |
| // |
| // pkg/front_end/testcases/class_modifiers/issue52115/main.dart:24:49: Error: The class 'MapEntry' can't be implemented outside of its library because it's a final class. |
| // class LegacyImplementFinalNoModifier implements LegacyImplementFinalCore { |
| // ^ |
| // sdk/lib/core/map.dart:*: Context: The type 'LegacyImplementFinalCore' is a subtype of 'MapEntry', and 'MapEntry' is defined here. |
| // final class MapEntry<K, V> { |
| // ^ |
| // |
| import self as self; |
| import "dart:collection" as col; |
| import "dart:core" as core; |
| import "main_lib.dart" as mai; |
| |
| import "dart:collection"; |
| import "org-dartlang-testcase:///main_lib.dart"; |
| |
| abstract base class LegacyImplementBase<E extends col::LinkedListEntry<self::LegacyImplementBase::E> = col::LinkedListEntry<dynamic>> extends core::Object implements mai::LegacyImplementBaseCore<self::LegacyImplementBase::E> { |
| synthetic constructor •() → self::LegacyImplementBase<self::LegacyImplementBase::E> |
| ; |
| } |
| final class LegacyImplementFinal extends core::Object implements mai::LegacyImplementFinalCore { |
| synthetic constructor •() → self::LegacyImplementFinal |
| ; |
| get key() → core::int |
| ; |
| get value() → core::int |
| ; |
| method toString() → core::String |
| ; |
| } |
| abstract class LegacyImplementBaseNoModifier<E extends col::LinkedListEntry<self::LegacyImplementBaseNoModifier::E> = col::LinkedListEntry<dynamic>> extends core::Object implements mai::LegacyImplementBaseCore<self::LegacyImplementBaseNoModifier::E> { |
| synthetic constructor •() → self::LegacyImplementBaseNoModifier<self::LegacyImplementBaseNoModifier::E> |
| ; |
| } |
| class LegacyImplementFinalNoModifier extends core::Object implements mai::LegacyImplementFinalCore { |
| synthetic constructor •() → self::LegacyImplementFinalNoModifier |
| ; |
| get key() → core::int |
| ; |
| get value() → core::int |
| ; |
| method toString() → core::String |
| ; |
| } |
| |
| library; |
| import self as mai; |
| import "dart:collection" as col; |
| import "dart:core" as core; |
| |
| import "dart:collection"; |
| |
| abstract class LegacyImplementBaseCore<E extends col::LinkedListEntry<mai::LegacyImplementBaseCore::E> = col::LinkedListEntry<dynamic>> extends core::Object implements col::LinkedList<mai::LegacyImplementBaseCore::E> { |
| synthetic constructor •() → mai::LegacyImplementBaseCore<mai::LegacyImplementBaseCore::E> |
| ; |
| } |
| class LegacyImplementFinalCore extends core::Object implements core::MapEntry<core::int, core::int> { |
| synthetic constructor •() → mai::LegacyImplementFinalCore |
| ; |
| get key() → core::int |
| ; |
| get value() → core::int |
| ; |
| method toString() → core::String |
| ; |
| } |