library; import self as self; import "dart:core" as core; import "dart:async" as asy; import "dart:async"; extension Extension on asy::Stream* { method call = self::Extension|call; tearoff call = self::Extension|get#call; } static method main() → void { asy::StreamController* controller = asy::StreamController::•(); let final asy::StreamController* #t1 = controller in let final (dynamic) →* Null #t2 = (dynamic s) → Null { core::print(s); } in self::Extension|call(#t1.{asy::StreamController::stream}, #t2); } static method Extension|call(lowered final asy::Stream* #this, core::Function* onData) → asy::StreamSubscription* { return #this.{asy::Stream::listen}((self::Extension|call::T* d) → Null { onData.call(d); }); } static method Extension|get#call(lowered final asy::Stream* #this) → (core::Function*) →* asy::StreamSubscription* return (core::Function* onData) → asy::StreamSubscription* => self::Extension|call(#this, onData);