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

Unified Diff: sdk/lib/_internal/lib/core_patch.dart

Issue 338103004: Use metadata for patching. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge/dart
Patch Set: Created 6 years, 6 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View side-by-side diff with in-line comments
Download patch
« no previous file with comments | « sdk/lib/_internal/lib/convert_patch.dart ('k') | sdk/lib/_internal/lib/internal_patch.dart » ('j') | no next file with comments »
Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
Index: sdk/lib/_internal/lib/core_patch.dart
diff --git a/sdk/lib/_internal/lib/core_patch.dart b/sdk/lib/_internal/lib/core_patch.dart
index 926b7795ec79ceb602deeae6e8ccdf51cbed3f7d..38e4f4f97dba19e514a102ee2707445e1030616e 100644
--- a/sdk/lib/_internal/lib/core_patch.dart
+++ b/sdk/lib/_internal/lib/core_patch.dart
@@ -5,7 +5,8 @@
// Patch file for dart:core classes.
import "dart:_internal" as _symbol_dev;
import 'dart:_interceptors';
-import 'dart:_js_helper' show checkNull,
+import 'dart:_js_helper' show patch,
+ checkNull,
getRuntimeType,
JSSyntaxRegExp,
Primitives,
@@ -23,16 +24,21 @@ _symbolMapToStringMap(Map<Symbol, dynamic> map) {
return result;
}
-patch int identityHashCode(Object object) => objectHashCode(object);
+@patch
+int identityHashCode(Object object) => objectHashCode(object);
// Patch for Object implementation.
-patch class Object {
- patch int get hashCode => Primitives.objectHashCode(this);
+@patch
+class Object {
+ @patch
+ int get hashCode => Primitives.objectHashCode(this);
- patch String toString() => Primitives.objectToString(this);
+ @patch
+ String toString() => Primitives.objectToString(this);
- patch dynamic noSuchMethod(Invocation invocation) {
+ @patch
+ dynamic noSuchMethod(Invocation invocation) {
throw new NoSuchMethodError(
this,
invocation.memberName,
@@ -40,14 +46,17 @@ patch class Object {
invocation.namedArguments);
}
- patch Type get runtimeType => getRuntimeType(this);
+ @patch
+ Type get runtimeType => getRuntimeType(this);
}
// Patch for Function implementation.
-patch class Function {
- patch static apply(Function function,
- List positionalArguments,
- [Map<Symbol, dynamic> namedArguments]) {
+@patch
+class Function {
+ @patch
+ static apply(Function function,
+ List positionalArguments,
+ [Map<Symbol, dynamic> namedArguments]) {
return Primitives.applyFunction(
function, positionalArguments, _toMangledNames(namedArguments));
}
@@ -64,15 +73,19 @@ patch class Function {
}
// Patch for Expando implementation.
-patch class Expando<T> {
- patch Expando([String name]) : this.name = name;
+@patch
+class Expando<T> {
+ @patch
+ Expando([String name]) : this.name = name;
- patch T operator[](Object object) {
+ @patch
+ T operator[](Object object) {
var values = Primitives.getProperty(object, _EXPANDO_PROPERTY_NAME);
return (values == null) ? null : Primitives.getProperty(values, _getKey());
}
- patch void operator[]=(Object object, T value) {
+ @patch
+ void operator[]=(Object object, T value) {
var values = Primitives.getProperty(object, _EXPANDO_PROPERTY_NAME);
if (values == null) {
values = new Object();
@@ -95,95 +108,120 @@ patch class Expando<T> {
static int _keyCount = 0;
}
-patch class int {
- patch static int parse(String source,
+@patch
+class int {
+ @patch
+ static int parse(String source,
{ int radix,
int onError(String source) }) {
return Primitives.parseInt(source, radix, onError);
}
- patch factory int.fromEnvironment(String name, {int defaultValue}) {
+ @patch
+ factory int.fromEnvironment(String name, {int defaultValue}) {
throw new UnsupportedError(
'int.fromEnvironment can only be used as a const constructor');
}
}
-patch class double {
- patch static double parse(String source,
+@patch
+class double {
+ @patch
+ static double parse(String source,
[double onError(String source)]) {
return Primitives.parseDouble(source, onError);
}
}
-patch class Error {
- patch static String _objectToString(Object object) {
+@patch
+class Error {
+ @patch
+ static String _objectToString(Object object) {
return Primitives.objectToString(object);
}
- patch StackTrace get stackTrace => Primitives.extractStackTrace(this);
+ @patch
+ StackTrace get stackTrace => Primitives.extractStackTrace(this);
}
// Patch for DateTime implementation.
-patch class DateTime {
- patch DateTime._internal(int year,
- int month,
- int day,
- int hour,
- int minute,
- int second,
- int millisecond,
- bool isUtc)
+@patch
+class DateTime {
+ @patch
+ DateTime._internal(int year,
+ int month,
+ int day,
+ int hour,
+ int minute,
+ int second,
+ int millisecond,
+ bool isUtc)
: this.isUtc = checkNull(isUtc),
millisecondsSinceEpoch = Primitives.valueFromDecomposedDate(
year, month, day, hour, minute, second, millisecond, isUtc) {
Primitives.lazyAsJsDate(this);
}
- patch DateTime._now()
+ @patch
+ DateTime._now()
: isUtc = false,
millisecondsSinceEpoch = Primitives.dateNow() {
Primitives.lazyAsJsDate(this);
}
- patch static int _brokenDownDateToMillisecondsSinceEpoch(
+ @patch
+ static int _brokenDownDateToMillisecondsSinceEpoch(
int year, int month, int day, int hour, int minute, int second,
int millisecond, bool isUtc) {
return Primitives.valueFromDecomposedDate(
year, month, day, hour, minute, second, millisecond, isUtc);
}
- patch String get timeZoneName {
+ @patch
+ String get timeZoneName {
if (isUtc) return "UTC";
return Primitives.getTimeZoneName(this);
}
- patch Duration get timeZoneOffset {
+ @patch
+ Duration get timeZoneOffset {
if (isUtc) return new Duration();
return new Duration(minutes: Primitives.getTimeZoneOffsetInMinutes(this));
}
- patch int get year => Primitives.getYear(this);
+ @patch
+ int get year => Primitives.getYear(this);
- patch int get month => Primitives.getMonth(this);
+ @patch
+ int get month => Primitives.getMonth(this);
- patch int get day => Primitives.getDay(this);
+ @patch
+ int get day => Primitives.getDay(this);
- patch int get hour => Primitives.getHours(this);
+ @patch
+ int get hour => Primitives.getHours(this);
- patch int get minute => Primitives.getMinutes(this);
+ @patch
+ int get minute => Primitives.getMinutes(this);
- patch int get second => Primitives.getSeconds(this);
+ @patch
+ int get second => Primitives.getSeconds(this);
- patch int get millisecond => Primitives.getMilliseconds(this);
+ @patch
+ int get millisecond => Primitives.getMilliseconds(this);
- patch int get weekday => Primitives.getWeekday(this);
+ @patch
+ int get weekday => Primitives.getWeekday(this);
}
// Patch for Stopwatch implementation.
-patch class Stopwatch {
- patch static int _frequency() => 1000000;
- patch static int _now() => Primitives.numMicroseconds();
+@patch
+class Stopwatch {
+ @patch
+ static int _frequency() => 1000000;
+ @patch
+ static int _now() => Primitives.numMicroseconds();
}
class _ListConstructorSentinel extends JSInt {
@@ -191,15 +229,18 @@ class _ListConstructorSentinel extends JSInt {
}
// Patch for List implementation.
-patch class List<E> {
- patch factory List([int length = const _ListConstructorSentinel()]) {
+@patch
+class List<E> {
+ @patch
+ factory List([int length = const _ListConstructorSentinel()]) {
if (length == const _ListConstructorSentinel()) {
return new JSArray<E>.emptyGrowable();
}
return new JSArray<E>.fixed(length);
}
- patch factory List.filled(int length, E fill) {
+ @patch
+ factory List.filled(int length, E fill) {
List result = new JSArray<E>.fixed(length);
if (length != 0 && fill != null) {
for (int i = 0; i < result.length; i++) {
@@ -211,33 +252,41 @@ patch class List<E> {
}
-patch class String {
- patch factory String.fromCharCodes(Iterable<int> charCodes) {
+@patch
+class String {
+ @patch
+ factory String.fromCharCodes(Iterable<int> charCodes) {
if (charCodes is! JSArray) {
charCodes = new List.from(charCodes);
}
return Primitives.stringFromCharCodes(charCodes);
}
- patch factory String.fromCharCode(int charCode) {
+ @patch
+ factory String.fromCharCode(int charCode) {
return Primitives.stringFromCharCode(charCode);
}
- patch factory String.fromEnvironment(String name, {String defaultValue}) {
+ @patch
+ factory String.fromEnvironment(String name, {String defaultValue}) {
throw new UnsupportedError(
'String.fromEnvironment can only be used as a const constructor');
}
}
-patch class bool {
- patch factory bool.fromEnvironment(String name, {bool defaultValue: false}) {
+@patch
+class bool {
+ @patch
+ factory bool.fromEnvironment(String name, {bool defaultValue: false}) {
throw new UnsupportedError(
'bool.fromEnvironment can only be used as a const constructor');
}
}
-patch class RegExp {
- patch factory RegExp(String source,
+@patch
+class RegExp {
+ @patch
+ factory RegExp(String source,
{bool multiLine: false,
bool caseSensitive: true})
=> new JSSyntaxRegExp(source,
@@ -246,14 +295,17 @@ patch class RegExp {
}
// Patch for 'identical' function.
-patch bool identical(Object a, Object b) {
+@patch
+bool identical(Object a, Object b) {
return Primitives.identicalImplementation(a, b);
}
-patch class StringBuffer {
+@patch
+class StringBuffer {
String _contents = "";
- patch StringBuffer([Object content = ""]) {
+ @patch
+ StringBuffer([Object content = ""]) {
if (content is String) {
_contents = content;
} else {
@@ -261,26 +313,33 @@ patch class StringBuffer {
}
}
- patch int get length => _contents.length;
+ @patch
+ int get length => _contents.length;
- patch void write(Object obj) {
+ @patch
+ void write(Object obj) {
String str = obj is String ? obj : "$obj";
_contents = Primitives.stringConcatUnchecked(_contents, str);
}
- patch void writeCharCode(int charCode) {
+ @patch
+ void writeCharCode(int charCode) {
write(new String.fromCharCode(charCode));
}
- patch void clear() {
+ @patch
+ void clear() {
_contents = "";
}
- patch String toString() => _contents;
+ @patch
+ String toString() => _contents;
}
-patch class NoSuchMethodError {
- patch String toString() {
+@patch
+class NoSuchMethodError {
+ @patch
+ String toString() {
StringBuffer sb = new StringBuffer();
int i = 0;
if (_arguments != null) {
@@ -325,10 +384,13 @@ patch class NoSuchMethodError {
}
}
-patch class Uri {
- patch static bool get _isWindows => false;
+@patch
+class Uri {
+ @patch
+ static bool get _isWindows => false;
- patch static Uri get base {
+ @patch
+ static Uri get base {
String uri = Primitives.currentUri();
if (uri != null) return Uri.parse(uri);
throw new UnsupportedError("'Uri.base' is not supported");
« no previous file with comments | « sdk/lib/_internal/lib/convert_patch.dart ('k') | sdk/lib/_internal/lib/internal_patch.dart » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698