Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(4)

Unified Diff: tool/input_sdk/private/utils.dart

Issue 1771713002: Reorganize tool/input_sdk/private (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 4 years, 9 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « tool/input_sdk/private/types.dart ('k') | no next file » | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: tool/input_sdk/private/utils.dart
diff --git a/tool/input_sdk/private/utils.dart b/tool/input_sdk/private/utils.dart
deleted file mode 100644
index a04c780a4f52035ca05c6e549b438b9c2bbce4ae..0000000000000000000000000000000000000000
--- a/tool/input_sdk/private/utils.dart
+++ /dev/null
@@ -1,115 +0,0 @@
-// Copyright (c) 2015, 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._runtime;
-
-/// This library defines a set of general javascript utilities for us
-/// by the Dart runtime.
-// TODO(ochafik): Rewrite some of these in Dart when possible.
-
-final defineProperty = JS('', 'Object.defineProperty');
-final getOwnPropertyDescriptor = JS('', 'Object.getOwnPropertyDescriptor');
-final getOwnPropertyNames = JS('', 'Object.getOwnPropertyNames');
-final getOwnPropertySymbols = JS('', 'Object.getOwnPropertySymbols');
-
-final hasOwnProperty = JS('', 'Object.prototype.hasOwnProperty');
-
-// TODO(ochafik): Add ES6 class syntax support to JS intrinsics to avoid this.
-final StrongModeError = JS('', '''(function() {
- function StrongModeError(message) {
- Error.call(this);
- this.message = message;
- };
- Object.setPrototypeOf(StrongModeError.prototype, Error.prototype);
- return StrongModeError;
-})()''');
-
-/// This error indicates a strong mode specific failure.
-void throwStrongModeError(String message) => JS('', '''(() => {
- throw new $StrongModeError($message);
-})()''');
-
-/// This error indicates a bug in the runtime or the compiler.
-void throwInternalError(String message) => JS('', '''(() => {
- throw Error($message);
-})()''');
-
-getOwnNamesAndSymbols(obj) => JS('', '''(() => {
- return $getOwnPropertyNames($obj).concat($getOwnPropertySymbols($obj));
-})()''');
-
-safeGetOwnProperty(obj, String name) => JS('', '''(() => {
- let desc = $getOwnPropertyDescriptor($obj, $name);
- if (desc) return desc.value;
-})()''');
-
-/// Defines a lazy property.
-/// After initial get or set, it will replace itself with a value property.
-// TODO(jmesserly): reusing descriptor objects has been shown to improve
-// performance in other projects (e.g. webcomponents.js ShadowDOM polyfill).
-defineLazyProperty(to, name, desc) => JS('', '''(() => {
- let init = $desc.get;
- let value = null;
-
- function lazySetter(x) {
- init = null;
- value = x;
- }
- function circularInitError() {
- $throwInternalError('circular initialization for field ' + $name);
- }
- function lazyGetter() {
- if (init == null) return value;
-
- // Compute and store the value, guarding against reentry.
- let f = init;
- init = circularInitError;
- lazySetter(f());
- return value;
- }
- $desc.get = lazyGetter;
- $desc.configurable = true;
- if ($desc.set) $desc.set = lazySetter;
- return $defineProperty($to, $name, $desc);
-})()''');
-
-void defineLazy(to, from) => JS('', '''(() => {
- for (let name of $getOwnNamesAndSymbols($from)) {
- $defineLazyProperty($to, name, $getOwnPropertyDescriptor($from, name));
- }
-})()''');
-
-defineMemoizedGetter(obj, String name, getter) => JS('', '''(() => {
- return $defineLazyProperty($obj, $name, {get: $getter});
-})()''');
-
-copyTheseProperties(to, from, names) => JS('', '''(() => {
- for (let name of $names) {
- var desc = $getOwnPropertyDescriptor($from, name);
- if (desc != void 0) {
- $defineProperty($to, name, desc);
- } else {
- $defineLazyProperty($to, name, () => $from[name]);
- }
- }
- return $to;
-})()''');
-
-/// Copy properties from source to destination object.
-/// This operation is commonly called `mixin` in JS.
-copyProperties(to, from) => JS('', '''(() => {
- return $copyTheseProperties($to, $from, $getOwnNamesAndSymbols($from));
-})()''');
-
-/// Exports from one Dart module to another.
-@JSExportName('export')
-export_(to, from, show, hide) => JS('', '''(() => {
- if ($show == void 0 || $show.length == 0) {
- $show = $getOwnNamesAndSymbols($from);
- }
- if ($hide != void 0) {
- var hideMap = new Set($hide);
- $show = $show.filter((k) => !hideMap.has(k));
- }
- return $copyTheseProperties($to, $from, $show);
-})()''');
« no previous file with comments | « tool/input_sdk/private/types.dart ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698