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