// Copyright (c) 2013, the Dart project authors. Please see the AUTHORS file // for details. All rights reserved. Use of this source code is governed by a // BSD-style license that can be found in the LICENSE file. patch class _AsyncRun { /* patch */ static void _scheduleImmediate(void callback()) { if (_ScheduleImmediate._closure == null) { // TODO(9001): don't default to using the Timer to enqueue the immediate // callback. _createTimer(Duration.ZERO, callback); return; } _ScheduleImmediate._closure(callback); } } typedef void _ScheduleImmediateClosure(void callback()); class _ScheduleImmediate { static _ScheduleImmediateClosure _closure; } void _setScheduleImmediateClosure(_ScheduleImmediateClosure closure) { _ScheduleImmediate._closure = closure; }