| // Copyright (c) 2017, 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. |
| |
| part of dart.io; |
| |
| // Each Isolate may run in a different "namespace", which provides the scope in |
| // which file paths are resolved. |
| abstract class _Namespace { |
| // This getter does not increase the reference count on the underlying native |
| // object. It cannot be passed in a dispatch message to the IOService thread. |
| external static _Namespace get _namespace; |
| |
| // This getter does increase the reference count on the underlying native |
| // object. It must be passed in a dispatch message to the IOService thread. |
| external static int get _namespacePointer; |
| |
| // This sets up the Isolate's namespace. It should be set up by the embedder. |
| // If it is not set up by the embedder, relative paths will be resolved |
| // relative to the process's current working directory and absolute paths will |
| // be left relative to the file system root. |
| @pragma("vm:entry-point") |
| external static void _setupNamespace(var namespace); |
| } |