| 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 function $defProp(obj, prop, value) { | 4 function $defProp(obj, prop, value) { |
| 5 Object.defineProperty(obj, prop, | 5 Object.defineProperty(obj, prop, |
| 6 {value: value, enumerable: false, writable: true, configurable: true}); | 6 {value: value, enumerable: false, writable: true, configurable: true}); |
| 7 } | 7 } |
| 8 Function.prototype.bind = Function.prototype.bind || | 8 Function.prototype.bind = Function.prototype.bind || |
| 9 function(thisObj) { | 9 function(thisObj) { |
| 10 var func = this; | 10 var func = this; |
| (...skipping 330 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 341 // ********** Code for IllegalAccessException ************** | 341 // ********** Code for IllegalAccessException ************** |
| 342 function IllegalAccessException() { | 342 function IllegalAccessException() { |
| 343 | 343 |
| 344 } | 344 } |
| 345 IllegalAccessException.prototype.toString = function() { | 345 IllegalAccessException.prototype.toString = function() { |
| 346 return "Attempt to modify an immutable object"; | 346 return "Attempt to modify an immutable object"; |
| 347 } | 347 } |
| 348 IllegalAccessException.prototype.toString$0 = IllegalAccessException.prototype.t
oString; | 348 IllegalAccessException.prototype.toString$0 = IllegalAccessException.prototype.t
oString; |
| 349 // ********** Code for NoSuchMethodException ************** | 349 // ********** Code for NoSuchMethodException ************** |
| 350 function NoSuchMethodException(_receiver, _functionName, _arguments, _existingAr
gumentNames) { | 350 function NoSuchMethodException(_receiver, _functionName, _arguments, _existingAr
gumentNames) { |
| 351 this._existingArgumentNames = _existingArgumentNames; | |
| 352 this._receiver = _receiver; | 351 this._receiver = _receiver; |
| 353 this._functionName = _functionName; | 352 this._functionName = _functionName; |
| 354 this._arguments = _arguments; | 353 this._arguments = _arguments; |
| 354 this._existingArgumentNames = _existingArgumentNames; |
| 355 } | 355 } |
| 356 NoSuchMethodException.prototype.is$NoSuchMethodException = function(){return tru
e}; | 356 NoSuchMethodException.prototype.is$NoSuchMethodException = function(){return tru
e}; |
| 357 NoSuchMethodException.prototype.toString = function() { | 357 NoSuchMethodException.prototype.toString = function() { |
| 358 var sb = new StringBufferImpl(""); | 358 var sb = new StringBufferImpl(""); |
| 359 for (var i = (0); | 359 for (var i = (0); |
| 360 i < this._arguments.get$length(); i++) { | 360 i < this._arguments.get$length(); i++) { |
| 361 if (i > (0)) { | 361 if (i > (0)) { |
| 362 sb.add(", "); | 362 sb.add(", "); |
| 363 } | 363 } |
| 364 sb.add(this._arguments.$index(i)); | 364 sb.add(this._arguments.$index(i)); |
| (...skipping 381 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 746 return this.re.test(str); | 746 return this.re.test(str); |
| 747 } | 747 } |
| 748 JSSyntaxRegExp.prototype.allMatches = function(str) { | 748 JSSyntaxRegExp.prototype.allMatches = function(str) { |
| 749 return new _AllMatchesIterable(this, str); | 749 return new _AllMatchesIterable(this, str); |
| 750 } | 750 } |
| 751 JSSyntaxRegExp.prototype.get$_global = function() { | 751 JSSyntaxRegExp.prototype.get$_global = function() { |
| 752 return new JSSyntaxRegExp._create$ctor(this.pattern, $add$($add$("g", (this.mu
ltiLine ? "m" : "")), (this.ignoreCase ? "i" : ""))); | 752 return new JSSyntaxRegExp._create$ctor(this.pattern, $add$($add$("g", (this.mu
ltiLine ? "m" : "")), (this.ignoreCase ? "i" : ""))); |
| 753 } | 753 } |
| 754 // ********** Code for MatchImplementation ************** | 754 // ********** Code for MatchImplementation ************** |
| 755 function MatchImplementation(pattern, str, _start, _end, _groups) { | 755 function MatchImplementation(pattern, str, _start, _end, _groups) { |
| 756 this.pattern = pattern; |
| 756 this.str = str; | 757 this.str = str; |
| 757 this._start = _start; | 758 this._start = _start; |
| 759 this._end = _end; |
| 758 this._groups = _groups; | 760 this._groups = _groups; |
| 759 this.pattern = pattern; | |
| 760 this._end = _end; | |
| 761 } | 761 } |
| 762 MatchImplementation.prototype.start = function() { | 762 MatchImplementation.prototype.start = function() { |
| 763 return this._start; | 763 return this._start; |
| 764 } | 764 } |
| 765 MatchImplementation.prototype.get$start = function() { | 765 MatchImplementation.prototype.get$start = function() { |
| 766 return this.start.bind(this); | 766 return this.start.bind(this); |
| 767 } | 767 } |
| 768 MatchImplementation.prototype.end = function() { | 768 MatchImplementation.prototype.end = function() { |
| 769 return this._end; | 769 return this._end; |
| 770 } | 770 } |
| 771 MatchImplementation.prototype.$index = function(group) { | 771 MatchImplementation.prototype.$index = function(group) { |
| 772 return this._groups.$index(group); | 772 return this._groups.$index(group); |
| 773 } | 773 } |
| 774 MatchImplementation.prototype.end$0 = MatchImplementation.prototype.end; | 774 MatchImplementation.prototype.end$0 = MatchImplementation.prototype.end; |
| 775 // ********** Code for _AllMatchesIterable ************** | 775 // ********** Code for _AllMatchesIterable ************** |
| 776 function _AllMatchesIterable(_re, _str) { | 776 function _AllMatchesIterable(_re, _str) { |
| 777 this._re = _re; | 777 this._re = _re; |
| 778 this._str = _str; | 778 this._str = _str; |
| 779 } | 779 } |
| 780 _AllMatchesIterable.prototype.iterator = function() { | 780 _AllMatchesIterable.prototype.iterator = function() { |
| 781 return new _AllMatchesIterator(this._re, this._str); | 781 return new _AllMatchesIterator(this._re, this._str); |
| 782 } | 782 } |
| 783 // ********** Code for _AllMatchesIterator ************** | 783 // ********** Code for _AllMatchesIterator ************** |
| 784 function _AllMatchesIterator(re, _str) { | 784 function _AllMatchesIterator(re, _str) { |
| 785 this._str = _str; |
| 785 this._done = false; | 786 this._done = false; |
| 786 this._re = re.get$_global(); | 787 this._re = re.get$_global(); |
| 787 this._str = _str; | |
| 788 } | 788 } |
| 789 _AllMatchesIterator.prototype.next = function() { | 789 _AllMatchesIterator.prototype.next = function() { |
| 790 if (!this.hasNext()) { | 790 if (!this.hasNext()) { |
| 791 $throw(const$0001); | 791 $throw(const$0001); |
| 792 } | 792 } |
| 793 var next = this._next; | 793 var next = this._next; |
| 794 this._next = null; | 794 this._next = null; |
| 795 return next; | 795 return next; |
| 796 } | 796 } |
| 797 _AllMatchesIterator.prototype.hasNext = function() { | 797 _AllMatchesIterator.prototype.hasNext = function() { |
| (...skipping 440 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1238 HashSetImplementation_Member.prototype.is$Collection = function(){return true}; | 1238 HashSetImplementation_Member.prototype.is$Collection = function(){return true}; |
| 1239 // ********** Code for HashSetImplementation_Type ************** | 1239 // ********** Code for HashSetImplementation_Type ************** |
| 1240 $inherits(HashSetImplementation_Type, HashSetImplementation); | 1240 $inherits(HashSetImplementation_Type, HashSetImplementation); |
| 1241 function HashSetImplementation_Type() { | 1241 function HashSetImplementation_Type() { |
| 1242 this._backingMap = new HashMapImplementation_Type$Type(); | 1242 this._backingMap = new HashMapImplementation_Type$Type(); |
| 1243 } | 1243 } |
| 1244 HashSetImplementation_Type.prototype.is$Collection = function(){return true}; | 1244 HashSetImplementation_Type.prototype.is$Collection = function(){return true}; |
| 1245 HashSetImplementation_Type.prototype.contains$1 = HashSetImplementation_Type.pro
totype.contains; | 1245 HashSetImplementation_Type.prototype.contains$1 = HashSetImplementation_Type.pro
totype.contains; |
| 1246 // ********** Code for HashSetIterator ************** | 1246 // ********** Code for HashSetIterator ************** |
| 1247 function HashSetIterator(set_) { | 1247 function HashSetIterator(set_) { |
| 1248 this._nextValidIndex = (-1); |
| 1248 this._entries = set_._backingMap._keys; | 1249 this._entries = set_._backingMap._keys; |
| 1249 this._nextValidIndex = (-1); | |
| 1250 this._advance(); | 1250 this._advance(); |
| 1251 } | 1251 } |
| 1252 HashSetIterator.prototype.hasNext = function() { | 1252 HashSetIterator.prototype.hasNext = function() { |
| 1253 var $0; | 1253 var $0; |
| 1254 if (this._nextValidIndex >= this._entries.get$length()) return false; | 1254 if (this._nextValidIndex >= this._entries.get$length()) return false; |
| 1255 if ((($0 = this._entries.$index(this._nextValidIndex)) == null ? null == (cons
t$0000) : $0 === const$0000)) { | 1255 if ((($0 = this._entries.$index(this._nextValidIndex)) == null ? null == (cons
t$0000) : $0 === const$0000)) { |
| 1256 this._advance(); | 1256 this._advance(); |
| 1257 } | 1257 } |
| 1258 return this._nextValidIndex < this._entries.get$length(); | 1258 return this._nextValidIndex < this._entries.get$length(); |
| 1259 } | 1259 } |
| (...skipping 14 matching lines...) Expand all Loading... |
| 1274 entry = this._entries.$index(this._nextValidIndex); | 1274 entry = this._entries.$index(this._nextValidIndex); |
| 1275 } | 1275 } |
| 1276 while ((null == entry) || ((null == entry ? null == (deletedKey) : entry === d
eletedKey))) | 1276 while ((null == entry) || ((null == entry ? null == (deletedKey) : entry === d
eletedKey))) |
| 1277 } | 1277 } |
| 1278 // ********** Code for _DeletedKeySentinel ************** | 1278 // ********** Code for _DeletedKeySentinel ************** |
| 1279 function _DeletedKeySentinel() { | 1279 function _DeletedKeySentinel() { |
| 1280 | 1280 |
| 1281 } | 1281 } |
| 1282 // ********** Code for KeyValuePair ************** | 1282 // ********** Code for KeyValuePair ************** |
| 1283 function KeyValuePair(key, value) { | 1283 function KeyValuePair(key, value) { |
| 1284 this.key = key; |
| 1284 this.value = value; | 1285 this.value = value; |
| 1285 this.key = key; | |
| 1286 } | 1286 } |
| 1287 KeyValuePair.prototype.get$value = function() { return this.value; }; | 1287 KeyValuePair.prototype.get$value = function() { return this.value; }; |
| 1288 KeyValuePair.prototype.set$value = function(value) { return this.value = value;
}; | 1288 KeyValuePair.prototype.set$value = function(value) { return this.value = value;
}; |
| 1289 // ********** Code for LinkedHashMapImplementation ************** | 1289 // ********** Code for LinkedHashMapImplementation ************** |
| 1290 function LinkedHashMapImplementation() { | 1290 function LinkedHashMapImplementation() { |
| 1291 this._map = new HashMapImplementation_Dynamic$DoubleLinkedQueueEntry_KeyValueP
air(); | 1291 this._map = new HashMapImplementation_Dynamic$DoubleLinkedQueueEntry_KeyValueP
air(); |
| 1292 this._list = new DoubleLinkedQueue_KeyValuePair(); | 1292 this._list = new DoubleLinkedQueue_KeyValuePair(); |
| 1293 } | 1293 } |
| 1294 LinkedHashMapImplementation.prototype.is$Map = function(){return true}; | 1294 LinkedHashMapImplementation.prototype.is$Map = function(){return true}; |
| 1295 LinkedHashMapImplementation.prototype.$setindex = function(key, value) { | 1295 LinkedHashMapImplementation.prototype.$setindex = function(key, value) { |
| (...skipping 520 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 1816 var ret = new LinkedHashMapImplementation(); | 1816 var ret = new LinkedHashMapImplementation(); |
| 1817 for (var i = (0); | 1817 for (var i = (0); |
| 1818 i < itemsAndKeys.get$length(); ) { | 1818 i < itemsAndKeys.get$length(); ) { |
| 1819 ret.$setindex(itemsAndKeys.$index(i++), itemsAndKeys.$index(i++)); | 1819 ret.$setindex(itemsAndKeys.$index(i++), itemsAndKeys.$index(i++)); |
| 1820 } | 1820 } |
| 1821 return ret; | 1821 return ret; |
| 1822 } | 1822 } |
| 1823 // ********** Library node ************** | 1823 // ********** Library node ************** |
| 1824 // ********** Code for Process ************** | 1824 // ********** Code for Process ************** |
| 1825 function Process(_process) { | 1825 function Process(_process) { |
| 1826 this.SIGSYS = "SIGSYS"; | 1826 this.SIGHUP = "SIGHUP"; |
| 1827 this.SIGALRM = "SIGALRM"; | 1827 this.SIGINT = "SIGINT"; |
| 1828 this.SIGXCPU = "SIGXCPU"; | |
| 1829 this.SIGTSTP = "SIGTSTP"; | |
| 1830 this.SIGSEGV = "SIGSEGV"; | |
| 1831 this.SIGQUIT = "SIGQUIT"; | 1828 this.SIGQUIT = "SIGQUIT"; |
| 1832 this.SIGABRT = "SIGABRT"; | |
| 1833 this.SIGKILL = "SIGKILL"; | |
| 1834 this.SIGHUP = "SIGHUP"; | |
| 1835 this.SIGUSR2 = "SIGUSR2"; | |
| 1836 this.SIGXFSZ = "SIGXFSZ"; | |
| 1837 this.SIGCONT = "SIGCONT"; | |
| 1838 this.SIGTTOU = "SIGTTOU"; | |
| 1839 this.SIGINT = "SIGINT"; | |
| 1840 this.SIGURG = "SIGURG"; | |
| 1841 this.SIGFPE = "SIGFPE"; | |
| 1842 this.SIGUSR1 = "SIGUSR1"; | |
| 1843 this.SIGEMT = "SIGEMT"; | |
| 1844 this.SIGPIPE = "SIGPIPE"; | |
| 1845 this.SIGTTIN = "SIGTTIN"; | |
| 1846 this.SIGTERM = "SIGTERM"; | |
| 1847 this._process = _process; | |
| 1848 this.SIGBUS = "SIGBUS"; | |
| 1849 this.SIGPROF = "SIGPROF"; | |
| 1850 this.SIGSTOP = "SIGSTOP"; | |
| 1851 this.SIGCHLD = "SIGCHLD"; | |
| 1852 this.SIGILL = "SIGILL"; | 1829 this.SIGILL = "SIGILL"; |
| 1853 this.SIGTRAP = "SIGTRAP"; | 1830 this.SIGTRAP = "SIGTRAP"; |
| 1831 this.SIGABRT = "SIGABRT"; |
| 1832 this.SIGEMT = "SIGEMT"; |
| 1833 this.SIGFPE = "SIGFPE"; |
| 1834 this.SIGKILL = "SIGKILL"; |
| 1835 this.SIGBUS = "SIGBUS"; |
| 1836 this.SIGSEGV = "SIGSEGV"; |
| 1837 this.SIGSYS = "SIGSYS"; |
| 1838 this.SIGPIPE = "SIGPIPE"; |
| 1839 this.SIGALRM = "SIGALRM"; |
| 1840 this.SIGTERM = "SIGTERM"; |
| 1841 this.SIGURG = "SIGURG"; |
| 1842 this.SIGSTOP = "SIGSTOP"; |
| 1843 this.SIGTSTP = "SIGTSTP"; |
| 1844 this.SIGCONT = "SIGCONT"; |
| 1845 this.SIGCHLD = "SIGCHLD"; |
| 1846 this.SIGTTIN = "SIGTTIN"; |
| 1847 this.SIGTTOU = "SIGTTOU"; |
| 1848 this.SIGIO = "SIGIO"; |
| 1849 this.SIGXCPU = "SIGXCPU"; |
| 1850 this.SIGXFSZ = "SIGXFSZ"; |
| 1851 this.SIGVTALRM = "SIGVTALRM"; |
| 1852 this.SIGPROF = "SIGPROF"; |
| 1853 this.SIGWINCH = "SIGWINCH"; |
| 1854 this.SIGINFO = "SIGINFO"; | 1854 this.SIGINFO = "SIGINFO"; |
| 1855 this.SIGIO = "SIGIO"; | 1855 this.SIGUSR1 = "SIGUSR1"; |
| 1856 this.SIGVTALRM = "SIGVTALRM"; | 1856 this.SIGUSR2 = "SIGUSR2"; |
| 1857 this.SIGWINCH = "SIGWINCH"; | 1857 this._process = _process; |
| 1858 } | 1858 } |
| 1859 Process.prototype.get$argv = function() { | 1859 Process.prototype.get$argv = function() { |
| 1860 return this._process.argv; | 1860 return this._process.argv; |
| 1861 } | 1861 } |
| 1862 Process.prototype.set$argv = function(value) { | 1862 Process.prototype.set$argv = function(value) { |
| 1863 this._process.argv = value; | 1863 this._process.argv = value; |
| 1864 } | 1864 } |
| 1865 Process.prototype.get$env = function() { | 1865 Process.prototype.get$env = function() { |
| 1866 return new EnvMap(this._process); | 1866 return new EnvMap(this._process); |
| 1867 } | 1867 } |
| (...skipping 173 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2041 NodeFileSystem.prototype.readAll = function(filename) { | 2041 NodeFileSystem.prototype.readAll = function(filename) { |
| 2042 return fs.readFileSync(filename, "utf8"); | 2042 return fs.readFileSync(filename, "utf8"); |
| 2043 } | 2043 } |
| 2044 NodeFileSystem.prototype.fileExists = function(filename) { | 2044 NodeFileSystem.prototype.fileExists = function(filename) { |
| 2045 return path.existsSync(filename); | 2045 return path.existsSync(filename); |
| 2046 } | 2046 } |
| 2047 // ********** Code for top level ************** | 2047 // ********** Code for top level ************** |
| 2048 // ********** Library lang ************** | 2048 // ********** Library lang ************** |
| 2049 // ********** Code for MethodAnalyzer ************** | 2049 // ********** Code for MethodAnalyzer ************** |
| 2050 function MethodAnalyzer(method, body) { | 2050 function MethodAnalyzer(method, body) { |
| 2051 this.hasTypeParams = false; |
| 2051 this.method = method; | 2052 this.method = method; |
| 2052 this.body = body; | 2053 this.body = body; |
| 2053 this.hasTypeParams = false; | |
| 2054 } | 2054 } |
| 2055 MethodAnalyzer.prototype.get$method = function() { return this.method; }; | 2055 MethodAnalyzer.prototype.get$method = function() { return this.method; }; |
| 2056 MethodAnalyzer.prototype.get$body = function() { return this.body; }; | 2056 MethodAnalyzer.prototype.get$body = function() { return this.body; }; |
| 2057 MethodAnalyzer.prototype.get$hasTypeParams = function() { return this.hasTypePar
ams; }; | 2057 MethodAnalyzer.prototype.get$hasTypeParams = function() { return this.hasTypePar
ams; }; |
| 2058 MethodAnalyzer.prototype.analyze = function(context) { | 2058 MethodAnalyzer.prototype.analyze = function(context) { |
| 2059 var thisValue; | 2059 var thisValue; |
| 2060 if (context != null) { | 2060 if (context != null) { |
| 2061 thisValue = context.thisValue; | 2061 thisValue = context.thisValue; |
| 2062 } | 2062 } |
| 2063 else { | 2063 else { |
| (...skipping 608 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2672 return this.visitBinaryExpression($0, false); | 2672 return this.visitBinaryExpression($0, false); |
| 2673 }; | 2673 }; |
| 2674 MethodAnalyzer.prototype.visitCallExpression$1 = function($0) { | 2674 MethodAnalyzer.prototype.visitCallExpression$1 = function($0) { |
| 2675 return this.visitCallExpression($0, false); | 2675 return this.visitCallExpression($0, false); |
| 2676 }; | 2676 }; |
| 2677 MethodAnalyzer.prototype.visitPostfixExpression$1 = function($0) { | 2677 MethodAnalyzer.prototype.visitPostfixExpression$1 = function($0) { |
| 2678 return this.visitPostfixExpression($0, false); | 2678 return this.visitPostfixExpression($0, false); |
| 2679 }; | 2679 }; |
| 2680 // ********** Code for CallFrame ************** | 2680 // ********** Code for CallFrame ************** |
| 2681 function CallFrame(analyzer, method, thisValue, args, enclosingFrame) { | 2681 function CallFrame(analyzer, method, thisValue, args, enclosingFrame) { |
| 2682 this.args = args; | |
| 2683 this.analyzer = analyzer; | 2682 this.analyzer = analyzer; |
| 2684 this.enclosingFrame = enclosingFrame; | |
| 2685 this.method = method; | 2683 this.method = method; |
| 2686 this.thisValue = thisValue; | 2684 this.thisValue = thisValue; |
| 2685 this.args = args; |
| 2686 this.enclosingFrame = enclosingFrame; |
| 2687 this._slots = []; | 2687 this._slots = []; |
| 2688 this._scope = new AnalyzeScope(null, this, this.analyzer.body); | 2688 this._scope = new AnalyzeScope(null, this, this.analyzer.body); |
| 2689 this._returnSlot = new VariableSlot(this._scope, "return", this.method.returnT
ype, this.analyzer.body, false); | 2689 this._returnSlot = new VariableSlot(this._scope, "return", this.method.returnT
ype, this.analyzer.body, false); |
| 2690 } | 2690 } |
| 2691 CallFrame.prototype.findMembers = function(name) { | 2691 CallFrame.prototype.findMembers = function(name) { |
| 2692 return this.get$library()._findMembers(name); | 2692 return this.get$library()._findMembers(name); |
| 2693 } | 2693 } |
| 2694 CallFrame.prototype.get$counters = function() { | 2694 CallFrame.prototype.get$counters = function() { |
| 2695 return $globals.world.counters; | 2695 return $globals.world.counters; |
| 2696 } | 2696 } |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2763 return new PureStaticValue(type, node == null ? null : node.span, false, false
); | 2763 return new PureStaticValue(type, node == null ? null : node.span, false, false
); |
| 2764 } | 2764 } |
| 2765 CallFrame.prototype.makeSuperValue = function(node) { | 2765 CallFrame.prototype.makeSuperValue = function(node) { |
| 2766 return this._makeValue(this.thisValue.get$type().get$parent(), node); | 2766 return this._makeValue(this.thisValue.get$type().get$parent(), node); |
| 2767 } | 2767 } |
| 2768 CallFrame.prototype.makeThisValue = function(node) { | 2768 CallFrame.prototype.makeThisValue = function(node) { |
| 2769 return this._makeValue(this.thisValue.get$type(), node); | 2769 return this._makeValue(this.thisValue.get$type(), node); |
| 2770 } | 2770 } |
| 2771 // ********** Code for VariableSlot ************** | 2771 // ********** Code for VariableSlot ************** |
| 2772 function VariableSlot(scope, name, staticType, node, isFinal, value) { | 2772 function VariableSlot(scope, name, staticType, node, isFinal, value) { |
| 2773 this.scope = scope; |
| 2774 this.name = name; |
| 2775 this.staticType = staticType; |
| 2776 this.node = node; |
| 2777 this.isFinal = isFinal; |
| 2773 this.value = value; | 2778 this.value = value; |
| 2774 this.name = name; | |
| 2775 this.scope = scope; | |
| 2776 this.node = node; | |
| 2777 this.staticType = staticType; | |
| 2778 this.isFinal = isFinal; | |
| 2779 if (null != this.value) { | 2779 if (null != this.value) { |
| 2780 this.value = this.value.convertTo(this.scope.frame, this.staticType); | 2780 this.value = this.value.convertTo(this.scope.frame, this.staticType); |
| 2781 } | 2781 } |
| 2782 } | 2782 } |
| 2783 VariableSlot.prototype.get$scope = function() { return this.scope; }; | 2783 VariableSlot.prototype.get$scope = function() { return this.scope; }; |
| 2784 VariableSlot.prototype.get$name = function() { return this.name; }; | 2784 VariableSlot.prototype.get$name = function() { return this.name; }; |
| 2785 VariableSlot.prototype.get$staticType = function() { return this.staticType; }; | 2785 VariableSlot.prototype.get$staticType = function() { return this.staticType; }; |
| 2786 VariableSlot.prototype.get$isFinal = function() { return this.isFinal; }; | 2786 VariableSlot.prototype.get$isFinal = function() { return this.isFinal; }; |
| 2787 VariableSlot.prototype.get$value = function() { return this.value; }; | 2787 VariableSlot.prototype.get$value = function() { return this.value; }; |
| 2788 VariableSlot.prototype.set$value = function(value) { return this.value = value;
}; | 2788 VariableSlot.prototype.set$value = function(value) { return this.value = value;
}; |
| 2789 VariableSlot.prototype.get = function(position) { | 2789 VariableSlot.prototype.get = function(position) { |
| 2790 return this.scope.frame._makeValue(this.staticType, position); | 2790 return this.scope.frame._makeValue(this.staticType, position); |
| 2791 } | 2791 } |
| 2792 VariableSlot.prototype.set = function(newValue) { | 2792 VariableSlot.prototype.set = function(newValue) { |
| 2793 if (null != newValue) { | 2793 if (null != newValue) { |
| 2794 newValue = newValue.convertTo(this.scope.frame, this.staticType); | 2794 newValue = newValue.convertTo(this.scope.frame, this.staticType); |
| 2795 } | 2795 } |
| 2796 this.value = Value.union(this.value, newValue); | 2796 this.value = Value.union(this.value, newValue); |
| 2797 } | 2797 } |
| 2798 VariableSlot.prototype.toString = function() { | 2798 VariableSlot.prototype.toString = function() { |
| 2799 var valueString = null != this.value ? (" = " + this.value.get$type().name) :
""; | 2799 var valueString = null != this.value ? (" = " + this.value.get$type().name) :
""; |
| 2800 return ("" + this.staticType.name + " " + this.name + valueString); | 2800 return ("" + this.staticType.name + " " + this.name + valueString); |
| 2801 } | 2801 } |
| 2802 VariableSlot.prototype.toString$0 = VariableSlot.prototype.toString; | 2802 VariableSlot.prototype.toString$0 = VariableSlot.prototype.toString; |
| 2803 // ********** Code for AnalyzeScope ************** | 2803 // ********** Code for AnalyzeScope ************** |
| 2804 function AnalyzeScope(parent, frame, node) { | 2804 function AnalyzeScope(parent, frame, node) { |
| 2805 this.parent = parent; |
| 2805 this.frame = frame; | 2806 this.frame = frame; |
| 2806 this.parent = parent; | |
| 2807 this.node = node; | 2807 this.node = node; |
| 2808 this._slots = []; | 2808 this._slots = []; |
| 2809 } | 2809 } |
| 2810 AnalyzeScope.prototype.get$parent = function() { return this.parent; }; | 2810 AnalyzeScope.prototype.get$parent = function() { return this.parent; }; |
| 2811 AnalyzeScope.prototype.get$_slots = function() { return this._slots; }; | 2811 AnalyzeScope.prototype.get$_slots = function() { return this._slots; }; |
| 2812 AnalyzeScope.prototype._lookup = function(name) { | 2812 AnalyzeScope.prototype._lookup = function(name) { |
| 2813 for (var s = this; | 2813 for (var s = this; |
| 2814 $ne$(s); s = s.get$parent()) { | 2814 $ne$(s); s = s.get$parent()) { |
| 2815 for (var i = (0); | 2815 for (var i = (0); |
| 2816 i < s.get$_slots().get$length(); i++) { | 2816 i < s.get$_slots().get$length(); i++) { |
| 2817 var ret = s.get$_slots().$index(i); | 2817 var ret = s.get$_slots().$index(i); |
| 2818 if ($eq$(ret.get$name(), name)) return ret; | 2818 if ($eq$(ret.get$name(), name)) return ret; |
| 2819 } | 2819 } |
| 2820 } | 2820 } |
| 2821 return null; | 2821 return null; |
| 2822 } | 2822 } |
| 2823 // ********** Code for BlockScope ************** | 2823 // ********** Code for BlockScope ************** |
| 2824 function BlockScope(enclosingMethod, parent, node, reentrant) { | 2824 function BlockScope(enclosingMethod, parent, node, reentrant) { |
| 2825 this.enclosingMethod = enclosingMethod; | 2825 this.enclosingMethod = enclosingMethod; |
| 2826 this._vars = new CopyOnWriteMap_dart_core_String$VariableValue(); | |
| 2827 this.parent = parent; | 2826 this.parent = parent; |
| 2828 this.node = node; | 2827 this.node = node; |
| 2829 this.reentrant = reentrant; | 2828 this.reentrant = reentrant; |
| 2829 this._vars = new CopyOnWriteMap_dart_core_String$VariableValue(); |
| 2830 this._jsNames = new HashSetImplementation_dart_core_String(); | 2830 this._jsNames = new HashSetImplementation_dart_core_String(); |
| 2831 if (this.get$isMethodScope()) { | 2831 if (this.get$isMethodScope()) { |
| 2832 this._closedOver = new HashSetImplementation_dart_core_String(); | 2832 this._closedOver = new HashSetImplementation_dart_core_String(); |
| 2833 } | 2833 } |
| 2834 else { | 2834 else { |
| 2835 this.reentrant = reentrant || this.parent.reentrant; | 2835 this.reentrant = reentrant || this.parent.reentrant; |
| 2836 } | 2836 } |
| 2837 this.inferTypes = $globals.options.inferTypes && (this.parent == null || this.
parent.inferTypes); | 2837 this.inferTypes = $globals.options.inferTypes && (this.parent == null || this.
parent.inferTypes); |
| 2838 } | 2838 } |
| 2839 BlockScope._snapshot$ctor = function(original) { | 2839 BlockScope._snapshot$ctor = function(original) { |
| 2840 this.enclosingMethod = original.enclosingMethod; | 2840 this.enclosingMethod = original.enclosingMethod; |
| 2841 this.parent = original.parent == null ? null : original.parent.snapshot(); |
| 2841 this._vars = original._vars.clone(); | 2842 this._vars = original._vars.clone(); |
| 2842 this.parent = original.parent == null ? null : original.parent.snapshot(); | |
| 2843 this.node = original.node; | 2843 this.node = original.node; |
| 2844 this.inferTypes = original.inferTypes; | 2844 this.inferTypes = original.inferTypes; |
| 2845 this.rethrow = original.rethrow; |
| 2845 this._jsNames = original._jsNames; | 2846 this._jsNames = original._jsNames; |
| 2846 this._closedOver = original._closedOver; | 2847 this._closedOver = original._closedOver; |
| 2847 this.rethrow = original.rethrow; | |
| 2848 } | 2848 } |
| 2849 BlockScope._snapshot$ctor.prototype = BlockScope.prototype; | 2849 BlockScope._snapshot$ctor.prototype = BlockScope.prototype; |
| 2850 BlockScope.prototype.get$enclosingMethod = function() { return this.enclosingMet
hod; }; | 2850 BlockScope.prototype.get$enclosingMethod = function() { return this.enclosingMet
hod; }; |
| 2851 BlockScope.prototype.get$parent = function() { return this.parent; }; | 2851 BlockScope.prototype.get$parent = function() { return this.parent; }; |
| 2852 BlockScope.prototype.get$_vars = function() { return this._vars; }; | 2852 BlockScope.prototype.get$_vars = function() { return this._vars; }; |
| 2853 BlockScope.prototype.get$_jsNames = function() { return this._jsNames; }; | 2853 BlockScope.prototype.get$_jsNames = function() { return this._jsNames; }; |
| 2854 BlockScope.prototype.get$_closedOver = function() { return this._closedOver; }; | 2854 BlockScope.prototype.get$_closedOver = function() { return this._closedOver; }; |
| 2855 BlockScope.prototype.get$rethrow = function() { return this.rethrow; }; | 2855 BlockScope.prototype.get$rethrow = function() { return this.rethrow; }; |
| 2856 BlockScope.prototype.get$isMethodScope = function() { | 2856 BlockScope.prototype.get$isMethodScope = function() { |
| 2857 return this.parent == null || $ne$(this.parent.enclosingMethod, this.enclosing
Method); | 2857 return this.parent == null || $ne$(this.parent.enclosingMethod, this.enclosing
Method); |
| (...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2957 ); | 2957 ); |
| 2958 } | 2958 } |
| 2959 return changed; | 2959 return changed; |
| 2960 } | 2960 } |
| 2961 BlockScope.prototype.create$3$isFinal = function($0, $1, $2, isFinal) { | 2961 BlockScope.prototype.create$3$isFinal = function($0, $1, $2, isFinal) { |
| 2962 return this.create($0, $1, $2, isFinal, false); | 2962 return this.create($0, $1, $2, isFinal, false); |
| 2963 }; | 2963 }; |
| 2964 // ********** Code for CodeWriter ************** | 2964 // ********** Code for CodeWriter ************** |
| 2965 function CodeWriter() { | 2965 function CodeWriter() { |
| 2966 this._indentation = (0); | 2966 this._indentation = (0); |
| 2967 this._pendingIndent = false; |
| 2967 this.writeComments = true; | 2968 this.writeComments = true; |
| 2968 this._pendingIndent = false; | |
| 2969 this._buf = new StringBufferImpl(""); | 2969 this._buf = new StringBufferImpl(""); |
| 2970 } | 2970 } |
| 2971 CodeWriter.prototype.get$text = function() { | 2971 CodeWriter.prototype.get$text = function() { |
| 2972 return this._buf.toString(); | 2972 return this._buf.toString(); |
| 2973 } | 2973 } |
| 2974 CodeWriter.prototype._indent = function() { | 2974 CodeWriter.prototype._indent = function() { |
| 2975 this._pendingIndent = false; | 2975 this._pendingIndent = false; |
| 2976 for (var i = (0); | 2976 for (var i = (0); |
| 2977 i < this._indentation; i++) { | 2977 i < this._indentation; i++) { |
| 2978 this._buf.add(" "); | 2978 this._buf.add(" "); |
| (...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3021 this.writeln(text); | 3021 this.writeln(text); |
| 3022 } | 3022 } |
| 3023 CodeWriter.prototype.nextBlock = function(text) { | 3023 CodeWriter.prototype.nextBlock = function(text) { |
| 3024 this._indentation--; | 3024 this._indentation--; |
| 3025 this.writeln(text); | 3025 this.writeln(text); |
| 3026 this._indentation++; | 3026 this._indentation++; |
| 3027 } | 3027 } |
| 3028 CodeWriter.prototype.write$1 = CodeWriter.prototype.write; | 3028 CodeWriter.prototype.write$1 = CodeWriter.prototype.write; |
| 3029 // ********** Code for CoreJs ************** | 3029 // ********** Code for CoreJs ************** |
| 3030 function CoreJs() { | 3030 function CoreJs() { |
| 3031 this.useThrow = false; |
| 3032 this.useNotNullBool = false; |
| 3033 this.useIndex = false; |
| 3034 this.useSetIndex = false; |
| 3035 this.useWrap0 = false; |
| 3036 this.useWrap1 = false; |
| 3031 this.useIsolates = false; | 3037 this.useIsolates = false; |
| 3032 this._generatedTypeNameOf = false; | 3038 this._generatedTypeNameOf = false; |
| 3039 this._generatedDynamicProto = false; |
| 3040 this._generatedDynamicSetMetadata = false; |
| 3041 this._generatedInherits = false; |
| 3042 this._generatedDefProp = false; |
| 3043 this._generatedBind = false; |
| 3033 this._usedOperators = new HashMapImplementation(); | 3044 this._usedOperators = new HashMapImplementation(); |
| 3034 this._generatedInherits = false; | |
| 3035 this.useNotNullBool = false; | |
| 3036 this._generatedDynamicSetMetadata = false; | |
| 3037 this.writer = new CodeWriter(); | 3045 this.writer = new CodeWriter(); |
| 3038 this.useWrap0 = false; | |
| 3039 this.useThrow = false; | |
| 3040 this._generatedDynamicProto = false; | |
| 3041 this._generatedBind = false; | |
| 3042 this.useWrap1 = false; | |
| 3043 this.useSetIndex = false; | |
| 3044 this.useIndex = false; | |
| 3045 this._generatedDefProp = false; | |
| 3046 } | 3046 } |
| 3047 CoreJs.prototype.get$writer = function() { return this.writer; }; | 3047 CoreJs.prototype.get$writer = function() { return this.writer; }; |
| 3048 CoreJs.prototype.set$writer = function(value) { return this.writer = value; }; | 3048 CoreJs.prototype.set$writer = function(value) { return this.writer = value; }; |
| 3049 CoreJs.prototype.markCorelibTypeUsed = function(typeName) { | 3049 CoreJs.prototype.markCorelibTypeUsed = function(typeName) { |
| 3050 $globals.world.gen.markTypeUsed($globals.world.corelib.types.$index(typeName))
; | 3050 $globals.world.gen.markTypeUsed($globals.world.corelib.types.$index(typeName))
; |
| 3051 } | 3051 } |
| 3052 CoreJs.prototype.useOperator = function(name) { | 3052 CoreJs.prototype.useOperator = function(name) { |
| 3053 if ($ne$(this._usedOperators.$index(name))) return; | 3053 if ($ne$(this._usedOperators.$index(name))) return; |
| 3054 if (name != ":ne" && name != ":eq") { | 3054 if (name != ":ne" && name != ":eq") { |
| 3055 this.markCorelibTypeUsed("NoSuchMethodException"); | 3055 this.markCorelibTypeUsed("NoSuchMethodException"); |
| (...skipping 257 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3313 return (10); | 3313 return (10); |
| 3314 } | 3314 } |
| 3315 ExistingJsGlobal.prototype.get$span = function() { | 3315 ExistingJsGlobal.prototype.get$span = function() { |
| 3316 return this.declaringElement.get$span(); | 3316 return this.declaringElement.get$span(); |
| 3317 } | 3317 } |
| 3318 ExistingJsGlobal.prototype.get$library = function() { | 3318 ExistingJsGlobal.prototype.get$library = function() { |
| 3319 return this.declaringElement.get$library(); | 3319 return this.declaringElement.get$library(); |
| 3320 } | 3320 } |
| 3321 // ********** Code for WorldGenerator ************** | 3321 // ********** Code for WorldGenerator ************** |
| 3322 function WorldGenerator(main, writer) { | 3322 function WorldGenerator(main, writer) { |
| 3323 this.hasStatics = false; |
| 3323 this.main = main; | 3324 this.main = main; |
| 3324 this.hasStatics = false; | 3325 this.writer = writer; |
| 3326 this.globals = new HashMapImplementation(); |
| 3325 this.corejs = new CoreJs(); | 3327 this.corejs = new CoreJs(); |
| 3326 this.globals = new HashMapImplementation(); | |
| 3327 this.writer = writer; | |
| 3328 } | 3328 } |
| 3329 WorldGenerator.prototype.get$writer = function() { return this.writer; }; | 3329 WorldGenerator.prototype.get$writer = function() { return this.writer; }; |
| 3330 WorldGenerator.prototype.set$writer = function(value) { return this.writer = val
ue; }; | 3330 WorldGenerator.prototype.set$writer = function(value) { return this.writer = val
ue; }; |
| 3331 WorldGenerator.prototype.analyze = function() { | 3331 WorldGenerator.prototype.analyze = function() { |
| 3332 var nlibs = (0), ntypes = (0), nmems = (0), nnews = (0); | 3332 var nlibs = (0), ntypes = (0), nmems = (0), nnews = (0); |
| 3333 var $$list = $globals.world.libraries.getValues(); | 3333 var $$list = $globals.world.libraries.getValues(); |
| 3334 for (var $$i = $$list.iterator(); $$i.hasNext(); ) { | 3334 for (var $$i = $$list.iterator(); $$i.hasNext(); ) { |
| 3335 var lib = $$i.next(); | 3335 var lib = $$i.next(); |
| 3336 nlibs += (1); | 3336 nlibs += (1); |
| 3337 var $list0 = lib.get$types().getValues(); | 3337 var $list0 = lib.get$types().getValues(); |
| (...skipping 555 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 3893 if ($eq$(x.get$name())) return (-1); | 3893 if ($eq$(x.get$name())) return (-1); |
| 3894 if ($eq$(y.get$name())) return (1); | 3894 if ($eq$(y.get$name())) return (1); |
| 3895 return x.get$name().compareTo(y.get$name()); | 3895 return x.get$name().compareTo(y.get$name()); |
| 3896 } | 3896 } |
| 3897 WorldGenerator.prototype.get$_compareMembers = function() { | 3897 WorldGenerator.prototype.get$_compareMembers = function() { |
| 3898 return this._compareMembers.bind(this); | 3898 return this._compareMembers.bind(this); |
| 3899 } | 3899 } |
| 3900 WorldGenerator.prototype.run$0 = WorldGenerator.prototype.run; | 3900 WorldGenerator.prototype.run$0 = WorldGenerator.prototype.run; |
| 3901 // ********** Code for MethodGenerator ************** | 3901 // ********** Code for MethodGenerator ************** |
| 3902 function MethodGenerator(method, enclosingMethod) { | 3902 function MethodGenerator(method, enclosingMethod) { |
| 3903 this.method = method; |
| 3903 this.enclosingMethod = enclosingMethod; | 3904 this.enclosingMethod = enclosingMethod; |
| 3905 this.writer = new CodeWriter(); |
| 3904 this.needsThis = false; | 3906 this.needsThis = false; |
| 3905 this.method = method; | |
| 3906 this.writer = new CodeWriter(); | |
| 3907 if (this.enclosingMethod != null) { | 3907 if (this.enclosingMethod != null) { |
| 3908 this._scope = new BlockScope(this, this.enclosingMethod._scope, this.method.
get$definition(), false); | 3908 this._scope = new BlockScope(this, this.enclosingMethod._scope, this.method.
get$definition(), false); |
| 3909 this.captures = new HashSetImplementation(); | 3909 this.captures = new HashSetImplementation(); |
| 3910 } | 3910 } |
| 3911 else { | 3911 else { |
| 3912 this._scope = new BlockScope(this, null, this.method.get$definition(), false
); | 3912 this._scope = new BlockScope(this, null, this.method.get$definition(), false
); |
| 3913 } | 3913 } |
| 3914 this._usedTemps = new HashSetImplementation(); | 3914 this._usedTemps = new HashSetImplementation(); |
| 3915 this._freeTemps = []; | 3915 this._freeTemps = []; |
| 3916 this.counters = $globals.world.counters; | 3916 this.counters = $globals.world.counters; |
| (...skipping 266 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 4183 } | 4183 } |
| 4184 } | 4184 } |
| 4185 if (this.method.get$isConstructor() && $eq$(initializerCall) && !this.method.g
et$isNative()) { | 4185 if (this.method.get$isConstructor() && $eq$(initializerCall) && !this.method.g
et$isNative()) { |
| 4186 var parentType = this.method.declaringType.get$parent(); | 4186 var parentType = this.method.declaringType.get$parent(); |
| 4187 if ($ne$(parentType) && !parentType.get$isObject()) { | 4187 if ($ne$(parentType) && !parentType.get$isObject()) { |
| 4188 initializerCall = new CallExpression(new SuperExpression(this.method.get$s
pan()), [], this.method.get$span()); | 4188 initializerCall = new CallExpression(new SuperExpression(this.method.get$s
pan()), [], this.method.get$span()); |
| 4189 } | 4189 } |
| 4190 } | 4190 } |
| 4191 if (this.method.get$isConstructor() && (newObject instanceof ObjectValue)) { | 4191 if (this.method.get$isConstructor() && (newObject instanceof ObjectValue)) { |
| 4192 var fields = newObject.get$dynamic().get$fields(); | 4192 var fields = newObject.get$dynamic().get$fields(); |
| 4193 var $$list = fields.getKeys(); | 4193 var $$list = newObject.get$dynamic().get$fieldsInInitOrder(); |
| 4194 for (var $$i = $$list.iterator(); $$i.hasNext(); ) { | 4194 for (var $$i = $$list.iterator(); $$i.hasNext(); ) { |
| 4195 var field = $$i.next(); | 4195 var field = $$i.next(); |
| 4196 var value = fields.$index(field); | 4196 if (null != field) { |
| 4197 if (null != value) { | 4197 var value = fields.$index(field); |
| 4198 this.writer.writeln(("this." + field.get$jsname() + " = " + value.get$co
de() + ";")); | 4198 if (null != value) { |
| 4199 this.writer.writeln(("this." + field.get$jsname() + " = " + value.get$
code() + ";")); |
| 4200 } |
| 4199 } | 4201 } |
| 4200 } | 4202 } |
| 4201 } | 4203 } |
| 4202 if ($ne$(initializerCall)) { | 4204 if ($ne$(initializerCall)) { |
| 4203 this.evalInitializerCall(newObject, initializerCall, fieldsSet); | 4205 this.evalInitializerCall(newObject, initializerCall, fieldsSet); |
| 4204 } | 4206 } |
| 4205 if (this.method.get$isConstructor() && null != newObject && newObject.get$isCo
nst()) { | 4207 if (this.method.get$isConstructor() && null != newObject && newObject.get$isCo
nst()) { |
| 4206 newObject.validateInitialized(this.method.get$span()); | 4208 newObject.validateInitialized(this.method.get$span()); |
| 4207 } | 4209 } |
| 4208 else if (this.method.get$isConstructor()) { | 4210 else if (this.method.get$isConstructor()) { |
| (...skipping 1105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5314 i < this.get$bareCount(); i++) { | 5316 i < this.get$bareCount(); i++) { |
| 5315 if ($ne$(this.values.$index(i).get$type(), other.values.$index(i).get$type()
)) return false; | 5317 if ($ne$(this.values.$index(i).get$type(), other.values.$index(i).get$type()
)) return false; |
| 5316 } | 5318 } |
| 5317 return true; | 5319 return true; |
| 5318 } | 5320 } |
| 5319 // ********** Code for ReturnKind ************** | 5321 // ********** Code for ReturnKind ************** |
| 5320 function ReturnKind() {} | 5322 function ReturnKind() {} |
| 5321 // ********** Code for LibraryImport ************** | 5323 // ********** Code for LibraryImport ************** |
| 5322 function LibraryImport(library, prefix, span) { | 5324 function LibraryImport(library, prefix, span) { |
| 5323 this.library = library; | 5325 this.library = library; |
| 5326 this.prefix = prefix; |
| 5324 this.span = span; | 5327 this.span = span; |
| 5325 this.prefix = prefix; | |
| 5326 } | 5328 } |
| 5327 LibraryImport.prototype.get$prefix = function() { return this.prefix; }; | 5329 LibraryImport.prototype.get$prefix = function() { return this.prefix; }; |
| 5328 LibraryImport.prototype.get$library = function() { return this.library; }; | 5330 LibraryImport.prototype.get$library = function() { return this.library; }; |
| 5329 LibraryImport.prototype.get$span = function() { return this.span; }; | 5331 LibraryImport.prototype.get$span = function() { return this.span; }; |
| 5330 // ********** Code for Member ************** | 5332 // ********** Code for Member ************** |
| 5331 $inherits(Member, Element); | 5333 $inherits(Member, Element); |
| 5332 function Member(name, declaringType) { | 5334 function Member(name, declaringType) { |
| 5333 this._provideGetter = false; | 5335 this._provideGetter = false; |
| 5334 this._provideSetter = false; | 5336 this._provideSetter = false; |
| 5335 this.declaringType = declaringType; | 5337 this.declaringType = declaringType; |
| (...skipping 211 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5547 // ********** Code for AmbiguousMember ************** | 5549 // ********** Code for AmbiguousMember ************** |
| 5548 $inherits(AmbiguousMember, Member); | 5550 $inherits(AmbiguousMember, Member); |
| 5549 function AmbiguousMember(name, members) { | 5551 function AmbiguousMember(name, members) { |
| 5550 this.members = members; | 5552 this.members = members; |
| 5551 Member.call(this, name, null); | 5553 Member.call(this, name, null); |
| 5552 } | 5554 } |
| 5553 AmbiguousMember.prototype.get$members = function() { return this.members; }; | 5555 AmbiguousMember.prototype.get$members = function() { return this.members; }; |
| 5554 // ********** Code for Library ************** | 5556 // ********** Code for Library ************** |
| 5555 $inherits(Library, Element); | 5557 $inherits(Library, Element); |
| 5556 function Library(baseSource) { | 5558 function Library(baseSource) { |
| 5559 this.isWritten = false; |
| 5557 this.baseSource = baseSource; | 5560 this.baseSource = baseSource; |
| 5558 this.isWritten = false; | |
| 5559 Element.call(this, null, null); | 5561 Element.call(this, null, null); |
| 5560 this.sourceDir = dirname(this.baseSource.filename); | 5562 this.sourceDir = dirname(this.baseSource.filename); |
| 5561 this.topType = new DefinedType(null, this, null, true); | 5563 this.topType = new DefinedType(null, this, null, true); |
| 5562 this.types = _map(["", this.topType]); | 5564 this.types = _map(["", this.topType]); |
| 5563 this.imports = []; | 5565 this.imports = []; |
| 5564 this.natives = []; | 5566 this.natives = []; |
| 5565 this.sources = []; | 5567 this.sources = []; |
| 5566 this._privateMembers = new HashMapImplementation(); | 5568 this._privateMembers = new HashMapImplementation(); |
| 5567 } | 5569 } |
| 5568 Library.prototype.get$baseSource = function() { return this.baseSource; }; | 5570 Library.prototype.get$baseSource = function() { return this.baseSource; }; |
| (...skipping 236 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5805 } | 5807 } |
| 5806 Library.prototype.hashCode = function() { | 5808 Library.prototype.hashCode = function() { |
| 5807 return this.baseSource.filename.hashCode(); | 5809 return this.baseSource.filename.hashCode(); |
| 5808 } | 5810 } |
| 5809 Library.prototype.$eq = function(other) { | 5811 Library.prototype.$eq = function(other) { |
| 5810 return (other instanceof Library) && other.get$baseSource().filename == this.b
aseSource.filename; | 5812 return (other instanceof Library) && other.get$baseSource().filename == this.b
aseSource.filename; |
| 5811 } | 5813 } |
| 5812 Library.prototype.toString$0 = Library.prototype.toString; | 5814 Library.prototype.toString$0 = Library.prototype.toString; |
| 5813 // ********** Code for _LibraryVisitor ************** | 5815 // ********** Code for _LibraryVisitor ************** |
| 5814 function _LibraryVisitor(library) { | 5816 function _LibraryVisitor(library) { |
| 5815 this.library = library; | 5817 this.seenImport = false; |
| 5816 this.isTop = true; | |
| 5817 this.seenSource = false; | 5818 this.seenSource = false; |
| 5818 this.seenResource = false; | 5819 this.seenResource = false; |
| 5819 this.seenImport = false; | 5820 this.isTop = true; |
| 5821 this.library = library; |
| 5820 this.currentType = this.library.topType; | 5822 this.currentType = this.library.topType; |
| 5821 this.sources = []; | 5823 this.sources = []; |
| 5822 } | 5824 } |
| 5823 _LibraryVisitor.prototype.get$library = function() { return this.library; }; | 5825 _LibraryVisitor.prototype.get$library = function() { return this.library; }; |
| 5824 _LibraryVisitor.prototype.get$isTop = function() { return this.isTop; }; | 5826 _LibraryVisitor.prototype.get$isTop = function() { return this.isTop; }; |
| 5825 _LibraryVisitor.prototype.addSourceFromName = function(name, span) { | 5827 _LibraryVisitor.prototype.addSourceFromName = function(name, span) { |
| 5826 var filename = this.library.makeFullPath(name); | 5828 var filename = this.library.makeFullPath(name); |
| 5827 if ($eq$(filename, this.library.baseSource.filename)) { | 5829 if ($eq$(filename, this.library.baseSource.filename)) { |
| 5828 $globals.world.error("library cannot source itself", span); | 5830 $globals.world.error("library cannot source itself", span); |
| 5829 return; | 5831 return; |
| (...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 5994 } | 5996 } |
| 5995 _LibraryVisitor.prototype.visitFunctionDefinition = function(node) { | 5997 _LibraryVisitor.prototype.visitFunctionDefinition = function(node) { |
| 5996 this.currentType.addMethod(node.name.name, node); | 5998 this.currentType.addMethod(node.name.name, node); |
| 5997 } | 5999 } |
| 5998 _LibraryVisitor.prototype.visitFunctionTypeDefinition = function(node) { | 6000 _LibraryVisitor.prototype.visitFunctionTypeDefinition = function(node) { |
| 5999 var type = this.library.addType(node.func.name.name, node, false); | 6001 var type = this.library.addType(node.func.name.name, node, false); |
| 6000 type.addMethod(":call", node.func); | 6002 type.addMethod(":call", node.func); |
| 6001 } | 6003 } |
| 6002 // ********** Code for Parameter ************** | 6004 // ********** Code for Parameter ************** |
| 6003 function Parameter(definition, method) { | 6005 function Parameter(definition, method) { |
| 6006 this.isInitializer = false; |
| 6007 this.definition = definition; |
| 6004 this.method = method; | 6008 this.method = method; |
| 6005 this.definition = definition; | |
| 6006 this.isInitializer = false; | |
| 6007 } | 6009 } |
| 6008 Parameter.prototype.get$definition = function() { return this.definition; }; | 6010 Parameter.prototype.get$definition = function() { return this.definition; }; |
| 6009 Parameter.prototype.get$method = function() { return this.method; }; | 6011 Parameter.prototype.get$method = function() { return this.method; }; |
| 6010 Parameter.prototype.get$name = function() { return this.name; }; | 6012 Parameter.prototype.get$name = function() { return this.name; }; |
| 6011 Parameter.prototype.set$name = function(value) { return this.name = value; }; | 6013 Parameter.prototype.set$name = function(value) { return this.name = value; }; |
| 6012 Parameter.prototype.get$type = function() { return this.type; }; | 6014 Parameter.prototype.get$type = function() { return this.type; }; |
| 6013 Parameter.prototype.get$isInitializer = function() { return this.isInitializer;
}; | 6015 Parameter.prototype.get$isInitializer = function() { return this.isInitializer;
}; |
| 6014 Parameter.prototype.get$value = function() { return this.value; }; | 6016 Parameter.prototype.get$value = function() { return this.value; }; |
| 6015 Parameter.prototype.set$value = function(value) { return this.value = value; }; | 6017 Parameter.prototype.set$value = function(value) { return this.value = value; }; |
| 6016 Parameter.prototype.resolve = function() { | 6018 Parameter.prototype.resolve = function() { |
| (...skipping 66 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6083 } | 6085 } |
| 6084 TypeMember.prototype._set = function(context, node, target, value) { | 6086 TypeMember.prototype._set = function(context, node, target, value) { |
| 6085 $globals.world.error("cannot set type", node.span); | 6087 $globals.world.error("cannot set type", node.span); |
| 6086 } | 6088 } |
| 6087 TypeMember.prototype.invoke = function(context, node, target, args) { | 6089 TypeMember.prototype.invoke = function(context, node, target, args) { |
| 6088 $globals.world.error("cannot invoke type", node.span); | 6090 $globals.world.error("cannot invoke type", node.span); |
| 6089 } | 6091 } |
| 6090 // ********** Code for FieldMember ************** | 6092 // ********** Code for FieldMember ************** |
| 6091 $inherits(FieldMember, Member); | 6093 $inherits(FieldMember, Member); |
| 6092 function FieldMember(name, declaringType, definition, value, isNative) { | 6094 function FieldMember(name, declaringType, definition, value, isNative) { |
| 6095 this._computing = false; |
| 6096 this.definition = definition; |
| 6097 this.value = value; |
| 6093 this.isNative = isNative; | 6098 this.isNative = isNative; |
| 6094 this.definition = definition; | |
| 6095 this._computing = false; | |
| 6096 this.value = value; | |
| 6097 Member.call(this, name, declaringType); | 6099 Member.call(this, name, declaringType); |
| 6098 } | 6100 } |
| 6099 FieldMember.prototype.get$definition = function() { return this.definition; }; | 6101 FieldMember.prototype.get$definition = function() { return this.definition; }; |
| 6100 FieldMember.prototype.get$value = function() { return this.value; }; | 6102 FieldMember.prototype.get$value = function() { return this.value; }; |
| 6101 FieldMember.prototype.get$type = function() { return this.type; }; | 6103 FieldMember.prototype.get$type = function() { return this.type; }; |
| 6102 FieldMember.prototype.get$isStatic = function() { return this.isStatic; }; | 6104 FieldMember.prototype.get$isStatic = function() { return this.isStatic; }; |
| 6103 FieldMember.prototype.set$isStatic = function(value) { return this.isStatic = va
lue; }; | 6105 FieldMember.prototype.set$isStatic = function(value) { return this.isStatic = va
lue; }; |
| 6104 FieldMember.prototype.get$isFinal = function() { return this.isFinal; }; | 6106 FieldMember.prototype.get$isFinal = function() { return this.isFinal; }; |
| 6105 FieldMember.prototype.get$isNative = function() { return this.isNative; }; | 6107 FieldMember.prototype.get$isNative = function() { return this.isNative; }; |
| 6106 FieldMember.prototype.override = function(other) { | 6108 FieldMember.prototype.override = function(other) { |
| (...skipping 238 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6345 } | 6347 } |
| 6346 if (!this.setter.returnType.get$isVoid() && this.setter.definition.returnTyp
e != null) { | 6348 if (!this.setter.returnType.get$isVoid() && this.setter.definition.returnTyp
e != null) { |
| 6347 $globals.world.warning("setter methods should be void", this.setter.defini
tion.returnType.span); | 6349 $globals.world.warning("setter methods should be void", this.setter.defini
tion.returnType.span); |
| 6348 } | 6350 } |
| 6349 } | 6351 } |
| 6350 if (this.declaringType.get$isClass()) this.get$library()._addMember(this); | 6352 if (this.declaringType.get$isClass()) this.get$library()._addMember(this); |
| 6351 } | 6353 } |
| 6352 // ********** Code for MethodMember ************** | 6354 // ********** Code for MethodMember ************** |
| 6353 $inherits(MethodMember, Member); | 6355 $inherits(MethodMember, Member); |
| 6354 function MethodMember(name, declaringType, definition) { | 6356 function MethodMember(name, declaringType, definition) { |
| 6357 this.isStatic = false; |
| 6358 this.isAbstract = false; |
| 6359 this.isConst = false; |
| 6360 this.isFactory = false; |
| 6361 this._provideOptionalParamInfo = false; |
| 6362 this.definition = definition; |
| 6355 this.isLambda = false; | 6363 this.isLambda = false; |
| 6356 this._provideOptionalParamInfo = false; | |
| 6357 this.isFactory = false; | |
| 6358 this.definition = definition; | |
| 6359 this.isConst = false; | |
| 6360 this.isAbstract = false; | |
| 6361 this.isStatic = false; | |
| 6362 Member.call(this, name, declaringType); | 6364 Member.call(this, name, declaringType); |
| 6363 } | 6365 } |
| 6364 MethodMember.lambda$ctor = function(name, declaringType, definition) { | 6366 MethodMember.lambda$ctor = function(name, declaringType, definition) { |
| 6367 this.isStatic = false; |
| 6368 this.isAbstract = false; |
| 6369 this.isConst = false; |
| 6370 this.isFactory = false; |
| 6371 this._provideOptionalParamInfo = false; |
| 6372 this.definition = definition; |
| 6365 this.isLambda = true; | 6373 this.isLambda = true; |
| 6366 this._provideOptionalParamInfo = false; | |
| 6367 this.isFactory = false; | |
| 6368 this.definition = definition; | |
| 6369 this.isConst = false; | |
| 6370 this.isAbstract = false; | |
| 6371 this.isStatic = false; | |
| 6372 Member.call(this, name, declaringType); | 6374 Member.call(this, name, declaringType); |
| 6373 } | 6375 } |
| 6374 MethodMember.lambda$ctor.prototype = MethodMember.prototype; | 6376 MethodMember.lambda$ctor.prototype = MethodMember.prototype; |
| 6375 MethodMember.prototype.get$definition = function() { return this.definition; }; | 6377 MethodMember.prototype.get$definition = function() { return this.definition; }; |
| 6376 MethodMember.prototype.get$returnType = function() { return this.returnType; }; | 6378 MethodMember.prototype.get$returnType = function() { return this.returnType; }; |
| 6377 MethodMember.prototype.set$returnType = function(value) { return this.returnType
= value; }; | 6379 MethodMember.prototype.set$returnType = function(value) { return this.returnType
= value; }; |
| 6378 MethodMember.prototype.get$parameters = function() { return this.parameters; }; | 6380 MethodMember.prototype.get$parameters = function() { return this.parameters; }; |
| 6379 MethodMember.prototype.set$parameters = function(value) { return this.parameters
= value; }; | 6381 MethodMember.prototype.set$parameters = function(value) { return this.parameters
= value; }; |
| 6380 MethodMember.prototype.set$_methodData = function(value) { return this._methodDa
ta = value; }; | 6382 MethodMember.prototype.set$_methodData = function(value) { return this._methodDa
ta = value; }; |
| 6381 MethodMember.prototype.get$isStatic = function() { return this.isStatic; }; | 6383 MethodMember.prototype.get$isStatic = function() { return this.isStatic; }; |
| (...skipping 542 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 6924 ); | 6926 ); |
| 6925 } | 6927 } |
| 6926 FactoryMap.prototype.isEmpty = function() { | 6928 FactoryMap.prototype.isEmpty = function() { |
| 6927 return this.factories.getValues().every((function (constructors) { | 6929 return this.factories.getValues().every((function (constructors) { |
| 6928 return constructors.isEmpty(); | 6930 return constructors.isEmpty(); |
| 6929 }) | 6931 }) |
| 6930 ); | 6932 ); |
| 6931 } | 6933 } |
| 6932 // ********** Code for MemberSet ************** | 6934 // ********** Code for MemberSet ************** |
| 6933 function MemberSet(member, isVar) { | 6935 function MemberSet(member, isVar) { |
| 6936 this._preparedForSet = false; |
| 6937 this.name = member.name; |
| 6938 this.members = [member]; |
| 6934 this.jsname = member.get$jsname(); | 6939 this.jsname = member.get$jsname(); |
| 6935 this.name = member.name; | |
| 6936 this._preparedForSet = false; | |
| 6937 this.isVar = isVar; | 6940 this.isVar = isVar; |
| 6938 this.members = [member]; | |
| 6939 } | 6941 } |
| 6940 MemberSet.prototype.get$name = function() { return this.name; }; | 6942 MemberSet.prototype.get$name = function() { return this.name; }; |
| 6941 MemberSet.prototype.get$members = function() { return this.members; }; | 6943 MemberSet.prototype.get$members = function() { return this.members; }; |
| 6942 MemberSet.prototype.get$isVar = function() { return this.isVar; }; | 6944 MemberSet.prototype.get$isVar = function() { return this.isVar; }; |
| 6943 MemberSet.prototype.get$jsname = function() { return this.jsname; }; | 6945 MemberSet.prototype.get$jsname = function() { return this.jsname; }; |
| 6944 MemberSet.prototype.set$jsname = function(value) { return this.jsname = value; }
; | 6946 MemberSet.prototype.set$jsname = function(value) { return this.jsname = value; }
; |
| 6945 MemberSet.prototype.toString = function() { | 6947 MemberSet.prototype.toString = function() { |
| 6946 return ("" + this.name + ":" + this.members.get$length()); | 6948 return ("" + this.name + ":" + this.members.get$length()); |
| 6947 } | 6949 } |
| 6948 MemberSet.prototype.add = function(member) { | 6950 MemberSet.prototype.add = function(member) { |
| (...skipping 202 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7151 this.returnType = $globals.world.varType; | 7153 this.returnType = $globals.world.varType; |
| 7152 } | 7154 } |
| 7153 } | 7155 } |
| 7154 } | 7156 } |
| 7155 if (this.returnType == null) { | 7157 if (this.returnType == null) { |
| 7156 this.returnType = $globals.world.varType; | 7158 this.returnType = $globals.world.varType; |
| 7157 } | 7159 } |
| 7158 } | 7160 } |
| 7159 // ********** Code for MethodCallData ************** | 7161 // ********** Code for MethodCallData ************** |
| 7160 function MethodCallData(data, method) { | 7162 function MethodCallData(data, method) { |
| 7163 this.data = data; |
| 7161 this.method = method; | 7164 this.method = method; |
| 7162 this.data = data; | |
| 7163 } | 7165 } |
| 7164 MethodCallData.prototype.get$method = function() { return this.method; }; | 7166 MethodCallData.prototype.get$method = function() { return this.method; }; |
| 7165 MethodCallData.prototype.get$_methodGenerator = function() { return this._method
Generator; }; | 7167 MethodCallData.prototype.get$_methodGenerator = function() { return this._method
Generator; }; |
| 7166 MethodCallData.prototype.matches = function(other) { | 7168 MethodCallData.prototype.matches = function(other) { |
| 7167 return $eq$(this.method, other.method); | 7169 return $eq$(this.method, other.method); |
| 7168 } | 7170 } |
| 7169 MethodCallData.prototype.run = function() { | 7171 MethodCallData.prototype.run = function() { |
| 7170 if (null != this._methodGenerator) return; | 7172 if (null != this._methodGenerator) return; |
| 7171 this._methodGenerator = new MethodGenerator(this.method, this.data.context); | 7173 this._methodGenerator = new MethodGenerator(this.method, this.data.context); |
| 7172 this._methodGenerator.run(); | 7174 this._methodGenerator.run(); |
| 7173 } | 7175 } |
| 7174 MethodCallData.prototype.run$0 = MethodCallData.prototype.run; | 7176 MethodCallData.prototype.run$0 = MethodCallData.prototype.run; |
| 7175 // ********** Code for MethodData ************** | 7177 // ********** Code for MethodData ************** |
| 7176 function MethodData(baseMethod, context) { | 7178 function MethodData(baseMethod, context) { |
| 7177 this.needsTypeParams = false; | 7179 this.needsTypeParams = false; |
| 7178 this._calls = []; | |
| 7179 this.baseMethod = baseMethod; | 7180 this.baseMethod = baseMethod; |
| 7180 this.context = context; | 7181 this.context = context; |
| 7182 this._calls = []; |
| 7181 this.body = this.baseMethod.definition.body; | 7183 this.body = this.baseMethod.definition.body; |
| 7182 if (this.baseMethod.get$isConstructor()) { | 7184 if (this.baseMethod.get$isConstructor()) { |
| 7183 this.needsTypeParams = true; | 7185 this.needsTypeParams = true; |
| 7184 } | 7186 } |
| 7185 } | 7187 } |
| 7186 MethodData.prototype.get$body = function() { return this.body; }; | 7188 MethodData.prototype.get$body = function() { return this.body; }; |
| 7187 MethodData.prototype.analyze = function() { | 7189 MethodData.prototype.analyze = function() { |
| 7188 var ma = new MethodAnalyzer(this.baseMethod, this.body); | 7190 var ma = new MethodAnalyzer(this.baseMethod, this.body); |
| 7189 ma.analyze$1(this.context); | 7191 ma.analyze$1(this.context); |
| 7190 } | 7192 } |
| (...skipping 64 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7255 lambdaGen.run(); | 7257 lambdaGen.run(); |
| 7256 if (this.baseMethod.name != "") { | 7258 if (this.baseMethod.name != "") { |
| 7257 lambdaGen._popBlock(this.baseMethod.definition); | 7259 lambdaGen._popBlock(this.baseMethod.definition); |
| 7258 } | 7260 } |
| 7259 var writer = new CodeWriter(); | 7261 var writer = new CodeWriter(); |
| 7260 lambdaGen.writeDefinition(writer, node); | 7262 lambdaGen.writeDefinition(writer, node); |
| 7261 return new Value(this.baseMethod.get$functionType(), writer.get$text(), this.b
aseMethod.definition.span); | 7263 return new Value(this.baseMethod.get$functionType(), writer.get$text(), this.b
aseMethod.definition.span); |
| 7262 } | 7264 } |
| 7263 // ********** Code for Token ************** | 7265 // ********** Code for Token ************** |
| 7264 function Token(kind, source, start, end) { | 7266 function Token(kind, source, start, end) { |
| 7267 this.kind = kind; |
| 7268 this.source = source; |
| 7269 this.start = start; |
| 7265 this.end = end; | 7270 this.end = end; |
| 7266 this.kind = kind; | |
| 7267 this.start = start; | |
| 7268 this.source = source; | |
| 7269 } | 7271 } |
| 7270 Token.prototype.get$kind = function() { return this.kind; }; | 7272 Token.prototype.get$kind = function() { return this.kind; }; |
| 7271 Token.prototype.get$start = function() { return this.start; }; | 7273 Token.prototype.get$start = function() { return this.start; }; |
| 7272 Token.prototype.get$text = function() { | 7274 Token.prototype.get$text = function() { |
| 7273 return this.source.get$text().substring(this.start, this.end); | 7275 return this.source.get$text().substring(this.start, this.end); |
| 7274 } | 7276 } |
| 7275 Token.prototype.toString = function() { | 7277 Token.prototype.toString = function() { |
| 7276 var kindText = TokenKind.kindToString(this.kind); | 7278 var kindText = TokenKind.kindToString(this.kind); |
| 7277 var actualText = this.get$text(); | 7279 var actualText = this.get$text(); |
| 7278 if ($ne$(kindText, actualText)) { | 7280 if ($ne$(kindText, actualText)) { |
| (...skipping 20 matching lines...) Expand all Loading... |
| 7299 LiteralToken.prototype.set$value = function(value) { return this.value = value;
}; | 7301 LiteralToken.prototype.set$value = function(value) { return this.value = value;
}; |
| 7300 // ********** Code for ErrorToken ************** | 7302 // ********** Code for ErrorToken ************** |
| 7301 $inherits(ErrorToken, Token); | 7303 $inherits(ErrorToken, Token); |
| 7302 function ErrorToken(kind, source, start, end, message) { | 7304 function ErrorToken(kind, source, start, end, message) { |
| 7303 this.message = message; | 7305 this.message = message; |
| 7304 Token.call(this, kind, source, start, end); | 7306 Token.call(this, kind, source, start, end); |
| 7305 } | 7307 } |
| 7306 ErrorToken.prototype.get$message = function() { return this.message; }; | 7308 ErrorToken.prototype.get$message = function() { return this.message; }; |
| 7307 // ********** Code for SourceFile ************** | 7309 // ********** Code for SourceFile ************** |
| 7308 function SourceFile(filename, _text) { | 7310 function SourceFile(filename, _text) { |
| 7311 this.filename = filename; |
| 7309 this._text = _text; | 7312 this._text = _text; |
| 7310 this.filename = filename; | |
| 7311 } | 7313 } |
| 7312 SourceFile.prototype.get$filename = function() { return this.filename; }; | 7314 SourceFile.prototype.get$filename = function() { return this.filename; }; |
| 7313 SourceFile.prototype.get$text = function() { | 7315 SourceFile.prototype.get$text = function() { |
| 7314 return this._text; | 7316 return this._text; |
| 7315 } | 7317 } |
| 7316 SourceFile.prototype.get$lineStarts = function() { | 7318 SourceFile.prototype.get$lineStarts = function() { |
| 7317 if (this._lineStarts == null) { | 7319 if (this._lineStarts == null) { |
| 7318 var starts = [(0)]; | 7320 var starts = [(0)]; |
| 7319 var index = (0); | 7321 var index = (0); |
| 7320 while ($lt$(index, this.get$text().length)) { | 7322 while ($lt$(index, this.get$text().length)) { |
| (...skipping 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 7403 } | 7405 } |
| 7404 SourceSpan.prototype.compareTo = function(other) { | 7406 SourceSpan.prototype.compareTo = function(other) { |
| 7405 if ($eq$(this.file, other.file)) { | 7407 if ($eq$(this.file, other.file)) { |
| 7406 var d = this.start - other.start; | 7408 var d = this.start - other.start; |
| 7407 return d == (0) ? (this.end - other.end) : d; | 7409 return d == (0) ? (this.end - other.end) : d; |
| 7408 } | 7410 } |
| 7409 return this.file.compareTo(other.file); | 7411 return this.file.compareTo(other.file); |
| 7410 } | 7412 } |
| 7411 // ********** Code for InterpStack ************** | 7413 // ********** Code for InterpStack ************** |
| 7412 function InterpStack(previous, quote, isMultiline) { | 7414 function InterpStack(previous, quote, isMultiline) { |
| 7415 this.previous = previous; |
| 7413 this.quote = quote; | 7416 this.quote = quote; |
| 7414 this.isMultiline = isMultiline; | 7417 this.isMultiline = isMultiline; |
| 7415 this.depth = (-1); | 7418 this.depth = (-1); |
| 7416 this.previous = previous; | |
| 7417 } | 7419 } |
| 7418 InterpStack.prototype.set$previous = function(value) { return this.previous = va
lue; }; | 7420 InterpStack.prototype.set$previous = function(value) { return this.previous = va
lue; }; |
| 7419 InterpStack.prototype.get$quote = function() { return this.quote; }; | 7421 InterpStack.prototype.get$quote = function() { return this.quote; }; |
| 7420 InterpStack.prototype.get$isMultiline = function() { return this.isMultiline; }; | 7422 InterpStack.prototype.get$isMultiline = function() { return this.isMultiline; }; |
| 7421 InterpStack.prototype.get$depth = function() { return this.depth; }; | 7423 InterpStack.prototype.get$depth = function() { return this.depth; }; |
| 7422 InterpStack.prototype.pop = function() { | 7424 InterpStack.prototype.pop = function() { |
| 7423 return this.previous; | 7425 return this.previous; |
| 7424 } | 7426 } |
| 7425 InterpStack.push = function(stack, quote, isMultiline) { | 7427 InterpStack.push = function(stack, quote, isMultiline) { |
| 7426 var newStack = new InterpStack(stack, quote, isMultiline); | 7428 var newStack = new InterpStack(stack, quote, isMultiline); |
| (...skipping 12 matching lines...) Expand all Loading... |
| 7439 } | 7441 } |
| 7440 TokenizerHelpers.isIdentifierPart = function(c) { | 7442 TokenizerHelpers.isIdentifierPart = function(c) { |
| 7441 return (TokenizerHelpers.isIdentifierStart(c) || TokenizerHelpers.isDigit(c) |
| c == (36)); | 7443 return (TokenizerHelpers.isIdentifierStart(c) || TokenizerHelpers.isDigit(c) |
| c == (36)); |
| 7442 } | 7444 } |
| 7443 TokenizerHelpers.isInterpIdentifierPart = function(c) { | 7445 TokenizerHelpers.isInterpIdentifierPart = function(c) { |
| 7444 return (TokenizerHelpers.isIdentifierStart(c) || TokenizerHelpers.isDigit(c)); | 7446 return (TokenizerHelpers.isIdentifierStart(c) || TokenizerHelpers.isDigit(c)); |
| 7445 } | 7447 } |
| 7446 // ********** Code for TokenizerBase ************** | 7448 // ********** Code for TokenizerBase ************** |
| 7447 $inherits(TokenizerBase, TokenizerHelpers); | 7449 $inherits(TokenizerBase, TokenizerHelpers); |
| 7448 function TokenizerBase(_source, _skipWhitespace, index) { | 7450 function TokenizerBase(_source, _skipWhitespace, index) { |
| 7451 this._source = _source; |
| 7452 this._skipWhitespace = _skipWhitespace; |
| 7449 this._lang_index = index; | 7453 this._lang_index = index; |
| 7450 this._skipWhitespace = _skipWhitespace; | |
| 7451 this._source = _source; | |
| 7452 TokenizerHelpers.call(this); | 7454 TokenizerHelpers.call(this); |
| 7453 this._text = this._source.get$text(); | 7455 this._text = this._source.get$text(); |
| 7454 } | 7456 } |
| 7455 TokenizerBase.prototype._nextChar = function() { | 7457 TokenizerBase.prototype._nextChar = function() { |
| 7456 if (this._lang_index < this._text.length) { | 7458 if (this._lang_index < this._text.length) { |
| 7457 return this._text.charCodeAt(this._lang_index++); | 7459 return this._text.charCodeAt(this._lang_index++); |
| 7458 } | 7460 } |
| 7459 else { | 7461 else { |
| 7460 return (0); | 7462 return (0); |
| 7461 } | 7463 } |
| (...skipping 1781 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 9243 } | 9245 } |
| 9244 TokenKind.kindFromAssign = function(kind) { | 9246 TokenKind.kindFromAssign = function(kind) { |
| 9245 if (kind == (20)) return (0); | 9247 if (kind == (20)) return (0); |
| 9246 if (kind > (20) && kind <= (32)) { | 9248 if (kind > (20) && kind <= (32)) { |
| 9247 return kind + (15); | 9249 return kind + (15); |
| 9248 } | 9250 } |
| 9249 return (-1); | 9251 return (-1); |
| 9250 } | 9252 } |
| 9251 // ********** Code for Parser ************** | 9253 // ********** Code for Parser ************** |
| 9252 function Parser(source, diet, throwOnIncomplete, optionalSemicolons, startOffset
) { | 9254 function Parser(source, diet, throwOnIncomplete, optionalSemicolons, startOffset
) { |
| 9255 this._inhibitLambda = false; |
| 9256 this._afterParensIndex = (0); |
| 9257 this._recover = false; |
| 9258 this.source = source; |
| 9259 this.diet = diet; |
| 9253 this.throwOnIncomplete = throwOnIncomplete; | 9260 this.throwOnIncomplete = throwOnIncomplete; |
| 9254 this.source = source; | |
| 9255 this.optionalSemicolons = optionalSemicolons; | 9261 this.optionalSemicolons = optionalSemicolons; |
| 9256 this._recover = false; | |
| 9257 this._inhibitLambda = false; | |
| 9258 this.diet = diet; | |
| 9259 this._afterParensIndex = (0); | |
| 9260 this.tokenizer = new Tokenizer(this.source, true, startOffset); | 9262 this.tokenizer = new Tokenizer(this.source, true, startOffset); |
| 9261 this._peekToken = this.tokenizer.next(); | 9263 this._peekToken = this.tokenizer.next(); |
| 9262 this._afterParens = []; | 9264 this._afterParens = []; |
| 9263 } | 9265 } |
| 9264 Parser.prototype.get$enableAwait = function() { | 9266 Parser.prototype.get$enableAwait = function() { |
| 9265 return $globals.experimentalAwaitPhase != null; | 9267 return $globals.experimentalAwaitPhase != null; |
| 9266 } | 9268 } |
| 9267 Parser.prototype.isPrematureEndOfFile = function() { | 9269 Parser.prototype.isPrematureEndOfFile = function() { |
| 9268 if (this.throwOnIncomplete && this._maybeEat((1))) { | 9270 if (this.throwOnIncomplete && this._maybeEat((1))) { |
| 9269 $throw(new IncompleteSourceException(this._previousToken)); | 9271 $throw(new IncompleteSourceException(this._previousToken)); |
| (...skipping 1521 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10791 function IncompleteSourceException(token) { | 10793 function IncompleteSourceException(token) { |
| 10792 this.token = token; | 10794 this.token = token; |
| 10793 } | 10795 } |
| 10794 IncompleteSourceException.prototype.toString = function() { | 10796 IncompleteSourceException.prototype.toString = function() { |
| 10795 if (this.token.get$span() == null) return ("Unexpected " + this.token); | 10797 if (this.token.get$span() == null) return ("Unexpected " + this.token); |
| 10796 return this.token.get$span().toMessageString(("Unexpected " + this.token)); | 10798 return this.token.get$span().toMessageString(("Unexpected " + this.token)); |
| 10797 } | 10799 } |
| 10798 IncompleteSourceException.prototype.toString$0 = IncompleteSourceException.proto
type.toString; | 10800 IncompleteSourceException.prototype.toString$0 = IncompleteSourceException.proto
type.toString; |
| 10799 // ********** Code for DivertedTokenSource ************** | 10801 // ********** Code for DivertedTokenSource ************** |
| 10800 function DivertedTokenSource(tokens, parser, previousTokenizer) { | 10802 function DivertedTokenSource(tokens, parser, previousTokenizer) { |
| 10801 this.parser = parser; | |
| 10802 this._lang_pos = (0); | 10803 this._lang_pos = (0); |
| 10803 this.tokens = tokens; | 10804 this.tokens = tokens; |
| 10805 this.parser = parser; |
| 10804 this.previousTokenizer = previousTokenizer; | 10806 this.previousTokenizer = previousTokenizer; |
| 10805 } | 10807 } |
| 10806 DivertedTokenSource.prototype.next = function() { | 10808 DivertedTokenSource.prototype.next = function() { |
| 10807 var token = this.tokens.$index(this._lang_pos); | 10809 var token = this.tokens.$index(this._lang_pos); |
| 10808 ++this._lang_pos; | 10810 ++this._lang_pos; |
| 10809 if (this._lang_pos == this.tokens.get$length()) { | 10811 if (this._lang_pos == this.tokens.get$length()) { |
| 10810 this.parser.tokenizer = this.previousTokenizer; | 10812 this.parser.tokenizer = this.previousTokenizer; |
| 10811 } | 10813 } |
| 10812 return token; | 10814 return token; |
| 10813 } | 10815 } |
| (...skipping 25 matching lines...) Expand all Loading... |
| 10839 Node.call(this, span); | 10841 Node.call(this, span); |
| 10840 } | 10842 } |
| 10841 // ********** Code for TypeReference ************** | 10843 // ********** Code for TypeReference ************** |
| 10842 $inherits(TypeReference, Node); | 10844 $inherits(TypeReference, Node); |
| 10843 function TypeReference(span) { | 10845 function TypeReference(span) { |
| 10844 Node.call(this, span); | 10846 Node.call(this, span); |
| 10845 } | 10847 } |
| 10846 // ********** Code for DirectiveDefinition ************** | 10848 // ********** Code for DirectiveDefinition ************** |
| 10847 $inherits(DirectiveDefinition, Definition); | 10849 $inherits(DirectiveDefinition, Definition); |
| 10848 function DirectiveDefinition(name, arguments, span) { | 10850 function DirectiveDefinition(name, arguments, span) { |
| 10851 this.name = name; |
| 10849 this.arguments = arguments; | 10852 this.arguments = arguments; |
| 10850 this.name = name; | |
| 10851 Definition.call(this, span); | 10853 Definition.call(this, span); |
| 10852 } | 10854 } |
| 10853 DirectiveDefinition.prototype.get$name = function() { return this.name; }; | 10855 DirectiveDefinition.prototype.get$name = function() { return this.name; }; |
| 10854 DirectiveDefinition.prototype.set$name = function(value) { return this.name = va
lue; }; | 10856 DirectiveDefinition.prototype.set$name = function(value) { return this.name = va
lue; }; |
| 10855 DirectiveDefinition.prototype.visit = function(visitor) { | 10857 DirectiveDefinition.prototype.visit = function(visitor) { |
| 10856 return visitor.visitDirectiveDefinition(this); | 10858 return visitor.visitDirectiveDefinition(this); |
| 10857 } | 10859 } |
| 10858 // ********** Code for TypeDefinition ************** | 10860 // ********** Code for TypeDefinition ************** |
| 10859 $inherits(TypeDefinition, Definition); | 10861 $inherits(TypeDefinition, Definition); |
| 10860 function TypeDefinition(isClass, name, typeParameters, extendsTypes, implementsT
ypes, nativeType, defaultType, body, span) { | 10862 function TypeDefinition(isClass, name, typeParameters, extendsTypes, implementsT
ypes, nativeType, defaultType, body, span) { |
| 10861 this.extendsTypes = extendsTypes; | |
| 10862 this.isClass = isClass; | 10863 this.isClass = isClass; |
| 10863 this.name = name; | 10864 this.name = name; |
| 10865 this.typeParameters = typeParameters; |
| 10866 this.extendsTypes = extendsTypes; |
| 10867 this.implementsTypes = implementsTypes; |
| 10868 this.nativeType = nativeType; |
| 10869 this.defaultType = defaultType; |
| 10864 this.body = body; | 10870 this.body = body; |
| 10865 this.typeParameters = typeParameters; | |
| 10866 this.nativeType = nativeType; | |
| 10867 this.implementsTypes = implementsTypes; | |
| 10868 this.defaultType = defaultType; | |
| 10869 Definition.call(this, span); | 10871 Definition.call(this, span); |
| 10870 } | 10872 } |
| 10871 TypeDefinition.prototype.get$isClass = function() { return this.isClass; }; | 10873 TypeDefinition.prototype.get$isClass = function() { return this.isClass; }; |
| 10872 TypeDefinition.prototype.get$name = function() { return this.name; }; | 10874 TypeDefinition.prototype.get$name = function() { return this.name; }; |
| 10873 TypeDefinition.prototype.set$name = function(value) { return this.name = value;
}; | 10875 TypeDefinition.prototype.set$name = function(value) { return this.name = value;
}; |
| 10874 TypeDefinition.prototype.get$typeParameters = function() { return this.typeParam
eters; }; | 10876 TypeDefinition.prototype.get$typeParameters = function() { return this.typeParam
eters; }; |
| 10875 TypeDefinition.prototype.get$nativeType = function() { return this.nativeType; }
; | 10877 TypeDefinition.prototype.get$nativeType = function() { return this.nativeType; }
; |
| 10876 TypeDefinition.prototype.get$body = function() { return this.body; }; | 10878 TypeDefinition.prototype.get$body = function() { return this.body; }; |
| 10877 TypeDefinition.prototype.visit = function(visitor) { | 10879 TypeDefinition.prototype.visit = function(visitor) { |
| 10878 return visitor.visitTypeDefinition(this); | 10880 return visitor.visitTypeDefinition(this); |
| 10879 } | 10881 } |
| 10880 // ********** Code for FunctionTypeDefinition ************** | 10882 // ********** Code for FunctionTypeDefinition ************** |
| 10881 $inherits(FunctionTypeDefinition, Definition); | 10883 $inherits(FunctionTypeDefinition, Definition); |
| 10882 function FunctionTypeDefinition(func, typeParameters, span) { | 10884 function FunctionTypeDefinition(func, typeParameters, span) { |
| 10885 this.func = func; |
| 10883 this.typeParameters = typeParameters; | 10886 this.typeParameters = typeParameters; |
| 10884 this.func = func; | |
| 10885 Definition.call(this, span); | 10887 Definition.call(this, span); |
| 10886 } | 10888 } |
| 10887 FunctionTypeDefinition.prototype.get$func = function() { return this.func; }; | 10889 FunctionTypeDefinition.prototype.get$func = function() { return this.func; }; |
| 10888 FunctionTypeDefinition.prototype.get$typeParameters = function() { return this.t
ypeParameters; }; | 10890 FunctionTypeDefinition.prototype.get$typeParameters = function() { return this.t
ypeParameters; }; |
| 10889 FunctionTypeDefinition.prototype.visit = function(visitor) { | 10891 FunctionTypeDefinition.prototype.visit = function(visitor) { |
| 10890 return visitor.visitFunctionTypeDefinition(this); | 10892 return visitor.visitFunctionTypeDefinition(this); |
| 10891 } | 10893 } |
| 10892 // ********** Code for VariableDefinition ************** | 10894 // ********** Code for VariableDefinition ************** |
| 10893 $inherits(VariableDefinition, Definition); | 10895 $inherits(VariableDefinition, Definition); |
| 10894 function VariableDefinition(modifiers, type, names, values, span) { | 10896 function VariableDefinition(modifiers, type, names, values, span) { |
| 10895 this.modifiers = modifiers; | 10897 this.modifiers = modifiers; |
| 10896 this.type = type; | 10898 this.type = type; |
| 10897 this.names = names; | 10899 this.names = names; |
| 10898 this.values = values; | 10900 this.values = values; |
| 10899 Definition.call(this, span); | 10901 Definition.call(this, span); |
| 10900 } | 10902 } |
| 10901 VariableDefinition.prototype.get$type = function() { return this.type; }; | 10903 VariableDefinition.prototype.get$type = function() { return this.type; }; |
| 10902 VariableDefinition.prototype.get$names = function() { return this.names; }; | 10904 VariableDefinition.prototype.get$names = function() { return this.names; }; |
| 10903 VariableDefinition.prototype.set$names = function(value) { return this.names = v
alue; }; | 10905 VariableDefinition.prototype.set$names = function(value) { return this.names = v
alue; }; |
| 10904 VariableDefinition.prototype.visit = function(visitor) { | 10906 VariableDefinition.prototype.visit = function(visitor) { |
| 10905 return visitor.visitVariableDefinition(this); | 10907 return visitor.visitVariableDefinition(this); |
| 10906 } | 10908 } |
| 10907 // ********** Code for FunctionDefinition ************** | 10909 // ********** Code for FunctionDefinition ************** |
| 10908 $inherits(FunctionDefinition, Definition); | 10910 $inherits(FunctionDefinition, Definition); |
| 10909 function FunctionDefinition(modifiers, returnType, name, formals, initializers,
nativeBody, body, span) { | 10911 function FunctionDefinition(modifiers, returnType, name, formals, initializers,
nativeBody, body, span) { |
| 10910 this.modifiers = modifiers; | 10912 this.modifiers = modifiers; |
| 10913 this.returnType = returnType; |
| 10911 this.name = name; | 10914 this.name = name; |
| 10915 this.formals = formals; |
| 10912 this.initializers = initializers; | 10916 this.initializers = initializers; |
| 10917 this.nativeBody = nativeBody; |
| 10913 this.body = body; | 10918 this.body = body; |
| 10914 this.returnType = returnType; | |
| 10915 this.formals = formals; | |
| 10916 this.nativeBody = nativeBody; | |
| 10917 Definition.call(this, span); | 10919 Definition.call(this, span); |
| 10918 } | 10920 } |
| 10919 FunctionDefinition.prototype.get$returnType = function() { return this.returnTyp
e; }; | 10921 FunctionDefinition.prototype.get$returnType = function() { return this.returnTyp
e; }; |
| 10920 FunctionDefinition.prototype.set$returnType = function(value) { return this.retu
rnType = value; }; | 10922 FunctionDefinition.prototype.set$returnType = function(value) { return this.retu
rnType = value; }; |
| 10921 FunctionDefinition.prototype.get$name = function() { return this.name; }; | 10923 FunctionDefinition.prototype.get$name = function() { return this.name; }; |
| 10922 FunctionDefinition.prototype.set$name = function(value) { return this.name = val
ue; }; | 10924 FunctionDefinition.prototype.set$name = function(value) { return this.name = val
ue; }; |
| 10923 FunctionDefinition.prototype.get$initializers = function() { return this.initial
izers; }; | 10925 FunctionDefinition.prototype.get$initializers = function() { return this.initial
izers; }; |
| 10924 FunctionDefinition.prototype.get$body = function() { return this.body; }; | 10926 FunctionDefinition.prototype.get$body = function() { return this.body; }; |
| 10925 FunctionDefinition.prototype.visit = function(visitor) { | 10927 FunctionDefinition.prototype.visit = function(visitor) { |
| 10926 return visitor.visitFunctionDefinition(this); | 10928 return visitor.visitFunctionDefinition(this); |
| (...skipping 46 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 10973 Statement.call(this, span); | 10975 Statement.call(this, span); |
| 10974 } | 10976 } |
| 10975 ContinueStatement.prototype.get$label = function() { return this.label; }; | 10977 ContinueStatement.prototype.get$label = function() { return this.label; }; |
| 10976 ContinueStatement.prototype.visit = function(visitor) { | 10978 ContinueStatement.prototype.visit = function(visitor) { |
| 10977 return visitor.visitContinueStatement(this); | 10979 return visitor.visitContinueStatement(this); |
| 10978 } | 10980 } |
| 10979 // ********** Code for IfStatement ************** | 10981 // ********** Code for IfStatement ************** |
| 10980 $inherits(IfStatement, Statement); | 10982 $inherits(IfStatement, Statement); |
| 10981 function IfStatement(test, trueBranch, falseBranch, span) { | 10983 function IfStatement(test, trueBranch, falseBranch, span) { |
| 10982 this.test = test; | 10984 this.test = test; |
| 10985 this.trueBranch = trueBranch; |
| 10983 this.falseBranch = falseBranch; | 10986 this.falseBranch = falseBranch; |
| 10984 this.trueBranch = trueBranch; | |
| 10985 Statement.call(this, span); | 10987 Statement.call(this, span); |
| 10986 } | 10988 } |
| 10987 IfStatement.prototype.visit = function(visitor) { | 10989 IfStatement.prototype.visit = function(visitor) { |
| 10988 return visitor.visitIfStatement(this); | 10990 return visitor.visitIfStatement(this); |
| 10989 } | 10991 } |
| 10990 // ********** Code for WhileStatement ************** | 10992 // ********** Code for WhileStatement ************** |
| 10991 $inherits(WhileStatement, Statement); | 10993 $inherits(WhileStatement, Statement); |
| 10992 function WhileStatement(test, body, span) { | 10994 function WhileStatement(test, body, span) { |
| 10995 this.test = test; |
| 10993 this.body = body; | 10996 this.body = body; |
| 10994 this.test = test; | |
| 10995 Statement.call(this, span); | 10997 Statement.call(this, span); |
| 10996 } | 10998 } |
| 10997 WhileStatement.prototype.get$body = function() { return this.body; }; | 10999 WhileStatement.prototype.get$body = function() { return this.body; }; |
| 10998 WhileStatement.prototype.visit = function(visitor) { | 11000 WhileStatement.prototype.visit = function(visitor) { |
| 10999 return visitor.visitWhileStatement(this); | 11001 return visitor.visitWhileStatement(this); |
| 11000 } | 11002 } |
| 11001 // ********** Code for DoStatement ************** | 11003 // ********** Code for DoStatement ************** |
| 11002 $inherits(DoStatement, Statement); | 11004 $inherits(DoStatement, Statement); |
| 11003 function DoStatement(body, test, span) { | 11005 function DoStatement(body, test, span) { |
| 11004 this.body = body; | 11006 this.body = body; |
| 11005 this.test = test; | 11007 this.test = test; |
| 11006 Statement.call(this, span); | 11008 Statement.call(this, span); |
| 11007 } | 11009 } |
| 11008 DoStatement.prototype.get$body = function() { return this.body; }; | 11010 DoStatement.prototype.get$body = function() { return this.body; }; |
| 11009 DoStatement.prototype.visit = function(visitor) { | 11011 DoStatement.prototype.visit = function(visitor) { |
| 11010 return visitor.visitDoStatement(this); | 11012 return visitor.visitDoStatement(this); |
| 11011 } | 11013 } |
| 11012 // ********** Code for ForStatement ************** | 11014 // ********** Code for ForStatement ************** |
| 11013 $inherits(ForStatement, Statement); | 11015 $inherits(ForStatement, Statement); |
| 11014 function ForStatement(init, test, step, body, span) { | 11016 function ForStatement(init, test, step, body, span) { |
| 11015 this.body = body; | 11017 this.init = init; |
| 11016 this.test = test; | 11018 this.test = test; |
| 11017 this.step = step; | 11019 this.step = step; |
| 11018 this.init = init; | 11020 this.body = body; |
| 11019 Statement.call(this, span); | 11021 Statement.call(this, span); |
| 11020 } | 11022 } |
| 11021 ForStatement.prototype.get$body = function() { return this.body; }; | 11023 ForStatement.prototype.get$body = function() { return this.body; }; |
| 11022 ForStatement.prototype.visit = function(visitor) { | 11024 ForStatement.prototype.visit = function(visitor) { |
| 11023 return visitor.visitForStatement(this); | 11025 return visitor.visitForStatement(this); |
| 11024 } | 11026 } |
| 11025 // ********** Code for ForInStatement ************** | 11027 // ********** Code for ForInStatement ************** |
| 11026 $inherits(ForInStatement, Statement); | 11028 $inherits(ForInStatement, Statement); |
| 11027 function ForInStatement(item, list, body, span) { | 11029 function ForInStatement(item, list, body, span) { |
| 11028 this.body = body; | |
| 11029 this.item = item; | 11030 this.item = item; |
| 11030 this.list = list; | 11031 this.list = list; |
| 11032 this.body = body; |
| 11031 Statement.call(this, span); | 11033 Statement.call(this, span); |
| 11032 } | 11034 } |
| 11033 ForInStatement.prototype.get$body = function() { return this.body; }; | 11035 ForInStatement.prototype.get$body = function() { return this.body; }; |
| 11034 ForInStatement.prototype.visit = function(visitor) { | 11036 ForInStatement.prototype.visit = function(visitor) { |
| 11035 return visitor.visitForInStatement(this); | 11037 return visitor.visitForInStatement(this); |
| 11036 } | 11038 } |
| 11037 // ********** Code for TryStatement ************** | 11039 // ********** Code for TryStatement ************** |
| 11038 $inherits(TryStatement, Statement); | 11040 $inherits(TryStatement, Statement); |
| 11039 function TryStatement(body, catches, finallyBlock, span) { | 11041 function TryStatement(body, catches, finallyBlock, span) { |
| 11040 this.body = body; | 11042 this.body = body; |
| 11043 this.catches = catches; |
| 11041 this.finallyBlock = finallyBlock; | 11044 this.finallyBlock = finallyBlock; |
| 11042 this.catches = catches; | |
| 11043 Statement.call(this, span); | 11045 Statement.call(this, span); |
| 11044 } | 11046 } |
| 11045 TryStatement.prototype.get$body = function() { return this.body; }; | 11047 TryStatement.prototype.get$body = function() { return this.body; }; |
| 11046 TryStatement.prototype.visit = function(visitor) { | 11048 TryStatement.prototype.visit = function(visitor) { |
| 11047 return visitor.visitTryStatement(this); | 11049 return visitor.visitTryStatement(this); |
| 11048 } | 11050 } |
| 11049 // ********** Code for SwitchStatement ************** | 11051 // ********** Code for SwitchStatement ************** |
| 11050 $inherits(SwitchStatement, Statement); | 11052 $inherits(SwitchStatement, Statement); |
| 11051 function SwitchStatement(test, cases, span) { | 11053 function SwitchStatement(test, cases, span) { |
| 11052 this.test = test; | 11054 this.test = test; |
| (...skipping 10 matching lines...) Expand all Loading... |
| 11063 this.body = body; | 11065 this.body = body; |
| 11064 Statement.call(this, span); | 11066 Statement.call(this, span); |
| 11065 } | 11067 } |
| 11066 BlockStatement.prototype.get$body = function() { return this.body; }; | 11068 BlockStatement.prototype.get$body = function() { return this.body; }; |
| 11067 BlockStatement.prototype.visit = function(visitor) { | 11069 BlockStatement.prototype.visit = function(visitor) { |
| 11068 return visitor.visitBlockStatement(this); | 11070 return visitor.visitBlockStatement(this); |
| 11069 } | 11071 } |
| 11070 // ********** Code for LabeledStatement ************** | 11072 // ********** Code for LabeledStatement ************** |
| 11071 $inherits(LabeledStatement, Statement); | 11073 $inherits(LabeledStatement, Statement); |
| 11072 function LabeledStatement(name, body, span) { | 11074 function LabeledStatement(name, body, span) { |
| 11075 this.name = name; |
| 11073 this.body = body; | 11076 this.body = body; |
| 11074 this.name = name; | |
| 11075 Statement.call(this, span); | 11077 Statement.call(this, span); |
| 11076 } | 11078 } |
| 11077 LabeledStatement.prototype.get$name = function() { return this.name; }; | 11079 LabeledStatement.prototype.get$name = function() { return this.name; }; |
| 11078 LabeledStatement.prototype.set$name = function(value) { return this.name = value
; }; | 11080 LabeledStatement.prototype.set$name = function(value) { return this.name = value
; }; |
| 11079 LabeledStatement.prototype.get$body = function() { return this.body; }; | 11081 LabeledStatement.prototype.get$body = function() { return this.body; }; |
| 11080 LabeledStatement.prototype.visit = function(visitor) { | 11082 LabeledStatement.prototype.visit = function(visitor) { |
| 11081 return visitor.visitLabeledStatement(this); | 11083 return visitor.visitLabeledStatement(this); |
| 11082 } | 11084 } |
| 11083 // ********** Code for ExpressionStatement ************** | 11085 // ********** Code for ExpressionStatement ************** |
| 11084 $inherits(ExpressionStatement, Statement); | 11086 $inherits(ExpressionStatement, Statement); |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11132 this.target = target; | 11134 this.target = target; |
| 11133 this.index = index; | 11135 this.index = index; |
| 11134 Expression.call(this, span); | 11136 Expression.call(this, span); |
| 11135 } | 11137 } |
| 11136 IndexExpression.prototype.visit = function(visitor) { | 11138 IndexExpression.prototype.visit = function(visitor) { |
| 11137 return visitor.visitIndexExpression(this); | 11139 return visitor.visitIndexExpression(this); |
| 11138 } | 11140 } |
| 11139 // ********** Code for BinaryExpression ************** | 11141 // ********** Code for BinaryExpression ************** |
| 11140 $inherits(BinaryExpression, Expression); | 11142 $inherits(BinaryExpression, Expression); |
| 11141 function BinaryExpression(op, x, y, span) { | 11143 function BinaryExpression(op, x, y, span) { |
| 11144 this.op = op; |
| 11145 this.x = x; |
| 11142 this.y = y; | 11146 this.y = y; |
| 11143 this.x = x; | |
| 11144 this.op = op; | |
| 11145 Expression.call(this, span); | 11147 Expression.call(this, span); |
| 11146 } | 11148 } |
| 11147 BinaryExpression.prototype.get$op = function() { return this.op; }; | 11149 BinaryExpression.prototype.get$op = function() { return this.op; }; |
| 11148 BinaryExpression.prototype.get$x = function() { return this.x; }; | 11150 BinaryExpression.prototype.get$x = function() { return this.x; }; |
| 11149 BinaryExpression.prototype.get$y = function() { return this.y; }; | 11151 BinaryExpression.prototype.get$y = function() { return this.y; }; |
| 11150 BinaryExpression.prototype.visit = function(visitor) { | 11152 BinaryExpression.prototype.visit = function(visitor) { |
| 11151 return visitor.visitBinaryExpression$1(this); | 11153 return visitor.visitBinaryExpression$1(this); |
| 11152 } | 11154 } |
| 11153 // ********** Code for UnaryExpression ************** | 11155 // ********** Code for UnaryExpression ************** |
| 11154 $inherits(UnaryExpression, Expression); | 11156 $inherits(UnaryExpression, Expression); |
| 11155 function UnaryExpression(op, self, span) { | 11157 function UnaryExpression(op, self, span) { |
| 11158 this.op = op; |
| 11156 this.self = self; | 11159 this.self = self; |
| 11157 this.op = op; | |
| 11158 Expression.call(this, span); | 11160 Expression.call(this, span); |
| 11159 } | 11161 } |
| 11160 UnaryExpression.prototype.get$op = function() { return this.op; }; | 11162 UnaryExpression.prototype.get$op = function() { return this.op; }; |
| 11161 UnaryExpression.prototype.get$self = function() { return this.self; }; | 11163 UnaryExpression.prototype.get$self = function() { return this.self; }; |
| 11162 UnaryExpression.prototype.visit = function(visitor) { | 11164 UnaryExpression.prototype.visit = function(visitor) { |
| 11163 return visitor.visitUnaryExpression(this); | 11165 return visitor.visitUnaryExpression(this); |
| 11164 } | 11166 } |
| 11165 // ********** Code for PostfixExpression ************** | 11167 // ********** Code for PostfixExpression ************** |
| 11166 $inherits(PostfixExpression, Expression); | 11168 $inherits(PostfixExpression, Expression); |
| 11167 function PostfixExpression(body, op, span) { | 11169 function PostfixExpression(body, op, span) { |
| 11168 this.body = body; | 11170 this.body = body; |
| 11169 this.op = op; | 11171 this.op = op; |
| 11170 Expression.call(this, span); | 11172 Expression.call(this, span); |
| 11171 } | 11173 } |
| 11172 PostfixExpression.prototype.get$body = function() { return this.body; }; | 11174 PostfixExpression.prototype.get$body = function() { return this.body; }; |
| 11173 PostfixExpression.prototype.get$op = function() { return this.op; }; | 11175 PostfixExpression.prototype.get$op = function() { return this.op; }; |
| 11174 PostfixExpression.prototype.visit = function(visitor) { | 11176 PostfixExpression.prototype.visit = function(visitor) { |
| 11175 return visitor.visitPostfixExpression$1(this); | 11177 return visitor.visitPostfixExpression$1(this); |
| 11176 } | 11178 } |
| 11177 // ********** Code for NewExpression ************** | 11179 // ********** Code for NewExpression ************** |
| 11178 $inherits(NewExpression, Expression); | 11180 $inherits(NewExpression, Expression); |
| 11179 function NewExpression(isConst, type, name, arguments, span) { | 11181 function NewExpression(isConst, type, name, arguments, span) { |
| 11182 this.isConst = isConst; |
| 11183 this.type = type; |
| 11184 this.name = name; |
| 11180 this.arguments = arguments; | 11185 this.arguments = arguments; |
| 11181 this.name = name; | |
| 11182 this.type = type; | |
| 11183 this.isConst = isConst; | |
| 11184 Expression.call(this, span); | 11186 Expression.call(this, span); |
| 11185 } | 11187 } |
| 11186 NewExpression.prototype.get$isConst = function() { return this.isConst; }; | 11188 NewExpression.prototype.get$isConst = function() { return this.isConst; }; |
| 11187 NewExpression.prototype.get$type = function() { return this.type; }; | 11189 NewExpression.prototype.get$type = function() { return this.type; }; |
| 11188 NewExpression.prototype.get$name = function() { return this.name; }; | 11190 NewExpression.prototype.get$name = function() { return this.name; }; |
| 11189 NewExpression.prototype.set$name = function(value) { return this.name = value; }
; | 11191 NewExpression.prototype.set$name = function(value) { return this.name = value; }
; |
| 11190 NewExpression.prototype.visit = function(visitor) { | 11192 NewExpression.prototype.visit = function(visitor) { |
| 11191 return visitor.visitNewExpression(this); | 11193 return visitor.visitNewExpression(this); |
| 11192 } | 11194 } |
| 11193 // ********** Code for ListExpression ************** | 11195 // ********** Code for ListExpression ************** |
| 11194 $inherits(ListExpression, Expression); | 11196 $inherits(ListExpression, Expression); |
| 11195 function ListExpression(isConst, itemType, values, span) { | 11197 function ListExpression(isConst, itemType, values, span) { |
| 11198 this.isConst = isConst; |
| 11196 this.itemType = itemType; | 11199 this.itemType = itemType; |
| 11197 this.isConst = isConst; | |
| 11198 this.values = values; | 11200 this.values = values; |
| 11199 Expression.call(this, span); | 11201 Expression.call(this, span); |
| 11200 } | 11202 } |
| 11201 ListExpression.prototype.get$isConst = function() { return this.isConst; }; | 11203 ListExpression.prototype.get$isConst = function() { return this.isConst; }; |
| 11202 ListExpression.prototype.visit = function(visitor) { | 11204 ListExpression.prototype.visit = function(visitor) { |
| 11203 return visitor.visitListExpression(this); | 11205 return visitor.visitListExpression(this); |
| 11204 } | 11206 } |
| 11205 // ********** Code for MapExpression ************** | 11207 // ********** Code for MapExpression ************** |
| 11206 $inherits(MapExpression, Expression); | 11208 $inherits(MapExpression, Expression); |
| 11207 function MapExpression(isConst, keyType, valueType, items, span) { | 11209 function MapExpression(isConst, keyType, valueType, items, span) { |
| 11210 this.isConst = isConst; |
| 11208 this.keyType = keyType; | 11211 this.keyType = keyType; |
| 11209 this.valueType = valueType; | 11212 this.valueType = valueType; |
| 11210 this.items = items; | 11213 this.items = items; |
| 11211 this.isConst = isConst; | |
| 11212 Expression.call(this, span); | 11214 Expression.call(this, span); |
| 11213 } | 11215 } |
| 11214 MapExpression.prototype.get$isConst = function() { return this.isConst; }; | 11216 MapExpression.prototype.get$isConst = function() { return this.isConst; }; |
| 11215 MapExpression.prototype.visit = function(visitor) { | 11217 MapExpression.prototype.visit = function(visitor) { |
| 11216 return visitor.visitMapExpression(this); | 11218 return visitor.visitMapExpression(this); |
| 11217 } | 11219 } |
| 11218 // ********** Code for ConditionalExpression ************** | 11220 // ********** Code for ConditionalExpression ************** |
| 11219 $inherits(ConditionalExpression, Expression); | 11221 $inherits(ConditionalExpression, Expression); |
| 11220 function ConditionalExpression(test, trueBranch, falseBranch, span) { | 11222 function ConditionalExpression(test, trueBranch, falseBranch, span) { |
| 11221 this.test = test; | 11223 this.test = test; |
| 11224 this.trueBranch = trueBranch; |
| 11222 this.falseBranch = falseBranch; | 11225 this.falseBranch = falseBranch; |
| 11223 this.trueBranch = trueBranch; | |
| 11224 Expression.call(this, span); | 11226 Expression.call(this, span); |
| 11225 } | 11227 } |
| 11226 ConditionalExpression.prototype.visit = function(visitor) { | 11228 ConditionalExpression.prototype.visit = function(visitor) { |
| 11227 return visitor.visitConditionalExpression(this); | 11229 return visitor.visitConditionalExpression(this); |
| 11228 } | 11230 } |
| 11229 // ********** Code for IsExpression ************** | 11231 // ********** Code for IsExpression ************** |
| 11230 $inherits(IsExpression, Expression); | 11232 $inherits(IsExpression, Expression); |
| 11231 function IsExpression(isTrue, x, type, span) { | 11233 function IsExpression(isTrue, x, type, span) { |
| 11232 this.isTrue = isTrue; | 11234 this.isTrue = isTrue; |
| 11233 this.x = x; | 11235 this.x = x; |
| (...skipping 100 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11334 this.type = type; | 11336 this.type = type; |
| 11335 TypeReference.call(this, span); | 11337 TypeReference.call(this, span); |
| 11336 } | 11338 } |
| 11337 SimpleTypeReference.prototype.get$type = function() { return this.type; }; | 11339 SimpleTypeReference.prototype.get$type = function() { return this.type; }; |
| 11338 SimpleTypeReference.prototype.visit = function(visitor) { | 11340 SimpleTypeReference.prototype.visit = function(visitor) { |
| 11339 return visitor.visitSimpleTypeReference(this); | 11341 return visitor.visitSimpleTypeReference(this); |
| 11340 } | 11342 } |
| 11341 // ********** Code for NameTypeReference ************** | 11343 // ********** Code for NameTypeReference ************** |
| 11342 $inherits(NameTypeReference, TypeReference); | 11344 $inherits(NameTypeReference, TypeReference); |
| 11343 function NameTypeReference(isFinal, name, names, span) { | 11345 function NameTypeReference(isFinal, name, names, span) { |
| 11346 this.isFinal = isFinal; |
| 11344 this.name = name; | 11347 this.name = name; |
| 11345 this.names = names; | 11348 this.names = names; |
| 11346 this.isFinal = isFinal; | |
| 11347 TypeReference.call(this, span); | 11349 TypeReference.call(this, span); |
| 11348 } | 11350 } |
| 11349 NameTypeReference.prototype.get$isFinal = function() { return this.isFinal; }; | 11351 NameTypeReference.prototype.get$isFinal = function() { return this.isFinal; }; |
| 11350 NameTypeReference.prototype.get$name = function() { return this.name; }; | 11352 NameTypeReference.prototype.get$name = function() { return this.name; }; |
| 11351 NameTypeReference.prototype.set$name = function(value) { return this.name = valu
e; }; | 11353 NameTypeReference.prototype.set$name = function(value) { return this.name = valu
e; }; |
| 11352 NameTypeReference.prototype.get$names = function() { return this.names; }; | 11354 NameTypeReference.prototype.get$names = function() { return this.names; }; |
| 11353 NameTypeReference.prototype.set$names = function(value) { return this.names = va
lue; }; | 11355 NameTypeReference.prototype.set$names = function(value) { return this.names = va
lue; }; |
| 11354 NameTypeReference.prototype.visit = function(visitor) { | 11356 NameTypeReference.prototype.visit = function(visitor) { |
| 11355 return visitor.visitNameTypeReference(this); | 11357 return visitor.visitNameTypeReference(this); |
| 11356 } | 11358 } |
| 11357 // ********** Code for GenericTypeReference ************** | 11359 // ********** Code for GenericTypeReference ************** |
| 11358 $inherits(GenericTypeReference, TypeReference); | 11360 $inherits(GenericTypeReference, TypeReference); |
| 11359 function GenericTypeReference(baseType, typeArguments, depth, span) { | 11361 function GenericTypeReference(baseType, typeArguments, depth, span) { |
| 11360 this.depth = depth; | |
| 11361 this.baseType = baseType; | 11362 this.baseType = baseType; |
| 11362 this.typeArguments = typeArguments; | 11363 this.typeArguments = typeArguments; |
| 11364 this.depth = depth; |
| 11363 TypeReference.call(this, span); | 11365 TypeReference.call(this, span); |
| 11364 } | 11366 } |
| 11365 GenericTypeReference.prototype.get$baseType = function() { return this.baseType;
}; | 11367 GenericTypeReference.prototype.get$baseType = function() { return this.baseType;
}; |
| 11366 GenericTypeReference.prototype.get$typeArguments = function() { return this.type
Arguments; }; | 11368 GenericTypeReference.prototype.get$typeArguments = function() { return this.type
Arguments; }; |
| 11367 GenericTypeReference.prototype.get$depth = function() { return this.depth; }; | 11369 GenericTypeReference.prototype.get$depth = function() { return this.depth; }; |
| 11368 GenericTypeReference.prototype.visit = function(visitor) { | 11370 GenericTypeReference.prototype.visit = function(visitor) { |
| 11369 return visitor.visitGenericTypeReference(this); | 11371 return visitor.visitGenericTypeReference(this); |
| 11370 } | 11372 } |
| 11371 // ********** Code for FunctionTypeReference ************** | 11373 // ********** Code for FunctionTypeReference ************** |
| 11372 $inherits(FunctionTypeReference, TypeReference); | 11374 $inherits(FunctionTypeReference, TypeReference); |
| 11373 function FunctionTypeReference(isFinal, func, span) { | 11375 function FunctionTypeReference(isFinal, func, span) { |
| 11376 this.isFinal = isFinal; |
| 11374 this.func = func; | 11377 this.func = func; |
| 11375 this.isFinal = isFinal; | |
| 11376 TypeReference.call(this, span); | 11378 TypeReference.call(this, span); |
| 11377 } | 11379 } |
| 11378 FunctionTypeReference.prototype.get$isFinal = function() { return this.isFinal;
}; | 11380 FunctionTypeReference.prototype.get$isFinal = function() { return this.isFinal;
}; |
| 11379 FunctionTypeReference.prototype.get$func = function() { return this.func; }; | 11381 FunctionTypeReference.prototype.get$func = function() { return this.func; }; |
| 11380 FunctionTypeReference.prototype.visit = function(visitor) { | 11382 FunctionTypeReference.prototype.visit = function(visitor) { |
| 11381 return visitor.visitFunctionTypeReference(this); | 11383 return visitor.visitFunctionTypeReference(this); |
| 11382 } | 11384 } |
| 11383 // ********** Code for DefaultTypeReference ************** | 11385 // ********** Code for DefaultTypeReference ************** |
| 11384 $inherits(DefaultTypeReference, TypeReference); | 11386 $inherits(DefaultTypeReference, TypeReference); |
| 11385 function DefaultTypeReference(oldFactory, baseType, typeParameters, span) { | 11387 function DefaultTypeReference(oldFactory, baseType, typeParameters, span) { |
| 11386 this.typeParameters = typeParameters; | |
| 11387 this.oldFactory = oldFactory; | 11388 this.oldFactory = oldFactory; |
| 11388 this.baseType = baseType; | 11389 this.baseType = baseType; |
| 11390 this.typeParameters = typeParameters; |
| 11389 TypeReference.call(this, span); | 11391 TypeReference.call(this, span); |
| 11390 } | 11392 } |
| 11391 DefaultTypeReference.prototype.get$baseType = function() { return this.baseType;
}; | 11393 DefaultTypeReference.prototype.get$baseType = function() { return this.baseType;
}; |
| 11392 DefaultTypeReference.prototype.get$typeParameters = function() { return this.typ
eParameters; }; | 11394 DefaultTypeReference.prototype.get$typeParameters = function() { return this.typ
eParameters; }; |
| 11393 DefaultTypeReference.prototype.visit = function(visitor) { | 11395 DefaultTypeReference.prototype.visit = function(visitor) { |
| 11394 return visitor.visitDefaultTypeReference(this); | 11396 return visitor.visitDefaultTypeReference(this); |
| 11395 } | 11397 } |
| 11396 // ********** Code for ArgumentNode ************** | 11398 // ********** Code for ArgumentNode ************** |
| 11397 $inherits(ArgumentNode, Node); | 11399 $inherits(ArgumentNode, Node); |
| 11398 function ArgumentNode(label, value, span) { | 11400 function ArgumentNode(label, value, span) { |
| 11399 this.label = label; | 11401 this.label = label; |
| 11400 this.value = value; | 11402 this.value = value; |
| 11401 Node.call(this, span); | 11403 Node.call(this, span); |
| 11402 } | 11404 } |
| 11403 ArgumentNode.prototype.get$label = function() { return this.label; }; | 11405 ArgumentNode.prototype.get$label = function() { return this.label; }; |
| 11404 ArgumentNode.prototype.get$value = function() { return this.value; }; | 11406 ArgumentNode.prototype.get$value = function() { return this.value; }; |
| 11405 ArgumentNode.prototype.set$value = function(value) { return this.value = value;
}; | 11407 ArgumentNode.prototype.set$value = function(value) { return this.value = value;
}; |
| 11406 ArgumentNode.prototype.visit = function(visitor) { | 11408 ArgumentNode.prototype.visit = function(visitor) { |
| 11407 return visitor.visitArgumentNode(this); | 11409 return visitor.visitArgumentNode(this); |
| 11408 } | 11410 } |
| 11409 // ********** Code for FormalNode ************** | 11411 // ********** Code for FormalNode ************** |
| 11410 $inherits(FormalNode, Node); | 11412 $inherits(FormalNode, Node); |
| 11411 function FormalNode(isThis, isRest, type, name, value, span) { | 11413 function FormalNode(isThis, isRest, type, name, value, span) { |
| 11414 this.isThis = isThis; |
| 11415 this.isRest = isRest; |
| 11416 this.type = type; |
| 11412 this.name = name; | 11417 this.name = name; |
| 11413 this.isThis = isThis; | |
| 11414 this.type = type; | |
| 11415 this.isRest = isRest; | |
| 11416 this.value = value; | 11418 this.value = value; |
| 11417 Node.call(this, span); | 11419 Node.call(this, span); |
| 11418 } | 11420 } |
| 11419 FormalNode.prototype.get$type = function() { return this.type; }; | 11421 FormalNode.prototype.get$type = function() { return this.type; }; |
| 11420 FormalNode.prototype.get$name = function() { return this.name; }; | 11422 FormalNode.prototype.get$name = function() { return this.name; }; |
| 11421 FormalNode.prototype.set$name = function(value) { return this.name = value; }; | 11423 FormalNode.prototype.set$name = function(value) { return this.name = value; }; |
| 11422 FormalNode.prototype.get$value = function() { return this.value; }; | 11424 FormalNode.prototype.get$value = function() { return this.value; }; |
| 11423 FormalNode.prototype.set$value = function(value) { return this.value = value; }; | 11425 FormalNode.prototype.set$value = function(value) { return this.value = value; }; |
| 11424 FormalNode.prototype.visit = function(visitor) { | 11426 FormalNode.prototype.visit = function(visitor) { |
| 11425 return visitor.visitFormalNode(this); | 11427 return visitor.visitFormalNode(this); |
| 11426 } | 11428 } |
| 11427 // ********** Code for CatchNode ************** | 11429 // ********** Code for CatchNode ************** |
| 11428 $inherits(CatchNode, Node); | 11430 $inherits(CatchNode, Node); |
| 11429 function CatchNode(exception, trace, body, span) { | 11431 function CatchNode(exception, trace, body, span) { |
| 11430 this.body = body; | |
| 11431 this.exception = exception; | 11432 this.exception = exception; |
| 11432 this.trace = trace; | 11433 this.trace = trace; |
| 11434 this.body = body; |
| 11433 Node.call(this, span); | 11435 Node.call(this, span); |
| 11434 } | 11436 } |
| 11435 CatchNode.prototype.get$exception = function() { return this.exception; }; | 11437 CatchNode.prototype.get$exception = function() { return this.exception; }; |
| 11436 CatchNode.prototype.get$trace = function() { return this.trace; }; | 11438 CatchNode.prototype.get$trace = function() { return this.trace; }; |
| 11437 CatchNode.prototype.get$body = function() { return this.body; }; | 11439 CatchNode.prototype.get$body = function() { return this.body; }; |
| 11438 CatchNode.prototype.visit = function(visitor) { | 11440 CatchNode.prototype.visit = function(visitor) { |
| 11439 return visitor.visitCatchNode(this); | 11441 return visitor.visitCatchNode(this); |
| 11440 } | 11442 } |
| 11441 // ********** Code for CaseNode ************** | 11443 // ********** Code for CaseNode ************** |
| 11442 $inherits(CaseNode, Node); | 11444 $inherits(CaseNode, Node); |
| 11443 function CaseNode(label, cases, statements, span) { | 11445 function CaseNode(label, cases, statements, span) { |
| 11444 this.label = label; | 11446 this.label = label; |
| 11447 this.cases = cases; |
| 11445 this.statements = statements; | 11448 this.statements = statements; |
| 11446 this.cases = cases; | |
| 11447 Node.call(this, span); | 11449 Node.call(this, span); |
| 11448 } | 11450 } |
| 11449 CaseNode.prototype.get$label = function() { return this.label; }; | 11451 CaseNode.prototype.get$label = function() { return this.label; }; |
| 11450 CaseNode.prototype.get$cases = function() { return this.cases; }; | 11452 CaseNode.prototype.get$cases = function() { return this.cases; }; |
| 11451 CaseNode.prototype.get$statements = function() { return this.statements; }; | 11453 CaseNode.prototype.get$statements = function() { return this.statements; }; |
| 11452 CaseNode.prototype.visit = function(visitor) { | 11454 CaseNode.prototype.visit = function(visitor) { |
| 11453 return visitor.visitCaseNode(this); | 11455 return visitor.visitCaseNode(this); |
| 11454 } | 11456 } |
| 11455 // ********** Code for TypeParameter ************** | 11457 // ********** Code for TypeParameter ************** |
| 11456 $inherits(TypeParameter, Node); | 11458 $inherits(TypeParameter, Node); |
| 11457 function TypeParameter(name, extendsType, span) { | 11459 function TypeParameter(name, extendsType, span) { |
| 11460 this.name = name; |
| 11458 this.extendsType = extendsType; | 11461 this.extendsType = extendsType; |
| 11459 this.name = name; | |
| 11460 Node.call(this, span); | 11462 Node.call(this, span); |
| 11461 } | 11463 } |
| 11462 TypeParameter.prototype.get$name = function() { return this.name; }; | 11464 TypeParameter.prototype.get$name = function() { return this.name; }; |
| 11463 TypeParameter.prototype.set$name = function(value) { return this.name = value; }
; | 11465 TypeParameter.prototype.set$name = function(value) { return this.name = value; }
; |
| 11464 TypeParameter.prototype.get$extendsType = function() { return this.extendsType;
}; | 11466 TypeParameter.prototype.get$extendsType = function() { return this.extendsType;
}; |
| 11465 TypeParameter.prototype.visit = function(visitor) { | 11467 TypeParameter.prototype.visit = function(visitor) { |
| 11466 return visitor.visitTypeParameter(this); | 11468 return visitor.visitTypeParameter(this); |
| 11467 } | 11469 } |
| 11468 // ********** Code for Identifier ************** | 11470 // ********** Code for Identifier ************** |
| 11469 $inherits(Identifier, Node); | 11471 $inherits(Identifier, Node); |
| 11470 function Identifier(name, span) { | 11472 function Identifier(name, span) { |
| 11471 this.name = name; | 11473 this.name = name; |
| 11472 Node.call(this, span); | 11474 Node.call(this, span); |
| 11473 } | 11475 } |
| 11474 Identifier.prototype.get$name = function() { return this.name; }; | 11476 Identifier.prototype.get$name = function() { return this.name; }; |
| 11475 Identifier.prototype.set$name = function(value) { return this.name = value; }; | 11477 Identifier.prototype.set$name = function(value) { return this.name = value; }; |
| 11476 Identifier.prototype.visit = function(visitor) { | 11478 Identifier.prototype.visit = function(visitor) { |
| 11477 return visitor.visitIdentifier(this); | 11479 return visitor.visitIdentifier(this); |
| 11478 } | 11480 } |
| 11479 // ********** Code for DeclaredIdentifier ************** | 11481 // ********** Code for DeclaredIdentifier ************** |
| 11480 $inherits(DeclaredIdentifier, Expression); | 11482 $inherits(DeclaredIdentifier, Expression); |
| 11481 function DeclaredIdentifier(type, name, isFinal, span) { | 11483 function DeclaredIdentifier(type, name, isFinal, span) { |
| 11484 this.type = type; |
| 11482 this.name = name; | 11485 this.name = name; |
| 11483 this.type = type; | |
| 11484 this.isFinal = isFinal; | 11486 this.isFinal = isFinal; |
| 11485 Expression.call(this, span); | 11487 Expression.call(this, span); |
| 11486 } | 11488 } |
| 11487 DeclaredIdentifier.prototype.get$type = function() { return this.type; }; | 11489 DeclaredIdentifier.prototype.get$type = function() { return this.type; }; |
| 11488 DeclaredIdentifier.prototype.get$name = function() { return this.name; }; | 11490 DeclaredIdentifier.prototype.get$name = function() { return this.name; }; |
| 11489 DeclaredIdentifier.prototype.set$name = function(value) { return this.name = val
ue; }; | 11491 DeclaredIdentifier.prototype.set$name = function(value) { return this.name = val
ue; }; |
| 11490 DeclaredIdentifier.prototype.get$isFinal = function() { return this.isFinal; }; | 11492 DeclaredIdentifier.prototype.get$isFinal = function() { return this.isFinal; }; |
| 11491 DeclaredIdentifier.prototype.visit = function(visitor) { | 11493 DeclaredIdentifier.prototype.visit = function(visitor) { |
| 11492 return visitor.visitDeclaredIdentifier(this); | 11494 return visitor.visitDeclaredIdentifier(this); |
| 11493 } | 11495 } |
| 11494 // ********** Code for Type ************** | 11496 // ********** Code for Type ************** |
| 11495 $inherits(Type, Element); | 11497 $inherits(Type, Element); |
| 11496 function Type(name) { | 11498 function Type(name) { |
| 11497 this.isTested = false; | 11499 this.isTested = false; |
| 11498 this._foundMembers = new HashMapImplementation(); | |
| 11499 this.isChecked = false; | 11500 this.isChecked = false; |
| 11500 this.isWritten = false; | 11501 this.isWritten = false; |
| 11502 this._foundMembers = new HashMapImplementation(); |
| 11501 this.varStubs = new HashMapImplementation(); | 11503 this.varStubs = new HashMapImplementation(); |
| 11502 Element.call(this, name, null); | 11504 Element.call(this, name, null); |
| 11503 } | 11505 } |
| 11504 Type.prototype.get$typeCheckCode = function() { return this.typeCheckCode; }; | 11506 Type.prototype.get$typeCheckCode = function() { return this.typeCheckCode; }; |
| 11505 Type.prototype.get$varStubs = function() { return this.varStubs; }; | 11507 Type.prototype.get$varStubs = function() { return this.varStubs; }; |
| 11506 Type.prototype.markUsed = function() { | 11508 Type.prototype.markUsed = function() { |
| 11507 | 11509 |
| 11508 } | 11510 } |
| 11509 Type.prototype.get$typeMember = function() { | 11511 Type.prototype.get$typeMember = function() { |
| 11510 if (this._typeMember == null) { | 11512 if (this._typeMember == null) { |
| (...skipping 413 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 11924 NonNullableType.prototype.get$parent = function() { | 11926 NonNullableType.prototype.get$parent = function() { |
| 11925 return this.type.get$parent(); | 11927 return this.type.get$parent(); |
| 11926 } | 11928 } |
| 11927 NonNullableType.prototype.get$isNative = function() { | 11929 NonNullableType.prototype.get$isNative = function() { |
| 11928 return this.type.get$isNative(); | 11930 return this.type.get$isNative(); |
| 11929 } | 11931 } |
| 11930 // ********** Code for DefinedType ************** | 11932 // ********** Code for DefinedType ************** |
| 11931 $inherits(DefinedType, Type); | 11933 $inherits(DefinedType, Type); |
| 11932 function DefinedType(name, library, definition, isClass) { | 11934 function DefinedType(name, library, definition, isClass) { |
| 11933 this.isUsed = false; | 11935 this.isUsed = false; |
| 11934 this.directSubtypes = new HashSetImplementation_Type(); | |
| 11935 this.isNative = false; | 11936 this.isNative = false; |
| 11936 this.library = library; | 11937 this.library = library; |
| 11937 this.isClass = isClass; | 11938 this.isClass = isClass; |
| 11939 this.directSubtypes = new HashSetImplementation_Type(); |
| 11938 this.constructors = new HashMapImplementation(); | 11940 this.constructors = new HashMapImplementation(); |
| 11941 this.members = new HashMapImplementation(); |
| 11939 this.factories = new FactoryMap(); | 11942 this.factories = new FactoryMap(); |
| 11940 this.members = new HashMapImplementation(); | |
| 11941 Type.call(this, name); | 11943 Type.call(this, name); |
| 11942 this.setDefinition(definition); | 11944 this.setDefinition(definition); |
| 11943 } | 11945 } |
| 11944 DefinedType.prototype.get$definition = function() { return this.definition; }; | 11946 DefinedType.prototype.get$definition = function() { return this.definition; }; |
| 11945 DefinedType.prototype.get$library = function() { return this.library; }; | 11947 DefinedType.prototype.get$library = function() { return this.library; }; |
| 11946 DefinedType.prototype.get$isClass = function() { return this.isClass; }; | 11948 DefinedType.prototype.get$isClass = function() { return this.isClass; }; |
| 11947 DefinedType.prototype.get$parent = function() { | 11949 DefinedType.prototype.get$parent = function() { |
| 11948 return this._parent; | 11950 return this._parent; |
| 11949 } | 11951 } |
| 11950 DefinedType.prototype.set$parent = function(p) { | 11952 DefinedType.prototype.set$parent = function(p) { |
| (...skipping 487 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 12438 var stub = this.varStubs.$index(name); | 12440 var stub = this.varStubs.$index(name); |
| 12439 if ($eq$(stub)) { | 12441 if ($eq$(stub)) { |
| 12440 stub = new VarFunctionStub(name, args); | 12442 stub = new VarFunctionStub(name, args); |
| 12441 this.varStubs.$setindex(name, stub); | 12443 this.varStubs.$setindex(name, stub); |
| 12442 } | 12444 } |
| 12443 return stub; | 12445 return stub; |
| 12444 } | 12446 } |
| 12445 // ********** Code for NativeType ************** | 12447 // ********** Code for NativeType ************** |
| 12446 function NativeType(name) { | 12448 function NativeType(name) { |
| 12447 this.isConstructorHidden = false; | 12449 this.isConstructorHidden = false; |
| 12450 this.isJsGlobalObject = false; |
| 12448 this.isSingleton = false; | 12451 this.isSingleton = false; |
| 12449 this.isJsGlobalObject = false; | |
| 12450 this.name = name; | 12452 this.name = name; |
| 12451 while (true) { | 12453 while (true) { |
| 12452 if (this.name.startsWith("@")) { | 12454 if (this.name.startsWith("@")) { |
| 12453 this.name = this.name.substring((1)); | 12455 this.name = this.name.substring((1)); |
| 12454 this.isJsGlobalObject = true; | 12456 this.isJsGlobalObject = true; |
| 12455 } | 12457 } |
| 12456 else if (this.name.startsWith("*")) { | 12458 else if (this.name.startsWith("*")) { |
| 12457 this.name = this.name.substring((1)); | 12459 this.name = this.name.substring((1)); |
| 12458 this.isConstructorHidden = true; | 12460 this.isConstructorHidden = true; |
| 12459 } | 12461 } |
| (...skipping 84 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 12544 // ********** Code for CopyOnWriteMap_dart_core_String$VariableValue ***********
*** | 12546 // ********** Code for CopyOnWriteMap_dart_core_String$VariableValue ***********
*** |
| 12545 $inherits(CopyOnWriteMap_dart_core_String$VariableValue, CopyOnWriteMap); | 12547 $inherits(CopyOnWriteMap_dart_core_String$VariableValue, CopyOnWriteMap); |
| 12546 function CopyOnWriteMap_dart_core_String$VariableValue() { | 12548 function CopyOnWriteMap_dart_core_String$VariableValue() { |
| 12547 this._lang_map = new _SharedBackingMap_dart_core_String$VariableValue(); | 12549 this._lang_map = new _SharedBackingMap_dart_core_String$VariableValue(); |
| 12548 } | 12550 } |
| 12549 CopyOnWriteMap_dart_core_String$VariableValue.prototype.is$Map = function(){retu
rn true}; | 12551 CopyOnWriteMap_dart_core_String$VariableValue.prototype.is$Map = function(){retu
rn true}; |
| 12550 CopyOnWriteMap_dart_core_String$VariableValue.prototype.remove$1 = CopyOnWriteMa
p_dart_core_String$VariableValue.prototype.remove; | 12552 CopyOnWriteMap_dart_core_String$VariableValue.prototype.remove$1 = CopyOnWriteMa
p_dart_core_String$VariableValue.prototype.remove; |
| 12551 // ********** Code for Value ************** | 12553 // ********** Code for Value ************** |
| 12552 function Value(type, code, span) { | 12554 function Value(type, code, span) { |
| 12553 this.type = type; | 12555 this.type = type; |
| 12556 this.code = code; |
| 12554 this.span = span; | 12557 this.span = span; |
| 12555 this.code = code; | |
| 12556 if (this.get$type() == null) $globals.world.internalError("type passed as null
", this.span); | 12558 if (this.get$type() == null) $globals.world.internalError("type passed as null
", this.span); |
| 12557 } | 12559 } |
| 12558 Value.prototype.get$type = function() { return this.type; }; | 12560 Value.prototype.get$type = function() { return this.type; }; |
| 12559 Value.prototype.get$code = function() { return this.code; }; | 12561 Value.prototype.get$code = function() { return this.code; }; |
| 12560 Value.prototype.get$span = function() { return this.span; }; | 12562 Value.prototype.get$span = function() { return this.span; }; |
| 12561 Value.prototype.get$isType = function() { | 12563 Value.prototype.get$isType = function() { |
| 12562 return false; | 12564 return false; |
| 12563 } | 12565 } |
| 12564 Value.prototype.get$isSuper = function() { | 12566 Value.prototype.get$isSuper = function() { |
| 12565 return false; | 12567 return false; |
| (...skipping 489 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 13055 return this.setIndex($0, $1, $2, $3, kind, (1)); | 13057 return this.setIndex($0, $1, $2, $3, kind, (1)); |
| 13056 }; | 13058 }; |
| 13057 Value.prototype.setIndex$4$kind$returnKind = Value.prototype.setIndex; | 13059 Value.prototype.setIndex$4$kind$returnKind = Value.prototype.setIndex; |
| 13058 Value.prototype.set_$4$kind = function($0, $1, $2, $3, kind) { | 13060 Value.prototype.set_$4$kind = function($0, $1, $2, $3, kind) { |
| 13059 return this.set_($0, $1, $2, $3, kind, (1)); | 13061 return this.set_($0, $1, $2, $3, kind, (1)); |
| 13060 }; | 13062 }; |
| 13061 Value.prototype.set_$4$kind$returnKind = Value.prototype.set_; | 13063 Value.prototype.set_$4$kind$returnKind = Value.prototype.set_; |
| 13062 // ********** Code for PureStaticValue ************** | 13064 // ********** Code for PureStaticValue ************** |
| 13063 $inherits(PureStaticValue, Value); | 13065 $inherits(PureStaticValue, Value); |
| 13064 function PureStaticValue(type, span, isConst, isType) { | 13066 function PureStaticValue(type, span, isConst, isType) { |
| 13067 this.isConst = isConst; |
| 13065 this.isType = isType; | 13068 this.isType = isType; |
| 13066 this.isConst = isConst; | |
| 13067 Value.call(this, type, null, span); | 13069 Value.call(this, type, null, span); |
| 13068 } | 13070 } |
| 13069 PureStaticValue.prototype.get$isConst = function() { return this.isConst; }; | 13071 PureStaticValue.prototype.get$isConst = function() { return this.isConst; }; |
| 13070 PureStaticValue.prototype.get$isType = function() { return this.isType; }; | 13072 PureStaticValue.prototype.get$isType = function() { return this.isType; }; |
| 13071 PureStaticValue.prototype.getMem = function(context, name, node) { | 13073 PureStaticValue.prototype.getMem = function(context, name, node) { |
| 13072 var member = this.get$type().getMember(name); | 13074 var member = this.get$type().getMember(name); |
| 13073 if ($eq$(member)) { | 13075 if ($eq$(member)) { |
| 13074 $globals.world.warning(("cannot find \"" + name + "\" on \"" + this.get$type
().name + "\""), node.span); | 13076 $globals.world.warning(("cannot find \"" + name + "\" on \"" + this.get$type
().name + "\""), node.span); |
| 13075 return null; | 13077 return null; |
| 13076 } | 13078 } |
| (...skipping 681 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 13758 return new BoolValue($ne$(this.get$type(), other.get$type()) || this.get$c
ode() != other.get$code(), this.isConst && other.get$isConst(), node.get$span())
; | 13760 return new BoolValue($ne$(this.get$type(), other.get$type()) || this.get$c
ode() != other.get$code(), this.isConst && other.get$isConst(), node.get$span())
; |
| 13759 | 13761 |
| 13760 } | 13762 } |
| 13761 return Value.prototype.binop.call(this, kind, other, context, node); | 13763 return Value.prototype.binop.call(this, kind, other, context, node); |
| 13762 } | 13764 } |
| 13763 // ********** Code for ObjectValue ************** | 13765 // ********** Code for ObjectValue ************** |
| 13764 $inherits(ObjectValue, EvaluatedValue); | 13766 $inherits(ObjectValue, EvaluatedValue); |
| 13765 function ObjectValue(isConst, type, span) { | 13767 function ObjectValue(isConst, type, span) { |
| 13766 this.seenNativeInitializer = false; | 13768 this.seenNativeInitializer = false; |
| 13767 this.fields = new HashMapImplementation(); | 13769 this.fields = new HashMapImplementation(); |
| 13770 this.fieldsInInitOrder = []; |
| 13768 EvaluatedValue.call(this, isConst, type, span); | 13771 EvaluatedValue.call(this, isConst, type, span); |
| 13769 } | 13772 } |
| 13770 ObjectValue.prototype.get$fields = function() { return this.fields; }; | 13773 ObjectValue.prototype.get$fields = function() { return this.fields; }; |
| 13774 ObjectValue.prototype.get$fieldsInInitOrder = function() { return this.fieldsInI
nitOrder; }; |
| 13771 ObjectValue.prototype.get$seenNativeInitializer = function() { return this.seenN
ativeInitializer; }; | 13775 ObjectValue.prototype.get$seenNativeInitializer = function() { return this.seenN
ativeInitializer; }; |
| 13772 ObjectValue.prototype.set$seenNativeInitializer = function(value) { return this.
seenNativeInitializer = value; }; | 13776 ObjectValue.prototype.set$seenNativeInitializer = function(value) { return this.
seenNativeInitializer = value; }; |
| 13773 ObjectValue.prototype.get$code = function() { | 13777 ObjectValue.prototype.get$code = function() { |
| 13774 if (null == this._code) this.validateInitialized(null); | 13778 if (null == this._code) this.validateInitialized(null); |
| 13775 return this._code; | 13779 return this._code; |
| 13776 } | 13780 } |
| 13777 ObjectValue.prototype.initFields = function() { | 13781 ObjectValue.prototype.initFields = function() { |
| 13778 var allMembers = $globals.world.gen._orderValues(this.get$type().get$genericTy
pe().getAllMembers()); | 13782 var allMembers = $globals.world.gen._orderValues(this.get$type().get$genericTy
pe().getAllMembers()); |
| 13779 for (var $$i = allMembers.iterator(); $$i.hasNext(); ) { | 13783 for (var $$i = allMembers.iterator(); $$i.hasNext(); ) { |
| 13780 var f = $$i.next(); | 13784 var f = $$i.next(); |
| 13781 if (f.get$isField() && !f.get$isStatic() && f.get$declaringType().get$isClas
s()) { | 13785 if (f.get$isField() && !f.get$isStatic() && f.get$declaringType().get$isClas
s()) { |
| 13782 this.fields.$setindex(f, f.computeValue()); | 13786 this._replaceField(f, f.computeValue(), true); |
| 13783 } | 13787 } |
| 13784 } | 13788 } |
| 13785 } | 13789 } |
| 13786 ObjectValue.prototype.setField = function(field, value, duringInit) { | 13790 ObjectValue.prototype.setField = function(field, value, duringInit) { |
| 13787 if (value.get$isConst() && (value instanceof VariableValue)) { | 13791 if (value.get$isConst() && (value instanceof VariableValue)) { |
| 13788 value = value.get$dynamic().get$value(); | 13792 value = value.get$dynamic().get$value(); |
| 13789 } | 13793 } |
| 13790 var currentValue = this.fields.$index(field); | 13794 var currentValue = this.fields.$index(field); |
| 13791 if (this.isConst && !value.get$isConst()) { | 13795 if (this.isConst && !value.get$isConst()) { |
| 13792 $globals.world.error("used of non-const value in const intializer", value.sp
an); | 13796 $globals.world.error("used of non-const value in const intializer", value.sp
an); |
| 13793 } | 13797 } |
| 13794 if (null == currentValue) { | 13798 if (null == currentValue) { |
| 13795 this.fields.$setindex(field, value); | 13799 this._replaceField(field, value, duringInit); |
| 13796 if (field.get$isFinal() && !duringInit) { | 13800 if (field.get$isFinal() && !duringInit) { |
| 13797 $globals.world.error("cannot initialize final fields outside of initialize
r", value.span); | 13801 $globals.world.error("cannot initialize final fields outside of initialize
r", value.span); |
| 13798 } | 13802 } |
| 13799 } | 13803 } |
| 13800 else { | 13804 else { |
| 13801 if (field.get$isFinal() && null == field.computeValue()) { | 13805 if (field.get$isFinal() && null == field.computeValue()) { |
| 13802 $globals.world.error("reassignment of field not allowed", value.span, fiel
d.get$span()); | 13806 $globals.world.error("reassignment of field not allowed", value.span, fiel
d.get$span()); |
| 13803 } | 13807 } |
| 13804 else { | 13808 else { |
| 13805 this.fields.$setindex(field, value); | 13809 this._replaceField(field, value, duringInit); |
| 13806 } | 13810 } |
| 13807 } | 13811 } |
| 13808 } | 13812 } |
| 13813 ObjectValue.prototype._replaceField = function(field, value, duringInit) { |
| 13814 if (duringInit) { |
| 13815 for (var i = (0); |
| 13816 i < this.fieldsInInitOrder.get$length(); i++) { |
| 13817 if ($eq$(this.fieldsInInitOrder.$index(i), field)) { |
| 13818 this.fieldsInInitOrder.$setindex(i); |
| 13819 break; |
| 13820 } |
| 13821 } |
| 13822 this.fieldsInInitOrder.add(field); |
| 13823 } |
| 13824 this.fields.$setindex(field, value); |
| 13825 } |
| 13809 ObjectValue.prototype.validateInitialized = function(span) { | 13826 ObjectValue.prototype.validateInitialized = function(span) { |
| 13810 var buf = new StringBufferImpl(""); | 13827 var buf = new StringBufferImpl(""); |
| 13811 buf.add("Object.create("); | 13828 buf.add("Object.create("); |
| 13812 buf.add(("" + this.get$type().get$jsname() + ".prototype, ")); | 13829 buf.add(("" + this.get$type().get$jsname() + ".prototype, ")); |
| 13813 buf.add("{"); | 13830 buf.add("{"); |
| 13814 var addComma = false; | 13831 var addComma = false; |
| 13815 var $$list = this.fields.getKeys(); | 13832 var $$list = this.fields.getKeys(); |
| 13816 for (var $$i = $$list.iterator(); $$i.hasNext(); ) { | 13833 for (var $$i = $$list.iterator(); $$i.hasNext(); ) { |
| 13817 var field = $$i.next(); | 13834 var field = $$i.next(); |
| 13818 if (addComma) buf.add(", "); | 13835 if (addComma) buf.add(", "); |
| (...skipping 25 matching lines...) Expand all Loading... |
| 13844 case (49): | 13861 case (49): |
| 13845 | 13862 |
| 13846 return new BoolValue($ne$(this.get$type(), other.get$type()) || this.get$c
ode() != other.get$code(), this.isConst && other.get$isConst(), node.get$span())
; | 13863 return new BoolValue($ne$(this.get$type(), other.get$type()) || this.get$c
ode() != other.get$code(), this.isConst && other.get$isConst(), node.get$span())
; |
| 13847 | 13864 |
| 13848 } | 13865 } |
| 13849 return Value.prototype.binop.call(this, kind, other, context, node); | 13866 return Value.prototype.binop.call(this, kind, other, context, node); |
| 13850 } | 13867 } |
| 13851 // ********** Code for GlobalValue ************** | 13868 // ********** Code for GlobalValue ************** |
| 13852 $inherits(GlobalValue, Value); | 13869 $inherits(GlobalValue, Value); |
| 13853 function GlobalValue(type, code, isConst, field, name, exp, span, deps) { | 13870 function GlobalValue(type, code, isConst, field, name, exp, span, deps) { |
| 13854 this.exp = exp; | |
| 13855 this.field = field; | 13871 this.field = field; |
| 13856 this.name = name; | 13872 this.name = name; |
| 13873 this.exp = exp; |
| 13874 this.isConst = isConst; |
| 13857 this.dependencies = []; | 13875 this.dependencies = []; |
| 13858 this.isConst = isConst; | |
| 13859 Value.call(this, type, code, span); | 13876 Value.call(this, type, code, span); |
| 13860 for (var $$i = deps.iterator(); $$i.hasNext(); ) { | 13877 for (var $$i = deps.iterator(); $$i.hasNext(); ) { |
| 13861 var dep = $$i.next(); | 13878 var dep = $$i.next(); |
| 13862 if ((dep instanceof GlobalValue)) { | 13879 if ((dep instanceof GlobalValue)) { |
| 13863 this.dependencies.add(dep); | 13880 this.dependencies.add(dep); |
| 13864 this.dependencies.addAll(dep.get$dependencies()); | 13881 this.dependencies.addAll(dep.get$dependencies()); |
| 13865 } | 13882 } |
| 13866 } | 13883 } |
| 13867 } | 13884 } |
| 13868 GlobalValue.prototype.get$field = function() { return this.field; }; | 13885 GlobalValue.prototype.get$field = function() { return this.field; }; |
| (...skipping 35 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 13904 else if (this.name != null) { | 13921 else if (this.name != null) { |
| 13905 return this.name.compareTo(other.name); | 13922 return this.name.compareTo(other.name); |
| 13906 } | 13923 } |
| 13907 else { | 13924 else { |
| 13908 return this.field.name.compareTo(other.field.name); | 13925 return this.field.name.compareTo(other.field.name); |
| 13909 } | 13926 } |
| 13910 } | 13927 } |
| 13911 // ********** Code for BareValue ************** | 13928 // ********** Code for BareValue ************** |
| 13912 $inherits(BareValue, Value); | 13929 $inherits(BareValue, Value); |
| 13913 function BareValue(home, outermost, span) { | 13930 function BareValue(home, outermost, span) { |
| 13931 this.home = home; |
| 13914 this.isType = outermost.get$isStatic(); | 13932 this.isType = outermost.get$isStatic(); |
| 13915 this.home = home; | |
| 13916 Value.call(this, outermost.method.get$declaringType(), null, span); | 13933 Value.call(this, outermost.method.get$declaringType(), null, span); |
| 13917 } | 13934 } |
| 13918 BareValue.prototype.get$isType = function() { return this.isType; }; | 13935 BareValue.prototype.get$isType = function() { return this.isType; }; |
| 13919 BareValue.prototype.get$needsTemp = function() { | 13936 BareValue.prototype.get$needsTemp = function() { |
| 13920 return false; | 13937 return false; |
| 13921 } | 13938 } |
| 13922 BareValue.prototype._shouldBindDynamically = function() { | 13939 BareValue.prototype._shouldBindDynamically = function() { |
| 13923 return false; | 13940 return false; |
| 13924 } | 13941 } |
| 13925 BareValue.prototype.get$code = function() { | 13942 BareValue.prototype.get$code = function() { |
| (...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 13983 } | 14000 } |
| 13984 TypeValue.prototype._shouldBindDynamically = function() { | 14001 TypeValue.prototype._shouldBindDynamically = function() { |
| 13985 return false; | 14002 return false; |
| 13986 } | 14003 } |
| 13987 TypeValue.prototype._tryUnion = function(right) { | 14004 TypeValue.prototype._tryUnion = function(right) { |
| 13988 return (right instanceof TypeValue) ? this : null; | 14005 return (right instanceof TypeValue) ? this : null; |
| 13989 } | 14006 } |
| 13990 // ********** Code for VariableValue ************** | 14007 // ********** Code for VariableValue ************** |
| 13991 $inherits(VariableValue, Value); | 14008 $inherits(VariableValue, Value); |
| 13992 function VariableValue(staticType, code, span, isFinal, value) { | 14009 function VariableValue(staticType, code, span, isFinal, value) { |
| 14010 this.isFinal = isFinal; |
| 13993 this.value = VariableValue._unwrap(value); | 14011 this.value = VariableValue._unwrap(value); |
| 13994 this.isFinal = isFinal; | |
| 13995 Value.call(this, staticType, code, span); | 14012 Value.call(this, staticType, code, span); |
| 13996 } | 14013 } |
| 13997 VariableValue.prototype.get$isFinal = function() { return this.isFinal; }; | 14014 VariableValue.prototype.get$isFinal = function() { return this.isFinal; }; |
| 13998 VariableValue.prototype.get$value = function() { return this.value; }; | 14015 VariableValue.prototype.get$value = function() { return this.value; }; |
| 13999 VariableValue._unwrap = function(v) { | 14016 VariableValue._unwrap = function(v) { |
| 14000 if (null == v) return null; | 14017 if (null == v) return null; |
| 14001 if ((v instanceof VariableValue)) { | 14018 if ((v instanceof VariableValue)) { |
| 14002 v = v.get$dynamic().get$value(); | 14019 v = v.get$dynamic().get$value(); |
| 14003 } | 14020 } |
| 14004 return v; | 14021 return v; |
| (...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 14042 if (this._location != null) { | 14059 if (this._location != null) { |
| 14043 return ("CompilerException: " + this._location.toMessageString(this._lang_me
ssage)); | 14060 return ("CompilerException: " + this._location.toMessageString(this._lang_me
ssage)); |
| 14044 } | 14061 } |
| 14045 else { | 14062 else { |
| 14046 return ("CompilerException: " + this._lang_message); | 14063 return ("CompilerException: " + this._lang_message); |
| 14047 } | 14064 } |
| 14048 } | 14065 } |
| 14049 CompilerException.prototype.toString$0 = CompilerException.prototype.toString; | 14066 CompilerException.prototype.toString$0 = CompilerException.prototype.toString; |
| 14050 // ********** Code for CounterLog ************** | 14067 // ********** Code for CounterLog ************** |
| 14051 function CounterLog() { | 14068 function CounterLog() { |
| 14052 this.msetN = (0); | |
| 14053 this.objectProtoMembers = (0); | |
| 14054 this.dynamicMethodCalls = (0); | 14069 this.dynamicMethodCalls = (0); |
| 14055 this.typeAsserts = (0); | 14070 this.typeAsserts = (0); |
| 14071 this.objectProtoMembers = (0); |
| 14056 this.invokeCalls = (0); | 14072 this.invokeCalls = (0); |
| 14073 this.msetN = (0); |
| 14057 } | 14074 } |
| 14058 CounterLog.prototype.info = function() { | 14075 CounterLog.prototype.info = function() { |
| 14059 if ($globals.options.legOnly) return; | 14076 if ($globals.options.legOnly) return; |
| 14060 $globals.world.info(("Dynamically typed method calls: " + this.dynamicMethodCa
lls)); | 14077 $globals.world.info(("Dynamically typed method calls: " + this.dynamicMethodCa
lls)); |
| 14061 $globals.world.info(("Generated type assertions: " + this.typeAsserts)); | 14078 $globals.world.info(("Generated type assertions: " + this.typeAsserts)); |
| 14062 $globals.world.info(("Members on Object.prototype: " + this.objectProtoMembers
)); | 14079 $globals.world.info(("Members on Object.prototype: " + this.objectProtoMembers
)); |
| 14063 $globals.world.info(("Invoke calls: " + this.invokeCalls)); | 14080 $globals.world.info(("Invoke calls: " + this.invokeCalls)); |
| 14064 $globals.world.info(("msetN calls: " + this.msetN)); | 14081 $globals.world.info(("msetN calls: " + this.msetN)); |
| 14065 } | 14082 } |
| 14066 CounterLog.prototype.add = function(other) { | 14083 CounterLog.prototype.add = function(other) { |
| 14067 this.dynamicMethodCalls = this.dynamicMethodCalls + other.dynamicMethodCalls; | 14084 this.dynamicMethodCalls = this.dynamicMethodCalls + other.dynamicMethodCalls; |
| 14068 this.typeAsserts = this.typeAsserts + other.typeAsserts; | 14085 this.typeAsserts = this.typeAsserts + other.typeAsserts; |
| 14069 this.objectProtoMembers = this.objectProtoMembers + other.objectProtoMembers; | 14086 this.objectProtoMembers = this.objectProtoMembers + other.objectProtoMembers; |
| 14070 this.invokeCalls = this.invokeCalls + other.invokeCalls; | 14087 this.invokeCalls = this.invokeCalls + other.invokeCalls; |
| 14071 this.msetN = this.msetN + other.msetN; | 14088 this.msetN = this.msetN + other.msetN; |
| 14072 } | 14089 } |
| 14073 // ********** Code for World ************** | 14090 // ********** Code for World ************** |
| 14074 function World(files) { | 14091 function World(files) { |
| 14092 this.errors = (0); |
| 14093 this.warnings = (0); |
| 14094 this.dartBytesRead = (0); |
| 14095 this.jsBytesWritten = (0); |
| 14096 this.seenFatal = false; |
| 14075 this.files = files; | 14097 this.files = files; |
| 14098 this.libraries = new HashMapImplementation(); |
| 14099 this._todo = []; |
| 14076 this._members = new HashMapImplementation(); | 14100 this._members = new HashMapImplementation(); |
| 14077 this._topNames = new HashMapImplementation(); | 14101 this._topNames = new HashMapImplementation(); |
| 14078 this.warnings = (0); | 14102 this.reader = new LibraryReader(); |
| 14079 this.seenFatal = false; | |
| 14080 this.libraries = new HashMapImplementation(); | |
| 14081 this.dartBytesRead = (0); | |
| 14082 this._todo = []; | |
| 14083 this.jsBytesWritten = (0); | |
| 14084 this.counters = new CounterLog(); | 14103 this.counters = new CounterLog(); |
| 14085 this.errors = (0); | |
| 14086 this.reader = new LibraryReader(); | |
| 14087 } | 14104 } |
| 14088 World.prototype.get$functionType = function() { return this.functionType; }; | 14105 World.prototype.get$functionType = function() { return this.functionType; }; |
| 14089 World.prototype.init = function() { | 14106 World.prototype.init = function() { |
| 14090 this.corelib = new Library(this.readFile("dart:core")); | 14107 this.corelib = new Library(this.readFile("dart:core")); |
| 14091 this.libraries.$setindex("dart:core", this.corelib); | 14108 this.libraries.$setindex("dart:core", this.corelib); |
| 14092 this._todo.add(this.corelib); | 14109 this._todo.add(this.corelib); |
| 14093 this.coreimpl = this.getOrAddLibrary("dart:coreimpl"); | 14110 this.coreimpl = this.getOrAddLibrary("dart:coreimpl"); |
| 14094 this.voidType = this.corelib.addType("void", null, false); | 14111 this.voidType = this.corelib.addType("void", null, false); |
| 14095 this.dynamicType = this.corelib.addType("Dynamic", null, false); | 14112 this.dynamicType = this.corelib.addType("Dynamic", null, false); |
| 14096 this.varType = this.dynamicType; | 14113 this.varType = this.dynamicType; |
| (...skipping 380 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 14477 World.prototype.withTiming = function(name, f) { | 14494 World.prototype.withTiming = function(name, f) { |
| 14478 var sw = new StopwatchImplementation(); | 14495 var sw = new StopwatchImplementation(); |
| 14479 sw.start(); | 14496 sw.start(); |
| 14480 var result = f(); | 14497 var result = f(); |
| 14481 sw.stop(); | 14498 sw.stop(); |
| 14482 this.info(("" + name + " in " + sw.elapsedInMs() + "msec")); | 14499 this.info(("" + name + " in " + sw.elapsedInMs() + "msec")); |
| 14483 return result; | 14500 return result; |
| 14484 } | 14501 } |
| 14485 // ********** Code for FrogOptions ************** | 14502 // ********** Code for FrogOptions ************** |
| 14486 function FrogOptions(homedir, args, files) { | 14503 function FrogOptions(homedir, args, files) { |
| 14504 this.config = "dev"; |
| 14487 this.legOnly = false; | 14505 this.legOnly = false; |
| 14488 this.ignoreUnrecognizedFlags = false; | 14506 this.enableAsserts = false; |
| 14489 this.checkOnly = false; | 14507 this.enableTypeChecks = false; |
| 14490 this.disableBoundsChecks = false; | |
| 14491 this.maxInferenceIterations = (4); | |
| 14492 this.throwOnWarnings = false; | |
| 14493 this.inferTypes = false; | |
| 14494 this.warningsAsErrors = false; | 14508 this.warningsAsErrors = false; |
| 14495 this.enableAsserts = false; | 14509 this.verifyImplements = false; |
| 14510 this.compileAll = false; |
| 14496 this.forceDynamic = false; | 14511 this.forceDynamic = false; |
| 14497 this.dietParse = false; | 14512 this.dietParse = false; |
| 14498 this.compileOnly = false; | 14513 this.compileOnly = false; |
| 14514 this.inferTypes = false; |
| 14515 this.checkOnly = false; |
| 14516 this.ignoreUnrecognizedFlags = false; |
| 14517 this.disableBoundsChecks = false; |
| 14518 this.throwOnErrors = false; |
| 14519 this.throwOnWarnings = false; |
| 14520 this.throwOnFatal = false; |
| 14521 this.showInfo = false; |
| 14499 this.showWarnings = true; | 14522 this.showWarnings = true; |
| 14500 this.throwOnFatal = false; | |
| 14501 this.config = "dev"; | |
| 14502 this.verifyImplements = false; | |
| 14503 this.enableTypeChecks = false; | |
| 14504 this.showInfo = false; | |
| 14505 this.useColors = true; | 14523 this.useColors = true; |
| 14506 this.compileAll = false; | 14524 this.maxInferenceIterations = (4); |
| 14507 this.throwOnErrors = false; | |
| 14508 if ($eq$(this.config, "dev")) { | 14525 if ($eq$(this.config, "dev")) { |
| 14509 this.libDir = joinPaths(homedir, "/lib"); | 14526 this.libDir = joinPaths(homedir, "/lib"); |
| 14510 } | 14527 } |
| 14511 else if ($eq$(this.config, "sdk")) { | 14528 else if ($eq$(this.config, "sdk")) { |
| 14512 this.libDir = joinPaths(homedir, "/../lib"); | 14529 this.libDir = joinPaths(homedir, "/../lib"); |
| 14513 } | 14530 } |
| 14514 else { | 14531 else { |
| 14515 $globals.world.error(("Invalid configuration " + this.config)); | 14532 $globals.world.error(("Invalid configuration " + this.config)); |
| 14516 $throw("Invalid configuration"); | 14533 $throw("Invalid configuration"); |
| 14517 } | 14534 } |
| (...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 14650 | 14667 |
| 14651 this.disableBoundsChecks = true; | 14668 this.disableBoundsChecks = true; |
| 14652 return true; | 14669 return true; |
| 14653 | 14670 |
| 14654 } | 14671 } |
| 14655 return false; | 14672 return false; |
| 14656 } | 14673 } |
| 14657 // ********** Code for LibraryReader ************** | 14674 // ********** Code for LibraryReader ************** |
| 14658 function LibraryReader() { | 14675 function LibraryReader() { |
| 14659 if ($eq$($globals.options.config, "dev")) { | 14676 if ($eq$($globals.options.config, "dev")) { |
| 14660 this._specialLibs = _map(["dart:core", joinPaths($globals.options.libDir, "c
orelib.dart"), "dart:coreimpl", joinPaths($globals.options.libDir, "corelib_impl
.dart"), "dart:html", joinPaths($globals.options.libDir, "../../client/html/frog
/html_frog.dart"), "dart:dom", joinPaths($globals.options.libDir, "../../client/
dom/frog/dom_frog.dart"), "dart:json", joinPaths($globals.options.libDir, "../..
/lib/json/json_frog.dart"), "dart:isolate", joinPaths($globals.options.libDir, "
../../lib/isolate/isolate_frog.dart")]); | 14677 this._specialLibs = _map(["dart:core", joinPaths($globals.options.libDir, "c
orelib.dart"), "dart:coreimpl", joinPaths($globals.options.libDir, "corelib_impl
.dart"), "dart:html", joinPaths($globals.options.libDir, "../../client/html/frog
/html_frog.dart"), "dart:dom", joinPaths($globals.options.libDir, "../../client/
dom/frog/dom_frog.dart"), "dart:json", joinPaths($globals.options.libDir, "../..
/lib/json/json_frog.dart"), "dart:io", joinPaths($globals.options.libDir, "../le
g/lib/io.dart"), "dart:isolate", joinPaths($globals.options.libDir, "../../lib/i
solate/isolate_frog.dart"), "dart:uri", joinPaths($globals.options.libDir, "../.
./lib/uri/uri.dart"), "dart:utf", joinPaths($globals.options.libDir, "../../lib/
utf/utf.dart")]); |
| 14661 } | 14678 } |
| 14662 else if ($eq$($globals.options.config, "sdk")) { | 14679 else if ($eq$($globals.options.config, "sdk")) { |
| 14663 this._specialLibs = _map(["dart:core", joinPaths($globals.options.libDir, "c
ore/core_frog.dart"), "dart:coreimpl", joinPaths($globals.options.libDir, "corei
mpl/coreimpl_frog.dart"), "dart:html", joinPaths($globals.options.libDir, "html/
html_frog.dart"), "dart:dom", joinPaths($globals.options.libDir, "dom/frog/dom_f
rog.dart"), "dart:json", joinPaths($globals.options.libDir, "json/json_frog.dart
"), "dart:isolate", joinPaths($globals.options.libDir, "isolate/isolate_frog.dar
t")]); | 14680 this._specialLibs = _map(["dart:core", joinPaths($globals.options.libDir, "c
ore/core_frog.dart"), "dart:coreimpl", joinPaths($globals.options.libDir, "corei
mpl/coreimpl_frog.dart"), "dart:html", joinPaths($globals.options.libDir, "html/
html_frog.dart"), "dart:dom", joinPaths($globals.options.libDir, "dom/frog/dom_f
rog.dart"), "dart:isolate", joinPaths($globals.options.libDir, "isolate/isolate_
frog.dart"), "dart:json", joinPaths($globals.options.libDir, "json/json_frog.dar
t"), "dart:uri", joinPaths($globals.options.libDir, "uri/uri.dart"), "dart:utf",
joinPaths($globals.options.libDir, "utf/utf.dart")]); |
| 14664 } | 14681 } |
| 14665 else { | 14682 else { |
| 14666 $globals.world.error(("Invalid configuration " + $globals.options.config)); | 14683 $globals.world.error(("Invalid configuration " + $globals.options.config)); |
| 14667 } | 14684 } |
| 14668 } | 14685 } |
| 14669 LibraryReader.prototype.readFile = function(fullname) { | 14686 LibraryReader.prototype.readFile = function(fullname) { |
| 14670 var filename = this._specialLibs.$index(fullname); | 14687 var filename = this._specialLibs.$index(fullname); |
| 14671 if ($eq$(filename)) { | 14688 if ($eq$(filename)) { |
| 14672 filename = fullname; | 14689 filename = fullname; |
| 14673 } | 14690 } |
| (...skipping 58 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 14732 var named = Strings.join(this.args.getNames(), "\", \""); | 14749 var named = Strings.join(this.args.getNames(), "\", \""); |
| 14733 var argsCode = this.args.getCode(); | 14750 var argsCode = this.args.getCode(); |
| 14734 w.enterBlock(("Function.prototype." + this.name + " = function(" + argsCode +
") {")); | 14751 w.enterBlock(("Function.prototype." + this.name + " = function(" + argsCode +
") {")); |
| 14735 w.writeln(("this." + this.name + " = this._genStub(" + this.args.get$length()
+ ", [\"" + named + "\"]);")); | 14752 w.writeln(("this." + this.name + " = this._genStub(" + this.args.get$length()
+ ", [\"" + named + "\"]);")); |
| 14736 w.writeln(("return this." + this.name + "(" + argsCode + ");")); | 14753 w.writeln(("return this." + this.name + "(" + argsCode + ");")); |
| 14737 w.exitBlock("}"); | 14754 w.exitBlock("}"); |
| 14738 } | 14755 } |
| 14739 // ********** Code for VarMethodStub ************** | 14756 // ********** Code for VarMethodStub ************** |
| 14740 $inherits(VarMethodStub, VarMember); | 14757 $inherits(VarMethodStub, VarMember); |
| 14741 function VarMethodStub(name, member, args, body) { | 14758 function VarMethodStub(name, member, args, body) { |
| 14742 this.body = body; | |
| 14743 this.member = member; | 14759 this.member = member; |
| 14744 this.args = args; | 14760 this.args = args; |
| 14761 this.body = body; |
| 14745 VarMember.call(this, name); | 14762 VarMember.call(this, name); |
| 14746 } | 14763 } |
| 14747 VarMethodStub.prototype.get$body = function() { return this.body; }; | 14764 VarMethodStub.prototype.get$body = function() { return this.body; }; |
| 14748 VarMethodStub.prototype.get$isHidden = function() { | 14765 VarMethodStub.prototype.get$isHidden = function() { |
| 14749 return this.member != null ? this.member.declaringType.get$isHiddenNativeType(
) : false; | 14766 return this.member != null ? this.member.declaringType.get$isHiddenNativeType(
) : false; |
| 14750 } | 14767 } |
| 14751 VarMethodStub.prototype.get$returnType = function() { | 14768 VarMethodStub.prototype.get$returnType = function() { |
| 14752 return this.member != null ? this.member.get$returnType() : $globals.world.var
Type; | 14769 return this.member != null ? this.member.get$returnType() : $globals.world.var
Type; |
| 14753 } | 14770 } |
| 14754 VarMethodStub.prototype.get$declaringType = function() { | 14771 VarMethodStub.prototype.get$declaringType = function() { |
| (...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 14802 } | 14819 } |
| 14803 return method.namesInHomePositions(args); | 14820 return method.namesInHomePositions(args); |
| 14804 } | 14821 } |
| 14805 else { | 14822 else { |
| 14806 return false; | 14823 return false; |
| 14807 } | 14824 } |
| 14808 } | 14825 } |
| 14809 // ********** Code for VarMethodSet ************** | 14826 // ********** Code for VarMethodSet ************** |
| 14810 $inherits(VarMethodSet, VarMember); | 14827 $inherits(VarMethodSet, VarMember); |
| 14811 function VarMethodSet(baseName, name, members, callArgs, returnType) { | 14828 function VarMethodSet(baseName, name, members, callArgs, returnType) { |
| 14812 this.args = callArgs.toCallStubArgs(); | |
| 14813 this.invoked = false; | 14829 this.invoked = false; |
| 14814 this.baseName = baseName; | 14830 this.baseName = baseName; |
| 14815 this.members = members; | 14831 this.members = members; |
| 14816 this.returnType = returnType; | 14832 this.returnType = returnType; |
| 14833 this.args = callArgs.toCallStubArgs(); |
| 14817 VarMember.call(this, name); | 14834 VarMember.call(this, name); |
| 14818 } | 14835 } |
| 14819 VarMethodSet.prototype.get$members = function() { return this.members; }; | 14836 VarMethodSet.prototype.get$members = function() { return this.members; }; |
| 14820 VarMethodSet.prototype.get$returnType = function() { return this.returnType; }; | 14837 VarMethodSet.prototype.get$returnType = function() { return this.returnType; }; |
| 14821 VarMethodSet.prototype.invoke = function(context, node, target, args) { | 14838 VarMethodSet.prototype.invoke = function(context, node, target, args) { |
| 14822 this._invokeMembers(context, node); | 14839 this._invokeMembers(context, node); |
| 14823 return VarMember.prototype.invoke.call(this, context, node, target, args); | 14840 return VarMember.prototype.invoke.call(this, context, node, target, args); |
| 14824 } | 14841 } |
| 14825 VarMethodSet.prototype._invokeMembers = function(context, node) { | 14842 VarMethodSet.prototype._invokeMembers = function(context, node) { |
| 14826 if (this.invoked) return; | 14843 if (this.invoked) return; |
| (...skipping 164 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 14991 var const$0002 = Object.create(EmptyQueueException.prototype, {}); | 15008 var const$0002 = Object.create(EmptyQueueException.prototype, {}); |
| 14992 var const$0006 = Object.create(IllegalAccessException.prototype, {}); | 15009 var const$0006 = Object.create(IllegalAccessException.prototype, {}); |
| 14993 var const$0007 = ImmutableList.ImmutableList$from$factory([]); | 15010 var const$0007 = ImmutableList.ImmutableList$from$factory([]); |
| 14994 var const$0009 = new JSSyntaxRegExp("^[a-zA-Z]:/"); | 15011 var const$0009 = new JSSyntaxRegExp("^[a-zA-Z]:/"); |
| 14995 var const$0010 = ImmutableList.ImmutableList$from$factory(["__PROTO__", "prototy
pe", "constructor"]); | 15012 var const$0010 = ImmutableList.ImmutableList$from$factory(["__PROTO__", "prototy
pe", "constructor"]); |
| 14996 var const$0011 = ImmutableList.ImmutableList$from$factory(["NaN", "Infinity", "u
ndefined", "eval", "parseInt", "parseFloat", "isNan", "isFinite", "decodeURI", "
decodeURIComponent", "encodeURI", "encodeURIComponent", "Object", "Function", "A
rray", "String", "Boolean", "Number", "Date", "RegExp", "Error", "EvalError", "R
angeError", "ReferenceError", "SyntaxError", "TypeError", "URIError", "Math", "a
rguments", "escape", "unescape", "applicationCache", "closed", "Components", "co
ntent", "controllers", "crypto", "defaultStatus", "dialogArguments", "directorie
s", "document", "frameElement", "frames", "fullScreen", "globalStorage", "histor
y", "innerHeight", "innerWidth", "length", "location", "locationbar", "localStor
age", "menubar", "mozInnerScreenX", "mozInnerScreenY", "mozScreenPixelsPerCssPix
el", "name", "navigator", "opener", "outerHeight", "outerWidth", "pageXOffset",
"pageYOffset", "parent", "personalbar", "pkcs11", "returnValue", "screen", "scro
llbars", "scrollMaxX", "scrollMaxY", "self", "sessionStorage", "sidebar", "statu
s", "statusbar", "toolbar", "top", "window", "alert", "addEventListener", "atob"
, "back", "blur", "btoa", "captureEvents", "clearInterval", "clearTimeout", "clo
se", "confirm", "disableExternalCapture", "dispatchEvent", "dump", "enableExtern
alCapture", "escape", "find", "focus", "forward", "GeckoActiveXObject", "getAtte
ntion", "getAttentionWithCycleCount", "getComputedStyle", "getSelection", "home"
, "maximize", "minimize", "moveBy", "moveTo", "open", "openDialog", "postMessage
", "print", "prompt", "QueryInterface", "releaseEvents", "removeEventListener",
"resizeBy", "resizeTo", "restore", "routeEvent", "scroll", "scrollBy", "scrollBy
Lines", "scrollByPages", "scrollTo", "setInterval", "setResizeable", "setTimeout
", "showModalDialog", "sizeToContent", "stop", "uuescape", "updateCommands", "XP
CNativeWrapper", "XPCSafeJSOjbectWrapper", "onabort", "onbeforeunload", "onchang
e", "onclick", "onclose", "oncontextmenu", "ondragdrop", "onerror", "onfocus", "
onhashchange", "onkeydown", "onkeypress", "onkeyup", "onload", "onmousedown", "o
nmousemove", "onmouseout", "onmouseover", "onmouseup", "onmozorientation", "onpa
int", "onreset", "onresize", "onscroll", "onselect", "onsubmit", "onunload", "on
touchcancel", "ontouchend", "ontouchmove", "ontouchstart", "ongesturestart", "on
gesturechange", "ongestureend", "uneval", "getPrototypeOf", "let", "yield", "abs
tract", "int", "short", "boolean", "interface", "static", "byte", "long", "char"
, "final", "native", "synchronized", "float", "package", "throws", "goto", "priv
ate", "transient", "implements", "protected", "volatile", "double", "public", "a
ttachEvent", "clientInformation", "clipboardData", "createPopup", "dialogHeight"
, "dialogLeft", "dialogTop", "dialogWidth", "onafterprint", "onbeforedeactivate"
, "onbeforeprint", "oncontrolselect", "ondeactivate", "onhelp", "onresizeend", "
event", "external", "Debug", "Enumerator", "Global", "Image", "ActiveXObject", "
VBArray", "Components", "toString", "getClass", "constructor", "prototype", "val
ueOf", "Anchor", "Applet", "Attr", "Canvas", "CanvasGradient", "CanvasPattern",
"CanvasRenderingContext2D", "CDATASection", "CharacterData", "Comment", "CSS2Pro
perties", "CSSRule", "CSSStyleSheet", "Document", "DocumentFragment", "DocumentT
ype", "DOMException", "DOMImplementation", "DOMParser", "Element", "Event", "Ext
ernalInterface", "FlashPlayer", "Form", "Frame", "History", "HTMLCollection", "H
TMLDocument", "HTMLElement", "IFrame", "Image", "Input", "JSObject", "KeyEvent",
"Link", "Location", "MimeType", "MouseEvent", "Navigator", "Node", "NodeList",
"Option", "Plugin", "ProcessingInstruction", "Range", "RangeException", "Screen"
, "Select", "Table", "TableCell", "TableRow", "TableSelection", "Text", "TextAre
a", "UIEvent", "Window", "XMLHttpRequest", "XMLSerializer", "XPathException", "X
PathResult", "XSLTProcessor", "java", "Packages", "netscape", "sun", "JavaObject
", "JavaClass", "JavaArray", "JavaMember", "$wnd", "$doc", "$entry", "$moduleNam
e", "$moduleBase", "$gwt_version", "$sessionId", "$stack", "$stackDepth", "$loca
tion", "call"]); | 15013 var const$0011 = ImmutableList.ImmutableList$from$factory(["NaN", "Infinity", "u
ndefined", "eval", "parseInt", "parseFloat", "isNan", "isFinite", "decodeURI", "
decodeURIComponent", "encodeURI", "encodeURIComponent", "Object", "Function", "A
rray", "String", "Boolean", "Number", "Date", "RegExp", "Error", "EvalError", "R
angeError", "ReferenceError", "SyntaxError", "TypeError", "URIError", "Math", "a
rguments", "escape", "unescape", "applicationCache", "closed", "Components", "co
ntent", "controllers", "crypto", "defaultStatus", "dialogArguments", "directorie
s", "document", "frameElement", "frames", "fullScreen", "globalStorage", "histor
y", "innerHeight", "innerWidth", "length", "location", "locationbar", "localStor
age", "menubar", "mozInnerScreenX", "mozInnerScreenY", "mozScreenPixelsPerCssPix
el", "name", "navigator", "opener", "outerHeight", "outerWidth", "pageXOffset",
"pageYOffset", "parent", "personalbar", "pkcs11", "returnValue", "screen", "scro
llbars", "scrollMaxX", "scrollMaxY", "self", "sessionStorage", "sidebar", "statu
s", "statusbar", "toolbar", "top", "window", "alert", "addEventListener", "atob"
, "back", "blur", "btoa", "captureEvents", "clearInterval", "clearTimeout", "clo
se", "confirm", "disableExternalCapture", "dispatchEvent", "dump", "enableExtern
alCapture", "escape", "find", "focus", "forward", "GeckoActiveXObject", "getAtte
ntion", "getAttentionWithCycleCount", "getComputedStyle", "getSelection", "home"
, "maximize", "minimize", "moveBy", "moveTo", "open", "openDialog", "postMessage
", "print", "prompt", "QueryInterface", "releaseEvents", "removeEventListener",
"resizeBy", "resizeTo", "restore", "routeEvent", "scroll", "scrollBy", "scrollBy
Lines", "scrollByPages", "scrollTo", "setInterval", "setResizeable", "setTimeout
", "showModalDialog", "sizeToContent", "stop", "uuescape", "updateCommands", "XP
CNativeWrapper", "XPCSafeJSOjbectWrapper", "onabort", "onbeforeunload", "onchang
e", "onclick", "onclose", "oncontextmenu", "ondragdrop", "onerror", "onfocus", "
onhashchange", "onkeydown", "onkeypress", "onkeyup", "onload", "onmousedown", "o
nmousemove", "onmouseout", "onmouseover", "onmouseup", "onmozorientation", "onpa
int", "onreset", "onresize", "onscroll", "onselect", "onsubmit", "onunload", "on
touchcancel", "ontouchend", "ontouchmove", "ontouchstart", "ongesturestart", "on
gesturechange", "ongestureend", "uneval", "getPrototypeOf", "let", "yield", "abs
tract", "int", "short", "boolean", "interface", "static", "byte", "long", "char"
, "final", "native", "synchronized", "float", "package", "throws", "goto", "priv
ate", "transient", "implements", "protected", "volatile", "double", "public", "a
ttachEvent", "clientInformation", "clipboardData", "createPopup", "dialogHeight"
, "dialogLeft", "dialogTop", "dialogWidth", "onafterprint", "onbeforedeactivate"
, "onbeforeprint", "oncontrolselect", "ondeactivate", "onhelp", "onresizeend", "
event", "external", "Debug", "Enumerator", "Global", "Image", "ActiveXObject", "
VBArray", "Components", "toString", "getClass", "constructor", "prototype", "val
ueOf", "Anchor", "Applet", "Attr", "Canvas", "CanvasGradient", "CanvasPattern",
"CanvasRenderingContext2D", "CDATASection", "CharacterData", "Comment", "CSS2Pro
perties", "CSSRule", "CSSStyleSheet", "Document", "DocumentFragment", "DocumentT
ype", "DOMException", "DOMImplementation", "DOMParser", "Element", "Event", "Ext
ernalInterface", "FlashPlayer", "Form", "Frame", "History", "HTMLCollection", "H
TMLDocument", "HTMLElement", "IFrame", "Image", "Input", "JSObject", "KeyEvent",
"Link", "Location", "MimeType", "MouseEvent", "Navigator", "Node", "NodeList",
"Option", "Plugin", "ProcessingInstruction", "Range", "RangeException", "Screen"
, "Select", "Table", "TableCell", "TableRow", "TableSelection", "Text", "TextAre
a", "UIEvent", "Window", "XMLHttpRequest", "XMLSerializer", "XPathException", "X
PathResult", "XSLTProcessor", "java", "Packages", "netscape", "sun", "JavaObject
", "JavaClass", "JavaArray", "JavaMember", "$wnd", "$doc", "$entry", "$moduleNam
e", "$moduleBase", "$gwt_version", "$sessionId", "$stack", "$stackDepth", "$loca
tion", "call"]); |
| 14997 var const$0012 = ImmutableList.ImmutableList$from$factory(["break", "delete", "f
unction", "return", "typeof", "case", "do", "if", "switch", "var", "catch", "els
e", "in", "this", "void", "continue", "false", "instanceof", "throw", "while", "
debugger", "finally", "new", "true", "with", "default", "for", "null", "try", "a
bstract", "double", "goto", "native", "static", "boolean", "enum", "implements",
"package", "super", "byte", "export", "import", "private", "synchronized", "cha
r", "extends", "int", "protected", "throws", "class", "final", "interface", "pub
lic", "transient", "const", "float", "long", "short", "volatile"]); | 15014 var const$0012 = ImmutableList.ImmutableList$from$factory(["break", "delete", "f
unction", "return", "typeof", "case", "do", "if", "switch", "var", "catch", "els
e", "in", "this", "void", "continue", "false", "instanceof", "throw", "while", "
debugger", "finally", "new", "true", "with", "default", "for", "null", "try", "a
bstract", "double", "goto", "native", "static", "boolean", "enum", "implements",
"package", "super", "byte", "export", "import", "private", "synchronized", "cha
r", "extends", "int", "protected", "throws", "class", "final", "interface", "pub
lic", "transient", "const", "float", "long", "short", "volatile"]); |
| 14998 var $globals = {}; | 15015 var $globals = {}; |
| 14999 $static_init(); | 15016 $static_init(); |
| 15000 main(); | 15017 main(); |
| OLD | NEW |