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

Side by Side Diff: lib/runtime/dart/_interceptors.js

Issue 1173023004: fixes #217, Object members on extension types (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 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 unified diff | Download patch
« no previous file with comments | « no previous file | lib/runtime/dart/_internal.js » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 dart.library('dart/_interceptors', null, /* Imports */[ 1 dart.library('dart/_interceptors', null, /* Imports */[
2 'dart/core', 2 'dart/core',
3 'dart/_internal', 3 'dart/_internal',
4 'dart/collection', 4 'dart/collection',
5 'dart/math' 5 'dart/math'
6 ], /* Lazy imports */[ 6 ], /* Lazy imports */[
7 'dart/_js_helper' 7 'dart/_js_helper'
8 ], function(exports, core, _internal, collection, math, _js_helper) { 8 ], function(exports, core, _internal, collection, math, _js_helper) {
9 'use strict'; 9 'use strict';
10 let JSArray$ = dart.generic(function(E) { 10 let JSArray$ = dart.generic(function(E) {
(...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after
333 return true; 333 return true;
334 } 334 }
335 return false; 335 return false;
336 } 336 }
337 get [dartx.isEmpty]() { 337 get [dartx.isEmpty]() {
338 return this[dartx.length] == 0; 338 return this[dartx.length] == 0;
339 } 339 }
340 get [dartx.isNotEmpty]() { 340 get [dartx.isNotEmpty]() {
341 return !dart.notNull(this[dartx.isEmpty]); 341 return !dart.notNull(this[dartx.isEmpty]);
342 } 342 }
343 [dartx.toString]() { 343 toString() {
344 return collection.ListBase.listToString(this); 344 return collection.ListBase.listToString(this);
345 } 345 }
346 [dartx.toList](opts) { 346 [dartx.toList](opts) {
347 let growable = opts && 'growable' in opts ? opts.growable : true; 347 let growable = opts && 'growable' in opts ? opts.growable : true;
348 let list = this.slice(); 348 let list = this.slice();
349 if (!dart.notNull(growable)) 349 if (!dart.notNull(growable))
350 JSArray$().markFixedList(dart.as(list, core.List)); 350 JSArray$().markFixedList(dart.as(list, core.List));
351 return JSArray$(E).typed(list); 351 return JSArray$(E).typed(list);
352 } 352 }
353 [dartx.toSet]() { 353 [dartx.toSet]() {
354 return core.Set$(E).from(this); 354 return core.Set$(E).from(this);
355 } 355 }
356 get [dartx.iterator]() { 356 get [dartx.iterator]() {
357 return new (_internal.ListIterator$(E))(this); 357 return new (_internal.ListIterator$(E))(this);
358 } 358 }
359 get [dartx.hashCode]() { 359 get hashCode() {
360 return _js_helper.Primitives.objectHashCode(this); 360 return _js_helper.Primitives.objectHashCode(this);
361 } 361 }
362 get [dartx.length]() { 362 get [dartx.length]() {
363 return dart.as(this.length, core.int); 363 return dart.as(this.length, core.int);
364 } 364 }
365 set [dartx.length](newLength) { 365 set [dartx.length](newLength) {
366 if (!(typeof newLength == 'number')) 366 if (!(typeof newLength == 'number'))
367 throw new core.ArgumentError(newLength); 367 throw new core.ArgumentError(newLength);
368 if (dart.notNull(newLength) < 0) 368 if (dart.notNull(newLength) < 0)
369 throw new core.RangeError.value(newLength); 369 throw new core.RangeError.value(newLength);
(...skipping 323 matching lines...) Expand 10 before | Expand all | Expand 10 after
693 throw new core.UnsupportedError(`Unexpected toString result: ${result}`) ; 693 throw new core.UnsupportedError(`Unexpected toString result: ${result}`) ;
694 } 694 }
695 result = dart.dindex(match, 1); 695 result = dart.dindex(match, 1);
696 let exponent = +dart.dindex(match, 3); 696 let exponent = +dart.dindex(match, 3);
697 if (dart.dindex(match, 2) != null) { 697 if (dart.dindex(match, 2) != null) {
698 result = result + dart.dindex(match, 2); 698 result = result + dart.dindex(match, 2);
699 exponent = dart.notNull(exponent) - dart.dindex(match, 2).length; 699 exponent = dart.notNull(exponent) - dart.dindex(match, 2).length;
700 } 700 }
701 return dart.notNull(result) + "0"[dartx['*']](exponent); 701 return dart.notNull(result) + "0"[dartx['*']](exponent);
702 } 702 }
703 [dartx.toString]() { 703 toString() {
704 if (dart.equals(this, 0) && 1 / this < 0) { 704 if (dart.equals(this, 0) && 1 / this < 0) {
705 return '-0.0'; 705 return '-0.0';
706 } else { 706 } else {
707 return "" + this; 707 return "" + this;
708 } 708 }
709 } 709 }
710 get [dartx.hashCode]() { 710 get hashCode() {
711 return this & 0x1FFFFFFF; 711 return this & 0x1FFFFFFF;
712 } 712 }
713 [dartx['unary-']]() { 713 [dartx['unary-']]() {
714 return -this; 714 return -this;
715 } 715 }
716 [dartx['+']](other) { 716 [dartx['+']](other) {
717 if (!dart.is(other, core.num)) 717 if (!dart.is(other, core.num))
718 throw new core.ArgumentError(other); 718 throw new core.ArgumentError(other);
719 return this + other; 719 return this + other;
720 } 720 }
(...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after
825 [dartx['<=']](other) { 825 [dartx['<=']](other) {
826 if (!dart.is(other, core.num)) 826 if (!dart.is(other, core.num))
827 throw new core.ArgumentError(other); 827 throw new core.ArgumentError(other);
828 return this <= other; 828 return this <= other;
829 } 829 }
830 [dartx['>=']](other) { 830 [dartx['>=']](other) {
831 if (!dart.is(other, core.num)) 831 if (!dart.is(other, core.num))
832 throw new core.ArgumentError(other); 832 throw new core.ArgumentError(other);
833 return this >= other; 833 return this >= other;
834 } 834 }
835 get [dartx.runtimeType]() { 835 get runtimeType() {
836 return core.num; 836 return core.num;
837 } 837 }
838 } 838 }
839 JSNumber[dart.implements] = () => [core.num]; 839 JSNumber[dart.implements] = () => [core.num];
840 dart.setSignature(JSNumber, { 840 dart.setSignature(JSNumber, {
841 constructors: () => ({JSNumber: [JSNumber, []]}), 841 constructors: () => ({JSNumber: [JSNumber, []]}),
842 methods: () => ({ 842 methods: () => ({
843 [dartx.compareTo]: [core.int, [core.num]], 843 [dartx.compareTo]: [core.int, [core.num]],
844 [dartx.remainder]: [core.num, [core.num]], 844 [dartx.remainder]: [core.num, [core.num]],
845 [dartx.abs]: [core.num, []], 845 [dartx.abs]: [core.num, []],
(...skipping 93 matching lines...) Expand 10 before | Expand all | Expand 10 after
939 return a | b; 939 return a | b;
940 } 940 }
941 static _spread(i) { 941 static _spread(i) {
942 i = JSInt._ors(i, JSInt._shrs(i, 1)); 942 i = JSInt._ors(i, JSInt._shrs(i, 1));
943 i = JSInt._ors(i, JSInt._shrs(i, 2)); 943 i = JSInt._ors(i, JSInt._shrs(i, 2));
944 i = JSInt._ors(i, JSInt._shrs(i, 4)); 944 i = JSInt._ors(i, JSInt._shrs(i, 4));
945 i = JSInt._ors(i, JSInt._shrs(i, 8)); 945 i = JSInt._ors(i, JSInt._shrs(i, 8));
946 i = JSInt._shru(JSInt._ors(i, JSInt._shrs(i, 16)), 0); 946 i = JSInt._shru(JSInt._ors(i, JSInt._shrs(i, 16)), 0);
947 return i; 947 return i;
948 } 948 }
949 get [dartx.runtimeType]() { 949 get runtimeType() {
950 return core.int; 950 return core.int;
951 } 951 }
952 [dartx['~']]() { 952 [dartx['~']]() {
953 return dart.as(~this >>> 0, core.int); 953 return dart.as(~this >>> 0, core.int);
954 } 954 }
955 } 955 }
956 JSInt[dart.implements] = () => [core.int, core.double]; 956 JSInt[dart.implements] = () => [core.int, core.double];
957 dart.setSignature(JSInt, { 957 dart.setSignature(JSInt, {
958 constructors: () => ({JSInt: [JSInt, []]}), 958 constructors: () => ({JSInt: [JSInt, []]}),
959 methods: () => ({ 959 methods: () => ({
(...skipping 12 matching lines...) Expand all
972 }); 972 });
973 JSInt[dart.metadata] = () => [dart.const(new _js_helper.JsPeerInterface({name: 'Number'}))]; 973 JSInt[dart.metadata] = () => [dart.const(new _js_helper.JsPeerInterface({name: 'Number'}))];
974 dart.registerExtension(dart.global.Number, JSInt); 974 dart.registerExtension(dart.global.Number, JSInt);
975 dart.defineExtensionNames([ 975 dart.defineExtensionNames([
976 'runtimeType' 976 'runtimeType'
977 ]); 977 ]);
978 class JSDouble extends JSNumber { 978 class JSDouble extends JSNumber {
979 JSDouble() { 979 JSDouble() {
980 super.JSNumber(); 980 super.JSNumber();
981 } 981 }
982 get [dartx.runtimeType]() { 982 get runtimeType() {
983 return core.double; 983 return core.double;
984 } 984 }
985 } 985 }
986 JSDouble[dart.implements] = () => [core.double]; 986 JSDouble[dart.implements] = () => [core.double];
987 dart.setSignature(JSDouble, { 987 dart.setSignature(JSDouble, {
988 constructors: () => ({JSDouble: [JSDouble, []]}) 988 constructors: () => ({JSDouble: [JSDouble, []]})
989 }); 989 });
990 class JSPositiveInt extends JSInt { 990 class JSPositiveInt extends JSInt {
991 JSPositiveInt() { 991 JSPositiveInt() {
992 super.JSInt(); 992 super.JSInt();
(...skipping 419 matching lines...) Expand 10 before | Expand all | Expand 10 after
1412 return this[dartx.length] == 0; 1412 return this[dartx.length] == 0;
1413 } 1413 }
1414 get [dartx.isNotEmpty]() { 1414 get [dartx.isNotEmpty]() {
1415 return !dart.notNull(this[dartx.isEmpty]); 1415 return !dart.notNull(this[dartx.isEmpty]);
1416 } 1416 }
1417 [dartx.compareTo](other) { 1417 [dartx.compareTo](other) {
1418 if (!(typeof other == 'string')) 1418 if (!(typeof other == 'string'))
1419 throw new core.ArgumentError(other); 1419 throw new core.ArgumentError(other);
1420 return dart.equals(this, other) ? 0 : this < other ? -1 : 1; 1420 return dart.equals(this, other) ? 0 : this < other ? -1 : 1;
1421 } 1421 }
1422 [dartx.toString]() { 1422 toString() {
1423 return this; 1423 return this;
1424 } 1424 }
1425 get [dartx.hashCode]() { 1425 get hashCode() {
1426 let hash = 0; 1426 let hash = 0;
1427 for (let i = 0; dart.notNull(i) < dart.notNull(this[dartx.length]); i = da rt.notNull(i) + 1) { 1427 for (let i = 0; dart.notNull(i) < dart.notNull(this[dartx.length]); i = da rt.notNull(i) + 1) {
1428 hash = 536870911 & dart.notNull(hash) + this.charCodeAt(i); 1428 hash = 536870911 & dart.notNull(hash) + this.charCodeAt(i);
1429 hash = 536870911 & dart.notNull(hash) + ((524287 & dart.notNull(hash)) < < 10); 1429 hash = 536870911 & dart.notNull(hash) + ((524287 & dart.notNull(hash)) < < 10);
1430 hash = hash ^ hash >> 6; 1430 hash = hash ^ hash >> 6;
1431 } 1431 }
1432 hash = 536870911 & dart.notNull(hash) + ((67108863 & dart.notNull(hash)) < < 3); 1432 hash = 536870911 & dart.notNull(hash) + ((67108863 & dart.notNull(hash)) < < 3);
1433 hash = hash ^ hash >> 11; 1433 hash = hash ^ hash >> 11;
1434 return 536870911 & dart.notNull(hash) + ((16383 & dart.notNull(hash)) << 1 5); 1434 return 536870911 & dart.notNull(hash) + ((16383 & dart.notNull(hash)) << 1 5);
1435 } 1435 }
1436 get [dartx.runtimeType]() { 1436 get runtimeType() {
1437 return core.String; 1437 return core.String;
1438 } 1438 }
1439 get [dartx.length]() { 1439 get [dartx.length]() {
1440 return this.length; 1440 return this.length;
1441 } 1441 }
1442 [dartx.get](index) { 1442 [dartx.get](index) {
1443 if (!(typeof index == 'number')) 1443 if (!(typeof index == 'number'))
1444 throw new core.ArgumentError(index); 1444 throw new core.ArgumentError(index);
1445 if (dart.notNull(index) >= dart.notNull(this[dartx.length]) || dart.notNul l(index) < 0) 1445 if (dart.notNull(index) >= dart.notNull(this[dartx.length]) || dart.notNul l(index) < 0)
1446 throw new core.RangeError.value(index); 1446 throw new core.RangeError.value(index);
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
1510 dart.fn(getInterceptor); 1510 dart.fn(getInterceptor);
1511 dart.defineExtensionNames([ 1511 dart.defineExtensionNames([
1512 'toString', 1512 'toString',
1513 'hashCode', 1513 'hashCode',
1514 'runtimeType' 1514 'runtimeType'
1515 ]); 1515 ]);
1516 class JSBool extends Interceptor { 1516 class JSBool extends Interceptor {
1517 JSBool() { 1517 JSBool() {
1518 super.Interceptor(); 1518 super.Interceptor();
1519 } 1519 }
1520 [dartx.toString]() { 1520 toString() {
1521 return String(this); 1521 return String(this);
1522 } 1522 }
1523 get [dartx.hashCode]() { 1523 get hashCode() {
1524 return this ? 2 * 3 * 23 * 3761 : 269 * 811; 1524 return this ? 2 * 3 * 23 * 3761 : 269 * 811;
1525 } 1525 }
1526 get [dartx.runtimeType]() { 1526 get runtimeType() {
1527 return core.bool; 1527 return core.bool;
1528 } 1528 }
1529 } 1529 }
1530 JSBool[dart.implements] = () => [core.bool]; 1530 JSBool[dart.implements] = () => [core.bool];
1531 dart.setSignature(JSBool, { 1531 dart.setSignature(JSBool, {
1532 constructors: () => ({JSBool: [JSBool, []]}) 1532 constructors: () => ({JSBool: [JSBool, []]})
1533 }); 1533 });
1534 JSBool[dart.metadata] = () => [dart.const(new _js_helper.JsPeerInterface({name : 'Boolean'}))]; 1534 JSBool[dart.metadata] = () => [dart.const(new _js_helper.JsPeerInterface({name : 'Boolean'}))];
1535 dart.registerExtension(dart.global.Boolean, JSBool); 1535 dart.registerExtension(dart.global.Boolean, JSBool);
1536 class JSIndexable extends core.Object {} 1536 class JSIndexable extends core.Object {}
(...skipping 52 matching lines...) Expand 10 before | Expand all | Expand 10 after
1589 exports.JSString = JSString; 1589 exports.JSString = JSString;
1590 exports.getInterceptor = getInterceptor; 1590 exports.getInterceptor = getInterceptor;
1591 exports.JSBool = JSBool; 1591 exports.JSBool = JSBool;
1592 exports.JSIndexable = JSIndexable; 1592 exports.JSIndexable = JSIndexable;
1593 exports.JSMutableIndexable = JSMutableIndexable; 1593 exports.JSMutableIndexable = JSMutableIndexable;
1594 exports.JSObject = JSObject; 1594 exports.JSObject = JSObject;
1595 exports.JavaScriptObject = JavaScriptObject; 1595 exports.JavaScriptObject = JavaScriptObject;
1596 exports.PlainJavaScriptObject = PlainJavaScriptObject; 1596 exports.PlainJavaScriptObject = PlainJavaScriptObject;
1597 exports.UnknownJavaScriptObject = UnknownJavaScriptObject; 1597 exports.UnknownJavaScriptObject = UnknownJavaScriptObject;
1598 }); 1598 });
OLDNEW
« no previous file with comments | « no previous file | lib/runtime/dart/_internal.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698