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

Side by Side Diff: dart/frog/frogsh

Issue 8566003: Revert various changes to Link factories. (Closed) Base URL: https://dart.googlecode.com/svn/branches/bleeding_edge
Patch Set: frogsh Created 9 years, 1 month 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 | Annotate | Revision Log
OLDNEW
1 #!/usr/bin/env node 1 #!/usr/bin/env node
2 // ********** Library dart:core ************** 2 // ********** Library dart:core **************
3 // ********** Natives dart:core ************** 3 // ********** Natives dart:core **************
4 /** 4 /**
5 * Generates a dynamic call stub for a function. 5 * Generates a dynamic call stub for a function.
6 * Our goal is to create a stub method like this on-the-fly: 6 * Our goal is to create a stub method like this on-the-fly:
7 * function($0, $1, capture) { this($0, $1, true, capture); } 7 * function($0, $1, capture) { this($0, $1, true, capture); }
8 * 8 *
9 * This stub then replaces the dynamic one on Function, with one that is 9 * This stub then replaces the dynamic one on Function, with one that is
10 * specialized for that particular function, taking into account its default 10 * specialized for that particular function, taking into account its default
(...skipping 432 matching lines...) Expand 10 before | Expand all | Expand 10 after
443 }; 443 };
444 Object.prototype.getBeginToken$0 = function() { 444 Object.prototype.getBeginToken$0 = function() {
445 return this.noSuchMethod("getBeginToken", []); 445 return this.noSuchMethod("getBeginToken", []);
446 }; 446 };
447 Object.prototype.getConstructor$1 = function($0) { 447 Object.prototype.getConstructor$1 = function($0) {
448 return this.noSuchMethod("getConstructor", [$0]); 448 return this.noSuchMethod("getConstructor", [$0]);
449 }; 449 };
450 Object.prototype.getEndToken$0 = function() { 450 Object.prototype.getEndToken$0 = function() {
451 return this.noSuchMethod("getEndToken", []); 451 return this.noSuchMethod("getEndToken", []);
452 }; 452 };
453 Object.prototype.getFactory$2 = function($0, $1) {
454 return this.noSuchMethod("getFactory", [$0, $1]);
455 };
453 Object.prototype.getKeys$0 = function() { 456 Object.prototype.getKeys$0 = function() {
454 return this.noSuchMethod("getKeys", []); 457 return this.noSuchMethod("getKeys", []);
455 }; 458 };
456 Object.prototype.getMember$1 = function($0) { 459 Object.prototype.getMember$1 = function($0) {
457 return this.noSuchMethod("getMember", [$0]); 460 return this.noSuchMethod("getMember", [$0]);
458 }; 461 };
459 Object.prototype.getOrMakeConcreteType$1 = function($0) { 462 Object.prototype.getOrMakeConcreteType$1 = function($0) {
460 return this.noSuchMethod("getOrMakeConcreteType", [$0]); 463 return this.noSuchMethod("getOrMakeConcreteType", [$0]);
461 }; 464 };
462 Object.prototype.get_$3 = function($0, $1, $2) { 465 Object.prototype.get_$3 = function($0, $1, $2) {
(...skipping 936 matching lines...) Expand 10 before | Expand all | Expand 10 after
1399 return this.iterator(); 1402 return this.iterator();
1400 }; 1403 };
1401 ListFactory.prototype.last$0 = function() { 1404 ListFactory.prototype.last$0 = function() {
1402 return this.last(); 1405 return this.last();
1403 }; 1406 };
1404 ListFactory.prototype.removeLast$0 = function() { 1407 ListFactory.prototype.removeLast$0 = function() {
1405 return this.removeLast(); 1408 return this.removeLast();
1406 }; 1409 };
1407 ListFactory.prototype.some$1 = ListFactory.prototype.some; 1410 ListFactory.prototype.some$1 = ListFactory.prototype.some;
1408 ListFactory.prototype.sort$1 = ListFactory.prototype.sort; 1411 ListFactory.prototype.sort$1 = ListFactory.prototype.sort;
1409 ListFactory$DoubleLinkedQueueEntry$KeyValuePair$K$V = ListFactory;
1410 ListFactory$DoubleLinkedQueueEntry$KeyValuePair$Node$Element = ListFactory;
1411 ListFactory$DoubleLinkedQueueEntry$KeyValuePair$String$Keyword = ListFactory;
1412 ListFactory$E = ListFactory; 1412 ListFactory$E = ListFactory;
1413 ListFactory$EvaluatedValue = ListFactory;
1414 ListFactory$HBasicBlock = ListFactory; 1413 ListFactory$HBasicBlock = ListFactory;
1415 ListFactory$HInstruction = ListFactory; 1414 ListFactory$HInstruction = ListFactory;
1416 ListFactory$K = ListFactory; 1415 ListFactory$K = ListFactory;
1417 ListFactory$KeywordState = ListFactory; 1416 ListFactory$KeywordState = ListFactory;
1418 ListFactory$String = ListFactory; 1417 ListFactory$String = ListFactory;
1419 ListFactory$T = ListFactory; 1418 ListFactory$T = ListFactory;
1420 ListFactory$Type = ListFactory;
1421 ListFactory$V = ListFactory; 1419 ListFactory$V = ListFactory;
1422 // ********** Code for ListIterator ************** 1420 // ********** Code for ListIterator **************
1423 function ListIterator(array) { 1421 function ListIterator(array) {
1424 this._array = array; 1422 this._array = array;
1425 this._pos = 0; 1423 this._pos = 0;
1426 // Initializers done 1424 // Initializers done
1427 } 1425 }
1428 ListIterator.prototype.is$Iterator$T = function(){return this;}; 1426 ListIterator.prototype.is$Iterator$T = function(){return this;};
1429 ListIterator.prototype.hasNext = function() { 1427 ListIterator.prototype.hasNext = function() {
1430 return this._array.length > this._pos; 1428 return this._array.length > this._pos;
(...skipping 214 matching lines...) Expand 10 before | Expand all | Expand 10 after
1645 // ********** Code for HashMapImplementation ************** 1643 // ********** Code for HashMapImplementation **************
1646 function HashMapImplementation() { 1644 function HashMapImplementation() {
1647 // Initializers done 1645 // Initializers done
1648 if (HashMapImplementation._deletedKey == null) { 1646 if (HashMapImplementation._deletedKey == null) {
1649 HashMapImplementation._deletedKey = new Object(); 1647 HashMapImplementation._deletedKey = new Object();
1650 } 1648 }
1651 this._numberOfEntries = 0; 1649 this._numberOfEntries = 0;
1652 this._numberOfDeleted = 0; 1650 this._numberOfDeleted = 0;
1653 this._loadLimit = HashMapImplementation._computeLoadLimit(8/*HashMapImplementa tion._INITIAL_CAPACITY*/); 1651 this._loadLimit = HashMapImplementation._computeLoadLimit(8/*HashMapImplementa tion._INITIAL_CAPACITY*/);
1654 this._keys = new ListFactory(8/*HashMapImplementation._INITIAL_CAPACITY*/); 1652 this._keys = new ListFactory(8/*HashMapImplementation._INITIAL_CAPACITY*/);
1655 this._values = new ListFactory$V(8/*HashMapImplementation._INITIAL_CAPACITY*/) ; 1653 this._values = new ListFactory(8/*HashMapImplementation._INITIAL_CAPACITY*/);
1656 } 1654 }
1657 HashMapImplementation.prototype.is$HashMapImplementation = function(){return thi s;}; 1655 HashMapImplementation.prototype.is$HashMapImplementation = function(){return thi s;};
1658 HashMapImplementation.prototype.is$Map$Node$Element = function(){return this;}; 1656 HashMapImplementation.prototype.is$Map$Node$Element = function(){return this;};
1659 HashMapImplementation.prototype.is$Map$String$Member = function(){return this;}; 1657 HashMapImplementation.prototype.is$Map$String$Member = function(){return this;};
1660 HashMapImplementation.HashMapImplementation$from$factory = function(other) { 1658 HashMapImplementation.HashMapImplementation$from$factory = function(other) {
1661 var result = new HashMapImplementation(); 1659 var result = new HashMapImplementation();
1662 other.forEach((function (key, value) { 1660 other.forEach((function (key, value) {
1663 result.$setindex(key, value); 1661 result.$setindex(key, value);
1664 }) 1662 })
1665 ); 1663 );
(...skipping 55 matching lines...) Expand 10 before | Expand all | Expand 10 after
1721 HashMapImplementation._isPowerOfTwo = function(x) { 1719 HashMapImplementation._isPowerOfTwo = function(x) {
1722 return ((x & (x - 1)) == 0); 1720 return ((x & (x - 1)) == 0);
1723 } 1721 }
1724 HashMapImplementation.prototype._grow = function(newCapacity) { 1722 HashMapImplementation.prototype._grow = function(newCapacity) {
1725 $assert(HashMapImplementation._isPowerOfTwo(newCapacity), "_isPowerOfTwo(newCa pacity)", "hash_map_set.dart", 153, 12); 1723 $assert(HashMapImplementation._isPowerOfTwo(newCapacity), "_isPowerOfTwo(newCa pacity)", "hash_map_set.dart", 153, 12);
1726 var capacity = this._keys.length; 1724 var capacity = this._keys.length;
1727 this._loadLimit = HashMapImplementation._computeLoadLimit(newCapacity); 1725 this._loadLimit = HashMapImplementation._computeLoadLimit(newCapacity);
1728 var oldKeys = this._keys; 1726 var oldKeys = this._keys;
1729 var oldValues = this._values; 1727 var oldValues = this._values;
1730 this._keys = new ListFactory(newCapacity); 1728 this._keys = new ListFactory(newCapacity);
1731 this._values = new ListFactory$V(newCapacity); 1729 this._values = new ListFactory(newCapacity);
1732 for (var i = 0; 1730 for (var i = 0;
1733 i < capacity; i++) { 1731 i < capacity; i++) {
1734 var key = oldKeys.$index(i); 1732 var key = oldKeys.$index(i);
1735 if (key == null || key === HashMapImplementation._deletedKey) { 1733 if (key == null || key === HashMapImplementation._deletedKey) {
1736 continue; 1734 continue;
1737 } 1735 }
1738 var value = oldValues.$index(i); 1736 var value = oldValues.$index(i);
1739 var newIndex = this._probeForAdding(key); 1737 var newIndex = this._probeForAdding(key);
1740 this._keys.$setindex(newIndex, key); 1738 this._keys.$setindex(newIndex, key);
1741 this._values.$setindex(newIndex, value); 1739 this._values.$setindex(newIndex, value);
(...skipping 38 matching lines...) Expand 10 before | Expand all | Expand 10 after
1780 HashMapImplementation.prototype.forEach = function(f) { 1778 HashMapImplementation.prototype.forEach = function(f) {
1781 var length = this._keys.length; 1779 var length = this._keys.length;
1782 for (var i = 0; 1780 for (var i = 0;
1783 i < length; i++) { 1781 i < length; i++) {
1784 if ((this._keys.$index(i) != null) && (this._keys.$index(i) !== HashMapImple mentation._deletedKey)) { 1782 if ((this._keys.$index(i) != null) && (this._keys.$index(i) !== HashMapImple mentation._deletedKey)) {
1785 f(this._keys.$index(i), this._values.$index(i)); 1783 f(this._keys.$index(i), this._values.$index(i));
1786 } 1784 }
1787 } 1785 }
1788 } 1786 }
1789 HashMapImplementation.prototype.getKeys = function() { 1787 HashMapImplementation.prototype.getKeys = function() {
1790 var list = new ListFactory$K(this.get$length()); 1788 var list = new ListFactory(this.get$length());
1791 var i = 0; 1789 var i = 0;
1792 this.forEach(function _(key, value) { 1790 this.forEach(function _(key, value) {
1793 list.$setindex(i++, key); 1791 list.$setindex(i++, key);
1794 } 1792 }
1795 ); 1793 );
1796 return list; 1794 return list;
1797 } 1795 }
1798 HashMapImplementation.prototype.getValues = function() { 1796 HashMapImplementation.prototype.getValues = function() {
1799 var list = new ListFactory$V(this.get$length()); 1797 var list = new ListFactory(this.get$length());
1800 var i = 0; 1798 var i = 0;
1801 this.forEach(function _(key, value) { 1799 this.forEach(function _(key, value) {
1802 list.$setindex(i++, value); 1800 list.$setindex(i++, value);
1803 } 1801 }
1804 ); 1802 );
1805 return list; 1803 return list;
1806 } 1804 }
1807 HashMapImplementation.prototype.containsKey = function(key) { 1805 HashMapImplementation.prototype.containsKey = function(key) {
1808 return (this._probeForLookup(key) != -1); 1806 return (this._probeForLookup(key) != -1);
1809 } 1807 }
1810 HashMapImplementation.prototype.getKeys$0 = function() { 1808 HashMapImplementation.prototype.getKeys$0 = function() {
1811 return this.getKeys(); 1809 return this.getKeys();
1812 }; 1810 };
1813 HashMapImplementation.prototype.isEmpty$0 = function() { 1811 HashMapImplementation.prototype.isEmpty$0 = function() {
1814 return this.isEmpty(); 1812 return this.isEmpty();
1815 }; 1813 };
1816 // ********** Code for HashMapImplementation$E$E ************** 1814 // ********** Code for HashMapImplementation$E$E **************
1817 function HashMapImplementation$E$E() { 1815 function HashMapImplementation$E$E() {
1818 // Initializers done 1816 // Initializers done
1819 if (HashMapImplementation._deletedKey == null) { 1817 if (HashMapImplementation._deletedKey == null) {
1820 HashMapImplementation._deletedKey = new Object(); 1818 HashMapImplementation._deletedKey = new Object();
1821 } 1819 }
1822 this._numberOfEntries = 0; 1820 this._numberOfEntries = 0;
1823 this._numberOfDeleted = 0; 1821 this._numberOfDeleted = 0;
1824 this._loadLimit = HashMapImplementation._computeLoadLimit(8/*HashMapImplementa tion._INITIAL_CAPACITY*/); 1822 this._loadLimit = HashMapImplementation._computeLoadLimit(8/*HashMapImplementa tion._INITIAL_CAPACITY*/);
1825 this._keys = new ListFactory(8/*HashMapImplementation._INITIAL_CAPACITY*/); 1823 this._keys = new ListFactory(8/*HashMapImplementation._INITIAL_CAPACITY*/);
1826 this._values = new ListFactory$E(8/*HashMapImplementation._INITIAL_CAPACITY*/) ; 1824 this._values = new ListFactory(8/*HashMapImplementation._INITIAL_CAPACITY*/);
1827 } 1825 }
1828 $inherits(HashMapImplementation$E$E, HashMapImplementation); 1826 $inherits(HashMapImplementation$E$E, HashMapImplementation);
1829 HashMapImplementation$E$E.prototype.is$Map$Node$Element = function(){return this ;}; 1827 HashMapImplementation$E$E.prototype.is$Map$Node$Element = function(){return this ;};
1830 HashMapImplementation$E$E.prototype.is$Map$String$Member = function(){return thi s;}; 1828 HashMapImplementation$E$E.prototype.is$Map$String$Member = function(){return thi s;};
1831 HashMapImplementation$E$E._computeLoadLimit = function(capacity) { 1829 HashMapImplementation$E$E._computeLoadLimit = function(capacity) {
1832 return $truncdiv((capacity * 3), 4); 1830 return $truncdiv((capacity * 3), 4);
1833 } 1831 }
1834 HashMapImplementation$E$E._firstProbe = function(hashCode, length) { 1832 HashMapImplementation$E$E._firstProbe = function(hashCode, length) {
1835 return hashCode & (length - 1); 1833 return hashCode & (length - 1);
1836 } 1834 }
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
1884 HashMapImplementation$E$E._isPowerOfTwo = function(x) { 1882 HashMapImplementation$E$E._isPowerOfTwo = function(x) {
1885 return ((x & (x - 1)) == 0); 1883 return ((x & (x - 1)) == 0);
1886 } 1884 }
1887 HashMapImplementation$E$E.prototype._grow = function(newCapacity) { 1885 HashMapImplementation$E$E.prototype._grow = function(newCapacity) {
1888 $assert(HashMapImplementation._isPowerOfTwo(newCapacity), "_isPowerOfTwo(newCa pacity)", "hash_map_set.dart", 153, 12); 1886 $assert(HashMapImplementation._isPowerOfTwo(newCapacity), "_isPowerOfTwo(newCa pacity)", "hash_map_set.dart", 153, 12);
1889 var capacity = this._keys.length; 1887 var capacity = this._keys.length;
1890 this._loadLimit = HashMapImplementation._computeLoadLimit(newCapacity); 1888 this._loadLimit = HashMapImplementation._computeLoadLimit(newCapacity);
1891 var oldKeys = this._keys; 1889 var oldKeys = this._keys;
1892 var oldValues = this._values; 1890 var oldValues = this._values;
1893 this._keys = new ListFactory(newCapacity); 1891 this._keys = new ListFactory(newCapacity);
1894 this._values = new ListFactory$E(newCapacity); 1892 this._values = new ListFactory(newCapacity);
1895 for (var i = 0; 1893 for (var i = 0;
1896 i < capacity; i++) { 1894 i < capacity; i++) {
1897 var key = oldKeys.$index(i); 1895 var key = oldKeys.$index(i);
1898 if (key == null || key === HashMapImplementation._deletedKey) { 1896 if (key == null || key === HashMapImplementation._deletedKey) {
1899 continue; 1897 continue;
1900 } 1898 }
1901 var value = oldValues.$index(i); 1899 var value = oldValues.$index(i);
1902 var newIndex = this._probeForAdding(key); 1900 var newIndex = this._probeForAdding(key);
1903 this._keys.$setindex(newIndex, key); 1901 this._keys.$setindex(newIndex, key);
1904 this._values.$setindex(newIndex, value); 1902 this._values.$setindex(newIndex, value);
(...skipping 27 matching lines...) Expand all
1932 HashMapImplementation$E$E.prototype.forEach = function(f) { 1930 HashMapImplementation$E$E.prototype.forEach = function(f) {
1933 var length = this._keys.length; 1931 var length = this._keys.length;
1934 for (var i = 0; 1932 for (var i = 0;
1935 i < length; i++) { 1933 i < length; i++) {
1936 if ((this._keys.$index(i) != null) && (this._keys.$index(i) !== HashMapImple mentation._deletedKey)) { 1934 if ((this._keys.$index(i) != null) && (this._keys.$index(i) !== HashMapImple mentation._deletedKey)) {
1937 f(this._keys.$index(i), this._values.$index(i)); 1935 f(this._keys.$index(i), this._values.$index(i));
1938 } 1936 }
1939 } 1937 }
1940 } 1938 }
1941 HashMapImplementation$E$E.prototype.getKeys = function() { 1939 HashMapImplementation$E$E.prototype.getKeys = function() {
1942 var list = new ListFactory$E(this.get$length()); 1940 var list = new ListFactory(this.get$length());
1943 var i = 0; 1941 var i = 0;
1944 this.forEach(function _(key, value) { 1942 this.forEach(function _(key, value) {
1945 list.$setindex(i++, key); 1943 list.$setindex(i++, key);
1946 } 1944 }
1947 ); 1945 );
1948 return list; 1946 return list;
1949 } 1947 }
1950 HashMapImplementation$E$E.prototype.containsKey = function(key) { 1948 HashMapImplementation$E$E.prototype.containsKey = function(key) {
1951 return (this._probeForLookup(key) != -1); 1949 return (this._probeForLookup(key) != -1);
1952 } 1950 }
1953 // ********** Code for HashMapImplementation$Element$HInstruction ************** 1951 // ********** Code for HashMapImplementation$Element$HInstruction **************
1954 function HashMapImplementation$Element$HInstruction() { 1952 function HashMapImplementation$Element$HInstruction() {}
1955 // Initializers done
1956 if (HashMapImplementation._deletedKey == null) {
1957 HashMapImplementation._deletedKey = new Object();
1958 }
1959 this._numberOfEntries = 0;
1960 this._numberOfDeleted = 0;
1961 this._loadLimit = HashMapImplementation._computeLoadLimit(8/*HashMapImplementa tion._INITIAL_CAPACITY*/);
1962 this._keys = new ListFactory(8/*HashMapImplementation._INITIAL_CAPACITY*/);
1963 this._values = new ListFactory$HInstruction(8/*HashMapImplementation._INITIAL_ CAPACITY*/);
1964 }
1965 $inherits(HashMapImplementation$Element$HInstruction, HashMapImplementation); 1953 $inherits(HashMapImplementation$Element$HInstruction, HashMapImplementation);
1966 HashMapImplementation$Element$HInstruction.prototype.is$Map$Node$Element = false ; 1954 HashMapImplementation$Element$HInstruction.prototype.is$Map$Node$Element = false ;
1967 HashMapImplementation$Element$HInstruction.prototype.is$Map$String$Member = fals e; 1955 HashMapImplementation$Element$HInstruction.prototype.is$Map$String$Member = fals e;
1968 HashMapImplementation$Element$HInstruction.HashMapImplementation$from$factory = function(other) {
1969 var result = new HashMapImplementation();
1970 other.forEach((function (key, value) {
1971 result.$setindex(key, value);
1972 })
1973 );
1974 return (result && result.is$HashMapImplementation());
1975 }
1976 HashMapImplementation$Element$HInstruction._computeLoadLimit = function(capacity ) {
1977 return $truncdiv((capacity * 3), 4);
1978 }
1979 // ********** Code for HashMapImplementation$K$DoubleLinkedQueueEntry$KeyValuePa ir$K$V ************** 1956 // ********** Code for HashMapImplementation$K$DoubleLinkedQueueEntry$KeyValuePa ir$K$V **************
1980 function HashMapImplementation$K$DoubleLinkedQueueEntry$KeyValuePair$K$V() { 1957 function HashMapImplementation$K$DoubleLinkedQueueEntry$KeyValuePair$K$V() {}
1981 // Initializers done
1982 if (HashMapImplementation._deletedKey == null) {
1983 HashMapImplementation._deletedKey = new Object();
1984 }
1985 this._numberOfEntries = 0;
1986 this._numberOfDeleted = 0;
1987 this._loadLimit = HashMapImplementation._computeLoadLimit(8/*HashMapImplementa tion._INITIAL_CAPACITY*/);
1988 this._keys = new ListFactory(8/*HashMapImplementation._INITIAL_CAPACITY*/);
1989 this._values = new ListFactory$DoubleLinkedQueueEntry$KeyValuePair$K$V(8/*Hash MapImplementation._INITIAL_CAPACITY*/);
1990 }
1991 $inherits(HashMapImplementation$K$DoubleLinkedQueueEntry$KeyValuePair$K$V, HashM apImplementation); 1958 $inherits(HashMapImplementation$K$DoubleLinkedQueueEntry$KeyValuePair$K$V, HashM apImplementation);
1992 HashMapImplementation$K$DoubleLinkedQueueEntry$KeyValuePair$K$V.prototype.is$Map $Node$Element = false; 1959 HashMapImplementation$K$DoubleLinkedQueueEntry$KeyValuePair$K$V.prototype.is$Map $Node$Element = false;
1993 HashMapImplementation$K$DoubleLinkedQueueEntry$KeyValuePair$K$V.prototype.is$Map $String$Member = false; 1960 HashMapImplementation$K$DoubleLinkedQueueEntry$KeyValuePair$K$V.prototype.is$Map $String$Member = false;
1994 HashMapImplementation$K$DoubleLinkedQueueEntry$KeyValuePair$K$V._computeLoadLimi t = function(capacity) {
1995 return $truncdiv((capacity * 3), 4);
1996 }
1997 // ********** Code for HashMapImplementation$Node$DoubleLinkedQueueEntry$KeyValu ePair$Node$Element **************
1998 function HashMapImplementation$Node$DoubleLinkedQueueEntry$KeyValuePair$Node$Ele ment() {
1999 // Initializers done
2000 if (HashMapImplementation._deletedKey == null) {
2001 HashMapImplementation._deletedKey = new Object();
2002 }
2003 this._numberOfEntries = 0;
2004 this._numberOfDeleted = 0;
2005 this._loadLimit = HashMapImplementation._computeLoadLimit(8/*HashMapImplementa tion._INITIAL_CAPACITY*/);
2006 this._keys = new ListFactory(8/*HashMapImplementation._INITIAL_CAPACITY*/);
2007 this._values = new ListFactory$DoubleLinkedQueueEntry$KeyValuePair$Node$Elemen t(8/*HashMapImplementation._INITIAL_CAPACITY*/);
2008 }
2009 $inherits(HashMapImplementation$Node$DoubleLinkedQueueEntry$KeyValuePair$Node$El ement, HashMapImplementation);
2010 HashMapImplementation$Node$DoubleLinkedQueueEntry$KeyValuePair$Node$Element.prot otype.is$Map$Node$Element = false;
2011 HashMapImplementation$Node$DoubleLinkedQueueEntry$KeyValuePair$Node$Element.prot otype.is$Map$String$Member = false;
2012 HashMapImplementation$Node$DoubleLinkedQueueEntry$KeyValuePair$Node$Element._com puteLoadLimit = function(capacity) {
2013 return $truncdiv((capacity * 3), 4);
2014 }
2015 // ********** Code for HashMapImplementation$String$DoubleLinkedQueueEntry$KeyVa luePair$String$Keyword **************
2016 function HashMapImplementation$String$DoubleLinkedQueueEntry$KeyValuePair$String $Keyword() {
2017 // Initializers done
2018 if (HashMapImplementation._deletedKey == null) {
2019 HashMapImplementation._deletedKey = new Object();
2020 }
2021 this._numberOfEntries = 0;
2022 this._numberOfDeleted = 0;
2023 this._loadLimit = HashMapImplementation._computeLoadLimit(8/*HashMapImplementa tion._INITIAL_CAPACITY*/);
2024 this._keys = new ListFactory(8/*HashMapImplementation._INITIAL_CAPACITY*/);
2025 this._values = new ListFactory$DoubleLinkedQueueEntry$KeyValuePair$String$Keyw ord(8/*HashMapImplementation._INITIAL_CAPACITY*/);
2026 }
2027 $inherits(HashMapImplementation$String$DoubleLinkedQueueEntry$KeyValuePair$Strin g$Keyword, HashMapImplementation);
2028 HashMapImplementation$String$DoubleLinkedQueueEntry$KeyValuePair$String$Keyword. prototype.is$Map$Node$Element = false;
2029 HashMapImplementation$String$DoubleLinkedQueueEntry$KeyValuePair$String$Keyword. prototype.is$Map$String$Member = false;
2030 HashMapImplementation$String$DoubleLinkedQueueEntry$KeyValuePair$String$Keyword. _computeLoadLimit = function(capacity) {
2031 return $truncdiv((capacity * 3), 4);
2032 }
2033 // ********** Code for HashMapImplementation$String$EvaluatedValue ************* * 1961 // ********** Code for HashMapImplementation$String$EvaluatedValue ************* *
2034 function HashMapImplementation$String$EvaluatedValue() { 1962 function HashMapImplementation$String$EvaluatedValue() {}
2035 // Initializers done
2036 if (HashMapImplementation._deletedKey == null) {
2037 HashMapImplementation._deletedKey = new Object();
2038 }
2039 this._numberOfEntries = 0;
2040 this._numberOfDeleted = 0;
2041 this._loadLimit = HashMapImplementation._computeLoadLimit(8/*HashMapImplementa tion._INITIAL_CAPACITY*/);
2042 this._keys = new ListFactory(8/*HashMapImplementation._INITIAL_CAPACITY*/);
2043 this._values = new ListFactory$EvaluatedValue(8/*HashMapImplementation._INITIA L_CAPACITY*/);
2044 }
2045 $inherits(HashMapImplementation$String$EvaluatedValue, HashMapImplementation); 1963 $inherits(HashMapImplementation$String$EvaluatedValue, HashMapImplementation);
2046 HashMapImplementation$String$EvaluatedValue.prototype.is$Map$Node$Element = fals e; 1964 HashMapImplementation$String$EvaluatedValue.prototype.is$Map$Node$Element = fals e;
2047 HashMapImplementation$String$EvaluatedValue.prototype.is$Map$String$Member = fal se; 1965 HashMapImplementation$String$EvaluatedValue.prototype.is$Map$String$Member = fal se;
2048 HashMapImplementation$String$EvaluatedValue._computeLoadLimit = function(capacit y) {
2049 return $truncdiv((capacity * 3), 4);
2050 }
2051 // ********** Code for HashMapImplementation$String$String **************
2052 function HashMapImplementation$String$String() {
2053 // Initializers done
2054 if (HashMapImplementation._deletedKey == null) {
2055 HashMapImplementation._deletedKey = new Object();
2056 }
2057 this._numberOfEntries = 0;
2058 this._numberOfDeleted = 0;
2059 this._loadLimit = HashMapImplementation._computeLoadLimit(8/*HashMapImplementa tion._INITIAL_CAPACITY*/);
2060 this._keys = new ListFactory(8/*HashMapImplementation._INITIAL_CAPACITY*/);
2061 this._values = new ListFactory$String(8/*HashMapImplementation._INITIAL_CAPACI TY*/);
2062 }
2063 $inherits(HashMapImplementation$String$String, HashMapImplementation);
2064 HashMapImplementation$String$String.prototype.is$Map$Node$Element = false;
2065 HashMapImplementation$String$String.prototype.is$Map$String$Member = false;
2066 HashMapImplementation$String$String._computeLoadLimit = function(capacity) {
2067 return $truncdiv((capacity * 3), 4);
2068 }
2069 // ********** Code for HashMapImplementation$Type$Type **************
2070 function HashMapImplementation$Type$Type() {
2071 // Initializers done
2072 if (HashMapImplementation._deletedKey == null) {
2073 HashMapImplementation._deletedKey = new Object();
2074 }
2075 this._numberOfEntries = 0;
2076 this._numberOfDeleted = 0;
2077 this._loadLimit = HashMapImplementation._computeLoadLimit(8/*HashMapImplementa tion._INITIAL_CAPACITY*/);
2078 this._keys = new ListFactory(8/*HashMapImplementation._INITIAL_CAPACITY*/);
2079 this._values = new ListFactory$Type(8/*HashMapImplementation._INITIAL_CAPACITY */);
2080 }
2081 $inherits(HashMapImplementation$Type$Type, HashMapImplementation);
2082 HashMapImplementation$Type$Type.prototype.is$Map$Node$Element = false;
2083 HashMapImplementation$Type$Type.prototype.is$Map$String$Member = false;
2084 HashMapImplementation$Type$Type._computeLoadLimit = function(capacity) {
2085 return $truncdiv((capacity * 3), 4);
2086 }
2087 // ********** Code for HashSetImplementation ************** 1966 // ********** Code for HashSetImplementation **************
2088 function HashSetImplementation() { 1967 function HashSetImplementation() {
2089 // Initializers done 1968 // Initializers done
2090 this._backingMap = new HashMapImplementation$E$E(); 1969 this._backingMap = new HashMapImplementation$E$E();
2091 } 1970 }
2092 HashSetImplementation.prototype.is$HashSetImplementation = function(){return thi s;}; 1971 HashSetImplementation.prototype.is$HashSetImplementation = function(){return thi s;};
2093 HashSetImplementation.prototype.is$Collection$E = function(){return this;}; 1972 HashSetImplementation.prototype.is$Collection$E = function(){return this;};
2094 HashSetImplementation.prototype.is$Collection$Object = function(){return this;}; 1973 HashSetImplementation.prototype.is$Collection$Object = function(){return this;};
2095 HashSetImplementation.prototype.is$Collection$Type = function(){return this;}; 1974 HashSetImplementation.prototype.is$Collection$Type = function(){return this;};
2096 HashSetImplementation.prototype.is$Iterable = function(){return this;}; 1975 HashSetImplementation.prototype.is$Iterable = function(){return this;};
(...skipping 23 matching lines...) Expand all
2120 } 1999 }
2121 ); 2000 );
2122 } 2001 }
2123 HashSetImplementation.prototype.forEach = function(f) { 2002 HashSetImplementation.prototype.forEach = function(f) {
2124 this._backingMap.forEach(function _(key, value) { 2003 this._backingMap.forEach(function _(key, value) {
2125 f(key); 2004 f(key);
2126 } 2005 }
2127 ); 2006 );
2128 } 2007 }
2129 HashSetImplementation.prototype.filter = function(f) { 2008 HashSetImplementation.prototype.filter = function(f) {
2130 var result = new HashSetImplementation$E(); 2009 var result = new HashSetImplementation();
2131 this._backingMap.forEach(function _(key, value) { 2010 this._backingMap.forEach(function _(key, value) {
2132 if (f(key)) result.add(key); 2011 if (f(key)) result.add(key);
2133 } 2012 }
2134 ); 2013 );
2135 return result; 2014 return result;
2136 } 2015 }
2137 HashSetImplementation.prototype.some = function(f) { 2016 HashSetImplementation.prototype.some = function(f) {
2138 var keys = this._backingMap.getKeys(); 2017 var keys = this._backingMap.getKeys();
2139 return $assert_bool(keys.some(f)); 2018 return $assert_bool(keys.some(f));
2140 } 2019 }
(...skipping 16 matching lines...) Expand all
2157 HashSetImplementation.prototype.contains$1 = HashSetImplementation.prototype.con tains; 2036 HashSetImplementation.prototype.contains$1 = HashSetImplementation.prototype.con tains;
2158 HashSetImplementation.prototype.filter$1 = HashSetImplementation.prototype.filte r; 2037 HashSetImplementation.prototype.filter$1 = HashSetImplementation.prototype.filte r;
2159 HashSetImplementation.prototype.isEmpty$0 = function() { 2038 HashSetImplementation.prototype.isEmpty$0 = function() {
2160 return this.isEmpty(); 2039 return this.isEmpty();
2161 }; 2040 };
2162 HashSetImplementation.prototype.iterator$0 = function() { 2041 HashSetImplementation.prototype.iterator$0 = function() {
2163 return this.iterator(); 2042 return this.iterator();
2164 }; 2043 };
2165 HashSetImplementation.prototype.some$1 = HashSetImplementation.prototype.some; 2044 HashSetImplementation.prototype.some$1 = HashSetImplementation.prototype.some;
2166 // ********** Code for HashSetImplementation$E ************** 2045 // ********** Code for HashSetImplementation$E **************
2167 function HashSetImplementation$E() { 2046 function HashSetImplementation$E() {}
2168 // Initializers done
2169 this._backingMap = new HashMapImplementation$E$E();
2170 }
2171 $inherits(HashSetImplementation$E, HashSetImplementation); 2047 $inherits(HashSetImplementation$E, HashSetImplementation);
2172 HashSetImplementation$E.prototype.is$Collection$E = function(){return this;}; 2048 HashSetImplementation$E.prototype.is$Collection$E = function(){return this;};
2173 HashSetImplementation$E.prototype.is$Collection$Object = function(){return this; }; 2049 HashSetImplementation$E.prototype.is$Collection$Object = function(){return this; };
2174 HashSetImplementation$E.prototype.is$Collection$Type = function(){return this;}; 2050 HashSetImplementation$E.prototype.is$Collection$Type = function(){return this;};
2175 HashSetImplementation$E.prototype.is$Iterable = function(){return this;}; 2051 HashSetImplementation$E.prototype.is$Iterable = function(){return this;};
2176 // ********** Code for HashSetImplementation$String ************** 2052 // ********** Code for HashSetImplementation$String **************
2177 function HashSetImplementation$String() { 2053 function HashSetImplementation$String() {}
2178 // Initializers done
2179 this._backingMap = new HashMapImplementation$String$String();
2180 }
2181 $inherits(HashSetImplementation$String, HashSetImplementation); 2054 $inherits(HashSetImplementation$String, HashSetImplementation);
2182 HashSetImplementation$String.prototype.is$Collection$E = function(){return this; }; 2055 HashSetImplementation$String.prototype.is$Collection$E = function(){return this; };
2183 HashSetImplementation$String.prototype.is$Collection$Object = function(){return this;}; 2056 HashSetImplementation$String.prototype.is$Collection$Object = function(){return this;};
2184 HashSetImplementation$String.prototype.is$Collection$Type = false; 2057 HashSetImplementation$String.prototype.is$Collection$Type = false;
2185 HashSetImplementation$String.prototype.is$Iterable = function(){return this;}; 2058 HashSetImplementation$String.prototype.is$Iterable = function(){return this;};
2186 // ********** Code for HashSetImplementation$Type ************** 2059 // ********** Code for HashSetImplementation$Type **************
2187 function HashSetImplementation$Type() { 2060 function HashSetImplementation$Type() {}
2188 // Initializers done
2189 this._backingMap = new HashMapImplementation$Type$Type();
2190 }
2191 $inherits(HashSetImplementation$Type, HashSetImplementation); 2061 $inherits(HashSetImplementation$Type, HashSetImplementation);
2192 HashSetImplementation$Type.prototype.is$Collection$E = function(){return this;}; 2062 HashSetImplementation$Type.prototype.is$Collection$E = function(){return this;};
2193 HashSetImplementation$Type.prototype.is$Collection$Object = function(){return th is;}; 2063 HashSetImplementation$Type.prototype.is$Collection$Object = function(){return th is;};
2194 HashSetImplementation$Type.prototype.is$Collection$Type = function(){return this ;}; 2064 HashSetImplementation$Type.prototype.is$Collection$Type = function(){return this ;};
2195 HashSetImplementation$Type.prototype.is$Iterable = function(){return this;}; 2065 HashSetImplementation$Type.prototype.is$Iterable = function(){return this;};
2196 // ********** Code for HashSetIterator ************** 2066 // ********** Code for HashSetIterator **************
2197 function HashSetIterator(set_) { 2067 function HashSetIterator(set_) {
2198 this._nextValidIndex = -1; 2068 this._nextValidIndex = -1;
2199 this._entries = set_._backingMap._keys; 2069 this._entries = set_._backingMap._keys;
2200 // Initializers done 2070 // Initializers done
(...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after
2259 } 2129 }
2260 KeyValuePair.prototype.get$value = function() { return this.value; }; 2130 KeyValuePair.prototype.get$value = function() { return this.value; };
2261 KeyValuePair.prototype.set$value = function(value) { return this.value = value; }; 2131 KeyValuePair.prototype.set$value = function(value) { return this.value = value; };
2262 // ********** Code for KeyValuePair$K$V ************** 2132 // ********** Code for KeyValuePair$K$V **************
2263 function KeyValuePair$K$V(key, value) { 2133 function KeyValuePair$K$V(key, value) {
2264 this.key = key; 2134 this.key = key;
2265 this.value = value; 2135 this.value = value;
2266 // Initializers done 2136 // Initializers done
2267 } 2137 }
2268 $inherits(KeyValuePair$K$V, KeyValuePair); 2138 $inherits(KeyValuePair$K$V, KeyValuePair);
2269 // ********** Code for KeyValuePair$Node$Element **************
2270 function KeyValuePair$Node$Element() {}
2271 $inherits(KeyValuePair$Node$Element, KeyValuePair);
2272 // ********** Code for KeyValuePair$String$Keyword **************
2273 function KeyValuePair$String$Keyword() {}
2274 $inherits(KeyValuePair$String$Keyword, KeyValuePair);
2275 // ********** Code for LinkedHashMapImplementation ************** 2139 // ********** Code for LinkedHashMapImplementation **************
2276 function LinkedHashMapImplementation() { 2140 function LinkedHashMapImplementation() {
2277 // Initializers done 2141 // Initializers done
2278 this._map = new HashMapImplementation$K$DoubleLinkedQueueEntry$KeyValuePair$K$ V(); 2142 this._map = new HashMapImplementation();
2279 this._list = new DoubleLinkedQueue$KeyValuePair$K$V(); 2143 this._list = new DoubleLinkedQueue$KeyValuePair$K$V();
2280 } 2144 }
2281 LinkedHashMapImplementation.prototype.is$Map$Node$Element = function(){return th is;}; 2145 LinkedHashMapImplementation.prototype.is$Map$Node$Element = function(){return th is;};
2282 LinkedHashMapImplementation.prototype.is$Map$String$Member = function(){return t his;}; 2146 LinkedHashMapImplementation.prototype.is$Map$String$Member = function(){return t his;};
2283 LinkedHashMapImplementation.prototype.$setindex = function(key, value) { 2147 LinkedHashMapImplementation.prototype.$setindex = function(key, value) {
2284 if (this._map.containsKey(key)) { 2148 if (this._map.containsKey(key)) {
2285 this._map.$index(key).get$element().value = value; 2149 this._map.$index(key).get$element().value = value;
2286 } 2150 }
2287 else { 2151 else {
2288 this._list.addLast(new KeyValuePair$K$V(key, value)); 2152 this._list.addLast(new KeyValuePair$K$V(key, value));
2289 this._map.$setindex(key, this._list.lastEntry()); 2153 this._map.$setindex(key, this._list.lastEntry());
2290 } 2154 }
2291 } 2155 }
2292 LinkedHashMapImplementation.prototype.$index = function(key) { 2156 LinkedHashMapImplementation.prototype.$index = function(key) {
2293 var $0; 2157 var $0;
2294 var entry = (($0 = this._map.$index(key)) && $0.is$DoubleLinkedQueueEntry$KeyV aluePair$K$V()); 2158 var entry = (($0 = this._map.$index(key)) && $0.is$DoubleLinkedQueueEntry$KeyV aluePair$K$V());
2295 if (entry == null) return null; 2159 if (entry == null) return null;
2296 return entry.get$element().get$value(); 2160 return entry.get$element().get$value();
2297 } 2161 }
2298 LinkedHashMapImplementation.prototype.getKeys = function() { 2162 LinkedHashMapImplementation.prototype.getKeys = function() {
2299 var list = new ListFactory$K(this.get$length()); 2163 var list = new ListFactory(this.get$length());
2300 var index = 0; 2164 var index = 0;
2301 this._list.forEach(function _(entry) { 2165 this._list.forEach(function _(entry) {
2302 list.$setindex(index++, entry.key); 2166 list.$setindex(index++, entry.key);
2303 } 2167 }
2304 ); 2168 );
2305 $assert(index == this.get$length(), "index == length", "linked_hash_map.dart", 75, 12); 2169 $assert(index == this.get$length(), "index == length", "linked_hash_map.dart", 75, 12);
2306 return list; 2170 return list;
2307 } 2171 }
2308 LinkedHashMapImplementation.prototype.getValues = function() { 2172 LinkedHashMapImplementation.prototype.getValues = function() {
2309 var list = new ListFactory$V(this.get$length()); 2173 var list = new ListFactory(this.get$length());
2310 var index = 0; 2174 var index = 0;
2311 this._list.forEach(function _(entry) { 2175 this._list.forEach(function _(entry) {
2312 list.$setindex(index++, entry.value); 2176 list.$setindex(index++, entry.value);
2313 } 2177 }
2314 ); 2178 );
2315 $assert(index == this.get$length(), "index == length", "linked_hash_map.dart", 86, 12); 2179 $assert(index == this.get$length(), "index == length", "linked_hash_map.dart", 86, 12);
2316 return list; 2180 return list;
2317 } 2181 }
2318 LinkedHashMapImplementation.prototype.forEach = function(f) { 2182 LinkedHashMapImplementation.prototype.forEach = function(f) {
2319 this._list.forEach(function _(entry) { 2183 this._list.forEach(function _(entry) {
(...skipping 13 matching lines...) Expand all
2333 LinkedHashMapImplementation.prototype.isEmpty = function() { 2197 LinkedHashMapImplementation.prototype.isEmpty = function() {
2334 return this.get$length() == 0; 2198 return this.get$length() == 0;
2335 } 2199 }
2336 LinkedHashMapImplementation.prototype.getKeys$0 = function() { 2200 LinkedHashMapImplementation.prototype.getKeys$0 = function() {
2337 return this.getKeys(); 2201 return this.getKeys();
2338 }; 2202 };
2339 LinkedHashMapImplementation.prototype.isEmpty$0 = function() { 2203 LinkedHashMapImplementation.prototype.isEmpty$0 = function() {
2340 return this.isEmpty(); 2204 return this.isEmpty();
2341 }; 2205 };
2342 // ********** Code for LinkedHashMapImplementation$Node$Element ************** 2206 // ********** Code for LinkedHashMapImplementation$Node$Element **************
2343 function LinkedHashMapImplementation$Node$Element() { 2207 function LinkedHashMapImplementation$Node$Element() {}
2344 // Initializers done
2345 this._map = new HashMapImplementation$Node$DoubleLinkedQueueEntry$KeyValuePair $Node$Element();
2346 this._list = new DoubleLinkedQueue$KeyValuePair$Node$Element();
2347 }
2348 $inherits(LinkedHashMapImplementation$Node$Element, LinkedHashMapImplementation) ; 2208 $inherits(LinkedHashMapImplementation$Node$Element, LinkedHashMapImplementation) ;
2349 LinkedHashMapImplementation$Node$Element.prototype.is$Map$Node$Element = functio n(){return this;}; 2209 LinkedHashMapImplementation$Node$Element.prototype.is$Map$Node$Element = functio n(){return this;};
2350 LinkedHashMapImplementation$Node$Element.prototype.is$Map$String$Member = false; 2210 LinkedHashMapImplementation$Node$Element.prototype.is$Map$String$Member = false;
2351 // ********** Code for LinkedHashMapImplementation$String$Keyword ************** 2211 // ********** Code for LinkedHashMapImplementation$String$Keyword **************
2352 function LinkedHashMapImplementation$String$Keyword() { 2212 function LinkedHashMapImplementation$String$Keyword() {}
2353 // Initializers done
2354 this._map = new HashMapImplementation$String$DoubleLinkedQueueEntry$KeyValuePa ir$String$Keyword();
2355 this._list = new DoubleLinkedQueue$KeyValuePair$String$Keyword();
2356 }
2357 $inherits(LinkedHashMapImplementation$String$Keyword, LinkedHashMapImplementatio n); 2213 $inherits(LinkedHashMapImplementation$String$Keyword, LinkedHashMapImplementatio n);
2358 LinkedHashMapImplementation$String$Keyword.prototype.is$Map$Node$Element = false ; 2214 LinkedHashMapImplementation$String$Keyword.prototype.is$Map$Node$Element = false ;
2359 LinkedHashMapImplementation$String$Keyword.prototype.is$Map$String$Member = fals e; 2215 LinkedHashMapImplementation$String$Keyword.prototype.is$Map$String$Member = fals e;
2360 // ********** Code for DoubleLinkedQueueEntry ************** 2216 // ********** Code for DoubleLinkedQueueEntry **************
2361 function DoubleLinkedQueueEntry(e) { 2217 function DoubleLinkedQueueEntry(e) {
2362 // Initializers done 2218 // Initializers done
2363 this._element = e; 2219 this._element = e;
2364 } 2220 }
2365 DoubleLinkedQueueEntry.prototype.is$DoubleLinkedQueueEntry$KeyValuePair$K$V = fu nction(){return this;}; 2221 DoubleLinkedQueueEntry.prototype.is$DoubleLinkedQueueEntry$KeyValuePair$K$V = fu nction(){return this;};
2366 DoubleLinkedQueueEntry.prototype._link = function(p, n) { 2222 DoubleLinkedQueueEntry.prototype._link = function(p, n) {
(...skipping 53 matching lines...) Expand 10 before | Expand all | Expand 10 after
2420 // ********** Code for DoubleLinkedQueueEntry$KeyValuePair$K$V ************** 2276 // ********** Code for DoubleLinkedQueueEntry$KeyValuePair$K$V **************
2421 function DoubleLinkedQueueEntry$KeyValuePair$K$V(e) { 2277 function DoubleLinkedQueueEntry$KeyValuePair$K$V(e) {
2422 // Initializers done 2278 // Initializers done
2423 this._element = e; 2279 this._element = e;
2424 } 2280 }
2425 $inherits(DoubleLinkedQueueEntry$KeyValuePair$K$V, DoubleLinkedQueueEntry); 2281 $inherits(DoubleLinkedQueueEntry$KeyValuePair$K$V, DoubleLinkedQueueEntry);
2426 DoubleLinkedQueueEntry$KeyValuePair$K$V.prototype.is$DoubleLinkedQueueEntry$KeyV aluePair$K$V = function(){return this;}; 2282 DoubleLinkedQueueEntry$KeyValuePair$K$V.prototype.is$DoubleLinkedQueueEntry$KeyV aluePair$K$V = function(){return this;};
2427 DoubleLinkedQueueEntry$KeyValuePair$K$V.prototype._asNonSentinelEntry = function () { 2283 DoubleLinkedQueueEntry$KeyValuePair$K$V.prototype._asNonSentinelEntry = function () {
2428 return this; 2284 return this;
2429 } 2285 }
2430 // ********** Code for DoubleLinkedQueueEntry$KeyValuePair$Node$Element ******** ******
2431 function DoubleLinkedQueueEntry$KeyValuePair$Node$Element() {}
2432 $inherits(DoubleLinkedQueueEntry$KeyValuePair$Node$Element, DoubleLinkedQueueEnt ry);
2433 DoubleLinkedQueueEntry$KeyValuePair$Node$Element.prototype.is$DoubleLinkedQueueE ntry$KeyValuePair$K$V = function(){return this;};
2434 // ********** Code for DoubleLinkedQueueEntry$KeyValuePair$String$Keyword ****** ********
2435 function DoubleLinkedQueueEntry$KeyValuePair$String$Keyword() {}
2436 $inherits(DoubleLinkedQueueEntry$KeyValuePair$String$Keyword, DoubleLinkedQueueE ntry);
2437 DoubleLinkedQueueEntry$KeyValuePair$String$Keyword.prototype.is$DoubleLinkedQueu eEntry$KeyValuePair$K$V = function(){return this;};
2438 // ********** Code for _DoubleLinkedQueueEntrySentinel ************** 2286 // ********** Code for _DoubleLinkedQueueEntrySentinel **************
2439 function _DoubleLinkedQueueEntrySentinel() { 2287 function _DoubleLinkedQueueEntrySentinel() {
2440 DoubleLinkedQueueEntry$E.call(this, null); 2288 DoubleLinkedQueueEntry$E.call(this, null);
2441 // Initializers done 2289 // Initializers done
2442 this._link(this, this); 2290 this._link(this, this);
2443 } 2291 }
2444 $inherits(_DoubleLinkedQueueEntrySentinel, DoubleLinkedQueueEntry$E); 2292 $inherits(_DoubleLinkedQueueEntrySentinel, DoubleLinkedQueueEntry$E);
2445 _DoubleLinkedQueueEntrySentinel.prototype.remove = function() { 2293 _DoubleLinkedQueueEntrySentinel.prototype.remove = function() {
2446 $throw(const$9/*const EmptyQueueException()*/); 2294 $throw(const$9/*const EmptyQueueException()*/);
2447 } 2295 }
(...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after
2483 p._next = this; 2331 p._next = this;
2484 n._previous = this; 2332 n._previous = this;
2485 } 2333 }
2486 _DoubleLinkedQueueEntrySentinel$KeyValuePair$K$V.prototype.prepend = function(e) { 2334 _DoubleLinkedQueueEntrySentinel$KeyValuePair$K$V.prototype.prepend = function(e) {
2487 new DoubleLinkedQueueEntry$KeyValuePair$K$V(e)._link(this._previous, this); 2335 new DoubleLinkedQueueEntry$KeyValuePair$K$V(e)._link(this._previous, this);
2488 } 2336 }
2489 _DoubleLinkedQueueEntrySentinel$KeyValuePair$K$V.prototype.previousEntry = funct ion() { 2337 _DoubleLinkedQueueEntrySentinel$KeyValuePair$K$V.prototype.previousEntry = funct ion() {
2490 var $0; 2338 var $0;
2491 return (($0 = this._previous._asNonSentinelEntry()) && $0.is$DoubleLinkedQueue Entry$KeyValuePair$K$V()); 2339 return (($0 = this._previous._asNonSentinelEntry()) && $0.is$DoubleLinkedQueue Entry$KeyValuePair$K$V());
2492 } 2340 }
2493 // ********** Code for _DoubleLinkedQueueEntrySentinel$KeyValuePair$Node$Element **************
2494 function _DoubleLinkedQueueEntrySentinel$KeyValuePair$Node$Element() {
2495 DoubleLinkedQueueEntry$E.call(this, null);
2496 // Initializers done
2497 this._link(this, this);
2498 }
2499 $inherits(_DoubleLinkedQueueEntrySentinel$KeyValuePair$Node$Element, _DoubleLink edQueueEntrySentinel);
2500 _DoubleLinkedQueueEntrySentinel$KeyValuePair$Node$Element.prototype._link = func tion(p, n) {
2501 this._next = n;
2502 this._previous = p;
2503 p._next = this;
2504 n._previous = this;
2505 }
2506 // ********** Code for _DoubleLinkedQueueEntrySentinel$KeyValuePair$String$Keywo rd **************
2507 function _DoubleLinkedQueueEntrySentinel$KeyValuePair$String$Keyword() {
2508 DoubleLinkedQueueEntry$E.call(this, null);
2509 // Initializers done
2510 this._link(this, this);
2511 }
2512 $inherits(_DoubleLinkedQueueEntrySentinel$KeyValuePair$String$Keyword, _DoubleLi nkedQueueEntrySentinel);
2513 _DoubleLinkedQueueEntrySentinel$KeyValuePair$String$Keyword.prototype._link = fu nction(p, n) {
2514 this._next = n;
2515 this._previous = p;
2516 p._next = this;
2517 n._previous = this;
2518 }
2519 // ********** Code for DoubleLinkedQueue ************** 2341 // ********** Code for DoubleLinkedQueue **************
2520 function DoubleLinkedQueue() { 2342 function DoubleLinkedQueue() {
2521 // Initializers done 2343 // Initializers done
2522 this._sentinel = new _DoubleLinkedQueueEntrySentinel$E(); 2344 this._sentinel = new _DoubleLinkedQueueEntrySentinel$E();
2523 } 2345 }
2524 DoubleLinkedQueue.prototype.is$DoubleLinkedQueue = function(){return this;}; 2346 DoubleLinkedQueue.prototype.is$DoubleLinkedQueue = function(){return this;};
2525 DoubleLinkedQueue.prototype.is$Collection$E = function(){return this;}; 2347 DoubleLinkedQueue.prototype.is$Collection$E = function(){return this;};
2526 DoubleLinkedQueue.prototype.is$Collection$Object = function(){return this;}; 2348 DoubleLinkedQueue.prototype.is$Collection$Object = function(){return this;};
2527 DoubleLinkedQueue.prototype.is$Collection$Type = function(){return this;}; 2349 DoubleLinkedQueue.prototype.is$Collection$Type = function(){return this;};
2528 DoubleLinkedQueue.prototype.is$Iterable = function(){return this;}; 2350 DoubleLinkedQueue.prototype.is$Iterable = function(){return this;};
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
2578 } 2400 }
2579 DoubleLinkedQueue.prototype.some = function(f) { 2401 DoubleLinkedQueue.prototype.some = function(f) {
2580 var entry = this._sentinel._next; 2402 var entry = this._sentinel._next;
2581 while (entry !== this._sentinel) { 2403 while (entry !== this._sentinel) {
2582 if (f(entry._element)) return true; 2404 if (f(entry._element)) return true;
2583 entry = entry._next; 2405 entry = entry._next;
2584 } 2406 }
2585 return false; 2407 return false;
2586 } 2408 }
2587 DoubleLinkedQueue.prototype.filter = function(f) { 2409 DoubleLinkedQueue.prototype.filter = function(f) {
2588 var other = new DoubleLinkedQueue$E(); 2410 var other = new DoubleLinkedQueue();
2589 var entry = this._sentinel._next; 2411 var entry = this._sentinel._next;
2590 while (entry !== this._sentinel) { 2412 while (entry !== this._sentinel) {
2591 if (f(entry._element)) other.addLast(entry._element); 2413 if (f(entry._element)) other.addLast(entry._element);
2592 entry = entry._next; 2414 entry = entry._next;
2593 } 2415 }
2594 return other; 2416 return other;
2595 } 2417 }
2596 DoubleLinkedQueue.prototype.iterator = function() { 2418 DoubleLinkedQueue.prototype.iterator = function() {
2597 return new _DoubleLinkedQueueIterator$E(this._sentinel); 2419 return new _DoubleLinkedQueueIterator$E(this._sentinel);
2598 } 2420 }
2599 DoubleLinkedQueue.prototype.add$1 = DoubleLinkedQueue.prototype.add; 2421 DoubleLinkedQueue.prototype.add$1 = DoubleLinkedQueue.prototype.add;
2600 DoubleLinkedQueue.prototype.addAll$1 = function($0) { 2422 DoubleLinkedQueue.prototype.addAll$1 = function($0) {
2601 return this.addAll(($0 && $0.is$Collection$E())); 2423 return this.addAll(($0 && $0.is$Collection$E()));
2602 }; 2424 };
2603 DoubleLinkedQueue.prototype.filter$1 = DoubleLinkedQueue.prototype.filter; 2425 DoubleLinkedQueue.prototype.filter$1 = DoubleLinkedQueue.prototype.filter;
2604 DoubleLinkedQueue.prototype.isEmpty$0 = function() { 2426 DoubleLinkedQueue.prototype.isEmpty$0 = function() {
2605 return this.isEmpty(); 2427 return this.isEmpty();
2606 }; 2428 };
2607 DoubleLinkedQueue.prototype.iterator$0 = function() { 2429 DoubleLinkedQueue.prototype.iterator$0 = function() {
2608 return this.iterator(); 2430 return this.iterator();
2609 }; 2431 };
2610 DoubleLinkedQueue.prototype.last$0 = function() { 2432 DoubleLinkedQueue.prototype.last$0 = function() {
2611 return this.last(); 2433 return this.last();
2612 }; 2434 };
2613 DoubleLinkedQueue.prototype.removeLast$0 = function() { 2435 DoubleLinkedQueue.prototype.removeLast$0 = function() {
2614 return this.removeLast(); 2436 return this.removeLast();
2615 }; 2437 };
2616 DoubleLinkedQueue.prototype.some$1 = DoubleLinkedQueue.prototype.some; 2438 DoubleLinkedQueue.prototype.some$1 = DoubleLinkedQueue.prototype.some;
2617 // ********** Code for DoubleLinkedQueue$E ************** 2439 // ********** Code for DoubleLinkedQueue$E **************
2618 function DoubleLinkedQueue$E() { 2440 function DoubleLinkedQueue$E() {}
2619 // Initializers done
2620 this._sentinel = new _DoubleLinkedQueueEntrySentinel$E();
2621 }
2622 $inherits(DoubleLinkedQueue$E, DoubleLinkedQueue); 2441 $inherits(DoubleLinkedQueue$E, DoubleLinkedQueue);
2623 DoubleLinkedQueue$E.prototype.is$Collection$E = function(){return this;}; 2442 DoubleLinkedQueue$E.prototype.is$Collection$E = function(){return this;};
2624 DoubleLinkedQueue$E.prototype.is$Collection$Object = function(){return this;}; 2443 DoubleLinkedQueue$E.prototype.is$Collection$Object = function(){return this;};
2625 DoubleLinkedQueue$E.prototype.is$Collection$Type = function(){return this;}; 2444 DoubleLinkedQueue$E.prototype.is$Collection$Type = function(){return this;};
2626 DoubleLinkedQueue$E.prototype.is$Iterable = function(){return this;}; 2445 DoubleLinkedQueue$E.prototype.is$Iterable = function(){return this;};
2627 // ********** Code for DoubleLinkedQueue$KeyValuePair$K$V ************** 2446 // ********** Code for DoubleLinkedQueue$KeyValuePair$K$V **************
2628 function DoubleLinkedQueue$KeyValuePair$K$V() { 2447 function DoubleLinkedQueue$KeyValuePair$K$V() {
2629 // Initializers done 2448 // Initializers done
2630 this._sentinel = new _DoubleLinkedQueueEntrySentinel$KeyValuePair$K$V(); 2449 this._sentinel = new _DoubleLinkedQueueEntrySentinel$KeyValuePair$K$V();
2631 } 2450 }
2632 $inherits(DoubleLinkedQueue$KeyValuePair$K$V, DoubleLinkedQueue); 2451 $inherits(DoubleLinkedQueue$KeyValuePair$K$V, DoubleLinkedQueue);
2633 DoubleLinkedQueue$KeyValuePair$K$V.prototype.is$Collection$E = function(){return this;}; 2452 DoubleLinkedQueue$KeyValuePair$K$V.prototype.is$Collection$E = function(){return this;};
2634 DoubleLinkedQueue$KeyValuePair$K$V.prototype.is$Collection$Object = function(){r eturn this;}; 2453 DoubleLinkedQueue$KeyValuePair$K$V.prototype.is$Collection$Object = function(){r eturn this;};
2635 DoubleLinkedQueue$KeyValuePair$K$V.prototype.is$Collection$Type = false; 2454 DoubleLinkedQueue$KeyValuePair$K$V.prototype.is$Collection$Type = false;
2636 DoubleLinkedQueue$KeyValuePair$K$V.prototype.is$Iterable = function(){return thi s;}; 2455 DoubleLinkedQueue$KeyValuePair$K$V.prototype.is$Iterable = function(){return thi s;};
2637 DoubleLinkedQueue$KeyValuePair$K$V.prototype.addLast = function(value) { 2456 DoubleLinkedQueue$KeyValuePair$K$V.prototype.addLast = function(value) {
2638 this._sentinel.prepend(value); 2457 this._sentinel.prepend(value);
2639 } 2458 }
2640 DoubleLinkedQueue$KeyValuePair$K$V.prototype.lastEntry = function() { 2459 DoubleLinkedQueue$KeyValuePair$K$V.prototype.lastEntry = function() {
2641 return this._sentinel.previousEntry(); 2460 return this._sentinel.previousEntry();
2642 } 2461 }
2643 DoubleLinkedQueue$KeyValuePair$K$V.prototype.forEach = function(f) { 2462 DoubleLinkedQueue$KeyValuePair$K$V.prototype.forEach = function(f) {
2644 var entry = this._sentinel._next; 2463 var entry = this._sentinel._next;
2645 while (entry !== this._sentinel) { 2464 while (entry !== this._sentinel) {
2646 f(entry._element); 2465 f(entry._element);
2647 entry = entry._next; 2466 entry = entry._next;
2648 } 2467 }
2649 } 2468 }
2650 // ********** Code for DoubleLinkedQueue$KeyValuePair$Node$Element ************* *
2651 function DoubleLinkedQueue$KeyValuePair$Node$Element() {
2652 // Initializers done
2653 this._sentinel = new _DoubleLinkedQueueEntrySentinel$KeyValuePair$Node$Element ();
2654 }
2655 $inherits(DoubleLinkedQueue$KeyValuePair$Node$Element, DoubleLinkedQueue);
2656 DoubleLinkedQueue$KeyValuePair$Node$Element.prototype.is$Collection$E = function (){return this;};
2657 DoubleLinkedQueue$KeyValuePair$Node$Element.prototype.is$Collection$Object = fun ction(){return this;};
2658 DoubleLinkedQueue$KeyValuePair$Node$Element.prototype.is$Collection$Type = false ;
2659 DoubleLinkedQueue$KeyValuePair$Node$Element.prototype.is$Iterable = function(){r eturn this;};
2660 // ********** Code for DoubleLinkedQueue$KeyValuePair$String$Keyword *********** ***
2661 function DoubleLinkedQueue$KeyValuePair$String$Keyword() {
2662 // Initializers done
2663 this._sentinel = new _DoubleLinkedQueueEntrySentinel$KeyValuePair$String$Keywo rd();
2664 }
2665 $inherits(DoubleLinkedQueue$KeyValuePair$String$Keyword, DoubleLinkedQueue);
2666 DoubleLinkedQueue$KeyValuePair$String$Keyword.prototype.is$Collection$E = functi on(){return this;};
2667 DoubleLinkedQueue$KeyValuePair$String$Keyword.prototype.is$Collection$Object = f unction(){return this;};
2668 DoubleLinkedQueue$KeyValuePair$String$Keyword.prototype.is$Collection$Type = fal se;
2669 DoubleLinkedQueue$KeyValuePair$String$Keyword.prototype.is$Iterable = function() {return this;};
2670 // ********** Code for DoubleLinkedQueue$SourceString ************** 2469 // ********** Code for DoubleLinkedQueue$SourceString **************
2671 function DoubleLinkedQueue$SourceString() {} 2470 function DoubleLinkedQueue$SourceString() {}
2672 $inherits(DoubleLinkedQueue$SourceString, DoubleLinkedQueue); 2471 $inherits(DoubleLinkedQueue$SourceString, DoubleLinkedQueue);
2673 DoubleLinkedQueue$SourceString.prototype.is$Collection$E = function(){return thi s;}; 2472 DoubleLinkedQueue$SourceString.prototype.is$Collection$E = function(){return thi s;};
2674 DoubleLinkedQueue$SourceString.prototype.is$Collection$Object = function(){retur n this;}; 2473 DoubleLinkedQueue$SourceString.prototype.is$Collection$Object = function(){retur n this;};
2675 DoubleLinkedQueue$SourceString.prototype.is$Collection$Type = false; 2474 DoubleLinkedQueue$SourceString.prototype.is$Collection$Type = false;
2676 DoubleLinkedQueue$SourceString.prototype.is$Iterable = function(){return this;}; 2475 DoubleLinkedQueue$SourceString.prototype.is$Iterable = function(){return this;};
2677 DoubleLinkedQueue$SourceString.DoubleLinkedQueue$from$factory = function(other) {
2678 var list = new DoubleLinkedQueue();
2679 for (var $i = other.iterator(); $i.hasNext$0(); ) {
2680 var e = $i.next$0();
2681 list.addLast(e);
2682 }
2683 return (list && list.is$DoubleLinkedQueue());
2684 }
2685 // ********** Code for _DoubleLinkedQueueIterator ************** 2476 // ********** Code for _DoubleLinkedQueueIterator **************
2686 function _DoubleLinkedQueueIterator(_sentinel) { 2477 function _DoubleLinkedQueueIterator(_sentinel) {
2687 this._sentinel = _sentinel; 2478 this._sentinel = _sentinel;
2688 // Initializers done 2479 // Initializers done
2689 this._currentEntry = this._sentinel; 2480 this._currentEntry = this._sentinel;
2690 } 2481 }
2691 _DoubleLinkedQueueIterator.prototype.is$Iterator$T = function(){return this;}; 2482 _DoubleLinkedQueueIterator.prototype.is$Iterator$T = function(){return this;};
2692 _DoubleLinkedQueueIterator.prototype.hasNext = function() { 2483 _DoubleLinkedQueueIterator.prototype.hasNext = function() {
2693 return this._currentEntry._next !== this._sentinel; 2484 return this._currentEntry._next !== this._sentinel;
2694 } 2485 }
(...skipping 77 matching lines...) Expand 10 before | Expand all | Expand 10 after
2772 return this; 2563 return this;
2773 } 2564 }
2774 StringBufferImpl.prototype.addAll = function(objects) { 2565 StringBufferImpl.prototype.addAll = function(objects) {
2775 for (var $i = objects.iterator(); $i.hasNext$0(); ) { 2566 for (var $i = objects.iterator(); $i.hasNext$0(); ) {
2776 var obj = $i.next$0(); 2567 var obj = $i.next$0();
2777 this.add(obj); 2568 this.add(obj);
2778 } 2569 }
2779 return this; 2570 return this;
2780 } 2571 }
2781 StringBufferImpl.prototype.clear = function() { 2572 StringBufferImpl.prototype.clear = function() {
2782 this._buffer = new ListFactory$String(); 2573 this._buffer = new ListFactory();
2783 this._length = 0; 2574 this._length = 0;
2784 return this; 2575 return this;
2785 } 2576 }
2786 StringBufferImpl.prototype.toString = function() { 2577 StringBufferImpl.prototype.toString = function() {
2787 if (this._buffer.length == 0) return ""; 2578 if (this._buffer.length == 0) return "";
2788 if (this._buffer.length == 1) return $assert_String(this._buffer.$index(0)); 2579 if (this._buffer.length == 1) return $assert_String(this._buffer.$index(0));
2789 var result = StringBase.concatAll(this._buffer); 2580 var result = StringBase.concatAll(this._buffer);
2790 this._buffer.clear(); 2581 this._buffer.clear();
2791 this._buffer.add(result); 2582 this._buffer.add(result);
2792 return result; 2583 return result;
(...skipping 312 matching lines...) Expand 10 before | Expand all | Expand 10 after
3105 // ********** Code for top level ************** 2896 // ********** Code for top level **************
3106 function join(strings) { 2897 function join(strings) {
3107 return Strings.join(strings, '/'); 2898 return Strings.join(strings, '/');
3108 } 2899 }
3109 function readSync(fileName) { 2900 function readSync(fileName) {
3110 return new SourceFile(fileName, world.files.readAll(fileName)); 2901 return new SourceFile(fileName, world.files.readAll(fileName));
3111 } 2902 }
3112 // ********** Library util_implementation ************** 2903 // ********** Library util_implementation **************
3113 // ********** Code for LinkFactory ************** 2904 // ********** Code for LinkFactory **************
3114 function LinkFactory() {} 2905 function LinkFactory() {}
3115 LinkFactory.createLink = function(head, tail) { 2906 LinkFactory.Link$factory = function(head, tail) {
3116 var $0; 2907 var $0;
3117 return new LinkEntry(head, (($0 = (tail == null) ? const$18/*const EmptyLink() */ : tail) && $0.is$Link$T())); 2908 return new LinkEntry(head, (($0 = (tail == null) ? const$18/*const EmptyLink() */ : tail) && $0.is$Link$T()));
3118 } 2909 }
2910 // ********** Code for LinkFactory$Node **************
2911 function LinkFactory$Node() {}
2912 $inherits(LinkFactory$Node, LinkFactory);
2913 // ********** Code for LinkFactory$T **************
2914 function LinkFactory$T() {}
2915 $inherits(LinkFactory$T, LinkFactory);
3119 // ********** Code for AbstractLink ************** 2916 // ********** Code for AbstractLink **************
3120 function AbstractLink() {} 2917 function AbstractLink() {}
3121 AbstractLink.prototype.is$Link = function(){return this;}; 2918 AbstractLink.prototype.is$Link = function(){return this;};
3122 AbstractLink.prototype.is$Link$Element = function(){return this;}; 2919 AbstractLink.prototype.is$Link$Element = function(){return this;};
3123 AbstractLink.prototype.is$Link$Node = function(){return this;}; 2920 AbstractLink.prototype.is$Link$Node = function(){return this;};
3124 AbstractLink.prototype.is$Link$T = function(){return this;}; 2921 AbstractLink.prototype.is$Link$T = function(){return this;};
3125 AbstractLink.prototype.is$Link$Token = function(){return this;}; 2922 AbstractLink.prototype.is$Link$Token = function(){return this;};
3126 AbstractLink.prototype.is$Link$Type = function(){return this;}; 2923 AbstractLink.prototype.is$Link$Type = function(){return this;};
3127 AbstractLink.prototype.is$Iterable = function(){return this;}; 2924 AbstractLink.prototype.is$Iterable = function(){return this;};
3128 AbstractLink.prototype.get$head = function() { 2925 AbstractLink.prototype.get$head = function() {
3129 $throw("bug"); 2926 $throw("bug");
3130 } 2927 }
3131 AbstractLink.prototype.get$tail = function() { 2928 AbstractLink.prototype.get$tail = function() {
3132 $throw("bug"); 2929 $throw("bug");
3133 } 2930 }
3134 AbstractLink.prototype.prepend = function(element) { 2931 AbstractLink.prototype.prepend = function(element) {
3135 return LinkFactory.createLink(element, this); 2932 return LinkFactory.Link$factory(element, this);
3136 } 2933 }
3137 AbstractLink.prototype.iterator = function() { 2934 AbstractLink.prototype.iterator = function() {
3138 var $0; 2935 var $0;
3139 return (($0 = this.toList().iterator$0()) && $0.is$Iterator$T()); 2936 return (($0 = this.toList().iterator$0()) && $0.is$Iterator$T());
3140 } 2937 }
3141 AbstractLink.prototype.printOn = function(buffer, separatedBy) { 2938 AbstractLink.prototype.printOn = function(buffer, separatedBy) {
3142 var $0; 2939 var $0;
3143 if ($notnull_bool(this.isEmpty())) return; 2940 if ($notnull_bool(this.isEmpty())) return;
3144 buffer.add(this.get$head() == null ? 'null' : this.get$head()); 2941 buffer.add(this.get$head() == null ? 'null' : this.get$head());
3145 if (separatedBy == null) separatedBy = ''; 2942 if (separatedBy == null) separatedBy = '';
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
3203 LinkTail.prototype.toList = function() { 3000 LinkTail.prototype.toList = function() {
3204 return const$5/*const <HInstruction>[]*/; 3001 return const$5/*const <HInstruction>[]*/;
3205 } 3002 }
3206 LinkTail.prototype.isEmpty = function() { 3003 LinkTail.prototype.isEmpty = function() {
3207 return true; 3004 return true;
3208 } 3005 }
3209 LinkTail.prototype.isEmpty$0 = function() { 3006 LinkTail.prototype.isEmpty$0 = function() {
3210 return this.isEmpty(); 3007 return this.isEmpty();
3211 }; 3008 };
3212 // ********** Code for LinkTail$Node ************** 3009 // ********** Code for LinkTail$Node **************
3213 function LinkTail$Node() { 3010 function LinkTail$Node() {}
3214 // Initializers done
3215 }
3216 $inherits(LinkTail$Node, LinkTail); 3011 $inherits(LinkTail$Node, LinkTail);
3217 LinkTail$Node.prototype.is$Link = function(){return this;}; 3012 LinkTail$Node.prototype.is$Link = function(){return this;};
3218 LinkTail$Node.prototype.is$Link$Element = function(){return this;}; 3013 LinkTail$Node.prototype.is$Link$Element = function(){return this;};
3219 LinkTail$Node.prototype.is$Link$Node = function(){return this;}; 3014 LinkTail$Node.prototype.is$Link$Node = function(){return this;};
3220 LinkTail$Node.prototype.is$Link$T = function(){return this;}; 3015 LinkTail$Node.prototype.is$Link$T = function(){return this;};
3221 LinkTail$Node.prototype.is$Link$Token = function(){return this;}; 3016 LinkTail$Node.prototype.is$Link$Token = function(){return this;};
3222 LinkTail$Node.prototype.is$Link$Type = function(){return this;}; 3017 LinkTail$Node.prototype.is$Link$Type = function(){return this;};
3223 LinkTail$Node.prototype.is$Iterable = function(){return this;}; 3018 LinkTail$Node.prototype.is$Iterable = function(){return this;};
3224 // ********** Code for LinkEntry ************** 3019 // ********** Code for LinkEntry **************
3225 function LinkEntry(head, realTail) { 3020 function LinkEntry(head, realTail) {
3226 this.head = head; 3021 this.head = head;
3227 this.realTail = realTail; 3022 this.realTail = realTail;
3228 // Initializers done 3023 // Initializers done
3229 } 3024 }
3230 $inherits(LinkEntry, AbstractLink$T); 3025 $inherits(LinkEntry, AbstractLink$T);
3231 LinkEntry.prototype.get$head = function() { return this.head; }; 3026 LinkEntry.prototype.get$head = function() { return this.head; };
3232 LinkEntry.prototype.get$tail = function() { 3027 LinkEntry.prototype.get$tail = function() {
3233 return this.realTail; 3028 return this.realTail;
3234 } 3029 }
3235 LinkEntry.prototype.isEmpty = function() { 3030 LinkEntry.prototype.isEmpty = function() {
3236 return false; 3031 return false;
3237 } 3032 }
3238 LinkEntry.prototype.toList = function() { 3033 LinkEntry.prototype.toList = function() {
3239 var $0; 3034 var $0;
3240 var list = new ListFactory$T(); 3035 var list = new ListFactory();
3241 for (var link = this; 3036 for (var link = this;
3242 !$notnull_bool(link.isEmpty()); link = (($0 = link.get$tail()) && $0.is$Link$ T())) { 3037 !$notnull_bool(link.isEmpty()); link = (($0 = link.get$tail()) && $0.is$Link$ T())) {
3243 list.addLast(link.get$head()); 3038 list.addLast(link.get$head());
3244 } 3039 }
3245 return list; 3040 return list;
3246 } 3041 }
3247 LinkEntry.prototype.isEmpty$0 = function() { 3042 LinkEntry.prototype.isEmpty$0 = function() {
3248 return this.isEmpty(); 3043 return this.isEmpty();
3249 }; 3044 };
3250 // ********** Code for LinkEntry$T ************** 3045 // ********** Code for LinkEntry$T **************
(...skipping 23 matching lines...) Expand all
3274 var entry = new LinkEntry$T(t, null); 3069 var entry = new LinkEntry$T(t, null);
3275 if (this.head == null) { 3070 if (this.head == null) {
3276 this.head = entry; 3071 this.head = entry;
3277 } 3072 }
3278 else { 3073 else {
3279 this.lastLink.realTail = entry; 3074 this.lastLink.realTail = entry;
3280 } 3075 }
3281 this.lastLink = entry; 3076 this.lastLink = entry;
3282 } 3077 }
3283 // ********** Code for LinkBuilderImplementation$Type ************** 3078 // ********** Code for LinkBuilderImplementation$Type **************
3284 function LinkBuilderImplementation$Type() { 3079 function LinkBuilderImplementation$Type() {}
3285 this.head = null
3286 this.lastLink = null
3287 // Initializers done
3288 }
3289 $inherits(LinkBuilderImplementation$Type, LinkBuilderImplementation); 3080 $inherits(LinkBuilderImplementation$Type, LinkBuilderImplementation);
3290 // ********** Code for top level ************** 3081 // ********** Code for top level **************
3291 // ********** Library util ************** 3082 // ********** Library util **************
3292 // ********** Code for top level ************** 3083 // ********** Code for top level **************
3293 // ********** Library scanner_implementation ************** 3084 // ********** Library scanner_implementation **************
3294 // ********** Code for ArrayBasedScanner ************** 3085 // ********** Code for ArrayBasedScanner **************
3295 function ArrayBasedScanner() { 3086 function ArrayBasedScanner() {
3296 this.groupingStack = const$18/*const EmptyLink()*/ 3087 this.groupingStack = const$18/*const EmptyLink()*/
3297 this.extraCharOffset = 0; 3088 this.extraCharOffset = 0;
3298 this.tokenStart = -1; 3089 this.tokenStart = -1;
(...skipping 4265 matching lines...) Expand 10 before | Expand all | Expand 10 after
7564 NodeListener.prototype.handleLiteralDouble = function(token) { 7355 NodeListener.prototype.handleLiteralDouble = function(token) {
7565 this.pushNode(new LiteralDouble(token, to$call$2(this.onError))); 7356 this.pushNode(new LiteralDouble(token, to$call$2(this.onError)));
7566 } 7357 }
7567 NodeListener.prototype.handleLiteralBool = function(token) { 7358 NodeListener.prototype.handleLiteralBool = function(token) {
7568 this.pushNode(new LiteralBool(token, to$call$2(this.onError))); 7359 this.pushNode(new LiteralBool(token, to$call$2(this.onError)));
7569 } 7360 }
7570 NodeListener.prototype.handleLiteralString = function(token) { 7361 NodeListener.prototype.handleLiteralString = function(token) {
7571 this.pushNode(new LiteralString(token)); 7362 this.pushNode(new LiteralString(token));
7572 } 7363 }
7573 NodeListener.prototype.handleBinaryExpression = function(token) { 7364 NodeListener.prototype.handleBinaryExpression = function(token) {
7574 var arguments = new NodeList(null, LinkFactory.createLink(this.popNode()), nul l, null); 7365 var arguments = new NodeList(null, LinkFactory.Link$factory(this.popNode()), n ull, null);
7575 this.pushNode(new Send(this.popNode(), new Operator(token), arguments)); 7366 this.pushNode(new Send(this.popNode(), new Operator(token), arguments));
7576 } 7367 }
7577 NodeListener.prototype.handleAssignmentExpression = function(token) { 7368 NodeListener.prototype.handleAssignmentExpression = function(token) {
7578 var arguments = new NodeList.singleton$ctor(this.popNode()); 7369 var arguments = new NodeList.singleton$ctor(this.popNode());
7579 var node = this.popNode(); 7370 var node = this.popNode();
7580 if (!(node instanceof Send)) this.canceler.cancel(('not assignable: ' + node + '')); 7371 if (!(node instanceof Send)) this.canceler.cancel(('not assignable: ' + node + ''));
7581 var send = (node && node.is$Send()); 7372 var send = (node && node.is$Send());
7582 if (!$notnull_bool(send.get$isPropertyAccess())) this.canceler.cancel(('not as signable: ' + node + '')); 7373 if (!$notnull_bool(send.get$isPropertyAccess())) this.canceler.cancel(('not as signable: ' + node + ''));
7583 if ((send instanceof SendSet)) this.canceler.cancel('chained assignment'); 7374 if ((send instanceof SendSet)) this.canceler.cancel('chained assignment');
7584 this.pushNode(new SendSet(send.receiver, send.selector, token, arguments)); 7375 this.pushNode(new SendSet(send.receiver, send.selector, token, arguments));
(...skipping 363 matching lines...) Expand 10 before | Expand all | Expand 10 after
7948 // Initializers done 7739 // Initializers done
7949 } 7740 }
7950 Keyword.prototype.is$SourceString = function(){return this;}; 7741 Keyword.prototype.is$SourceString = function(){return this;};
7951 Keyword.get$keywords = function() { 7742 Keyword.get$keywords = function() {
7952 if (Keyword._keywords == null) { 7743 if (Keyword._keywords == null) {
7953 Keyword._keywords = Keyword.computeKeywordMap(); 7744 Keyword._keywords = Keyword.computeKeywordMap();
7954 } 7745 }
7955 return Keyword._keywords; 7746 return Keyword._keywords;
7956 } 7747 }
7957 Keyword.computeKeywordMap = function() { 7748 Keyword.computeKeywordMap = function() {
7958 var result = new LinkedHashMapImplementation$String$Keyword(); 7749 var result = new LinkedHashMapImplementation();
7959 for (var $i0 = const$236/*Keyword.values*/.iterator(); $i0.hasNext(); ) { 7750 for (var $i0 = const$236/*Keyword.values*/.iterator(); $i0.hasNext(); ) {
7960 var keyword = $i0.next(); 7751 var keyword = $i0.next();
7961 result.$setindex(keyword.syntax, keyword); 7752 result.$setindex(keyword.syntax, keyword);
7962 } 7753 }
7963 return result; 7754 return result;
7964 } 7755 }
7965 Keyword.prototype.hashCode = function() { 7756 Keyword.prototype.hashCode = function() {
7966 return this.syntax.hashCode(); 7757 return this.syntax.hashCode();
7967 } 7758 }
7968 Keyword.prototype.$eq = function(other) { 7759 Keyword.prototype.$eq = function(other) {
(...skipping 15 matching lines...) Expand all
7984 return this.printOn(($0 && $0.is$StringBuffer())); 7775 return this.printOn(($0 && $0.is$StringBuffer()));
7985 }; 7776 };
7986 Keyword.prototype.toString$0 = function() { 7777 Keyword.prototype.toString$0 = function() {
7987 return this.toString(); 7778 return this.toString();
7988 }; 7779 };
7989 // ********** Code for KeywordState ************** 7780 // ********** Code for KeywordState **************
7990 function KeywordState() {} 7781 function KeywordState() {}
7991 KeywordState.prototype.is$KeywordState = function(){return this;}; 7782 KeywordState.prototype.is$KeywordState = function(){return this;};
7992 KeywordState.get$KEYWORD_STATE = function() { 7783 KeywordState.get$KEYWORD_STATE = function() {
7993 if (KeywordState._KEYWORD_STATE == null) { 7784 if (KeywordState._KEYWORD_STATE == null) {
7994 var strings = new ListFactory$String(const$236/*Keyword.values*/.get$length( )); 7785 var strings = new ListFactory(const$236/*Keyword.values*/.get$length());
7995 for (var i = 0; 7786 for (var i = 0;
7996 i < const$236/*Keyword.values*/.get$length(); i++) { 7787 i < const$236/*Keyword.values*/.get$length(); i++) {
7997 strings.$setindex(i, const$236/*Keyword.values*/[i].syntax); 7788 strings.$setindex(i, const$236/*Keyword.values*/[i].syntax);
7998 } 7789 }
7999 strings.sort((function (a, b) { 7790 strings.sort((function (a, b) {
8000 return a.compareTo$1(b); 7791 return a.compareTo$1(b);
8001 }) 7792 })
8002 ); 7793 );
8003 KeywordState._KEYWORD_STATE = KeywordState.computeKeywordStateTable(0, strin gs, 0, strings.length); 7794 KeywordState._KEYWORD_STATE = KeywordState.computeKeywordStateTable(0, strin gs, 0, strings.length);
8004 } 7795 }
8005 return KeywordState._KEYWORD_STATE; 7796 return KeywordState._KEYWORD_STATE;
8006 } 7797 }
8007 KeywordState.computeKeywordStateTable = function(start, strings, offset, length) { 7798 KeywordState.computeKeywordStateTable = function(start, strings, offset, length) {
8008 var result = new ListFactory$KeywordState(26); 7799 var result = new ListFactory(26);
8009 $assert(length != 0, "length != 0", "keyword.dart", 161, 12); 7800 $assert(length != 0, "length != 0", "keyword.dart", 161, 12);
8010 var chunk = 0; 7801 var chunk = 0;
8011 var chunkStart = -1; 7802 var chunkStart = -1;
8012 for (var i = offset; 7803 for (var i = offset;
8013 i < offset + length; i++) { 7804 i < offset + length; i++) {
8014 if (strings.$index(i).length > start) { 7805 if (strings.$index(i).length > start) {
8015 var c = strings.$index(i).charCodeAt$1(start); 7806 var c = strings.$index(i).charCodeAt$1(start);
8016 if (chunk != c) { 7807 if (chunk != c) {
8017 if (chunkStart != -1) { 7808 if (chunkStart != -1) {
8018 result.$setindex(chunk - 97/*null.$a*/, KeywordState.computeKeywordSta teTable(start + 1, strings, chunkStart, i - chunkStart)); 7809 result.$setindex(chunk - 97/*null.$a*/, KeywordState.computeKeywordSta teTable(start + 1, strings, chunkStart, i - chunkStart));
(...skipping 217 matching lines...) Expand 10 before | Expand all | Expand 10 after
8236 }; 8027 };
8237 // ********** Code for NodeList ************** 8028 // ********** Code for NodeList **************
8238 function NodeList(beginToken, nodes, endToken, delimiter) { 8029 function NodeList(beginToken, nodes, endToken, delimiter) {
8239 this.beginToken = beginToken; 8030 this.beginToken = beginToken;
8240 this.nodes = nodes; 8031 this.nodes = nodes;
8241 this.endToken = endToken; 8032 this.endToken = endToken;
8242 this.delimiter = delimiter; 8033 this.delimiter = delimiter;
8243 // Initializers done 8034 // Initializers done
8244 } 8035 }
8245 NodeList.singleton$ctor = function(node) { 8036 NodeList.singleton$ctor = function(node) {
8246 NodeList.call(this, null, LinkFactory.createLink(node)); 8037 NodeList.call(this, null, LinkFactory.Link$factory(node));
8247 // Initializers done 8038 // Initializers done
8248 } 8039 }
8249 NodeList.singleton$ctor.prototype = NodeList.prototype; 8040 NodeList.singleton$ctor.prototype = NodeList.prototype;
8250 $inherits(NodeList, Node); 8041 $inherits(NodeList, Node);
8251 NodeList.prototype.is$NodeList = function(){return this;}; 8042 NodeList.prototype.is$NodeList = function(){return this;};
8252 NodeList.prototype.accept = function(visitor) { 8043 NodeList.prototype.accept = function(visitor) {
8253 return visitor.visitNodeList(this); 8044 return visitor.visitNodeList(this);
8254 } 8045 }
8255 NodeList.prototype.getBeginToken = function() { 8046 NodeList.prototype.getBeginToken = function() {
8256 var $0; 8047 var $0;
(...skipping 669 matching lines...) Expand 10 before | Expand all | Expand 10 after
8926 Element.call(this, name, const$243, null); 8717 Element.call(this, name, const$243, null);
8927 // Initializers done 8718 // Initializers done
8928 } 8719 }
8929 $inherits(FunctionElement, Element); 8720 $inherits(FunctionElement, Element);
8930 FunctionElement.prototype.computeType = function(compiler, types) { 8721 FunctionElement.prototype.computeType = function(compiler, types) {
8931 var $0; 8722 var $0;
8932 if (this.type != null) return (($0 = this.type) && $0.is$FunctionType()); 8723 if (this.type != null) return (($0 = this.type) && $0.is$FunctionType());
8933 var node = (($0 = this.parseNode(compiler, compiler)) && $0.is$FunctionExpress ion()); 8724 var node = (($0 = this.parseNode(compiler, compiler)) && $0.is$FunctionExpress ion());
8934 var returnType = getType(node.returnType, types); 8725 var returnType = getType(node.returnType, types);
8935 if (returnType == null) compiler.cancel(('unknown type ' + returnType + '')); 8726 if (returnType == null) compiler.cancel(('unknown type ' + returnType + ''));
8936 var parameterTypes = new LinkBuilderImplementation$Type(); 8727 var parameterTypes = new LinkBuilderImplementation();
8937 for (var link = node.parameters.nodes; 8728 for (var link = node.parameters.nodes;
8938 !$notnull_bool(link.isEmpty$0()); link = link.get$tail()) { 8729 !$notnull_bool(link.isEmpty$0()); link = link.get$tail()) {
8939 var parameter = (($0 = link.get$head()) && $0.is$VariableDefinitions()); 8730 var parameter = (($0 = link.get$head()) && $0.is$VariableDefinitions());
8940 parameterTypes.addLast(getType(parameter.type, types)); 8731 parameterTypes.addLast(getType(parameter.type, types));
8941 } 8732 }
8942 this.type = new FunctionType(returnType, (($0 = parameterTypes.toLink()) && $0 .is$Link$Type())); 8733 this.type = new FunctionType(returnType, (($0 = parameterTypes.toLink()) && $0 .is$Link$Type()));
8943 return (($0 = this.type) && $0.is$FunctionType()); 8734 return (($0 = this.type) && $0.is$FunctionType());
8944 } 8735 }
8945 FunctionElement.prototype.computeType$2 = FunctionElement.prototype.computeType; 8736 FunctionElement.prototype.computeType$2 = FunctionElement.prototype.computeType;
8946 // ********** Code for ClassElement ************** 8737 // ********** Code for ClassElement **************
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
8994 return graph; 8785 return graph;
8995 } 8786 }
8996 // ********** Code for SsaBuilder ************** 8787 // ********** Code for SsaBuilder **************
8997 function SsaBuilder(compiler, elements) { 8788 function SsaBuilder(compiler, elements) {
8998 this.compiler = compiler; 8789 this.compiler = compiler;
8999 this.elements = elements; 8790 this.elements = elements;
9000 // Initializers done 8791 // Initializers done
9001 } 8792 }
9002 SsaBuilder.prototype.is$Visitor = function(){return this;}; 8793 SsaBuilder.prototype.is$Visitor = function(){return this;};
9003 SsaBuilder.prototype.build = function(parameters, body) { 8794 SsaBuilder.prototype.build = function(parameters, body) {
9004 this.stack = new ListFactory$HInstruction(); 8795 this.stack = new ListFactory();
9005 this.definitions = new HashMapImplementation$Element$HInstruction(); 8796 this.definitions = new HashMapImplementation();
9006 this.graph = new HGraph(); 8797 this.graph = new HGraph();
9007 var block = this.graph.addNewBlock(); 8798 var block = this.graph.addNewBlock();
9008 this.open(this.graph.entry); 8799 this.open(this.graph.entry);
9009 this.visitParameters(parameters); 8800 this.visitParameters(parameters);
9010 this.close(new HGoto()).addSuccessor(block); 8801 this.close(new HGoto()).addSuccessor(block);
9011 this.open(block); 8802 this.open(block);
9012 body.accept(this); 8803 body.accept(this);
9013 if (!$notnull_bool(this.isAborted())) this.close(new HGoto()).addSuccessor(thi s.graph.exit); 8804 if (!$notnull_bool(this.isAborted())) this.close(new HGoto()).addSuccessor(thi s.graph.exit);
9014 this.graph.finalize(); 8805 this.graph.finalize();
9015 return this.graph; 8806 return this.graph;
(...skipping 134 matching lines...) Expand 10 before | Expand all | Expand 10 after
9150 var element = (($0 = this.elements.$index(node)) && $0.is$Element()); 8941 var element = (($0 = this.elements.$index(node)) && $0.is$Element());
9151 this.compiler.ensure(element != null); 8942 this.compiler.ensure(element != null);
9152 var def = (($0 = this.definitions.$index(element)) && $0.is$HInstruction()); 8943 var def = (($0 = this.definitions.$index(element)) && $0.is$HInstruction());
9153 $assert(def != null, "def !== null", "builder.dart", 240, 12); 8944 $assert(def != null, "def !== null", "builder.dart", 240, 12);
9154 this.stack.add(def); 8945 this.stack.add(def);
9155 } 8946 }
9156 SsaBuilder.prototype.joinDefinitions = function(joinBlock, incoming1, incoming2) { 8947 SsaBuilder.prototype.joinDefinitions = function(joinBlock, incoming1, incoming2) {
9157 if (incoming1.get$length() > incoming2.get$length()) { 8948 if (incoming1.get$length() > incoming2.get$length()) {
9158 return this.joinDefinitions(joinBlock, incoming2, incoming1); 8949 return this.joinDefinitions(joinBlock, incoming2, incoming1);
9159 } 8950 }
9160 var joinedDefinitions = new HashMapImplementation$Element$HInstruction(); 8951 var joinedDefinitions = new HashMapImplementation();
9161 $assert(incoming1.get$length() <= incoming2.get$length(), "incoming1.length <= incoming2.length", "builder.dart", 259, 12); 8952 $assert(incoming1.get$length() <= incoming2.get$length(), "incoming1.length <= incoming2.length", "builder.dart", 259, 12);
9162 incoming1.forEach((function (element, instruction) { 8953 incoming1.forEach((function (element, instruction) {
9163 var $0; 8954 var $0;
9164 var other = (($0 = incoming2.$index(element)) && $0.is$HInstruction()); 8955 var other = (($0 = incoming2.$index(element)) && $0.is$HInstruction());
9165 if (other == null) return; 8956 if (other == null) return;
9166 if (instruction === other) { 8957 if (instruction === other) {
9167 joinedDefinitions.$setindex(element, instruction); 8958 joinedDefinitions.$setindex(element, instruction);
9168 } 8959 }
9169 else { 8960 else {
9170 var phi = new HPhi.manyInputs$ctor(element, [instruction, other]); 8961 var phi = new HPhi.manyInputs$ctor(element, [instruction, other]);
(...skipping 477 matching lines...) Expand 10 before | Expand all | Expand 10 after
9648 HInstructionVisitor.prototype.visitBasicBlock = function(node) { 9439 HInstructionVisitor.prototype.visitBasicBlock = function(node) {
9649 this.currentBlock = node; 9440 this.currentBlock = node;
9650 var instruction = node.first; 9441 var instruction = node.first;
9651 while (instruction != null) { 9442 while (instruction != null) {
9652 this.visitInstruction(instruction); 9443 this.visitInstruction(instruction);
9653 instruction = instruction.next; 9444 instruction = instruction.next;
9654 } 9445 }
9655 } 9446 }
9656 // ********** Code for HGraph ************** 9447 // ********** Code for HGraph **************
9657 function HGraph() { 9448 function HGraph() {
9658 this.blocks = new ListFactory$HBasicBlock(); 9449 this.blocks = new ListFactory();
9659 // Initializers done 9450 // Initializers done
9660 this.entry = this.addNewBlock(); 9451 this.entry = this.addNewBlock();
9661 this.exit = new HBasicBlock(); 9452 this.exit = new HBasicBlock();
9662 } 9453 }
9663 HGraph.prototype.is$HGraph = function(){return this;}; 9454 HGraph.prototype.is$HGraph = function(){return this;};
9664 HGraph.prototype.addBlock = function(block) { 9455 HGraph.prototype.addBlock = function(block) {
9665 var id = this.blocks.length; 9456 var id = this.blocks.length;
9666 block.id = id; 9457 block.id = id;
9667 this.blocks.add(block); 9458 this.blocks.add(block);
9668 $assert(this.blocks.$index(id) === block, "blocks[id] === block", "nodes.dart" , 85, 12); 9459 $assert(this.blocks.$index(id) === block, "blocks[id] === block", "nodes.dart" , 85, 12);
(...skipping 1460 matching lines...) Expand 10 before | Expand all | Expand 10 after
11129 } 10920 }
11130 ErrorMessages.cannotResolveType = function(id) { 10921 ErrorMessages.cannotResolveType = function(id) {
11131 return ("cannot resolve type " + id + ""); 10922 return ("cannot resolve type " + id + "");
11132 } 10923 }
11133 ErrorMessages.duplicateDefinition = function(id) { 10924 ErrorMessages.duplicateDefinition = function(id) {
11134 return ("duplicate definition of " + id + ""); 10925 return ("duplicate definition of " + id + "");
11135 } 10926 }
11136 // ********** Code for ResolverVisitor ************** 10927 // ********** Code for ResolverVisitor **************
11137 function ResolverVisitor(compiler) { 10928 function ResolverVisitor(compiler) {
11138 this.compiler = compiler; 10929 this.compiler = compiler;
11139 this.mapping = new LinkedHashMapImplementation$Node$Element(); 10930 this.mapping = new LinkedHashMapImplementation();
11140 this.context = new Scope(new TopScope(compiler.universe)); 10931 this.context = new Scope(new TopScope(compiler.universe));
11141 // Initializers done 10932 // Initializers done
11142 } 10933 }
11143 ResolverVisitor.prototype.is$Visitor = function(){return this;}; 10934 ResolverVisitor.prototype.is$Visitor = function(){return this;};
11144 ResolverVisitor.prototype.fail = function(node, message) { 10935 ResolverVisitor.prototype.fail = function(node, message) {
11145 this.compiler.cancel(message); 10936 this.compiler.cancel(message);
11146 } 10937 }
11147 ResolverVisitor.prototype.warning = function(node, message) { 10938 ResolverVisitor.prototype.warning = function(node, message) {
11148 this.compiler.reportWarning(node, message); 10939 this.compiler.reportWarning(node, message);
11149 } 10940 }
(...skipping 1054 matching lines...) Expand 10 before | Expand all | Expand 10 after
12204 return (factType && factType.is$lang_Type()); 11995 return (factType && factType.is$lang_Type());
12205 } 11996 }
12206 // ********** Code for BlockScope ************** 11997 // ********** Code for BlockScope **************
12207 function BlockScope(enclosingMethod, parent, reentrant) { 11998 function BlockScope(enclosingMethod, parent, reentrant) {
12208 this.enclosingMethod = enclosingMethod; 11999 this.enclosingMethod = enclosingMethod;
12209 this.parent = parent; 12000 this.parent = parent;
12210 this.reentrant = reentrant; 12001 this.reentrant = reentrant;
12211 this._vars = $map([]); 12002 this._vars = $map([]);
12212 // Initializers done 12003 // Initializers done
12213 if ($notnull_bool(this.get$isMethodScope())) { 12004 if ($notnull_bool(this.get$isMethodScope())) {
12214 this._closedOver = new HashSetImplementation$String(); 12005 this._closedOver = new HashSetImplementation();
12215 } 12006 }
12216 else { 12007 else {
12217 this.reentrant = $notnull_bool(this.reentrant || this.parent.reentrant); 12008 this.reentrant = $notnull_bool(this.reentrant || this.parent.reentrant);
12218 } 12009 }
12219 } 12010 }
12220 BlockScope.prototype.is$BlockScope = function(){return this;}; 12011 BlockScope.prototype.is$BlockScope = function(){return this;};
12221 BlockScope.prototype.get$parent = function() { return this.parent; }; 12012 BlockScope.prototype.get$parent = function() { return this.parent; };
12222 BlockScope.prototype.set$parent = function(value) { return this.parent = value; }; 12013 BlockScope.prototype.set$parent = function(value) { return this.parent = value; };
12223 BlockScope.prototype.get$isMethodScope = function() { 12014 BlockScope.prototype.get$isMethodScope = function() {
12224 return this.parent == null || $ne(this.parent.enclosingMethod, this.enclosingM ethod); 12015 return this.parent == null || $ne(this.parent.enclosingMethod, this.enclosingM ethod);
(...skipping 2836 matching lines...) Expand 10 before | Expand all | Expand 10 after
15061 } 14852 }
15062 if ($notnull_bool(arg == null || !$notnull_bool(this.parameters.$index(i). get$isOptional()))) { 14853 if ($notnull_bool(arg == null || !$notnull_bool(this.parameters.$index(i). get$isOptional()))) {
15063 var msg = MethodMember._argCountMsg(Math.min(i, args.get$length()), i + 1, true); 14854 var msg = MethodMember._argCountMsg(Math.min(i, args.get$length()), i + 1, true);
15064 return this._argError(context, node, target, args, $assert_String(msg)); 14855 return this._argError(context, node, target, args, $assert_String(msg));
15065 } 14856 }
15066 else { 14857 else {
15067 argsCode.add$1($notnull_bool(this.isConst && arg.get$isConst()) ? arg.ge t$canonicalCode() : arg.code); 14858 argsCode.add$1($notnull_bool(this.isConst && arg.get$isConst()) ? arg.ge t$canonicalCode() : arg.code);
15068 } 14859 }
15069 } 14860 }
15070 if (namedArgsUsed < args.get$nameCount()) { 14861 if (namedArgsUsed < args.get$nameCount()) {
15071 var seen = new HashSetImplementation$String(); 14862 var seen = new HashSetImplementation();
15072 for (var i = bareCount; 14863 for (var i = bareCount;
15073 i < args.get$length(); i++) { 14864 i < args.get$length(); i++) {
15074 var name = args.getName(i); 14865 var name = args.getName(i);
15075 if ($notnull_bool(seen.contains$1(name))) { 14866 if ($notnull_bool(seen.contains$1(name))) {
15076 return this._argError(context, node, target, args, ('duplicate argumen t "' + name + '"')); 14867 return this._argError(context, node, target, args, ('duplicate argumen t "' + name + '"'));
15077 } 14868 }
15078 seen.add$1(name); 14869 seen.add$1(name);
15079 var p = this.indexOfParameter($assert_String(name)); 14870 var p = this.indexOfParameter($assert_String(name));
15080 if (p < 0) { 14871 if (p < 0) {
15081 return this._argError(context, node, target, args, ('method does not h ave optional parameter "' + name + '"')); 14872 return this._argError(context, node, target, args, ('method does not h ave optional parameter "' + name + '"'));
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
15139 if ($notnull_bool($notnull_bool(this.isConst && (node instanceof lang_NewExp ression)) && node.get$dynamic().get$isConst())) { 14930 if ($notnull_bool($notnull_bool(this.isConst && (node instanceof lang_NewExp ression)) && node.get$dynamic().get$isConst())) {
15140 return this._invokeConstConstructor(node, $assert_String(code), target, ar gs); 14931 return this._invokeConstConstructor(node, $assert_String(code), target, ar gs);
15141 } 14932 }
15142 else { 14933 else {
15143 return new Value(this.declaringType, code, node.span, true); 14934 return new Value(this.declaringType, code, node.span, true);
15144 } 14935 }
15145 } 14936 }
15146 } 14937 }
15147 MethodMember.prototype._invokeConstConstructor = function(node, code, target, ar gs) { 14938 MethodMember.prototype._invokeConstConstructor = function(node, code, target, ar gs) {
15148 var $0; 14939 var $0;
15149 var fields = new HashMapImplementation$String$EvaluatedValue(); 14940 var fields = new HashMapImplementation();
15150 for (var i = 0; 14941 for (var i = 0;
15151 i < this.parameters.length; i++) { 14942 i < this.parameters.length; i++) {
15152 var param = this.parameters.$index(i); 14943 var param = this.parameters.$index(i);
15153 if ($notnull_bool(param.isInitializer)) { 14944 if ($notnull_bool(param.isInitializer)) {
15154 var value = null; 14945 var value = null;
15155 if (i < args.get$length()) { 14946 if (i < args.get$length()) {
15156 value = args.values.$index(i); 14947 value = args.values.$index(i);
15157 } 14948 }
15158 else { 14949 else {
15159 value = args.getValue($assert_String(param.get$name())); 14950 value = args.getValue($assert_String(param.get$name()));
(...skipping 629 matching lines...) Expand 10 before | Expand all | Expand 10 after
15789 } 15580 }
15790 FactoryMap.prototype.forEach = function(f) { 15581 FactoryMap.prototype.forEach = function(f) {
15791 this.factories.forEach((function (_, constructors) { 15582 this.factories.forEach((function (_, constructors) {
15792 constructors.forEach((function (_, member) { 15583 constructors.forEach((function (_, member) {
15793 f(member); 15584 f(member);
15794 }) 15585 })
15795 ); 15586 );
15796 }) 15587 })
15797 ); 15588 );
15798 } 15589 }
15590 FactoryMap.prototype.getFactory$2 = function($0, $1) {
15591 return this.getFactory($assert_String($0), $assert_String($1));
15592 };
15799 // ********** Code for lang_Token ************** 15593 // ********** Code for lang_Token **************
15800 function lang_Token(kind, source, start, end) { 15594 function lang_Token(kind, source, start, end) {
15801 this.kind = kind; 15595 this.kind = kind;
15802 this.source = source; 15596 this.source = source;
15803 this.start = start; 15597 this.start = start;
15804 this.end = end; 15598 this.end = end;
15805 // Initializers done 15599 // Initializers done
15806 } 15600 }
15807 lang_Token.prototype.get$text = function() { 15601 lang_Token.prototype.get$text = function() {
15808 return this.source.get$text().substring(this.start, this.end); 15602 return this.source.get$text().substring(this.start, this.end);
(...skipping 4439 matching lines...) Expand 10 before | Expand all | Expand 10 after
20248 } 20042 }
20249 lang_Type.prototype.addDirectSubtype$1 = function($0) { 20043 lang_Type.prototype.addDirectSubtype$1 = function($0) {
20250 return this.addDirectSubtype(($0 && $0.is$lang_Type())); 20044 return this.addDirectSubtype(($0 && $0.is$lang_Type()));
20251 }; 20045 };
20252 lang_Type.prototype.ensureSubtypeOf$3 = function($0, $1, $2) { 20046 lang_Type.prototype.ensureSubtypeOf$3 = function($0, $1, $2) {
20253 return this.ensureSubtypeOf(($0 && $0.is$lang_Type()), ($1 && $1.is$SourceSpan ()), $assert_bool($2)); 20047 return this.ensureSubtypeOf(($0 && $0.is$lang_Type()), ($1 && $1.is$SourceSpan ()), $assert_bool($2));
20254 }; 20048 };
20255 lang_Type.prototype.getConstructor$1 = function($0) { 20049 lang_Type.prototype.getConstructor$1 = function($0) {
20256 return this.getConstructor($assert_String($0)); 20050 return this.getConstructor($assert_String($0));
20257 }; 20051 };
20052 lang_Type.prototype.getFactory$2 = function($0, $1) {
20053 return this.getFactory(($0 && $0.is$lang_Type()), $assert_String($1));
20054 };
20258 lang_Type.prototype.getMember$1 = function($0) { 20055 lang_Type.prototype.getMember$1 = function($0) {
20259 return this.getMember($assert_String($0)); 20056 return this.getMember($assert_String($0));
20260 }; 20057 };
20261 lang_Type.prototype.getOrMakeConcreteType$1 = function($0) { 20058 lang_Type.prototype.getOrMakeConcreteType$1 = function($0) {
20262 return this.getOrMakeConcreteType(($0 && $0.is$List$Type())); 20059 return this.getOrMakeConcreteType(($0 && $0.is$List$Type()));
20263 }; 20060 };
20264 lang_Type.prototype.hashCode$0 = function() { 20061 lang_Type.prototype.hashCode$0 = function() {
20265 return this.hashCode(); 20062 return this.hashCode();
20266 }; 20063 };
20267 lang_Type.prototype.isAssignable$1 = function($0) { 20064 lang_Type.prototype.isAssignable$1 = function($0) {
(...skipping 193 matching lines...) Expand 10 before | Expand all | Expand 10 after
20461 } 20258 }
20462 NonNullableType.prototype.get$isNativeType = function() { 20259 NonNullableType.prototype.get$isNativeType = function() {
20463 return this.type.get$isNativeType(); 20260 return this.type.get$isNativeType();
20464 } 20261 }
20465 NonNullableType.prototype.addDirectSubtype$1 = function($0) { 20262 NonNullableType.prototype.addDirectSubtype$1 = function($0) {
20466 return this.addDirectSubtype(($0 && $0.is$lang_Type())); 20263 return this.addDirectSubtype(($0 && $0.is$lang_Type()));
20467 }; 20264 };
20468 NonNullableType.prototype.getConstructor$1 = function($0) { 20265 NonNullableType.prototype.getConstructor$1 = function($0) {
20469 return this.getConstructor($assert_String($0)); 20266 return this.getConstructor($assert_String($0));
20470 }; 20267 };
20268 NonNullableType.prototype.getFactory$2 = function($0, $1) {
20269 return this.getFactory(($0 && $0.is$lang_Type()), $assert_String($1));
20270 };
20471 NonNullableType.prototype.getMember$1 = function($0) { 20271 NonNullableType.prototype.getMember$1 = function($0) {
20472 return this.getMember($assert_String($0)); 20272 return this.getMember($assert_String($0));
20473 }; 20273 };
20474 NonNullableType.prototype.getOrMakeConcreteType$1 = function($0) { 20274 NonNullableType.prototype.getOrMakeConcreteType$1 = function($0) {
20475 return this.getOrMakeConcreteType(($0 && $0.is$List$Type())); 20275 return this.getOrMakeConcreteType(($0 && $0.is$List$Type()));
20476 }; 20276 };
20477 NonNullableType.prototype.isSubtypeOf$1 = function($0) { 20277 NonNullableType.prototype.isSubtypeOf$1 = function($0) {
20478 return this.isSubtypeOf(($0 && $0.is$lang_Type())); 20278 return this.isSubtypeOf(($0 && $0.is$lang_Type()));
20479 }; 20279 };
20480 NonNullableType.prototype.markUsed$0 = function() { 20280 NonNullableType.prototype.markUsed$0 = function() {
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
20583 ConcreteType.prototype.getConstructor = function(constructorName) { 20383 ConcreteType.prototype.getConstructor = function(constructorName) {
20584 var ret = this.constructors.$index(constructorName); 20384 var ret = this.constructors.$index(constructorName);
20585 if ($notnull_bool($ne(ret, null))) return ret; 20385 if ($notnull_bool($ne(ret, null))) return ret;
20586 ret = this.factories.getFactory(this.name, constructorName); 20386 ret = this.factories.getFactory(this.name, constructorName);
20587 if ($notnull_bool($ne(ret, null))) return ret; 20387 if ($notnull_bool($ne(ret, null))) return ret;
20588 var genericMember = this.genericType.getConstructor(constructorName); 20388 var genericMember = this.genericType.getConstructor(constructorName);
20589 if ($notnull_bool(genericMember == null)) return null; 20389 if ($notnull_bool(genericMember == null)) return null;
20590 if ($ne(genericMember.declaringType, this.genericType)) { 20390 if ($ne(genericMember.declaringType, this.genericType)) {
20591 if (!$notnull_bool(genericMember.declaringType.get$isGeneric())) return gene ricMember; 20391 if (!$notnull_bool(genericMember.declaringType.get$isGeneric())) return gene ricMember;
20592 var newDeclaringType = genericMember.declaringType.getOrMakeConcreteType(thi s.typeArgsInOrder); 20392 var newDeclaringType = genericMember.declaringType.getOrMakeConcreteType(thi s.typeArgsInOrder);
20393 var factory = newDeclaringType.getFactory$2(this.genericType, constructorNam e);
20394 if (factory != null) return factory;
20593 return newDeclaringType.getConstructor$1(constructorName); 20395 return newDeclaringType.getConstructor$1(constructorName);
20594 } 20396 }
20595 if ($notnull_bool(genericMember.get$isFactory())) { 20397 if ($notnull_bool(genericMember.get$isFactory())) {
20596 ret = new ConcreteMember($assert_String(genericMember.get$name()), this, gen ericMember); 20398 ret = new ConcreteMember($assert_String(genericMember.get$name()), this, gen ericMember);
20597 this.factories.addFactory(this.name, constructorName, (ret && ret.is$Member( ))); 20399 this.factories.addFactory(this.name, constructorName, (ret && ret.is$Member( )));
20598 } 20400 }
20599 else { 20401 else {
20600 ret = new ConcreteMember(this.name, this, genericMember); 20402 ret = new ConcreteMember(this.name, this, genericMember);
20601 this.constructors.$setindex(constructorName, ret); 20403 this.constructors.$setindex(constructorName, ret);
20602 } 20404 }
(...skipping 27 matching lines...) Expand all
20630 } 20432 }
20631 ConcreteType.prototype.addDirectSubtype = function(type) { 20433 ConcreteType.prototype.addDirectSubtype = function(type) {
20632 this.genericType.addDirectSubtype(type); 20434 this.genericType.addDirectSubtype(type);
20633 } 20435 }
20634 ConcreteType.prototype.addDirectSubtype$1 = function($0) { 20436 ConcreteType.prototype.addDirectSubtype$1 = function($0) {
20635 return this.addDirectSubtype(($0 && $0.is$lang_Type())); 20437 return this.addDirectSubtype(($0 && $0.is$lang_Type()));
20636 }; 20438 };
20637 ConcreteType.prototype.getConstructor$1 = function($0) { 20439 ConcreteType.prototype.getConstructor$1 = function($0) {
20638 return this.getConstructor($assert_String($0)); 20440 return this.getConstructor($assert_String($0));
20639 }; 20441 };
20442 ConcreteType.prototype.getFactory$2 = function($0, $1) {
20443 return this.getFactory(($0 && $0.is$lang_Type()), $assert_String($1));
20444 };
20640 ConcreteType.prototype.getMember$1 = function($0) { 20445 ConcreteType.prototype.getMember$1 = function($0) {
20641 return this.getMember($assert_String($0)); 20446 return this.getMember($assert_String($0));
20642 }; 20447 };
20643 ConcreteType.prototype.getOrMakeConcreteType$1 = function($0) { 20448 ConcreteType.prototype.getOrMakeConcreteType$1 = function($0) {
20644 return this.getOrMakeConcreteType(($0 && $0.is$List$Type())); 20449 return this.getOrMakeConcreteType(($0 && $0.is$List$Type()));
20645 }; 20450 };
20646 ConcreteType.prototype.markUsed$0 = function() { 20451 ConcreteType.prototype.markUsed$0 = function() {
20647 return this.markUsed(); 20452 return this.markUsed();
20648 }; 20453 };
20649 ConcreteType.prototype.resolveMember$1 = function($0) { 20454 ConcreteType.prototype.resolveMember$1 = function($0) {
20650 return this.resolveMember($assert_String($0)); 20455 return this.resolveMember($assert_String($0));
20651 }; 20456 };
20652 ConcreteType.prototype.resolveTypeParams$1 = function($0) { 20457 ConcreteType.prototype.resolveTypeParams$1 = function($0) {
20653 return this.resolveTypeParams(($0 && $0.is$ConcreteType())); 20458 return this.resolveTypeParams(($0 && $0.is$ConcreteType()));
20654 }; 20459 };
20655 // ********** Code for DefinedType ************** 20460 // ********** Code for DefinedType **************
20656 function DefinedType(name, library, definition, isClass) { 20461 function DefinedType(name, library, definition, isClass) {
20657 this.isUsed = false 20462 this.isUsed = false
20658 this.isNativeType = false 20463 this.isNativeType = false
20659 this.library = library; 20464 this.library = library;
20660 this.isClass = isClass; 20465 this.isClass = isClass;
20661 this.directSubtypes = new HashSetImplementation$Type(); 20466 this.directSubtypes = new HashSetImplementation();
20662 this.constructors = $map([]); 20467 this.constructors = $map([]);
20663 this.members = $map([]); 20468 this.members = $map([]);
20664 this.factories = new FactoryMap(); 20469 this.factories = new FactoryMap();
20665 this._resolvedMembers = $map([]); 20470 this._resolvedMembers = $map([]);
20666 lang_Type.call(this, name); 20471 lang_Type.call(this, name);
20667 // Initializers done 20472 // Initializers done
20668 this.setDefinition(definition); 20473 this.setDefinition(definition);
20669 } 20474 }
20670 $inherits(DefinedType, lang_Type); 20475 $inherits(DefinedType, lang_Type);
20671 DefinedType.prototype.is$DefinedType = function(){return this;}; 20476 DefinedType.prototype.is$DefinedType = function(){return this;};
(...skipping 15 matching lines...) Expand all
20687 DefinedType.prototype.set$constructors = function(value) { return this.construct ors = value; }; 20492 DefinedType.prototype.set$constructors = function(value) { return this.construct ors = value; };
20688 DefinedType.prototype.get$members = function() { return this.members; }; 20493 DefinedType.prototype.get$members = function() { return this.members; };
20689 DefinedType.prototype.set$members = function(value) { return this.members = valu e; }; 20494 DefinedType.prototype.set$members = function(value) { return this.members = valu e; };
20690 DefinedType.prototype.get$factories = function() { return this.factories; }; 20495 DefinedType.prototype.get$factories = function() { return this.factories; };
20691 DefinedType.prototype.set$factories = function(value) { return this.factories = value; }; 20496 DefinedType.prototype.set$factories = function(value) { return this.factories = value; };
20692 DefinedType.prototype.get$isUsed = function() { return this.isUsed; }; 20497 DefinedType.prototype.get$isUsed = function() { return this.isUsed; };
20693 DefinedType.prototype.set$isUsed = function(value) { return this.isUsed = value; }; 20498 DefinedType.prototype.set$isUsed = function(value) { return this.isUsed = value; };
20694 DefinedType.prototype.get$isNativeType = function() { return this.isNativeType; }; 20499 DefinedType.prototype.get$isNativeType = function() { return this.isNativeType; };
20695 DefinedType.prototype.set$isNativeType = function(value) { return this.isNativeT ype = value; }; 20500 DefinedType.prototype.set$isNativeType = function(value) { return this.isNativeT ype = value; };
20696 DefinedType.prototype.setDefinition = function(def) { 20501 DefinedType.prototype.setDefinition = function(def) {
20697 $assert(this.definition == null, "definition == null", "type.dart", 628, 12); 20502 $assert(this.definition == null, "definition == null", "type.dart", 630, 12);
20698 this.definition = def; 20503 this.definition = def;
20699 if ((this.definition instanceof TypeDefinition) && this.definition.get$nativeT ype() != null) { 20504 if ((this.definition instanceof TypeDefinition) && this.definition.get$nativeT ype() != null) {
20700 this.isNativeType = true; 20505 this.isNativeType = true;
20701 } 20506 }
20702 if (this.definition != null && this.definition.get$typeParameters() != null) { 20507 if (this.definition != null && this.definition.get$typeParameters() != null) {
20703 this._concreteTypes = $map([]); 20508 this._concreteTypes = $map([]);
20704 this.typeParameters = []; 20509 this.typeParameters = [];
20705 var $list = this.definition.get$typeParameters(); 20510 var $list = this.definition.get$typeParameters();
20706 for (var $i = 0;$i < $list.length; $i++) { 20511 for (var $i = 0;$i < $list.length; $i++) {
20707 var tp = $list.$index($i); 20512 var tp = $list.$index($i);
(...skipping 88 matching lines...) Expand 10 before | Expand all | Expand 10 after
20796 var resolvedInterface = this.resolveType((type && type.is$TypeReference()), true); 20601 var resolvedInterface = this.resolveType((type && type.is$TypeReference()), true);
20797 if ($notnull_bool(resolvedInterface.get$isClosed() && !($notnull_bool(this.l ibrary.get$isCore() || this.library.get$isCoreImpl())))) { 20602 if ($notnull_bool(resolvedInterface.get$isClosed() && !($notnull_bool(this.l ibrary.get$isCore() || this.library.get$isCoreImpl())))) {
20798 world.error(('can not implement "' + resolvedInterface.get$name() + '": ') + 'only native implementation allowed', type.get$span()); 20603 world.error(('can not implement "' + resolvedInterface.get$name() + '": ') + 'only native implementation allowed', type.get$span());
20799 } 20604 }
20800 resolvedInterface.addDirectSubtype$1(this); 20605 resolvedInterface.addDirectSubtype$1(this);
20801 interfaces.add$1(resolvedInterface); 20606 interfaces.add$1(resolvedInterface);
20802 } 20607 }
20803 return (interfaces && interfaces.is$List$Type()); 20608 return (interfaces && interfaces.is$List$Type());
20804 } 20609 }
20805 DefinedType.prototype.addDirectSubtype = function(type) { 20610 DefinedType.prototype.addDirectSubtype = function(type) {
20806 $assert(this._subtypes == null, "_subtypes == null", "type.dart", 744, 12); 20611 $assert(this._subtypes == null, "_subtypes == null", "type.dart", 746, 12);
20807 this.directSubtypes.add(type); 20612 this.directSubtypes.add(type);
20808 } 20613 }
20809 DefinedType.prototype.get$subtypes = function() { 20614 DefinedType.prototype.get$subtypes = function() {
20810 if (this._subtypes == null) { 20615 if (this._subtypes == null) {
20811 this._subtypes = new HashSetImplementation$Type(); 20616 this._subtypes = new HashSetImplementation();
20812 var $list = this.directSubtypes; 20617 var $list = this.directSubtypes;
20813 for (var $i = this.directSubtypes.iterator(); $i.hasNext$0(); ) { 20618 for (var $i = this.directSubtypes.iterator(); $i.hasNext$0(); ) {
20814 var st = $i.next$0(); 20619 var st = $i.next$0();
20815 this._subtypes.add(st); 20620 this._subtypes.add(st);
20816 this._subtypes.addAll(st.get$subtypes()); 20621 this._subtypes.addAll(st.get$subtypes());
20817 } 20622 }
20818 } 20623 }
20819 return this._subtypes; 20624 return this._subtypes;
20820 } 20625 }
20821 DefinedType.prototype._cycleInClassExtends = function() { 20626 DefinedType.prototype._cycleInClassExtends = function() {
(...skipping 401 matching lines...) Expand 10 before | Expand all | Expand 10 after
21223 } 21028 }
21224 else { 21029 else {
21225 world.internalError('unknown type reference', node.span); 21030 world.internalError('unknown type reference', node.span);
21226 } 21031 }
21227 return node.type; 21032 return node.type;
21228 } 21033 }
21229 DefinedType.prototype.resolveTypeParams = function(inType) { 21034 DefinedType.prototype.resolveTypeParams = function(inType) {
21230 return this; 21035 return this;
21231 } 21036 }
21232 DefinedType.prototype.getOrMakeConcreteType = function(typeArgs) { 21037 DefinedType.prototype.getOrMakeConcreteType = function(typeArgs) {
21233 $assert(this.get$isGeneric(), "isGeneric", "type.dart", 1227, 12); 21038 $assert(this.get$isGeneric(), "isGeneric", "type.dart", 1229, 12);
21234 var names = [this.name]; 21039 var names = [this.name];
21235 var typeMap = $map([]); 21040 var typeMap = $map([]);
21236 for (var i = 0; 21041 for (var i = 0;
21237 i < typeArgs.length; i++) { 21042 i < typeArgs.length; i++) {
21238 var paramName = this.typeParameters.$index(i).get$name(); 21043 var paramName = this.typeParameters.$index(i).get$name();
21239 typeMap.$setindex(paramName, typeArgs.$index(i)); 21044 typeMap.$setindex(paramName, typeArgs.$index(i));
21240 names.add$1(typeArgs.$index(i).get$name()); 21045 names.add$1(typeArgs.$index(i).get$name());
21241 } 21046 }
21242 var concreteName = Strings.join((names && names.is$List$String()), '\$'); 21047 var concreteName = Strings.join((names && names.is$List$String()), '\$');
21243 var ret = this._concreteTypes.$index(concreteName); 21048 var ret = this._concreteTypes.$index(concreteName);
21244 if ($notnull_bool(ret == null)) { 21049 if ($notnull_bool(ret == null)) {
21245 ret = new ConcreteType($assert_String(concreteName), this, typeMap, typeArgs ); 21050 ret = new ConcreteType($assert_String(concreteName), this, typeMap, typeArgs );
21246 this._concreteTypes.$setindex(concreteName, ret); 21051 this._concreteTypes.$setindex(concreteName, ret);
21247 } 21052 }
21248 return (ret && ret.is$lang_Type()); 21053 return (ret && ret.is$lang_Type());
21249 } 21054 }
21250 DefinedType.prototype.getCallStub = function(args) { 21055 DefinedType.prototype.getCallStub = function(args) {
21251 $assert(this.get$isFunction(), "isFunction", "type.dart", 1247, 12); 21056 $assert(this.get$isFunction(), "isFunction", "type.dart", 1249, 12);
21252 var name = _getCallStubName('call', args); 21057 var name = _getCallStubName('call', args);
21253 if (this.varStubs == null) this.varStubs = $map([]); 21058 if (this.varStubs == null) this.varStubs = $map([]);
21254 var stub = this.varStubs.$index(name); 21059 var stub = this.varStubs.$index(name);
21255 if ($notnull_bool(stub == null)) { 21060 if ($notnull_bool(stub == null)) {
21256 stub = new VarFunctionStub($assert_String(name), args); 21061 stub = new VarFunctionStub($assert_String(name), args);
21257 this.varStubs.$setindex(name, stub); 21062 this.varStubs.$setindex(name, stub);
21258 } 21063 }
21259 return (stub && stub.is$VarFunctionStub()); 21064 return (stub && stub.is$VarFunctionStub());
21260 } 21065 }
21261 DefinedType.prototype.addDirectSubtype$1 = function($0) { 21066 DefinedType.prototype.addDirectSubtype$1 = function($0) {
21262 return this.addDirectSubtype(($0 && $0.is$lang_Type())); 21067 return this.addDirectSubtype(($0 && $0.is$lang_Type()));
21263 }; 21068 };
21264 DefinedType.prototype.addMethod$2 = function($0, $1) { 21069 DefinedType.prototype.addMethod$2 = function($0, $1) {
21265 return this.addMethod($assert_String($0), ($1 && $1.is$FunctionDefinition())); 21070 return this.addMethod($assert_String($0), ($1 && $1.is$FunctionDefinition()));
21266 }; 21071 };
21267 DefinedType.prototype.getConstructor$1 = function($0) { 21072 DefinedType.prototype.getConstructor$1 = function($0) {
21268 return this.getConstructor($assert_String($0)); 21073 return this.getConstructor($assert_String($0));
21269 }; 21074 };
21075 DefinedType.prototype.getFactory$2 = function($0, $1) {
21076 return this.getFactory(($0 && $0.is$lang_Type()), $assert_String($1));
21077 };
21270 DefinedType.prototype.getMember$1 = function($0) { 21078 DefinedType.prototype.getMember$1 = function($0) {
21271 return this.getMember($assert_String($0)); 21079 return this.getMember($assert_String($0));
21272 }; 21080 };
21273 DefinedType.prototype.getOrMakeConcreteType$1 = function($0) { 21081 DefinedType.prototype.getOrMakeConcreteType$1 = function($0) {
21274 return this.getOrMakeConcreteType(($0 && $0.is$List$Type())); 21082 return this.getOrMakeConcreteType(($0 && $0.is$List$Type()));
21275 }; 21083 };
21276 DefinedType.prototype.markUsed$0 = function() { 21084 DefinedType.prototype.markUsed$0 = function() {
21277 return this.markUsed(); 21085 return this.markUsed();
21278 }; 21086 };
21279 DefinedType.prototype.resolve$0 = function() { 21087 DefinedType.prototype.resolve$0 = function() {
(...skipping 19 matching lines...) Expand all
21299 FixedCollection.prototype.is$Collection$Type = function(){return this;}; 21107 FixedCollection.prototype.is$Collection$Type = function(){return this;};
21300 FixedCollection.prototype.is$Iterable = function(){return this;}; 21108 FixedCollection.prototype.is$Iterable = function(){return this;};
21301 FixedCollection.prototype.get$value = function() { return this.value; }; 21109 FixedCollection.prototype.get$value = function() { return this.value; };
21302 FixedCollection.prototype.iterator = function() { 21110 FixedCollection.prototype.iterator = function() {
21303 return new FixedIterator$E(this.value, this.length); 21111 return new FixedIterator$E(this.value, this.length);
21304 } 21112 }
21305 FixedCollection.prototype.forEach = function(f) { 21113 FixedCollection.prototype.forEach = function(f) {
21306 Collections.forEach(this, f); 21114 Collections.forEach(this, f);
21307 } 21115 }
21308 FixedCollection.prototype.filter = function(f) { 21116 FixedCollection.prototype.filter = function(f) {
21309 return Collections.filter(this, new ListFactory$E(), f); 21117 return Collections.filter(this, new ListFactory(), f);
21310 } 21118 }
21311 FixedCollection.prototype.some = function(f) { 21119 FixedCollection.prototype.some = function(f) {
21312 return Collections.some(this, f); 21120 return Collections.some(this, f);
21313 } 21121 }
21314 FixedCollection.prototype.isEmpty = function() { 21122 FixedCollection.prototype.isEmpty = function() {
21315 return this.length == 0; 21123 return this.length == 0;
21316 } 21124 }
21317 FixedCollection.prototype.filter$1 = FixedCollection.prototype.filter; 21125 FixedCollection.prototype.filter$1 = FixedCollection.prototype.filter;
21318 FixedCollection.prototype.isEmpty$0 = function() { 21126 FixedCollection.prototype.isEmpty$0 = function() {
21319 return this.isEmpty(); 21127 return this.isEmpty();
(...skipping 409 matching lines...) Expand 10 before | Expand all | Expand 10 after
21729 // ********** Code for ConstMapValue ************** 21537 // ********** Code for ConstMapValue **************
21730 function ConstMapValue() {} 21538 function ConstMapValue() {}
21731 ConstMapValue._internal$ctor = function(type, values, actualValue, canonicalCode , span, code) { 21539 ConstMapValue._internal$ctor = function(type, values, actualValue, canonicalCode , span, code) {
21732 this.values = values; 21540 this.values = values;
21733 EvaluatedValue._internal$ctor.call(this, (type && type.is$lang_Type()), actual Value, canonicalCode, (span && span.is$SourceSpan()), $assert_String(code)); 21541 EvaluatedValue._internal$ctor.call(this, (type && type.is$lang_Type()), actual Value, canonicalCode, (span && span.is$SourceSpan()), $assert_String(code));
21734 // Initializers done 21542 // Initializers done
21735 } 21543 }
21736 ConstMapValue._internal$ctor.prototype = ConstMapValue.prototype; 21544 ConstMapValue._internal$ctor.prototype = ConstMapValue.prototype;
21737 $inherits(ConstMapValue, EvaluatedValue); 21545 $inherits(ConstMapValue, EvaluatedValue);
21738 ConstMapValue.ConstMapValue$factory = function(type, keyValuePairs, actualValue, canonicalCode, span) { 21546 ConstMapValue.ConstMapValue$factory = function(type, keyValuePairs, actualValue, canonicalCode, span) {
21739 var values = new HashMapImplementation$String$EvaluatedValue(); 21547 var values = new HashMapImplementation();
21740 for (var i = 0; 21548 for (var i = 0;
21741 i < keyValuePairs.length; i += 2) { 21549 i < keyValuePairs.length; i += 2) {
21742 values.$setindex(keyValuePairs.$index(i).get$actualValue(), keyValuePairs.$i ndex(i + 1)); 21550 values.$setindex(keyValuePairs.$index(i).get$actualValue(), keyValuePairs.$i ndex(i + 1));
21743 } 21551 }
21744 return new ConstMapValue._internal$ctor(type, values, actualValue, canonicalCo de, span, EvaluatedValue.codeWithComments(canonicalCode, span)); 21552 return new ConstMapValue._internal$ctor(type, values, actualValue, canonicalCo de, span, EvaluatedValue.codeWithComments(canonicalCode, span));
21745 } 21553 }
21746 // ********** Code for ConstObjectValue ************** 21554 // ********** Code for ConstObjectValue **************
21747 function ConstObjectValue() {} 21555 function ConstObjectValue() {}
21748 ConstObjectValue._internal$ctor = function(type, fields, actualValue, canonicalC ode, span, code) { 21556 ConstObjectValue._internal$ctor = function(type, fields, actualValue, canonicalC ode, span, code) {
21749 this.fields = fields; 21557 this.fields = fields;
(...skipping 1034 matching lines...) Expand 10 before | Expand all | Expand 10 after
22784 INTERFACE, 22592 INTERFACE,
22785 LIBRARY, 22593 LIBRARY,
22786 NATIVE, 22594 NATIVE,
22787 NEGATE, 22595 NEGATE,
22788 OPERATOR, 22596 OPERATOR,
22789 SET, 22597 SET,
22790 SOURCE, 22598 SOURCE,
22791 STATIC, 22599 STATIC,
22792 TYPEDEF ]*/; 22600 TYPEDEF ]*/;
22793 RunEntry(function () {main();}, []); 22601 RunEntry(function () {main();}, []);
OLDNEW
« no previous file with comments | « no previous file | dart/frog/leg/scanner/listener.dart » ('j') | dart/frog/tests/leg/src/LinkTest.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698