| Index: runtime/bin/namespace_patch.dart
 | 
| diff --git a/runtime/bin/namespace_patch.dart b/runtime/bin/namespace_patch.dart
 | 
| new file mode 100644
 | 
| index 0000000000000000000000000000000000000000..8fc6463b38d35111e5b8032908bf74ec61e66605
 | 
| --- /dev/null
 | 
| +++ b/runtime/bin/namespace_patch.dart
 | 
| @@ -0,0 +1,45 @@
 | 
| +// 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.
 | 
| +
 | 
| +class _NamespaceImpl extends NativeFieldWrapperClass1 implements _Namespace {
 | 
| +  _NamespaceImpl._();
 | 
| +
 | 
| +  static _NamespaceImpl _create(_NamespaceImpl namespace, var n)
 | 
| +      native "Namespace_Create";
 | 
| +  static int _getPointer(_NamespaceImpl namespace)
 | 
| +      native "Namespace_GetPointer";
 | 
| +  static int _getDefault() native "Namespace_GetDefault";
 | 
| +
 | 
| +  // If the platform supports "namespaces", this method is called by the
 | 
| +  // embedder with the platform-specific namespace information.
 | 
| +  static _NamespaceImpl _cachedNamespace = null;
 | 
| +  static void _setupNamespace(var namespace) {
 | 
| +    _cachedNamespace = _create(new _NamespaceImpl._(), namespace);
 | 
| +  }
 | 
| +
 | 
| +  static _NamespaceImpl get _namespace {
 | 
| +    if (_cachedNamespace == null) {
 | 
| +      // The embedder has not supplied a namespace before one is needed, so
 | 
| +      // instead use a safe-ish default value.
 | 
| +      _cachedNamespace = _create(new _NamespaceImpl._(), _getDefault());
 | 
| +    }
 | 
| +    return _cachedNamespace;
 | 
| +  }
 | 
| +
 | 
| +  static int get _namespacePointer => _getPointer(_namespace);
 | 
| +}
 | 
| +
 | 
| +@patch
 | 
| +class _Namespace {
 | 
| +  @patch
 | 
| +  static void _setupNamespace(var namespace) {
 | 
| +    _NamespaceImpl._setupNamespace(namespace);
 | 
| +  }
 | 
| +
 | 
| +  @patch
 | 
| +  static _Namespace get _namespace => _NamespaceImpl._namespace;
 | 
| +
 | 
| +  @patch
 | 
| +  static int get _namespacePointer => _NamespaceImpl._namespacePointer;
 | 
| +}
 | 
| 
 |