| library; |
| import self as self; |
| import "dart:core" as core; |
| import "mixin_library.dart" as mix; |
| |
| import "org-dartlang-testcase:///mixin_library.dart"; |
| |
| class Super<S extends core::Object = dynamic> extends core::Object { |
| synthetic constructor •() → self::Super<self::Super::S> |
| : super core::Object::•() |
| ; |
| method foo() → dynamic |
| return 40; |
| method f() → dynamic |
| return 3; |
| } |
| abstract class _C&Super&Mixin<V extends core::Object = dynamic> extends self::Super<self::_C&Super&Mixin::V> implements mix::Mixin<self::_C&Super&Mixin::V> { |
| field dynamic x = mix::f()/* from org-dartlang-testcase:///mixin_library.dart */; |
| field dynamic y = null /* from org-dartlang-testcase:///mixin_library.dart */; |
| field dynamic z = null /* from org-dartlang-testcase:///mixin_library.dart */; |
| generic-covariant-impl field self::_C&Super&Mixin::V t = null /* from org-dartlang-testcase:///mixin_library.dart */; |
| synthetic constructor •() → self::_C&Super&Mixin<self::_C&Super&Mixin::V> |
| : super self::Super::•() |
| ; |
| method /* from org-dartlang-testcase:///mixin_library.dart */ foo() → dynamic |
| return super.foo().+(mix::f()); |
| method /* from org-dartlang-testcase:///mixin_library.dart */ g(generic-covariant-impl self::_C&Super&Mixin::V a) → self::_C&Super&Mixin::V |
| return null; |
| method /* from org-dartlang-testcase:///mixin_library.dart */ h() → dynamic |
| return mix::V(); |
| method /* from org-dartlang-testcase:///mixin_library.dart */ l() → dynamic |
| return mix::_private(); |
| method /* from org-dartlang-testcase:///mixin_library.dart */ _privateMethod() → dynamic |
| return 49; |
| method /* from org-dartlang-testcase:///mixin_library.dart */ publicMethod() → dynamic |
| return this.{mix::Mixin::_privateMethod}(); |
| } |
| class C<V extends core::Object = dynamic> extends self::_C&Super&Mixin<self::C::V> { |
| synthetic constructor •() → self::C<self::C::V> |
| : super self::_C&Super&Mixin::•() |
| ; |
| } |
| abstract class _D&Super&Mixin extends self::Super<dynamic> implements mix::Mixin<dynamic> { |
| field dynamic x = mix::f()/* from org-dartlang-testcase:///mixin_library.dart */; |
| field dynamic y = null /* from org-dartlang-testcase:///mixin_library.dart */; |
| field dynamic z = null /* from org-dartlang-testcase:///mixin_library.dart */; |
| generic-covariant-impl field dynamic t = null /* from org-dartlang-testcase:///mixin_library.dart */; |
| synthetic constructor •() → self::_D&Super&Mixin |
| : super self::Super::•() |
| ; |
| method /* from org-dartlang-testcase:///mixin_library.dart */ foo() → dynamic |
| return super.foo().+(mix::f()); |
| method /* from org-dartlang-testcase:///mixin_library.dart */ g(generic-covariant-impl dynamic a) → dynamic |
| return null; |
| method /* from org-dartlang-testcase:///mixin_library.dart */ h() → dynamic |
| return mix::V(); |
| method /* from org-dartlang-testcase:///mixin_library.dart */ l() → dynamic |
| return mix::_private(); |
| method /* from org-dartlang-testcase:///mixin_library.dart */ _privateMethod() → dynamic |
| return 49; |
| method /* from org-dartlang-testcase:///mixin_library.dart */ publicMethod() → dynamic |
| return this.{mix::Mixin::_privateMethod}(); |
| } |
| class D extends self::_D&Super&Mixin { |
| synthetic constructor •() → self::D |
| : super self::_D&Super&Mixin::•() |
| ; |
| } |
| class C2<V extends core::Object = dynamic> extends self::Super<self::C2::V> implements mix::Mixin<self::C2::V> { |
| field dynamic x = mix::f()/* from org-dartlang-testcase:///mixin_library.dart */; |
| field dynamic y = null /* from org-dartlang-testcase:///mixin_library.dart */; |
| field dynamic z = null /* from org-dartlang-testcase:///mixin_library.dart */; |
| generic-covariant-impl field self::C2::V t = null /* from org-dartlang-testcase:///mixin_library.dart */; |
| synthetic constructor •() → self::C2<self::C2::V> |
| : super self::Super::•() |
| ; |
| method /* from org-dartlang-testcase:///mixin_library.dart */ foo() → dynamic |
| return super.foo().+(mix::f()); |
| method /* from org-dartlang-testcase:///mixin_library.dart */ g(generic-covariant-impl self::C2::V a) → self::C2::V |
| return null; |
| method /* from org-dartlang-testcase:///mixin_library.dart */ h() → dynamic |
| return mix::V(); |
| method /* from org-dartlang-testcase:///mixin_library.dart */ l() → dynamic |
| return mix::_private(); |
| method /* from org-dartlang-testcase:///mixin_library.dart */ _privateMethod() → dynamic |
| return 49; |
| method /* from org-dartlang-testcase:///mixin_library.dart */ publicMethod() → dynamic |
| return this.{mix::Mixin::_privateMethod}(); |
| } |
| class D2 extends self::Super<dynamic> implements mix::Mixin<dynamic> { |
| field dynamic x = mix::f()/* from org-dartlang-testcase:///mixin_library.dart */; |
| field dynamic y = null /* from org-dartlang-testcase:///mixin_library.dart */; |
| field dynamic z = null /* from org-dartlang-testcase:///mixin_library.dart */; |
| generic-covariant-impl field dynamic t = null /* from org-dartlang-testcase:///mixin_library.dart */; |
| synthetic constructor •() → self::D2 |
| : super self::Super::•() |
| ; |
| method /* from org-dartlang-testcase:///mixin_library.dart */ foo() → dynamic |
| return super.foo().+(mix::f()); |
| method /* from org-dartlang-testcase:///mixin_library.dart */ g(generic-covariant-impl dynamic a) → dynamic |
| return null; |
| method /* from org-dartlang-testcase:///mixin_library.dart */ h() → dynamic |
| return mix::V(); |
| method /* from org-dartlang-testcase:///mixin_library.dart */ l() → dynamic |
| return mix::_private(); |
| method /* from org-dartlang-testcase:///mixin_library.dart */ _privateMethod() → dynamic |
| return 49; |
| method /* from org-dartlang-testcase:///mixin_library.dart */ publicMethod() → dynamic |
| return this.{mix::Mixin::_privateMethod}(); |
| } |
| static method main() → dynamic { |
| core::print(new self::C::•<dynamic>().foo()); |
| core::print(new self::C2::•<dynamic>().foo()); |
| } |
| |
| library test.mixin_library; |
| // |
| // Problems in library: |
| // |
| // pkg/front_end/testcases/rasta/mixin_library.dart:16:18: Warning: Superclass has no method named 'foo'. |
| // foo() => super.foo() + f(); |
| // ^^^ |
| // |
| import self as mix; |
| import "dart:core" as core; |
| |
| class Mixin<T extends core::Object = dynamic> extends core::Object { |
| field dynamic x = mix::f(); |
| field dynamic y = null; |
| field dynamic z = null; |
| generic-covariant-impl field mix::Mixin::T t = null; |
| synthetic constructor •() → mix::Mixin<mix::Mixin::T> |
| : super core::Object::•() |
| ; |
| method foo() → dynamic |
| return super.foo().+(mix::f()); |
| method g(generic-covariant-impl mix::Mixin::T a) → mix::Mixin::T |
| return null; |
| method h() → dynamic |
| return mix::V(); |
| method l() → dynamic |
| return mix::_private(); |
| method _privateMethod() → dynamic |
| return 49; |
| method publicMethod() → dynamic |
| return this.{mix::Mixin::_privateMethod}(); |
| } |
| static method f() → dynamic |
| return 2; |
| static method V() → dynamic |
| return 87; |
| static method _private() → dynamic |
| return 117; |
| static method foo(dynamic m) → dynamic |
| return m._privateMethod(); |