// 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); }