| OLD | NEW |
| 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 1828 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1839 this._previous = null; | 1839 this._previous = null; |
| 1840 return this._element; | 1840 return this._element; |
| 1841 } | 1841 } |
| 1842 DoubleLinkedQueueEntry$E.prototype._asNonSentinelEntry = function() { | 1842 DoubleLinkedQueueEntry$E.prototype._asNonSentinelEntry = function() { |
| 1843 return this; | 1843 return this; |
| 1844 } | 1844 } |
| 1845 DoubleLinkedQueueEntry$E.prototype.previousEntry = function() { | 1845 DoubleLinkedQueueEntry$E.prototype.previousEntry = function() { |
| 1846 return this._previous._asNonSentinelEntry(); | 1846 return this._previous._asNonSentinelEntry(); |
| 1847 } | 1847 } |
| 1848 // ********** Code for DoubleLinkedQueueEntry$KeyValuePair$K$V ************** | 1848 // ********** Code for DoubleLinkedQueueEntry$KeyValuePair$K$V ************** |
| 1849 function DoubleLinkedQueueEntry$KeyValuePair$K$V() {} | 1849 function DoubleLinkedQueueEntry$KeyValuePair$K$V(e) { |
| 1850 // Initializers done |
| 1851 this._element = e; |
| 1852 } |
| 1850 $inherits(DoubleLinkedQueueEntry$KeyValuePair$K$V, DoubleLinkedQueueEntry); | 1853 $inherits(DoubleLinkedQueueEntry$KeyValuePair$K$V, DoubleLinkedQueueEntry); |
| 1851 DoubleLinkedQueueEntry$KeyValuePair$K$V.prototype.is$DoubleLinkedQueueEntry$KeyV
aluePair$K$V = function(){return this;}; | 1854 DoubleLinkedQueueEntry$KeyValuePair$K$V.prototype.is$DoubleLinkedQueueEntry$KeyV
aluePair$K$V = function(){return this;}; |
| 1855 DoubleLinkedQueueEntry$KeyValuePair$K$V.prototype._link = function(p, n) { |
| 1856 this._next = n; |
| 1857 this._previous = p; |
| 1858 p._next = this; |
| 1859 n._previous = this; |
| 1860 } |
| 1861 DoubleLinkedQueueEntry$KeyValuePair$K$V.prototype.prepend = function(e) { |
| 1862 new DoubleLinkedQueueEntry$KeyValuePair$K$V(e)._link(this._previous, this); |
| 1863 } |
| 1864 DoubleLinkedQueueEntry$KeyValuePair$K$V.prototype._asNonSentinelEntry = function
() { |
| 1865 return this; |
| 1866 } |
| 1867 DoubleLinkedQueueEntry$KeyValuePair$K$V.prototype.previousEntry = function() { |
| 1868 var $0; |
| 1869 return (($0 = this._previous._asNonSentinelEntry()) && $0.is$DoubleLinkedQueue
Entry$KeyValuePair$K$V()); |
| 1870 } |
| 1852 // ********** Code for _DoubleLinkedQueueEntrySentinel ************** | 1871 // ********** Code for _DoubleLinkedQueueEntrySentinel ************** |
| 1853 function _DoubleLinkedQueueEntrySentinel() { | 1872 function _DoubleLinkedQueueEntrySentinel() { |
| 1854 // Initializers done | 1873 // Initializers done |
| 1855 DoubleLinkedQueueEntry$E.call(this, null); | 1874 DoubleLinkedQueueEntry$E.call(this, null); |
| 1856 this._link(this, this); | 1875 this._link(this, this); |
| 1857 } | 1876 } |
| 1858 $inherits(_DoubleLinkedQueueEntrySentinel, DoubleLinkedQueueEntry$E); | 1877 $inherits(_DoubleLinkedQueueEntrySentinel, DoubleLinkedQueueEntry$E); |
| 1859 _DoubleLinkedQueueEntrySentinel.prototype.remove = function() { | 1878 _DoubleLinkedQueueEntrySentinel.prototype.remove = function() { |
| 1860 $throw(const$3/*const EmptyQueueException()*/); | 1879 $throw(const$3/*const EmptyQueueException()*/); |
| 1861 } | 1880 } |
| 1862 _DoubleLinkedQueueEntrySentinel.prototype._asNonSentinelEntry = function() { | 1881 _DoubleLinkedQueueEntrySentinel.prototype._asNonSentinelEntry = function() { |
| 1863 return null; | 1882 return null; |
| 1864 } | 1883 } |
| 1865 _DoubleLinkedQueueEntrySentinel.prototype.get$element = function() { | 1884 _DoubleLinkedQueueEntrySentinel.prototype.get$element = function() { |
| 1866 $throw(const$3/*const EmptyQueueException()*/); | 1885 $throw(const$3/*const EmptyQueueException()*/); |
| 1867 } | 1886 } |
| 1868 // ********** Code for _DoubleLinkedQueueEntrySentinel$E ************** | 1887 // ********** Code for _DoubleLinkedQueueEntrySentinel$E ************** |
| 1869 function _DoubleLinkedQueueEntrySentinel$E() { | 1888 function _DoubleLinkedQueueEntrySentinel$E() { |
| 1870 // Initializers done | 1889 // Initializers done |
| 1871 DoubleLinkedQueueEntry$E.call(this, null); | 1890 DoubleLinkedQueueEntry$E.call(this, null); |
| 1872 this._link(this, this); | 1891 this._link(this, this); |
| 1873 } | 1892 } |
| 1874 $inherits(_DoubleLinkedQueueEntrySentinel$E, _DoubleLinkedQueueEntrySentinel); | 1893 $inherits(_DoubleLinkedQueueEntrySentinel$E, _DoubleLinkedQueueEntrySentinel); |
| 1875 // ********** Code for _DoubleLinkedQueueEntrySentinel$KeyValuePair$K$V ********
****** | 1894 // ********** Code for _DoubleLinkedQueueEntrySentinel$KeyValuePair$K$V ********
****** |
| 1876 function _DoubleLinkedQueueEntrySentinel$KeyValuePair$K$V() { | 1895 function _DoubleLinkedQueueEntrySentinel$KeyValuePair$K$V() { |
| 1877 // Initializers done | 1896 // Initializers done |
| 1878 DoubleLinkedQueueEntry$E.call(this, null); | 1897 DoubleLinkedQueueEntry$KeyValuePair$K$V.call(this, null); |
| 1879 this._link(this, this); | 1898 this._link(this, this); |
| 1880 } | 1899 } |
| 1881 $inherits(_DoubleLinkedQueueEntrySentinel$KeyValuePair$K$V, _DoubleLinkedQueueEn
trySentinel); | 1900 $inherits(_DoubleLinkedQueueEntrySentinel$KeyValuePair$K$V, _DoubleLinkedQueueEn
trySentinel); |
| 1882 // ********** Code for DoubleLinkedQueue ************** | 1901 // ********** Code for DoubleLinkedQueue ************** |
| 1883 function DoubleLinkedQueue() { | 1902 function DoubleLinkedQueue() { |
| 1884 // Initializers done | 1903 // Initializers done |
| 1885 this._sentinel = new _DoubleLinkedQueueEntrySentinel$E(); | 1904 this._sentinel = new _DoubleLinkedQueueEntrySentinel$E(); |
| 1886 } | 1905 } |
| 1887 DoubleLinkedQueue.prototype.is$Collection$E = function(){return this;}; | 1906 DoubleLinkedQueue.prototype.is$Collection$E = function(){return this;}; |
| 1888 DoubleLinkedQueue.prototype.is$Collection$Object = function(){return this;}; | 1907 DoubleLinkedQueue.prototype.is$Collection$Object = function(){return this;}; |
| (...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2119 } | 2138 } |
| 2120 return this; | 2139 return this; |
| 2121 } | 2140 } |
| 2122 StringBufferImpl.prototype.clear = function() { | 2141 StringBufferImpl.prototype.clear = function() { |
| 2123 this._buffer = new ListFactory(); | 2142 this._buffer = new ListFactory(); |
| 2124 this._length = 0; | 2143 this._length = 0; |
| 2125 return this; | 2144 return this; |
| 2126 } | 2145 } |
| 2127 StringBufferImpl.prototype.toString = function() { | 2146 StringBufferImpl.prototype.toString = function() { |
| 2128 if (this._buffer.length == 0) return ""; | 2147 if (this._buffer.length == 0) return ""; |
| 2129 if (this._buffer.length == 1) return $assert_String(this._buffer.$index(0)); | 2148 if ($notnull_bool($eq(this._buffer.length, 1))) return $assert_String(this._bu
ffer.$index(0)); |
| 2130 var result = StringBase.concatAll(this._buffer); | 2149 var result = StringBase.concatAll(this._buffer); |
| 2131 this._buffer.clear(); | 2150 this._buffer.clear(); |
| 2132 this._buffer.add(result); | 2151 this._buffer.add(result); |
| 2133 return result; | 2152 return result; |
| 2134 } | 2153 } |
| 2135 StringBufferImpl.prototype.add$1 = StringBufferImpl.prototype.add; | 2154 StringBufferImpl.prototype.add$1 = StringBufferImpl.prototype.add; |
| 2136 StringBufferImpl.prototype.addAll$1 = function($0) { | 2155 StringBufferImpl.prototype.addAll$1 = function($0) { |
| 2137 return this.addAll(($0 && $0.is$Collection$Object())); | 2156 return this.addAll(($0 && $0.is$Collection$Object())); |
| 2138 }; | 2157 }; |
| 2139 StringBufferImpl.prototype.isEmpty$0 = function() { | 2158 StringBufferImpl.prototype.isEmpty$0 = function() { |
| 2140 return this.isEmpty(); | 2159 return this.isEmpty(); |
| 2141 }; | 2160 }; |
| 2142 StringBufferImpl.prototype.toString$0 = function() { | 2161 StringBufferImpl.prototype.toString$0 = function() { |
| 2143 return this.toString(); | 2162 return this.toString(); |
| 2144 }; | 2163 }; |
| 2145 // ********** Code for StringBase ************** | 2164 // ********** Code for StringBase ************** |
| 2146 function StringBase() {} | 2165 function StringBase() {} |
| 2147 StringBase.createFromCharCodes = function(charCodes) { | 2166 StringBase.createFromCharCodes = function(charCodes) { |
| 2148 if (Object.getPrototypeOf(charCodes) !== Array.prototype) { | 2167 if (Object.getPrototypeOf(charCodes) !== Array.prototype) { |
| 2149 var length = charCodes.length; | 2168 var length = charCodes.length; |
| 2150 var tmp = new Array(length); | 2169 var tmp = new Array(length); |
| 2151 for (var i = 0; i < length; i++) { | 2170 for (var i = 0; i < length; i++) { |
| 2152 tmp[i] = charCodes.$index(i); | 2171 tmp[i] = charCodes.$index(i); |
| 2153 } | 2172 } |
| 2154 charCodes = tmp; | 2173 charCodes = tmp; |
| 2155 } | 2174 } |
| 2156 return String.fromCharCode.apply(null, charCodes); | 2175 return String.fromCharCode.apply(null, charCodes); |
| 2157 } | 2176 } |
| 2158 StringBase.join = function(strings, separator) { | 2177 StringBase.join = function(strings, separator) { |
| 2159 if (strings.length == 0) return ''; | 2178 if ($notnull_bool($eq(strings.length, 0))) return ''; |
| 2160 var s = $assert_String(strings.$index(0)); | 2179 var s = $assert_String(strings.$index(0)); |
| 2161 for (var i = 1; | 2180 for (var i = 1; |
| 2162 i < strings.length; i++) { | 2181 i < $assert_num(strings.length); i++) { |
| 2163 s = s + separator + strings.$index(i); | 2182 s = s + separator + strings.$index(i); |
| 2164 } | 2183 } |
| 2165 return s; | 2184 return s; |
| 2166 } | 2185 } |
| 2167 StringBase.concatAll = function(strings) { | 2186 StringBase.concatAll = function(strings) { |
| 2168 return StringBase.join(strings, ""); | 2187 return StringBase.join(strings, ""); |
| 2169 } | 2188 } |
| 2170 // ********** Code for StringImplementation ************** | 2189 // ********** Code for StringImplementation ************** |
| 2171 StringImplementation = String; | 2190 StringImplementation = String; |
| 2172 StringImplementation.prototype.is$Pattern = function(){return this;}; | 2191 StringImplementation.prototype.is$Pattern = function(){return this;}; |
| (...skipping 385 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2558 LinkTail.prototype.isEmpty = function() { | 2577 LinkTail.prototype.isEmpty = function() { |
| 2559 return true; | 2578 return true; |
| 2560 } | 2579 } |
| 2561 LinkTail.prototype.isEmpty$0 = function() { | 2580 LinkTail.prototype.isEmpty$0 = function() { |
| 2562 return this.isEmpty(); | 2581 return this.isEmpty(); |
| 2563 }; | 2582 }; |
| 2564 // ********** Code for LinkTail$Node ************** | 2583 // ********** Code for LinkTail$Node ************** |
| 2565 function LinkTail$Node() {} | 2584 function LinkTail$Node() {} |
| 2566 $inherits(LinkTail$Node, LinkTail); | 2585 $inherits(LinkTail$Node, LinkTail); |
| 2567 LinkTail$Node.prototype.is$Link = function(){return this;}; | 2586 LinkTail$Node.prototype.is$Link = function(){return this;}; |
| 2568 LinkTail$Node.prototype.is$Link$Element = function(){return this;}; | 2587 LinkTail$Node.prototype.is$Link$Element = false; |
| 2569 LinkTail$Node.prototype.is$Link$Node = function(){return this;}; | 2588 LinkTail$Node.prototype.is$Link$Node = function(){return this;}; |
| 2570 LinkTail$Node.prototype.is$Link$T = function(){return this;}; | 2589 LinkTail$Node.prototype.is$Link$T = function(){return this;}; |
| 2571 LinkTail$Node.prototype.is$Link$Token = function(){return this;}; | 2590 LinkTail$Node.prototype.is$Link$Token = false; |
| 2572 LinkTail$Node.prototype.is$Link$Type = function(){return this;}; | 2591 LinkTail$Node.prototype.is$Link$Type = false; |
| 2573 LinkTail$Node.prototype.is$Iterable = function(){return this;}; | 2592 LinkTail$Node.prototype.is$Iterable = function(){return this;}; |
| 2574 // ********** Code for LinkTail$T ************** | 2593 // ********** Code for LinkTail$T ************** |
| 2575 function LinkTail$T() {} | 2594 function LinkTail$T() {} |
| 2576 $inherits(LinkTail$T, LinkTail); | 2595 $inherits(LinkTail$T, LinkTail); |
| 2577 LinkTail$T.prototype.is$Link = function(){return this;}; | 2596 LinkTail$T.prototype.is$Link = function(){return this;}; |
| 2578 LinkTail$T.prototype.is$Link$Element = function(){return this;}; | 2597 LinkTail$T.prototype.is$Link$Element = function(){return this;}; |
| 2579 LinkTail$T.prototype.is$Link$Node = function(){return this;}; | 2598 LinkTail$T.prototype.is$Link$Node = function(){return this;}; |
| 2580 LinkTail$T.prototype.is$Link$T = function(){return this;}; | 2599 LinkTail$T.prototype.is$Link$T = function(){return this;}; |
| 2581 LinkTail$T.prototype.is$Link$Token = function(){return this;}; | 2600 LinkTail$T.prototype.is$Link$Token = function(){return this;}; |
| 2582 LinkTail$T.prototype.is$Link$Type = function(){return this;}; | 2601 LinkTail$T.prototype.is$Link$Type = function(){return this;}; |
| 2583 LinkTail$T.prototype.is$Iterable = function(){return this;}; | 2602 LinkTail$T.prototype.is$Iterable = function(){return this;}; |
| 2584 // ********** Code for LinkTail$Type ************** | 2603 // ********** Code for LinkTail$Type ************** |
| 2585 function LinkTail$Type() {} | 2604 function LinkTail$Type() {} |
| 2586 $inherits(LinkTail$Type, LinkTail); | 2605 $inherits(LinkTail$Type, LinkTail); |
| 2587 LinkTail$Type.prototype.is$Link = function(){return this;}; | 2606 LinkTail$Type.prototype.is$Link = function(){return this;}; |
| 2588 LinkTail$Type.prototype.is$Link$Element = function(){return this;}; | 2607 LinkTail$Type.prototype.is$Link$Element = false; |
| 2589 LinkTail$Type.prototype.is$Link$Node = function(){return this;}; | 2608 LinkTail$Type.prototype.is$Link$Node = false; |
| 2590 LinkTail$Type.prototype.is$Link$T = function(){return this;}; | 2609 LinkTail$Type.prototype.is$Link$T = function(){return this;}; |
| 2591 LinkTail$Type.prototype.is$Link$Token = function(){return this;}; | 2610 LinkTail$Type.prototype.is$Link$Token = false; |
| 2592 LinkTail$Type.prototype.is$Link$Type = function(){return this;}; | 2611 LinkTail$Type.prototype.is$Link$Type = function(){return this;}; |
| 2593 LinkTail$Type.prototype.is$Iterable = function(){return this;}; | 2612 LinkTail$Type.prototype.is$Iterable = function(){return this;}; |
| 2594 // ********** Code for LinkEntry ************** | 2613 // ********** Code for LinkEntry ************** |
| 2595 function LinkEntry(head, realTail) { | 2614 function LinkEntry(head, realTail) { |
| 2596 this.head = head; | 2615 this.head = head; |
| 2597 this.realTail = realTail; | 2616 this.realTail = realTail; |
| 2598 // Initializers done | 2617 // Initializers done |
| 2599 AbstractLink$T.call(this); | 2618 AbstractLink$T.call(this); |
| 2600 } | 2619 } |
| 2601 $inherits(LinkEntry, AbstractLink$T); | 2620 $inherits(LinkEntry, AbstractLink$T); |
| (...skipping 179 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2781 } | 2800 } |
| 2782 } | 2801 } |
| 2783 // ********** Code for ArrayBasedScanner$SourceString ************** | 2802 // ********** Code for ArrayBasedScanner$SourceString ************** |
| 2784 function ArrayBasedScanner$SourceString() { | 2803 function ArrayBasedScanner$SourceString() { |
| 2785 this.groupingStack = const$14/*const EmptyLink()*/ | 2804 this.groupingStack = const$14/*const EmptyLink()*/ |
| 2786 this.extraCharOffset = 0; | 2805 this.extraCharOffset = 0; |
| 2787 this.tokenStart = -1; | 2806 this.tokenStart = -1; |
| 2788 this.byteOffset = -1; | 2807 this.byteOffset = -1; |
| 2789 this.tokens = new Token(0/*null.EOF_TOKEN*/, -1); | 2808 this.tokens = new Token(0/*null.EOF_TOKEN*/, -1); |
| 2790 // Initializers done | 2809 // Initializers done |
| 2791 AbstractScanner$S.call(this); | 2810 AbstractScanner$SourceString.call(this); |
| 2792 this.tail = this.tokens; | 2811 this.tail = this.tokens; |
| 2793 } | 2812 } |
| 2794 $inherits(ArrayBasedScanner$SourceString, ArrayBasedScanner); | 2813 $inherits(ArrayBasedScanner$SourceString, ArrayBasedScanner); |
| 2795 // ********** Code for top level ************** | 2814 // ********** Code for top level ************** |
| 2796 // ********** Library scanner ************** | 2815 // ********** Library scanner ************** |
| 2797 // ********** Code for AbstractScanner ************** | 2816 // ********** Code for AbstractScanner ************** |
| 2798 function AbstractScanner() { | 2817 function AbstractScanner() { |
| 2799 // Initializers done | 2818 // Initializers done |
| 2800 } | 2819 } |
| 2801 AbstractScanner.prototype.tokenize = function() { | 2820 AbstractScanner.prototype.tokenize = function() { |
| (...skipping 573 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3375 next = this.advance(); | 3394 next = this.advance(); |
| 3376 } | 3395 } |
| 3377 return next; | 3396 return next; |
| 3378 } | 3397 } |
| 3379 AbstractScanner.prototype.appendByteStringToken$2 = AbstractScanner.prototype.ap
pendByteStringToken; | 3398 AbstractScanner.prototype.appendByteStringToken$2 = AbstractScanner.prototype.ap
pendByteStringToken; |
| 3380 // ********** Code for AbstractScanner$S ************** | 3399 // ********** Code for AbstractScanner$S ************** |
| 3381 function AbstractScanner$S() { | 3400 function AbstractScanner$S() { |
| 3382 // Initializers done | 3401 // Initializers done |
| 3383 } | 3402 } |
| 3384 $inherits(AbstractScanner$S, AbstractScanner); | 3403 $inherits(AbstractScanner$S, AbstractScanner); |
| 3385 AbstractScanner$S.prototype.tokenize = function() { | 3404 // ********** Code for AbstractScanner$SourceString ************** |
| 3405 function AbstractScanner$SourceString() { |
| 3406 // Initializers done |
| 3407 } |
| 3408 $inherits(AbstractScanner$SourceString, AbstractScanner); |
| 3409 AbstractScanner$SourceString.prototype.tokenize = function() { |
| 3386 var next = this.advance(); | 3410 var next = this.advance(); |
| 3387 while (next != -1) { | 3411 while (next != -1) { |
| 3388 next = this.bigSwitch(next); | 3412 next = this.bigSwitch(next); |
| 3389 } | 3413 } |
| 3390 this.appendEofToken(); | 3414 this.appendEofToken(); |
| 3391 return this.firstToken(); | 3415 return this.firstToken(); |
| 3392 } | 3416 } |
| 3393 AbstractScanner$S.prototype.bigSwitch = function(next) { | 3417 AbstractScanner$SourceString.prototype.bigSwitch = function(next) { |
| 3394 this.beginToken(); | 3418 this.beginToken(); |
| 3395 if (next === 9/*null.$TAB*/ || next === 10/*null.$LF*/ || next === 13/*null.$C
R*/ || next === 32/*null.$SPACE*/) { | 3419 if (next === 9/*null.$TAB*/ || next === 10/*null.$LF*/ || next === 13/*null.$C
R*/ || next === 32/*null.$SPACE*/) { |
| 3396 this.appendWhiteSpace(next); | 3420 this.appendWhiteSpace(next); |
| 3397 return this.advance(); | 3421 return this.advance(); |
| 3398 } | 3422 } |
| 3399 if (97/*null.$a*/ <= next && next <= 122/*null.$z*/) { | 3423 if (97/*null.$a*/ <= next && next <= 122/*null.$z*/) { |
| 3400 return this.tokenizeKeywordOrIdentifier(next); | 3424 return this.tokenizeKeywordOrIdentifier(next); |
| 3401 } | 3425 } |
| 3402 if ((65/*null.$A*/ <= next && next <= 90/*null.$Z*/) || next === 95/*null.$_*/
|| next === 36/*null.$DOLLAR*/) { | 3426 if ((65/*null.$A*/ <= next && next <= 90/*null.$Z*/) || next === 95/*null.$_*/
|| next === 36/*null.$DOLLAR*/) { |
| 3403 return this.tokenizeIdentifier(next, this.get$byteOffset()); | 3427 return this.tokenizeIdentifier(next, this.get$byteOffset()); |
| (...skipping 103 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3507 return this.tokenizeNumber(next); | 3531 return this.tokenizeNumber(next); |
| 3508 } | 3532 } |
| 3509 if (next === -1) { | 3533 if (next === -1) { |
| 3510 return -1; | 3534 return -1; |
| 3511 } | 3535 } |
| 3512 if (next < 0x1f) { | 3536 if (next < 0x1f) { |
| 3513 $throw(new MalformedInputException(this.get$charOffset())); | 3537 $throw(new MalformedInputException(this.get$charOffset())); |
| 3514 } | 3538 } |
| 3515 return this.tokenizeIdentifier(next, this.get$byteOffset()); | 3539 return this.tokenizeIdentifier(next, this.get$byteOffset()); |
| 3516 } | 3540 } |
| 3517 AbstractScanner$S.prototype.tokenizeTag = function(next) { | 3541 AbstractScanner$SourceString.prototype.tokenizeTag = function(next) { |
| 3518 if (this.get$byteOffset() === 0) { | 3542 if (this.get$byteOffset() === 0) { |
| 3519 if (this.peek() === 33/*null.$BANG*/) { | 3543 if (this.peek() === 33/*null.$BANG*/) { |
| 3520 do { | 3544 do { |
| 3521 next = this.advance(); | 3545 next = this.advance(); |
| 3522 } | 3546 } |
| 3523 while (next != 10/*null.$LF*/ && next != 13/*null.$CR*/) | 3547 while (next != 10/*null.$LF*/ && next != 13/*null.$CR*/) |
| 3524 return next; | 3548 return next; |
| 3525 } | 3549 } |
| 3526 } | 3550 } |
| 3527 this.appendStringToken(35/*null.HASH_TOKEN*/, "#"); | 3551 this.appendStringToken(35/*null.HASH_TOKEN*/, "#"); |
| 3528 return this.advance(); | 3552 return this.advance(); |
| 3529 } | 3553 } |
| 3530 AbstractScanner$S.prototype.tokenizeTilde = function(next) { | 3554 AbstractScanner$SourceString.prototype.tokenizeTilde = function(next) { |
| 3531 next = this.advance(); | 3555 next = this.advance(); |
| 3532 if (next === 47/*null.$SLASH*/) { | 3556 if (next === 47/*null.$SLASH*/) { |
| 3533 return this.select(61/*null.$EQ*/, "~/=", "~/"); | 3557 return this.select(61/*null.$EQ*/, "~/=", "~/"); |
| 3534 } | 3558 } |
| 3535 else { | 3559 else { |
| 3536 this.appendStringToken(126/*null.TILDE_TOKEN*/, "~"); | 3560 this.appendStringToken(126/*null.TILDE_TOKEN*/, "~"); |
| 3537 return next; | 3561 return next; |
| 3538 } | 3562 } |
| 3539 } | 3563 } |
| 3540 AbstractScanner$S.prototype.tokenizeOpenBracket = function(next) { | 3564 AbstractScanner$SourceString.prototype.tokenizeOpenBracket = function(next) { |
| 3541 next = this.advance(); | 3565 next = this.advance(); |
| 3542 if (next === 93/*null.$RBRACKET*/) { | 3566 if (next === 93/*null.$RBRACKET*/) { |
| 3543 return this.select(61/*null.$EQ*/, "[]=", "[]"); | 3567 return this.select(61/*null.$EQ*/, "[]=", "[]"); |
| 3544 } | 3568 } |
| 3545 else { | 3569 else { |
| 3546 this.appendBeginGroup(91/*null.LBRACKET_TOKEN*/, "["); | 3570 this.appendBeginGroup(91/*null.LBRACKET_TOKEN*/, "["); |
| 3547 return next; | 3571 return next; |
| 3548 } | 3572 } |
| 3549 } | 3573 } |
| 3550 AbstractScanner$S.prototype.tokenizeCaret = function(next) { | 3574 AbstractScanner$SourceString.prototype.tokenizeCaret = function(next) { |
| 3551 return this.select(61/*null.$EQ*/, "^=", "^"); | 3575 return this.select(61/*null.$EQ*/, "^=", "^"); |
| 3552 } | 3576 } |
| 3553 AbstractScanner$S.prototype.tokenizeBar = function(next) { | 3577 AbstractScanner$SourceString.prototype.tokenizeBar = function(next) { |
| 3554 next = this.advance(); | 3578 next = this.advance(); |
| 3555 if (next === 124/*null.$BAR*/) { | 3579 if (next === 124/*null.$BAR*/) { |
| 3556 this.appendStringToken(124/*null.BAR_TOKEN*/, "||"); | 3580 this.appendStringToken(124/*null.BAR_TOKEN*/, "||"); |
| 3557 return this.advance(); | 3581 return this.advance(); |
| 3558 } | 3582 } |
| 3559 else if (next === 61/*null.$EQ*/) { | 3583 else if (next === 61/*null.$EQ*/) { |
| 3560 this.appendStringToken(124/*null.BAR_TOKEN*/, "|="); | 3584 this.appendStringToken(124/*null.BAR_TOKEN*/, "|="); |
| 3561 return this.advance(); | 3585 return this.advance(); |
| 3562 } | 3586 } |
| 3563 else { | 3587 else { |
| 3564 this.appendStringToken(124/*null.BAR_TOKEN*/, "|"); | 3588 this.appendStringToken(124/*null.BAR_TOKEN*/, "|"); |
| 3565 return next; | 3589 return next; |
| 3566 } | 3590 } |
| 3567 } | 3591 } |
| 3568 AbstractScanner$S.prototype.tokenizeAmpersand = function(next) { | 3592 AbstractScanner$SourceString.prototype.tokenizeAmpersand = function(next) { |
| 3569 next = this.advance(); | 3593 next = this.advance(); |
| 3570 if (next === 38/*null.$AMPERSAND*/) { | 3594 if (next === 38/*null.$AMPERSAND*/) { |
| 3571 this.appendStringToken(38/*null.AMPERSAND_TOKEN*/, "&&"); | 3595 this.appendStringToken(38/*null.AMPERSAND_TOKEN*/, "&&"); |
| 3572 return this.advance(); | 3596 return this.advance(); |
| 3573 } | 3597 } |
| 3574 else if (next === 61/*null.$EQ*/) { | 3598 else if (next === 61/*null.$EQ*/) { |
| 3575 this.appendStringToken(38/*null.AMPERSAND_TOKEN*/, "&="); | 3599 this.appendStringToken(38/*null.AMPERSAND_TOKEN*/, "&="); |
| 3576 return this.advance(); | 3600 return this.advance(); |
| 3577 } | 3601 } |
| 3578 else { | 3602 else { |
| 3579 this.appendStringToken(38/*null.AMPERSAND_TOKEN*/, "&"); | 3603 this.appendStringToken(38/*null.AMPERSAND_TOKEN*/, "&"); |
| 3580 return next; | 3604 return next; |
| 3581 } | 3605 } |
| 3582 } | 3606 } |
| 3583 AbstractScanner$S.prototype.tokenizePercent = function(next) { | 3607 AbstractScanner$SourceString.prototype.tokenizePercent = function(next) { |
| 3584 return this.select(61/*null.$EQ*/, "%=", "%"); | 3608 return this.select(61/*null.$EQ*/, "%=", "%"); |
| 3585 } | 3609 } |
| 3586 AbstractScanner$S.prototype.tokenizeMultiply = function(next) { | 3610 AbstractScanner$SourceString.prototype.tokenizeMultiply = function(next) { |
| 3587 return this.select(61/*null.$EQ*/, "*=", "*"); | 3611 return this.select(61/*null.$EQ*/, "*=", "*"); |
| 3588 } | 3612 } |
| 3589 AbstractScanner$S.prototype.tokenizeMinus = function(next) { | 3613 AbstractScanner$SourceString.prototype.tokenizeMinus = function(next) { |
| 3590 next = this.advance(); | 3614 next = this.advance(); |
| 3591 if (next === 45/*null.$MINUS*/) { | 3615 if (next === 45/*null.$MINUS*/) { |
| 3592 this.appendStringToken(45/*null.MINUS_TOKEN*/, "--"); | 3616 this.appendStringToken(45/*null.MINUS_TOKEN*/, "--"); |
| 3593 return this.advance(); | 3617 return this.advance(); |
| 3594 } | 3618 } |
| 3595 else if (next === 61/*null.$EQ*/) { | 3619 else if (next === 61/*null.$EQ*/) { |
| 3596 this.appendStringToken(45/*null.MINUS_TOKEN*/, "-="); | 3620 this.appendStringToken(45/*null.MINUS_TOKEN*/, "-="); |
| 3597 return this.advance(); | 3621 return this.advance(); |
| 3598 } | 3622 } |
| 3599 else { | 3623 else { |
| 3600 this.appendStringToken(45/*null.MINUS_TOKEN*/, "-"); | 3624 this.appendStringToken(45/*null.MINUS_TOKEN*/, "-"); |
| 3601 return next; | 3625 return next; |
| 3602 } | 3626 } |
| 3603 } | 3627 } |
| 3604 AbstractScanner$S.prototype.tokenizePlus = function(next) { | 3628 AbstractScanner$SourceString.prototype.tokenizePlus = function(next) { |
| 3605 next = this.advance(); | 3629 next = this.advance(); |
| 3606 if (43/*null.$PLUS*/ === next) { | 3630 if (43/*null.$PLUS*/ === next) { |
| 3607 this.appendStringToken(43/*null.PLUS_TOKEN*/, "++"); | 3631 this.appendStringToken(43/*null.PLUS_TOKEN*/, "++"); |
| 3608 return this.advance(); | 3632 return this.advance(); |
| 3609 } | 3633 } |
| 3610 else if (61/*null.$EQ*/ === next) { | 3634 else if (61/*null.$EQ*/ === next) { |
| 3611 this.appendStringToken(43/*null.PLUS_TOKEN*/, "+="); | 3635 this.appendStringToken(43/*null.PLUS_TOKEN*/, "+="); |
| 3612 return this.advance(); | 3636 return this.advance(); |
| 3613 } | 3637 } |
| 3614 else { | 3638 else { |
| 3615 this.appendStringToken(43/*null.PLUS_TOKEN*/, "+"); | 3639 this.appendStringToken(43/*null.PLUS_TOKEN*/, "+"); |
| 3616 return next; | 3640 return next; |
| 3617 } | 3641 } |
| 3618 } | 3642 } |
| 3619 AbstractScanner$S.prototype.tokenizeExclamation = function(next) { | 3643 AbstractScanner$SourceString.prototype.tokenizeExclamation = function(next) { |
| 3620 next = this.advance(); | 3644 next = this.advance(); |
| 3621 if (next === 61/*null.$EQ*/) { | 3645 if (next === 61/*null.$EQ*/) { |
| 3622 return this.select(61/*null.$EQ*/, "!==", "!="); | 3646 return this.select(61/*null.$EQ*/, "!==", "!="); |
| 3623 } | 3647 } |
| 3624 this.appendStringToken(33/*null.BANG_TOKEN*/, "!"); | 3648 this.appendStringToken(33/*null.BANG_TOKEN*/, "!"); |
| 3625 return next; | 3649 return next; |
| 3626 } | 3650 } |
| 3627 AbstractScanner$S.prototype.tokenizeEquals = function(next) { | 3651 AbstractScanner$SourceString.prototype.tokenizeEquals = function(next) { |
| 3628 next = this.advance(); | 3652 next = this.advance(); |
| 3629 if (next === 61/*null.$EQ*/) { | 3653 if (next === 61/*null.$EQ*/) { |
| 3630 return this.select(61/*null.$EQ*/, "===", "=="); | 3654 return this.select(61/*null.$EQ*/, "===", "=="); |
| 3631 } | 3655 } |
| 3632 this.appendStringToken(61/*null.EQ_TOKEN*/, "="); | 3656 this.appendStringToken(61/*null.EQ_TOKEN*/, "="); |
| 3633 return next; | 3657 return next; |
| 3634 } | 3658 } |
| 3635 AbstractScanner$S.prototype.tokenizeGreaterThan = function(next) { | 3659 AbstractScanner$SourceString.prototype.tokenizeGreaterThan = function(next) { |
| 3636 next = this.advance(); | 3660 next = this.advance(); |
| 3637 if (61/*null.$EQ*/ === next) { | 3661 if (61/*null.$EQ*/ === next) { |
| 3638 this.appendStringToken(62/*null.GT_TOKEN*/, ">="); | 3662 this.appendStringToken(62/*null.GT_TOKEN*/, ">="); |
| 3639 return this.advance(); | 3663 return this.advance(); |
| 3640 } | 3664 } |
| 3641 else if (62/*null.$GT*/ === next) { | 3665 else if (62/*null.$GT*/ === next) { |
| 3642 next = this.advance(); | 3666 next = this.advance(); |
| 3643 if (61/*null.$EQ*/ === next) { | 3667 if (61/*null.$EQ*/ === next) { |
| 3644 this.appendStringToken(62/*null.GT_TOKEN*/, ">>="); | 3668 this.appendStringToken(62/*null.GT_TOKEN*/, ">>="); |
| 3645 return this.advance(); | 3669 return this.advance(); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 3658 else { | 3682 else { |
| 3659 this.appendGtGt(62/*null.GT_TOKEN*/, ">>"); | 3683 this.appendGtGt(62/*null.GT_TOKEN*/, ">>"); |
| 3660 return next; | 3684 return next; |
| 3661 } | 3685 } |
| 3662 } | 3686 } |
| 3663 else { | 3687 else { |
| 3664 this.appendEndGroup(62/*null.GT_TOKEN*/, ">", 60/*null.LT_TOKEN*/); | 3688 this.appendEndGroup(62/*null.GT_TOKEN*/, ">", 60/*null.LT_TOKEN*/); |
| 3665 return next; | 3689 return next; |
| 3666 } | 3690 } |
| 3667 } | 3691 } |
| 3668 AbstractScanner$S.prototype.tokenizeLessThan = function(next) { | 3692 AbstractScanner$SourceString.prototype.tokenizeLessThan = function(next) { |
| 3669 next = this.advance(); | 3693 next = this.advance(); |
| 3670 if (61/*null.$EQ*/ === next) { | 3694 if (61/*null.$EQ*/ === next) { |
| 3671 this.appendStringToken(188/*null.LT_EQ_TOKEN*/, "<="); | 3695 this.appendStringToken(188/*null.LT_EQ_TOKEN*/, "<="); |
| 3672 return this.advance(); | 3696 return this.advance(); |
| 3673 } | 3697 } |
| 3674 else if (60/*null.$LT*/ === next) { | 3698 else if (60/*null.$LT*/ === next) { |
| 3675 return this.select(61/*null.$EQ*/, "<<=", "<<"); | 3699 return this.select(61/*null.$EQ*/, "<<=", "<<"); |
| 3676 } | 3700 } |
| 3677 else { | 3701 else { |
| 3678 this.appendBeginGroup(60/*null.LT_TOKEN*/, "<"); | 3702 this.appendBeginGroup(60/*null.LT_TOKEN*/, "<"); |
| 3679 return next; | 3703 return next; |
| 3680 } | 3704 } |
| 3681 } | 3705 } |
| 3682 AbstractScanner$S.prototype.tokenizeNumber = function(next) { | 3706 AbstractScanner$SourceString.prototype.tokenizeNumber = function(next) { |
| 3683 var $0; | |
| 3684 var start = this.get$byteOffset(); | 3707 var start = this.get$byteOffset(); |
| 3685 while (true) { | 3708 while (true) { |
| 3686 next = this.advance(); | 3709 next = this.advance(); |
| 3687 if (48/*null.$0*/ <= next && next <= 57/*null.$9*/) { | 3710 if (48/*null.$0*/ <= next && next <= 57/*null.$9*/) { |
| 3688 continue; | 3711 continue; |
| 3689 } | 3712 } |
| 3690 else if (next === 46/*null.$PERIOD*/) { | 3713 else if (next === 46/*null.$PERIOD*/) { |
| 3691 return this.tokenizeFractionPart(this.advance(), start); | 3714 return this.tokenizeFractionPart(this.advance(), start); |
| 3692 } | 3715 } |
| 3693 else if (next === 101/*null.$e*/ || next === 69/*null.$E*/ || next === 100/*
null.$d*/ || next === 68/*null.$D*/) { | 3716 else if (next === 101/*null.$e*/ || next === 69/*null.$E*/ || next === 100/*
null.$d*/ || next === 68/*null.$D*/) { |
| 3694 return this.tokenizeFractionPart(next, start); | 3717 return this.tokenizeFractionPart(next, start); |
| 3695 } | 3718 } |
| 3696 else { | 3719 else { |
| 3697 this.appendByteStringToken$2(105/*null.INT_TOKEN*/, this.asciiString(start
)); | 3720 this.appendByteStringToken(105/*null.INT_TOKEN*/, this.asciiString(start))
; |
| 3698 return next; | 3721 return next; |
| 3699 } | 3722 } |
| 3700 } | 3723 } |
| 3701 } | 3724 } |
| 3702 AbstractScanner$S.prototype.tokenizeHexOrNumber = function(next) { | 3725 AbstractScanner$SourceString.prototype.tokenizeHexOrNumber = function(next) { |
| 3703 var x = this.peek(); | 3726 var x = this.peek(); |
| 3704 if (x === 120/*null.$x*/ || x === 88/*null.$X*/) { | 3727 if (x === 120/*null.$x*/ || x === 88/*null.$X*/) { |
| 3705 this.advance(); | 3728 this.advance(); |
| 3706 return this.tokenizeHex(x); | 3729 return this.tokenizeHex(x); |
| 3707 } | 3730 } |
| 3708 return this.tokenizeNumber(next); | 3731 return this.tokenizeNumber(next); |
| 3709 } | 3732 } |
| 3710 AbstractScanner$S.prototype.tokenizeHex = function(next) { | 3733 AbstractScanner$SourceString.prototype.tokenizeHex = function(next) { |
| 3711 var $0; | |
| 3712 var start = this.get$byteOffset(); | 3734 var start = this.get$byteOffset(); |
| 3713 var hasDigits = false; | 3735 var hasDigits = false; |
| 3714 while (true) { | 3736 while (true) { |
| 3715 next = this.advance(); | 3737 next = this.advance(); |
| 3716 if ((48/*null.$0*/ <= next && next <= 57/*null.$9*/) || (65/*null.$A*/ <= ne
xt && next <= 70/*null.$F*/) || (97/*null.$a*/ <= next && next <= 102/*null.$f*/
)) { | 3738 if ((48/*null.$0*/ <= next && next <= 57/*null.$9*/) || (65/*null.$A*/ <= ne
xt && next <= 70/*null.$F*/) || (97/*null.$a*/ <= next && next <= 102/*null.$f*/
)) { |
| 3717 hasDigits = true; | 3739 hasDigits = true; |
| 3718 } | 3740 } |
| 3719 else { | 3741 else { |
| 3720 if (!$notnull_bool(hasDigits)) { | 3742 if (!$notnull_bool(hasDigits)) { |
| 3721 $throw(new MalformedInputException(this.get$charOffset())); | 3743 $throw(new MalformedInputException(this.get$charOffset())); |
| 3722 } | 3744 } |
| 3723 this.appendByteStringToken$2(120/*null.HEXADECIMAL_TOKEN*/, this.asciiStri
ng(start)); | 3745 this.appendByteStringToken(120/*null.HEXADECIMAL_TOKEN*/, this.asciiString
(start)); |
| 3724 return next; | 3746 return next; |
| 3725 } | 3747 } |
| 3726 } | 3748 } |
| 3727 } | 3749 } |
| 3728 AbstractScanner$S.prototype.tokenizeDotOrNumber = function(next) { | 3750 AbstractScanner$SourceString.prototype.tokenizeDotOrNumber = function(next) { |
| 3729 var start = this.get$byteOffset(); | 3751 var start = this.get$byteOffset(); |
| 3730 next = this.advance(); | 3752 next = this.advance(); |
| 3731 if ((48/*null.$0*/ <= next && next <= 57/*null.$9*/)) { | 3753 if ((48/*null.$0*/ <= next && next <= 57/*null.$9*/)) { |
| 3732 return this.tokenizeFractionPart(next, start); | 3754 return this.tokenizeFractionPart(next, start); |
| 3733 } | 3755 } |
| 3734 else if (46/*null.$PERIOD*/ === next) { | 3756 else if (46/*null.$PERIOD*/ === next) { |
| 3735 return this.select(46/*null.$PERIOD*/, "...", ".."); | 3757 return this.select(46/*null.$PERIOD*/, "...", ".."); |
| 3736 } | 3758 } |
| 3737 else { | 3759 else { |
| 3738 this.appendStringToken(46/*null.PERIOD_TOKEN*/, "."); | 3760 this.appendStringToken(46/*null.PERIOD_TOKEN*/, "."); |
| 3739 return next; | 3761 return next; |
| 3740 } | 3762 } |
| 3741 } | 3763 } |
| 3742 AbstractScanner$S.prototype.tokenizeFractionPart = function(next, start) { | 3764 AbstractScanner$SourceString.prototype.tokenizeFractionPart = function(next, sta
rt) { |
| 3743 var $0; | |
| 3744 var done = false; | 3765 var done = false; |
| 3745 LOOP: | 3766 LOOP: |
| 3746 while (!$notnull_bool(done)) { | 3767 while (!$notnull_bool(done)) { |
| 3747 if (48/*null.$0*/ <= next && next <= 57/*null.$9*/) { | 3768 if (48/*null.$0*/ <= next && next <= 57/*null.$9*/) { |
| 3748 } | 3769 } |
| 3749 else if (101/*null.$e*/ === next || 69/*null.$E*/ === next) { | 3770 else if (101/*null.$e*/ === next || 69/*null.$E*/ === next) { |
| 3750 next = this.tokenizeExponent(this.advance()); | 3771 next = this.tokenizeExponent(this.advance()); |
| 3751 done = true; | 3772 done = true; |
| 3752 continue LOOP; | 3773 continue LOOP; |
| 3753 } | 3774 } |
| 3754 else { | 3775 else { |
| 3755 done = true; | 3776 done = true; |
| 3756 continue LOOP; | 3777 continue LOOP; |
| 3757 } | 3778 } |
| 3758 next = this.advance(); | 3779 next = this.advance(); |
| 3759 } | 3780 } |
| 3760 if (next === 100/*null.$d*/ || next === 68/*null.$D*/) { | 3781 if (next === 100/*null.$d*/ || next === 68/*null.$D*/) { |
| 3761 next = this.advance(); | 3782 next = this.advance(); |
| 3762 } | 3783 } |
| 3763 this.appendByteStringToken$2(100/*null.DOUBLE_TOKEN*/, this.asciiString(start)
); | 3784 this.appendByteStringToken(100/*null.DOUBLE_TOKEN*/, this.asciiString(start)); |
| 3764 return next; | 3785 return next; |
| 3765 } | 3786 } |
| 3766 AbstractScanner$S.prototype.tokenizeExponent = function(next) { | 3787 AbstractScanner$SourceString.prototype.tokenizeExponent = function(next) { |
| 3767 if (next === 43/*null.$PLUS*/ || next === 45/*null.$MINUS*/) { | 3788 if (next === 43/*null.$PLUS*/ || next === 45/*null.$MINUS*/) { |
| 3768 next = this.advance(); | 3789 next = this.advance(); |
| 3769 } | 3790 } |
| 3770 var hasDigits = false; | 3791 var hasDigits = false; |
| 3771 while (true) { | 3792 while (true) { |
| 3772 if (48/*null.$0*/ <= next && next <= 57/*null.$9*/) { | 3793 if (48/*null.$0*/ <= next && next <= 57/*null.$9*/) { |
| 3773 hasDigits = true; | 3794 hasDigits = true; |
| 3774 } | 3795 } |
| 3775 else { | 3796 else { |
| 3776 if (!$notnull_bool(hasDigits)) { | 3797 if (!$notnull_bool(hasDigits)) { |
| 3777 $throw(new MalformedInputException(this.get$charOffset())); | 3798 $throw(new MalformedInputException(this.get$charOffset())); |
| 3778 } | 3799 } |
| 3779 return next; | 3800 return next; |
| 3780 } | 3801 } |
| 3781 next = this.advance(); | 3802 next = this.advance(); |
| 3782 } | 3803 } |
| 3783 } | 3804 } |
| 3784 AbstractScanner$S.prototype.tokenizeSlashOrComment = function(next) { | 3805 AbstractScanner$SourceString.prototype.tokenizeSlashOrComment = function(next) { |
| 3785 next = this.advance(); | 3806 next = this.advance(); |
| 3786 if (42/*null.$STAR*/ === next) { | 3807 if (42/*null.$STAR*/ === next) { |
| 3787 return this.tokenizeMultiLineComment(next); | 3808 return this.tokenizeMultiLineComment(next); |
| 3788 } | 3809 } |
| 3789 else if (47/*null.$SLASH*/ === next) { | 3810 else if (47/*null.$SLASH*/ === next) { |
| 3790 return this.tokenizeSingleLineComment(next); | 3811 return this.tokenizeSingleLineComment(next); |
| 3791 } | 3812 } |
| 3792 else if (61/*null.$EQ*/ === next) { | 3813 else if (61/*null.$EQ*/ === next) { |
| 3793 this.appendStringToken(47/*null.SLASH_TOKEN*/, "/="); | 3814 this.appendStringToken(47/*null.SLASH_TOKEN*/, "/="); |
| 3794 return this.advance(); | 3815 return this.advance(); |
| 3795 } | 3816 } |
| 3796 else { | 3817 else { |
| 3797 this.appendStringToken(47/*null.SLASH_TOKEN*/, "/"); | 3818 this.appendStringToken(47/*null.SLASH_TOKEN*/, "/"); |
| 3798 return next; | 3819 return next; |
| 3799 } | 3820 } |
| 3800 } | 3821 } |
| 3801 AbstractScanner$S.prototype.tokenizeSingleLineComment = function(next) { | 3822 AbstractScanner$SourceString.prototype.tokenizeSingleLineComment = function(next
) { |
| 3802 while (true) { | 3823 while (true) { |
| 3803 next = this.advance(); | 3824 next = this.advance(); |
| 3804 if (10/*null.$LF*/ === next || 13/*null.$CR*/ === next || -1 === next) { | 3825 if (10/*null.$LF*/ === next || 13/*null.$CR*/ === next || -1 === next) { |
| 3805 return next; | 3826 return next; |
| 3806 } | 3827 } |
| 3807 } | 3828 } |
| 3808 } | 3829 } |
| 3809 AbstractScanner$S.prototype.tokenizeMultiLineComment = function(next) { | 3830 AbstractScanner$SourceString.prototype.tokenizeMultiLineComment = function(next)
{ |
| 3810 next = this.advance(); | 3831 next = this.advance(); |
| 3811 while (true) { | 3832 while (true) { |
| 3812 if (-1 === next) { | 3833 if (-1 === next) { |
| 3813 return next; | 3834 return next; |
| 3814 } | 3835 } |
| 3815 else if (42/*null.$STAR*/ === next) { | 3836 else if (42/*null.$STAR*/ === next) { |
| 3816 next = this.advance(); | 3837 next = this.advance(); |
| 3817 if (next === 47/*null.$SLASH*/) { | 3838 if (next === 47/*null.$SLASH*/) { |
| 3818 return this.advance(); | 3839 return this.advance(); |
| 3819 } | 3840 } |
| 3820 else if (next === -1) { | 3841 else if (next === -1) { |
| 3821 return next; | 3842 return next; |
| 3822 } | 3843 } |
| 3823 } | 3844 } |
| 3824 else { | 3845 else { |
| 3825 next = this.advance(); | 3846 next = this.advance(); |
| 3826 } | 3847 } |
| 3827 } | 3848 } |
| 3828 } | 3849 } |
| 3829 AbstractScanner$S.prototype.tokenizeKeywordOrIdentifier = function(next) { | 3850 AbstractScanner$SourceString.prototype.tokenizeKeywordOrIdentifier = function(ne
xt) { |
| 3830 var state = KeywordState.get$KEYWORD_STATE(); | 3851 var state = KeywordState.get$KEYWORD_STATE(); |
| 3831 var start = this.get$byteOffset(); | 3852 var start = this.get$byteOffset(); |
| 3832 while (state != null && 97/*null.$a*/ <= next && next <= 122/*null.$z*/) { | 3853 while (state != null && 97/*null.$a*/ <= next && next <= 122/*null.$z*/) { |
| 3833 state = state.next(next); | 3854 state = state.next(next); |
| 3834 next = this.advance(); | 3855 next = this.advance(); |
| 3835 } | 3856 } |
| 3836 if (state == null || !$notnull_bool(state.isLeaf())) { | 3857 if (state == null || !$notnull_bool(state.isLeaf())) { |
| 3837 return this.tokenizeIdentifier(next, start); | 3858 return this.tokenizeIdentifier(next, start); |
| 3838 } | 3859 } |
| 3839 if ((65/*null.$A*/ <= next && next <= 90/*null.$Z*/) || (48/*null.$0*/ <= next
&& next <= 57/*null.$9*/) || next === 95/*null.$_*/ || next === 36/*null.$DOLLA
R*/) { | 3860 if ((65/*null.$A*/ <= next && next <= 90/*null.$Z*/) || (48/*null.$0*/ <= next
&& next <= 57/*null.$9*/) || next === 95/*null.$_*/ || next === 36/*null.$DOLLA
R*/) { |
| 3840 return this.tokenizeIdentifier(next, start); | 3861 return this.tokenizeIdentifier(next, start); |
| 3841 } | 3862 } |
| 3842 else if (next < 128) { | 3863 else if (next < 128) { |
| 3843 this.appendKeywordToken(state.get$keyword()); | 3864 this.appendKeywordToken(state.get$keyword()); |
| 3844 return next; | 3865 return next; |
| 3845 } | 3866 } |
| 3846 else { | 3867 else { |
| 3847 return this.tokenizeIdentifier(next, start); | 3868 return this.tokenizeIdentifier(next, start); |
| 3848 } | 3869 } |
| 3849 } | 3870 } |
| 3850 AbstractScanner$S.prototype.tokenizeIdentifier = function(next, start) { | 3871 AbstractScanner$SourceString.prototype.tokenizeIdentifier = function(next, start
) { |
| 3851 var $0; | |
| 3852 var isAscii = true; | 3872 var isAscii = true; |
| 3853 while (true) { | 3873 while (true) { |
| 3854 if ((97/*null.$a*/ <= next && next <= 122/*null.$z*/) || (65/*null.$A*/ <= n
ext && next <= 90/*null.$Z*/) || (48/*null.$0*/ <= next && next <= 57/*null.$9*/
) || next === 95/*null.$_*/ || next === 36/*null.$DOLLAR*/) { | 3874 if ((97/*null.$a*/ <= next && next <= 122/*null.$z*/) || (65/*null.$A*/ <= n
ext && next <= 90/*null.$Z*/) || (48/*null.$0*/ <= next && next <= 57/*null.$9*/
) || next === 95/*null.$_*/ || next === 36/*null.$DOLLAR*/) { |
| 3855 next = this.advance(); | 3875 next = this.advance(); |
| 3856 } | 3876 } |
| 3857 else if (next < 128) { | 3877 else if (next < 128) { |
| 3858 if ($notnull_bool(isAscii)) { | 3878 if ($notnull_bool(isAscii)) { |
| 3859 this.appendByteStringToken$2(97/*null.IDENTIFIER_TOKEN*/, this.asciiStri
ng(start)); | 3879 this.appendByteStringToken(97/*null.IDENTIFIER_TOKEN*/, this.asciiString
(start)); |
| 3860 } | 3880 } |
| 3861 else { | 3881 else { |
| 3862 this.appendByteStringToken$2(97/*null.IDENTIFIER_TOKEN*/, this.utf8Strin
g(start, -1)); | 3882 this.appendByteStringToken(97/*null.IDENTIFIER_TOKEN*/, this.utf8String(
start, -1)); |
| 3863 } | 3883 } |
| 3864 return next; | 3884 return next; |
| 3865 } | 3885 } |
| 3866 else { | 3886 else { |
| 3867 var nonAsciiStart = this.get$byteOffset(); | 3887 var nonAsciiStart = this.get$byteOffset(); |
| 3868 do { | 3888 do { |
| 3869 next = this.nextByte(); | 3889 next = this.nextByte(); |
| 3870 } | 3890 } |
| 3871 while (next > 127) | 3891 while (next > 127) |
| 3872 var string = this.utf8String(nonAsciiStart, -1).toString$0(); | 3892 var string = this.utf8String(nonAsciiStart, -1).toString(); |
| 3873 isAscii = false; | 3893 isAscii = false; |
| 3874 var byteLength = nonAsciiStart - this.get$byteOffset(); | 3894 var byteLength = nonAsciiStart - this.get$byteOffset(); |
| 3875 this.addToCharOffset(string.length - byteLength); | 3895 this.addToCharOffset(string.length - byteLength); |
| 3876 } | 3896 } |
| 3877 } | 3897 } |
| 3878 } | 3898 } |
| 3879 AbstractScanner$S.prototype.tokenizeRawString = function(next) { | 3899 AbstractScanner$SourceString.prototype.tokenizeRawString = function(next) { |
| 3880 var start = this.get$byteOffset(); | 3900 var start = this.get$byteOffset(); |
| 3881 next = this.advance(); | 3901 next = this.advance(); |
| 3882 if (next === 34/*null.$DQ*/ || next === 39/*null.$SQ*/) { | 3902 if (next === 34/*null.$DQ*/ || next === 39/*null.$SQ*/) { |
| 3883 return this.tokenizeString(next, start, true); | 3903 return this.tokenizeString(next, start, true); |
| 3884 } | 3904 } |
| 3885 else { | 3905 else { |
| 3886 $throw(new MalformedInputException(this.get$charOffset())); | 3906 $throw(new MalformedInputException(this.get$charOffset())); |
| 3887 } | 3907 } |
| 3888 } | 3908 } |
| 3889 AbstractScanner$S.prototype.tokenizeString = function(next, start, raw) { | 3909 AbstractScanner$SourceString.prototype.tokenizeString = function(next, start, ra
w) { |
| 3890 var $0; | |
| 3891 var q = next; | 3910 var q = next; |
| 3892 next = this.advance(); | 3911 next = this.advance(); |
| 3893 if (q === next) { | 3912 if (q === next) { |
| 3894 next = this.advance(); | 3913 next = this.advance(); |
| 3895 if (q === next) { | 3914 if (q === next) { |
| 3896 return this.tokenizeMultiLineString(q, start, raw); | 3915 return this.tokenizeMultiLineString(q, start, raw); |
| 3897 } | 3916 } |
| 3898 else { | 3917 else { |
| 3899 this.appendByteStringToken$2(39/*null.STRING_TOKEN*/, this.utf8String(star
t, -1)); | 3918 this.appendByteStringToken(39/*null.STRING_TOKEN*/, this.utf8String(start,
-1)); |
| 3900 return next; | 3919 return next; |
| 3901 } | 3920 } |
| 3902 } | 3921 } |
| 3903 if ($notnull_bool(raw)) { | 3922 if ($notnull_bool(raw)) { |
| 3904 return this.tokenizeSingleLineRawString(next, q, start); | 3923 return this.tokenizeSingleLineRawString(next, q, start); |
| 3905 } | 3924 } |
| 3906 else { | 3925 else { |
| 3907 return this.tokenizeSingleLineString(next, q, start); | 3926 return this.tokenizeSingleLineString(next, q, start); |
| 3908 } | 3927 } |
| 3909 } | 3928 } |
| 3910 AbstractScanner$S.prototype.tokenizeSingleLineString = function(next, q1, start)
{ | 3929 AbstractScanner$SourceString.prototype.tokenizeSingleLineString = function(next,
q1, start) { |
| 3911 var $0; | |
| 3912 while (next != -1) { | 3930 while (next != -1) { |
| 3913 if (next === q1) { | 3931 if (next === q1) { |
| 3914 this.appendByteStringToken$2(39/*null.STRING_TOKEN*/, this.utf8String(star
t, 0)); | 3932 this.appendByteStringToken(39/*null.STRING_TOKEN*/, this.utf8String(start,
0)); |
| 3915 return this.advance(); | 3933 return this.advance(); |
| 3916 } | 3934 } |
| 3917 else if (next === 92/*null.$BACKSLASH*/) { | 3935 else if (next === 92/*null.$BACKSLASH*/) { |
| 3918 next = this.advance(); | 3936 next = this.advance(); |
| 3919 if (next === -1) { | 3937 if (next === -1) { |
| 3920 $throw(new MalformedInputException(this.get$charOffset())); | 3938 $throw(new MalformedInputException(this.get$charOffset())); |
| 3921 } | 3939 } |
| 3922 } | 3940 } |
| 3923 else if (next === 10/*null.$LF*/ || next === 13/*null.$CR*/) { | 3941 else if (next === 10/*null.$LF*/ || next === 13/*null.$CR*/) { |
| 3924 $throw(new MalformedInputException(this.get$charOffset())); | 3942 $throw(new MalformedInputException(this.get$charOffset())); |
| 3925 } | 3943 } |
| 3926 next = this.advance(); | 3944 next = this.advance(); |
| 3927 } | 3945 } |
| 3928 $throw(new MalformedInputException(this.get$charOffset())); | 3946 $throw(new MalformedInputException(this.get$charOffset())); |
| 3929 } | 3947 } |
| 3930 AbstractScanner$S.prototype.tokenizeSingleLineRawString = function(next, q1, sta
rt) { | 3948 AbstractScanner$SourceString.prototype.tokenizeSingleLineRawString = function(ne
xt, q1, start) { |
| 3931 var $0; | |
| 3932 next = this.advance(); | 3949 next = this.advance(); |
| 3933 while (next != -1) { | 3950 while (next != -1) { |
| 3934 if (next === q1) { | 3951 if (next === q1) { |
| 3935 this.appendByteStringToken$2(39/*null.STRING_TOKEN*/, this.utf8String(star
t, 0)); | 3952 this.appendByteStringToken(39/*null.STRING_TOKEN*/, this.utf8String(start,
0)); |
| 3936 return this.advance(); | 3953 return this.advance(); |
| 3937 } | 3954 } |
| 3938 else if (next === 10/*null.$LF*/ || next === 13/*null.$CR*/) { | 3955 else if (next === 10/*null.$LF*/ || next === 13/*null.$CR*/) { |
| 3939 $throw(new MalformedInputException(this.get$charOffset())); | 3956 $throw(new MalformedInputException(this.get$charOffset())); |
| 3940 } | 3957 } |
| 3941 next = this.advance(); | 3958 next = this.advance(); |
| 3942 } | 3959 } |
| 3943 $throw(new MalformedInputException(this.get$charOffset())); | 3960 $throw(new MalformedInputException(this.get$charOffset())); |
| 3944 } | 3961 } |
| 3945 AbstractScanner$S.prototype.tokenizeMultiLineString = function(q, start, raw) { | 3962 AbstractScanner$SourceString.prototype.tokenizeMultiLineString = function(q, sta
rt, raw) { |
| 3946 var $0; | |
| 3947 var next = this.advance(); | 3963 var next = this.advance(); |
| 3948 while (next != -1) { | 3964 while (next != -1) { |
| 3949 if (next === q) { | 3965 if (next === q) { |
| 3950 next = this.advance(); | 3966 next = this.advance(); |
| 3951 if (next === q) { | 3967 if (next === q) { |
| 3952 next = this.advance(); | 3968 next = this.advance(); |
| 3953 if (next === q) { | 3969 if (next === q) { |
| 3954 this.appendByteStringToken$2(39/*null.STRING_TOKEN*/, this.utf8String(
start, 0)); | 3970 this.appendByteStringToken(39/*null.STRING_TOKEN*/, this.utf8String(st
art, 0)); |
| 3955 return this.advance(); | 3971 return this.advance(); |
| 3956 } | 3972 } |
| 3957 } | 3973 } |
| 3958 } | 3974 } |
| 3959 next = this.advance(); | 3975 next = this.advance(); |
| 3960 } | 3976 } |
| 3961 return next; | 3977 return next; |
| 3962 } | 3978 } |
| 3963 // ********** Code for MalformedInputException ************** | 3979 // ********** Code for MalformedInputException ************** |
| 3964 function MalformedInputException(message) { | 3980 function MalformedInputException(message) { |
| (...skipping 2127 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6092 if (KeywordState._KEYWORD_STATE == null) { | 6108 if (KeywordState._KEYWORD_STATE == null) { |
| 6093 var strings = new ListFactory(const$110/*Keyword.values*/.get$length()); | 6109 var strings = new ListFactory(const$110/*Keyword.values*/.get$length()); |
| 6094 for (var i = 0; | 6110 for (var i = 0; |
| 6095 i < const$110/*Keyword.values*/.get$length(); i++) { | 6111 i < const$110/*Keyword.values*/.get$length(); i++) { |
| 6096 strings.$setindex(i, const$110/*Keyword.values*/[i].get$syntax()); | 6112 strings.$setindex(i, const$110/*Keyword.values*/[i].get$syntax()); |
| 6097 } | 6113 } |
| 6098 strings.sort((function (a, b) { | 6114 strings.sort((function (a, b) { |
| 6099 return a.compareTo$1(b); | 6115 return a.compareTo$1(b); |
| 6100 }) | 6116 }) |
| 6101 ); | 6117 ); |
| 6102 KeywordState._KEYWORD_STATE = KeywordState.computeKeywordStateTable(0, strin
gs, 0, strings.length); | 6118 KeywordState._KEYWORD_STATE = KeywordState.computeKeywordStateTable(0, strin
gs, 0, $assert_num(strings.length)); |
| 6103 } | 6119 } |
| 6104 return KeywordState._KEYWORD_STATE; | 6120 return KeywordState._KEYWORD_STATE; |
| 6105 } | 6121 } |
| 6106 KeywordState.computeKeywordStateTable = function(start, strings, offset, length)
{ | 6122 KeywordState.computeKeywordStateTable = function(start, strings, offset, length)
{ |
| 6107 var result = new ListFactory(26); | 6123 var result = new ListFactory(26); |
| 6108 $assert(length != 0, "length != 0", "keyword.dart", 161, 12); | 6124 $assert(length != 0, "length != 0", "keyword.dart", 161, 12); |
| 6109 var chunk = 0; | 6125 var chunk = 0; |
| 6110 var chunkStart = -1; | 6126 var chunkStart = -1; |
| 6111 for (var i = offset; | 6127 for (var i = offset; |
| 6112 i < offset + length; i++) { | 6128 i < offset + length; i++) { |
| (...skipping 1456 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7569 )); | 7585 )); |
| 7570 } | 7586 } |
| 7571 SsaCodeGeneratorTask.prototype.generateMethod = function(methodName, parameterNa
mes, graph) { | 7587 SsaCodeGeneratorTask.prototype.generateMethod = function(methodName, parameterNa
mes, graph) { |
| 7572 new SsaPhiEliminator().visitGraph(graph); | 7588 new SsaPhiEliminator().visitGraph(graph); |
| 7573 var buffer = new StringBufferImpl(""); | 7589 var buffer = new StringBufferImpl(""); |
| 7574 var codegen = new SsaCodeGenerator(this.compiler, buffer, parameterNames); | 7590 var codegen = new SsaCodeGenerator(this.compiler, buffer, parameterNames); |
| 7575 graph.assignInstructionIds(); | 7591 graph.assignInstructionIds(); |
| 7576 codegen.visitGraph(graph); | 7592 codegen.visitGraph(graph); |
| 7577 var parameters = new StringBufferImpl(""); | 7593 var parameters = new StringBufferImpl(""); |
| 7578 for (var i = 0; | 7594 for (var i = 0; |
| 7579 i < parameterNames.length; i++) { | 7595 i < $assert_num(parameterNames.length); i++) { |
| 7580 if (i != 0) parameters.add(', '); | 7596 if (i != 0) parameters.add(', '); |
| 7581 parameters.add(parameterNames.$index(i)); | 7597 parameters.add(parameterNames.$index(i)); |
| 7582 } | 7598 } |
| 7583 return ('function ' + methodName + '(' + parameters + ') {\n' + buffer + '}\n'
); | 7599 return ('function ' + methodName + '(' + parameters + ') {\n' + buffer + '}\n'
); |
| 7584 } | 7600 } |
| 7585 // ********** Code for SsaCodeGenerator ************** | 7601 // ********** Code for SsaCodeGenerator ************** |
| 7586 function SsaCodeGenerator(compiler, buffer, parameterNames) { | 7602 function SsaCodeGenerator(compiler, buffer, parameterNames) { |
| 7587 this.indent = 0 | 7603 this.indent = 0 |
| 7588 this.compiler = compiler; | 7604 this.compiler = compiler; |
| 7589 this.buffer = buffer; | 7605 this.buffer = buffer; |
| (...skipping 3115 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10705 world.get$coreimpl().types.$index('StringImplementation').markUsed$0(); | 10721 world.get$coreimpl().types.$index('StringImplementation').markUsed$0(); |
| 10706 this.genMethod((($0 = world.get$coreimpl().types.$index('StringImplementation'
).getMember$1('contains')) && $0.is$Member())); | 10722 this.genMethod((($0 = world.get$coreimpl().types.$index('StringImplementation'
).getMember$1('contains')) && $0.is$Member())); |
| 10707 if ($notnull_bool(world.corelib.types.$index('Isolate').get$isUsed()) || $notn
ull_bool(world.get$coreimpl().types.$index('ReceivePortImpl').get$isUsed())) { | 10723 if ($notnull_bool(world.corelib.types.$index('Isolate').get$isUsed()) || $notn
ull_bool(world.get$coreimpl().types.$index('ReceivePortImpl').get$isUsed())) { |
| 10708 this.corejs.useIsolates = true; | 10724 this.corejs.useIsolates = true; |
| 10709 var isolateMain = (($0 = world.get$coreimpl().topType.resolveMember('startAs
Isolate').members.$index(0)) && $0.is$MethodMember()); | 10725 var isolateMain = (($0 = world.get$coreimpl().topType.resolveMember('startAs
Isolate').members.$index(0)) && $0.is$MethodMember()); |
| 10710 mainCall = isolateMain.invoke((metaGen && metaGen.is$MethodGenerator()), nul
l, null, new Arguments(null, [this.main._get((metaGen && metaGen.is$MethodGenera
tor()), this.main.definition, null, false)]), false); | 10726 mainCall = isolateMain.invoke((metaGen && metaGen.is$MethodGenerator()), nul
l, null, new Arguments(null, [this.main._get((metaGen && metaGen.is$MethodGenera
tor()), this.main.definition, null, false)]), false); |
| 10711 } | 10727 } |
| 10712 this.writeTypes(world.get$coreimpl()); | 10728 this.writeTypes(world.get$coreimpl()); |
| 10713 this.writeTypes(world.corelib); | 10729 this.writeTypes(world.corelib); |
| 10714 this.writeTypes(this.main.declaringType.get$library()); | 10730 this.writeTypes(this.main.declaringType.get$library()); |
| 10731 if (this._mixins != null) this.writer.write(this._mixins.get$text()); |
| 10715 this._writeGlobals(); | 10732 this._writeGlobals(); |
| 10716 this.writer.writeln(('' + mainCall.get$code() + ';')); | 10733 this.writer.writeln(('' + mainCall.get$code() + ';')); |
| 10717 } | 10734 } |
| 10718 WorldGenerator.prototype.globalForStaticField = function(field, fieldValue, depe
ndencies) { | 10735 WorldGenerator.prototype.globalForStaticField = function(field, fieldValue, depe
ndencies) { |
| 10719 var $0; | 10736 var $0; |
| 10720 var fullname = ("" + field.declaringType.get$jsname() + "." + field.get$jsname
() + ""); | 10737 var fullname = ("" + field.declaringType.get$jsname() + "." + field.get$jsname
() + ""); |
| 10721 if (!this.globals.containsKey(fullname)) { | 10738 if (!this.globals.containsKey(fullname)) { |
| 10722 this.globals.$setindex(fullname, GlobalValue.GlobalValue$fromStatic$factory(
field, fieldValue, dependencies)); | 10739 this.globals.$setindex(fullname, GlobalValue.GlobalValue$fromStatic$factory(
field, fieldValue, dependencies)); |
| 10723 } | 10740 } |
| 10724 return (($0 = this.globals.$index(fullname)) && $0.is$GlobalValue()); | 10741 return (($0 = this.globals.$index(fullname)) && $0.is$GlobalValue()); |
| (...skipping 104 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10829 var $list = type.get$constructors().getValues(); | 10846 var $list = type.get$constructors().getValues(); |
| 10830 for (var $i = type.get$constructors().getValues().iterator$0(); $i.hasNext$0
(); ) { | 10847 for (var $i = type.get$constructors().getValues().iterator$0(); $i.hasNext$0
(); ) { |
| 10831 var c = $i.next$0(); | 10848 var c = $i.next$0(); |
| 10832 if ($notnull_bool($ne(c.get$generator(), null)) && $notnull_bool($ne(c, st
andardConstructor))) { | 10849 if ($notnull_bool($ne(c.get$generator(), null)) && $notnull_bool($ne(c, st
andardConstructor))) { |
| 10833 c.get$generator().writeDefinition$2(this.writer); | 10850 c.get$generator().writeDefinition$2(this.writer); |
| 10834 } | 10851 } |
| 10835 } | 10852 } |
| 10836 } | 10853 } |
| 10837 if (!$notnull_bool(type.get$isTop())) { | 10854 if (!$notnull_bool(type.get$isTop())) { |
| 10838 if ((type instanceof ConcreteType)) { | 10855 if ((type instanceof ConcreteType)) { |
| 10856 var c = (type && type.is$ConcreteType()); |
| 10839 this._ensureInheritsHelper(); | 10857 this._ensureInheritsHelper(); |
| 10840 this.writer.writeln(('\$inherits(' + type.get$jsname() + ', ' + type.get$g
enericType().get$jsname() + ');')); | 10858 this.writer.writeln(('\$inherits(' + c.get$jsname() + ', ' + c.genericType
.get$jsname() + ');')); |
| 10859 for (var p = c._parent; |
| 10860 (p instanceof ConcreteType); p = p._parent) { |
| 10861 this._ensureInheritMembersHelper(); |
| 10862 this._mixins.writeln(('\$inheritsMembers(' + c.get$jsname() + ', ' + p.g
et$jsname() + ');')); |
| 10863 } |
| 10841 } | 10864 } |
| 10842 else if (!$notnull_bool(type.get$isNativeType())) { | 10865 else if (!$notnull_bool(type.get$isNativeType())) { |
| 10843 if (type.get$parent() != null && !$notnull_bool(type.get$parent().get$isOb
ject())) { | 10866 if (type.get$parent() != null && !$notnull_bool(type.get$parent().get$isOb
ject())) { |
| 10844 this._ensureInheritsHelper(); | 10867 this._ensureInheritsHelper(); |
| 10845 this.writer.writeln(('\$inherits(' + type.get$jsname() + ', ' + type.get
$parent().get$jsname() + ');')); | 10868 this.writer.writeln(('\$inherits(' + type.get$jsname() + ', ' + type.get
$parent().get$jsname() + ');')); |
| 10846 } | 10869 } |
| 10847 } | 10870 } |
| 10848 } | 10871 } |
| 10849 if (!(type instanceof ConcreteType)) { | 10872 if (!(type instanceof ConcreteType)) { |
| 10850 this._maybeIsTest(type, type); | 10873 this._maybeIsTest(type, type); |
| (...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10895 this._writeMethod((member && member.is$Member())); | 10918 this._writeMethod((member && member.is$Member())); |
| 10896 } | 10919 } |
| 10897 } | 10920 } |
| 10898 this._writeDynamicStubs(type); | 10921 this._writeDynamicStubs(type); |
| 10899 } | 10922 } |
| 10900 WorldGenerator.prototype._ensureInheritsHelper = function() { | 10923 WorldGenerator.prototype._ensureInheritsHelper = function() { |
| 10901 if ($notnull_bool(this._inheritsGenerated)) return; | 10924 if ($notnull_bool(this._inheritsGenerated)) return; |
| 10902 this._inheritsGenerated = true; | 10925 this._inheritsGenerated = true; |
| 10903 this.writer.writeln("/** Implements extends for Dart classes on JavaScript pro
totypes. */\nfunction $inherits(child, parent) {\n if (child.prototype.__proto_
_) {\n child.prototype.__proto__ = parent.prototype;\n } else {\n functio
n tmp() {};\n tmp.prototype = parent.prototype;\n child.prototype = new tm
p();\n child.prototype.constructor = child;\n }\n}"); | 10926 this.writer.writeln("/** Implements extends for Dart classes on JavaScript pro
totypes. */\nfunction $inherits(child, parent) {\n if (child.prototype.__proto_
_) {\n child.prototype.__proto__ = parent.prototype;\n } else {\n functio
n tmp() {};\n tmp.prototype = parent.prototype;\n child.prototype = new tm
p();\n child.prototype.constructor = child;\n }\n}"); |
| 10904 } | 10927 } |
| 10928 WorldGenerator.prototype._ensureInheritMembersHelper = function() { |
| 10929 if (this._mixins != null) return; |
| 10930 this._mixins = new CodeWriter(); |
| 10931 this._mixins.comment('// ********** Generic Type Inheritance **************'); |
| 10932 this._mixins.writeln("/** Implements extends for generic types. */\nfunction $
inheritsMembers(child, parent) {\n child = child.prototype;\n parent = parent.
prototype;\n Object.getOwnPropertyNames(parent).forEach(function(name) {\n i
f (typeof(child[name]) == 'undefined') child[name] = parent[name];\n });\n}"); |
| 10933 } |
| 10905 WorldGenerator.prototype._writeDynamicStubs = function(type) { | 10934 WorldGenerator.prototype._writeDynamicStubs = function(type) { |
| 10906 if (type.varStubs != null) { | 10935 if (type.varStubs != null) { |
| 10907 var $list = orderValuesByKeys(type.varStubs); | 10936 var $list = orderValuesByKeys(type.varStubs); |
| 10908 for (var $i = 0;$i < $list.length; $i++) { | 10937 for (var $i = 0;$i < $list.length; $i++) { |
| 10909 var stub = $list.$index($i); | 10938 var stub = $list.$index($i); |
| 10910 stub.generate$1(this.writer); | 10939 stub.generate$1(this.writer); |
| 10911 } | 10940 } |
| 10912 } | 10941 } |
| 10913 } | 10942 } |
| 10914 WorldGenerator.prototype._writeStaticField = function(field) { | 10943 WorldGenerator.prototype._writeStaticField = function(field) { |
| (...skipping 322 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11237 else if ($notnull_bool(this.method.get$isStatic())) { | 11266 else if ($notnull_bool(this.method.get$isStatic())) { |
| 11238 defWriter.enterBlock(('' + this.method.declaringType.get$jsname() + '.' + th
is.method.get$jsname() + ' = function' + _params + ' {')); | 11267 defWriter.enterBlock(('' + this.method.declaringType.get$jsname() + '.' + th
is.method.get$jsname() + ' = function' + _params + ' {')); |
| 11239 } | 11268 } |
| 11240 else { | 11269 else { |
| 11241 defWriter.enterBlock(('' + this.method.declaringType.get$jsname() + '.protot
ype.') + ('' + this.method.get$jsname() + ' = function' + _params + ' {')); | 11270 defWriter.enterBlock(('' + this.method.declaringType.get$jsname() + '.protot
ype.') + ('' + this.method.get$jsname() + ' = function' + _params + ' {')); |
| 11242 } | 11271 } |
| 11243 if ($notnull_bool(this.needsThis)) { | 11272 if ($notnull_bool(this.needsThis)) { |
| 11244 defWriter.writeln('var \$this = this; // closure support'); | 11273 defWriter.writeln('var \$this = this; // closure support'); |
| 11245 } | 11274 } |
| 11246 if (this._usedTemps.get$length() > 0 || this._freeTemps.length > 0) { | 11275 if (this._usedTemps.get$length() > 0 || this._freeTemps.length > 0) { |
| 11247 $assert(this._usedTemps.get$length() == 0, "_usedTemps.length == 0", "gen.da
rt", 706, 14); | 11276 $assert(this._usedTemps.get$length() == 0, "_usedTemps.length == 0", "gen.da
rt", 739, 14); |
| 11248 this._freeTemps.addAll(this._usedTemps); | 11277 this._freeTemps.addAll(this._usedTemps); |
| 11249 this._freeTemps.sort((function (x, y) { | 11278 this._freeTemps.sort((function (x, y) { |
| 11250 return x.compareTo$1(y); | 11279 return x.compareTo$1(y); |
| 11251 }) | 11280 }) |
| 11252 ); | 11281 ); |
| 11253 defWriter.writeln(('var ' + Strings.join(this._freeTemps, ", ") + ';')); | 11282 defWriter.writeln(('var ' + Strings.join(this._freeTemps, ", ") + ';')); |
| 11254 } | 11283 } |
| 11255 defWriter.writeln(this.writer.get$text()); | 11284 defWriter.writeln(this.writer.get$text()); |
| 11256 if ($notnull_bool($ne(names, null))) { | 11285 if ($notnull_bool($ne(names, null))) { |
| 11257 defWriter.exitBlock(('}).bind(null, ' + Strings.join((names && names.is$List
$String()), ", ") + ')')); | 11286 defWriter.exitBlock(('}).bind(null, ' + Strings.join((names && names.is$List
$String()), ", ") + ')')); |
| (...skipping 50 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11308 var optional = "['" + Strings.join((optNames && optNames.is$List$String(
)), "', '") + "']"; | 11337 var optional = "['" + Strings.join((optNames && optNames.is$List$String(
)), "', '") + "']"; |
| 11309 defWriter.writeln(('' + start + '' + meth.get$jsname() + '.\$optional =
' + optional + '')); | 11338 defWriter.writeln(('' + start + '' + meth.get$jsname() + '.\$optional =
' + optional + '')); |
| 11310 } | 11339 } |
| 11311 } | 11340 } |
| 11312 } | 11341 } |
| 11313 } | 11342 } |
| 11314 MethodGenerator.prototype.writeBody = function() { | 11343 MethodGenerator.prototype.writeBody = function() { |
| 11315 var $0; | 11344 var $0; |
| 11316 var initializers = null; | 11345 var initializers = null; |
| 11317 var initializedFields = null; | 11346 var initializedFields = null; |
| 11347 var allMembers = null; |
| 11318 if ($notnull_bool(this.method.get$isConstructor())) { | 11348 if ($notnull_bool(this.method.get$isConstructor())) { |
| 11319 initializers = []; | 11349 initializers = []; |
| 11320 initializedFields = new HashSetImplementation(); | 11350 initializedFields = new HashSetImplementation(); |
| 11321 var $list = world.gen._orderValues(this.method.declaringType.getAllMembers()
); | 11351 allMembers = world.gen._orderValues(this.method.declaringType.getAllMembers(
)); |
| 11322 for (var $i = 0;$i < $list.length; $i++) { | 11352 for (var $i = allMembers.iterator$0(); $i.hasNext$0(); ) { |
| 11323 var f = $list.$index($i); | 11353 var f = $i.next$0(); |
| 11324 if ((f instanceof FieldMember) && !$notnull_bool(f.get$isStatic())) { | 11354 if ($notnull_bool(f.get$isField()) && !$notnull_bool(f.get$isStatic())) { |
| 11325 var cv = f.computeValue$0(); | 11355 var cv = f.computeValue$0(); |
| 11326 if ($notnull_bool($ne(cv, null))) { | 11356 if ($notnull_bool($ne(cv, null))) { |
| 11327 initializers.add$1(('this.' + f.get$jsname() + ' = ' + cv.get$code() +
'')); | 11357 initializers.add$1(('this.' + f.get$jsname() + ' = ' + cv.get$code() +
'')); |
| 11328 initializedFields.add$1(f.get$name()); | 11358 initializedFields.add$1(f.get$name()); |
| 11329 } | 11359 } |
| 11330 } | 11360 } |
| 11331 } | 11361 } |
| 11332 } | 11362 } |
| 11333 this._paramCode = []; | 11363 this._paramCode = []; |
| 11334 var $list = this.method.get$parameters(); | 11364 var $list = this.method.get$parameters(); |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11417 } | 11447 } |
| 11418 } | 11448 } |
| 11419 if ($notnull_bool($ne(declaredInitializers, null)) && declaredInitializers
.length > 1) { | 11449 if ($notnull_bool($ne(declaredInitializers, null)) && declaredInitializers
.length > 1) { |
| 11420 var init = $notnull_bool($eq(declaredInitializers.$index(0), initializer
Call)) ? declaredInitializers.$index(1) : declaredInitializers.$index(0); | 11450 var init = $notnull_bool($eq(declaredInitializers.$index(0), initializer
Call)) ? declaredInitializers.$index(1) : declaredInitializers.$index(0); |
| 11421 world.error('no initialization allowed on redirecting constructors', (($
0 = init.get$span()) && $0.is$SourceSpan())); | 11451 world.error('no initialization allowed on redirecting constructors', (($
0 = init.get$span()) && $0.is$SourceSpan())); |
| 11422 } | 11452 } |
| 11423 initializedFields = null; | 11453 initializedFields = null; |
| 11424 } | 11454 } |
| 11425 } | 11455 } |
| 11426 if ($notnull_bool($ne(initializedFields, null))) { | 11456 if ($notnull_bool($ne(initializedFields, null))) { |
| 11427 var $list = this.method.declaringType.get$members().getKeys(); | 11457 for (var $i = allMembers.iterator$0(); $i.hasNext$0(); ) { |
| 11428 for (var $i = this.method.declaringType.get$members().getKeys().iterator$0()
; $i.hasNext$0(); ) { | 11458 var member = $i.next$0(); |
| 11429 var name = $i.next$0(); | 11459 if ($notnull_bool(member.get$isField()) && $notnull_bool(member.get$isFina
l()) && !$notnull_bool(member.get$isStatic()) && !$notnull_bool(initializedField
s.contains$1(member.get$name()))) { |
| 11430 var member = this.method.declaringType.get$members().$index(name); | 11460 world.error(('Field "' + member.get$name() + '" is final and was not ini
tialized'), (($0 = this.method.get$definition().get$span()) && $0.is$SourceSpan(
))); |
| 11431 if ((member instanceof FieldMember) && $notnull_bool(member.get$isFinal())
&& !$notnull_bool(member.get$isStatic()) && !$notnull_bool(initializedFields.co
ntains$1(name))) { | |
| 11432 world.error(('Field "' + name + '" is final and was not initialized'), (
($0 = this.method.get$definition().get$span()) && $0.is$SourceSpan())); | |
| 11433 } | 11461 } |
| 11434 } | 11462 } |
| 11435 } | 11463 } |
| 11436 this.visitStatementsInBlock((body && body.is$lang_Statement())); | 11464 this.visitStatementsInBlock((body && body.is$lang_Statement())); |
| 11437 } | 11465 } |
| 11438 MethodGenerator.prototype._writeInitializerCall = function(node) { | 11466 MethodGenerator.prototype._writeInitializerCall = function(node) { |
| 11439 var contructorName = ''; | 11467 var contructorName = ''; |
| 11440 var targetExp = node.target; | 11468 var targetExp = node.target; |
| 11441 if ((targetExp instanceof DotExpression)) { | 11469 if ((targetExp instanceof DotExpression)) { |
| 11442 var dot = (targetExp && targetExp.is$DotExpression()); | 11470 var dot = (targetExp && targetExp.is$DotExpression()); |
| (...skipping 976 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 12419 var u = (item && item.is$UnaryExpression()); | 12447 var u = (item && item.is$UnaryExpression()); |
| 12420 return u.op.kind == 16/*TokenKind.INCR*/ || u.op.kind == 17/*TokenKind.DECR*
/; | 12448 return u.op.kind == 16/*TokenKind.INCR*/ || u.op.kind == 17/*TokenKind.DECR*
/; |
| 12421 } | 12449 } |
| 12422 else { | 12450 else { |
| 12423 return false; | 12451 return false; |
| 12424 } | 12452 } |
| 12425 } | 12453 } |
| 12426 MethodGenerator.prototype.visitLiteralExpression = function(node) { | 12454 MethodGenerator.prototype.visitLiteralExpression = function(node) { |
| 12427 var $0; | 12455 var $0; |
| 12428 var type = node.type.type; | 12456 var type = node.type.type; |
| 12429 $assert($ne(type, null), "type != null", "gen.dart", 2128, 12); | 12457 $assert($ne(type, null), "type != null", "gen.dart", 2162, 12); |
| 12430 if (!!(($0 = node.value) && $0.is$List)) { | 12458 if (!!(($0 = node.value) && $0.is$List)) { |
| 12431 var items = []; | 12459 var items = []; |
| 12432 var $list = node.value; | 12460 var $list = node.value; |
| 12433 for (var $i = node.value.iterator$0(); $i.hasNext$0(); ) { | 12461 for (var $i = node.value.iterator$0(); $i.hasNext$0(); ) { |
| 12434 var item = $i.next$0(); | 12462 var item = $i.next$0(); |
| 12435 var val = this.visitValue((item && item.is$lang_Expression())); | 12463 var val = this.visitValue((item && item.is$lang_Expression())); |
| 12436 val.invoke$4(this, 'toString', item, Arguments.get$EMPTY()); | 12464 val.invoke$4(this, 'toString', item, Arguments.get$EMPTY()); |
| 12437 var code = val.get$code(); | 12465 var code = val.get$code(); |
| 12438 if ((item instanceof BinaryExpression) || (item instanceof ConditionalExpr
ession) || (item instanceof PostfixExpression) || $notnull_bool(this._isUnaryInc
rement((item && item.is$lang_Expression())))) { | 12466 if ((item instanceof BinaryExpression) || (item instanceof ConditionalExpr
ession) || (item instanceof PostfixExpression) || $notnull_bool(this._isUnaryInc
rement((item && item.is$lang_Expression())))) { |
| 12439 code = ('(' + code + ')'); | 12467 code = ('(' + code + ')'); |
| (...skipping 662 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 13102 } | 13130 } |
| 13103 Member.prototype.get$isMethod = function() { | 13131 Member.prototype.get$isMethod = function() { |
| 13104 return false; | 13132 return false; |
| 13105 } | 13133 } |
| 13106 Member.prototype.get$isProperty = function() { | 13134 Member.prototype.get$isProperty = function() { |
| 13107 return false; | 13135 return false; |
| 13108 } | 13136 } |
| 13109 Member.prototype.get$isAbstract = function() { | 13137 Member.prototype.get$isAbstract = function() { |
| 13110 return false; | 13138 return false; |
| 13111 } | 13139 } |
| 13140 Member.prototype.get$isFinal = function() { |
| 13141 return false; |
| 13142 } |
| 13112 Member.prototype.get$isConst = function() { | 13143 Member.prototype.get$isConst = function() { |
| 13113 return false; | 13144 return false; |
| 13114 } | 13145 } |
| 13115 Member.prototype.get$isFactory = function() { | 13146 Member.prototype.get$isFactory = function() { |
| 13116 return false; | 13147 return false; |
| 13117 } | 13148 } |
| 13118 Member.prototype.get$isOperator = function() { | 13149 Member.prototype.get$isOperator = function() { |
| 13119 return this.name.startsWith('\$'); | 13150 return this.name.startsWith('\$'); |
| 13120 } | 13151 } |
| 13121 Member.prototype.get$isCallMethod = function() { | 13152 Member.prototype.get$isCallMethod = function() { |
| (...skipping 16 matching lines...) Expand all Loading... |
| 13138 } | 13169 } |
| 13139 Member.prototype.providePropertySyntax = function() { | 13170 Member.prototype.providePropertySyntax = function() { |
| 13140 | 13171 |
| 13141 } | 13172 } |
| 13142 Member.prototype.get$initDelegate = function() { | 13173 Member.prototype.get$initDelegate = function() { |
| 13143 world.internalError('cannot have initializers', this.get$span()); | 13174 world.internalError('cannot have initializers', this.get$span()); |
| 13144 } | 13175 } |
| 13145 Member.prototype.set$initDelegate = function(ctor) { | 13176 Member.prototype.set$initDelegate = function(ctor) { |
| 13146 world.internalError('cannot have initializers', this.get$span()); | 13177 world.internalError('cannot have initializers', this.get$span()); |
| 13147 } | 13178 } |
| 13179 Member.prototype.computeValue = function() { |
| 13180 world.internalError('cannot have value', this.get$span()); |
| 13181 } |
| 13148 Member.prototype.get$inferredResult = function() { | 13182 Member.prototype.get$inferredResult = function() { |
| 13149 var t = this.get$returnType(); | 13183 var t = this.get$returnType(); |
| 13150 if ($notnull_bool(t.get$isBool()) && ($notnull_bool(this.get$library().get$isC
ore()) || $notnull_bool(this.get$library().get$isCoreImpl()))) { | 13184 if ($notnull_bool(t.get$isBool()) && ($notnull_bool(this.get$library().get$isC
ore()) || $notnull_bool(this.get$library().get$isCoreImpl()))) { |
| 13151 return world.nonNullBool; | 13185 return world.nonNullBool; |
| 13152 } | 13186 } |
| 13153 return (t && t.is$lang_Type()); | 13187 return (t && t.is$lang_Type()); |
| 13154 } | 13188 } |
| 13155 Member.prototype.get$definition = function() { | 13189 Member.prototype.get$definition = function() { |
| 13156 return null; | 13190 return null; |
| 13157 } | 13191 } |
| (...skipping 13 matching lines...) Expand all Loading... |
| 13171 world.error('static members can not hide parent members', this.get$span(), o
ther.get$span()); | 13205 world.error('static members can not hide parent members', this.get$span(), o
ther.get$span()); |
| 13172 return false; | 13206 return false; |
| 13173 } | 13207 } |
| 13174 else if ($notnull_bool(other.get$isStatic())) { | 13208 else if ($notnull_bool(other.get$isStatic())) { |
| 13175 world.error('can not override static member', this.get$span(), other.get$spa
n()); | 13209 world.error('can not override static member', this.get$span(), other.get$spa
n()); |
| 13176 return false; | 13210 return false; |
| 13177 } | 13211 } |
| 13178 return true; | 13212 return true; |
| 13179 } | 13213 } |
| 13180 Member.prototype.get$generatedFactoryName = function() { | 13214 Member.prototype.get$generatedFactoryName = function() { |
| 13181 $assert(this.get$isFactory(), "this.isFactory", "member.dart", 195, 12); | 13215 $assert(this.get$isFactory(), "this.isFactory", "member.dart", 201, 12); |
| 13182 var prefix = ('' + this.declaringType.get$jsname() + '.' + this.get$constructo
rName() + '\$'); | 13216 var prefix = ('' + this.declaringType.get$jsname() + '.' + this.get$constructo
rName() + '\$'); |
| 13183 if (this.name == '') { | 13217 if (this.name == '') { |
| 13184 return ('' + prefix + 'factory'); | 13218 return ('' + prefix + 'factory'); |
| 13185 } | 13219 } |
| 13186 else { | 13220 else { |
| 13187 return ('' + prefix + '' + this.name + '\$factory'); | 13221 return ('' + prefix + '' + this.name + '\$factory'); |
| 13188 } | 13222 } |
| 13189 } | 13223 } |
| 13190 Member.prototype.resolveType = function(node, isRequired) { | 13224 Member.prototype.resolveType = function(node, isRequired) { |
| 13191 var type = this.declaringType.resolveType(node, isRequired); | 13225 var type = this.declaringType.resolveType(node, isRequired); |
| 13192 if ($notnull_bool(this.get$isStatic()) && $notnull_bool(type.get$hasTypeParams
())) { | 13226 if ($notnull_bool(this.get$isStatic()) && $notnull_bool(type.get$hasTypeParams
())) { |
| 13193 world.error('using type parameter in static context', node.span); | 13227 world.error('using type parameter in static context', node.span); |
| 13194 } | 13228 } |
| 13195 return (type && type.is$lang_Type()); | 13229 return (type && type.is$lang_Type()); |
| 13196 } | 13230 } |
| 13197 Member.prototype._get$3 = function($0, $1, $2) { | 13231 Member.prototype._get$3 = function($0, $1, $2) { |
| 13198 return this._get(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), (
$2 && $2.is$Value())); | 13232 return this._get(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), (
$2 && $2.is$Value())); |
| 13199 }; | 13233 }; |
| 13200 Member.prototype._set$4 = function($0, $1, $2, $3) { | 13234 Member.prototype._set$4 = function($0, $1, $2, $3) { |
| 13201 return this._set(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), (
$2 && $2.is$Value()), ($3 && $3.is$Value())); | 13235 return this._set(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), (
$2 && $2.is$Value()), ($3 && $3.is$Value())); |
| 13202 }; | 13236 }; |
| 13203 Member.prototype.canInvoke$2 = function($0, $1) { | 13237 Member.prototype.canInvoke$2 = function($0, $1) { |
| 13204 return this.canInvoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$Arguments(
))); | 13238 return this.canInvoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$Arguments(
))); |
| 13205 }; | 13239 }; |
| 13240 Member.prototype.computeValue$0 = function() { |
| 13241 return this.computeValue(); |
| 13242 }; |
| 13206 Member.prototype.invoke$4 = function($0, $1, $2, $3) { | 13243 Member.prototype.invoke$4 = function($0, $1, $2, $3) { |
| 13207 return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()),
($2 && $2.is$Value()), ($3 && $3.is$Arguments()), false); | 13244 return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()),
($2 && $2.is$Value()), ($3 && $3.is$Arguments()), false); |
| 13208 }; | 13245 }; |
| 13209 Member.prototype.invoke$4$isDynamic = function($0, $1, $2, $3, isDynamic) { | 13246 Member.prototype.invoke$4$isDynamic = function($0, $1, $2, $3, isDynamic) { |
| 13210 return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()),
($2 && $2.is$Value()), ($3 && $3.is$Arguments()), $assert_bool(isDynamic)); | 13247 return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()),
($2 && $2.is$Value()), ($3 && $3.is$Arguments()), $assert_bool(isDynamic)); |
| 13211 }; | 13248 }; |
| 13212 Member.prototype.invoke$5 = function($0, $1, $2, $3, $4) { | 13249 Member.prototype.invoke$5 = function($0, $1, $2, $3, $4) { |
| 13213 return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()),
($2 && $2.is$Value()), ($3 && $3.is$Arguments()), $assert_bool($4)); | 13250 return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()),
($2 && $2.is$Value()), ($3 && $3.is$Arguments()), $assert_bool($4)); |
| 13214 }; | 13251 }; |
| 13215 Member.prototype.provideFieldSyntax$0 = function() { | 13252 Member.prototype.provideFieldSyntax$0 = function() { |
| (...skipping 379 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 13595 } | 13632 } |
| 13596 ConcreteMember.prototype.get$isAbstract = function() { | 13633 ConcreteMember.prototype.get$isAbstract = function() { |
| 13597 return this.baseMember.get$isAbstract(); | 13634 return this.baseMember.get$isAbstract(); |
| 13598 } | 13635 } |
| 13599 ConcreteMember.prototype.get$isConst = function() { | 13636 ConcreteMember.prototype.get$isConst = function() { |
| 13600 return this.baseMember.get$isConst(); | 13637 return this.baseMember.get$isConst(); |
| 13601 } | 13638 } |
| 13602 ConcreteMember.prototype.get$isFactory = function() { | 13639 ConcreteMember.prototype.get$isFactory = function() { |
| 13603 return this.baseMember.get$isFactory(); | 13640 return this.baseMember.get$isFactory(); |
| 13604 } | 13641 } |
| 13642 ConcreteMember.prototype.get$isFinal = function() { |
| 13643 return this.baseMember.get$isFinal(); |
| 13644 } |
| 13605 ConcreteMember.prototype.get$jsname = function() { | 13645 ConcreteMember.prototype.get$jsname = function() { |
| 13606 return this.baseMember.get$jsname(); | 13646 return this.baseMember.get$jsname(); |
| 13607 } | 13647 } |
| 13608 ConcreteMember.prototype.set$jsname = function(name) { | 13648 ConcreteMember.prototype.set$jsname = function(name) { |
| 13609 return world.internalError('bad set of jsname on ConcreteMember'); | 13649 return world.internalError('bad set of jsname on ConcreteMember'); |
| 13610 } | 13650 } |
| 13611 ConcreteMember.prototype.get$canGet = function() { | 13651 ConcreteMember.prototype.get$canGet = function() { |
| 13612 return this.baseMember.get$canGet(); | 13652 return this.baseMember.get$canGet(); |
| 13613 } | 13653 } |
| 13614 ConcreteMember.prototype.get$canSet = function() { | 13654 ConcreteMember.prototype.get$canSet = function() { |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 13652 return this.baseMember.get$initDelegate(); | 13692 return this.baseMember.get$initDelegate(); |
| 13653 } | 13693 } |
| 13654 ConcreteMember.prototype.set$initDelegate = function(ctor) { | 13694 ConcreteMember.prototype.set$initDelegate = function(ctor) { |
| 13655 this.baseMember.set$initDelegate(ctor); | 13695 this.baseMember.set$initDelegate(ctor); |
| 13656 } | 13696 } |
| 13657 ConcreteMember.prototype.resolveType = function(node, isRequired) { | 13697 ConcreteMember.prototype.resolveType = function(node, isRequired) { |
| 13658 var $0; | 13698 var $0; |
| 13659 var type = this.baseMember.resolveType(node, isRequired); | 13699 var type = this.baseMember.resolveType(node, isRequired); |
| 13660 return (($0 = type.resolveTypeParams$1(this.declaringType)) && $0.is$lang_Type
()); | 13700 return (($0 = type.resolveTypeParams$1(this.declaringType)) && $0.is$lang_Type
()); |
| 13661 } | 13701 } |
| 13702 ConcreteMember.prototype.computeValue = function() { |
| 13703 return this.baseMember.computeValue(); |
| 13704 } |
| 13662 ConcreteMember.prototype.override = function(other) { | 13705 ConcreteMember.prototype.override = function(other) { |
| 13663 return this.baseMember.override(other); | 13706 return this.baseMember.override(other); |
| 13664 } | 13707 } |
| 13665 ConcreteMember.prototype._get = function(context, node, target, isDynamic) { | 13708 ConcreteMember.prototype._get = function(context, node, target, isDynamic) { |
| 13666 var ret = this.baseMember._get(context, node, target, isDynamic); | 13709 var ret = this.baseMember._get(context, node, target, isDynamic); |
| 13667 return new Value(this.get$inferredResult(), ret.code, node.span, true); | 13710 return new Value(this.get$inferredResult(), ret.code, node.span, true); |
| 13668 } | 13711 } |
| 13669 ConcreteMember.prototype._set = function(context, node, target, value, isDynamic
) { | 13712 ConcreteMember.prototype._set = function(context, node, target, value, isDynamic
) { |
| 13670 var ret = this.baseMember._set(context, node, target, value, isDynamic); | 13713 var ret = this.baseMember._set(context, node, target, value, isDynamic); |
| 13671 return new Value(this.returnType, ret.code, node.span, true); | 13714 return new Value(this.returnType, ret.code, node.span, true); |
| (...skipping 11 matching lines...) Expand all Loading... |
| 13683 } | 13726 } |
| 13684 ConcreteMember.prototype._get$3 = function($0, $1, $2) { | 13727 ConcreteMember.prototype._get$3 = function($0, $1, $2) { |
| 13685 return this._get(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), (
$2 && $2.is$Value()), false); | 13728 return this._get(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), (
$2 && $2.is$Value()), false); |
| 13686 }; | 13729 }; |
| 13687 ConcreteMember.prototype._set$4 = function($0, $1, $2, $3) { | 13730 ConcreteMember.prototype._set$4 = function($0, $1, $2, $3) { |
| 13688 return this._set(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), (
$2 && $2.is$Value()), ($3 && $3.is$Value()), false); | 13731 return this._set(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()), (
$2 && $2.is$Value()), ($3 && $3.is$Value()), false); |
| 13689 }; | 13732 }; |
| 13690 ConcreteMember.prototype.canInvoke$2 = function($0, $1) { | 13733 ConcreteMember.prototype.canInvoke$2 = function($0, $1) { |
| 13691 return this.canInvoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$Arguments(
))); | 13734 return this.canInvoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$Arguments(
))); |
| 13692 }; | 13735 }; |
| 13736 ConcreteMember.prototype.computeValue$0 = function() { |
| 13737 return this.computeValue(); |
| 13738 }; |
| 13693 ConcreteMember.prototype.invoke$4 = function($0, $1, $2, $3) { | 13739 ConcreteMember.prototype.invoke$4 = function($0, $1, $2, $3) { |
| 13694 return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()),
($2 && $2.is$Value()), ($3 && $3.is$Arguments()), false); | 13740 return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()),
($2 && $2.is$Value()), ($3 && $3.is$Arguments()), false); |
| 13695 }; | 13741 }; |
| 13696 ConcreteMember.prototype.invoke$4$isDynamic = function($0, $1, $2, $3, isDynamic
) { | 13742 ConcreteMember.prototype.invoke$4$isDynamic = function($0, $1, $2, $3, isDynamic
) { |
| 13697 return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()),
($2 && $2.is$Value()), ($3 && $3.is$Arguments()), $assert_bool(isDynamic)); | 13743 return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()),
($2 && $2.is$Value()), ($3 && $3.is$Arguments()), $assert_bool(isDynamic)); |
| 13698 }; | 13744 }; |
| 13699 ConcreteMember.prototype.invoke$5 = function($0, $1, $2, $3, $4) { | 13745 ConcreteMember.prototype.invoke$5 = function($0, $1, $2, $3, $4) { |
| 13700 return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()),
($2 && $2.is$Value()), ($3 && $3.is$Arguments()), $assert_bool($4)); | 13746 return this.invoke(($0 && $0.is$MethodGenerator()), ($1 && $1.is$lang_Node()),
($2 && $2.is$Value()), ($3 && $3.is$Arguments()), $assert_bool($4)); |
| 13701 }; | 13747 }; |
| 13702 ConcreteMember.prototype.provideFieldSyntax$0 = function() { | 13748 ConcreteMember.prototype.provideFieldSyntax$0 = function() { |
| (...skipping 5535 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 19238 } | 19284 } |
| 19239 lang_Type.prototype.get$parent = function() { | 19285 lang_Type.prototype.get$parent = function() { |
| 19240 return null; | 19286 return null; |
| 19241 } | 19287 } |
| 19242 lang_Type.prototype.getAllMembers = function() { | 19288 lang_Type.prototype.getAllMembers = function() { |
| 19243 return $map([]); | 19289 return $map([]); |
| 19244 } | 19290 } |
| 19245 lang_Type.prototype.hashCode = function() { | 19291 lang_Type.prototype.hashCode = function() { |
| 19246 return this.name.hashCode(); | 19292 return this.name.hashCode(); |
| 19247 } | 19293 } |
| 19294 lang_Type.prototype._checkOverride = function(member) { |
| 19295 var parentMember = this._getMemberInParents(member.name); |
| 19296 if ($notnull_bool($ne(parentMember, null))) { |
| 19297 if (!$notnull_bool(member.get$isPrivate()) || $eq(member.get$library(), pare
ntMember.get$library())) { |
| 19298 member.override((parentMember && parentMember.is$Member())); |
| 19299 } |
| 19300 } |
| 19301 } |
| 19302 lang_Type.prototype._createNotEqualMember = function() { |
| 19303 var $0; |
| 19304 var eq = (($0 = this.get$members().$index('\$eq')) && $0.is$MethodMember()); |
| 19305 if (eq == null) { |
| 19306 world.internalError('INTERNAL: object does not define ==', this.get$definiti
on().span); |
| 19307 } |
| 19308 var ne = new MethodMember('\$ne', this, eq.definition); |
| 19309 ne.isGenerated = true; |
| 19310 ne.returnType = eq.returnType; |
| 19311 ne.parameters = eq.parameters; |
| 19312 ne.isStatic = eq.isStatic; |
| 19313 ne.isAbstract = eq.isAbstract; |
| 19314 return ne; |
| 19315 } |
| 19316 lang_Type.prototype._getMemberInParents = function(memberName) { |
| 19317 if ($notnull_bool(this.get$isClass())) { |
| 19318 if (this.get$parent() != null) { |
| 19319 return this.get$parent().getMember(memberName); |
| 19320 } |
| 19321 else if ($notnull_bool(this.get$isObject())) { |
| 19322 if (memberName == '\$ne') { |
| 19323 var ret = this._createNotEqualMember(); |
| 19324 this.get$members().$setindex(memberName, ret); |
| 19325 return (ret && ret.is$Member()); |
| 19326 } |
| 19327 return null; |
| 19328 } |
| 19329 } |
| 19330 else { |
| 19331 if (this.get$interfaces() != null && this.get$interfaces().length > 0) { |
| 19332 var $list = this.get$interfaces(); |
| 19333 for (var $i = 0;$i < $list.length; $i++) { |
| 19334 var i = $list.$index($i); |
| 19335 var ret = i.getMember$1(memberName); |
| 19336 if ($notnull_bool($ne(ret, null))) { |
| 19337 return (ret && ret.is$Member()); |
| 19338 } |
| 19339 } |
| 19340 return null; |
| 19341 } |
| 19342 else { |
| 19343 return world.objectType.getMember(memberName); |
| 19344 } |
| 19345 } |
| 19346 } |
| 19248 lang_Type.prototype.ensureSubtypeOf = function(other, span, typeErrors) { | 19347 lang_Type.prototype.ensureSubtypeOf = function(other, span, typeErrors) { |
| 19249 if (!$notnull_bool(this.isSubtypeOf(other))) { | 19348 if (!$notnull_bool(this.isSubtypeOf(other))) { |
| 19250 var msg = ('type ' + this.name + ' is not a subtype of ' + other.name + ''); | 19349 var msg = ('type ' + this.name + ' is not a subtype of ' + other.name + ''); |
| 19251 if ($notnull_bool(typeErrors)) { | 19350 if ($notnull_bool(typeErrors)) { |
| 19252 world.error($assert_String(msg), span); | 19351 world.error($assert_String(msg), span); |
| 19253 } | 19352 } |
| 19254 else { | 19353 else { |
| 19255 world.warning($assert_String(msg), span); | 19354 world.warning($assert_String(msg), span); |
| 19256 } | 19355 } |
| 19257 } | 19356 } |
| (...skipping 383 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 19641 if ($notnull_bool($ne(newType, t))) needsNewType = true; | 19740 if ($notnull_bool($ne(newType, t))) needsNewType = true; |
| 19642 newTypeArgs.add$1(newType); | 19741 newTypeArgs.add$1(newType); |
| 19643 } | 19742 } |
| 19644 if (!$notnull_bool(needsNewType)) return this; | 19743 if (!$notnull_bool(needsNewType)) return this; |
| 19645 return this.genericType.getOrMakeConcreteType((newTypeArgs && newTypeArgs.is$L
ist$Type())); | 19744 return this.genericType.getOrMakeConcreteType((newTypeArgs && newTypeArgs.is$L
ist$Type())); |
| 19646 } | 19745 } |
| 19647 ConcreteType.prototype.getOrMakeConcreteType = function(typeArgs) { | 19746 ConcreteType.prototype.getOrMakeConcreteType = function(typeArgs) { |
| 19648 return this.genericType.getOrMakeConcreteType(typeArgs); | 19747 return this.genericType.getOrMakeConcreteType(typeArgs); |
| 19649 } | 19748 } |
| 19650 ConcreteType.prototype.get$parent = function() { | 19749 ConcreteType.prototype.get$parent = function() { |
| 19651 return this.genericType.get$parent(); | 19750 if (this._parent == null && this.genericType.get$parent() != null) { |
| 19751 this._parent = this.genericType.get$parent().resolveTypeParams(this); |
| 19752 } |
| 19753 return this._parent; |
| 19652 } | 19754 } |
| 19653 ConcreteType.prototype.get$interfaces = function() { | 19755 ConcreteType.prototype.get$interfaces = function() { |
| 19654 if (this._interfaces == null && this.genericType.interfaces != null) { | 19756 if (this._interfaces == null && this.genericType.interfaces != null) { |
| 19655 this._interfaces = []; | 19757 this._interfaces = []; |
| 19656 var $list = this.genericType.interfaces; | 19758 var $list = this.genericType.interfaces; |
| 19657 for (var $i = 0;$i < $list.length; $i++) { | 19759 for (var $i = 0;$i < $list.length; $i++) { |
| 19658 var i = $list.$index($i); | 19760 var i = $list.$index($i); |
| 19659 this._interfaces.add(i.resolveTypeParams$1(this)); | 19761 this._interfaces.add(i.resolveTypeParams$1(this)); |
| 19660 } | 19762 } |
| 19661 } | 19763 } |
| (...skipping 41 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 19703 ret = new ConcreteMember($assert_String(genericMember.get$name()), this, gen
ericMember); | 19805 ret = new ConcreteMember($assert_String(genericMember.get$name()), this, gen
ericMember); |
| 19704 this.factories.addFactory(this.name, constructorName, (ret && ret.is$Member(
))); | 19806 this.factories.addFactory(this.name, constructorName, (ret && ret.is$Member(
))); |
| 19705 } | 19807 } |
| 19706 else { | 19808 else { |
| 19707 ret = new ConcreteMember(this.name, this, genericMember); | 19809 ret = new ConcreteMember(this.name, this, genericMember); |
| 19708 this.constructors.$setindex(constructorName, ret); | 19810 this.constructors.$setindex(constructorName, ret); |
| 19709 } | 19811 } |
| 19710 return ret; | 19812 return ret; |
| 19711 } | 19813 } |
| 19712 ConcreteType.prototype.getMember = function(memberName) { | 19814 ConcreteType.prototype.getMember = function(memberName) { |
| 19713 var ret = this.members.$index(memberName); | 19815 var $0; |
| 19714 if ($notnull_bool($ne(ret, null))) return (ret && ret.is$Member()); | 19816 var member = (($0 = this.members.$index(memberName)) && $0.is$Member()); |
| 19715 var genericMember = this.genericType.getMember(memberName); | 19817 if (member != null) { |
| 19716 if ($notnull_bool(genericMember == null)) return null; | 19818 this._checkOverride(member); |
| 19717 ret = new ConcreteMember($assert_String(genericMember.get$name()), this, gener
icMember); | 19819 return member; |
| 19718 this.members.$setindex(memberName, ret); | 19820 } |
| 19719 return (ret && ret.is$Member()); | 19821 var genericMember = this.genericType.members.$index(memberName); |
| 19822 if ($notnull_bool($ne(genericMember, null))) { |
| 19823 member = new ConcreteMember($assert_String(genericMember.get$name()), this,
genericMember); |
| 19824 this.members.$setindex(memberName, member); |
| 19825 return member; |
| 19826 } |
| 19827 return this._getMemberInParents(memberName); |
| 19720 } | 19828 } |
| 19721 ConcreteType.prototype.resolveMember = function(memberName) { | 19829 ConcreteType.prototype.resolveMember = function(memberName) { |
| 19722 var mem = this.getMember(memberName); | 19830 var mem = this.getMember(memberName); |
| 19723 if ($notnull_bool(mem == null)) return null; | 19831 if ($notnull_bool(mem == null)) return null; |
| 19724 var ret = new MemberSet((mem && mem.is$Member()), false); | 19832 var ret = new MemberSet((mem && mem.is$Member()), false); |
| 19725 if ($notnull_bool(mem.get$isStatic())) return (ret && ret.is$MemberSet()); | 19833 if ($notnull_bool(mem.get$isStatic())) return (ret && ret.is$MemberSet()); |
| 19726 var $list = this.genericType.get$subtypes(); | 19834 var $list = this.genericType.get$subtypes(); |
| 19727 for (var $i = this.genericType.get$subtypes().iterator(); $i.hasNext$0(); ) { | 19835 for (var $i = this.genericType.get$subtypes().iterator(); $i.hasNext$0(); ) { |
| 19728 var t = $i.next$0(); | 19836 var t = $i.next$0(); |
| 19729 var m = t.get$members().$index(memberName); | 19837 var m = t.get$members().$index(memberName); |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 19797 DefinedType.prototype.set$constructors = function(value) { return this.construct
ors = value; }; | 19905 DefinedType.prototype.set$constructors = function(value) { return this.construct
ors = value; }; |
| 19798 DefinedType.prototype.get$members = function() { return this.members; }; | 19906 DefinedType.prototype.get$members = function() { return this.members; }; |
| 19799 DefinedType.prototype.set$members = function(value) { return this.members = valu
e; }; | 19907 DefinedType.prototype.set$members = function(value) { return this.members = valu
e; }; |
| 19800 DefinedType.prototype.get$factories = function() { return this.factories; }; | 19908 DefinedType.prototype.get$factories = function() { return this.factories; }; |
| 19801 DefinedType.prototype.set$factories = function(value) { return this.factories =
value; }; | 19909 DefinedType.prototype.set$factories = function(value) { return this.factories =
value; }; |
| 19802 DefinedType.prototype.get$isUsed = function() { return this.isUsed; }; | 19910 DefinedType.prototype.get$isUsed = function() { return this.isUsed; }; |
| 19803 DefinedType.prototype.set$isUsed = function(value) { return this.isUsed = value;
}; | 19911 DefinedType.prototype.set$isUsed = function(value) { return this.isUsed = value;
}; |
| 19804 DefinedType.prototype.get$isNativeType = function() { return this.isNativeType;
}; | 19912 DefinedType.prototype.get$isNativeType = function() { return this.isNativeType;
}; |
| 19805 DefinedType.prototype.set$isNativeType = function(value) { return this.isNativeT
ype = value; }; | 19913 DefinedType.prototype.set$isNativeType = function(value) { return this.isNativeT
ype = value; }; |
| 19806 DefinedType.prototype.setDefinition = function(def) { | 19914 DefinedType.prototype.setDefinition = function(def) { |
| 19807 $assert(this.definition == null, "definition == null", "type.dart", 632, 12); | 19915 $assert(this.definition == null, "definition == null", "type.dart", 703, 12); |
| 19808 this.definition = def; | 19916 this.definition = def; |
| 19809 if ((this.definition instanceof TypeDefinition) && this.definition.get$nativeT
ype() != null) { | 19917 if ((this.definition instanceof TypeDefinition) && this.definition.get$nativeT
ype() != null) { |
| 19810 this.isNativeType = true; | 19918 this.isNativeType = true; |
| 19811 } | 19919 } |
| 19812 if (this.definition != null && this.definition.get$typeParameters() != null) { | 19920 if (this.definition != null && this.definition.get$typeParameters() != null) { |
| 19813 this._concreteTypes = $map([]); | 19921 this._concreteTypes = $map([]); |
| 19814 this.typeParameters = []; | 19922 this.typeParameters = []; |
| 19815 var $list = this.definition.get$typeParameters(); | 19923 var $list = this.definition.get$typeParameters(); |
| 19816 for (var $i = 0;$i < $list.length; $i++) { | 19924 for (var $i = 0;$i < $list.length; $i++) { |
| 19817 var tp = $list.$index($i); | 19925 var tp = $list.$index($i); |
| (...skipping 89 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 19907 var resolvedInterface = this.resolveType((type && type.is$TypeReference()),
true); | 20015 var resolvedInterface = this.resolveType((type && type.is$TypeReference()),
true); |
| 19908 if ($notnull_bool(resolvedInterface.get$isClosed()) && !($notnull_bool(this.
library.get$isCore()) || $notnull_bool(this.library.get$isCoreImpl()))) { | 20016 if ($notnull_bool(resolvedInterface.get$isClosed()) && !($notnull_bool(this.
library.get$isCore()) || $notnull_bool(this.library.get$isCoreImpl()))) { |
| 19909 world.error(('can not implement "' + resolvedInterface.get$name() + '": ')
+ 'only native implementation allowed', (($0 = type.get$span()) && $0.is$Source
Span())); | 20017 world.error(('can not implement "' + resolvedInterface.get$name() + '": ')
+ 'only native implementation allowed', (($0 = type.get$span()) && $0.is$Source
Span())); |
| 19910 } | 20018 } |
| 19911 resolvedInterface.addDirectSubtype$1(this); | 20019 resolvedInterface.addDirectSubtype$1(this); |
| 19912 interfaces.add$1(resolvedInterface); | 20020 interfaces.add$1(resolvedInterface); |
| 19913 } | 20021 } |
| 19914 return (interfaces && interfaces.is$List$Type()); | 20022 return (interfaces && interfaces.is$List$Type()); |
| 19915 } | 20023 } |
| 19916 DefinedType.prototype.addDirectSubtype = function(type) { | 20024 DefinedType.prototype.addDirectSubtype = function(type) { |
| 19917 $assert(this._subtypes == null, "_subtypes == null", "type.dart", 748, 12); | 20025 $assert(this._subtypes == null, "_subtypes == null", "type.dart", 819, 12); |
| 19918 this.directSubtypes.add(type); | 20026 this.directSubtypes.add(type); |
| 19919 } | 20027 } |
| 19920 DefinedType.prototype.get$subtypes = function() { | 20028 DefinedType.prototype.get$subtypes = function() { |
| 19921 var $0; | 20029 var $0; |
| 19922 if (this._subtypes == null) { | 20030 if (this._subtypes == null) { |
| 19923 this._subtypes = new HashSetImplementation(); | 20031 this._subtypes = new HashSetImplementation(); |
| 19924 var $list = this.directSubtypes; | 20032 var $list = this.directSubtypes; |
| 19925 for (var $i = this.directSubtypes.iterator(); $i.hasNext$0(); ) { | 20033 for (var $i = this.directSubtypes.iterator(); $i.hasNext$0(); ) { |
| 19926 var st = $i.next$0(); | 20034 var st = $i.next$0(); |
| 19927 this._subtypes.add(st); | 20035 this._subtypes.add(st); |
| (...skipping 230 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 20158 this.addMethod(null, (c && c.is$FunctionDefinition())); | 20266 this.addMethod(null, (c && c.is$FunctionDefinition())); |
| 20159 this.constructors.$index('').resolve$1(this); | 20267 this.constructors.$index('').resolve$1(this); |
| 20160 return this.constructors.$index(''); | 20268 return this.constructors.$index(''); |
| 20161 } | 20269 } |
| 20162 return null; | 20270 return null; |
| 20163 } | 20271 } |
| 20164 DefinedType.prototype.getMember = function(memberName) { | 20272 DefinedType.prototype.getMember = function(memberName) { |
| 20165 var $0; | 20273 var $0; |
| 20166 var member = (($0 = this.members.$index(memberName)) && $0.is$Member()); | 20274 var member = (($0 = this.members.$index(memberName)) && $0.is$Member()); |
| 20167 if (member != null) { | 20275 if (member != null) { |
| 20168 var parentMember = this.getMemberInParents(memberName); | 20276 this._checkOverride(member); |
| 20169 if ($notnull_bool($ne(parentMember, null))) { | |
| 20170 if (!$notnull_bool(member.get$isPrivate()) || $eq(member.get$library(), pa
rentMember.get$library())) { | |
| 20171 member.override((parentMember && parentMember.is$Member())); | |
| 20172 } | |
| 20173 } | |
| 20174 return member; | 20277 return member; |
| 20175 } | 20278 } |
| 20176 if ($notnull_bool(this.get$isTop())) { | 20279 if ($notnull_bool(this.get$isTop())) { |
| 20177 var libType = this.library.findTypeByName(memberName); | 20280 var libType = this.library.findTypeByName(memberName); |
| 20178 if ($notnull_bool($ne(libType, null))) { | 20281 if ($notnull_bool($ne(libType, null))) { |
| 20179 return (($0 = libType.get$typeMember()) && $0.is$Member()); | 20282 return (($0 = libType.get$typeMember()) && $0.is$Member()); |
| 20180 } | 20283 } |
| 20181 } | 20284 } |
| 20182 return this.getMemberInParents(memberName); | 20285 return this._getMemberInParents(memberName); |
| 20183 } | |
| 20184 DefinedType.prototype.getMemberInParents = function(memberName) { | |
| 20185 if ($notnull_bool(this.isClass)) { | |
| 20186 if (this.get$parent() != null) { | |
| 20187 return this.get$parent().getMember(memberName); | |
| 20188 } | |
| 20189 else if ($notnull_bool(this.get$isObject())) { | |
| 20190 if (memberName == '\$ne') { | |
| 20191 var ret = this._createNotEqualMember(); | |
| 20192 this.members.$setindex(memberName, ret); | |
| 20193 return (ret && ret.is$Member()); | |
| 20194 } | |
| 20195 return null; | |
| 20196 } | |
| 20197 } | |
| 20198 else { | |
| 20199 if (this.interfaces != null && this.interfaces.length > 0) { | |
| 20200 var $list = this.interfaces; | |
| 20201 for (var $i = 0;$i < $list.length; $i++) { | |
| 20202 var i = $list.$index($i); | |
| 20203 var ret = i.getMember$1(memberName); | |
| 20204 if ($notnull_bool($ne(ret, null))) { | |
| 20205 return (ret && ret.is$Member()); | |
| 20206 } | |
| 20207 } | |
| 20208 return null; | |
| 20209 } | |
| 20210 else { | |
| 20211 return world.objectType.getMember(memberName); | |
| 20212 } | |
| 20213 } | |
| 20214 } | 20286 } |
| 20215 DefinedType.prototype.resolveMember = function(memberName) { | 20287 DefinedType.prototype.resolveMember = function(memberName) { |
| 20216 var $0; | 20288 var $0; |
| 20217 var ret = (($0 = this._resolvedMembers.$index(memberName)) && $0.is$MemberSet(
)); | 20289 var ret = (($0 = this._resolvedMembers.$index(memberName)) && $0.is$MemberSet(
)); |
| 20218 if (ret != null) return ret; | 20290 if (ret != null) return ret; |
| 20219 var member = this.getMember(memberName); | 20291 var member = this.getMember(memberName); |
| 20220 if (member == null) { | 20292 if (member == null) { |
| 20221 return null; | 20293 return null; |
| 20222 } | 20294 } |
| 20223 ret = new MemberSet(member, false); | 20295 ret = new MemberSet(member, false); |
| (...skipping 10 matching lines...) Expand all Loading... |
| 20234 m = t.getMember$1(memberName); | 20306 m = t.getMember$1(memberName); |
| 20235 } | 20307 } |
| 20236 else { | 20308 else { |
| 20237 m = t.get$members().$index(memberName); | 20309 m = t.get$members().$index(memberName); |
| 20238 } | 20310 } |
| 20239 if ($notnull_bool($ne(m, null))) ret.add((m && m.is$Member())); | 20311 if ($notnull_bool($ne(m, null))) ret.add((m && m.is$Member())); |
| 20240 } | 20312 } |
| 20241 return ret; | 20313 return ret; |
| 20242 } | 20314 } |
| 20243 } | 20315 } |
| 20244 DefinedType.prototype._createNotEqualMember = function() { | |
| 20245 var $0; | |
| 20246 var eq = (($0 = this.members.$index('\$eq')) && $0.is$MethodMember()); | |
| 20247 if (eq == null) { | |
| 20248 world.internalError('INTERNAL: object does not define ==', this.definition.s
pan); | |
| 20249 } | |
| 20250 var ne = new MethodMember('\$ne', this, eq.definition); | |
| 20251 ne.isGenerated = true; | |
| 20252 ne.returnType = eq.returnType; | |
| 20253 ne.parameters = eq.parameters; | |
| 20254 ne.isStatic = eq.isStatic; | |
| 20255 ne.isAbstract = eq.isAbstract; | |
| 20256 return ne; | |
| 20257 } | |
| 20258 DefinedType._getDottedName = function(type) { | 20316 DefinedType._getDottedName = function(type) { |
| 20259 if (type.names != null) { | 20317 if (type.names != null) { |
| 20260 var names = map(type.names, (function (n) { | 20318 var names = map(type.names, (function (n) { |
| 20261 return n.get$name(); | 20319 return n.get$name(); |
| 20262 }) | 20320 }) |
| 20263 ); | 20321 ); |
| 20264 return type.name.name + '.' + Strings.join((names && names.is$List$String())
, '.'); | 20322 return type.name.name + '.' + Strings.join((names && names.is$List$String())
, '.'); |
| 20265 } | 20323 } |
| 20266 else { | 20324 else { |
| 20267 return type.name.name; | 20325 return type.name.name; |
| (...skipping 67 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 20335 } | 20393 } |
| 20336 else { | 20394 else { |
| 20337 world.internalError('unknown type reference', node.span); | 20395 world.internalError('unknown type reference', node.span); |
| 20338 } | 20396 } |
| 20339 return node.type; | 20397 return node.type; |
| 20340 } | 20398 } |
| 20341 DefinedType.prototype.resolveTypeParams = function(inType) { | 20399 DefinedType.prototype.resolveTypeParams = function(inType) { |
| 20342 return this; | 20400 return this; |
| 20343 } | 20401 } |
| 20344 DefinedType.prototype.getOrMakeConcreteType = function(typeArgs) { | 20402 DefinedType.prototype.getOrMakeConcreteType = function(typeArgs) { |
| 20345 $assert(this.get$isGeneric(), "isGeneric", "type.dart", 1231, 12); | 20403 $assert(this.get$isGeneric(), "isGeneric", "type.dart", 1248, 12); |
| 20346 var names = [this.name]; | 20404 var names = [this.name]; |
| 20347 var typeMap = $map([]); | 20405 var typeMap = $map([]); |
| 20348 for (var i = 0; | 20406 for (var i = 0; |
| 20349 i < typeArgs.length; i++) { | 20407 i < typeArgs.length; i++) { |
| 20350 var paramName = this.typeParameters.$index(i).get$name(); | 20408 var paramName = this.typeParameters.$index(i).get$name(); |
| 20351 typeMap.$setindex(paramName, typeArgs.$index(i)); | 20409 typeMap.$setindex(paramName, typeArgs.$index(i)); |
| 20352 names.add$1(typeArgs.$index(i).get$name()); | 20410 names.add$1(typeArgs.$index(i).get$name()); |
| 20353 } | 20411 } |
| 20354 var concreteName = Strings.join((names && names.is$List$String()), '\$'); | 20412 var concreteName = Strings.join((names && names.is$List$String()), '\$'); |
| 20355 var ret = this._concreteTypes.$index(concreteName); | 20413 var ret = this._concreteTypes.$index(concreteName); |
| 20356 if ($notnull_bool(ret == null)) { | 20414 if ($notnull_bool(ret == null)) { |
| 20357 ret = new ConcreteType($assert_String(concreteName), this, typeMap, typeArgs
); | 20415 ret = new ConcreteType($assert_String(concreteName), this, typeMap, typeArgs
); |
| 20358 this._concreteTypes.$setindex(concreteName, ret); | 20416 this._concreteTypes.$setindex(concreteName, ret); |
| 20359 } | 20417 } |
| 20360 return (ret && ret.is$lang_Type()); | 20418 return (ret && ret.is$lang_Type()); |
| 20361 } | 20419 } |
| 20362 DefinedType.prototype.getCallStub = function(args) { | 20420 DefinedType.prototype.getCallStub = function(args) { |
| 20363 $assert(this.get$isFunction(), "isFunction", "type.dart", 1251, 12); | 20421 $assert(this.get$isFunction(), "isFunction", "type.dart", 1268, 12); |
| 20364 var name = _getCallStubName('call', args); | 20422 var name = _getCallStubName('call', args); |
| 20365 if (this.varStubs == null) this.varStubs = $map([]); | 20423 if (this.varStubs == null) this.varStubs = $map([]); |
| 20366 var stub = this.varStubs.$index(name); | 20424 var stub = this.varStubs.$index(name); |
| 20367 if ($notnull_bool(stub == null)) { | 20425 if ($notnull_bool(stub == null)) { |
| 20368 stub = new VarFunctionStub($assert_String(name), args); | 20426 stub = new VarFunctionStub($assert_String(name), args); |
| 20369 this.varStubs.$setindex(name, stub); | 20427 this.varStubs.$setindex(name, stub); |
| 20370 } | 20428 } |
| 20371 return (stub && stub.is$VarFunctionStub()); | 20429 return (stub && stub.is$VarFunctionStub()); |
| 20372 } | 20430 } |
| 20373 DefinedType.prototype.addDirectSubtype$1 = function($0) { | 20431 DefinedType.prototype.addDirectSubtype$1 = function($0) { |
| (...skipping 232 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 20606 world.error($assert_String(message), node.span); | 20664 world.error($assert_String(message), node.span); |
| 20607 } | 20665 } |
| 20608 else { | 20666 else { |
| 20609 world.warning($assert_String(message), node.span); | 20667 world.warning($assert_String(message), node.span); |
| 20610 } | 20668 } |
| 20611 } | 20669 } |
| 20612 } | 20670 } |
| 20613 if ($notnull_bool(member == null) && !$notnull_bool(this.isSuper) && !$notnull
_bool(this.isType)) { | 20671 if ($notnull_bool(member == null) && !$notnull_bool(this.isSuper) && !$notnull
_bool(this.isType)) { |
| 20614 member = context.findMembers(name); | 20672 member = context.findMembers(name); |
| 20615 if ($notnull_bool(member == null) && !$notnull_bool(isDynamic)) { | 20673 if ($notnull_bool(member == null) && !$notnull_bool(isDynamic)) { |
| 20616 world.warning(('' + name + ' is not defined anywhere in the world.'), node
.span); | 20674 var where = 'the world'; |
| 20675 if (name.startsWith('_')) { |
| 20676 where = ('library "' + context.get$library().name + '"'); |
| 20677 } |
| 20678 world.warning(('' + name + ' is not defined anywhere in ' + where + '.'),
node.span); |
| 20617 } | 20679 } |
| 20618 } | 20680 } |
| 20619 return member; | 20681 return member; |
| 20620 } | 20682 } |
| 20621 Value.prototype.checkFirstClass = function(span) { | 20683 Value.prototype.checkFirstClass = function(span) { |
| 20622 if ($notnull_bool(this.isType)) { | 20684 if ($notnull_bool(this.isType)) { |
| 20623 world.error('Types are not first class', span); | 20685 world.error('Types are not first class', span); |
| 20624 } | 20686 } |
| 20625 } | 20687 } |
| 20626 Value.prototype._varCall = function(context, args) { | 20688 Value.prototype._varCall = function(context, args) { |
| (...skipping 158 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 20785 for (var i = 0; | 20847 for (var i = 0; |
| 20786 i < args.get$length(); i++) { | 20848 i < args.get$length(); i++) { |
| 20787 argsCode.add$1(args.values.$index(i).get$code()); | 20849 argsCode.add$1(args.values.$index(i).get$code()); |
| 20788 } | 20850 } |
| 20789 pos = Strings.join((argsCode && argsCode.is$List$String()), ", "); | 20851 pos = Strings.join((argsCode && argsCode.is$List$String()), ", "); |
| 20790 } | 20852 } |
| 20791 var noSuchArgs = [new Value(world.stringType, ('"' + name + '"'), node.span, t
rue), new Value(world.listType, ('[' + pos + ']'), node.span, true)]; | 20853 var noSuchArgs = [new Value(world.stringType, ('"' + name + '"'), node.span, t
rue), new Value(world.listType, ('[' + pos + ']'), node.span, true)]; |
| 20792 return (($0 = this._resolveMember(context, 'noSuchMethod', node, false).invoke
$4(context, node, this, new Arguments(null, noSuchArgs))) && $0.is$Value()); | 20854 return (($0 = this._resolveMember(context, 'noSuchMethod', node, false).invoke
$4(context, node, this, new Arguments(null, noSuchArgs))) && $0.is$Value()); |
| 20793 } | 20855 } |
| 20794 Value.prototype.invokeSpecial = function(name, args, returnType) { | 20856 Value.prototype.invokeSpecial = function(name, args, returnType) { |
| 20795 $assert(name.startsWith('\$'), "name.startsWith('\\$')", "value.dart", 484, 12
); | 20857 $assert(name.startsWith('\$'), "name.startsWith('\\$')", "value.dart", 488, 12
); |
| 20796 $assert(!$notnull_bool(args.get$hasNames()), "!args.hasNames", "value.dart", 4
85, 12); | 20858 $assert(!$notnull_bool(args.get$hasNames()), "!args.hasNames", "value.dart", 4
89, 12); |
| 20797 var argsString = args.getCode(); | 20859 var argsString = args.getCode(); |
| 20798 if (name == '\$index' || name == '\$setindex') { | 20860 if (name == '\$index' || name == '\$setindex') { |
| 20799 return new Value(returnType, ('' + this.code + '.' + name + '(' + argsString
+ ')'), this.span, true); | 20861 return new Value(returnType, ('' + this.code + '.' + name + '(' + argsString
+ ')'), this.span, true); |
| 20800 } | 20862 } |
| 20801 else { | 20863 else { |
| 20802 if (argsString.length > 0) argsString = (', ' + argsString + ''); | 20864 if (argsString.length > 0) argsString = (', ' + argsString + ''); |
| 20803 world.gen.corejs.useOperator(name); | 20865 world.gen.corejs.useOperator(name); |
| 20804 return new Value(returnType, ('' + name + '(' + this.code + '' + argsString
+ ')'), this.span, true); | 20866 return new Value(returnType, ('' + name + '(' + this.code + '' + argsString
+ ')'), this.span, true); |
| 20805 } | 20867 } |
| 20806 } | 20868 } |
| (...skipping 197 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 21004 BareValue.prototype._ensureCode = function() { | 21066 BareValue.prototype._ensureCode = function() { |
| 21005 if (this.code != null) return; | 21067 if (this.code != null) return; |
| 21006 if ($notnull_bool(this.isType)) { | 21068 if ($notnull_bool(this.isType)) { |
| 21007 this.code = this.type.get$jsname(); | 21069 this.code = this.type.get$jsname(); |
| 21008 } | 21070 } |
| 21009 else { | 21071 else { |
| 21010 this.code = this.home._makeThisCode(); | 21072 this.code = this.home._makeThisCode(); |
| 21011 } | 21073 } |
| 21012 } | 21074 } |
| 21013 BareValue.prototype._tryResolveMember = function(context, name) { | 21075 BareValue.prototype._tryResolveMember = function(context, name) { |
| 21014 $assert($eq(context, this.home), "context == home", "value.dart", 699, 12); | 21076 $assert($eq(context, this.home), "context == home", "value.dart", 703, 12); |
| 21015 var member = this.type.resolveMember(name); | 21077 var member = this.type.resolveMember(name); |
| 21016 if ($notnull_bool($ne(member, null))) { | 21078 if ($notnull_bool($ne(member, null))) { |
| 21017 this._ensureCode(); | 21079 this._ensureCode(); |
| 21018 return member; | 21080 return member; |
| 21019 } | 21081 } |
| 21020 member = this.home.get$library().lookup(name, this.span); | 21082 member = this.home.get$library().lookup(name, this.span); |
| 21021 if ($notnull_bool($ne(member, null))) { | 21083 if ($notnull_bool($ne(member, null))) { |
| 21022 return member; | 21084 return member; |
| 21023 } | 21085 } |
| 21024 this._ensureCode(); | 21086 this._ensureCode(); |
| (...skipping 344 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 21369 this.throwOnFatal = false | 21431 this.throwOnFatal = false |
| 21370 this.showInfo = false | 21432 this.showInfo = false |
| 21371 this.showWarnings = true | 21433 this.showWarnings = true |
| 21372 // Initializers done | 21434 // Initializers done |
| 21373 this.libDir = homedir + '/lib'; | 21435 this.libDir = homedir + '/lib'; |
| 21374 var ignoreUnrecognizedFlags = false; | 21436 var ignoreUnrecognizedFlags = false; |
| 21375 var passedLibDir = false; | 21437 var passedLibDir = false; |
| 21376 this.childArgs = []; | 21438 this.childArgs = []; |
| 21377 loop: | 21439 loop: |
| 21378 for (var i = 2; | 21440 for (var i = 2; |
| 21379 i < args.length; i++) { | 21441 i < $assert_num(args.length); i++) { |
| 21380 var arg = args.$index(i); | 21442 var arg = args.$index(i); |
| 21381 switch (arg) { | 21443 switch (arg) { |
| 21382 case '--enable_leg': | 21444 case '--enable_leg': |
| 21383 | 21445 |
| 21384 this.enableLeg = true; | 21446 this.enableLeg = true; |
| 21385 continue loop; | 21447 continue loop; |
| 21386 | 21448 |
| 21387 case '--leg_only': | 21449 case '--leg_only': |
| 21388 | 21450 |
| 21389 this.enableLeg = true; | 21451 this.enableLeg = true; |
| (...skipping 425 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 21815 if (!$notnull_bool(options.compileOnly)) { | 21877 if (!$notnull_bool(options.compileOnly)) { |
| 21816 process.argv = [argv.$index(0), argv.$index(1)]; | 21878 process.argv = [argv.$index(0), argv.$index(1)]; |
| 21817 process.argv.addAll(options.childArgs); | 21879 process.argv.addAll(options.childArgs); |
| 21818 vm.runInNewContext($assert_String(code), createSandbox()); | 21880 vm.runInNewContext($assert_String(code), createSandbox()); |
| 21819 } | 21881 } |
| 21820 } | 21882 } |
| 21821 else { | 21883 else { |
| 21822 process.exit(1); | 21884 process.exit(1); |
| 21823 } | 21885 } |
| 21824 } | 21886 } |
| 21887 // ********** Generic Type Inheritance ************** |
| 21888 /** Implements extends for generic types. */ |
| 21889 function $inheritsMembers(child, parent) { |
| 21890 child = child.prototype; |
| 21891 parent = parent.prototype; |
| 21892 Object.getOwnPropertyNames(parent).forEach(function(name) { |
| 21893 if (typeof(child[name]) == 'undefined') child[name] = parent[name]; |
| 21894 }); |
| 21895 } |
| 21896 $inheritsMembers(_DoubleLinkedQueueEntrySentinel$E, DoubleLinkedQueueEntry$E); |
| 21897 $inheritsMembers(_DoubleLinkedQueueEntrySentinel$KeyValuePair$K$V, DoubleLinkedQ
ueueEntry$KeyValuePair$K$V); |
| 21898 $inheritsMembers(LinkEntry$T, AbstractLink$T); |
| 21899 $inheritsMembers(ArrayBasedScanner$SourceString, AbstractScanner$SourceString); |
| 21825 // ********** Globals ************** | 21900 // ********** Globals ************** |
| 21826 var const$0 = new NoMoreElementsException()/*const NoMoreElementsException()*/; | 21901 var const$0 = new NoMoreElementsException()/*const NoMoreElementsException()*/; |
| 21827 var const$10 = new StringWrapper('String')/*const SourceString('String')*/; | 21902 var const$10 = new StringWrapper('String')/*const SourceString('String')*/; |
| 21828 var const$100 = new Keyword("operator", true)/*const Keyword("operator", true)*/
; | 21903 var const$100 = new Keyword("operator", true)/*const Keyword("operator", true)*/
; |
| 21829 var const$102 = new Keyword("set", true)/*const Keyword("set", true)*/; | 21904 var const$102 = new Keyword("set", true)/*const Keyword("set", true)*/; |
| 21830 var const$104 = new Keyword("source", true)/*const Keyword("source", true)*/; | 21905 var const$104 = new Keyword("source", true)/*const Keyword("source", true)*/; |
| 21831 var const$106 = new Keyword("static", true)/*const Keyword("static", true)*/; | 21906 var const$106 = new Keyword("static", true)/*const Keyword("static", true)*/; |
| 21832 var const$108 = new Keyword("typedef", true)/*const Keyword("typedef", true)*/; | 21907 var const$108 = new Keyword("typedef", true)/*const Keyword("typedef", true)*/; |
| 21833 var const$112 = new StringWrapper('EOF')/*const SourceString('EOF')*/; | 21908 var const$112 = new StringWrapper('EOF')/*const SourceString('EOF')*/; |
| 21834 var const$12 = new IllegalAccessException()/*const IllegalAccessException()*/; | 21909 var const$12 = new IllegalAccessException()/*const IllegalAccessException()*/; |
| (...skipping 276 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 22111 INTERFACE, | 22186 INTERFACE, |
| 22112 LIBRARY, | 22187 LIBRARY, |
| 22113 NATIVE, | 22188 NATIVE, |
| 22114 NEGATE, | 22189 NEGATE, |
| 22115 OPERATOR, | 22190 OPERATOR, |
| 22116 SET, | 22191 SET, |
| 22117 SOURCE, | 22192 SOURCE, |
| 22118 STATIC, | 22193 STATIC, |
| 22119 TYPEDEF ]*/; | 22194 TYPEDEF ]*/; |
| 22120 main(); | 22195 main(); |
| OLD | NEW |