Files
sdk/runtime/bin/namespace_patch.dart
T
Samir Jindel 5572df1458 [vm/precomp] Fix name of vm:entry-point.
Change-Id: I907e59a9df9407f924c0518a185d5b28ab46e381
Cq-Include-Trybots: luci.dart.try:vm-kernel-win-release-x64-try,vm-kernel-optcounter-threshold-linux-release-x64-try,vm-kernel-precomp-linux-debug-x64-try,vm-kernel-precomp-linux-release-simarm-try,vm-kernel-precomp-linux-release-simarm64-try,vm-kernel-precomp-linux-release-x64-try,vm-kernel-precomp-win-release-x64-try
Reviewed-on: https://dart-review.googlesource.com/69971
Commit-Queue: Samir Jindel <sjindel@google.com>
Reviewed-by: Alexander Markov <alexmarkov@google.com>
2018-08-16 15:07:51 +00:00

47 lines
1.5 KiB
Dart

// 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
@pragma("vm:entry-point")
static void _setupNamespace(var namespace) {
_NamespaceImpl._setupNamespace(namespace);
}
@patch
static _Namespace get _namespace => _NamespaceImpl._namespace;
@patch
static int get _namespacePointer => _NamespaceImpl._namespacePointer;
}