Clean up patches so they can be compiled by Fasta.

Change-Id: Ie436375c78496366accf0ba82938e54cbe30b143
Reviewed-on: https://dart-review.googlesource.com/3001
Commit-Queue: Peter von der Ahé <ahe@google.com>
Reviewed-by: Lasse R.H. Nielsen <lrn@google.com>
Reviewed-by: Vyacheslav Egorov <vegorov@google.com>
Reviewed-by: Johnni Winther <johnniwinther@google.com>
This commit is contained in:
Peter von der Ahé 2017-10-05 14:05:50 +00:00 committed by commit-bot@chromium.org
parent 89644d89d2
commit e8aef37eac
64 changed files with 348 additions and 50 deletions

View file

@ -2,7 +2,52 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
import 'dart:nativewrappers'; /// Note: the VM concatenates all patch files into a single patch file. This
/// file is the first patch in "dart:io" which contains all the imports used by
/// patches of that library. We plan to change this when we have a shared front
/// end and simply use parts.
import "dart:_internal" show VMLibraryHooks, patch;
import "dart:async"
show
Completer,
Future,
Stream,
StreamConsumer,
StreamController,
StreamSubscription,
Timer,
Zone,
scheduleMicrotask;
import "dart:collection" show HashMap;
import "dart:convert" show Encoding;
import "dart:developer" show registerExtension;
import "dart:isolate" show RawReceivePort, ReceivePort, SendPort;
import "dart:math" show min;
import "dart:nativewrappers" show NativeFieldWrapperClass1;
import "dart:typed_data" show Uint8List;
/// These are the additional parts of this patch library:
// part "directory_patch.dart";
// part "eventhandler_patch.dart";
// part "file_patch.dart";
// part "file_system_entity_patch.dart";
// part "filter_patch.dart";
// part "io_service_patch.dart";
// part "platform_patch.dart";
// part "process_patch.dart";
// part "socket_patch.dart";
// part "stdio_patch.dart";
// part "secure_socket_patch.dart";
// part "sync_socket_patch.dart";
@patch @patch
class _IOCrypto { class _IOCrypto {

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "common_patch.dart";
@patch @patch
class _Directory { class _Directory {
@patch @patch

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "common_patch.dart";
@patch @patch
class _EventHandler { class _EventHandler {
@patch @patch

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "common_patch.dart";
@patch @patch
class _File { class _File {
@patch @patch

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "common_patch.dart";
@patch @patch
class FileStat { class FileStat {
@patch @patch

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "common_patch.dart";
class _FilterImpl extends NativeFieldWrapperClass1 implements RawZLibFilter { class _FilterImpl extends NativeFieldWrapperClass1 implements RawZLibFilter {
void process(List<int> data, int start, int end) native "Filter_Process"; void process(List<int> data, int start, int end) native "Filter_Process";

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "common_patch.dart";
class _IOServicePorts { class _IOServicePorts {
// We limit the number of IO Service ports per isolate so that we don't // We limit the number of IO Service ports per isolate so that we don't
// spawn too many threads all at once, which can crash the VM on Windows. // spawn too many threads all at once, which can crash the VM on Windows.

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "common_patch.dart";
@patch @patch
class _Platform { class _Platform {
@patch @patch

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "common_patch.dart";
@patch @patch
class _WindowsCodePageDecoder { class _WindowsCodePageDecoder {
@patch @patch

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "common_patch.dart";
@patch @patch
class SecureSocket { class SecureSocket {
@patch @patch

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "common_patch.dart";
@patch @patch
class RawServerSocket { class RawServerSocket {
@patch @patch

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "common_patch.dart";
@patch @patch
class _StdIOUtils { class _StdIOUtils {
@patch @patch

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "common_patch.dart";
@patch @patch
class RawSynchronousSocket { class RawSynchronousSocket {
@patch @patch

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "core_patch.dart";
// TODO(srdjan): Use shared array implementation. // TODO(srdjan): Use shared array implementation.
class _List<E> extends FixedLengthListBase<E> { class _List<E> extends FixedLengthListBase<E> {
factory _List(length) native "List_allocate"; factory _List(length) native "List_allocate";

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "core_patch.dart";
// The _GrowableArrayMarker class is used to signal to the List() factory // The _GrowableArrayMarker class is used to signal to the List() factory
// whether a parameter was passed. // whether a parameter was passed.
class _GrowableArrayMarker implements int { class _GrowableArrayMarker implements int {

View file

@ -2,7 +2,17 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
import "dart:_internal" hide Symbol; /// Note: the VM concatenates all patch files into a single patch file. This
/// file is the first patch in "dart:async" which contains all the imports used
/// by patches of that library. We plan to change this when we have a shared
/// front end and simply use parts.
import "dart:_internal" show VMLibraryHooks, patch;
/// These are the additional parts of this patch library:
// part "deferred_load_patch.dart";
// part "schedule_microtask_patch.dart";
// part "timer_patch.dart";
// Equivalent of calling FATAL from C++ code. // Equivalent of calling FATAL from C++ code.
_fatal(msg) native "DartAsync_fatal"; _fatal(msg) native "DartAsync_fatal";

View file

@ -2,7 +2,7 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
import 'dart:typed_data' show Uint32List; // part of "core_patch.dart";
// Copyright 2009 The Go Authors. All rights reserved. // Copyright 2009 The Go Authors. All rights reserved.
// Use of this source code is governed by a BSD-style // Use of this source code is governed by a BSD-style

View file

@ -2,7 +2,7 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// Dart core library. // part of "core_patch.dart";
@patch @patch
class bool { class bool {

View file

@ -2,7 +2,7 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
import 'dart:core' hide Symbol; // part of "internal_patch.dart";
class ClassID { class ClassID {
static int getID(Object value) native "ClassID_getID"; static int getID(Object value) native "ClassID_getID";

View file

@ -2,8 +2,19 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
import 'dart:typed_data'; /// Note: the VM concatenates all patch files into a single patch file. This
import 'dart:_internal' as internal; /// file is the first patch in "dart:collection" which contains all the imports
/// used by patches of that library. We plan to change this when we have a
/// shared front end and simply use parts.
import "dart:_internal" as internal;
import "dart:_internal" show patch;
import "dart:typed_data" show Uint32List;
/// These are the additional parts of this patch library:
// part "compact_hash.dart";
@patch @patch
class HashMap<K, V> { class HashMap<K, V> {
@ -433,7 +444,7 @@ class _HashMapEntry {
_HashMapEntry(this.key, this.value, this.hashCode, this.next); _HashMapEntry(this.key, this.value, this.hashCode, this.next);
} }
abstract class _HashMapIterable<E> extends EfficientLengthIterable<E> { abstract class _HashMapIterable<E> extends internal.EfficientLengthIterable<E> {
final HashMap _map; final HashMap _map;
_HashMapIterable(this._map); _HashMapIterable(this._map);
int get length => _map.length; int get length => _map.length;

View file

@ -2,8 +2,7 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
import 'dart:typed_data' show Uint32List; // part of "collection_patch.dart";
import 'dart:_internal' as internal;
// Hash table with open addressing that separates the index from keys/values. // Hash table with open addressing that separates the index from keys/values.

View file

@ -2,7 +2,16 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
import "dart:_internal" show POWERS_OF_TEN; /// Note: the VM concatenates all patch files into a single patch file. This
/// file is the first patch in "dart:convert" which contains all the imports
/// used by patches of that library. We plan to change this when we have a
/// shared front end and simply use parts.
import "dart:_internal" show POWERS_OF_TEN, patch;
import "dart:typed_data" show Uint8List, Uint16List;
/// This patch library has no additional parts.
// JSON conversion. // JSON conversion.

View file

@ -2,12 +2,81 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
import "dart:async"; /// Note: the VM concatenates all patch files into a single patch file. This
import 'dart:convert' show ASCII, JSON; /// file is the first patch in "dart:core" which contains all the imports
import "dart:isolate"; /// used by patches of that library. We plan to change this when we have a
import "dart:math"; /// shared front end and simply use parts.
import "dart:typed_data";
import 'dart:_internal' as internal; import "dart:_internal" as internal show Symbol;
import "dart:_internal"
show
ClassID,
CodeUnits,
EfficientLengthIterable,
FixedLengthListBase,
IterableElementError,
ListIterator,
Lists,
POWERS_OF_TEN,
SubListIterable,
UnmodifiableListBase,
is64Bit,
makeFixedListUnmodifiable,
makeListFixedLength,
patch;
import "dart:async" show Completer, Future, Timer;
import "dart:collection"
show
HashMap,
IterableBase,
LinkedHashMap,
LinkedList,
LinkedListEntry,
ListBase,
Maps,
UnmodifiableMapView;
import "dart:convert" show ASCII, Encoding, JSON, LATIN1, UTF8;
import "dart:isolate" show Isolate;
import "dart:math" show Random;
import "dart:typed_data" show Uint8List, Int64List, Uint16List, Uint32List;
/// These are the additional parts of this patch library:
// part "array.dart";
// part "array_patch.dart";
// part "bigint.dart";
// part "bool_patch.dart";
// part "date_patch.dart";
// part "double.dart";
// part "double_patch.dart";
// part "errors_patch.dart";
// part "expando_patch.dart";
// part "function.dart";
// part "function_patch.dart";
// part "growable_array.dart";
// part "identical_patch.dart";
// part "immutable_map.dart";
// part "integers.dart";
// part "integers_patch.dart";
// part "invocation_mirror_patch.dart";
// part "lib_prefix.dart";
// part "map_patch.dart";
// part "null_patch.dart";
// part "object_patch.dart";
// part "regexp_patch.dart";
// part "stacktrace.dart";
// part "stopwatch_patch.dart";
// part "string_buffer_patch.dart";
// part "string_patch.dart";
// part "type_patch.dart";
// part "uri_patch.dart";
// part "weak_property.dart";
// The members of this class are cloned and added to each class that // The members of this class are cloned and added to each class that
// represents an enum type. // represents an enum type.

View file

@ -1,7 +1,8 @@
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// Dart core library.
// part of "core_patch.dart";
// VM implementation of DateTime. // VM implementation of DateTime.
@patch @patch

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "async_patch.dart";
final Set<String> _loadedLibraries = new Set<String>(); final Set<String> _loadedLibraries = new Set<String>();
@patch @patch

View file

@ -2,8 +2,20 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
import 'dart:isolate'; /// Note: the VM concatenates all patch files into a single patch file. This
import 'dart:_internal' hide Symbol; /// file is the first patch in "dart:developer" which contains all the imports
/// used by patches of that library. We plan to change this when we have a
/// shared front end and simply use parts.
import "dart:_internal" show patch;
import "dart:async" show Future, Zone;
import "dart:isolate" show SendPort;
/// These are the additional parts of this patch library:
// part "profiler.dart"
// part "timeline.dart"
@patch @patch
bool debugger({bool when: true, String message}) native "Developer_debugger"; bool debugger({bool when: true, String message}) native "Developer_debugger";

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "core_patch.dart";
class _Double implements double { class _Double implements double {
factory _Double.fromInteger(int value) native "Double_doubleFromInteger"; factory _Double.fromInteger(int value) native "Double_doubleFromInteger";

View file

@ -1,7 +1,8 @@
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// Dart core library.
// part of "core_patch.dart";
// VM implementation of double. // VM implementation of double.

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "core_patch.dart";
@patch @patch
class Error { class Error {
@patch @patch

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "core_patch.dart";
@patch @patch
class Expando<T> { class Expando<T> {
@patch @patch

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "core_patch.dart";
class _Closure implements Function { class _Closure implements Function {
bool operator ==(other) native "Closure_equals"; bool operator ==(other) native "Closure_equals";

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "core_patch.dart";
@patch @patch
class Function { class Function {
// TODO(regis): Pass type arguments to generic functions. Wait for API spec. // TODO(regis): Pass type arguments to generic functions. Wait for API spec.

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "core_patch.dart";
class _GrowableList<T> extends ListBase<T> { class _GrowableList<T> extends ListBase<T> {
void insert(int index, T element) { void insert(int index, T element) {
if ((index < 0) || (index > length)) { if ((index < 0) || (index > length)) {

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "core_patch.dart";
@patch @patch
bool identical(Object a, Object b) native "Identical_comparison"; bool identical(Object a, Object b) native "Identical_comparison";

View file

@ -1,8 +1,10 @@
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// Immutable map class for compiler generated map literals.
// part of "core_patch.dart";
/// Immutable map class for compiler generated map literals.
class _ImmutableMap<K, V> implements Map<K, V> { class _ImmutableMap<K, V> implements Map<K, V> {
final _ImmutableList _kvPairs; final _ImmutableList _kvPairs;

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "core_patch.dart";
// This marker interface represents 64-bit integers in the compiler for type // This marker interface represents 64-bit integers in the compiler for type
// propagation and range analysis. It is implemented by _Smi and _Mint. // propagation and range analysis. It is implemented by _Smi and _Mint.
abstract class _int64 implements int {} abstract class _int64 implements int {}

View file

@ -1,10 +1,10 @@
// Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file // Copyright (c) 2012, the Dart project authors. Please see the AUTHORS file
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// Dart core library.
// VM implementation of int. // part of "core_patch.dart";
/// VM implementation of int.
@patch @patch
class int { class int {
@patch @patch
@ -24,7 +24,7 @@ class int {
return null; // Empty. return null; // Empty.
} }
} }
var smiLimit = internal.is64Bit ? 18 : 9; var smiLimit = is64Bit ? 18 : 9;
if ((last - ix) >= smiLimit) { if ((last - ix) >= smiLimit) {
return null; // May not fit into a Smi. return null; // May not fit into a Smi.
} }
@ -109,7 +109,7 @@ class int {
static int _parseRadix( static int _parseRadix(
String source, int radix, int start, int end, int sign) { String source, int radix, int start, int end, int sign) {
int tableIndex = (radix - 2) * 4 + (internal.is64Bit ? 2 : 0); int tableIndex = (radix - 2) * 4 + (is64Bit ? 2 : 0);
int blockSize = _PARSE_LIMITS[tableIndex]; int blockSize = _PARSE_LIMITS[tableIndex];
int length = end - start; int length = end - start;
if (length <= blockSize) { if (length <= blockSize) {

View file

@ -2,8 +2,19 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
import 'dart:core' hide Symbol; /// Note: the VM concatenates all patch files into a single patch file. This
import 'dart:typed_data' show Int32List; /// file is the first patch in "dart:_internal" which contains all the imports
/// used by patches of that library. We plan to change this when we have a
/// shared front end and simply use parts.
import "dart:core" hide Symbol;
import "dart:typed_data" show Int32List;
/// These are the additional parts of this patch library:
// part "class_id_fasta.dart";
// part "print_patch.dart";
// part "symbol_patch.dart";
@patch @patch
List makeListFixedLength(List growableList) List makeListFixedLength(List growableList)

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "core_patch.dart";
// NOTE: When making changes to this class, please also update // NOTE: When making changes to this class, please also update
// `VmTarget.instantiateInvocation` and `VmTarget._invocationType` in // `VmTarget.instantiateInvocation` and `VmTarget._invocationType` in
// `pkg/kernel/lib/target/vm.dart`. // `pkg/kernel/lib/target/vm.dart`.

View file

@ -2,8 +2,20 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
/// Note: the VM concatenates all patch files into a single patch file. This
/// file is the first patch in "dart:isolate" which contains all the imports
/// used by patches of that library. We plan to change this when we have a
/// shared front end and simply use parts.
import "dart:_internal" show VMLibraryHooks, patch;
import "dart:async"
show Completer, Future, Stream, StreamController, StreamSubscription, Timer;
import "dart:collection" show HashMap; import "dart:collection" show HashMap;
import "dart:_internal" hide Symbol;
/// These are the additional parts of this patch library:
// part "timer_impl.dart";
@patch @patch
class ReceivePort { class ReceivePort {

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "core_patch.dart";
// This type corresponds to the VM-internal class LibraryPrefix. // This type corresponds to the VM-internal class LibraryPrefix.
class _LibraryPrefix { class _LibraryPrefix {
bool _load() native "LibraryPrefix_load"; bool _load() native "LibraryPrefix_load";

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "core_patch.dart";
@patch @patch
class Map<K, V> { class Map<K, V> {
// Factory constructing a Map from a parser generated Map literal. // Factory constructing a Map from a parser generated Map literal.

View file

@ -2,9 +2,16 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
import "dart:typed_data"; /// Note: the VM concatenates all patch files into a single patch file. This
/// file is the first patch in "dart:math" which contains all the imports used
/// by patches of that library. We plan to change this when we have a shared
/// front end and simply use parts.
// A VM patch of the dart:math library. import "dart:_internal" show patch;
import "dart:typed_data" show Uint32List;
/// There are no parts of this patch library.
@patch @patch
T min<T extends num>(T a, T b) { T min<T extends num>(T a, T b) {

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "mirrors_patch.dart";
class _MirrorReference { class _MirrorReference {
factory _MirrorReference._uninstantiable() { factory _MirrorReference._uninstantiable() {
throw new UnsupportedError("class _MirrorReference cannot be instantiated"); throw new UnsupportedError("class _MirrorReference cannot be instantiated");

View file

@ -2,10 +2,7 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// VM-specific implementation of the dart:mirrors library. // part of "mirrors_patch.dart";
import "dart:collection" show UnmodifiableListView, UnmodifiableMapView;
import "dart:_internal" as internal;
var _dirty = false; var _dirty = false;
final _emptyList = new UnmodifiableListView([]); final _emptyList = new UnmodifiableListView([]);

View file

@ -2,10 +2,23 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
import "dart:async" show Future; /// Note: the VM concatenates all patch files into a single patch file. This
import "dart:collection" show UnmodifiableListView, UnmodifiableMapView; /// file is the first patch in "dart:_internal" which contains all the imports
/// used by patches of that library. We plan to change this when we have a
/// shared front end and simply use parts.
import "dart:_internal" as internal; import "dart:_internal" as internal;
import "dart:_internal" show patch;
import "dart:async" show Future;
import "dart:collection" show UnmodifiableListView, UnmodifiableMapView;
/// These are the additional parts of this patch library:
// part "mirrors_impl.dart";
// part "mirror_reference.dart";
/** /**
* Returns a [MirrorSystem] for the current isolate. * Returns a [MirrorSystem] for the current isolate.
*/ */

View file

@ -2,7 +2,7 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// Dart core library. // part of "core_patch.dart";
@patch @patch
class Null { class Null {

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "core_patch.dart";
int _getHash(obj) native "Object_getHash"; int _getHash(obj) native "Object_getHash";
int _setHash(obj, hash) native "Object_setHash"; int _setHash(obj, hash) native "Object_setHash";

View file

@ -2,7 +2,7 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
import 'dart:core' hide Symbol; // part of "internal_patch.dart";
// A print-closure gets a String that should be printed. In general the // A print-closure gets a String that should be printed. In general the
// string is a line, but it may contain "\n" characters. // string is a line, but it may contain "\n" characters.

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "developer.dart";
@patch @patch
class UserTag { class UserTag {
@patch @patch

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "core_patch.dart";
@patch @patch
class RegExp { class RegExp {
@patch @patch
@ -46,13 +48,13 @@ class RegExp {
static const int _MAX_CACHE_SIZE = 256; static const int _MAX_CACHE_SIZE = 256;
static final Map<_RegExpHashKey, _RegExpHashValue> _cache = static final Map<_RegExpHashKey, _RegExpHashValue> _cache =
new HashMap<_RegExpHashKey, _RegExpHashValue>(); new HashMap<_RegExpHashKey, _RegExpHashValue>();
static final internal.LinkedList<_RegExpHashKey> _recentlyUsed = static final LinkedList<_RegExpHashKey> _recentlyUsed =
new internal.LinkedList<_RegExpHashKey>(); new LinkedList<_RegExpHashKey>();
} }
// Represents both a key in the regular expression cache as well as its // Represents both a key in the regular expression cache as well as its
// corresponding entry in the LRU list. // corresponding entry in the LRU list.
class _RegExpHashKey extends internal.LinkedListEntry<_RegExpHashKey> { class _RegExpHashKey extends LinkedListEntry<_RegExpHashKey> {
final String pattern; final String pattern;
final bool multiLine; final bool multiLine;
final bool caseSensitive; final bool caseSensitive;

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "async_patch.dart";
@patch @patch
class _AsyncRun { class _AsyncRun {
@patch @patch

View file

@ -2,7 +2,9 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// VM internal StackTrace implementation. // part of "core_patch.dart";
/// VM internal StackTrace implementation.
class _StackTrace implements StackTrace { class _StackTrace implements StackTrace {
// toString() is overridden on the C++ side. // toString() is overridden on the C++ side.
} }

View file

@ -2,7 +2,7 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// A VM patch of the stopwatch part of dart:core. // part of "core_patch.dart";
@patch @patch
class Stopwatch { class Stopwatch {

View file

@ -2,7 +2,7 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
import 'dart:typed_data' show Uint16List; // part of "core_patch.dart";
@patch @patch
class StringBuffer { class StringBuffer {

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "core_patch.dart";
const int _maxAscii = 0x7f; const int _maxAscii = 0x7f;
const int _maxLatin1 = 0xff; const int _maxLatin1 = 0xff;
const int _maxUtf16 = 0xffff; const int _maxUtf16 = 0xffff;

View file

@ -2,7 +2,7 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
import 'dart:core' hide Symbol; // part of "internal_patch.dart";
@patch @patch
class Symbol { class Symbol {

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "developer.dart";
@patch @patch
bool _isDartStreamEnabled() native "Timeline_isDartStreamEnabled"; bool _isDartStreamEnabled() native "Timeline_isDartStreamEnabled";

View file

@ -2,7 +2,7 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
import 'dart:_internal' hide Symbol; // part of "isolate_patch.dart";
// Timer heap implemented as a array-based binary heap[0]. // Timer heap implemented as a array-based binary heap[0].
// This allows for O(1) `first`, O(log(n)) `remove`/`removeFirst` and O(log(n)) // This allows for O(1) `first`, O(log(n)) `remove`/`removeFirst` and O(log(n))

View file

@ -2,7 +2,7 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
import 'dart:_internal' hide Symbol; // part of "async_patch.dart";
@patch @patch
class Timer { class Timer {

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "core_patch.dart";
// These Dart classes correspond to the VM internal implementation classes. // These Dart classes correspond to the VM internal implementation classes.
// Equivalent of RawAbstractType. // Equivalent of RawAbstractType.

View file

@ -2,10 +2,35 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
import "dart:_internal" hide Symbol; /// Note: the VM concatenates all patch files into a single patch file. This
/// file is the first patch in "dart:typed_data" which contains all the imports
/// used by patches of that library. We plan to change this when we have a
/// shared front end and simply use parts.
import "dart:_internal"
show
ClassID,
CodeUnits,
ExpandIterable,
IterableElementError,
ListMapView,
Lists,
MappedIterable,
MappedIterable,
ReversedListIterable,
SkipWhileIterable,
Sort,
SubListIterable,
TakeWhileIterable,
WhereIterable,
patch;
import "dart:collection" show ListBase; import "dart:collection" show ListBase;
import 'dart:math' show Random; import 'dart:math' show Random;
/// There are no parts in patch library:
@patch @patch
class ByteData implements TypedData { class ByteData implements TypedData {
@patch @patch

View file

@ -2,7 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// VM implementation of Uri. // part of "core_patch.dart";
typedef Uri _UriBaseClosure(); typedef Uri _UriBaseClosure();
Uri _unsupportedUriBase() { Uri _unsupportedUriBase() {
@ -19,6 +20,7 @@ class Uri {
static Uri get base => _uriBaseClosure(); static Uri get base => _uriBaseClosure();
} }
/// VM implementation of Uri.
@patch @patch
class _Uri { class _Uri {
static final bool _isWindowsCached = _isWindowsPlatform; static final bool _isWindowsCached = _isWindowsPlatform;

View file

@ -2,6 +2,8 @@
// for details. All rights reserved. Use of this source code is governed by a // 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. // BSD-style license that can be found in the LICENSE file.
// part of "core_patch.dart";
class _WeakProperty { class _WeakProperty {
factory _WeakProperty(key, value) => _new(key, value); factory _WeakProperty(key, value) => _new(key, value);