library;
import self as self;
import "dart:core" as core;
import "dart:isolate" as iso;

import "dart:isolate";

static field dynamic subscription;
static method onData(dynamic x) → void {
  core::print(x);
  self::subscription{dynamic}.cancel();
}
static method main() → dynamic {
  core::String* string = core::String::fromCharCode(65);
  iso::ReceivePort* port = iso::ReceivePort::•();
  self::subscription = port.{iso::ReceivePort::listen}(#C1){((dynamic) →* void, {cancelOnError: core::bool*, onDone: () →* void, onError: core::Function*}) →* dart.async::StreamSubscription<dynamic>*};
  port.{iso::ReceivePort::sendPort}{iso::SendPort*}.{iso::SendPort::send}(string){(core::Object*) →* void};
}

constants  {
  #C1 = tearoff self::onData
}
