| library test; |
| import self as self; |
| import "dart:core" as core; |
| |
| abstract class B extends core::Object { |
| synthetic constructor •() → self::B |
| : super core::Object::•() |
| ; |
| abstract method foo() → void; |
| } |
| abstract class C extends self::B { |
| synthetic constructor •() → self::C |
| : super self::B::•() |
| ; |
| abstract method bar() → void; |
| } |
| static method f<T extends self::B = self::B>(self::f::T a) → void { |
| if(a is core::String) { |
| a.{self::B::foo}(); |
| } |
| if(a is self::C) { |
| a{self::f::T extends self::C}.{self::C::bar}(); |
| } |
| } |
| static method main() → dynamic {} |