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

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

Issue 1090313002: fixes #52, fields shadowing getters/setters or other fields (Closed) Base URL: git@github.com:dart-lang/dev_compiler.git@master
Patch Set: Created 5 years, 8 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 | « lib/runtime/dart/_isolate_helper.js ('k') | lib/runtime/dart/_native_typed_data.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 var _js_helper; 1 var _js_helper;
2 (function(exports) { 2 (function(exports) {
3 'use strict'; 3 'use strict';
4 class NoSideEffects extends core.Object { 4 class NoSideEffects extends core.Object {
5 NoSideEffects() { 5 NoSideEffects() {
6 } 6 }
7 } 7 }
8 class NoThrows extends core.Object { 8 class NoThrows extends core.Object {
9 NoThrows() { 9 NoThrows() {
10 } 10 }
11 } 11 }
12 class NoInline extends core.Object { 12 class NoInline extends core.Object {
13 NoInline() { 13 NoInline() {
14 } 14 }
15 } 15 }
16 let value$ = Symbol('value');
16 class IrRepresentation extends core.Object { 17 class IrRepresentation extends core.Object {
18 get value() {
19 return this[value$];
20 }
17 IrRepresentation(value) { 21 IrRepresentation(value) {
18 this.value = value; 22 this[value$] = value;
19 } 23 }
20 } 24 }
25 let name$ = Symbol('name');
21 class Native extends core.Object { 26 class Native extends core.Object {
27 get name() {
28 return this[name$];
29 }
22 Native(name) { 30 Native(name) {
23 this.name = name; 31 this[name$] = name;
24 } 32 }
25 } 33 }
26 let _ = Symbol('_'); 34 let _ = Symbol('_');
27 let _throwUnmodifiable = Symbol('_throwUnmodifiable'); 35 let _throwUnmodifiable = Symbol('_throwUnmodifiable');
28 let ConstantMap$ = dart.generic(function(K, V) { 36 let ConstantMap$ = dart.generic(function(K, V) {
29 class ConstantMap extends core.Object { 37 class ConstantMap extends core.Object {
30 [_]() { 38 [_]() {
31 } 39 }
32 get isEmpty() { 40 get isEmpty() {
33 return this.length == 0; 41 return this.length == 0;
(...skipping 21 matching lines...) Expand all
55 } 63 }
56 addAll(other) { 64 addAll(other) {
57 return this[_throwUnmodifiable](); 65 return this[_throwUnmodifiable]();
58 } 66 }
59 } 67 }
60 ConstantMap[dart.implements] = () => [core.Map$(K, V)]; 68 ConstantMap[dart.implements] = () => [core.Map$(K, V)];
61 dart.defineNamedConstructor(ConstantMap, _); 69 dart.defineNamedConstructor(ConstantMap, _);
62 return ConstantMap; 70 return ConstantMap;
63 }); 71 });
64 let ConstantMap = ConstantMap$(); 72 let ConstantMap = ConstantMap$();
73 let length$ = Symbol('length');
65 let _jsObject = Symbol('_jsObject'); 74 let _jsObject = Symbol('_jsObject');
66 let _keys = Symbol('_keys'); 75 let _keys = Symbol('_keys');
67 let _fetch = Symbol('_fetch'); 76 let _fetch = Symbol('_fetch');
68 let ConstantStringMap$ = dart.generic(function(K, V) { 77 let ConstantStringMap$ = dart.generic(function(K, V) {
69 class ConstantStringMap extends ConstantMap$(K, V) { 78 class ConstantStringMap extends ConstantMap$(K, V) {
70 [_](length, jsObject, keys) { 79 [_](length, jsObject, keys) {
71 this.length = length; 80 this[length$] = length;
72 this[_jsObject] = jsObject; 81 this[_jsObject] = jsObject;
73 this[_keys] = keys; 82 this[_keys] = keys;
74 super[_](); 83 super[_]();
75 } 84 }
85 get length() {
86 return this[length$];
87 }
76 containsValue(needle) { 88 containsValue(needle) {
77 return this.values[core.$any](value => dart.equals(value, needle)); 89 return this.values[core.$any](value => dart.equals(value, needle));
78 } 90 }
79 containsKey(key) { 91 containsKey(key) {
80 if (!(typeof key == 'string')) 92 if (!(typeof key == 'string'))
81 return false; 93 return false;
82 if (dart.equals('__proto__', key)) 94 if (dart.equals('__proto__', key))
83 return false; 95 return false;
84 return jsHasOwnProperty(this[_jsObject], dart.as(key, core.String)); 96 return jsHasOwnProperty(this[_jsObject], dart.as(key, core.String));
85 } 97 }
(...skipping 374 matching lines...) Expand 10 before | Expand all | Expand 10 after
460 nativeRegexp.lastIndex = 0; 472 nativeRegexp.lastIndex = 0;
461 return nativeRegexp; 473 return nativeRegexp;
462 } 474 }
463 let _nativeAnchoredVersion = Symbol('_nativeAnchoredVersion'); 475 let _nativeAnchoredVersion = Symbol('_nativeAnchoredVersion');
464 // Function regExpCaptureCount: (JSSyntaxRegExp) → int 476 // Function regExpCaptureCount: (JSSyntaxRegExp) → int
465 function regExpCaptureCount(regexp) { 477 function regExpCaptureCount(regexp) {
466 let nativeAnchoredRegExp = regexp[_nativeAnchoredVersion]; 478 let nativeAnchoredRegExp = regexp[_nativeAnchoredVersion];
467 let match = nativeAnchoredRegExp.exec(''); 479 let match = nativeAnchoredRegExp.exec('');
468 return dart.as(dart.dsend(dart.dload(match, 'length'), '-', 2), core.int); 480 return dart.as(dart.dsend(dart.dload(match, 'length'), '-', 2), core.int);
469 } 481 }
482 let pattern = Symbol('pattern');
470 let _nativeGlobalRegExp = Symbol('_nativeGlobalRegExp'); 483 let _nativeGlobalRegExp = Symbol('_nativeGlobalRegExp');
471 let _nativeAnchoredRegExp = Symbol('_nativeAnchoredRegExp'); 484 let _nativeAnchoredRegExp = Symbol('_nativeAnchoredRegExp');
472 let _isMultiLine = Symbol('_isMultiLine'); 485 let _isMultiLine = Symbol('_isMultiLine');
473 let _isCaseSensitive = Symbol('_isCaseSensitive'); 486 let _isCaseSensitive = Symbol('_isCaseSensitive');
474 let _execGlobal = Symbol('_execGlobal'); 487 let _execGlobal = Symbol('_execGlobal');
475 let _execAnchored = Symbol('_execAnchored'); 488 let _execAnchored = Symbol('_execAnchored');
476 class JSSyntaxRegExp extends core.Object { 489 class JSSyntaxRegExp extends core.Object {
490 get pattern() {
491 return this[pattern];
492 }
477 toString() { 493 toString() {
478 return `RegExp/${this.pattern}/`; 494 return `RegExp/${this.pattern}/`;
479 } 495 }
480 JSSyntaxRegExp(source, opts) { 496 JSSyntaxRegExp(source, opts) {
481 let multiLine = opts && 'multiLine' in opts ? opts.multiLine : false; 497 let multiLine = opts && 'multiLine' in opts ? opts.multiLine : false;
482 let caseSensitive = opts && 'caseSensitive' in opts ? opts.caseSensitive : true; 498 let caseSensitive = opts && 'caseSensitive' in opts ? opts.caseSensitive : true;
483 this.pattern = source; 499 this[pattern] = source;
484 this[_nativeRegExp] = JSSyntaxRegExp.makeNative(source, multiLine, caseSen sitive, false); 500 this[_nativeRegExp] = JSSyntaxRegExp.makeNative(source, multiLine, caseSen sitive, false);
485 this[_nativeGlobalRegExp] = null; 501 this[_nativeGlobalRegExp] = null;
486 this[_nativeAnchoredRegExp] = null; 502 this[_nativeAnchoredRegExp] = null;
487 } 503 }
488 get [_nativeGlobalVersion]() { 504 get [_nativeGlobalVersion]() {
489 if (this[_nativeGlobalRegExp] != null) 505 if (this[_nativeGlobalRegExp] != null)
490 return this[_nativeGlobalRegExp]; 506 return this[_nativeGlobalRegExp];
491 return this[_nativeGlobalRegExp] = JSSyntaxRegExp.makeNative(this.pattern, this[_isMultiLine], this[_isCaseSensitive], true); 507 return this[_nativeGlobalRegExp] = JSSyntaxRegExp.makeNative(this.pattern, this[_isMultiLine], this[_isCaseSensitive], true);
492 } 508 }
493 get [_nativeAnchoredVersion]() { 509 get [_nativeAnchoredVersion]() {
(...skipping 165 matching lines...) Expand 10 before | Expand all | Expand 10 after
659 this[_current] = null; 675 this[_current] = null;
660 this[_string] = null; 676 this[_string] = null;
661 return false; 677 return false;
662 } 678 }
663 } 679 }
664 _AllMatchesIterator[dart.implements] = () => [core.Iterator$(core.Match)]; 680 _AllMatchesIterator[dart.implements] = () => [core.Iterator$(core.Match)];
665 // Function firstMatchAfter: (JSSyntaxRegExp, String, int) → Match 681 // Function firstMatchAfter: (JSSyntaxRegExp, String, int) → Match
666 function firstMatchAfter(regExp, string, start) { 682 function firstMatchAfter(regExp, string, start) {
667 return regExp[_execGlobal](string, start); 683 return regExp[_execGlobal](string, start);
668 } 684 }
685 let start$ = Symbol('start');
686 let input$ = Symbol('input');
687 let pattern$ = Symbol('pattern');
669 class StringMatch extends core.Object { 688 class StringMatch extends core.Object {
670 StringMatch(start, input, pattern) { 689 StringMatch(start, input, pattern) {
671 this.start = start; 690 this[start$] = start;
672 this.input = input; 691 this[input$] = input;
673 this.pattern = pattern; 692 this[pattern$] = pattern;
674 } 693 }
675 get end() { 694 get end() {
676 return dart.notNull(this.start) + dart.notNull(this.pattern.length); 695 return dart.notNull(this.start) + dart.notNull(this.pattern.length);
677 } 696 }
678 get(g) { 697 get(g) {
679 return this.group(g); 698 return this.group(g);
680 } 699 }
681 get groupCount() { 700 get groupCount() {
682 return 0; 701 return 0;
683 } 702 }
684 group(group_) { 703 group(group_) {
685 if (group_ != 0) { 704 if (group_ != 0) {
686 throw new core.RangeError.value(group_); 705 throw new core.RangeError.value(group_);
687 } 706 }
688 return this.pattern; 707 return this.pattern;
689 } 708 }
690 groups(groups_) { 709 groups(groups_) {
691 let result = new (core.List$(core.String))(); 710 let result = new (core.List$(core.String))();
692 for (let g of groups_) { 711 for (let g of groups_) {
693 result[core.$add](this.group(g)); 712 result[core.$add](this.group(g));
694 } 713 }
695 return result; 714 return result;
696 } 715 }
716 get start() {
717 return this[start$];
718 }
719 get input() {
720 return this[input$];
721 }
722 get pattern() {
723 return this[pattern$];
724 }
697 } 725 }
698 StringMatch[dart.implements] = () => [core.Match]; 726 StringMatch[dart.implements] = () => [core.Match];
699 // Function allMatchesInStringUnchecked: (String, String, int) → List<Match> 727 // Function allMatchesInStringUnchecked: (String, String, int) → List<Match>
700 function allMatchesInStringUnchecked(needle, haystack, startIndex) { 728 function allMatchesInStringUnchecked(needle, haystack, startIndex) {
701 let result = new (core.List$(core.Match))(); 729 let result = new (core.List$(core.Match))();
702 let length = haystack.length; 730 let length = haystack.length;
703 let patternLength = needle.length; 731 let patternLength = needle.length;
704 while (true) { 732 while (true) {
705 let position = haystack.indexOf(needle, startIndex); 733 let position = haystack.indexOf(needle, startIndex);
706 if (position == -1) { 734 if (position == -1) {
(...skipping 181 matching lines...) Expand 10 before | Expand all | Expand 10 after
888 return this[_unmangledName] = unmangledName; 916 return this[_unmangledName] = unmangledName;
889 } 917 }
890 get hashCode() { 918 get hashCode() {
891 return this[_typeName].hashCode; 919 return this[_typeName].hashCode;
892 } 920 }
893 ['=='](other) { 921 ['=='](other) {
894 return dart.is(other, TypeImpl) && dart.equals(this[_typeName], dart.dload (other, _typeName)); 922 return dart.is(other, TypeImpl) && dart.equals(this[_typeName], dart.dload (other, _typeName));
895 } 923 }
896 } 924 }
897 TypeImpl[dart.implements] = () => [core.Type]; 925 TypeImpl[dart.implements] = () => [core.Type];
926 let owner$ = Symbol('owner');
927 let name$0 = Symbol('name');
928 let bound$ = Symbol('bound');
898 class TypeVariable extends core.Object { 929 class TypeVariable extends core.Object {
930 get owner() {
931 return this[owner$];
932 }
933 get name() {
934 return this[name$0];
935 }
936 get bound() {
937 return this[bound$];
938 }
899 TypeVariable(owner, name, bound) { 939 TypeVariable(owner, name, bound) {
900 this.owner = owner; 940 this[owner$] = owner;
901 this.name = name; 941 this[name$0] = name;
902 this.bound = bound; 942 this[bound$] = bound;
903 } 943 }
904 } 944 }
905 // Function getMangledTypeName: (TypeImpl) → dynamic 945 // Function getMangledTypeName: (TypeImpl) → dynamic
906 function getMangledTypeName(type) { 946 function getMangledTypeName(type) {
907 return type[_typeName]; 947 return type[_typeName];
908 } 948 }
909 // Function setRuntimeTypeInfo: (Object, dynamic) → Object 949 // Function setRuntimeTypeInfo: (Object, dynamic) → Object
910 function setRuntimeTypeInfo(target, typeInfo) { 950 function setRuntimeTypeInfo(target, typeInfo) {
911 dart.assert(dart.notNull(typeInfo == null) || dart.notNull(isJsArray(typeInf o))); 951 dart.assert(dart.notNull(typeInfo == null) || dart.notNull(isJsArray(typeInf o)));
912 if (target != null) 952 if (target != null)
(...skipping 600 matching lines...) Expand 10 before | Expand all | Expand 10 after
1513 } 1553 }
1514 } 1554 }
1515 static getCachedInvocation(invocation, victim) { 1555 static getCachedInvocation(invocation, victim) {
1516 return invocation[_getCachedInvocation](victim); 1556 return invocation[_getCachedInvocation](victim);
1517 } 1557 }
1518 } 1558 }
1519 JSInvocationMirror[dart.implements] = () => [core.Invocation]; 1559 JSInvocationMirror[dart.implements] = () => [core.Invocation];
1520 JSInvocationMirror.METHOD = 0; 1560 JSInvocationMirror.METHOD = 0;
1521 JSInvocationMirror.GETTER = 1; 1561 JSInvocationMirror.GETTER = 1;
1522 JSInvocationMirror.SETTER = 2; 1562 JSInvocationMirror.SETTER = 2;
1563 let mangledName$ = Symbol('mangledName');
1564 let jsFunction$ = Symbol('jsFunction');
1565 let isIntercepted$ = Symbol('isIntercepted');
1566 let cachedInterceptor$ = Symbol('cachedInterceptor');
1523 class CachedInvocation extends core.Object { 1567 class CachedInvocation extends core.Object {
1568 get mangledName() {
1569 return this[mangledName$];
1570 }
1571 set mangledName(value) {
1572 this[mangledName$] = value;
1573 }
1574 get jsFunction() {
1575 return this[jsFunction$];
1576 }
1577 set jsFunction(value) {
1578 this[jsFunction$] = value;
1579 }
1580 get isIntercepted() {
1581 return this[isIntercepted$];
1582 }
1583 set isIntercepted(value) {
1584 this[isIntercepted$] = value;
1585 }
1586 get cachedInterceptor() {
1587 return this[cachedInterceptor$];
1588 }
1589 set cachedInterceptor(value) {
1590 this[cachedInterceptor$] = value;
1591 }
1524 CachedInvocation(mangledName, jsFunction, isIntercepted, cachedInterceptor) { 1592 CachedInvocation(mangledName, jsFunction, isIntercepted, cachedInterceptor) {
1525 this.mangledName = mangledName; 1593 this[mangledName$] = mangledName;
1526 this.jsFunction = jsFunction; 1594 this[jsFunction$] = jsFunction;
1527 this.isIntercepted = isIntercepted; 1595 this[isIntercepted$] = isIntercepted;
1528 this.cachedInterceptor = cachedInterceptor; 1596 this[cachedInterceptor$] = cachedInterceptor;
1529 } 1597 }
1530 get isNoSuchMethod() { 1598 get isNoSuchMethod() {
1531 return false; 1599 return false;
1532 } 1600 }
1533 get isGetterStub() { 1601 get isGetterStub() {
1534 return !!this.jsFunction.$getterStub; 1602 return !!this.jsFunction.$getterStub;
1535 } 1603 }
1536 invokeOn(victim, arguments$) { 1604 invokeOn(victim, arguments$) {
1537 let receiver = victim; 1605 let receiver = victim;
1538 if (!dart.notNull(this.isIntercepted)) { 1606 if (!dart.notNull(this.isIntercepted)) {
1539 if (!dart.is(arguments$, _interceptors.JSArray)) 1607 if (!dart.is(arguments$, _interceptors.JSArray))
1540 arguments$ = new core.List.from(arguments$); 1608 arguments$ = new core.List.from(arguments$);
1541 } else { 1609 } else {
1542 let _ = new core.List.from([victim]); 1610 let _ = new core.List.from([victim]);
1543 _[core.$addAll](arguments$); 1611 _[core.$addAll](arguments$);
1544 arguments$ = _; 1612 arguments$ = _;
1545 if (this.cachedInterceptor != null) 1613 if (this.cachedInterceptor != null)
1546 receiver = this.cachedInterceptor; 1614 receiver = this.cachedInterceptor;
1547 } 1615 }
1548 return this.jsFunction.apply(receiver, arguments$); 1616 return this.jsFunction.apply(receiver, arguments$);
1549 } 1617 }
1550 } 1618 }
1619 let info = Symbol('info');
1551 class CachedCatchAllInvocation extends CachedInvocation { 1620 class CachedCatchAllInvocation extends CachedInvocation {
1621 get info() {
1622 return this[info];
1623 }
1552 CachedCatchAllInvocation(name, jsFunction, isIntercepted, cachedInterceptor) { 1624 CachedCatchAllInvocation(name, jsFunction, isIntercepted, cachedInterceptor) {
1553 this.info = new ReflectionInfo(jsFunction); 1625 this[info] = new ReflectionInfo(jsFunction);
1554 super.CachedInvocation(name, jsFunction, isIntercepted, cachedInterceptor) ; 1626 super.CachedInvocation(name, jsFunction, isIntercepted, cachedInterceptor) ;
1555 } 1627 }
1556 get isGetterStub() { 1628 get isGetterStub() {
1557 return false; 1629 return false;
1558 } 1630 }
1559 invokeOn(victim, arguments$) { 1631 invokeOn(victim, arguments$) {
1560 let receiver = victim; 1632 let receiver = victim;
1561 let providedArgumentCount = null; 1633 let providedArgumentCount = null;
1562 let fullParameterCount = dart.notNull(this.info.requiredParameterCount) + dart.notNull(this.info.optionalParameterCount); 1634 let fullParameterCount = dart.notNull(this.info.requiredParameterCount) + dart.notNull(this.info.optionalParameterCount);
1563 if (!dart.notNull(this.isIntercepted)) { 1635 if (!dart.notNull(this.isIntercepted)) {
(...skipping 20 matching lines...) Expand all
1584 throw new UnimplementedNoSuchMethodError(`Invocation of unstubbed method '${this.info.reflectionName}'` + ` with ${providedArgumentCount} arguments (too few).`); 1656 throw new UnimplementedNoSuchMethodError(`Invocation of unstubbed method '${this.info.reflectionName}'` + ` with ${providedArgumentCount} arguments (too few).`);
1585 } else if (dart.notNull(providedArgumentCount) > dart.notNull(fullParamete rCount)) { 1657 } else if (dart.notNull(providedArgumentCount) > dart.notNull(fullParamete rCount)) {
1586 throw new UnimplementedNoSuchMethodError(`Invocation of unstubbed method '${this.info.reflectionName}'` + ` with ${providedArgumentCount} arguments (too many).`); 1658 throw new UnimplementedNoSuchMethodError(`Invocation of unstubbed method '${this.info.reflectionName}'` + ` with ${providedArgumentCount} arguments (too many).`);
1587 } 1659 }
1588 for (let i = providedArgumentCount; dart.notNull(i) < dart.notNull(fullPar ameterCount); i = dart.notNull(i) + 1) { 1660 for (let i = providedArgumentCount; dart.notNull(i) < dart.notNull(fullPar ameterCount); i = dart.notNull(i) + 1) {
1589 arguments$[core.$add](getMetadata(this.info.defaultValue(i))); 1661 arguments$[core.$add](getMetadata(this.info.defaultValue(i)));
1590 } 1662 }
1591 return this.jsFunction.apply(receiver, arguments$); 1663 return this.jsFunction.apply(receiver, arguments$);
1592 } 1664 }
1593 } 1665 }
1666 let interceptor$ = Symbol('interceptor');
1594 class CachedNoSuchMethodInvocation extends core.Object { 1667 class CachedNoSuchMethodInvocation extends core.Object {
1668 get interceptor() {
1669 return this[interceptor$];
1670 }
1671 set interceptor(value) {
1672 this[interceptor$] = value;
1673 }
1595 CachedNoSuchMethodInvocation(interceptor) { 1674 CachedNoSuchMethodInvocation(interceptor) {
1596 this.interceptor = interceptor; 1675 this[interceptor$] = interceptor;
1597 } 1676 }
1598 get isNoSuchMethod() { 1677 get isNoSuchMethod() {
1599 return true; 1678 return true;
1600 } 1679 }
1601 get isGetterStub() { 1680 get isGetterStub() {
1602 return false; 1681 return false;
1603 } 1682 }
1604 invokeOn(victim, invocation) { 1683 invokeOn(victim, invocation) {
1605 let receiver = this.interceptor == null ? victim : this.interceptor; 1684 let receiver = this.interceptor == null ? victim : this.interceptor;
1606 return dart.dsend(receiver, 'noSuchMethod', invocation); 1685 return dart.dsend(receiver, 'noSuchMethod', invocation);
1607 } 1686 }
1608 } 1687 }
1688 let jsFunction$0 = Symbol('jsFunction');
1689 let data$ = Symbol('data');
1690 let isAccessor$ = Symbol('isAccessor');
1691 let requiredParameterCount$ = Symbol('requiredParameterCount');
1692 let optionalParameterCount$ = Symbol('optionalParameterCount');
1693 let areOptionalParametersNamed$ = Symbol('areOptionalParametersNamed');
1694 let functionType$ = Symbol('functionType');
1695 let cachedSortedIndices = Symbol('cachedSortedIndices');
1609 class ReflectionInfo extends core.Object { 1696 class ReflectionInfo extends core.Object {
1697 get jsFunction() {
1698 return this[jsFunction$0];
1699 }
1700 get data() {
1701 return this[data$];
1702 }
1703 get isAccessor() {
1704 return this[isAccessor$];
1705 }
1706 get requiredParameterCount() {
1707 return this[requiredParameterCount$];
1708 }
1709 get optionalParameterCount() {
1710 return this[optionalParameterCount$];
1711 }
1712 get areOptionalParametersNamed() {
1713 return this[areOptionalParametersNamed$];
1714 }
1715 get functionType() {
1716 return this[functionType$];
1717 }
1718 get cachedSortedIndices() {
1719 return this[cachedSortedIndices];
1720 }
1721 set cachedSortedIndices(value) {
1722 this[cachedSortedIndices] = value;
1723 }
1610 internal(jsFunction, data, isAccessor, requiredParameterCount, optionalParam eterCount, areOptionalParametersNamed, functionType) { 1724 internal(jsFunction, data, isAccessor, requiredParameterCount, optionalParam eterCount, areOptionalParametersNamed, functionType) {
1611 this.jsFunction = jsFunction; 1725 this[jsFunction$0] = jsFunction;
1612 this.data = data; 1726 this[data$] = data;
1613 this.isAccessor = isAccessor; 1727 this[isAccessor$] = isAccessor;
1614 this.requiredParameterCount = requiredParameterCount; 1728 this[requiredParameterCount$] = requiredParameterCount;
1615 this.optionalParameterCount = optionalParameterCount; 1729 this[optionalParameterCount$] = optionalParameterCount;
1616 this.areOptionalParametersNamed = areOptionalParametersNamed; 1730 this[areOptionalParametersNamed$] = areOptionalParametersNamed;
1617 this.functionType = functionType; 1731 this[functionType$] = functionType;
1618 this.cachedSortedIndices = null; 1732 this[cachedSortedIndices] = null;
1619 } 1733 }
1620 ReflectionInfo(jsFunction) { 1734 ReflectionInfo(jsFunction) {
1621 let data = dart.as(jsFunction.$reflectionInfo, core.List); 1735 let data = dart.as(jsFunction.$reflectionInfo, core.List);
1622 if (data == null) 1736 if (data == null)
1623 return null; 1737 return null;
1624 data = _interceptors.JSArray.markFixedList(data); 1738 data = _interceptors.JSArray.markFixedList(data);
1625 let requiredParametersInfo = data[ReflectionInfo.REQUIRED_PARAMETERS_INFO] ; 1739 let requiredParametersInfo = data[ReflectionInfo.REQUIRED_PARAMETERS_INFO] ;
1626 let requiredParameterCount = requiredParametersInfo >> 1; 1740 let requiredParameterCount = requiredParametersInfo >> 1;
1627 let isAccessor = (dart.notNull(requiredParametersInfo) & 1) == 1; 1741 let isAccessor = (dart.notNull(requiredParametersInfo) & 1) == 1;
1628 let optionalParametersInfo = data[ReflectionInfo.OPTIONAL_PARAMETERS_INFO] ; 1742 let optionalParametersInfo = data[ReflectionInfo.OPTIONAL_PARAMETERS_INFO] ;
(...skipping 1299 matching lines...) Expand 10 before | Expand all | Expand 10 after
2928 return jsObject.hasOwnProperty(property); 3042 return jsObject.hasOwnProperty(property);
2929 } 3043 }
2930 // Function jsPropertyAccess: (dynamic, String) → dynamic 3044 // Function jsPropertyAccess: (dynamic, String) → dynamic
2931 function jsPropertyAccess(jsObject, property) { 3045 function jsPropertyAccess(jsObject, property) {
2932 return jsObject[property]; 3046 return jsObject[property];
2933 } 3047 }
2934 // Function getFallThroughError: () → dynamic 3048 // Function getFallThroughError: () → dynamic
2935 function getFallThroughError() { 3049 function getFallThroughError() {
2936 return new FallThroughErrorImplementation(); 3050 return new FallThroughErrorImplementation();
2937 } 3051 }
3052 let types$ = Symbol('types');
2938 class Creates extends core.Object { 3053 class Creates extends core.Object {
3054 get types() {
3055 return this[types$];
3056 }
2939 Creates(types) { 3057 Creates(types) {
2940 this.types = types; 3058 this[types$] = types;
2941 } 3059 }
2942 } 3060 }
3061 let types$0 = Symbol('types');
2943 class Returns extends core.Object { 3062 class Returns extends core.Object {
3063 get types() {
3064 return this[types$0];
3065 }
2944 Returns(types) { 3066 Returns(types) {
2945 this.types = types; 3067 this[types$0] = types;
2946 } 3068 }
2947 } 3069 }
3070 let name$1 = Symbol('name');
2948 class JSName extends core.Object { 3071 class JSName extends core.Object {
3072 get name() {
3073 return this[name$1];
3074 }
2949 JSName(name) { 3075 JSName(name) {
2950 this.name = name; 3076 this[name$1] = name;
2951 } 3077 }
2952 } 3078 }
2953 // Function boolConversionCheck: (dynamic) → dynamic 3079 // Function boolConversionCheck: (dynamic) → dynamic
2954 function boolConversionCheck(value) { 3080 function boolConversionCheck(value) {
2955 if (typeof value == 'boolean') 3081 if (typeof value == 'boolean')
2956 return value; 3082 return value;
2957 boolTypeCheck(value); 3083 boolTypeCheck(value);
2958 dart.assert(value != null); 3084 dart.assert(value != null);
2959 return false; 3085 return false;
2960 } 3086 }
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after
3212 if (!dart.notNull(exports._loadedLibraries[core.$contains](loadId))) { 3338 if (!dart.notNull(exports._loadedLibraries[core.$contains](loadId))) {
3213 throw new DeferredNotLoadedError(uri); 3339 throw new DeferredNotLoadedError(uri);
3214 } 3340 }
3215 } 3341 }
3216 dart.defineLazyClass(exports, { 3342 dart.defineLazyClass(exports, {
3217 get JavaScriptIndexingBehavior() { 3343 get JavaScriptIndexingBehavior() {
3218 class JavaScriptIndexingBehavior extends _interceptors.JSMutableIndexable {} 3344 class JavaScriptIndexingBehavior extends _interceptors.JSMutableIndexable {}
3219 return JavaScriptIndexingBehavior; 3345 return JavaScriptIndexingBehavior;
3220 } 3346 }
3221 }); 3347 });
3348 let message$ = Symbol('message');
3222 class TypeErrorImplementation extends core.Error { 3349 class TypeErrorImplementation extends core.Error {
3350 get message() {
3351 return this[message$];
3352 }
3223 TypeErrorImplementation(value, type) { 3353 TypeErrorImplementation(value, type) {
3224 this.message = `type '${Primitives.objectTypeName(value)}' is not a subtyp e ` + `of type '${type}'`; 3354 this[message$] = `type '${Primitives.objectTypeName(value)}' is not a subt ype ` + `of type '${type}'`;
3225 super.Error(); 3355 super.Error();
3226 } 3356 }
3227 fromMessage(message) { 3357 fromMessage(message) {
3228 this.message = message; 3358 this[message$] = message;
3229 super.Error(); 3359 super.Error();
3230 } 3360 }
3231 toString() { 3361 toString() {
3232 return this.message; 3362 return this.message;
3233 } 3363 }
3234 } 3364 }
3235 TypeErrorImplementation[dart.implements] = () => [core.TypeError]; 3365 TypeErrorImplementation[dart.implements] = () => [core.TypeError];
3236 dart.defineNamedConstructor(TypeErrorImplementation, 'fromMessage'); 3366 dart.defineNamedConstructor(TypeErrorImplementation, 'fromMessage');
3367 let message = Symbol('message');
3237 class CastErrorImplementation extends core.Error { 3368 class CastErrorImplementation extends core.Error {
3369 get message() {
3370 return this[message];
3371 }
3238 CastErrorImplementation(actualType, expectedType) { 3372 CastErrorImplementation(actualType, expectedType) {
3239 this.message = `CastError: Casting value of type ${actualType} to` + ` inc ompatible type ${expectedType}`; 3373 this[message] = `CastError: Casting value of type ${actualType} to` + ` in compatible type ${expectedType}`;
3240 super.Error(); 3374 super.Error();
3241 } 3375 }
3242 toString() { 3376 toString() {
3243 return this.message; 3377 return this.message;
3244 } 3378 }
3245 } 3379 }
3246 CastErrorImplementation[dart.implements] = () => [core.CastError]; 3380 CastErrorImplementation[dart.implements] = () => [core.CastError];
3247 class FallThroughErrorImplementation extends core.FallThroughError { 3381 class FallThroughErrorImplementation extends core.FallThroughError {
3248 FallThroughErrorImplementation() { 3382 FallThroughErrorImplementation() {
3249 super.FallThroughError(); 3383 super.FallThroughError();
(...skipping 16 matching lines...) Expand all
3266 } 3400 }
3267 // Function throwNoSuchMethod: (dynamic, dynamic, dynamic, dynamic) → void 3401 // Function throwNoSuchMethod: (dynamic, dynamic, dynamic, dynamic) → void
3268 function throwNoSuchMethod(obj, name, arguments$, expectedArgumentNames) { 3402 function throwNoSuchMethod(obj, name, arguments$, expectedArgumentNames) {
3269 let memberName = new _internal.Symbol.unvalidated(dart.as(name, core.String) ); 3403 let memberName = new _internal.Symbol.unvalidated(dart.as(name, core.String) );
3270 throw new core.NoSuchMethodError(obj, memberName, dart.as(arguments$, core.L ist), new (core.Map$(core.Symbol, dart.dynamic))(), dart.as(expectedArgumentName s, core.List)); 3404 throw new core.NoSuchMethodError(obj, memberName, dart.as(arguments$, core.L ist), new (core.Map$(core.Symbol, dart.dynamic))(), dart.as(expectedArgumentName s, core.List));
3271 } 3405 }
3272 // Function throwCyclicInit: (String) → void 3406 // Function throwCyclicInit: (String) → void
3273 function throwCyclicInit(staticName) { 3407 function throwCyclicInit(staticName) {
3274 throw new core.CyclicInitializationError(`Cyclic initialization for static $ {staticName}`); 3408 throw new core.CyclicInitializationError(`Cyclic initialization for static $ {staticName}`);
3275 } 3409 }
3410 let message$0 = Symbol('message');
3276 class RuntimeError extends core.Error { 3411 class RuntimeError extends core.Error {
3412 get message() {
3413 return this[message$0];
3414 }
3277 RuntimeError(message) { 3415 RuntimeError(message) {
3278 this.message = message; 3416 this[message$0] = message;
3279 super.Error(); 3417 super.Error();
3280 } 3418 }
3281 toString() { 3419 toString() {
3282 return `RuntimeError: ${this.message}`; 3420 return `RuntimeError: ${this.message}`;
3283 } 3421 }
3284 } 3422 }
3423 let libraryName$ = Symbol('libraryName');
3285 class DeferredNotLoadedError extends core.Error { 3424 class DeferredNotLoadedError extends core.Error {
3425 get libraryName() {
3426 return this[libraryName$];
3427 }
3428 set libraryName(value) {
3429 this[libraryName$] = value;
3430 }
3286 DeferredNotLoadedError(libraryName) { 3431 DeferredNotLoadedError(libraryName) {
3287 this.libraryName = libraryName; 3432 this[libraryName$] = libraryName;
3288 super.Error(); 3433 super.Error();
3289 } 3434 }
3290 toString() { 3435 toString() {
3291 return `Deferred library ${this.libraryName} was not loaded.`; 3436 return `Deferred library ${this.libraryName} was not loaded.`;
3292 } 3437 }
3293 } 3438 }
3294 DeferredNotLoadedError[dart.implements] = () => [core.NoSuchMethodError]; 3439 DeferredNotLoadedError[dart.implements] = () => [core.NoSuchMethodError];
3295 class RuntimeType extends core.Object { 3440 class RuntimeType extends core.Object {
3296 RuntimeType() { 3441 RuntimeType() {
3297 } 3442 }
3298 } 3443 }
3444 let returnType$ = Symbol('returnType');
3445 let parameterTypes$ = Symbol('parameterTypes');
3446 let optionalParameterTypes$ = Symbol('optionalParameterTypes');
3447 let namedParameters$ = Symbol('namedParameters');
3299 let _isTest = Symbol('_isTest'); 3448 let _isTest = Symbol('_isTest');
3300 let _extractFunctionTypeObjectFrom = Symbol('_extractFunctionTypeObjectFrom'); 3449 let _extractFunctionTypeObjectFrom = Symbol('_extractFunctionTypeObjectFrom');
3301 let _asCheck = Symbol('_asCheck'); 3450 let _asCheck = Symbol('_asCheck');
3302 let _check = Symbol('_check'); 3451 let _check = Symbol('_check');
3303 let _assertCheck = Symbol('_assertCheck'); 3452 let _assertCheck = Symbol('_assertCheck');
3304 class RuntimeFunctionType extends RuntimeType { 3453 class RuntimeFunctionType extends RuntimeType {
3454 get returnType() {
3455 return this[returnType$];
3456 }
3457 get parameterTypes() {
3458 return this[parameterTypes$];
3459 }
3460 get optionalParameterTypes() {
3461 return this[optionalParameterTypes$];
3462 }
3463 get namedParameters() {
3464 return this[namedParameters$];
3465 }
3305 RuntimeFunctionType(returnType, parameterTypes, optionalParameterTypes, name dParameters) { 3466 RuntimeFunctionType(returnType, parameterTypes, optionalParameterTypes, name dParameters) {
3306 this.returnType = returnType; 3467 this[returnType$] = returnType;
3307 this.parameterTypes = parameterTypes; 3468 this[parameterTypes$] = parameterTypes;
3308 this.optionalParameterTypes = optionalParameterTypes; 3469 this[optionalParameterTypes$] = optionalParameterTypes;
3309 this.namedParameters = namedParameters; 3470 this[namedParameters$] = namedParameters;
3310 super.RuntimeType(); 3471 super.RuntimeType();
3311 } 3472 }
3312 get isVoid() { 3473 get isVoid() {
3313 return dart.is(this.returnType, VoidRuntimeType); 3474 return dart.is(this.returnType, VoidRuntimeType);
3314 } 3475 }
3315 [_isTest](expression) { 3476 [_isTest](expression) {
3316 let functionTypeObject = this[_extractFunctionTypeObjectFrom](expression); 3477 let functionTypeObject = this[_extractFunctionTypeObjectFrom](expression);
3317 return functionTypeObject == null ? false : isFunctionSubtype(functionType Object, this.toRti()); 3478 return functionTypeObject == null ? false : isFunctionSubtype(functionType Object, this.toRti());
3318 } 3479 }
3319 [_asCheck](expression) { 3480 [_asCheck](expression) {
(...skipping 195 matching lines...) Expand 10 before | Expand all | Expand 10 after
3515 for (let i = 1; dart.notNull(i) < dart.notNull(list[core.$length]); i = da rt.notNull(i) + 1) { 3676 for (let i = 1; dart.notNull(i) < dart.notNull(list[core.$length]); i = da rt.notNull(i) + 1) {
3516 arguments$[core.$add](convertRtiToRuntimeType(list[core.$get](i))); 3677 arguments$[core.$add](convertRtiToRuntimeType(list[core.$get](i)));
3517 } 3678 }
3518 return new RuntimeTypeGeneric(name, dart.as(arguments$, core.List$(Runtime Type)), rti); 3679 return new RuntimeTypeGeneric(name, dart.as(arguments$, core.List$(Runtime Type)), rti);
3519 } else if ("func" in rti) { 3680 } else if ("func" in rti) {
3520 return new FunctionTypeInfoDecoderRing(rti).toRuntimeType(); 3681 return new FunctionTypeInfoDecoderRing(rti).toRuntimeType();
3521 } else { 3682 } else {
3522 throw new RuntimeError("Cannot convert " + `'${JSON.stringify(rti)}' to Ru ntimeType.`); 3683 throw new RuntimeError("Cannot convert " + `'${JSON.stringify(rti)}' to Ru ntimeType.`);
3523 } 3684 }
3524 } 3685 }
3686 let name$2 = Symbol('name');
3525 class RuntimeTypePlain extends RuntimeType { 3687 class RuntimeTypePlain extends RuntimeType {
3688 get name() {
3689 return this[name$2];
3690 }
3526 RuntimeTypePlain(name) { 3691 RuntimeTypePlain(name) {
3527 this.name = name; 3692 this[name$2] = name;
3528 super.RuntimeType(); 3693 super.RuntimeType();
3529 } 3694 }
3530 toRti() { 3695 toRti() {
3531 let allClasses = _foreign_helper.JS_EMBEDDED_GLOBAL('', _js_embedded_names .ALL_CLASSES); 3696 let allClasses = _foreign_helper.JS_EMBEDDED_GLOBAL('', _js_embedded_names .ALL_CLASSES);
3532 let rti = allClasses[this.name]; 3697 let rti = allClasses[this.name];
3533 if (rti == null) 3698 if (rti == null)
3534 throw `no type for '${this.name}'`; 3699 throw `no type for '${this.name}'`;
3535 return rti; 3700 return rti;
3536 } 3701 }
3537 toString() { 3702 toString() {
3538 return this.name; 3703 return this.name;
3539 } 3704 }
3540 } 3705 }
3706 let name$3 = Symbol('name');
3707 let arguments$0 = Symbol('arguments');
3708 let rti$ = Symbol('rti');
3541 class RuntimeTypeGeneric extends RuntimeType { 3709 class RuntimeTypeGeneric extends RuntimeType {
3710 get name() {
3711 return this[name$3];
3712 }
3713 get arguments() {
3714 return this[arguments$0];
3715 }
3716 get rti() {
3717 return this[rti$];
3718 }
3719 set rti(value) {
3720 this[rti$] = value;
3721 }
3542 RuntimeTypeGeneric(name, arguments$, rti) { 3722 RuntimeTypeGeneric(name, arguments$, rti) {
3543 this.name = name; 3723 this[name$3] = name;
3544 this.arguments = arguments$; 3724 this[arguments$0] = arguments$;
3545 this.rti = rti; 3725 this[rti$] = rti;
3546 super.RuntimeType(); 3726 super.RuntimeType();
3547 } 3727 }
3548 toRti() { 3728 toRti() {
3549 if (this.rti != null) 3729 if (this.rti != null)
3550 return this.rti; 3730 return this.rti;
3551 let allClasses = _foreign_helper.JS_EMBEDDED_GLOBAL('', _js_embedded_names .ALL_CLASSES); 3731 let allClasses = _foreign_helper.JS_EMBEDDED_GLOBAL('', _js_embedded_names .ALL_CLASSES);
3552 let result = [allClasses[this.name]]; 3732 let result = [allClasses[this.name]];
3553 if (dart.dindex(result, 0) == null) { 3733 if (dart.dindex(result, 0) == null) {
3554 throw `no type for '${this.name}<...>'`; 3734 throw `no type for '${this.name}<...>'`;
3555 } 3735 }
(...skipping 487 matching lines...) Expand 10 before | Expand all | Expand 10 after
4043 exports.jsonEncodeNative = jsonEncodeNative; 4223 exports.jsonEncodeNative = jsonEncodeNative;
4044 exports.getIsolateAffinityTag = getIsolateAffinityTag; 4224 exports.getIsolateAffinityTag = getIsolateAffinityTag;
4045 exports.LoadLibraryFunctionType = LoadLibraryFunctionType; 4225 exports.LoadLibraryFunctionType = LoadLibraryFunctionType;
4046 exports.DeferredLoadCallback = DeferredLoadCallback; 4226 exports.DeferredLoadCallback = DeferredLoadCallback;
4047 exports.loadDeferredLibrary = loadDeferredLibrary; 4227 exports.loadDeferredLibrary = loadDeferredLibrary;
4048 exports.MainError = MainError; 4228 exports.MainError = MainError;
4049 exports.missingMain = missingMain; 4229 exports.missingMain = missingMain;
4050 exports.badMain = badMain; 4230 exports.badMain = badMain;
4051 exports.mainHasTooManyParameters = mainHasTooManyParameters; 4231 exports.mainHasTooManyParameters = mainHasTooManyParameters;
4052 })(_js_helper || (_js_helper = {})); 4232 })(_js_helper || (_js_helper = {}));
OLDNEW
« no previous file with comments | « lib/runtime/dart/_isolate_helper.js ('k') | lib/runtime/dart/_native_typed_data.js » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698