Switch libraries to using new tags.

Review URL: https://codereview.chromium.org//11419032

git-svn-id: https://dart.googlecode.com/svn/branches/bleeding_edge/dart@15499 260f80e4-7a28-3924-810f-c04153c831b5
This commit is contained in:
lrn@google.com 2012-11-29 08:54:30 +00:00
parent fe9de5c129
commit abd2cf311a
106 changed files with 1037 additions and 871 deletions

View file

@ -6,7 +6,7 @@
{
'sources': [
'../../sdk/lib/mirrors/mirrors.dart',
'../../sdk/lib/mirrors/mirror_classes.dart',
'mirrors.cc',
'mirrors.h',
'mirrors_impl.dart',

View file

@ -6,7 +6,7 @@ library dart_mirrors;
import 'dart:isolate';
part '../../../../mirrors/mirrors.dart';
part '../../../../mirrors/mirror_classes.dart';
/**
* Stub class for the mirror system.

View file

@ -2,6 +2,8 @@
// 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_collection;
// TODO(ngeoffray): Rename to Lists.
class Arrays {
static void copy(List src, int srcStart,

View file

@ -2,7 +2,7 @@
// 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.
library collection;
library dart_collection;
part 'arrays.dart';
part 'collections.dart';

View file

@ -2,6 +2,8 @@
// 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_collection;
/**
* The [Collections] class implements static methods useful when
* writing a class that implements [Collection] and the [iterator]

View file

@ -2,6 +2,8 @@
// 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_collection;
/*
* Helper class which implements complex [Map] operations
* in term of basic ones ([Map.keys], [Map.operator []],

View file

@ -2,6 +2,8 @@
// 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_collection;
/**
* A node in a splay tree. It holds the key, the value and the left
* and right children in the tree.

View file

@ -2,7 +2,7 @@
// 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.
// Dart core library.
part of dart_core;
class bool {
factory bool._uninstantiable() {

View file

@ -2,6 +2,8 @@
// 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_core;
/**
* The common interface of all collections.
*

View file

@ -2,7 +2,7 @@
// 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.
// Dart core library.
part of dart_core;
/**
* The signature of a generic comparison function.

View file

@ -2,43 +2,43 @@
// 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.
#library("dart:core");
library dart_core;
#import("dart:collection");
import "dart:collection";
#source("bool.dart");
#source("collection.dart");
#source("comparable.dart");
#source("date.dart");
#source("double.dart");
#source("duration.dart");
#source("errors.dart");
#source("exceptions.dart");
#source("expando.dart");
#source("expect.dart");
#source("function.dart");
#source("future.dart");
#source("future_impl.dart");
#source("hashable.dart");
#source("identical.dart");
#source("int.dart");
#source("invocation_mirror.dart");
#source("iterable.dart");
#source("iterator.dart");
#source("list.dart");
#source("map.dart");
#source("num.dart");
#source("object.dart");
#source("options.dart");
#source("pattern.dart");
#source("print.dart");
#source("queue.dart");
#source("regexp.dart");
#source("sequences.dart");
#source("set.dart");
#source("sort.dart");
#source("stopwatch.dart");
#source("string.dart");
#source("string_buffer.dart");
#source("strings.dart");
#source("type.dart");
part "bool.dart";
part "collection.dart";
part "comparable.dart";
part "date.dart";
part "double.dart";
part "duration.dart";
part "errors.dart";
part "exceptions.dart";
part "expando.dart";
part "expect.dart";
part "function.dart";
part "future.dart";
part "future_impl.dart";
part "hashable.dart";
part "identical.dart";
part "int.dart";
part "invocation_mirror.dart";
part "iterable.dart";
part "iterator.dart";
part "list.dart";
part "map.dart";
part "num.dart";
part "object.dart";
part "options.dart";
part "pattern.dart";
part "print.dart";
part "queue.dart";
part "regexp.dart";
part "sequences.dart";
part "set.dart";
part "sort.dart";
part "stopwatch.dart";
part "string.dart";
part "string_buffer.dart";
part "strings.dart";
part "type.dart";

View file

@ -2,7 +2,7 @@
// 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.
// Dart core library.
part of dart_core;
/**
* Date is the public interface to a point in time.

View file

@ -2,6 +2,8 @@
// 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_core;
// TODO: Convert this abstract class into a concrete class double
// that uses the patch class functionality to account for the
// different platform implementations.

View file

@ -2,7 +2,7 @@
// 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.
// Dart core library.
part of dart_core;
/**
* A [Duration] represents a time span. A duration can be negative.

View file

@ -2,6 +2,8 @@
// 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_core;
class Error {
const Error();
@ -75,7 +77,7 @@ class ArgumentError implements Error {
}
/**
* Exception thrown because of an index outside of the valid range.
* Error thrown because of an index outside of the valid range.
*
*/
class RangeError extends ArgumentError {

View file

@ -2,6 +2,8 @@
// 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_core;
// Exceptions are thrown either by the VM or from Dart code.
/**

View file

@ -2,6 +2,8 @@
// 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_core;
/**
* An [Expando] allows adding new properties to objects.
*/

View file

@ -2,6 +2,8 @@
// 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_core;
/**
* Expect is used for tests that do not want to make use of the
* Dart unit test library - for example, the core language tests.

View file

@ -2,7 +2,7 @@
// 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.
// Dart core library.
part of dart_core;
/**
* Super-type of all function types.

View file

@ -2,6 +2,8 @@
// 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_core;
/**
* A [Future] is used to obtain a value sometime in the future. Receivers of a
* [Future] can obtain the value by passing a callback to [then]. For example:

View file

@ -1,6 +1,8 @@
// Copyright 2012 Google Inc. All Rights Reserved.
// Dart core library.
part of dart_core;
class _FutureImpl<T> implements Future<T> {
bool _isComplete = false;

View file

@ -2,7 +2,7 @@
// 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.
// Dart core library.
part of dart_core;
/**
* Temporary interface for backwards compatibility.

View file

@ -2,6 +2,8 @@
// 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_core;
/**
* Check whether two references are to the same object.
*/

View file

@ -2,6 +2,8 @@
// 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_core;
/**
* Representation of Dart integers containing integer specific
* operations and specialization of operations inherited from [num].

View file

@ -2,6 +2,8 @@
// 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_core;
/**
* Representation of the invocation of a member on an object.
*

View file

@ -2,6 +2,8 @@
// 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_core;
/**
* The [Iterable] interface allows to get an [Iterator] out of an
* [Iterable] object.

View file

@ -2,6 +2,8 @@
// 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_core;
/**
* The [Iterator] class provides methods to iterate over an object. It
* is transparently used by the for-in construct to test for the end

View file

@ -2,6 +2,8 @@
// 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_core;
/**
* A [List] is an indexable collection with a length. It can be of
* fixed size or extendable.

View file

@ -2,6 +2,8 @@
// 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_core;
/**
* A [Map] is an associative container, mapping a key to a value.
* Null values are supported, but null keys are not.

View file

@ -2,7 +2,7 @@
// 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.
// Dart core library.
part of dart_core;
/**
* All numbers in dart are instances of [num].

View file

@ -2,6 +2,8 @@
// 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_core;
/**
* Everything in Dart is an [Object].
*/

View file

@ -2,7 +2,7 @@
// 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.
// Dart core library.
part of dart_core;
/**
* The Options object allows accessing the arguments which have been passed to

View file

@ -2,6 +2,8 @@
// 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_core;
abstract class Pattern {
Iterable<Match> allMatches(String str);
}

View file

@ -2,4 +2,6 @@
// 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_core;
external void print(Object object);

View file

@ -2,6 +2,8 @@
// 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_core;
/**
* A [Queue] is a collection that can be manipulated at both ends. One
* can iterate over the elements of a queue through [forEach] or with

View file

@ -2,6 +2,8 @@
// 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_core;
/**
* [Match] contains methods to manipulate a regular expression match.
*

View file

@ -2,6 +2,8 @@
// 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_core;
/**
* An indexed sequence of elements of the same type.
*

View file

@ -2,6 +2,8 @@
// 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_core;
/**
* This class is the public interface of a set. A set is a collection
* without duplicates.

View file

@ -2,6 +2,8 @@
// 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_core;
// TODO(ajohnsen): Remove once dart2js intercepters can work without it.
/**
* WARNING: This method is temporary and will go away soon.

View file

@ -2,6 +2,8 @@
// 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_core;
/**
* A simple [Stopwatch] interface to measure elapsed time.
*/

View file

@ -2,6 +2,8 @@
// 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_core;
/**
* The String class represents character strings. Strings are
* immutable. A string is represented by a list of 32-bit Unicode

View file

@ -2,6 +2,8 @@
// 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_core;
/**
* The StringBuffer class is useful for concatenating strings
* efficiently. Only on a call to [toString] are the strings

View file

@ -2,6 +2,8 @@
// 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_core;
abstract class Strings {
/**
* Joins all the given strings to create a new string.

View file

@ -2,6 +2,8 @@
// 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_core;
/**
* Runtime representation of a type.
*/

View file

@ -2,16 +2,16 @@
// 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.
#library('dart:crypto');
library dart_crypto;
#import('dart:math');
import 'dart:math';
#source('crypto_utils.dart');
#source('hash_utils.dart');
#source('hmac.dart');
#source('md5.dart');
#source('sha1.dart');
#source('sha256.dart');
part 'crypto_utils.dart';
part 'hash_utils.dart';
part 'hmac.dart';
part 'md5.dart';
part 'sha1.dart';
part 'sha256.dart';
/**
* Interface for cryptographic hash functions.

View file

@ -2,6 +2,8 @@
// 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_crypto;
class _LineWrappingStringBuffer {
_LineWrappingStringBuffer(int this._lineLength) : _sb = new StringBuffer();

View file

@ -2,6 +2,8 @@
// 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_crypto;
// Constants.
const _MASK_8 = 0xff;
const _MASK_32 = 0xffffffff;

View file

@ -2,6 +2,8 @@
// 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_crypto;
class _HMAC implements HMAC {
_HMAC(Hash this._hash, List<int> this._key) : _message = [];

View file

@ -2,6 +2,8 @@
// 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_crypto;
// The MD5 hasher is used to compute an MD5 message digest.
class _MD5 extends _HashBase implements MD5 {
_MD5() : super(16, 4, false) {

View file

@ -2,6 +2,8 @@
// 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_crypto;
// The SHA1 hasher is used to compute an SHA1 message digest.
class _SHA1 extends _HashBase implements SHA1 {
// Construct a SHA1 hasher object.

View file

@ -2,6 +2,8 @@
// 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_crypto;
// The SHA256 hasher is used to compute an SHA256 message digest.
class _SHA256 extends _HashBase implements SHA256 {
// Construct a SHA256 hasher object.

View file

@ -5,22 +5,22 @@
// Fake dart:html library for documentation.
/// The Dart HTML5 Library.
#library("dart:html");
library dart_html;
#source('interface/AbstractWorker.dartdoc');
#source('interface/Element.dartdoc');
#source('interface/Event.dartdoc');
#source('interface/EventTarget.dartdoc');
#source('interface/HttpRequest.dartdoc');
#source('interface/MouseEvent.dartdoc');
#source('interface/Storage.dartdoc');
#source('interface/Node.dartdoc');
#source('interface/UIEvent.dartdoc');
#source('interface/WebSocket.dartdoc');
part 'interface/AbstractWorker.dartdoc';
part 'interface/Element.dartdoc';
part 'interface/Event.dartdoc';
part 'interface/EventTarget.dartdoc';
part 'interface/HttpRequest.dartdoc';
part 'interface/MouseEvent.dartdoc';
part 'interface/Storage.dartdoc';
part 'interface/Node.dartdoc';
part 'interface/UIEvent.dartdoc';
part 'interface/WebSocket.dartdoc';
// Implementation files that appear to be necessary to load the sources.
//#source('nodoc-src/SomeFile.dart');
//part 'nodoc-src/SomeFile.dart';
// Global definitions.

View file

@ -2,6 +2,8 @@
// 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;
class _Base64 {
static const List<String> _encodingTable = const [
'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O',

View file

@ -2,6 +2,8 @@
// 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;
/**
* Utility class that holds a number of byte buffers and can deliver
* the bytes either one by one or in chunks.

View file

@ -2,6 +2,8 @@
// 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;
class _ChunkedInputStream implements ChunkedInputStream {
_ChunkedInputStream(InputStream this._input, int this._chunkSize)
: _bufferList = new _BufferList() {

View file

@ -2,6 +2,8 @@
// 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;
// Constants used when working with native ports.
const int _SUCCESS_RESPONSE = 0;
const int _ILLEGAL_ARGUMENT_RESPONSE = 1;

View file

@ -2,6 +2,8 @@
// 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;
/**
* [Directory] objects are used for working with directories.
*/

View file

@ -2,6 +2,7 @@
// 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;
class _Directory implements Directory {
static const CREATE_REQUEST = 0;

View file

@ -2,6 +2,8 @@
// 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;
class _EventHandler {
external static void _start();
external static _sendData(Object sender, ReceivePort receivePort, int data);

View file

@ -2,6 +2,7 @@
// 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;
/**
* FileMode describes the modes in which a file can be opened.

View file

@ -2,6 +2,8 @@
// 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;
class _FileInputStream extends _BaseDataInputStream implements InputStream {
_FileInputStream(String name)
: _data = const [],

View file

@ -2,6 +2,8 @@
// 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;
/**
* HTTP status codes.
*/

View file

@ -2,6 +2,8 @@
// 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;
// The close queue handles graceful closing of HTTP connections. When
// a connection is added to the queue it will enter a wait state
// waiting for all data written and possibly socket shutdown from

View file

@ -2,6 +2,8 @@
// 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;
// Global constants.
class _Const {
// Bytes for "HTTP".

View file

@ -2,6 +2,8 @@
// 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;
const String _DART_SESSION_ID = "DARTSESSID";
// A _HttpSession is a node in a double-linked list, with _next and _prev being

View file

@ -2,6 +2,8 @@
// 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;
class _HttpUtils {
static String decodeUrlEncodedString(String urlEncoded) {
// First check the string for any encoding.

View file

@ -2,6 +2,8 @@
// 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;
/**
* Basic input stream which supplies binary data.
*

View file

@ -10,46 +10,46 @@
* This library allows you to work with files, directories,
* sockets, processes, HTTP servers and clients, and more.
*/
#library('dart:io');
library dart_io;
#import('dart:crypto');
#import('dart:isolate');
#import('dart:math');
#import('dart:uri');
#import('dart:utf');
#import('dart:scalarlist');
import 'dart:crypto';
import 'dart:isolate';
import 'dart:math';
import 'dart:uri';
import 'dart:utf';
import 'dart:scalarlist';
#source('base64.dart');
#source('buffer_list.dart');
#source('chunked_stream.dart');
#source('common.dart');
#source('directory.dart');
#source('directory_impl.dart');
#source('eventhandler.dart');
#source('file.dart');
#source('file_impl.dart');
#source('http.dart');
#source('http_impl.dart');
#source('http_parser.dart');
#source('http_session.dart');
#source('http_utils.dart');
#source('input_stream.dart');
#source('list_stream.dart');
#source('list_stream_impl.dart');
#source('mime_multipart_parser.dart');
#source('output_stream.dart');
#source('path.dart');
#source('path_impl.dart');
#source('platform.dart');
#source('platform_impl.dart');
#source('process.dart');
#source('socket.dart');
#source('socket_stream_impl.dart');
#source('stdio.dart');
#source('stream_util.dart');
#source('string_stream.dart');
#source('timer_impl.dart');
#source('secure_socket.dart');
#source('secure_server_socket.dart');
#source('websocket.dart');
#source('websocket_impl.dart');
part 'base64.dart';
part 'buffer_list.dart';
part 'chunked_stream.dart';
part 'common.dart';
part 'directory.dart';
part 'directory_impl.dart';
part 'eventhandler.dart';
part 'file.dart';
part 'file_impl.dart';
part 'http.dart';
part 'http_impl.dart';
part 'http_parser.dart';
part 'http_session.dart';
part 'http_utils.dart';
part 'input_stream.dart';
part 'list_stream.dart';
part 'list_stream_impl.dart';
part 'mime_multipart_parser.dart';
part 'output_stream.dart';
part 'path.dart';
part 'path_impl.dart';
part 'platform.dart';
part 'platform_impl.dart';
part 'process.dart';
part 'socket.dart';
part 'socket_stream_impl.dart';
part 'stdio.dart';
part 'stream_util.dart';
part 'string_stream.dart';
part 'timer_impl.dart';
part 'secure_socket.dart';
part 'secure_server_socket.dart';
part 'websocket.dart';
part 'websocket_impl.dart';

View file

@ -2,6 +2,8 @@
// 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;
/**
* [ListInputStream] makes it possible to use the [InputStream]
* interface to stream over data that is received in chunks as lists

View file

@ -2,6 +2,8 @@
// 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;
/**
* Default implementation of [ListInputStream].
*/

View file

@ -2,6 +2,8 @@
// 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;
/**
* Parser for MIME multipart types of data as described in RFC 2046
* section 5.1.1. The data to parse is supplied through the [:update:]

View file

@ -2,6 +2,8 @@
// 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;
/**
* Output streams are used to write data sequentially to a data
* destination e.g. a connected socket or an open file.

View file

@ -2,6 +2,8 @@
// 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;
/**
* A Path, which is a String interpreted as a sequence of path segments,
* which are strings, separated by forward slashes.

View file

@ -2,6 +2,8 @@
// 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;
class _Path implements Path {
final String _path;
final bool isWindowsShare;

View file

@ -2,6 +2,8 @@
// 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;
/**
* The [Platform] class exposes details of the machine and operating
* system.

View file

@ -2,6 +2,8 @@
// 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;
class _Platform {
external static int _numberOfProcessors();
external static String _pathSeparator();

View file

@ -2,6 +2,8 @@
// 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;
// TODO(ager): The only reason for this class is that we
// cannot patch a top-level at this point.
class _ProcessUtils {

View file

@ -2,6 +2,7 @@
// 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;
abstract class SecureServerSocket implements ServerSocket {
/**

View file

@ -2,6 +2,8 @@
// 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;
/**
* SecureSocket provides a secure (SSL or TLS) client connection to a server.
* The certificate provided by the server is checked

View file

@ -2,6 +2,8 @@
// 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;
abstract class ServerSocket {
/**
* Constructs a new server socket, binds it to a given address and port,

View file

@ -2,6 +2,8 @@
// 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;
class _SocketInputStream implements InputStream {
_SocketInputStream(Socket socket) : _socket = socket {
if (_socket._closed) _closed = true;

View file

@ -2,6 +2,8 @@
// 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;
const int _STDIO_HANDLE_TYPE_TERMINAL = 0;
const int _STDIO_HANDLE_TYPE_PIPE = 1;
const int _STDIO_HANDLE_TYPE_FILE = 2;

View file

@ -2,6 +2,8 @@
// 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;
abstract class _BaseDataInputStream {
int available();

View file

@ -2,6 +2,8 @@
// 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;
// Interface for decoders decoding binary data into string data. The
// decoder keeps track of line breaks during decoding.
abstract class _StringDecoder {

View file

@ -2,6 +2,8 @@
// 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;
class _Timer implements Timer {
// Set jitter to wake up timer events that would happen in _TIMER_JITTER ms.
static const int _TIMER_JITTER = 0;

View file

@ -2,6 +2,8 @@
// 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;
/**
* Web socket status codes used when closing a web socket connection.
*/

View file

@ -2,6 +2,8 @@
// 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;
const String _webSocketGUID = "258EAFA5-E914-47DA-95CA-C5AB0DC85B11";
class _WebSocketMessageType {

View file

@ -2,6 +2,8 @@
// 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_isolate;
class IsolateSpawnException implements Exception {
const IsolateSpawnException(String this._s);
String toString() => "IsolateSpawnException: '$_s'";

View file

@ -2,7 +2,7 @@
// 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.
#library("dart:isolate");
library dart_isolate;
#source("base.dart");
#source("timer.dart");
part "base.dart";
part "timer.dart";

View file

@ -2,6 +2,8 @@
// 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_isolate;
abstract class Timer {
/**
* Creates a new timer. The [callback] callback is invoked after

View file

@ -2,9 +2,9 @@
// 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.
#library("dart:json");
library dart_json;
#import('dart:math');
import 'dart:math';
// JSON parsing and serialization.

View file

@ -2,7 +2,7 @@
// 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.
// A part of the dart:math library.
part of dart_math;
/**
* Base of the natural logarithms.

View file

@ -2,7 +2,7 @@
// 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.
#library("dart:math");
library dart_math;
#source("base.dart");
#source("random.dart");
part "base.dart";
part "random.dart";

View file

@ -2,7 +2,7 @@
// 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.
// A part of the dart:math library.
part of dart_math;
/**
* A random number generator. The default implementation supplies a stream of

View file

@ -0,0 +1,744 @@
// 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
// BSD-style license that can be found in the LICENSE file.
// Commented out until supported by VM.
// part of dart_mirrors;
// For the purposes of the mirrors library, we adopt a naming
// convention with respect to getters and setters. Specifically, for
// some variable or field...
//
// var myField;
//
// ...the getter is named 'myField' and the setter is named
// 'myField='. This allows us to assign unique names to getters and
// setters for the purposes of member lookup.
/**
* A [MirrorSystem] is the main interface used to reflect on a set of
* associated libraries.
*
* At runtime each running isolate has a distinct [MirrorSystem].
*
* It is also possible to have a [MirrorSystem] which represents a set
* of libraries which are not running -- perhaps at compile-time. In
* this case, all available reflective functionality would be
* supported, but runtime functionality (such as invoking a function
* or inspecting the contents of a variable) would fail dynamically.
*/
abstract class MirrorSystem {
/**
* An immutable map from from library names to mirrors for all
* libraries known to this mirror system.
*/
Map<String, LibraryMirror> get libraries;
/**
* A mirror on the isolate associated with this [MirrorSystem].
* This may be null if this mirror system is not running.
*/
IsolateMirror get isolate;
/**
* A mirror on the [:dynamic:] type.
*/
TypeMirror get dynamicType;
/**
* A mirror on the [:void:] type.
*/
TypeMirror get voidType;
}
/**
* Returns a [MirrorSystem] for the current isolate.
*/
MirrorSystem currentMirrorSystem() {
return _Mirrors.currentMirrorSystem();
}
/**
* Creates a [MirrorSystem] for the isolate which is listening on
* the [SendPort].
*/
Future<MirrorSystem> mirrorSystemOf(SendPort port) {
return _Mirrors.mirrorSystemOf(port);
}
/**
* Returns an [InstanceMirror] for some Dart language object.
*
* This only works if this mirror system is associated with the
* current running isolate.
*/
InstanceMirror reflect(Object reflectee) {
return _Mirrors.reflect(reflectee);
}
/**
* A [Mirror] reflects some Dart language entity.
*
* Every [Mirror] originates from some [MirrorSystem].
*/
abstract class Mirror {
/**
* The [MirrorSystem] that contains this mirror.
*/
MirrorSystem get mirrors;
}
/**
* An [IsolateMirror] reflects an isolate.
*/
abstract class IsolateMirror implements Mirror {
/**
* A unique name used to refer to an isolate in debugging messages.
*/
String get debugName;
/**
* Does this mirror reflect the currently running isolate?
*/
bool get isCurrent;
/**
* A mirror on the root library for this isolate.
*/
LibraryMirror get rootLibrary;
}
/**
* A [DeclarationMirror] reflects some entity declared in a Dart program.
*/
abstract class DeclarationMirror implements Mirror {
/**
* The simple name for this Dart language entity.
*
* The simple name is in most cases the the identifier name of the
* entity, such as 'method' for a method [:void method() {...}:] or
* 'mylibrary' for a [:#library('mylibrary');:] declaration.
*/
String get simpleName;
/**
* The fully-qualified name for this Dart language entity.
*
* This name is qualified by the name of the owner. For instance,
* the qualified name of a method 'method' in class 'Class' in
* library 'library' is 'library.Class.method'.
*
* TODO(turnidge): Specify whether this name is unique. Currently
* this is a gray area due to lack of clarity over whether library
* names are unique.
*/
String get qualifiedName;
/**
* A mirror on the owner of this function. This is the declaration
* immediately surrounding the reflectee.
*
* Note that for libraries, the owner will be [:null:].
*/
DeclarationMirror get owner;
/**
* Is this declaration private?
*
* Note that for libraries, this will be [:false:].
*/
bool get isPrivate;
/**
* Is this declaration top-level?
*
* This is defined to be equivalent to:
* [:mirror.owner != null && mirror.owner is LibraryMirror:]
*/
bool get isTopLevel;
/**
* The source location of this Dart language entity.
*/
SourceLocation get location;
}
/**
* An [ObjectMirror] is a common superinterface of [InstanceMirror],
* [ClassMirror], and [LibraryMirror] that represents their shared
* functionality.
*
* For the purposes of the mirrors library, these types are all
* object-like, in that they support method invocation and field
* access. Real Dart objects are represented by the [InstanceMirror]
* type.
*
* See [InstanceMirror], [ClassMirror], and [LibraryMirror].
*/
abstract class ObjectMirror implements Mirror {
/**
* Invokes the named function and returns a mirror on the result.
*
* TODO(turnidge): Properly document.
* TODO(turnidge): Handle ambiguous names.
* TODO(turnidge): Handle optional & named arguments.
*/
Future<InstanceMirror> invoke(String memberName,
List<Object> positionalArguments,
[Map<String,Object> namedArguments]);
/**
* Invokes a getter and returns a mirror on the result. The getter
* can be the implicit getter for a field or a user-defined getter
* method.
*
* TODO(turnidge): Handle ambiguous names.
*/
Future<InstanceMirror> getField(String fieldName);
/**
* Invokes a setter and returns a mirror on the result. The setter
* may be either the implicit setter for a non-final field or a
* user-defined setter method.
*
* TODO(turnidge): Handle ambiguous names.
*/
Future<InstanceMirror> setField(String fieldName, Object value);
}
/**
* An [InstanceMirror] reflects an instance of a Dart language object.
*/
abstract class InstanceMirror implements ObjectMirror {
/**
* A mirror on the type of the reflectee.
*/
ClassMirror get type;
/**
* Does [reflectee] contain the instance reflected by this mirror?
* This will always be true in the local case (reflecting instances
* in the same isolate), but only true in the remote case if this
* mirror reflects a simple value.
*
* A value is simple if one of the following holds:
* - the value is null
* - the value is of type [num]
* - the value is of type [bool]
* - the value is of type [String]
*/
bool get hasReflectee;
/**
* If the [InstanceMirror] reflects an instance it is meaningful to
* have a local reference to, we provide access to the actual
* instance here.
*
* If you access [reflectee] when [hasReflectee] is false, an
* exception is thrown.
*/
get reflectee;
}
/**
* A [ClosureMirror] reflects a closure.
*
* A [ClosureMirror] provides access to its captured variables and
* provides the ability to execute its reflectee.
*/
abstract class ClosureMirror implements InstanceMirror {
/**
* A mirror on the function associated with this closure.
*/
MethodMirror get function;
/**
* The source code for this closure, if available. Otherwise null.
*
* TODO(turnidge): Would this just be available in function?
*/
String get source;
/**
* Executes the closure. The arguments given in the descriptor need to
* be InstanceMirrors or simple values.
*
* A value is simple if one of the following holds:
* - the value is null
* - the value is of type [num]
* - the value is of type [bool]
* - the value is of type [String]
*/
Future<InstanceMirror> apply(List<Object> positionalArguments,
[Map<String,Object> namedArguments]);
/**
* Looks up the value of a name in the scope of the closure. The
* result is a mirror on that value.
*/
Future<InstanceMirror> findInContext(String name);
}
/**
* A [LibraryMirror] reflects a Dart language library, providing
* access to the variables, functions, and classes of the
* library.
*/
abstract class LibraryMirror implements DeclarationMirror, ObjectMirror {
/**
* The url of the library.
*
* TODO(turnidge): Document where this url comes from. Will this
* value be sensible?
*/
String get url;
/**
* An immutable map from from names to mirrors for all members in
* this library.
*
* The members of a library are its top-level classes,
* functions, variables, getters, and setters.
*/
Map<String, Mirror> get members;
/**
* An immutable map from names to mirrors for all class
* declarations in this library.
*/
Map<String, ClassMirror> get classes;
/**
* An immutable map from names to mirrors for all function, getter,
* and setter declarations in this library.
*/
Map<String, MethodMirror> get functions;
/**
* An immutable map from names to mirrors for all getter
* declarations in this library.
*/
Map<String, MethodMirror> get getters;
/**
* An immutable map from names to mirrors for all setter
* declarations in this library.
*/
Map<String, MethodMirror> get setters;
/**
* An immutable map from names to mirrors for all variable
* declarations in this library.
*/
Map<String, VariableMirror> get variables;
}
/**
* A [TypeMirror] reflects a Dart language class, typedef
* or type variable.
*/
abstract class TypeMirror implements DeclarationMirror {
}
/**
* A [ClassMirror] reflects a Dart language class.
*/
abstract class ClassMirror implements TypeMirror, ObjectMirror {
/**
* A mirror on the superclass on the reflectee.
*
* If this type is [:Object:] or a typedef, the superClass will be
* null.
*/
ClassMirror get superclass;
/**
* A list of mirrors on the superinterfaces of the reflectee.
*/
List<ClassMirror> get superinterfaces;
/**
* An immutable map from from names to mirrors for all members of
* this type.
*
* The members of a type are its methods, fields, getters, and
* setters. Note that constructors and type variables are not
* considered to be members of a type.
*
* This does not include inherited members.
*/
Map<String, Mirror> get members;
/**
* An immutable map from names to mirrors for all method,
* declarations for this type. This does not include getters and
* setters.
*/
Map<String, MethodMirror> get methods;
/**
* An immutable map from names to mirrors for all getter
* declarations for this type.
*/
Map<String, MethodMirror> get getters;
/**
* An immutable map from names to mirrors for all setter
* declarations for this type.
*/
Map<String, MethodMirror> get setters;
/**
* An immutable map from names to mirrors for all variable
* declarations for this type.
*/
Map<String, VariableMirror> get variables;
/**
* An immutable map from names to mirrors for all constructor
* declarations for this type.
*/
Map<String, MethodMirror> get constructors;
/**
* An immutable map from names to mirrors for all type variables for
* this type.
*
* This map preserves the order of declaration of the type variables.
*/
Map<String, TypeVariableMirror> get typeVariables;
/**
* An immutable map from names to mirrors for all type arguments for
* this type.
*
* This map preserves the order of declaration of the type variables.
*/
Map<String, TypeMirror> get typeArguments;
/**
* Is this the original declaration of this type?
*
* For most classes, they are their own original declaration. For
* generic classes, however, there is a distinction between the
* original class declaration, which has unbound type variables, and
* the instantiations of generic classes, which have bound type
* variables.
*/
bool get isOriginalDeclaration;
/**
* A mirror on the original declaration of this type.
*
* For most classes, they are their own original declaration. For
* generic classes, however, there is a distinction between the
* original class declaration, which has unbound type variables, and
* the instantiations of generic classes, which have bound type
* variables.
*/
ClassMirror get originalDeclaration;
/**
* Invokes the named constructor and returns a mirror on the result.
*
* TODO(turnidge): Properly document.
*/
Future<InstanceMirror> newInstance(String constructorName,
List<Object> positionalArguments,
[Map<String,Object> namedArguments]);
/**
* Does this mirror represent a class?
*
* TODO(turnidge): This functions goes away after the
* class/interface changes.
*/
bool get isClass;
/**
* A mirror on the default factory class or null if there is none.
*
* TODO(turnidge): This functions goes away after the
* class/interface changes.
*/
ClassMirror get defaultFactory;
}
/**
* A [FunctionTypeMirror] represents the type of a function in the
* Dart language.
*/
abstract class FunctionTypeMirror implements ClassMirror {
/**
* The return type of the reflectee.
*/
TypeMirror get returnType;
/**
* A list of the parameter types of the reflectee.
*/
List<ParameterMirror> get parameters;
/**
* A mirror on the [:call:] method for the reflectee.
*
* TODO(turnidge): What is this and what is it for?
*/
MethodMirror get callMethod;
}
/**
* A [TypeVariableMirror] represents a type parameter of a generic
* type.
*/
abstract class TypeVariableMirror extends TypeMirror {
/**
* A mirror on the type that is the upper bound of this type variable.
*/
TypeMirror get upperBound;
}
/**
* A [TypedefMirror] represents a typedef in a Dart language program.
*/
abstract class TypedefMirror implements ClassMirror {
/**
* The defining type for this typedef.
*
* For instance [:void f(int):] is the value for [:typedef void f(int):].
*/
TypeMirror get value;
}
/**
* A [MethodMirror] reflects a Dart language function, method,
* constructor, getter, or setter.
*/
abstract class MethodMirror implements DeclarationMirror {
/**
* A mirror on the return type for the reflectee.
*/
TypeMirror get returnType;
/**
* A list of mirrors on the parameters for the reflectee.
*/
List<ParameterMirror> get parameters;
/**
* Is the reflectee static?
*
* For the purposes of the mirrors library, a top-level function is
* considered static.
*/
bool get isStatic;
/**
* Is the reflectee abstract?
*/
bool get isAbstract;
/**
* Is the reflectee a regular function or method?
*
* A function or method is regular if it is not a getter, setter, or
* constructor. Note that operators, by this definition, are
* regular methods.
*/
bool get isRegularMethod;
/**
* Is the reflectee an operator?
*/
bool get isOperator;
/**
* Is the reflectee a getter?
*/
bool get isGetter;
/**
* Is the reflectee a setter?
*/
bool get isSetter;
/**
* Is the reflectee a constructor?
*/
bool get isConstructor;
/**
* The constructor name for named constructors and factory methods.
*
* For unnamed constructors, this is the empty string. For
* non-constructors, this is the empty string.
*
* For example, [:'bar':] is the constructor name for constructor
* [:Foo.bar:] of type [:Foo:].
*/
String get constructorName;
/**
* Is the reflectee a const constructor?
*/
bool get isConstConstructor;
/**
* Is the reflectee a generative constructor?
*/
bool get isGenerativeConstructor;
/**
* Is the reflectee a redirecting constructor?
*/
bool get isRedirectingConstructor;
/**
* Is the reflectee a factory constructor?
*/
bool get isFactoryConstructor;
}
/**
* A [VariableMirror] reflects a Dart language variable declaration.
*/
abstract class VariableMirror implements DeclarationMirror {
/**
* A mirror on the type of the reflectee.
*/
TypeMirror get type;
/**
* Is the reflectee a static variable?
*
* For the purposes of the mirror library, top-level variables are
* implicitly declared static.
*/
bool get isStatic;
/**
* Is the reflectee a final variable?
*/
bool get isFinal;
}
/**
* A [ParameterMirror] reflects a Dart formal parameter declaration.
*/
abstract class ParameterMirror implements VariableMirror {
/**
* A mirror on the type of this parameter.
*/
TypeMirror get type;
/**
* Is this parameter optional?
*/
bool get isOptional;
/**
* Is this parameter named?
*/
bool get isNamed;
/**
* Does this parameter have a default value?
*/
bool get hasDefaultValue;
/**
* A mirror on the default value for this parameter, if it exists.
*
* TODO(turnidge): String may not be a good representation of this
* at runtime.
*/
String get defaultValue;
}
/**
* A [SourceLocation] describes the span of an entity in Dart source code.
*/
abstract class SourceLocation {
}
/**
* When an error occurs during the mirrored execution of code, a
* [MirroredError] is thrown.
*
* In general, there are three main classes of failure that can happen
* during mirrored execution of code in some isolate:
*
* - An exception is thrown but not caught. This is caught by the
* mirrors framework and a [MirroredUncaughtExceptionError] is
* created and thrown.
*
* - A compile-time error occurs, such as a syntax error. This is
* suppressed by the mirrors framework and a
* [MirroredCompilationError] is created and thrown.
*
* - A truly fatal error occurs, causing the isolate to be exited. If
* the reflector and reflectee share the same isolate, then they
* will both suffer. If the reflector and reflectee are in distinct
* isolates, then we hope to provide some information about the
* isolate death, but this has yet to be implemented.
*
* TODO(turnidge): Specify the behavior for remote fatal errors.
*/
abstract class MirroredError implements Exception {
}
/**
* When an uncaught exception occurs during the mirrored execution
* of code, a [MirroredUncaughtExceptionError] is thrown.
*
* This exception contains a mirror on the original exception object.
* It also contains an object which can be used to recover the
* stacktrace.
*/
class MirroredUncaughtExceptionError extends MirroredError {
MirroredUncaughtExceptionError(this.exception_mirror,
this.exception_string,
this.stacktrace) {}
/** A mirror on the exception object. */
final InstanceMirror exception_mirror;
/** The result of toString() for the exception object. */
final String exception_string;
/** A stacktrace object for the uncaught exception. */
final Object stacktrace;
String toString() {
return
"Uncaught exception during mirrored execution: <${exception_string}>";
}
}
/**
* When a compile-time error occurs during the mirrored execution
* of code, a [MirroredCompilationError] is thrown.
*
* This exception includes the compile-time error message that would
* have been displayed to the user, if the function had not been
* invoked via mirror.
*/
class MirroredCompilationError extends MirroredError {
MirroredCompilationError(this.message) {}
final String message;
String toString() {
return "Compile-time error during mirrored execution: <$message>";
}
}
/**
* A [MirrorException] is used to indicate errors within the mirrors
* framework.
*/
class MirrorException implements Exception {
const MirrorException(String this._message);
String toString() => "MirrorException: '$_message'";
final String _message;
}

View file

@ -3,743 +3,7 @@
// BSD-style license that can be found in the LICENSE file.
// The dart:mirrors library provides reflective access for Dart program.
//
// For the purposes of the mirrors library, we adopt a naming
// convention with respect to getters and setters. Specifically, for
// some variable or field...
//
// var myField;
//
// ...the getter is named 'myField' and the setter is named
// 'myField='. This allows us to assign unique names to getters and
// setters for the purposes of member lookup.
// #library("mirrors");
library dart_mirrors;
/**
* A [MirrorSystem] is the main interface used to reflect on a set of
* associated libraries.
*
* At runtime each running isolate has a distinct [MirrorSystem].
*
* It is also possible to have a [MirrorSystem] which represents a set
* of libraries which are not running -- perhaps at compile-time. In
* this case, all available reflective functionality would be
* supported, but runtime functionality (such as invoking a function
* or inspecting the contents of a variable) would fail dynamically.
*/
abstract class MirrorSystem {
/**
* An immutable map from from library names to mirrors for all
* libraries known to this mirror system.
*/
Map<String, LibraryMirror> get libraries;
/**
* A mirror on the isolate associated with this [MirrorSystem].
* This may be null if this mirror system is not running.
*/
IsolateMirror get isolate;
/**
* A mirror on the [:dynamic:] type.
*/
TypeMirror get dynamicType;
/**
* A mirror on the [:void:] type.
*/
TypeMirror get voidType;
}
/**
* Returns a [MirrorSystem] for the current isolate.
*/
MirrorSystem currentMirrorSystem() {
return _Mirrors.currentMirrorSystem();
}
/**
* Creates a [MirrorSystem] for the isolate which is listening on
* the [SendPort].
*/
Future<MirrorSystem> mirrorSystemOf(SendPort port) {
return _Mirrors.mirrorSystemOf(port);
}
/**
* Returns an [InstanceMirror] for some Dart language object.
*
* This only works if this mirror system is associated with the
* current running isolate.
*/
InstanceMirror reflect(Object reflectee) {
return _Mirrors.reflect(reflectee);
}
/**
* A [Mirror] reflects some Dart language entity.
*
* Every [Mirror] originates from some [MirrorSystem].
*/
abstract class Mirror {
/**
* The [MirrorSystem] that contains this mirror.
*/
MirrorSystem get mirrors;
}
/**
* An [IsolateMirror] reflects an isolate.
*/
abstract class IsolateMirror implements Mirror {
/**
* A unique name used to refer to an isolate in debugging messages.
*/
String get debugName;
/**
* Does this mirror reflect the currently running isolate?
*/
bool get isCurrent;
/**
* A mirror on the root library for this isolate.
*/
LibraryMirror get rootLibrary;
}
/**
* A [DeclarationMirror] reflects some entity declared in a Dart program.
*/
abstract class DeclarationMirror implements Mirror {
/**
* The simple name for this Dart language entity.
*
* The simple name is in most cases the the identifier name of the
* entity, such as 'method' for a method [:void method() {...}:] or
* 'mylibrary' for a [:#library('mylibrary');:] declaration.
*/
String get simpleName;
/**
* The fully-qualified name for this Dart language entity.
*
* This name is qualified by the name of the owner. For instance,
* the qualified name of a method 'method' in class 'Class' in
* library 'library' is 'library.Class.method'.
*
* TODO(turnidge): Specify whether this name is unique. Currently
* this is a gray area due to lack of clarity over whether library
* names are unique.
*/
String get qualifiedName;
/**
* A mirror on the owner of this function. This is the declaration
* immediately surrounding the reflectee.
*
* Note that for libraries, the owner will be [:null:].
*/
DeclarationMirror get owner;
/**
* Is this declaration private?
*
* Note that for libraries, this will be [:false:].
*/
bool get isPrivate;
/**
* Is this declaration top-level?
*
* This is defined to be equivalent to:
* [:mirror.owner != null && mirror.owner is LibraryMirror:]
*/
bool get isTopLevel;
/**
* The source location of this Dart language entity.
*/
SourceLocation get location;
}
/**
* An [ObjectMirror] is a common superinterface of [InstanceMirror],
* [ClassMirror], and [LibraryMirror] that represents their shared
* functionality.
*
* For the purposes of the mirrors library, these types are all
* object-like, in that they support method invocation and field
* access. Real Dart objects are represented by the [InstanceMirror]
* type.
*
* See [InstanceMirror], [ClassMirror], and [LibraryMirror].
*/
abstract class ObjectMirror implements Mirror {
/**
* Invokes the named function and returns a mirror on the result.
*
* TODO(turnidge): Properly document.
* TODO(turnidge): Handle ambiguous names.
* TODO(turnidge): Handle optional & named arguments.
*/
Future<InstanceMirror> invoke(String memberName,
List<Object> positionalArguments,
[Map<String,Object> namedArguments]);
/**
* Invokes a getter and returns a mirror on the result. The getter
* can be the implicit getter for a field or a user-defined getter
* method.
*
* TODO(turnidge): Handle ambiguous names.
*/
Future<InstanceMirror> getField(String fieldName);
/**
* Invokes a setter and returns a mirror on the result. The setter
* may be either the implicit setter for a non-final field or a
* user-defined setter method.
*
* TODO(turnidge): Handle ambiguous names.
*/
Future<InstanceMirror> setField(String fieldName, Object value);
}
/**
* An [InstanceMirror] reflects an instance of a Dart language object.
*/
abstract class InstanceMirror implements ObjectMirror {
/**
* A mirror on the type of the reflectee.
*/
ClassMirror get type;
/**
* Does [reflectee] contain the instance reflected by this mirror?
* This will always be true in the local case (reflecting instances
* in the same isolate), but only true in the remote case if this
* mirror reflects a simple value.
*
* A value is simple if one of the following holds:
* - the value is null
* - the value is of type [num]
* - the value is of type [bool]
* - the value is of type [String]
*/
bool get hasReflectee;
/**
* If the [InstanceMirror] reflects an instance it is meaningful to
* have a local reference to, we provide access to the actual
* instance here.
*
* If you access [reflectee] when [hasReflectee] is false, an
* exception is thrown.
*/
get reflectee;
}
/**
* A [ClosureMirror] reflects a closure.
*
* A [ClosureMirror] provides access to its captured variables and
* provides the ability to execute its reflectee.
*/
abstract class ClosureMirror implements InstanceMirror {
/**
* A mirror on the function associated with this closure.
*/
MethodMirror get function;
/**
* The source code for this closure, if available. Otherwise null.
*
* TODO(turnidge): Would this just be available in function?
*/
String get source;
/**
* Executes the closure. The arguments given in the descriptor need to
* be InstanceMirrors or simple values.
*
* A value is simple if one of the following holds:
* - the value is null
* - the value is of type [num]
* - the value is of type [bool]
* - the value is of type [String]
*/
Future<InstanceMirror> apply(List<Object> positionalArguments,
[Map<String,Object> namedArguments]);
/**
* Looks up the value of a name in the scope of the closure. The
* result is a mirror on that value.
*/
Future<InstanceMirror> findInContext(String name);
}
/**
* A [LibraryMirror] reflects a Dart language library, providing
* access to the variables, functions, and classes of the
* library.
*/
abstract class LibraryMirror implements DeclarationMirror, ObjectMirror {
/**
* The url of the library.
*
* TODO(turnidge): Document where this url comes from. Will this
* value be sensible?
*/
String get url;
/**
* An immutable map from from names to mirrors for all members in
* this library.
*
* The members of a library are its top-level classes,
* functions, variables, getters, and setters.
*/
Map<String, Mirror> get members;
/**
* An immutable map from names to mirrors for all class
* declarations in this library.
*/
Map<String, ClassMirror> get classes;
/**
* An immutable map from names to mirrors for all function, getter,
* and setter declarations in this library.
*/
Map<String, MethodMirror> get functions;
/**
* An immutable map from names to mirrors for all getter
* declarations in this library.
*/
Map<String, MethodMirror> get getters;
/**
* An immutable map from names to mirrors for all setter
* declarations in this library.
*/
Map<String, MethodMirror> get setters;
/**
* An immutable map from names to mirrors for all variable
* declarations in this library.
*/
Map<String, VariableMirror> get variables;
}
/**
* A [TypeMirror] reflects a Dart language class, typedef
* or type variable.
*/
abstract class TypeMirror implements DeclarationMirror {
}
/**
* A [ClassMirror] reflects a Dart language class.
*/
abstract class ClassMirror implements TypeMirror, ObjectMirror {
/**
* A mirror on the superclass on the reflectee.
*
* If this type is [:Object:] or a typedef, the superClass will be
* null.
*/
ClassMirror get superclass;
/**
* A list of mirrors on the superinterfaces of the reflectee.
*/
List<ClassMirror> get superinterfaces;
/**
* An immutable map from from names to mirrors for all members of
* this type.
*
* The members of a type are its methods, fields, getters, and
* setters. Note that constructors and type variables are not
* considered to be members of a type.
*
* This does not include inherited members.
*/
Map<String, Mirror> get members;
/**
* An immutable map from names to mirrors for all method,
* declarations for this type. This does not include getters and
* setters.
*/
Map<String, MethodMirror> get methods;
/**
* An immutable map from names to mirrors for all getter
* declarations for this type.
*/
Map<String, MethodMirror> get getters;
/**
* An immutable map from names to mirrors for all setter
* declarations for this type.
*/
Map<String, MethodMirror> get setters;
/**
* An immutable map from names to mirrors for all variable
* declarations for this type.
*/
Map<String, VariableMirror> get variables;
/**
* An immutable map from names to mirrors for all constructor
* declarations for this type.
*/
Map<String, MethodMirror> get constructors;
/**
* An immutable map from names to mirrors for all type variables for
* this type.
*
* This map preserves the order of declaration of the type variables.
*/
Map<String, TypeVariableMirror> get typeVariables;
/**
* An immutable map from names to mirrors for all type arguments for
* this type.
*
* This map preserves the order of declaration of the type variables.
*/
Map<String, TypeMirror> get typeArguments;
/**
* Is this the original declaration of this type?
*
* For most classes, they are their own original declaration. For
* generic classes, however, there is a distinction between the
* original class declaration, which has unbound type variables, and
* the instantiations of generic classes, which have bound type
* variables.
*/
bool get isOriginalDeclaration;
/**
* A mirror on the original declaration of this type.
*
* For most classes, they are their own original declaration. For
* generic classes, however, there is a distinction between the
* original class declaration, which has unbound type variables, and
* the instantiations of generic classes, which have bound type
* variables.
*/
ClassMirror get originalDeclaration;
/**
* Invokes the named constructor and returns a mirror on the result.
*
* TODO(turnidge): Properly document.
*/
Future<InstanceMirror> newInstance(String constructorName,
List<Object> positionalArguments,
[Map<String,Object> namedArguments]);
/**
* Does this mirror represent a class?
*
* TODO(turnidge): This functions goes away after the
* class/interface changes.
*/
bool get isClass;
/**
* A mirror on the default factory class or null if there is none.
*
* TODO(turnidge): This functions goes away after the
* class/interface changes.
*/
ClassMirror get defaultFactory;
}
/**
* A [FunctionTypeMirror] represents the type of a function in the
* Dart language.
*/
abstract class FunctionTypeMirror implements ClassMirror {
/**
* The return type of the reflectee.
*/
TypeMirror get returnType;
/**
* A list of the parameter types of the reflectee.
*/
List<ParameterMirror> get parameters;
/**
* A mirror on the [:call:] method for the reflectee.
*
* TODO(turnidge): What is this and what is it for?
*/
MethodMirror get callMethod;
}
/**
* A [TypeVariableMirror] represents a type parameter of a generic
* type.
*/
abstract class TypeVariableMirror extends TypeMirror {
/**
* A mirror on the type that is the upper bound of this type variable.
*/
TypeMirror get upperBound;
}
/**
* A [TypedefMirror] represents a typedef in a Dart language program.
*/
abstract class TypedefMirror implements ClassMirror {
/**
* The defining type for this typedef.
*
* For instance [:void f(int):] is the value for [:typedef void f(int):].
*/
TypeMirror get value;
}
/**
* A [MethodMirror] reflects a Dart language function, method,
* constructor, getter, or setter.
*/
abstract class MethodMirror implements DeclarationMirror {
/**
* A mirror on the return type for the reflectee.
*/
TypeMirror get returnType;
/**
* A list of mirrors on the parameters for the reflectee.
*/
List<ParameterMirror> get parameters;
/**
* Is the reflectee static?
*
* For the purposes of the mirrors library, a top-level function is
* considered static.
*/
bool get isStatic;
/**
* Is the reflectee abstract?
*/
bool get isAbstract;
/**
* Is the reflectee a regular function or method?
*
* A function or method is regular if it is not a getter, setter, or
* constructor. Note that operators, by this definition, are
* regular methods.
*/
bool get isRegularMethod;
/**
* Is the reflectee an operator?
*/
bool get isOperator;
/**
* Is the reflectee a getter?
*/
bool get isGetter;
/**
* Is the reflectee a setter?
*/
bool get isSetter;
/**
* Is the reflectee a constructor?
*/
bool get isConstructor;
/**
* The constructor name for named constructors and factory methods.
*
* For unnamed constructors, this is the empty string. For
* non-constructors, this is the empty string.
*
* For example, [:'bar':] is the constructor name for constructor
* [:Foo.bar:] of type [:Foo:].
*/
String get constructorName;
/**
* Is the reflectee a const constructor?
*/
bool get isConstConstructor;
/**
* Is the reflectee a generative constructor?
*/
bool get isGenerativeConstructor;
/**
* Is the reflectee a redirecting constructor?
*/
bool get isRedirectingConstructor;
/**
* Is the reflectee a factory constructor?
*/
bool get isFactoryConstructor;
}
/**
* A [VariableMirror] reflects a Dart language variable declaration.
*/
abstract class VariableMirror implements DeclarationMirror {
/**
* A mirror on the type of the reflectee.
*/
TypeMirror get type;
/**
* Is the reflectee a static variable?
*
* For the purposes of the mirror library, top-level variables are
* implicitly declared static.
*/
bool get isStatic;
/**
* Is the reflectee a final variable?
*/
bool get isFinal;
}
/**
* A [ParameterMirror] reflects a Dart formal parameter declaration.
*/
abstract class ParameterMirror implements VariableMirror {
/**
* A mirror on the type of this parameter.
*/
TypeMirror get type;
/**
* Is this parameter optional?
*/
bool get isOptional;
/**
* Is this parameter named?
*/
bool get isNamed;
/**
* Does this parameter have a default value?
*/
bool get hasDefaultValue;
/**
* A mirror on the default value for this parameter, if it exists.
*
* TODO(turnidge): String may not be a good representation of this
* at runtime.
*/
String get defaultValue;
}
/**
* A [SourceLocation] describes the span of an entity in Dart source code.
*/
abstract class SourceLocation {
}
/**
* When an error occurs during the mirrored execution of code, a
* [MirroredError] is thrown.
*
* In general, there are three main classes of failure that can happen
* during mirrored execution of code in some isolate:
*
* - An exception is thrown but not caught. This is caught by the
* mirrors framework and a [MirroredUncaughtExceptionError] is
* created and thrown.
*
* - A compile-time error occurs, such as a syntax error. This is
* suppressed by the mirrors framework and a
* [MirroredCompilationError] is created and thrown.
*
* - A truly fatal error occurs, causing the isolate to be exited. If
* the reflector and reflectee share the same isolate, then they
* will both suffer. If the reflector and reflectee are in distinct
* isolates, then we hope to provide some information about the
* isolate death, but this has yet to be implemented.
*
* TODO(turnidge): Specify the behavior for remote fatal errors.
*/
abstract class MirroredError implements Exception {
}
/**
* When an uncaught exception occurs during the mirrored execution
* of code, a [MirroredUncaughtExceptionError] is thrown.
*
* This exception contains a mirror on the original exception object.
* It also contains an object which can be used to recover the
* stacktrace.
*/
class MirroredUncaughtExceptionError extends MirroredError {
MirroredUncaughtExceptionError(this.exception_mirror,
this.exception_string,
this.stacktrace) {}
/** A mirror on the exception object. */
final InstanceMirror exception_mirror;
/** The result of toString() for the exception object. */
final String exception_string;
/** A stacktrace object for the uncaught exception. */
final Object stacktrace;
String toString() {
return
"Uncaught exception during mirrored execution: <${exception_string}>";
}
}
/**
* When a compile-time error occurs during the mirrored execution
* of code, a [MirroredCompilationError] is thrown.
*
* This exception includes the compile-time error message that would
* have been displayed to the user, if the function had not been
* invoked via mirror.
*/
class MirroredCompilationError extends MirroredError {
MirroredCompilationError(this.message) {}
final String message;
String toString() {
return "Compile-time error during mirrored execution: <$message>";
}
}
/**
* A [MirrorException] is used to indicate errors within the mirrors
* framework.
*/
class MirrorException implements Exception {
const MirrorException(String this._message);
String toString() => "MirrorException: '$_message'";
final String _message;
}
part "mirror_classes.dart";

View file

@ -2,6 +2,8 @@
// 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_scalarlist;
/**
* A random-access sequence of bytes that also provides random access to
* the fixed-width integers and floating point numbers represented by

View file

@ -10,9 +10,9 @@
* This library allows you to work with arrays of scalar values
* of various sizes.
*/
#library('dart:scalarlist');
library dart_scalarlist;
// TODO(ager): Inline the contents of byte_arrays.dart here and get
// rid of scalarlist_sources.gypi when the VM understands normal
// library structure for builtin libraries.
#source('byte_arrays.dart');
part 'byte_arrays.dart';

View file

@ -2,6 +2,8 @@
// 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_uri;
/**
* Javascript-like URI encode/decode functions.
* The documentation here borrows heavily from the original Javascript

View file

@ -2,6 +2,8 @@
// 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_uri;
String merge(String base, String reference) {
if (base == "") return "/$reference";
return "${base.substring(0, base.lastIndexOf("/") + 1)}$reference";

Some files were not shown because too many files have changed in this diff Show more