| library /*isNonNullableByDefault*/; |
| import self as self; |
| import "dart:core" as core; |
| |
| class A extends core::Object { |
| synthetic constructor •() → self::A |
| : super core::Object::•() |
| ; |
| } |
| class B extends core::Object { |
| synthetic constructor •() → self::B |
| : super core::Object::•() |
| ; |
| } |
| extension _extension#0 on self::A { |
| method foo = self::_extension#0|foo; |
| tearoff foo = self::_extension#0|get#foo; |
| } |
| static method _extension#0|foo(lowered final self::A #this, self::A a, self::B b) → void {} |
| static method _extension#0|get#foo(lowered final self::A #this) → (self::A, self::B) → void |
| return (self::A a, self::B b) → void => self::_extension#0|foo(#this, a, b); |
| static method main() → void { |
| dynamic a = new self::A::•(); |
| dynamic b = new self::B::•(); |
| self::_extension#0|foo(new self::A::•(), a as{TypeError,ForDynamic,ForNonNullableByDefault} self::A, b as{TypeError,ForDynamic,ForNonNullableByDefault} self::B); |
| } |