| Index: frogsh
|
| ===================================================================
|
| --- frogsh (revision 917)
|
| +++ frogsh (working copy)
|
| @@ -302,6 +302,11 @@
|
| TypeError.prototype.toString = function() {
|
| return ("Failed type check: type " + this.srcType + " is not assignable to type ") + ("" + this.dstType + " of " + this.dstName + " in " + this.url + " at line ") + ("" + this.line + ", column " + this.column + ".");
|
| }
|
| +// ********** Code for FallThroughError **************
|
| +function FallThroughError() {}
|
| +FallThroughError.prototype.toString = function() {
|
| + return ("Switch case fall-through in " + this.url + " at line " + this.line + ".");
|
| +}
|
| // ********** Code for Object **************
|
| Object.prototype.get$dynamic = function() {
|
| return this;
|
| @@ -481,7 +486,7 @@
|
| }
|
| ListIterator.prototype.next = function() {
|
| if (!this.hasNext()) {
|
| - $throw(const$9/*const NoMoreElementsException()*/);
|
| + $throw(const$121/*const NoMoreElementsException()*/);
|
| }
|
| return this._array.$index(this._pos++);
|
| }
|
| @@ -518,7 +523,7 @@
|
| }
|
| _AllMatchesIterator.prototype.next = function() {
|
| if (!this.hasNext()) {
|
| - $throw(const$9/*const NoMoreElementsException()*/);
|
| + $throw(const$121/*const NoMoreElementsException()*/);
|
| }
|
| var next = this._next;
|
| this._next = null;
|
| @@ -570,7 +575,7 @@
|
| NumImplementation.prototype.compareTo = function(other) {
|
| var thisValue = this.toDouble();
|
| if (thisValue < other) {
|
| - return -1;
|
| + return -1.000000/*-1*/;
|
| }
|
| else if (thisValue > other) {
|
| return 1;
|
| @@ -580,7 +585,7 @@
|
| var thisIsNegative = this.isNegative();
|
| var otherIsNegative = other.isNegative();
|
| if ($eq(thisIsNegative, otherIsNegative)) return 0;
|
| - if (thisIsNegative) return -1;
|
| + if (thisIsNegative) return -1.000000/*-1*/;
|
| return 1;
|
| }
|
| return 0;
|
| @@ -592,19 +597,19 @@
|
| return 1;
|
| }
|
| else {
|
| - return -1;
|
| + return -1.000000/*-1*/;
|
| }
|
| }
|
| // ********** Code for DurationImplementation **************
|
| function DurationImplementation(days, hours, minutes, seconds, milliseconds) {
|
| - this._durationInMilliseconds = days * 86400000/*Duration.MILLISECONDS_PER_DAY*/ + hours * 3600000/*Duration.MILLISECONDS_PER_HOUR*/ + minutes * 60000/*Duration.MILLISECONDS_PER_MINUTE*/ + seconds * 1000/*Duration.MILLISECONDS_PER_SECOND*/ + milliseconds;
|
| + this._durationInMilliseconds = days * 86400000.000000/*Duration.MILLISECONDS_PER_DAY*/ + hours * 3600000.000000/*Duration.MILLISECONDS_PER_HOUR*/ + minutes * 60000.000000/*Duration.MILLISECONDS_PER_MINUTE*/ + seconds * 1000/*Duration.MILLISECONDS_PER_SECOND*/ + milliseconds;
|
| // Initializers done
|
| }
|
| DurationImplementation.prototype.get$inHours = function() {
|
| - return $truncdiv(this._durationInMilliseconds, 3600000/*Duration.MILLISECONDS_PER_HOUR*/);
|
| + return $truncdiv(this._durationInMilliseconds, 3600000.000000/*Duration.MILLISECONDS_PER_HOUR*/);
|
| }
|
| DurationImplementation.prototype.get$inMinutes = function() {
|
| - return $truncdiv(this._durationInMilliseconds, 60000/*Duration.MILLISECONDS_PER_MINUTE*/);
|
| + return $truncdiv(this._durationInMilliseconds, 60000.000000/*Duration.MILLISECONDS_PER_MINUTE*/);
|
| }
|
| DurationImplementation.prototype.get$inSeconds = function() {
|
| return $truncdiv(this._durationInMilliseconds, 1000/*Duration.MILLISECONDS_PER_SECOND*/);
|
| @@ -679,7 +684,7 @@
|
| var hash = HashMapImplementation._firstProbe(key.hashCode(), this._keys.length);
|
| var numberOfProbes = 1;
|
| var initialHash = hash;
|
| - var insertionIndex = -1;
|
| + var insertionIndex = -1.000000/*-1*/;
|
| while (true) {
|
| var existingKey = this._keys.$index(hash);
|
| if (existingKey == null) {
|
| @@ -701,7 +706,7 @@
|
| var initialHash = hash;
|
| while (true) {
|
| var existingKey = this._keys.$index(hash);
|
| - if (existingKey == null) return -1;
|
| + if (existingKey == null) return -1.000000/*-1*/;
|
| if ($eq(existingKey, key)) return hash;
|
| hash = HashMapImplementation._nextProbe(hash, numberOfProbes++, this._keys.length);
|
| }
|
| @@ -805,7 +810,7 @@
|
| return list;
|
| }
|
| HashMapImplementation.prototype.containsKey = function(key) {
|
| - return (this._probeForLookup(key) != -1);
|
| + return (this._probeForLookup(key) != -1.000000/*-1*/);
|
| }
|
| $defineMethod(HashMapImplementation, "forEach$1", HashMapImplementation.prototype.forEach);
|
| // ********** Code for HashMapImplementation$E$E **************
|
| @@ -834,7 +839,7 @@
|
| var hash = HashMapImplementation._firstProbe(key.hashCode(), this._keys.length);
|
| var numberOfProbes = 1;
|
| var initialHash = hash;
|
| - var insertionIndex = -1;
|
| + var insertionIndex = -1.000000/*-1*/;
|
| while (true) {
|
| var existingKey = this._keys.$index(hash);
|
| if (existingKey == null) {
|
| @@ -856,7 +861,7 @@
|
| var initialHash = hash;
|
| while (true) {
|
| var existingKey = this._keys.$index(hash);
|
| - if (existingKey == null) return -1;
|
| + if (existingKey == null) return -1.000000/*-1*/;
|
| if ($eq(existingKey, key)) return hash;
|
| hash = HashMapImplementation._nextProbe(hash, numberOfProbes++, this._keys.length);
|
| }
|
| @@ -940,7 +945,7 @@
|
| return list;
|
| }
|
| HashMapImplementation$E$E.prototype.containsKey = function(key) {
|
| - return (this._probeForLookup(key) != -1);
|
| + return (this._probeForLookup(key) != -1.000000/*-1*/);
|
| }
|
| // ********** Code for HashMapImplementation$K$DoubleLinkedQueueEntry$KeyValuePair$K$V **************
|
| function HashMapImplementation$K$DoubleLinkedQueueEntry$KeyValuePair$K$V() {
|
| @@ -1060,7 +1065,7 @@
|
| $inherits(HashSetImplementation$E, HashSetImplementation);
|
| // ********** Code for HashSetIterator **************
|
| function HashSetIterator(set_) {
|
| - this._nextValidIndex = -1;
|
| + this._nextValidIndex = -1.000000/*-1*/;
|
| this._entries = set_._backingMap._keys;
|
| // Initializers done
|
| this._advance();
|
| @@ -1074,7 +1079,7 @@
|
| }
|
| HashSetIterator.prototype.next = function() {
|
| if (!this.hasNext()) {
|
| - $throw(const$9/*const NoMoreElementsException()*/);
|
| + $throw(const$121/*const NoMoreElementsException()*/);
|
| }
|
| var res = this._entries.$index(this._nextValidIndex);
|
| this._advance();
|
| @@ -1092,7 +1097,7 @@
|
| }
|
| // ********** Code for HashSetIterator$E **************
|
| function HashSetIterator$E(set_) {
|
| - this._nextValidIndex = -1;
|
| + this._nextValidIndex = -1.000000/*-1*/;
|
| this._entries = set_._backingMap._keys;
|
| // Initializers done
|
| this._advance();
|
| @@ -1295,13 +1300,13 @@
|
| }
|
| $inherits(_DoubleLinkedQueueEntrySentinel, DoubleLinkedQueueEntry$E);
|
| _DoubleLinkedQueueEntrySentinel.prototype.remove = function() {
|
| - $throw(const$10/*const EmptyQueueException()*/);
|
| + $throw(const$122/*const EmptyQueueException()*/);
|
| }
|
| _DoubleLinkedQueueEntrySentinel.prototype._asNonSentinelEntry = function() {
|
| return null;
|
| }
|
| _DoubleLinkedQueueEntrySentinel.prototype.get$element = function() {
|
| - $throw(const$10/*const EmptyQueueException()*/);
|
| + $throw(const$122/*const EmptyQueueException()*/);
|
| }
|
| // ********** Code for _DoubleLinkedQueueEntrySentinel$E **************
|
| function _DoubleLinkedQueueEntrySentinel$E() {
|
| @@ -1483,7 +1488,7 @@
|
| }
|
| _DoubleLinkedQueueIterator.prototype.next = function() {
|
| if (!this.hasNext()) {
|
| - $throw(const$9/*const NoMoreElementsException()*/);
|
| + $throw(const$121/*const NoMoreElementsException()*/);
|
| }
|
| this._currentEntry = this._currentEntry._next;
|
| return this._currentEntry.get$element();
|
| @@ -1917,7 +1922,7 @@
|
| }
|
| function dirname(path) {
|
| var lastSlash = path.lastIndexOf('/', path.length);
|
| - if (lastSlash == -1) {
|
| + if (lastSlash == -1.000000/*-1*/) {
|
| return '.';
|
| }
|
| else {
|
| @@ -1926,7 +1931,7 @@
|
| }
|
| function basename(path) {
|
| var lastSlash = path.lastIndexOf('/', path.length);
|
| - if (lastSlash == -1) {
|
| + if (lastSlash == -1.000000/*-1*/) {
|
| return path;
|
| }
|
| else {
|
| @@ -1964,8 +1969,8 @@
|
| }
|
| Keyword.computeKeywordMap = function() {
|
| var result = new LinkedHashMapImplementation$String$Keyword();
|
| - for (var $i = 0;$i < const$326/*Keyword.values*/.length; $i++) {
|
| - var keyword = const$326/*Keyword.values*/.$index($i);
|
| + for (var $i = 0;$i < const$316/*Keyword.values*/.length; $i++) {
|
| + var keyword = const$316/*Keyword.values*/.$index($i);
|
| result.$setindex(keyword.syntax, keyword);
|
| }
|
| return result;
|
| @@ -1983,10 +1988,10 @@
|
| function KeywordState() {}
|
| KeywordState.get$KEYWORD_STATE = function() {
|
| if (KeywordState._KEYWORD_STATE == null) {
|
| - var strings = new ListFactory$String(const$326/*Keyword.values*/.length);
|
| + var strings = new ListFactory$String(const$316/*Keyword.values*/.length);
|
| for (var i = 0;
|
| - i < const$326/*Keyword.values*/.length; i++) {
|
| - strings.$setindex(i, const$326/*Keyword.values*/.$index(i).syntax);
|
| + i < const$316/*Keyword.values*/.length; i++) {
|
| + strings.$setindex(i, const$316/*Keyword.values*/.$index(i).syntax);
|
| }
|
| strings.sort((function (a, b) {
|
| return a.compareTo(b);
|
| @@ -1999,13 +2004,13 @@
|
| KeywordState.computeKeywordStateTable = function(start, strings, offset, length) {
|
| var result = new ListFactory$KeywordState(26);
|
| var chunk = 0;
|
| - var chunkStart = -1;
|
| + var chunkStart = -1.000000/*-1*/;
|
| for (var i = offset;
|
| i < offset + length; i++) {
|
| if (strings.$index(i).length > start) {
|
| var c = strings.$index(i).charCodeAt(start);
|
| if (chunk != c) {
|
| - if (chunkStart != -1) {
|
| + if (chunkStart != -1.000000/*-1*/) {
|
| result.$setindex(chunk - 97/*null.$a*/, KeywordState.computeKeywordStateTable(start + 1, strings, chunkStart, i - chunkStart));
|
| }
|
| chunkStart = i;
|
| @@ -2013,7 +2018,7 @@
|
| }
|
| }
|
| }
|
| - if (chunkStart != -1) {
|
| + if (chunkStart != -1.000000/*-1*/) {
|
| result.$setindex(chunk - 97/*null.$a*/, KeywordState.computeKeywordStateTable(start + 1, strings, chunkStart, offset + length - chunkStart));
|
| }
|
| else {
|
| @@ -2068,10 +2073,10 @@
|
| }
|
| // ********** Code for ArrayBasedScanner **************
|
| function ArrayBasedScanner() {
|
| - this.charOffset = -1;
|
| - this.tokenStart = -1;
|
| - this.byteOffset = -1;
|
| - this.tokens = new Token(0, -1);
|
| + this.charOffset = -1.000000/*-1*/;
|
| + this.tokenStart = -1.000000/*-1*/;
|
| + this.byteOffset = -1.000000/*-1*/;
|
| + this.tokens = new scanner_Token(0, -1.000000/*-1*/);
|
| // Initializers done
|
| this.tail = this.tokens;
|
| }
|
| @@ -2118,10 +2123,10 @@
|
| }
|
| // ********** Code for ArrayBasedScanner$String **************
|
| function ArrayBasedScanner$String() {
|
| - this.charOffset = -1;
|
| - this.tokenStart = -1;
|
| - this.byteOffset = -1;
|
| - this.tokens = new Token(0, -1);
|
| + this.charOffset = -1.000000/*-1*/;
|
| + this.tokenStart = -1.000000/*-1*/;
|
| + this.byteOffset = -1.000000/*-1*/;
|
| + this.tokens = new scanner_Token(0, -1.000000/*-1*/);
|
| // Initializers done
|
| this.tail = this.tokens;
|
| }
|
| @@ -2164,7 +2169,7 @@
|
| }
|
| ArrayBasedScanner$String.prototype.tokenize = function() {
|
| var next = this.advance();
|
| - while (next != -1) {
|
| + while (next != -1.000000/*-1*/) {
|
| next = this.bigSwitch(next);
|
| }
|
| return this.firstToken();
|
| @@ -2383,8 +2388,8 @@
|
|
|
| default:
|
|
|
| - if (next == -1) {
|
| - return -1;
|
| + if (next == -1.000000/*-1*/) {
|
| + return -1.000000/*-1*/;
|
| }
|
| if (next < 0x1f) {
|
| $throw(this.charOffset);
|
| @@ -2559,6 +2564,7 @@
|
| return next;
|
|
|
| }
|
| + $throw(new FallThroughError("leg/scanner/scanner.dart", 389))
|
|
|
| default:
|
|
|
| @@ -2802,7 +2808,7 @@
|
| while (true) {
|
| next = this.advance();
|
| switch (next) {
|
| - case -1:
|
| + case -1.000000/*-1*/:
|
| case 10/*null.$LF*/:
|
| case 13/*null.$CR*/:
|
|
|
| @@ -2815,7 +2821,7 @@
|
| next = this.advance();
|
| while (true) {
|
| switch (next) {
|
| - case -1:
|
| + case -1.000000/*-1*/:
|
|
|
| return next;
|
|
|
| @@ -2825,7 +2831,7 @@
|
| if (next == 47/*null.$SLASH*/) {
|
| return this.advance();
|
| }
|
| - else if (next == -1) {
|
| + else if (next == -1.000000/*-1*/) {
|
| return next;
|
| }
|
| break;
|
| @@ -2863,7 +2869,7 @@
|
| this.appendByteStringToken(97/*null.$a*/, this.asciiString(start));
|
| }
|
| else {
|
| - this.appendByteStringToken(97/*null.$a*/, this.utf8String(start, -1));
|
| + this.appendByteStringToken(97/*null.$a*/, this.utf8String(start, -1.000000/*-1*/));
|
| }
|
| return next;
|
| }
|
| @@ -2873,7 +2879,7 @@
|
| next = this.nextByte();
|
| }
|
| while (next > 127)
|
| - var string = this.utf8String(nonAsciiStart, -1).toString();
|
| + var string = this.utf8String(nonAsciiStart, -1.000000/*-1*/).toString();
|
| isAscii = false;
|
| this.addToCharOffset(string.length);
|
| return next;
|
| @@ -2900,7 +2906,7 @@
|
| return this.tokenizeMultiLineString(q, start, raw);
|
| }
|
| else {
|
| - this.appendByteStringToken(q, this.utf8String(start, -1));
|
| + this.appendByteStringToken(q, this.utf8String(start, -1.000000/*-1*/));
|
| return next;
|
| }
|
| }
|
| @@ -2912,14 +2918,14 @@
|
| }
|
| }
|
| ArrayBasedScanner$String.prototype.tokenizeSingleLineString = function(next, q1, start) {
|
| - while (next != -1) {
|
| + while (next != -1.000000/*-1*/) {
|
| if (next == q1) {
|
| this.appendByteStringToken(q1, this.utf8String(start, 0));
|
| return this.advance();
|
| }
|
| else if (next == 92/*null.$BACKSLASH*/) {
|
| next = this.advance();
|
| - if (next == -1) {
|
| + if (next == -1.000000/*-1*/) {
|
| $throw(new MalformedInputException(this.charOffset));
|
| }
|
| }
|
| @@ -2932,7 +2938,7 @@
|
| }
|
| ArrayBasedScanner$String.prototype.tokenizeSingleLineRawString = function(next, q1, start) {
|
| next = this.advance();
|
| - while (next != -1) {
|
| + while (next != -1.000000/*-1*/) {
|
| if (next == q1) {
|
| this.appendByteStringToken(q1, this.utf8String(start, 0));
|
| return this.advance();
|
| @@ -2946,7 +2952,7 @@
|
| }
|
| ArrayBasedScanner$String.prototype.tokenizeMultiLineString = function(q, start, raw) {
|
| var next = this.advance();
|
| - while (next != -1) {
|
| + while (next != -1.000000/*-1*/) {
|
| if (next == q) {
|
| next = this.advance();
|
| if (next == q) {
|
| @@ -2966,13 +2972,13 @@
|
| // ********** Code for LinkFactory **************
|
| function LinkFactory() {}
|
| LinkFactory.Link$factory = function(head, tail) {
|
| - return new LinkEntry(head, (tail == null) ? const$328/*const LinkTail()*/ : tail);
|
| + return new LinkEntry(head, (tail == null) ? const$318/*const LinkTail()*/ : tail);
|
| }
|
| LinkFactory.Link$fromList$factory = function(list) {
|
| switch (list.length) {
|
| case 0:
|
|
|
| - return const$328/*const LinkTail()*/;
|
| + return const$318/*const LinkTail()*/;
|
|
|
| case 1:
|
|
|
| @@ -3023,7 +3029,7 @@
|
| return null;
|
| }
|
| LinkTail.prototype.toList = function() {
|
| - return const$8/*const <HInstruction>[]*/;
|
| + return const$120/*const <HInstruction>[]*/;
|
| }
|
| LinkTail.prototype.isEmpty = function() {
|
| return true;
|
| @@ -3071,7 +3077,7 @@
|
| function AbstractScanner() {}
|
| AbstractScanner.prototype.tokenize = function() {
|
| var next = this.advance();
|
| - while (next != -1) {
|
| + while (next != -1.000000/*-1*/) {
|
| next = this.bigSwitch(next);
|
| }
|
| return this.firstToken();
|
| @@ -3290,8 +3296,8 @@
|
|
|
| default:
|
|
|
| - if (next == -1) {
|
| - return -1;
|
| + if (next == -1.000000/*-1*/) {
|
| + return -1.000000/*-1*/;
|
| }
|
| if (next < 0x1f) {
|
| $throw(this.get$charOffset());
|
| @@ -3466,6 +3472,7 @@
|
| return next;
|
|
|
| }
|
| + $throw(new FallThroughError("leg/scanner/scanner.dart", 389))
|
|
|
| default:
|
|
|
| @@ -3709,7 +3716,7 @@
|
| while (true) {
|
| next = this.advance();
|
| switch (next) {
|
| - case -1:
|
| + case -1.000000/*-1*/:
|
| case 10/*null.$LF*/:
|
| case 13/*null.$CR*/:
|
|
|
| @@ -3722,7 +3729,7 @@
|
| next = this.advance();
|
| while (true) {
|
| switch (next) {
|
| - case -1:
|
| + case -1.000000/*-1*/:
|
|
|
| return next;
|
|
|
| @@ -3732,7 +3739,7 @@
|
| if (next == 47/*null.$SLASH*/) {
|
| return this.advance();
|
| }
|
| - else if (next == -1) {
|
| + else if (next == -1.000000/*-1*/) {
|
| return next;
|
| }
|
| break;
|
| @@ -3770,7 +3777,7 @@
|
| this.appendByteStringToken(97/*null.$a*/, this.asciiString(start));
|
| }
|
| else {
|
| - this.appendByteStringToken(97/*null.$a*/, this.utf8String(start, -1));
|
| + this.appendByteStringToken(97/*null.$a*/, this.utf8String(start, -1.000000/*-1*/));
|
| }
|
| return next;
|
| }
|
| @@ -3780,7 +3787,7 @@
|
| next = this.nextByte();
|
| }
|
| while (next > 127)
|
| - var string = this.utf8String(nonAsciiStart, -1).toString();
|
| + var string = this.utf8String(nonAsciiStart, -1.000000/*-1*/).toString();
|
| isAscii = false;
|
| this.addToCharOffset(string.length);
|
| return next;
|
| @@ -3807,7 +3814,7 @@
|
| return this.tokenizeMultiLineString(q, start, raw);
|
| }
|
| else {
|
| - this.appendByteStringToken(q, this.utf8String(start, -1));
|
| + this.appendByteStringToken(q, this.utf8String(start, -1.000000/*-1*/));
|
| return next;
|
| }
|
| }
|
| @@ -3819,14 +3826,14 @@
|
| }
|
| }
|
| AbstractScanner.prototype.tokenizeSingleLineString = function(next, q1, start) {
|
| - while (next != -1) {
|
| + while (next != -1.000000/*-1*/) {
|
| if (next == q1) {
|
| this.appendByteStringToken(q1, this.utf8String(start, 0));
|
| return this.advance();
|
| }
|
| else if (next == 92/*null.$BACKSLASH*/) {
|
| next = this.advance();
|
| - if (next == -1) {
|
| + if (next == -1.000000/*-1*/) {
|
| $throw(new MalformedInputException(this.get$charOffset()));
|
| }
|
| }
|
| @@ -3839,7 +3846,7 @@
|
| }
|
| AbstractScanner.prototype.tokenizeSingleLineRawString = function(next, q1, start) {
|
| next = this.advance();
|
| - while (next != -1) {
|
| + while (next != -1.000000/*-1*/) {
|
| if (next == q1) {
|
| this.appendByteStringToken(q1, this.utf8String(start, 0));
|
| return this.advance();
|
| @@ -3853,7 +3860,7 @@
|
| }
|
| AbstractScanner.prototype.tokenizeMultiLineString = function(q, start, raw) {
|
| var next = this.advance();
|
| - while (next != -1) {
|
| + while (next != -1.000000/*-1*/) {
|
| if (next == q) {
|
| next = this.advance();
|
| if (next == q) {
|
| @@ -3873,7 +3880,7 @@
|
| $inherits(AbstractScanner$S, AbstractScanner);
|
| AbstractScanner$S.prototype.tokenize = function() {
|
| var next = this.advance();
|
| - while (next != -1) {
|
| + while (next != -1.000000/*-1*/) {
|
| next = this.bigSwitch(next);
|
| }
|
| return this.firstToken();
|
| @@ -4092,8 +4099,8 @@
|
|
|
| default:
|
|
|
| - if (next == -1) {
|
| - return -1;
|
| + if (next == -1.000000/*-1*/) {
|
| + return -1.000000/*-1*/;
|
| }
|
| if (next < 0x1f) {
|
| $throw(this.get$charOffset());
|
| @@ -4268,6 +4275,7 @@
|
| return next;
|
|
|
| }
|
| + $throw(new FallThroughError("leg/scanner/scanner.dart", 389))
|
|
|
| default:
|
|
|
| @@ -4511,7 +4519,7 @@
|
| while (true) {
|
| next = this.advance();
|
| switch (next) {
|
| - case -1:
|
| + case -1.000000/*-1*/:
|
| case 10/*null.$LF*/:
|
| case 13/*null.$CR*/:
|
|
|
| @@ -4524,7 +4532,7 @@
|
| next = this.advance();
|
| while (true) {
|
| switch (next) {
|
| - case -1:
|
| + case -1.000000/*-1*/:
|
|
|
| return next;
|
|
|
| @@ -4534,7 +4542,7 @@
|
| if (next == 47/*null.$SLASH*/) {
|
| return this.advance();
|
| }
|
| - else if (next == -1) {
|
| + else if (next == -1.000000/*-1*/) {
|
| return next;
|
| }
|
| break;
|
| @@ -4572,7 +4580,7 @@
|
| this.appendByteStringToken(97/*null.$a*/, this.asciiString(start));
|
| }
|
| else {
|
| - this.appendByteStringToken(97/*null.$a*/, this.utf8String(start, -1));
|
| + this.appendByteStringToken(97/*null.$a*/, this.utf8String(start, -1.000000/*-1*/));
|
| }
|
| return next;
|
| }
|
| @@ -4582,7 +4590,7 @@
|
| next = this.nextByte();
|
| }
|
| while (next > 127)
|
| - var string = this.utf8String(nonAsciiStart, -1).toString();
|
| + var string = this.utf8String(nonAsciiStart, -1.000000/*-1*/).toString();
|
| isAscii = false;
|
| this.addToCharOffset(string.length);
|
| return next;
|
| @@ -4609,7 +4617,7 @@
|
| return this.tokenizeMultiLineString(q, start, raw);
|
| }
|
| else {
|
| - this.appendByteStringToken(q, this.utf8String(start, -1));
|
| + this.appendByteStringToken(q, this.utf8String(start, -1.000000/*-1*/));
|
| return next;
|
| }
|
| }
|
| @@ -4621,14 +4629,14 @@
|
| }
|
| }
|
| AbstractScanner$S.prototype.tokenizeSingleLineString = function(next, q1, start) {
|
| - while (next != -1) {
|
| + while (next != -1.000000/*-1*/) {
|
| if (next == q1) {
|
| this.appendByteStringToken(q1, this.utf8String(start, 0));
|
| return this.advance();
|
| }
|
| else if (next == 92/*null.$BACKSLASH*/) {
|
| next = this.advance();
|
| - if (next == -1) {
|
| + if (next == -1.000000/*-1*/) {
|
| $throw(new MalformedInputException(this.get$charOffset()));
|
| }
|
| }
|
| @@ -4641,7 +4649,7 @@
|
| }
|
| AbstractScanner$S.prototype.tokenizeSingleLineRawString = function(next, q1, start) {
|
| next = this.advance();
|
| - while (next != -1) {
|
| + while (next != -1.000000/*-1*/) {
|
| if (next == q1) {
|
| this.appendByteStringToken(q1, this.utf8String(start, 0));
|
| return this.advance();
|
| @@ -4655,7 +4663,7 @@
|
| }
|
| AbstractScanner$S.prototype.tokenizeMultiLineString = function(q, start, raw) {
|
| var next = this.advance();
|
| - while (next != -1) {
|
| + while (next != -1.000000/*-1*/) {
|
| if (next == q) {
|
| next = this.advance();
|
| if (next == q) {
|
| @@ -4674,40 +4682,40 @@
|
| function MalformedInputException(ignored) {
|
| // Initializers done
|
| }
|
| -// ********** Code for Parser **************
|
| -function Parser(listener) {
|
| +// ********** Code for scanner_Parser **************
|
| +function scanner_Parser(listener) {
|
| this.listener = listener;
|
| // Initializers done
|
| }
|
| -Parser.prototype.next = function(token) {
|
| +scanner_Parser.prototype.next = function(token) {
|
| return this.checkEof(token.next);
|
| }
|
| -Parser.prototype.checkEof = function(token) {
|
| +scanner_Parser.prototype.checkEof = function(token) {
|
| if (token == null) {
|
| this.listener.unexpectedEof();
|
| $throw("Unexpected EOF");
|
| }
|
| return token;
|
| }
|
| -Parser.prototype.parseUnit = function(token) {
|
| +scanner_Parser.prototype.parseUnit = function(token) {
|
| while (token != null) {
|
| switch (token.get$value()) {
|
| - case const$308/*Keyword.INTERFACE*/:
|
| + case const$298/*Keyword.INTERFACE*/:
|
|
|
| token = this.parseInterface(token);
|
| break;
|
|
|
| - case const$296/*Keyword.CLASS*/:
|
| + case const$286/*Keyword.CLASS*/:
|
|
|
| token = this.parseClass(token);
|
| break;
|
|
|
| - case const$324/*Keyword.TYPEDEF*/:
|
| + case const$314/*Keyword.TYPEDEF*/:
|
|
|
| token = this.parseNamedFunctionAlias(token);
|
| break;
|
|
|
| - case const$338/*const SourceString("#")*/:
|
| + case const$328/*const SourceString("#")*/:
|
|
|
| token = this.parseLibraryTags(token);
|
| break;
|
| @@ -4720,7 +4728,7 @@
|
| }
|
| }
|
| }
|
| -Parser.prototype.parseInterface = function(token) {
|
| +scanner_Parser.prototype.parseInterface = function(token) {
|
| this.listener.beginInterface(token);
|
| token = this.parseIdentifier(this.next(token));
|
| token = this.parseTypeVariablesOpt(token);
|
| @@ -4728,44 +4736,44 @@
|
| token = this.parseFactoryClauseOpt(token);
|
| return this.parseInterfaceBody(token);
|
| }
|
| -Parser.prototype.parseInterfaceBody = function(token) {
|
| +scanner_Parser.prototype.parseInterfaceBody = function(token) {
|
| token = this.skipBlock(token);
|
| this.listener.endInterface(token);
|
| return token.next;
|
| }
|
| -Parser.prototype.parseNamedFunctionAlias = function(token) {
|
| +scanner_Parser.prototype.parseNamedFunctionAlias = function(token) {
|
| this.listener.beginFunctionTypeAlias(token);
|
| token = this.parseReturnTypeOpt(this.next(token));
|
| token = this.parseIdentifier(token);
|
| token = this.parseTypeVariablesOpt(token);
|
| token = this.parseParameters(token);
|
| this.listener.endFunctionTypeAlias(token);
|
| - return this.expect(const$337/*const SourceString(";")*/, token);
|
| + return this.expect(const$327/*const SourceString(";")*/, token);
|
| }
|
| -Parser.prototype.parseReturnTypeOpt = function(token) {
|
| - if ($eq(token.get$value(), const$288/*Keyword.VOID*/)) {
|
| +scanner_Parser.prototype.parseReturnTypeOpt = function(token) {
|
| + if ($eq(token.get$value(), const$278/*Keyword.VOID*/)) {
|
| return this.next(token);
|
| }
|
| else {
|
| return this.parseTypeOpt(token);
|
| }
|
| }
|
| -Parser.prototype.parseParameters = function(token) {
|
| - this.expect(const$335/*const SourceString("(")*/, token);
|
| - if (this.optional(const$336/*const SourceString(")")*/, this.next(token))) {
|
| +scanner_Parser.prototype.parseParameters = function(token) {
|
| + this.expect(const$325/*const SourceString("(")*/, token);
|
| + if (this.optional(const$326/*const SourceString(")")*/, this.next(token))) {
|
| return this.next(this.next(token));
|
| }
|
| do {
|
| token = this.parseTypeOpt(this.next(token));
|
| token = this.parseIdentifier(token);
|
| }
|
| - while (this.optional(const$331/*const SourceString(",")*/, token))
|
| - return this.expect(const$336/*const SourceString(")")*/, token);
|
| + while (this.optional(const$321/*const SourceString(",")*/, token))
|
| + return this.expect(const$326/*const SourceString(")")*/, token);
|
| }
|
| -Parser.prototype.parseTypeOpt = function(token) {
|
| +scanner_Parser.prototype.parseTypeOpt = function(token) {
|
| switch (true) {
|
| - case this.optional(const$329/*const SourceString("<")*/, this.next(token)):
|
| - case this.optional(const$330/*const SourceString(".")*/, this.next(token)):
|
| + case this.optional(const$319/*const SourceString("<")*/, this.next(token)):
|
| + case this.optional(const$320/*const SourceString(".")*/, this.next(token)):
|
| case this.isIdentifier(this.next(token)):
|
|
|
| return this.parseType(token);
|
| @@ -4776,7 +4784,7 @@
|
|
|
| }
|
| }
|
| -Parser.prototype.isIdentifier = function(token) {
|
| +scanner_Parser.prototype.isIdentifier = function(token) {
|
| switch (token.kind) {
|
| case 97/*null.$a*/:
|
|
|
| @@ -4792,23 +4800,23 @@
|
|
|
| }
|
| }
|
| -Parser.prototype.parseSupertypesClauseOpt = function(token) {
|
| - if (this.optional(const$298/*Keyword.EXTENDS*/, token)) {
|
| +scanner_Parser.prototype.parseSupertypesClauseOpt = function(token) {
|
| + if (this.optional(const$288/*Keyword.EXTENDS*/, token)) {
|
| do {
|
| token = this.parseType(this.next(token));
|
| }
|
| - while (this.optional(const$331/*const SourceString(",")*/, token))
|
| + while (this.optional(const$321/*const SourceString(",")*/, token))
|
| }
|
| return token;
|
| }
|
| -Parser.prototype.parseFactoryClauseOpt = function(token) {
|
| - if (this.optional(const$300/*Keyword.FACTORY*/, token)) {
|
| +scanner_Parser.prototype.parseFactoryClauseOpt = function(token) {
|
| + if (this.optional(const$290/*Keyword.FACTORY*/, token)) {
|
| return this.parseType(this.next(token));
|
| }
|
| return token;
|
| }
|
| -Parser.prototype.skipBlock = function(token) {
|
| - if (!this.optional(const$333/*const SourceString("{")*/, token)) return this.listener.expectedBlock(token);
|
| +scanner_Parser.prototype.skipBlock = function(token) {
|
| + if (!this.optional(const$323/*const SourceString("{")*/, token)) return this.listener.expectedBlock(token);
|
| token = this.next(token);
|
| var nesting = 1;
|
| do {
|
| @@ -4832,7 +4840,7 @@
|
| while (token != null)
|
| $throw("Internal error: unreachable code");
|
| }
|
| -Parser.prototype.parseClass = function(token) {
|
| +scanner_Parser.prototype.parseClass = function(token) {
|
| this.listener.beginClass(token);
|
| token = this.parseIdentifier(this.next(token));
|
| token = this.parseTypeVariablesOpt(token);
|
| @@ -4841,13 +4849,13 @@
|
| token = this.parseNativeClassClauseOpt(token);
|
| return this.parseClassBody(token);
|
| }
|
| -Parser.prototype.parseNativeClassClauseOpt = function(token) {
|
| - if (this.optional(const$312/*Keyword.NATIVE*/, token)) {
|
| +scanner_Parser.prototype.parseNativeClassClauseOpt = function(token) {
|
| + if (this.optional(const$302/*Keyword.NATIVE*/, token)) {
|
| return this.parseString(this.next(token));
|
| }
|
| return token;
|
| }
|
| -Parser.prototype.parseString = function(token) {
|
| +scanner_Parser.prototype.parseString = function(token) {
|
| switch (token.kind) {
|
| case 39/*null.$SQ*/:
|
| case 34/*null.$DQ*/:
|
| @@ -4856,11 +4864,11 @@
|
|
|
| default:
|
|
|
| - return this.listener.expected(const$334/*const SourceString("string")*/, token);
|
| + return this.listener.expected(const$324/*const SourceString("string")*/, token);
|
|
|
| }
|
| }
|
| -Parser.prototype.parseIdentifier = function(token) {
|
| +scanner_Parser.prototype.parseIdentifier = function(token) {
|
| if (this.isIdentifier(token)) {
|
| this.listener.identifier(token);
|
| }
|
| @@ -4869,43 +4877,43 @@
|
| }
|
| return this.next(token);
|
| }
|
| -Parser.prototype.parseTypeVariablesOpt = function(token) {
|
| - if (!this.optional(const$329/*const SourceString("<")*/, token)) {
|
| +scanner_Parser.prototype.parseTypeVariablesOpt = function(token) {
|
| + if (!this.optional(const$319/*const SourceString("<")*/, token)) {
|
| return token;
|
| }
|
| this.listener.beginTypeVariables(token);
|
| do {
|
| token = this.parseTypeVariable(this.next(token));
|
| }
|
| - while (this.optional(const$331/*const SourceString(",")*/, token))
|
| - return this.expect(const$332/*const SourceString(">")*/, token);
|
| + while (this.optional(const$321/*const SourceString(",")*/, token))
|
| + return this.expect(const$322/*const SourceString(">")*/, token);
|
| }
|
| -Parser.prototype.expect = function(string, token) {
|
| +scanner_Parser.prototype.expect = function(string, token) {
|
| if ($ne(string, token.get$value())) {
|
| return this.listener.expected(string, token);
|
| }
|
| return token.next;
|
| }
|
| -Parser.prototype.parseTypeVariable = function(token) {
|
| +scanner_Parser.prototype.parseTypeVariable = function(token) {
|
| this.listener.beginTypeVariable(token);
|
| token = this.parseIdentifier(token);
|
| token = this.parseSuperclassClauseOpt(token);
|
| this.listener.endTypeVariable(token);
|
| return token;
|
| }
|
| -Parser.prototype.optional = function(value, token) {
|
| +scanner_Parser.prototype.optional = function(value, token) {
|
| return $eq(value, token.get$value());
|
| }
|
| -Parser.prototype.parseSuperclassClauseOpt = function(token) {
|
| - if (this.optional(const$298/*Keyword.EXTENDS*/, token)) {
|
| +scanner_Parser.prototype.parseSuperclassClauseOpt = function(token) {
|
| + if (this.optional(const$288/*Keyword.EXTENDS*/, token)) {
|
| return this.parseType(this.next(token));
|
| }
|
| return token;
|
| }
|
| -Parser.prototype.parseType = function(token) {
|
| +scanner_Parser.prototype.parseType = function(token) {
|
| if (this.isIdentifier(token)) {
|
| token = this.parseIdentifier(token);
|
| - while (this.optional(const$330/*const SourceString(".")*/, token)) {
|
| + while (this.optional(const$320/*const SourceString(".")*/, token)) {
|
| token = this.parseIdentifier(this.next(token));
|
| }
|
| }
|
| @@ -4914,32 +4922,32 @@
|
| }
|
| return this.parseTypeArgumentsOpt(token);
|
| }
|
| -Parser.prototype.parseTypeArgumentsOpt = function(token) {
|
| - if (this.optional(const$329/*const SourceString("<")*/, token)) {
|
| +scanner_Parser.prototype.parseTypeArgumentsOpt = function(token) {
|
| + if (this.optional(const$319/*const SourceString("<")*/, token)) {
|
| this.listener.beginTypeArguments(this.next(token));
|
| do {
|
| token = this.parseType(this.next(token));
|
| }
|
| - while (this.optional(const$331/*const SourceString(",")*/, token))
|
| - return this.expect(const$332/*const SourceString(">")*/, token);
|
| + while (this.optional(const$321/*const SourceString(",")*/, token))
|
| + return this.expect(const$322/*const SourceString(">")*/, token);
|
| }
|
| return token;
|
| }
|
| -Parser.prototype.parseImplementsOpt = function(token) {
|
| - if (this.optional(const$304/*Keyword.IMPLEMENTS*/, token)) {
|
| +scanner_Parser.prototype.parseImplementsOpt = function(token) {
|
| + if (this.optional(const$294/*Keyword.IMPLEMENTS*/, token)) {
|
| do {
|
| token = this.parseType(this.next(token));
|
| }
|
| - while (this.optional(const$331/*const SourceString(",")*/, token))
|
| + while (this.optional(const$321/*const SourceString(",")*/, token))
|
| }
|
| return token;
|
| }
|
| -Parser.prototype.parseClassBody = function(token) {
|
| +scanner_Parser.prototype.parseClassBody = function(token) {
|
| token = this.skipBlock(token);
|
| this.listener.endClass(token);
|
| return token.next;
|
| }
|
| -Parser.prototype.parseTopLevelMember = function(token) {
|
| +scanner_Parser.prototype.parseTopLevelMember = function(token) {
|
| var start = token;
|
| this.listener.beginTopLevelMember(token);
|
| var previous = token;
|
| @@ -4961,10 +4969,10 @@
|
| }
|
| }
|
| token = this.parseIdentifier(previous);
|
| - if (this.optional(const$335/*const SourceString("(")*/, token)) {
|
| + if (this.optional(const$325/*const SourceString("(")*/, token)) {
|
| this.listener.topLevelMethod(start);
|
| }
|
| - else if (this.optional(const$339/*const SourceString("=")*/, token) || this.optional(const$337/*const SourceString(";")*/, token)) {
|
| + else if (this.optional(const$329/*const SourceString("=")*/, token) || this.optional(const$327/*const SourceString(";")*/, token)) {
|
| this.listener.topLevelField(start);
|
| }
|
| else {
|
| @@ -4973,28 +4981,28 @@
|
| while (token != null && token.kind != 123/*null.$LBRACE*/ && token.kind != 59/*null.$SEMICOLON*/) {
|
| token = this.next(token);
|
| }
|
| - if (!this.optional(const$337/*const SourceString(";")*/, token)) {
|
| + if (!this.optional(const$327/*const SourceString(";")*/, token)) {
|
| token = this.skipBlock(token);
|
| }
|
| this.listener.endTopLevelMember(token);
|
| return token.next;
|
| }
|
| -Parser.prototype.parseLibraryTags = function(token) {
|
| +scanner_Parser.prototype.parseLibraryTags = function(token) {
|
| this.listener.beginLibraryTag(token);
|
| token = this.parseIdentifier(this.next(token));
|
| - token = this.expect(const$335/*const SourceString("(")*/, token);
|
| + token = this.expect(const$325/*const SourceString("(")*/, token);
|
| while (token != null && token.kind != 40/*null.$LPAREN*/ && token.kind != 41/*null.$RPAREN*/) {
|
| token = this.next(token);
|
| }
|
| - token = this.expect(const$336/*const SourceString(")")*/, token);
|
| - return this.expect(const$337/*const SourceString(";")*/, token);
|
| + token = this.expect(const$326/*const SourceString(")")*/, token);
|
| + return this.expect(const$327/*const SourceString(";")*/, token);
|
| }
|
| // ********** Code for BodyParser **************
|
| function BodyParser(listener) {
|
| - Parser.call(this, listener);
|
| + scanner_Parser.call(this, listener);
|
| // Initializers done
|
| }
|
| -$inherits(BodyParser, Parser);
|
| +$inherits(BodyParser, scanner_Parser);
|
| BodyParser.prototype.parseMethod = function(token) {
|
| token = this.parseReturnType(token);
|
| token = this.parseIdentifier(token);
|
| @@ -5002,38 +5010,38 @@
|
| return this.parseMethodBody(token);
|
| }
|
| BodyParser.prototype.parseReturnType = function(token) {
|
| - if (this.optional(const$288/*Keyword.VOID*/, token)) {
|
| + if (this.optional(const$278/*Keyword.VOID*/, token)) {
|
| return token.next;
|
| }
|
| return this.parseType(token);
|
| }
|
| BodyParser.prototype.parseFormalParameters = function(token) {
|
| this.listener.beginArguments(token);
|
| - this.expect(const$335/*const SourceString("(")*/, token);
|
| - if (this.optional(const$336/*const SourceString(")")*/, token.next)) {
|
| + this.expect(const$325/*const SourceString("(")*/, token);
|
| + if (this.optional(const$326/*const SourceString(")")*/, token.next)) {
|
| return token.next.next;
|
| }
|
| do {
|
| token = this.parseType(this.next(token));
|
| token = this.parseIdentifier(token);
|
| }
|
| - while (this.optional(const$331/*const SourceString(",")*/, token))
|
| - return this.expect(const$336/*const SourceString(")")*/, token);
|
| + while (this.optional(const$321/*const SourceString(",")*/, token))
|
| + return this.expect(const$326/*const SourceString(")")*/, token);
|
| }
|
| BodyParser.prototype.parseMethodBody = function(token) {
|
| - if (this.optional(const$337/*const SourceString(";")*/, token)) {
|
| + if (this.optional(const$327/*const SourceString(";")*/, token)) {
|
| return token.next;
|
| }
|
| - token = this.checkEof(this.expect(const$333/*const SourceString("{")*/, token));
|
| - while (!this.optional(const$340/*const SourceString("}")*/, token)) {
|
| + token = this.checkEof(this.expect(const$323/*const SourceString("{")*/, token));
|
| + while (!this.optional(const$330/*const SourceString("}")*/, token)) {
|
| token = this.parseStatement(token);
|
| }
|
| - return this.expect(const$340/*const SourceString("}")*/, token);
|
| + return this.expect(const$330/*const SourceString("}")*/, token);
|
| }
|
| BodyParser.prototype.parseStatement = function(token) {
|
| this.checkEof(token);
|
| switch (token.get$value()) {
|
| - case const$272/*Keyword.RETURN*/:
|
| + case const$262/*Keyword.RETURN*/:
|
|
|
| token = this.expectSemicolon(this.parseReturnStatement(token));
|
| break;
|
| @@ -5048,7 +5056,7 @@
|
| return token;
|
| }
|
| BodyParser.prototype.expectSemicolon = function(token) {
|
| - return this.expect(const$337/*const SourceString(";")*/, token);
|
| + return this.expect(const$327/*const SourceString(";")*/, token);
|
| }
|
| BodyParser.prototype.parseReturnStatement = function(token) {
|
| this.listener.beginReturnStatement(token);
|
| @@ -5079,13 +5087,13 @@
|
| return token.next;
|
| }
|
| BodyParser.prototype.parseArgumentsOpt = function(token) {
|
| - if (this.optional(const$335/*const SourceString("(")*/, token)) {
|
| + if (this.optional(const$325/*const SourceString("(")*/, token)) {
|
| this.listener.beginArguments(token);
|
| do {
|
| token = this.parseExpression(this.next(token));
|
| }
|
| - while (this.optional(const$331/*const SourceString(",")*/, token))
|
| - return this.expect(const$336/*const SourceString(")")*/, token);
|
| + while (this.optional(const$321/*const SourceString(",")*/, token))
|
| + return this.expect(const$326/*const SourceString(")")*/, token);
|
| }
|
| return token;
|
| }
|
| @@ -5149,7 +5157,7 @@
|
|
|
| }
|
| Listener.prototype.identifier = function(token) {
|
| - this.previousIdentifier = new Identifier(token);
|
| + this.previousIdentifier = new tree_Identifier(token);
|
| }
|
| Listener.prototype.beginTypeArguments = function(token) {
|
|
|
| @@ -5248,7 +5256,7 @@
|
| return this.charAt(this.byteOffset + 1);
|
| }
|
| StringScanner.prototype.charAt = function(index) {
|
| - return (this.string.length > index) ? this.string.charCodeAt(index) : -1;
|
| + return (this.string.length > index) ? this.string.charCodeAt(index) : -1.000000/*-1*/;
|
| }
|
| StringScanner.prototype.asciiString = function(start) {
|
| return this.string.substring(start, this.byteOffset);
|
| @@ -5260,22 +5268,22 @@
|
| this.tail.next = new StringToken(kind, value, this.tokenStart);
|
| this.tail = this.tail.next;
|
| }
|
| -// ********** Code for Token **************
|
| -function Token(kind, charOffset) {
|
| +// ********** Code for scanner_Token **************
|
| +function scanner_Token(kind, charOffset) {
|
| this.kind = kind;
|
| this.charOffset = charOffset;
|
| // Initializers done
|
| }
|
| -Token.prototype.toString = function() {
|
| +scanner_Token.prototype.toString = function() {
|
| return Strings.String$fromCharCodes$factory([this.kind]);
|
| }
|
| // ********** Code for KeywordToken **************
|
| function KeywordToken(value, charOffset) {
|
| this.value = value;
|
| - Token.call(this, 107/*null.$k*/, charOffset);
|
| + scanner_Token.call(this, 107/*null.$k*/, charOffset);
|
| // Initializers done
|
| }
|
| -$inherits(KeywordToken, Token);
|
| +$inherits(KeywordToken, scanner_Token);
|
| KeywordToken.prototype.get$value = function() { return this.value; };
|
| KeywordToken.prototype.toString = function() {
|
| return this.value.syntax;
|
| @@ -5283,10 +5291,10 @@
|
| // ********** Code for StringToken **************
|
| function StringToken(kind, value, charOffset) {
|
| this.value = new StringWrapper(value);
|
| - Token.call(this, kind, charOffset);
|
| + scanner_Token.call(this, kind, charOffset);
|
| // Initializers done
|
| }
|
| -$inherits(StringToken, Token);
|
| +$inherits(StringToken, scanner_Token);
|
| StringToken.prototype.get$value = function() { return this.value; };
|
| StringToken.prototype.toString = function() {
|
| return this.value.toString();
|
| @@ -5308,20 +5316,20 @@
|
| }
|
| // ********** Code for top level **************
|
| // ********** Library tree **************
|
| -// ********** Code for Node **************
|
| -function Node() {}
|
| -Node.prototype.hashCode = function() {
|
| +// ********** Code for tree_Node **************
|
| +function tree_Node() {}
|
| +tree_Node.prototype.hashCode = function() {
|
| return this._hashCode;
|
| }
|
| -Node.prototype.toString = function() {
|
| +tree_Node.prototype.toString = function() {
|
| return this.get$debugString();
|
| }
|
| -// ********** Code for Expression **************
|
| -function Expression() {}
|
| -$inherits(Expression, Node);
|
| -// ********** Code for Statement **************
|
| -function Statement() {}
|
| -$inherits(Statement, Node);
|
| +// ********** Code for tree_Expression **************
|
| +function tree_Expression() {}
|
| +$inherits(tree_Expression, tree_Node);
|
| +// ********** Code for tree_Statement **************
|
| +function tree_Statement() {}
|
| +$inherits(tree_Statement, tree_Node);
|
| // ********** Code for Invocation **************
|
| function Invocation(receiver, selector, argumentsNode) {
|
| this.debugString = "invocation"
|
| @@ -5330,7 +5338,7 @@
|
| this.argumentsNode = argumentsNode;
|
| // Initializers done
|
| }
|
| -$inherits(Invocation, Expression);
|
| +$inherits(Invocation, tree_Expression);
|
| Invocation.prototype.get$arguments = function() {
|
| return this.argumentsNode.nodes;
|
| }
|
| @@ -5338,10 +5346,10 @@
|
| Invocation.prototype.accept = function(visitor) {
|
| return visitor.visitInvocation(this);
|
| }
|
| -// ********** Code for NewExpression **************
|
| -function NewExpression() {}
|
| -$inherits(NewExpression, Expression);
|
| -NewExpression.prototype.get$debugString = function() { return this.debugString; };
|
| +// ********** Code for tree_NewExpression **************
|
| +function tree_NewExpression() {}
|
| +$inherits(tree_NewExpression, tree_Expression);
|
| +tree_NewExpression.prototype.get$debugString = function() { return this.debugString; };
|
| // ********** Code for NodeList **************
|
| function NodeList(beginToken, nodes, endToken, delimiter) {
|
| this.debugString = "node list"
|
| @@ -5351,7 +5359,7 @@
|
| this.delimiter = delimiter;
|
| // Initializers done
|
| }
|
| -$inherits(NodeList, Node);
|
| +$inherits(NodeList, tree_Node);
|
| NodeList.prototype.get$debugString = function() { return this.debugString; };
|
| NodeList.prototype.accept = function(visitor) {
|
| return visitor.visitNodeList(this);
|
| @@ -5364,7 +5372,7 @@
|
| this.endToken = endToken;
|
| // Initializers done
|
| }
|
| -$inherits(Block, Statement);
|
| +$inherits(Block, tree_Statement);
|
| Block.prototype.get$debugString = function() { return this.debugString; };
|
| Block.prototype.accept = function(visitor) {
|
| return visitor.visitBlock(this);
|
| @@ -5378,7 +5386,7 @@
|
| this.returnType = returnType;
|
| // Initializers done
|
| }
|
| -$inherits(FunctionExpression, Expression);
|
| +$inherits(FunctionExpression, tree_Expression);
|
| FunctionExpression.prototype.get$name = function() { return this.name; };
|
| FunctionExpression.prototype.get$parameters = function() { return this.parameters; };
|
| FunctionExpression.prototype.get$returnType = function() { return this.returnType; };
|
| @@ -5391,7 +5399,7 @@
|
| this.value = value;
|
| // Initializers done
|
| }
|
| -$inherits(Literal, Expression);
|
| +$inherits(Literal, tree_Expression);
|
| Literal.prototype.get$value = function() { return this.value; };
|
| Literal.prototype.get$debugString = function() {
|
| return ("" + this.value + "");
|
| @@ -5399,34 +5407,34 @@
|
| Literal.prototype.accept = function(visitor) {
|
| return visitor.visitLiteral(this);
|
| }
|
| -// ********** Code for Identifier **************
|
| -function Identifier(token) {
|
| +// ********** Code for tree_Identifier **************
|
| +function tree_Identifier(token) {
|
| this.token = token;
|
| // Initializers done
|
| }
|
| -Identifier.fromString$ctor = function(string) {
|
| - this.token = new StringToken(97, string, -1);
|
| +tree_Identifier.fromString$ctor = function(string) {
|
| + this.token = new StringToken(97, string, -1.000000/*-1*/);
|
| // Initializers done
|
| }
|
| -Identifier.fromString$ctor.prototype = Identifier.prototype;
|
| -$inherits(Identifier, Expression);
|
| -Identifier.prototype.get$debugString = function() {
|
| +tree_Identifier.fromString$ctor.prototype = tree_Identifier.prototype;
|
| +$inherits(tree_Identifier, tree_Expression);
|
| +tree_Identifier.prototype.get$debugString = function() {
|
| return this.get$name().toString();
|
| }
|
| -Identifier.prototype.get$name = function() {
|
| +tree_Identifier.prototype.get$name = function() {
|
| return this.token.get$value();
|
| }
|
| -Identifier.prototype.accept = function(visitor) {
|
| +tree_Identifier.prototype.accept = function(visitor) {
|
| return visitor.visitIdentifier(this);
|
| }
|
| // ********** Code for Operator **************
|
| function Operator() {}
|
| Operator.fromString$ctor = function(string) {
|
| - Identifier.fromString$ctor.call(this, string);
|
| + tree_Identifier.fromString$ctor.call(this, string);
|
| // Initializers done
|
| }
|
| Operator.fromString$ctor.prototype = Operator.prototype;
|
| -$inherits(Operator, Identifier);
|
| +$inherits(Operator, tree_Identifier);
|
| Operator.prototype.accept = function(visitor) {
|
| return visitor.visitOperator(this);
|
| }
|
| @@ -5436,21 +5444,21 @@
|
| this.expression = expression;
|
| // Initializers done
|
| }
|
| -$inherits(Return, Statement);
|
| +$inherits(Return, tree_Statement);
|
| Return.prototype.get$debugString = function() { return this.debugString; };
|
| Return.prototype.accept = function(visitor) {
|
| return visitor.visitReturn(this);
|
| }
|
| -// ********** Code for ExpressionStatement **************
|
| -function ExpressionStatement(expression) {
|
| +// ********** Code for tree_ExpressionStatement **************
|
| +function tree_ExpressionStatement(expression) {
|
| this.expression = expression;
|
| // Initializers done
|
| }
|
| -$inherits(ExpressionStatement, Statement);
|
| -ExpressionStatement.prototype.get$debugString = function() {
|
| +$inherits(tree_ExpressionStatement, tree_Statement);
|
| +tree_ExpressionStatement.prototype.get$debugString = function() {
|
| return ("" + this.expression.get$debugString() + "");
|
| }
|
| -ExpressionStatement.prototype.accept = function(visitor) {
|
| +tree_ExpressionStatement.prototype.accept = function(visitor) {
|
| return visitor.visitExpressionStatement(this);
|
| }
|
| // ********** Code for TypeAnnotation **************
|
| @@ -5458,7 +5466,7 @@
|
| this.typeName = typeName;
|
| // Initializers done
|
| }
|
| -$inherits(TypeAnnotation, Node);
|
| +$inherits(TypeAnnotation, tree_Node);
|
| TypeAnnotation.prototype.get$typeName = function() { return this.typeName; };
|
| TypeAnnotation.prototype.get$debugString = function() {
|
| return ("" + this.typeName + "");
|
| @@ -5606,7 +5614,7 @@
|
| this._canBeGeneratedAtUseSite = true;
|
| }
|
| HInstruction.prototype.get$usedBy = function() {
|
| - if (this._usedBy == null) return const$8/*const <HInstruction>[]*/;
|
| + if (this._usedBy == null) return const$120/*const <HInstruction>[]*/;
|
| return this._usedBy;
|
| }
|
| HInstruction.prototype.isInBasicBlock = function() {
|
| @@ -6086,14 +6094,14 @@
|
| var four = new Literal(4);
|
| var plus = ParserStage.newOperator('+');
|
| var sum = new Invocation(three, plus, ParserStage.newArguments([four]));
|
| - var print = new ExpressionStatement(new Invocation(null, ParserStage.newIdentifier('print'), ParserStage.newArguments([sum])));
|
| + var print = new tree_ExpressionStatement(new Invocation(null, ParserStage.newIdentifier('print'), ParserStage.newArguments([sum])));
|
| var body = new Block(null, LinkFactory.Link$factory(print), null);
|
| var node = new FunctionExpression(ParserStage.newIdentifier('main'), emptyList, body);
|
| this.pipeline.universe.define(ParserStage.newElement('main', node));
|
| }
|
| else if ((text == 'void foo ( ) { return 3 + 4 ; }') && text2 == 'void main ( ) { print ( foo ( ) ) ; }') {
|
| var foo = new Invocation(null, ParserStage.newIdentifier('foo'), ParserStage.newArguments([]));
|
| - var print = new ExpressionStatement(new Invocation(null, ParserStage.newIdentifier('print'), ParserStage.newArguments([foo])));
|
| + var print = new tree_ExpressionStatement(new Invocation(null, ParserStage.newIdentifier('print'), ParserStage.newArguments([foo])));
|
| var body = new Block(null, LinkFactory.Link$factory(print), null);
|
| var node = new FunctionExpression(ParserStage.newIdentifier('main'), emptyList, body);
|
| this.pipeline.universe.define(ParserStage.newElement('main', node));
|
| @@ -6123,7 +6131,7 @@
|
| })
|
| );
|
| var listener = new Listener(this.pipeline);
|
| - var parser = new Parser(listener);
|
| + var parser = new scanner_Parser(listener);
|
| this.pipeline.world.withTiming('[leg] parsing', (function () {
|
| return parser.parseUnit(tokens);
|
| })
|
| @@ -6136,7 +6144,7 @@
|
| return new NodeList(null, LinkFactory.Link$fromList$factory(expressions), null, null);
|
| }
|
| ParserStage.newIdentifier = function(name) {
|
| - return new Identifier.fromString$ctor(name);
|
| + return new tree_Identifier.fromString$ctor(name);
|
| }
|
| ParserStage.newOperator = function(name) {
|
| return new Operator.fromString$ctor(name);
|
| @@ -6322,7 +6330,7 @@
|
| var target = this.pipeline.universe.find(selector.get$name());
|
| if (target == null) {
|
| var name = selector.get$name();
|
| - if ($eq(name, const$139/*const SourceString('print')*/) || $eq(name, const$140/*const SourceString('+')*/)) {
|
| + if ($eq(name, const$333/*const SourceString('print')*/) || $eq(name, const$334/*const SourceString('+')*/)) {
|
| }
|
| else {
|
| this.fail(node);
|
| @@ -6395,9 +6403,9 @@
|
| FunctionType.prototype.get$returnType = function() { return this.returnType; };
|
| // ********** Code for Types **************
|
| function Types() {
|
| - this.VOID = const$134/*const SimpleType(const SourceString('void'))*/
|
| - this.INT = const$136/*const SimpleType(const SourceString('int'))*/
|
| - this.DYNAMIC = const$138/*const SimpleType(const SourceString('Dynamic'))*/
|
| + this.VOID = const$337/*const SimpleType(const SourceString('void'))*/
|
| + this.INT = const$339/*const SimpleType(const SourceString('int'))*/
|
| + this.DYNAMIC = const$341/*const SimpleType(const SourceString('Dynamic'))*/
|
| // Initializers done
|
| }
|
| Types.prototype.isSubtype = function(r, s) {
|
| @@ -6478,7 +6486,7 @@
|
| }
|
| leg_Script.prototype.get$text = function() { return this.text; };
|
| // ********** Code for top level **************
|
| -function compile(world) {
|
| +function leg_compile(world) {
|
| var file = world.readFile(options.dartScript);
|
| var script = new leg_Script(file.get$text());
|
| var pipeline = new WorldPipeline(world, script);
|
| @@ -6511,7 +6519,7 @@
|
| CodeWriter.prototype.write = function(text) {
|
| if (text.length == 0) return;
|
| if (this._pendingIndent) this._indent();
|
| - if (text.indexOf('\n', 0) != -1) {
|
| + if (text.indexOf('\n', 0) != -1.000000/*-1*/) {
|
| var lines = text.split('\n');
|
| for (var i = 0;
|
| i < lines.length - 1; i++) {
|
| @@ -6808,7 +6816,7 @@
|
| if (spans != 0) return spans;
|
| }
|
| if (x.get$span() == null) return 1;
|
| - if (y.get$span() == null) return -1;
|
| + if (y.get$span() == null) return -1.000000/*-1*/;
|
| return x.get$name().compareTo(y.get$name());
|
| }
|
| WorldGenerator.prototype.get$_compareMembers = function() {
|
| @@ -7250,6 +7258,7 @@
|
| else {
|
| if (body != null) body.visit(this);
|
| }
|
| + return false;
|
| }
|
| MethodGenerator.prototype._pushBlock = function(reentrant) {
|
| this._scope = new BlockScope(this, this._scope, reentrant);
|
| @@ -7287,8 +7296,9 @@
|
| return this.visitValue(node);
|
| }
|
| MethodGenerator.prototype.visitDietStatement = function(node) {
|
| - var parser = new lang_Parser(node.span.file, false, node.span.start);
|
| + var parser = new Parser(node.span.file, false, node.span.start);
|
| this.visitStatementsInBlock(parser.block());
|
| + return false;
|
| }
|
| MethodGenerator.prototype.visitVariableDefinition = function(node) {
|
| var isFinal = false;
|
| @@ -7322,12 +7332,14 @@
|
| }
|
| }
|
| this.writer.writeln(';');
|
| + return false;
|
| }
|
| MethodGenerator.prototype.visitFunctionDefinition = function(node) {
|
| var name = world.toJsIdentifier(node.name.name);
|
| var meth = this._makeLambdaMethod(name, node);
|
| var funcValue = this._scope.create(name, meth.get$functionType(), this.method.get$definition());
|
| meth.generator.writeDefinition(this.writer, null);
|
| + return false;
|
| }
|
| MethodGenerator.prototype.visitReturnStatement = function(node) {
|
| if (node.value == null) {
|
| @@ -7339,6 +7351,7 @@
|
| }
|
| this.writer.writeln(('return ' + this.visitValue(node.value).code + ';'));
|
| }
|
| + return true;
|
| }
|
| MethodGenerator.prototype.visitThrowStatement = function(node) {
|
| if (node.value != null) {
|
| @@ -7355,6 +7368,7 @@
|
| this.writer.writeln(('throw ' + rethrow.code + ';'));
|
| }
|
| }
|
| + return true;
|
| }
|
| MethodGenerator.prototype.visitAssertStatement = function(node) {
|
| var test = this.visitValue(node.test);
|
| @@ -7368,6 +7382,7 @@
|
| var column = span.file.getColumn(line, span.start);
|
| this.writer.writeln(('\$assert(' + test.code + ', "' + MethodGenerator._escapeString(span.get$text()) + '",') + (' "' + span.file.filename + '", ' + (line + 1) + ', ' + (column + 1) + ');'));
|
| }
|
| + return false;
|
| }
|
| MethodGenerator.prototype.visitBreakStatement = function(node) {
|
| if (node.label == null) {
|
| @@ -7376,6 +7391,7 @@
|
| else {
|
| this.writer.writeln(('break ' + node.label.name + ';'));
|
| }
|
| + return true;
|
| }
|
| MethodGenerator.prototype.visitContinueStatement = function(node) {
|
| if (node.label == null) {
|
| @@ -7384,15 +7400,19 @@
|
| else {
|
| this.writer.writeln(('continue ' + node.label.name + ';'));
|
| }
|
| + return true;
|
| }
|
| MethodGenerator.prototype.visitIfStatement = function(node) {
|
| var test = this.visitBool(node.test);
|
| this.writer.write(('if (' + test.code + ') '));
|
| - node.trueBranch.visit(this);
|
| + var exit1 = node.trueBranch.visit(this);
|
| if (node.falseBranch != null) {
|
| this.writer.write('else ');
|
| - node.falseBranch.visit(this);
|
| + if (node.falseBranch.visit(this) && exit1) {
|
| + return true;
|
| + }
|
| }
|
| + return false;
|
| }
|
| MethodGenerator.prototype.visitWhileStatement = function(node) {
|
| var test = this.visitBool(node.test);
|
| @@ -7400,6 +7420,7 @@
|
| this._pushBlock(true);
|
| node.body.visit(this);
|
| this._popBlock();
|
| + return false;
|
| }
|
| MethodGenerator.prototype.visitDoStatement = function(node) {
|
| this.writer.write('do ');
|
| @@ -7408,6 +7429,7 @@
|
| this._popBlock();
|
| var test = this.visitBool(node.test);
|
| this.writer.writeln(('while (' + test.code + ')'));
|
| + return false;
|
| }
|
| MethodGenerator.prototype.visitForStatement = function(node) {
|
| this._pushBlock(false);
|
| @@ -7435,6 +7457,7 @@
|
| node.body.visit(this);
|
| this._popBlock();
|
| this._popBlock();
|
| + return false;
|
| }
|
| MethodGenerator.prototype.visitForInStatement = function(node) {
|
| var itemType = this.method.resolveType(node.item.type);
|
| @@ -7467,6 +7490,7 @@
|
| this.visitStatementsInBlock(node.body);
|
| this.writer.exitBlock('}');
|
| this._popBlock();
|
| + return false;
|
| }
|
| MethodGenerator.prototype.visitTryStatement = function(node) {
|
| this.writer.enterBlock('try {');
|
| @@ -7545,6 +7569,7 @@
|
| this._popBlock();
|
| }
|
| this.writer.exitBlock('}');
|
| + return false;
|
| }
|
| MethodGenerator.prototype.visitSwitchStatement = function(node) {
|
| var test = this.visitValue(node.test);
|
| @@ -7571,33 +7596,40 @@
|
| }
|
| }
|
| this.writer.enterBlock('');
|
| - var $list0 = case_.statements;
|
| - for (var $i0 = case_.statements.iterator(); $i0.hasNext(); ) {
|
| - var stmt = $i0.next();
|
| - stmt.visit(this);
|
| - }
|
| - if ($ne(case_, node.cases.$index(node.cases.length - 1))) {
|
| + var caseExits = this._visitAllStatements(case_.statements, false);
|
| + if ($ne(case_, node.cases.$index(node.cases.length - 1)) && !caseExits) {
|
| var span = case_.statements.$index(case_.statements.length - 1).get$span();
|
| + this.writer.writeln(('\$throw(new FallThroughError("' + span.file.filename + '",') + (' ' + span.file.getLine(span.start) + '))'));
|
| }
|
| this.writer.exitBlock('');
|
| this._popBlock();
|
| }
|
| this.writer.exitBlock('}');
|
| + return false;
|
| }
|
| +MethodGenerator.prototype._visitAllStatements = function(statementList, exits) {
|
| + for (var i = 0;
|
| + i < statementList.length; i++) {
|
| + var stmt = statementList.$index(i);
|
| + exits = stmt.visit(this);
|
| + if ($ne(stmt, statementList.$index(statementList.length - 1)) && exits) {
|
| + world.warning('unreachable code', statementList.$index(i + 1).get$span());
|
| + }
|
| + }
|
| + return exits;
|
| +}
|
| MethodGenerator.prototype.visitBlockStatement = function(node) {
|
| this._pushBlock(false);
|
| this.writer.enterBlock('{');
|
| - var $list = node.body;
|
| - for (var $i = 0;$i < $list.length; $i++) {
|
| - var stmt = $list.$index($i);
|
| - stmt.visit(this);
|
| - }
|
| + var exits = this._visitAllStatements(node.body, false);
|
| this.writer.exitBlock('}');
|
| this._popBlock();
|
| + return exits;
|
| }
|
| MethodGenerator.prototype.visitLabeledStatement = function(node) {
|
| this.writer.writeln(('' + node.name.name + ':'));
|
| node.body.visit(this);
|
| + return false;
|
| }
|
| MethodGenerator.prototype.visitExpressionStatement = function(node) {
|
| if ((node.body instanceof VarExpression) || (node.body instanceof ThisExpression)) {
|
| @@ -7605,9 +7637,11 @@
|
| }
|
| var value = this.visitVoid(node.body);
|
| this.writer.writeln(('' + value.code + ';'));
|
| + return false;
|
| }
|
| MethodGenerator.prototype.visitEmptyStatement = function(node) {
|
| this.writer.writeln(';');
|
| + return false;
|
| }
|
| MethodGenerator.prototype._checkNonStatic = function(node) {
|
| if (this.method.get$isStatic()) {
|
| @@ -7754,7 +7788,7 @@
|
| }
|
| }
|
| var assignKind = TokenKind.kindFromAssign(node.op.kind);
|
| - if (assignKind == -1) {
|
| + if (assignKind == -1.000000/*-1*/) {
|
| var x = this.visitValue(node.x);
|
| var y = this.visitValue(node.y);
|
| var name = TokenKind.binaryMethodName(node.op.kind);
|
| @@ -8060,7 +8094,7 @@
|
| var trueBranch = this.visitValue(node.trueBranch);
|
| var falseBranch = this.visitValue(node.falseBranch);
|
| var code = ('' + test.code + ' ? ' + trueBranch.code + ' : ' + falseBranch.code + '');
|
| - return new Value(lang_Type.union(trueBranch.type, falseBranch.type), code, false, true, false);
|
| + return new Value(Type.union(trueBranch.type, falseBranch.type), code, false, true, false);
|
| }
|
| MethodGenerator.prototype.visitIsExpression = function(node) {
|
| var value = this.visitValue(node.x);
|
| @@ -8196,7 +8230,7 @@
|
| return i;
|
| }
|
| }
|
| - return -1;
|
| + return -1.000000/*-1*/;
|
| }
|
| Arguments.prototype.getValue = function(name) {
|
| var i = this.getIndexOfName(name);
|
| @@ -8455,7 +8489,7 @@
|
| }
|
| LibraryVisitor.prototype.addSource = function(source) {
|
| this.library.sources.add(source);
|
| - var parser = new lang_Parser(source, options.dietParse, 0);
|
| + var parser = new Parser(source, options.dietParse, 0);
|
| var unit = parser.compilationUnit();
|
| for (var $i = 0;$i < unit.length; $i++) {
|
| var def = unit.$index($i);
|
| @@ -9663,7 +9697,7 @@
|
| }
|
| MemberSet.prototype._tryUnion = function(x, y, node) {
|
| if (x == null) return y;
|
| - var type = lang_Type.union(x.type, y.type);
|
| + var type = Type.union(x.type, y.type);
|
| if (x.code == y.code) {
|
| if ($eq(type, x.type)) {
|
| return x;
|
| @@ -9693,7 +9727,7 @@
|
| var returnType = reduce(map(targets, (function (t) {
|
| return t.get$returnType();
|
| })
|
| - ), lang_Type.union);
|
| + ), Type.union);
|
| stub = new VarMethodSet(stubName, targets, args, returnType);
|
| world.objectType.varStubs.$setindex(stubName, stub);
|
| }
|
| @@ -9728,18 +9762,18 @@
|
| );
|
| }
|
| $defineMethod(FactoryMap, "forEach$1", FactoryMap.prototype.forEach);
|
| -// ********** Code for lang_Token **************
|
| -function lang_Token(kind, source, start, end) {
|
| +// ********** Code for Token **************
|
| +function Token(kind, source, start, end) {
|
| this.kind = kind;
|
| this.source = source;
|
| this.start = start;
|
| this.end = end;
|
| // Initializers done
|
| }
|
| -lang_Token.prototype.get$text = function() {
|
| +Token.prototype.get$text = function() {
|
| return this.source.get$text().substring(this.start, this.end);
|
| }
|
| -lang_Token.prototype.toString = function() {
|
| +Token.prototype.toString = function() {
|
| var kindText = TokenKind.kindToString(this.kind);
|
| var actualText = this.get$text();
|
| if ($ne(kindText, actualText)) {
|
| @@ -9752,7 +9786,7 @@
|
| return kindText;
|
| }
|
| }
|
| -lang_Token.prototype.get$span = function() {
|
| +Token.prototype.get$span = function() {
|
| return new SourceSpan(this.source, this.start, this.end);
|
| }
|
| // ********** Code for SourceFile **************
|
| @@ -9852,7 +9886,7 @@
|
| this.previous = previous;
|
| this.quote = quote;
|
| this.isMultiline = isMultiline;
|
| - this.depth = -1;
|
| + this.depth = -1.000000/*-1*/;
|
| // Initializers done
|
| }
|
| InterpStack.prototype.pop = function() {
|
| @@ -9903,7 +9937,7 @@
|
| }
|
| }
|
| TokenizerBase.prototype._finishToken = function(kind) {
|
| - return new lang_Token(kind, this._source, this._startIndex, this._lang_index);
|
| + return new Token(kind, this._source, this._startIndex, this._lang_index);
|
| }
|
| TokenizerBase.prototype._errorToken = function() {
|
| return this._finishToken(64/*TokenKind.ERROR*/);
|
| @@ -10041,7 +10075,7 @@
|
| TokenizerBase.prototype._finishOpenBrace = function() {
|
| var $0;
|
| if (this._interpStack != null) {
|
| - if (this._interpStack.depth == -1) {
|
| + if (this._interpStack.depth == -1.000000/*-1*/) {
|
| this._interpStack.depth = 1;
|
| }
|
| else {
|
| @@ -10155,7 +10189,7 @@
|
| return true;
|
|
|
| }
|
| - var n = lang_Parser.parseHex(hex);
|
| + var n = Parser.parseHex(hex);
|
| return n < 0xD800 || n > 0xDFFF && n <= 0x10FFFF;
|
| }
|
| TokenizerBase.prototype.finishDot = function() {
|
| @@ -10175,7 +10209,7 @@
|
| }
|
| }
|
| var kind = this.getIdentifierKind();
|
| - if (this._interpStack != null && this._interpStack.depth == -1) {
|
| + if (this._interpStack != null && this._interpStack.depth == -1.000000/*-1*/) {
|
| this._interpStack.depth = 0;
|
| }
|
| if (kind == 69/*TokenKind.IDENTIFIER*/) {
|
| @@ -11346,7 +11380,7 @@
|
|
|
| default:
|
|
|
| - return -1;
|
| + return -1.000000/*-1*/;
|
|
|
| }
|
| }
|
| @@ -11525,12 +11559,12 @@
|
| TokenKind.kindFromAssign = function(kind) {
|
| if (kind == 20/*TokenKind.ASSIGN*/) return 0;
|
| if (kind > 20/*TokenKind.ASSIGN*/ && kind <= 32/*TokenKind.ASSIGN_MOD*/) {
|
| - return kind + (15)/*(ADD - ASSIGN_ADD)*/;
|
| + return kind + (15.000000)/*(ADD - ASSIGN_ADD)*/;
|
| }
|
| - return -1;
|
| + return -1.000000/*-1*/;
|
| }
|
| -// ********** Code for lang_Parser **************
|
| -function lang_Parser(source, diet, startOffset) {
|
| +// ********** Code for Parser **************
|
| +function Parser(source, diet, startOffset) {
|
| this.source = source;
|
| this.diet = diet;
|
| // Initializers done
|
| @@ -11539,7 +11573,7 @@
|
| this._previousToken = null;
|
| this._inInitializers = false;
|
| }
|
| -lang_Parser.prototype.isPrematureEndOfFile = function() {
|
| +Parser.prototype.isPrematureEndOfFile = function() {
|
| if (this._maybeEat(1/*TokenKind.END_OF_FILE*/)) {
|
| this._lang_error('unexpected end of file', this._peekToken.get$span());
|
| return true;
|
| @@ -11548,21 +11582,21 @@
|
| return false;
|
| }
|
| }
|
| -lang_Parser.prototype._peek = function() {
|
| +Parser.prototype._peek = function() {
|
| return this._peekToken.kind;
|
| }
|
| -lang_Parser.prototype._lang_next = function() {
|
| +Parser.prototype._lang_next = function() {
|
| this._previousToken = this._peekToken;
|
| this._peekToken = this.tokenizer.next();
|
| return this._previousToken;
|
| }
|
| -lang_Parser.prototype._peekKind = function(kind) {
|
| +Parser.prototype._peekKind = function(kind) {
|
| return this._peekToken.kind == kind;
|
| }
|
| -lang_Parser.prototype._peekIdentifier = function() {
|
| +Parser.prototype._peekIdentifier = function() {
|
| return TokenKind.isIdentifier(this._peekToken.kind);
|
| }
|
| -lang_Parser.prototype._maybeEat = function(kind) {
|
| +Parser.prototype._maybeEat = function(kind) {
|
| if (this._peekToken.kind == kind) {
|
| this._previousToken = this._peekToken;
|
| this._peekToken = this.tokenizer.next();
|
| @@ -11572,26 +11606,26 @@
|
| return false;
|
| }
|
| }
|
| -lang_Parser.prototype._eat = function(kind) {
|
| +Parser.prototype._eat = function(kind) {
|
| if (!this._maybeEat(kind)) {
|
| this._errorExpected(TokenKind.kindToString(kind));
|
| }
|
| }
|
| -lang_Parser.prototype._eatSemicolon = function() {
|
| +Parser.prototype._eatSemicolon = function() {
|
| this._eat(10/*TokenKind.SEMICOLON*/);
|
| }
|
| -lang_Parser.prototype._errorExpected = function(expected) {
|
| +Parser.prototype._errorExpected = function(expected) {
|
| var tok = this._lang_next();
|
| var message = ('expected ' + expected + ', but found ' + tok + '');
|
| this._lang_error(message, tok.get$span());
|
| }
|
| -lang_Parser.prototype._lang_error = function(message, location) {
|
| +Parser.prototype._lang_error = function(message, location) {
|
| if (location == null) {
|
| location = this._peekToken.get$span();
|
| }
|
| world.fatal(message, location);
|
| }
|
| -lang_Parser.prototype._skipBlock = function() {
|
| +Parser.prototype._skipBlock = function() {
|
| var depth = 1;
|
| this._eat(6/*TokenKind.LBRACE*/);
|
| while (true) {
|
| @@ -11609,10 +11643,10 @@
|
| }
|
| }
|
| }
|
| -lang_Parser.prototype._makeSpan = function(start) {
|
| +Parser.prototype._makeSpan = function(start) {
|
| return new SourceSpan(this.source, start, this._previousToken.end);
|
| }
|
| -lang_Parser.prototype.compilationUnit = function() {
|
| +Parser.prototype.compilationUnit = function() {
|
| var ret = [];
|
| this._maybeEat(13/*TokenKind.HASHBANG*/);
|
| while (this._peekKind(12/*TokenKind.HASH*/)) {
|
| @@ -11623,7 +11657,7 @@
|
| }
|
| return ret;
|
| }
|
| -lang_Parser.prototype.directive = function() {
|
| +Parser.prototype.directive = function() {
|
| var start = this._peekToken.start;
|
| this._eat(12/*TokenKind.HASH*/);
|
| var name = this.identifier();
|
| @@ -11631,7 +11665,7 @@
|
| this._eatSemicolon();
|
| return new DirectiveDefinition(name, args, this._makeSpan(start));
|
| }
|
| -lang_Parser.prototype.topLevelDefinition = function() {
|
| +Parser.prototype.topLevelDefinition = function() {
|
| switch (this._peek()) {
|
| case 72/*TokenKind.CLASS*/:
|
|
|
| @@ -11651,7 +11685,7 @@
|
|
|
| }
|
| }
|
| -lang_Parser.prototype.classDefinition = function(kind) {
|
| +Parser.prototype.classDefinition = function(kind) {
|
| var start = this._peekToken.start;
|
| this._eat(kind);
|
| var name = this.identifier();
|
| @@ -11687,7 +11721,7 @@
|
| }
|
| return new TypeDefinition(kind == 72/*TokenKind.CLASS*/, name, typeParams, _extends, _implements, _native, _factory, body, this._makeSpan(start));
|
| }
|
| -lang_Parser.prototype.functionTypeAlias = function() {
|
| +Parser.prototype.functionTypeAlias = function() {
|
| var start = this._peekToken.start;
|
| this._eat(86/*TokenKind.TYPEDEF*/);
|
| var di = this.declaredIdentifier(false);
|
| @@ -11700,7 +11734,7 @@
|
| var func = new FunctionDefinition(null, di.type, di.get$name(), formals, null, null, this._makeSpan(start));
|
| return new FunctionTypeDefinition(func, typeParams, this._makeSpan(start));
|
| }
|
| -lang_Parser.prototype.initializers = function() {
|
| +Parser.prototype.initializers = function() {
|
| this._inInitializers = true;
|
| var ret = [];
|
| do {
|
| @@ -11710,7 +11744,7 @@
|
| this._inInitializers = false;
|
| return ret;
|
| }
|
| -lang_Parser.prototype.functionBody = function(inExpression) {
|
| +Parser.prototype.functionBody = function(inExpression) {
|
| var start = this._peekToken.start;
|
| if (this._maybeEat(9/*TokenKind.ARROW*/)) {
|
| var expr = this.expression();
|
| @@ -11745,7 +11779,7 @@
|
| }
|
| this._lang_error('Expected function body (neither { nor => found)');
|
| }
|
| -lang_Parser.prototype.finishField = function(start, modifiers, type, name, value) {
|
| +Parser.prototype.finishField = function(start, modifiers, type, name, value) {
|
| var names = [name];
|
| var values = [value];
|
| while (this._maybeEat(11/*TokenKind.COMMA*/)) {
|
| @@ -11760,7 +11794,7 @@
|
| this._eatSemicolon();
|
| return new VariableDefinition(modifiers, type, names, values, this._makeSpan(start));
|
| }
|
| -lang_Parser.prototype.finishDefinition = function(start, modifiers, di) {
|
| +Parser.prototype.finishDefinition = function(start, modifiers, di) {
|
| switch (this._peek()) {
|
| case 2/*TokenKind.LPAREN*/:
|
|
|
| @@ -11793,7 +11827,7 @@
|
|
|
| }
|
| }
|
| -lang_Parser.prototype.declaration = function() {
|
| +Parser.prototype.declaration = function() {
|
| var start = this._peekToken.start;
|
| if (this._peekKind(74/*TokenKind.FACTORY*/)) {
|
| return this.factoryConstructorDeclaration();
|
| @@ -11801,7 +11835,7 @@
|
| var modifiers = this._readModifiers();
|
| return this.finishDefinition(start, modifiers, this.declaredIdentifier(true));
|
| }
|
| -lang_Parser.prototype.factoryConstructorDeclaration = function() {
|
| +Parser.prototype.factoryConstructorDeclaration = function() {
|
| var start = this._peekToken.start;
|
| var factoryToken = this._lang_next();
|
| var names = [this.identifier()];
|
| @@ -11822,11 +11856,11 @@
|
| name = names.removeLast();
|
| }
|
| else {
|
| - name = new lang_Identifier('', names.$index(0).get$span());
|
| + name = new Identifier('', names.$index(0).get$span());
|
| }
|
| }
|
| else {
|
| - name = new lang_Identifier('', names.$index(0).get$span());
|
| + name = new Identifier('', names.$index(0).get$span());
|
| }
|
| if (names.length > 1) {
|
| this._lang_error('unsupported qualified name for factory', names.$index(0).get$span());
|
| @@ -11835,7 +11869,7 @@
|
| var di = new DeclaredIdentifier(type, name, this._makeSpan(start));
|
| return this.finishDefinition(start, [factoryToken], di);
|
| }
|
| -lang_Parser.prototype.statement = function() {
|
| +Parser.prototype.statement = function() {
|
| switch (this._peek()) {
|
| case 87/*TokenKind.BREAK*/:
|
|
|
| @@ -11903,7 +11937,7 @@
|
|
|
| }
|
| }
|
| -lang_Parser.prototype.finishExpressionAsStatement = function(expr) {
|
| +Parser.prototype.finishExpressionAsStatement = function(expr) {
|
| var start = expr.get$span().start;
|
| if (this._maybeEat(8/*TokenKind.COLON*/)) {
|
| var label = this._makeLabel(expr);
|
| @@ -11940,16 +11974,16 @@
|
| }
|
| else {
|
| this._eatSemicolon();
|
| - return new lang_ExpressionStatement(expr, this._makeSpan(expr.get$span().start));
|
| + return new ExpressionStatement(expr, this._makeSpan(expr.get$span().start));
|
| }
|
| }
|
| -lang_Parser.prototype.testCondition = function() {
|
| +Parser.prototype.testCondition = function() {
|
| this._eat(2/*TokenKind.LPAREN*/);
|
| var ret = this.expression();
|
| this._eat(3/*TokenKind.RPAREN*/);
|
| return ret;
|
| }
|
| -lang_Parser.prototype.block = function() {
|
| +Parser.prototype.block = function() {
|
| var start = this._peekToken.start;
|
| this._eat(6/*TokenKind.LBRACE*/);
|
| var stmts = [];
|
| @@ -11959,12 +11993,12 @@
|
| }
|
| return new BlockStatement(stmts, this._makeSpan(start));
|
| }
|
| -lang_Parser.prototype.emptyStatement = function() {
|
| +Parser.prototype.emptyStatement = function() {
|
| var start = this._peekToken.start;
|
| this._eat(10/*TokenKind.SEMICOLON*/);
|
| return new EmptyStatement(this._makeSpan(start));
|
| }
|
| -lang_Parser.prototype.ifStatement = function() {
|
| +Parser.prototype.ifStatement = function() {
|
| var start = this._peekToken.start;
|
| this._eat(99/*TokenKind.IF*/);
|
| var test = this.testCondition();
|
| @@ -11975,14 +12009,14 @@
|
| }
|
| return new IfStatement(test, trueBranch, falseBranch, this._makeSpan(start));
|
| }
|
| -lang_Parser.prototype.whileStatement = function() {
|
| +Parser.prototype.whileStatement = function() {
|
| var start = this._peekToken.start;
|
| this._eat(113/*TokenKind.WHILE*/);
|
| var test = this.testCondition();
|
| var body = this.statement();
|
| return new WhileStatement(test, body, this._makeSpan(start));
|
| }
|
| -lang_Parser.prototype.doStatement = function() {
|
| +Parser.prototype.doStatement = function() {
|
| var start = this._peekToken.start;
|
| this._eat(93/*TokenKind.DO*/);
|
| var body = this.statement();
|
| @@ -11991,7 +12025,7 @@
|
| this._eatSemicolon();
|
| return new DoStatement(body, test, this._makeSpan(start));
|
| }
|
| -lang_Parser.prototype.forStatement = function() {
|
| +Parser.prototype.forStatement = function() {
|
| var start = this._peekToken.start;
|
| this._eat(98/*TokenKind.FOR*/);
|
| this._eat(2/*TokenKind.LPAREN*/);
|
| @@ -12015,7 +12049,7 @@
|
| var body = this.statement();
|
| return new ForStatement(init, test, step, body, this._makeSpan(start));
|
| }
|
| -lang_Parser.prototype.forInitializerStatement = function(start) {
|
| +Parser.prototype.forInitializerStatement = function(start) {
|
| if (this._maybeEat(10/*TokenKind.SEMICOLON*/)) {
|
| return null;
|
| }
|
| @@ -12037,13 +12071,13 @@
|
| }
|
| }
|
| }
|
| -lang_Parser.prototype._finishForIn = function(start, di) {
|
| +Parser.prototype._finishForIn = function(start, di) {
|
| var expr = this.expression();
|
| this._eat(3/*TokenKind.RPAREN*/);
|
| var body = this.statement();
|
| return new ForInStatement(di, expr, body, this._makeSpan(start));
|
| }
|
| -lang_Parser.prototype.tryStatement = function() {
|
| +Parser.prototype.tryStatement = function() {
|
| var start = this._peekToken.start;
|
| this._eat(110/*TokenKind.TRY*/);
|
| var body = this.block();
|
| @@ -12057,7 +12091,7 @@
|
| }
|
| return new TryStatement(body, catches, finallyBlock, this._makeSpan(start));
|
| }
|
| -lang_Parser.prototype.catchNode = function() {
|
| +Parser.prototype.catchNode = function() {
|
| var start = this._peekToken.start;
|
| this._eat(89/*TokenKind.CATCH*/);
|
| this._eat(2/*TokenKind.LPAREN*/);
|
| @@ -12070,7 +12104,7 @@
|
| var body = this.block();
|
| return new CatchNode(exc, trace, body, this._makeSpan(start));
|
| }
|
| -lang_Parser.prototype.switchStatement = function() {
|
| +Parser.prototype.switchStatement = function() {
|
| var start = this._peekToken.start;
|
| this._eat(106/*TokenKind.SWITCH*/);
|
| var test = this.testCondition();
|
| @@ -12081,16 +12115,16 @@
|
| }
|
| return new SwitchStatement(test, cases, this._makeSpan(start));
|
| }
|
| -lang_Parser.prototype._peekCaseEnd = function() {
|
| +Parser.prototype._peekCaseEnd = function() {
|
| var kind = this._peek();
|
| return $eq(kind, 7/*TokenKind.RBRACE*/) || $eq(kind, 88/*TokenKind.CASE*/) || $eq(kind, 92/*TokenKind.DEFAULT*/);
|
| }
|
| -lang_Parser.prototype.caseNode = function() {
|
| +Parser.prototype.caseNode = function() {
|
| var start = this._peekToken.start;
|
| var label = null;
|
| if (this._peekIdentifier()) {
|
| + label = this.identifier();
|
| this._eat(8/*TokenKind.COLON*/);
|
| - label = this.identifier();
|
| }
|
| var cases = [];
|
| while (true) {
|
| @@ -12116,7 +12150,7 @@
|
| }
|
| return new CaseNode(label, cases, stmts, this._makeSpan(start));
|
| }
|
| -lang_Parser.prototype.returnStatement = function() {
|
| +Parser.prototype.returnStatement = function() {
|
| var start = this._peekToken.start;
|
| this._eat(104/*TokenKind.RETURN*/);
|
| var expr;
|
| @@ -12129,7 +12163,7 @@
|
| }
|
| return new ReturnStatement(expr, this._makeSpan(start));
|
| }
|
| -lang_Parser.prototype.throwStatement = function() {
|
| +Parser.prototype.throwStatement = function() {
|
| var start = this._peekToken.start;
|
| this._eat(108/*TokenKind.THROW*/);
|
| var expr;
|
| @@ -12142,7 +12176,7 @@
|
| }
|
| return new ThrowStatement(expr, this._makeSpan(start));
|
| }
|
| -lang_Parser.prototype.assertStatement = function() {
|
| +Parser.prototype.assertStatement = function() {
|
| var start = this._peekToken.start;
|
| this._eat(71/*TokenKind.ASSERT*/);
|
| this._eat(2/*TokenKind.LPAREN*/);
|
| @@ -12151,7 +12185,7 @@
|
| this._eatSemicolon();
|
| return new AssertStatement(expr, this._makeSpan(start));
|
| }
|
| -lang_Parser.prototype.breakStatement = function() {
|
| +Parser.prototype.breakStatement = function() {
|
| var start = this._peekToken.start;
|
| this._eat(87/*TokenKind.BREAK*/);
|
| var name = null;
|
| @@ -12161,7 +12195,7 @@
|
| this._eatSemicolon();
|
| return new BreakStatement(name, this._makeSpan(start));
|
| }
|
| -lang_Parser.prototype.continueStatement = function() {
|
| +Parser.prototype.continueStatement = function() {
|
| var start = this._peekToken.start;
|
| this._eat(91/*TokenKind.CONTINUE*/);
|
| var name = null;
|
| @@ -12171,10 +12205,10 @@
|
| this._eatSemicolon();
|
| return new ContinueStatement(name, this._makeSpan(start));
|
| }
|
| -lang_Parser.prototype.expression = function() {
|
| +Parser.prototype.expression = function() {
|
| return this.infixExpression(0);
|
| }
|
| -lang_Parser.prototype._makeType = function(expr) {
|
| +Parser.prototype._makeType = function(expr) {
|
| if ((expr instanceof VarExpression)) {
|
| return new NameTypeReference(false, expr.get$name(), null, expr.get$span());
|
| }
|
| @@ -12194,14 +12228,14 @@
|
| return null;
|
| }
|
| }
|
| -lang_Parser.prototype.infixExpression = function(precedence) {
|
| +Parser.prototype.infixExpression = function(precedence) {
|
| return this.finishInfixExpression(this.unaryExpression(), precedence);
|
| }
|
| -lang_Parser.prototype._finishDeclaredId = function(type) {
|
| +Parser.prototype._finishDeclaredId = function(type) {
|
| var name = this.identifier();
|
| return this.finishPostfixExpression(new DeclaredIdentifier(type, name, this._makeSpan(type.get$span().start)));
|
| }
|
| -lang_Parser.prototype._fixAsType = function(x) {
|
| +Parser.prototype._fixAsType = function(x) {
|
| if (this._maybeEat(53/*TokenKind.GT*/)) {
|
| var base = this._makeType(x.x);
|
| var typeParam = this._makeType(x.y);
|
| @@ -12226,7 +12260,7 @@
|
| return this._finishDeclaredId(type);
|
| }
|
| }
|
| -lang_Parser.prototype.finishInfixExpression = function(x, precedence) {
|
| +Parser.prototype.finishInfixExpression = function(x, precedence) {
|
| while (true) {
|
| var kind = this._peek();
|
| var prec = TokenKind.infixPrecedence(this._peek());
|
| @@ -12259,7 +12293,7 @@
|
| }
|
| return x;
|
| }
|
| -lang_Parser.prototype._isPrefixUnaryOperator = function(kind) {
|
| +Parser.prototype._isPrefixUnaryOperator = function(kind) {
|
| switch (kind) {
|
| case 42/*TokenKind.ADD*/:
|
| case 43/*TokenKind.SUB*/:
|
| @@ -12276,7 +12310,7 @@
|
|
|
| }
|
| }
|
| -lang_Parser.prototype.unaryExpression = function() {
|
| +Parser.prototype.unaryExpression = function() {
|
| var start = this._peekToken.start;
|
| if (this._isPrefixUnaryOperator(this._peek())) {
|
| var tok = this._lang_next();
|
| @@ -12285,12 +12319,12 @@
|
| }
|
| return this.finishPostfixExpression(this.primary());
|
| }
|
| -lang_Parser.prototype.argument = function() {
|
| +Parser.prototype.argument = function() {
|
| var start = this._peekToken.start;
|
| var expr;
|
| var label = null;
|
| if (this._maybeEat(15/*TokenKind.ELLIPSIS*/)) {
|
| - label = new lang_Identifier('...', this._makeSpan(start));
|
| + label = new Identifier('...', this._makeSpan(start));
|
| }
|
| expr = this.expression();
|
| if (label == null && this._maybeEat(8/*TokenKind.COLON*/)) {
|
| @@ -12299,7 +12333,7 @@
|
| }
|
| return new ArgumentNode(label, expr, this._makeSpan(start));
|
| }
|
| -lang_Parser.prototype.arguments = function() {
|
| +Parser.prototype.arguments = function() {
|
| var args = [];
|
| this._eat(2/*TokenKind.LPAREN*/);
|
| if (!this._maybeEat(3/*TokenKind.RPAREN*/)) {
|
| @@ -12311,10 +12345,10 @@
|
| }
|
| return args;
|
| }
|
| -lang_Parser.prototype.get$arguments = function() {
|
| - return lang_Parser.prototype.arguments.bind(this);
|
| +Parser.prototype.get$arguments = function() {
|
| + return Parser.prototype.arguments.bind(this);
|
| }
|
| -lang_Parser.prototype.finishPostfixExpression = function(expr) {
|
| +Parser.prototype.finishPostfixExpression = function(expr) {
|
| switch (this._peek()) {
|
| case 2/*TokenKind.LPAREN*/:
|
|
|
| @@ -12358,19 +12392,19 @@
|
|
|
| }
|
| }
|
| -lang_Parser.prototype._isBin = function(expr, kind) {
|
| +Parser.prototype._isBin = function(expr, kind) {
|
| return (expr instanceof BinaryExpression) && expr.op.kind == kind;
|
| }
|
| -lang_Parser.prototype._boolTypeRef = function(span) {
|
| +Parser.prototype._boolTypeRef = function(span) {
|
| return new TypeReference(span, world.boolType);
|
| }
|
| -lang_Parser.prototype._numTypeRef = function(span) {
|
| +Parser.prototype._numTypeRef = function(span) {
|
| return new TypeReference(span, world.numType);
|
| }
|
| -lang_Parser.prototype._stringTypeRef = function(span) {
|
| +Parser.prototype._stringTypeRef = function(span) {
|
| return new TypeReference(span, world.stringType);
|
| }
|
| -lang_Parser.prototype.primary = function() {
|
| +Parser.prototype.primary = function() {
|
| var start = this._peekToken.start;
|
| switch (this._peek()) {
|
| case 107/*TokenKind.THIS*/:
|
| @@ -12435,7 +12469,7 @@
|
| case 61/*TokenKind.HEX_NUMBER*/:
|
|
|
| var t = this._lang_next();
|
| - return new LiteralExpression(lang_Parser.parseHex(t.get$text().substring(2)), this._numTypeRef(this._makeSpan(start)), t.get$text(), this._makeSpan(start));
|
| + return new LiteralExpression(Parser.parseHex(t.get$text().substring(2)), this._numTypeRef(this._makeSpan(start)), t.get$text(), this._makeSpan(start));
|
|
|
| case 60/*TokenKind.NUMBER*/:
|
|
|
| @@ -12469,7 +12503,7 @@
|
|
|
| }
|
| }
|
| -lang_Parser.prototype.stringInterpolation = function() {
|
| +Parser.prototype.stringInterpolation = function() {
|
| var start = this._peekToken.start;
|
| var lits = [];
|
| var startQuote = null, endQuote = null;
|
| @@ -12508,14 +12542,14 @@
|
| var span = this._makeSpan(start);
|
| return new LiteralExpression(lits, this._stringTypeRef(span), '\$\$\$', span);
|
| }
|
| -lang_Parser.prototype.makeStringLiteral = function(text, span) {
|
| +Parser.prototype.makeStringLiteral = function(text, span) {
|
| return new LiteralExpression(text, this._stringTypeRef(span), text, span);
|
| }
|
| -lang_Parser.prototype.stringLiteralExpr = function() {
|
| +Parser.prototype.stringLiteralExpr = function() {
|
| var token = this._lang_next();
|
| return this.makeStringLiteral(token.get$text(), token.get$span());
|
| }
|
| -lang_Parser.prototype.maybeStringLiteral = function() {
|
| +Parser.prototype.maybeStringLiteral = function() {
|
| var kind = this._peek();
|
| if ($eq(kind, 58/*TokenKind.STRING*/)) {
|
| return parseStringLiteral(this._lang_next().get$text());
|
| @@ -12530,7 +12564,7 @@
|
| }
|
| return null;
|
| }
|
| -lang_Parser.prototype._parenOrLambda = function() {
|
| +Parser.prototype._parenOrLambda = function() {
|
| var start = this._peekToken.start;
|
| var args = this.arguments();
|
| if (!this._inInitializers && (this._peekKind(9/*TokenKind.ARROW*/) || this._peekKind(6/*TokenKind.LBRACE*/))) {
|
| @@ -12549,10 +12583,10 @@
|
| }
|
| }
|
| }
|
| -lang_Parser.prototype._typeAsIdentifier = function(type) {
|
| +Parser.prototype._typeAsIdentifier = function(type) {
|
| return type.get$name();
|
| }
|
| -lang_Parser.prototype._specialIdentifier = function(includeOperators) {
|
| +Parser.prototype._specialIdentifier = function(includeOperators) {
|
| var start = this._peekToken.start;
|
| var name;
|
| switch (this._peek()) {
|
| @@ -12619,9 +12653,9 @@
|
| return null;
|
|
|
| }
|
| - return new lang_Identifier(name, this._makeSpan(start));
|
| + return new Identifier(name, this._makeSpan(start));
|
| }
|
| -lang_Parser.prototype.declaredIdentifier = function(includeOperators) {
|
| +Parser.prototype.declaredIdentifier = function(includeOperators) {
|
| var start = this._peekToken.start;
|
| var myType = null;
|
| var name = this._specialIdentifier(includeOperators);
|
| @@ -12642,7 +12676,7 @@
|
| }
|
| return new DeclaredIdentifier(myType, name, this._makeSpan(start));
|
| }
|
| -lang_Parser._hexDigit = function(c) {
|
| +Parser._hexDigit = function(c) {
|
| if (c >= 48 && c <= 57) {
|
| return c - 48;
|
| }
|
| @@ -12653,28 +12687,28 @@
|
| return c - 55;
|
| }
|
| else {
|
| - return -1;
|
| + return -1.000000/*-1*/;
|
| }
|
| }
|
| -lang_Parser.parseHex = function(hex) {
|
| +Parser.parseHex = function(hex) {
|
| var result = 0;
|
| for (var i = 0;
|
| i < hex.length; i++) {
|
| - var digit = lang_Parser._hexDigit(hex.charCodeAt(i));
|
| + var digit = Parser._hexDigit(hex.charCodeAt(i));
|
| result = (result << 4) + digit;
|
| }
|
| return result;
|
| }
|
| -lang_Parser.prototype.finishNewExpression = function(start, isConst) {
|
| +Parser.prototype.finishNewExpression = function(start, isConst) {
|
| var type = this.type(0);
|
| var name = null;
|
| if (this._maybeEat(14/*TokenKind.DOT*/)) {
|
| name = this.identifier();
|
| }
|
| var args = this.arguments();
|
| - return new lang_NewExpression(isConst, type, name, args, this._makeSpan(start));
|
| + return new NewExpression(isConst, type, name, args, this._makeSpan(start));
|
| }
|
| -lang_Parser.prototype.finishListLiteral = function(start, isConst, type) {
|
| +Parser.prototype.finishListLiteral = function(start, isConst, type) {
|
| if (this._maybeEat(56/*TokenKind.INDEX*/)) {
|
| return new ListExpression(isConst, type, [], this._makeSpan(start));
|
| }
|
| @@ -12690,7 +12724,7 @@
|
| }
|
| return new ListExpression(isConst, type, values, this._makeSpan(start));
|
| }
|
| -lang_Parser.prototype.finishMapLiteral = function(start, isConst, type) {
|
| +Parser.prototype.finishMapLiteral = function(start, isConst, type) {
|
| var items = [];
|
| this._eat(6/*TokenKind.LBRACE*/);
|
| while (!this._maybeEat(7/*TokenKind.RBRACE*/)) {
|
| @@ -12705,7 +12739,7 @@
|
| }
|
| return new MapExpression(isConst, type, items, this._makeSpan(start));
|
| }
|
| -lang_Parser.prototype.finishTypedLiteral = function(start, isConst) {
|
| +Parser.prototype.finishTypedLiteral = function(start, isConst) {
|
| var span = this._makeSpan(start);
|
| var typeToBeNamedLater = new NameTypeReference(false, null, null, span);
|
| var genericType = this.addTypeArguments(typeToBeNamedLater, 0);
|
| @@ -12719,7 +12753,7 @@
|
| this._errorExpected('array or map literal');
|
| }
|
| }
|
| -lang_Parser.prototype._readModifiers = function() {
|
| +Parser.prototype._readModifiers = function() {
|
| var modifiers = null;
|
| while (true) {
|
| switch (this._peek()) {
|
| @@ -12741,7 +12775,7 @@
|
| }
|
| return null;
|
| }
|
| -lang_Parser.prototype.typeParameter = function() {
|
| +Parser.prototype.typeParameter = function() {
|
| var start = this._peekToken.start;
|
| var name = this.identifier();
|
| var myType = null;
|
| @@ -12750,7 +12784,7 @@
|
| }
|
| return new TypeParameter(name, myType, this._makeSpan(start));
|
| }
|
| -lang_Parser.prototype.typeParameters = function() {
|
| +Parser.prototype.typeParameters = function() {
|
| this._eat(52/*TokenKind.LT*/);
|
| var closed = false;
|
| var ret = [];
|
| @@ -12768,10 +12802,10 @@
|
| }
|
| return ret;
|
| }
|
| -lang_Parser.prototype.get$typeParameters = function() {
|
| - return lang_Parser.prototype.typeParameters.bind(this);
|
| +Parser.prototype.get$typeParameters = function() {
|
| + return Parser.prototype.typeParameters.bind(this);
|
| }
|
| -lang_Parser.prototype._eatClosingAngle = function(depth) {
|
| +Parser.prototype._eatClosingAngle = function(depth) {
|
| if (this._maybeEat(53/*TokenKind.GT*/)) {
|
| return depth;
|
| }
|
| @@ -12786,12 +12820,12 @@
|
| return depth;
|
| }
|
| }
|
| -lang_Parser.prototype.addTypeArguments = function(baseType, depth) {
|
| +Parser.prototype.addTypeArguments = function(baseType, depth) {
|
| this._eat(52/*TokenKind.LT*/);
|
| return this._finishTypeArguments(baseType, depth, []);
|
| }
|
| -lang_Parser.prototype._finishTypeArguments = function(baseType, depth, types) {
|
| - var delta = -1;
|
| +Parser.prototype._finishTypeArguments = function(baseType, depth, types) {
|
| + var delta = -1.000000/*-1*/;
|
| do {
|
| var myType = this.type(depth + 1);
|
| types.add(myType);
|
| @@ -12810,7 +12844,7 @@
|
| var span = this._makeSpan(baseType.span.start);
|
| return new GenericTypeReference(baseType, types, depth, span);
|
| }
|
| -lang_Parser.prototype.typeList = function() {
|
| +Parser.prototype.typeList = function() {
|
| var types = [];
|
| do {
|
| types.add(this.type(0));
|
| @@ -12818,7 +12852,7 @@
|
| while (this._maybeEat(11/*TokenKind.COMMA*/))
|
| return types;
|
| }
|
| -lang_Parser.prototype.type = function(depth) {
|
| +Parser.prototype.type = function(depth) {
|
| var start = this._peekToken.start;
|
| var name;
|
| var names = null;
|
| @@ -12858,7 +12892,7 @@
|
| return typeRef;
|
| }
|
| }
|
| -lang_Parser.prototype.formalParameter = function(inOptionalBlock) {
|
| +Parser.prototype.formalParameter = function(inOptionalBlock) {
|
| var start = this._peekToken.start;
|
| var isThis = false;
|
| var isRest = false;
|
| @@ -12882,7 +12916,7 @@
|
| }
|
| return new FormalNode(isThis, isRest, type, name, value, this._makeSpan(start));
|
| }
|
| -lang_Parser.prototype.formalParameterList = function() {
|
| +Parser.prototype.formalParameterList = function() {
|
| this._eat(2/*TokenKind.LPAREN*/);
|
| var formals = [];
|
| var inOptionalBlock = false;
|
| @@ -12907,14 +12941,14 @@
|
| }
|
| return formals;
|
| }
|
| -lang_Parser.prototype.identifier = function() {
|
| +Parser.prototype.identifier = function() {
|
| var tok = this._lang_next();
|
| if (!TokenKind.isIdentifier(tok.kind)) {
|
| this._lang_error(('expected identifier, but found ' + tok + ''), tok.get$span());
|
| }
|
| - return new lang_Identifier(tok.get$text(), this._makeSpan(tok.start));
|
| + return new Identifier(tok.get$text(), this._makeSpan(tok.start));
|
| }
|
| -lang_Parser.prototype._makeFunction = function(expr, body) {
|
| +Parser.prototype._makeFunction = function(expr, body) {
|
| var name, type;
|
| if ((expr instanceof CallExpression)) {
|
| if ((expr.target instanceof VarExpression)) {
|
| @@ -12937,7 +12971,7 @@
|
| this._lang_error('expected function');
|
| }
|
| }
|
| -lang_Parser.prototype._makeFormal = function(expr) {
|
| +Parser.prototype._makeFormal = function(expr) {
|
| if ((expr instanceof VarExpression)) {
|
| return new FormalNode(false, false, null, expr.get$name(), null, expr.get$span());
|
| }
|
| @@ -12958,7 +12992,7 @@
|
| this._lang_error('expected formal', expr.get$span());
|
| }
|
| }
|
| -lang_Parser.prototype._makeFormalsFromList = function(expr) {
|
| +Parser.prototype._makeFormalsFromList = function(expr) {
|
| if (expr.get$isConst()) {
|
| this._lang_error('expected formal, but found "const"', expr.get$span());
|
| }
|
| @@ -12967,7 +13001,7 @@
|
| }
|
| return this._makeFormalsFromExpressions(expr.values, false);
|
| }
|
| -lang_Parser.prototype._makeFormals = function(arguments) {
|
| +Parser.prototype._makeFormals = function(arguments) {
|
| var expressions = [];
|
| for (var i = 0;
|
| i < arguments.length; i++) {
|
| @@ -12979,7 +13013,7 @@
|
| }
|
| return this._makeFormalsFromExpressions(expressions, true);
|
| }
|
| -lang_Parser.prototype._makeFormalsFromExpressions = function(expressions, allowOptional) {
|
| +Parser.prototype._makeFormalsFromExpressions = function(expressions, allowOptional) {
|
| var formals = [];
|
| for (var i = 0;
|
| i < expressions.length; i++) {
|
| @@ -13022,7 +13056,7 @@
|
| }
|
| return formals;
|
| }
|
| -lang_Parser.prototype._makeDeclaredIdentifier = function(e) {
|
| +Parser.prototype._makeDeclaredIdentifier = function(e) {
|
| if ((e instanceof VarExpression)) {
|
| return new DeclaredIdentifier(null, e.get$name(), e.get$span());
|
| }
|
| @@ -13034,7 +13068,7 @@
|
| return new DeclaredIdentifier(null, null, e.get$span());
|
| }
|
| }
|
| -lang_Parser.prototype._makeLabel = function(expr) {
|
| +Parser.prototype._makeLabel = function(expr) {
|
| if ((expr instanceof VarExpression)) {
|
| return expr.get$name();
|
| }
|
| @@ -13043,41 +13077,41 @@
|
| return null;
|
| }
|
| }
|
| -// ********** Code for lang_Node **************
|
| -function lang_Node(span) {
|
| +// ********** Code for Node **************
|
| +function Node(span) {
|
| this.span = span;
|
| // Initializers done
|
| }
|
| -lang_Node.prototype.get$span = function() { return this.span; };
|
| -lang_Node.prototype.set$span = function(value) { return this.span = value; };
|
| +Node.prototype.get$span = function() { return this.span; };
|
| +Node.prototype.set$span = function(value) { return this.span = value; };
|
| // ********** Code for Definition **************
|
| function Definition(span) {
|
| - lang_Statement.call(this, span);
|
| + Statement.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(Definition, lang_Statement);
|
| +$inherits(Definition, Statement);
|
| Definition.prototype.get$typeParameters = function() {
|
| return null;
|
| }
|
| -// ********** Code for lang_Statement **************
|
| -function lang_Statement(span) {
|
| - lang_Node.call(this, span);
|
| +// ********** Code for Statement **************
|
| +function Statement(span) {
|
| + Node.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(lang_Statement, lang_Node);
|
| -// ********** Code for lang_Expression **************
|
| -function lang_Expression(span) {
|
| - lang_Node.call(this, span);
|
| +$inherits(Statement, Node);
|
| +// ********** Code for Expression **************
|
| +function Expression(span) {
|
| + Node.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(lang_Expression, lang_Node);
|
| +$inherits(Expression, Node);
|
| // ********** Code for TypeReference **************
|
| function TypeReference(span, type) {
|
| this.type = type;
|
| - lang_Node.call(this, span);
|
| + Node.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(TypeReference, lang_Node);
|
| +$inherits(TypeReference, Node);
|
| TypeReference.prototype.visit = function(visitor) {
|
| return visitor.visitTypeReference(this);
|
| }
|
| @@ -13100,7 +13134,7 @@
|
| }
|
| TreeOutput.prototype.toValue = function(value) {
|
| if (value == null) return 'null';
|
| - else if ((value instanceof lang_Identifier)) return value.get$name();
|
| + else if ((value instanceof Identifier)) return value.get$name();
|
| else return value.toString();
|
| }
|
| TreeOutput.prototype.writeNode = function(label, node) {
|
| @@ -13231,10 +13265,10 @@
|
| // ********** Code for ReturnStatement **************
|
| function ReturnStatement(value, span) {
|
| this.value = value;
|
| - lang_Statement.call(this, span);
|
| + Statement.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(ReturnStatement, lang_Statement);
|
| +$inherits(ReturnStatement, Statement);
|
| ReturnStatement.prototype.get$value = function() { return this.value; };
|
| ReturnStatement.prototype.set$value = function(value) { return this.value = value; };
|
| ReturnStatement.prototype.visit = function(visitor) {
|
| @@ -13243,10 +13277,10 @@
|
| // ********** Code for ThrowStatement **************
|
| function ThrowStatement(value, span) {
|
| this.value = value;
|
| - lang_Statement.call(this, span);
|
| + Statement.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(ThrowStatement, lang_Statement);
|
| +$inherits(ThrowStatement, Statement);
|
| ThrowStatement.prototype.get$value = function() { return this.value; };
|
| ThrowStatement.prototype.set$value = function(value) { return this.value = value; };
|
| ThrowStatement.prototype.visit = function(visitor) {
|
| @@ -13255,30 +13289,30 @@
|
| // ********** Code for AssertStatement **************
|
| function AssertStatement(test, span) {
|
| this.test = test;
|
| - lang_Statement.call(this, span);
|
| + Statement.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(AssertStatement, lang_Statement);
|
| +$inherits(AssertStatement, Statement);
|
| AssertStatement.prototype.visit = function(visitor) {
|
| return visitor.visitAssertStatement(this);
|
| }
|
| // ********** Code for BreakStatement **************
|
| function BreakStatement(label, span) {
|
| this.label = label;
|
| - lang_Statement.call(this, span);
|
| + Statement.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(BreakStatement, lang_Statement);
|
| +$inherits(BreakStatement, Statement);
|
| BreakStatement.prototype.visit = function(visitor) {
|
| return visitor.visitBreakStatement(this);
|
| }
|
| // ********** Code for ContinueStatement **************
|
| function ContinueStatement(label, span) {
|
| this.label = label;
|
| - lang_Statement.call(this, span);
|
| + Statement.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(ContinueStatement, lang_Statement);
|
| +$inherits(ContinueStatement, Statement);
|
| ContinueStatement.prototype.visit = function(visitor) {
|
| return visitor.visitContinueStatement(this);
|
| }
|
| @@ -13287,10 +13321,10 @@
|
| this.test = test;
|
| this.trueBranch = trueBranch;
|
| this.falseBranch = falseBranch;
|
| - lang_Statement.call(this, span);
|
| + Statement.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(IfStatement, lang_Statement);
|
| +$inherits(IfStatement, Statement);
|
| IfStatement.prototype.visit = function(visitor) {
|
| return visitor.visitIfStatement(this);
|
| }
|
| @@ -13298,10 +13332,10 @@
|
| function WhileStatement(test, body, span) {
|
| this.test = test;
|
| this.body = body;
|
| - lang_Statement.call(this, span);
|
| + Statement.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(WhileStatement, lang_Statement);
|
| +$inherits(WhileStatement, Statement);
|
| WhileStatement.prototype.visit = function(visitor) {
|
| return visitor.visitWhileStatement(this);
|
| }
|
| @@ -13309,10 +13343,10 @@
|
| function DoStatement(body, test, span) {
|
| this.body = body;
|
| this.test = test;
|
| - lang_Statement.call(this, span);
|
| + Statement.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(DoStatement, lang_Statement);
|
| +$inherits(DoStatement, Statement);
|
| DoStatement.prototype.visit = function(visitor) {
|
| return visitor.visitDoStatement(this);
|
| }
|
| @@ -13322,10 +13356,10 @@
|
| this.test = test;
|
| this.step = step;
|
| this.body = body;
|
| - lang_Statement.call(this, span);
|
| + Statement.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(ForStatement, lang_Statement);
|
| +$inherits(ForStatement, Statement);
|
| ForStatement.prototype.visit = function(visitor) {
|
| return visitor.visitForStatement(this);
|
| }
|
| @@ -13334,10 +13368,10 @@
|
| this.item = item;
|
| this.list = list;
|
| this.body = body;
|
| - lang_Statement.call(this, span);
|
| + Statement.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(ForInStatement, lang_Statement);
|
| +$inherits(ForInStatement, Statement);
|
| ForInStatement.prototype.visit = function(visitor) {
|
| return visitor.visitForInStatement(this);
|
| }
|
| @@ -13346,10 +13380,10 @@
|
| this.body = body;
|
| this.catches = catches;
|
| this.finallyBlock = finallyBlock;
|
| - lang_Statement.call(this, span);
|
| + Statement.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(TryStatement, lang_Statement);
|
| +$inherits(TryStatement, Statement);
|
| TryStatement.prototype.visit = function(visitor) {
|
| return visitor.visitTryStatement(this);
|
| }
|
| @@ -13357,20 +13391,20 @@
|
| function SwitchStatement(test, cases, span) {
|
| this.test = test;
|
| this.cases = cases;
|
| - lang_Statement.call(this, span);
|
| + Statement.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(SwitchStatement, lang_Statement);
|
| +$inherits(SwitchStatement, Statement);
|
| SwitchStatement.prototype.visit = function(visitor) {
|
| return visitor.visitSwitchStatement(this);
|
| }
|
| // ********** Code for BlockStatement **************
|
| function BlockStatement(body, span) {
|
| this.body = body;
|
| - lang_Statement.call(this, span);
|
| + Statement.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(BlockStatement, lang_Statement);
|
| +$inherits(BlockStatement, Statement);
|
| BlockStatement.prototype.visit = function(visitor) {
|
| return visitor.visitBlockStatement(this);
|
| }
|
| @@ -13378,60 +13412,60 @@
|
| function LabeledStatement(name, body, span) {
|
| this.name = name;
|
| this.body = body;
|
| - lang_Statement.call(this, span);
|
| + Statement.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(LabeledStatement, lang_Statement);
|
| +$inherits(LabeledStatement, Statement);
|
| LabeledStatement.prototype.get$name = function() { return this.name; };
|
| LabeledStatement.prototype.set$name = function(value) { return this.name = value; };
|
| LabeledStatement.prototype.visit = function(visitor) {
|
| return visitor.visitLabeledStatement(this);
|
| }
|
| -// ********** Code for lang_ExpressionStatement **************
|
| -function lang_ExpressionStatement(body, span) {
|
| +// ********** Code for ExpressionStatement **************
|
| +function ExpressionStatement(body, span) {
|
| this.body = body;
|
| - lang_Statement.call(this, span);
|
| + Statement.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(lang_ExpressionStatement, lang_Statement);
|
| -lang_ExpressionStatement.prototype.visit = function(visitor) {
|
| +$inherits(ExpressionStatement, Statement);
|
| +ExpressionStatement.prototype.visit = function(visitor) {
|
| return visitor.visitExpressionStatement(this);
|
| }
|
| // ********** Code for EmptyStatement **************
|
| function EmptyStatement(span) {
|
| - lang_Statement.call(this, span);
|
| + Statement.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(EmptyStatement, lang_Statement);
|
| +$inherits(EmptyStatement, Statement);
|
| EmptyStatement.prototype.visit = function(visitor) {
|
| return visitor.visitEmptyStatement(this);
|
| }
|
| // ********** Code for DietStatement **************
|
| function DietStatement(span) {
|
| - lang_Statement.call(this, span);
|
| + Statement.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(DietStatement, lang_Statement);
|
| +$inherits(DietStatement, Statement);
|
| DietStatement.prototype.visit = function(visitor) {
|
| return visitor.visitDietStatement(this);
|
| }
|
| // ********** Code for NativeStatement **************
|
| function NativeStatement(body, span) {
|
| this.body = body;
|
| - lang_Statement.call(this, span);
|
| + Statement.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(NativeStatement, lang_Statement);
|
| +$inherits(NativeStatement, Statement);
|
| NativeStatement.prototype.visit = function(visitor) {
|
| return visitor.visitNativeStatement(this);
|
| }
|
| // ********** Code for LambdaExpression **************
|
| function LambdaExpression(func, span) {
|
| this.func = func;
|
| - lang_Expression.call(this, span);
|
| + Expression.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(LambdaExpression, lang_Expression);
|
| +$inherits(LambdaExpression, Expression);
|
| LambdaExpression.prototype.visit = function(visitor) {
|
| return visitor.visitLambdaExpression(this);
|
| }
|
| @@ -13439,10 +13473,10 @@
|
| function CallExpression(target, arguments, span) {
|
| this.target = target;
|
| this.arguments = arguments;
|
| - lang_Expression.call(this, span);
|
| + Expression.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(CallExpression, lang_Expression);
|
| +$inherits(CallExpression, Expression);
|
| CallExpression.prototype.get$arguments = function() { return this.arguments; };
|
| CallExpression.prototype.set$arguments = function(value) { return this.arguments = value; };
|
| CallExpression.prototype.visit = function(visitor) {
|
| @@ -13452,10 +13486,10 @@
|
| function IndexExpression(target, index, span) {
|
| this.target = target;
|
| this.index = index;
|
| - lang_Expression.call(this, span);
|
| + Expression.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(IndexExpression, lang_Expression);
|
| +$inherits(IndexExpression, Expression);
|
| IndexExpression.prototype.visit = function(visitor) {
|
| return visitor.visitIndexExpression(this);
|
| }
|
| @@ -13464,10 +13498,10 @@
|
| this.op = op;
|
| this.x = x;
|
| this.y = y;
|
| - lang_Expression.call(this, span);
|
| + Expression.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(BinaryExpression, lang_Expression);
|
| +$inherits(BinaryExpression, Expression);
|
| BinaryExpression.prototype.visit = function(visitor) {
|
| return visitor.visitBinaryExpression(this);
|
| }
|
| @@ -13475,10 +13509,10 @@
|
| function UnaryExpression(op, self, span) {
|
| this.op = op;
|
| this.self = self;
|
| - lang_Expression.call(this, span);
|
| + Expression.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(UnaryExpression, lang_Expression);
|
| +$inherits(UnaryExpression, Expression);
|
| UnaryExpression.prototype.visit = function(visitor) {
|
| return visitor.visitUnaryExpression(this);
|
| }
|
| @@ -13486,30 +13520,30 @@
|
| function PostfixExpression(body, op, span) {
|
| this.body = body;
|
| this.op = op;
|
| - lang_Expression.call(this, span);
|
| + Expression.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(PostfixExpression, lang_Expression);
|
| +$inherits(PostfixExpression, Expression);
|
| PostfixExpression.prototype.visit = function(visitor) {
|
| return visitor.visitPostfixExpression$1(this);
|
| }
|
| -// ********** Code for lang_NewExpression **************
|
| -function lang_NewExpression(isConst, type, name, arguments, span) {
|
| +// ********** Code for NewExpression **************
|
| +function NewExpression(isConst, type, name, arguments, span) {
|
| this.isConst = isConst;
|
| this.type = type;
|
| this.name = name;
|
| this.arguments = arguments;
|
| - lang_Expression.call(this, span);
|
| + Expression.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(lang_NewExpression, lang_Expression);
|
| -lang_NewExpression.prototype.get$isConst = function() { return this.isConst; };
|
| -lang_NewExpression.prototype.set$isConst = function(value) { return this.isConst = value; };
|
| -lang_NewExpression.prototype.get$name = function() { return this.name; };
|
| -lang_NewExpression.prototype.set$name = function(value) { return this.name = value; };
|
| -lang_NewExpression.prototype.get$arguments = function() { return this.arguments; };
|
| -lang_NewExpression.prototype.set$arguments = function(value) { return this.arguments = value; };
|
| -lang_NewExpression.prototype.visit = function(visitor) {
|
| +$inherits(NewExpression, Expression);
|
| +NewExpression.prototype.get$isConst = function() { return this.isConst; };
|
| +NewExpression.prototype.set$isConst = function(value) { return this.isConst = value; };
|
| +NewExpression.prototype.get$name = function() { return this.name; };
|
| +NewExpression.prototype.set$name = function(value) { return this.name = value; };
|
| +NewExpression.prototype.get$arguments = function() { return this.arguments; };
|
| +NewExpression.prototype.set$arguments = function(value) { return this.arguments = value; };
|
| +NewExpression.prototype.visit = function(visitor) {
|
| return visitor.visitNewExpression(this);
|
| }
|
| // ********** Code for ListExpression **************
|
| @@ -13517,10 +13551,10 @@
|
| this.isConst = isConst;
|
| this.type = type;
|
| this.values = values;
|
| - lang_Expression.call(this, span);
|
| + Expression.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(ListExpression, lang_Expression);
|
| +$inherits(ListExpression, Expression);
|
| ListExpression.prototype.get$isConst = function() { return this.isConst; };
|
| ListExpression.prototype.set$isConst = function(value) { return this.isConst = value; };
|
| ListExpression.prototype.visit = function(visitor) {
|
| @@ -13531,10 +13565,10 @@
|
| this.isConst = isConst;
|
| this.type = type;
|
| this.items = items;
|
| - lang_Expression.call(this, span);
|
| + Expression.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(MapExpression, lang_Expression);
|
| +$inherits(MapExpression, Expression);
|
| MapExpression.prototype.get$isConst = function() { return this.isConst; };
|
| MapExpression.prototype.set$isConst = function(value) { return this.isConst = value; };
|
| MapExpression.prototype.visit = function(visitor) {
|
| @@ -13545,10 +13579,10 @@
|
| this.test = test;
|
| this.trueBranch = trueBranch;
|
| this.falseBranch = falseBranch;
|
| - lang_Expression.call(this, span);
|
| + Expression.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(ConditionalExpression, lang_Expression);
|
| +$inherits(ConditionalExpression, Expression);
|
| ConditionalExpression.prototype.visit = function(visitor) {
|
| return visitor.visitConditionalExpression(this);
|
| }
|
| @@ -13557,20 +13591,20 @@
|
| this.isTrue = isTrue;
|
| this.x = x;
|
| this.type = type;
|
| - lang_Expression.call(this, span);
|
| + Expression.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(IsExpression, lang_Expression);
|
| +$inherits(IsExpression, Expression);
|
| IsExpression.prototype.visit = function(visitor) {
|
| return visitor.visitIsExpression(this);
|
| }
|
| // ********** Code for ParenExpression **************
|
| function ParenExpression(body, span) {
|
| this.body = body;
|
| - lang_Expression.call(this, span);
|
| + Expression.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(ParenExpression, lang_Expression);
|
| +$inherits(ParenExpression, Expression);
|
| ParenExpression.prototype.visit = function(visitor) {
|
| return visitor.visitParenExpression(this);
|
| }
|
| @@ -13578,10 +13612,10 @@
|
| function DotExpression(self, name, span) {
|
| this.self = self;
|
| this.name = name;
|
| - lang_Expression.call(this, span);
|
| + Expression.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(DotExpression, lang_Expression);
|
| +$inherits(DotExpression, Expression);
|
| DotExpression.prototype.get$name = function() { return this.name; };
|
| DotExpression.prototype.set$name = function(value) { return this.name = value; };
|
| DotExpression.prototype.visit = function(visitor) {
|
| @@ -13590,10 +13624,10 @@
|
| // ********** Code for VarExpression **************
|
| function VarExpression(name, span) {
|
| this.name = name;
|
| - lang_Expression.call(this, span);
|
| + Expression.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(VarExpression, lang_Expression);
|
| +$inherits(VarExpression, Expression);
|
| VarExpression.prototype.get$name = function() { return this.name; };
|
| VarExpression.prototype.set$name = function(value) { return this.name = value; };
|
| VarExpression.prototype.visit = function(visitor) {
|
| @@ -13601,28 +13635,28 @@
|
| }
|
| // ********** Code for ThisExpression **************
|
| function ThisExpression(span) {
|
| - lang_Expression.call(this, span);
|
| + Expression.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(ThisExpression, lang_Expression);
|
| +$inherits(ThisExpression, Expression);
|
| ThisExpression.prototype.visit = function(visitor) {
|
| return visitor.visitThisExpression(this);
|
| }
|
| // ********** Code for SuperExpression **************
|
| function SuperExpression(span) {
|
| - lang_Expression.call(this, span);
|
| + Expression.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(SuperExpression, lang_Expression);
|
| +$inherits(SuperExpression, Expression);
|
| SuperExpression.prototype.visit = function(visitor) {
|
| return visitor.visitSuperExpression(this);
|
| }
|
| // ********** Code for NullExpression **************
|
| function NullExpression(span) {
|
| - lang_Expression.call(this, span);
|
| + Expression.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(NullExpression, lang_Expression);
|
| +$inherits(NullExpression, Expression);
|
| NullExpression.prototype.visit = function(visitor) {
|
| return visitor.visitNullExpression(this);
|
| }
|
| @@ -13631,10 +13665,10 @@
|
| this.value = value;
|
| this.type = type;
|
| this.text = text;
|
| - lang_Expression.call(this, span);
|
| + Expression.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(LiteralExpression, lang_Expression);
|
| +$inherits(LiteralExpression, Expression);
|
| LiteralExpression.prototype.get$value = function() { return this.value; };
|
| LiteralExpression.prototype.set$value = function(value) { return this.value = value; };
|
| LiteralExpression.prototype.get$text = function() { return this.text; };
|
| @@ -13683,10 +13717,10 @@
|
| function ArgumentNode(label, value, span) {
|
| this.label = label;
|
| this.value = value;
|
| - lang_Node.call(this, span);
|
| + Node.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(ArgumentNode, lang_Node);
|
| +$inherits(ArgumentNode, Node);
|
| ArgumentNode.prototype.get$value = function() { return this.value; };
|
| ArgumentNode.prototype.set$value = function(value) { return this.value = value; };
|
| ArgumentNode.prototype.visit = function(visitor) {
|
| @@ -13699,10 +13733,10 @@
|
| this.type = type;
|
| this.name = name;
|
| this.value = value;
|
| - lang_Node.call(this, span);
|
| + Node.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(FormalNode, lang_Node);
|
| +$inherits(FormalNode, Node);
|
| FormalNode.prototype.get$name = function() { return this.name; };
|
| FormalNode.prototype.set$name = function(value) { return this.name = value; };
|
| FormalNode.prototype.get$value = function() { return this.value; };
|
| @@ -13715,10 +13749,10 @@
|
| this.exception = exception;
|
| this.trace = trace;
|
| this.body = body;
|
| - lang_Node.call(this, span);
|
| + Node.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(CatchNode, lang_Node);
|
| +$inherits(CatchNode, Node);
|
| CatchNode.prototype.visit = function(visitor) {
|
| return visitor.visitCatchNode(this);
|
| }
|
| @@ -13727,10 +13761,10 @@
|
| this.label = label;
|
| this.cases = cases;
|
| this.statements = statements;
|
| - lang_Node.call(this, span);
|
| + Node.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(CaseNode, lang_Node);
|
| +$inherits(CaseNode, Node);
|
| CaseNode.prototype.visit = function(visitor) {
|
| return visitor.visitCaseNode(this);
|
| }
|
| @@ -13738,35 +13772,35 @@
|
| function TypeParameter(name, extendsType, span) {
|
| this.name = name;
|
| this.extendsType = extendsType;
|
| - lang_Node.call(this, span);
|
| + Node.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(TypeParameter, lang_Node);
|
| +$inherits(TypeParameter, Node);
|
| TypeParameter.prototype.get$name = function() { return this.name; };
|
| TypeParameter.prototype.set$name = function(value) { return this.name = value; };
|
| TypeParameter.prototype.visit = function(visitor) {
|
| return visitor.visitTypeParameter(this);
|
| }
|
| -// ********** Code for lang_Identifier **************
|
| -function lang_Identifier(name, span) {
|
| +// ********** Code for Identifier **************
|
| +function Identifier(name, span) {
|
| this.name = name;
|
| - lang_Node.call(this, span);
|
| + Node.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(lang_Identifier, lang_Node);
|
| -lang_Identifier.prototype.get$name = function() { return this.name; };
|
| -lang_Identifier.prototype.set$name = function(value) { return this.name = value; };
|
| -lang_Identifier.prototype.visit = function(visitor) {
|
| +$inherits(Identifier, Node);
|
| +Identifier.prototype.get$name = function() { return this.name; };
|
| +Identifier.prototype.set$name = function(value) { return this.name = value; };
|
| +Identifier.prototype.visit = function(visitor) {
|
| return visitor.visitIdentifier(this);
|
| }
|
| // ********** Code for DeclaredIdentifier **************
|
| function DeclaredIdentifier(type, name, span) {
|
| this.type = type;
|
| this.name = name;
|
| - lang_Expression.call(this, span);
|
| + Expression.call(this, span);
|
| // Initializers done
|
| }
|
| -$inherits(DeclaredIdentifier, lang_Expression);
|
| +$inherits(DeclaredIdentifier, Expression);
|
| DeclaredIdentifier.prototype.get$name = function() { return this.name; };
|
| DeclaredIdentifier.prototype.set$name = function(value) { return this.name = value; };
|
| DeclaredIdentifier.prototype.visit = function(visitor) {
|
| @@ -14038,86 +14072,86 @@
|
| this.output.heading('TypeReference(' + this.output.toValue(node.type) + ")", node.span);
|
| }
|
| $defineMethod(TreePrinter, "visitPostfixExpression$1", TreePrinter.prototype.visitPostfixExpression);
|
| -// ********** Code for lang_Type **************
|
| -function lang_Type(name) {
|
| +// ********** Code for Type **************
|
| +function Type(name) {
|
| this.name = name;
|
| this.isTested = false;
|
| // Initializers done
|
| }
|
| -lang_Type.prototype.get$name = function() { return this.name; };
|
| -lang_Type.prototype.markUsed = function() {
|
| +Type.prototype.get$name = function() { return this.name; };
|
| +Type.prototype.markUsed = function() {
|
|
|
| }
|
| -lang_Type.prototype.get$typeMember = function() {
|
| +Type.prototype.get$typeMember = function() {
|
| if (this._typeMember == null) {
|
| this._typeMember = new TypeMember(this);
|
| }
|
| return this._typeMember;
|
| }
|
| -lang_Type.prototype.getMember = function(name) {
|
| +Type.prototype.getMember = function(name) {
|
| return null;
|
| }
|
| -lang_Type.prototype.get$isVar = function() {
|
| +Type.prototype.get$isVar = function() {
|
| return false;
|
| }
|
| -lang_Type.prototype.get$isTop = function() {
|
| +Type.prototype.get$isTop = function() {
|
| return false;
|
| }
|
| -lang_Type.prototype.get$isObject = function() {
|
| +Type.prototype.get$isObject = function() {
|
| return false;
|
| }
|
| -lang_Type.prototype.get$isString = function() {
|
| +Type.prototype.get$isString = function() {
|
| return false;
|
| }
|
| -lang_Type.prototype.get$isBool = function() {
|
| +Type.prototype.get$isBool = function() {
|
| return false;
|
| }
|
| -lang_Type.prototype.get$isFunction = function() {
|
| +Type.prototype.get$isFunction = function() {
|
| return false;
|
| }
|
| -lang_Type.prototype.get$isList = function() {
|
| +Type.prototype.get$isList = function() {
|
| return false;
|
| }
|
| -lang_Type.prototype.get$isNum = function() {
|
| +Type.prototype.get$isNum = function() {
|
| return false;
|
| }
|
| -lang_Type.prototype.get$isVarOrFunction = function() {
|
| +Type.prototype.get$isVarOrFunction = function() {
|
| return this.get$isVar() || this.get$isFunction();
|
| }
|
| -lang_Type.prototype.getCallMethod = function() {
|
| +Type.prototype.getCallMethod = function() {
|
| return null;
|
| }
|
| -lang_Type.prototype.get$isClosed = function() {
|
| +Type.prototype.get$isClosed = function() {
|
| return this.get$isString() || this.get$isBool() || this.get$isNum() || this.get$isFunction();
|
| }
|
| -lang_Type.prototype.get$isUsed = function() {
|
| +Type.prototype.get$isUsed = function() {
|
| return false;
|
| }
|
| -lang_Type.prototype.get$isGeneric = function() {
|
| +Type.prototype.get$isGeneric = function() {
|
| return false;
|
| }
|
| -lang_Type.prototype.get$isNativeType = function() {
|
| +Type.prototype.get$isNativeType = function() {
|
| return false;
|
| }
|
| -lang_Type.prototype.get$isNative = function() {
|
| +Type.prototype.get$isNative = function() {
|
| return this.get$isNativeType();
|
| }
|
| -lang_Type.prototype.get$hasTypeParams = function() {
|
| +Type.prototype.get$hasTypeParams = function() {
|
| return false;
|
| }
|
| -lang_Type.prototype.get$typeofName = function() {
|
| +Type.prototype.get$typeofName = function() {
|
| return null;
|
| }
|
| -lang_Type.prototype.get$jsname = function() {
|
| +Type.prototype.get$jsname = function() {
|
| return this._jsname == null ? this.name : this._jsname;
|
| }
|
| -lang_Type.prototype.set$jsname = function(name) {
|
| +Type.prototype.set$jsname = function(name) {
|
| return this._jsname = name;
|
| }
|
| -lang_Type.prototype.getAllMembers = function() {
|
| +Type.prototype.getAllMembers = function() {
|
| return $map([]);
|
| }
|
| -lang_Type.prototype.needsVarCall = function(args) {
|
| +Type.prototype.needsVarCall = function(args) {
|
| if (this.get$isVarOrFunction()) {
|
| return true;
|
| }
|
| @@ -14129,7 +14163,7 @@
|
| }
|
| return false;
|
| }
|
| -lang_Type.union = function(x, y) {
|
| +Type.union = function(x, y) {
|
| if ($eq(x, y)) return x;
|
| if (x.get$isNum() && y.get$isNum()) return world.numType;
|
| if (x.get$isString() && y.get$isString()) return world.stringType;
|
| @@ -14138,10 +14172,10 @@
|
| // ********** Code for ParameterType **************
|
| function ParameterType(name, typeParameter) {
|
| this.typeParameter = typeParameter;
|
| - lang_Type.call(this, name);
|
| + Type.call(this, name);
|
| // Initializers done
|
| }
|
| -$inherits(ParameterType, lang_Type);
|
| +$inherits(ParameterType, Type);
|
| ParameterType.prototype.get$isClass = function() {
|
| return false;
|
| }
|
| @@ -14185,10 +14219,10 @@
|
| this.constructors = $map([]);
|
| this.members = $map([]);
|
| this.factories = new FactoryMap();
|
| - lang_Type.call(this, name);
|
| + Type.call(this, name);
|
| // Initializers done
|
| }
|
| -$inherits(ConcreteType, lang_Type);
|
| +$inherits(ConcreteType, Type);
|
| ConcreteType.prototype.get$isList = function() {
|
| return this.genericType.get$isList();
|
| }
|
| @@ -14342,11 +14376,11 @@
|
| this.members = $map([]);
|
| this.factories = new FactoryMap();
|
| this._resolvedMembers = $map([]);
|
| - lang_Type.call(this, name);
|
| + Type.call(this, name);
|
| // Initializers done
|
| this.setDefinition(definition);
|
| }
|
| -$inherits(DefinedType, lang_Type);
|
| +$inherits(DefinedType, Type);
|
| DefinedType.prototype.get$definition = function() { return this.definition; };
|
| DefinedType.prototype.set$definition = function(value) { return this.definition = value; };
|
| DefinedType.prototype.get$library = function() { return this.library; };
|
| @@ -15027,19 +15061,19 @@
|
| return 1;
|
| }
|
| else if (other.dependencies.indexOf(this, 0) >= 0) {
|
| - return -1;
|
| + return -1.000000/*-1*/;
|
| }
|
| else if (this.dependencies.length > other.dependencies.length) {
|
| return 1;
|
| }
|
| else if (this.dependencies.length < other.dependencies.length) {
|
| - return -1;
|
| + return -1.000000/*-1*/;
|
| }
|
| else if (this.name == null && other.name != null) {
|
| return 1;
|
| }
|
| else if (this.name != null && other.name == null) {
|
| - return -1;
|
| + return -1.000000/*-1*/;
|
| }
|
| else if (this.name != null) {
|
| return this.name.compareTo(other.name);
|
| @@ -15207,7 +15241,7 @@
|
| var $this = this; // closure support
|
| if (!options.enableLeg) return false;
|
| return this.withTiming('try leg compile', (function () {
|
| - return compile($this);
|
| + return leg_compile($this);
|
| })
|
| );
|
| }
|
| @@ -15705,7 +15739,7 @@
|
| world = new World(files);
|
| world.init();
|
| }
|
| -function lang_compile(homedir, args, files) {
|
| +function compile(homedir, args, files) {
|
| parseOptions(homedir, args);
|
| initializeWorld(files);
|
| var success = world.compile();
|
| @@ -15739,7 +15773,7 @@
|
| // ********** Code for top level **************
|
| function main() {
|
| var homedir = get$path().dirname(get$fs().realpathSync(process.argv.$index(1)));
|
| - if (lang_compile(homedir, process.argv, new NodeFileSystem())) {
|
| + if (compile(homedir, process.argv, new NodeFileSystem())) {
|
| var code = world.getGeneratedCode();
|
| if (!options.compileOnly) {
|
| process.argv = [process.argv.$index(0), process.argv.$index(1)];
|
| @@ -15769,73 +15803,73 @@
|
| return this.to$call$2()(current, count);
|
| });
|
| function to$call$2(f) { return f && f.to$call$2(); }
|
| -var const$10 = new EmptyQueueException()/*const EmptyQueueException()*/;
|
| +var const$120 = []/*const <HInstruction>[]*/;
|
| +var const$121 = new NoMoreElementsException()/*const NoMoreElementsException()*/;
|
| +var const$122 = new EmptyQueueException()/*const EmptyQueueException()*/;
|
| var const$129 = new StringWrapper('main')/*const SourceString('main')*/;
|
| -var const$133 = new StringWrapper('void')/*const SourceString('void')*/;
|
| -var const$135 = new StringWrapper('int')/*const SourceString('int')*/;
|
| -var const$137 = new StringWrapper('Dynamic')/*const SourceString('Dynamic')*/;
|
| -var const$139 = new StringWrapper('print')/*const SourceString('print')*/;
|
| -var const$140 = new StringWrapper('+')/*const SourceString('+')*/;
|
| -var const$238 = new Keyword("break", false)/*const Keyword("break")*/;
|
| -var const$240 = new Keyword("case", false)/*const Keyword("case")*/;
|
| -var const$242 = new Keyword("catch", false)/*const Keyword("catch")*/;
|
| -var const$244 = new Keyword("const", false)/*const Keyword("const")*/;
|
| -var const$246 = new Keyword("continue", false)/*const Keyword("continue")*/;
|
| -var const$248 = new Keyword("default", false)/*const Keyword("default")*/;
|
| -var const$250 = new Keyword("do", false)/*const Keyword("do")*/;
|
| -var const$252 = new Keyword("else", false)/*const Keyword("else")*/;
|
| -var const$254 = new Keyword("false", false)/*const Keyword("false")*/;
|
| -var const$256 = new Keyword("final", false)/*const Keyword("final")*/;
|
| -var const$258 = new Keyword("finally", false)/*const Keyword("finally")*/;
|
| -var const$260 = new Keyword("for", false)/*const Keyword("for")*/;
|
| -var const$262 = new Keyword("if", false)/*const Keyword("if")*/;
|
| -var const$264 = new Keyword("in", false)/*const Keyword("in")*/;
|
| -var const$266 = new Keyword("is", false)/*const Keyword("is")*/;
|
| -var const$268 = new Keyword("new", false)/*const Keyword("new")*/;
|
| -var const$270 = new Keyword("null", false)/*const Keyword("null")*/;
|
| -var const$272 = new Keyword("return", false)/*const Keyword("return")*/;
|
| -var const$274 = new Keyword("super", false)/*const Keyword("super")*/;
|
| -var const$276 = new Keyword("switch", false)/*const Keyword("switch")*/;
|
| -var const$278 = new Keyword("this", false)/*const Keyword("this")*/;
|
| -var const$280 = new Keyword("throw", false)/*const Keyword("throw")*/;
|
| -var const$282 = new Keyword("true", false)/*const Keyword("true")*/;
|
| -var const$284 = new Keyword("try", false)/*const Keyword("try")*/;
|
| -var const$286 = new Keyword("var", false)/*const Keyword("var")*/;
|
| -var const$288 = new Keyword("void", false)/*const Keyword("void")*/;
|
| -var const$290 = new Keyword("while", false)/*const Keyword("while")*/;
|
| -var const$292 = new Keyword("abstract", true)/*const Keyword("abstract", true)*/;
|
| -var const$294 = new Keyword("assert", true)/*const Keyword("assert", true)*/;
|
| -var const$296 = new Keyword("class", true)/*const Keyword("class", true)*/;
|
| -var const$298 = new Keyword("extends", true)/*const Keyword("extends", true)*/;
|
| -var const$300 = new Keyword("factory", true)/*const Keyword("factory", true)*/;
|
| -var const$302 = new Keyword("get", true)/*const Keyword("get", true)*/;
|
| -var const$304 = new Keyword("implements", true)/*const Keyword("implements", true)*/;
|
| -var const$306 = new Keyword("import", true)/*const Keyword("import", true)*/;
|
| -var const$308 = new Keyword("interface", true)/*const Keyword("interface", true)*/;
|
| -var const$310 = new Keyword("library", true)/*const Keyword("library", true)*/;
|
| -var const$312 = new Keyword("native", true)/*const Keyword("native", true)*/;
|
| -var const$314 = new Keyword("negate", true)/*const Keyword("negate", true)*/;
|
| -var const$316 = new Keyword("operator", true)/*const Keyword("operator", true)*/;
|
| -var const$318 = new Keyword("set", true)/*const Keyword("set", true)*/;
|
| -var const$320 = new Keyword("source", true)/*const Keyword("source", true)*/;
|
| -var const$322 = new Keyword("static", true)/*const Keyword("static", true)*/;
|
| -var const$324 = new Keyword("typedef", true)/*const Keyword("typedef", true)*/;
|
| -var const$328 = new LinkTail()/*const LinkTail()*/;
|
| -var const$329 = new StringWrapper("<")/*const SourceString("<")*/;
|
| -var const$330 = new StringWrapper(".")/*const SourceString(".")*/;
|
| -var const$331 = new StringWrapper(",")/*const SourceString(",")*/;
|
| -var const$332 = new StringWrapper(">")/*const SourceString(">")*/;
|
| -var const$333 = new StringWrapper("{")/*const SourceString("{")*/;
|
| -var const$334 = new StringWrapper("string")/*const SourceString("string")*/;
|
| -var const$335 = new StringWrapper("(")/*const SourceString("(")*/;
|
| -var const$336 = new StringWrapper(")")/*const SourceString(")")*/;
|
| -var const$337 = new StringWrapper(";")/*const SourceString(";")*/;
|
| -var const$338 = new StringWrapper("#")/*const SourceString("#")*/;
|
| -var const$339 = new StringWrapper("=")/*const SourceString("=")*/;
|
| -var const$340 = new StringWrapper("}")/*const SourceString("}")*/;
|
| -var const$341 = new StringWrapper("return")/*const SourceString("return")*/;
|
| -var const$8 = []/*const <HInstruction>[]*/;
|
| -var const$9 = new NoMoreElementsException()/*const NoMoreElementsException()*/;
|
| +var const$228 = new Keyword("break", false)/*const Keyword("break")*/;
|
| +var const$230 = new Keyword("case", false)/*const Keyword("case")*/;
|
| +var const$232 = new Keyword("catch", false)/*const Keyword("catch")*/;
|
| +var const$234 = new Keyword("const", false)/*const Keyword("const")*/;
|
| +var const$236 = new Keyword("continue", false)/*const Keyword("continue")*/;
|
| +var const$238 = new Keyword("default", false)/*const Keyword("default")*/;
|
| +var const$240 = new Keyword("do", false)/*const Keyword("do")*/;
|
| +var const$242 = new Keyword("else", false)/*const Keyword("else")*/;
|
| +var const$244 = new Keyword("false", false)/*const Keyword("false")*/;
|
| +var const$246 = new Keyword("final", false)/*const Keyword("final")*/;
|
| +var const$248 = new Keyword("finally", false)/*const Keyword("finally")*/;
|
| +var const$250 = new Keyword("for", false)/*const Keyword("for")*/;
|
| +var const$252 = new Keyword("if", false)/*const Keyword("if")*/;
|
| +var const$254 = new Keyword("in", false)/*const Keyword("in")*/;
|
| +var const$256 = new Keyword("is", false)/*const Keyword("is")*/;
|
| +var const$258 = new Keyword("new", false)/*const Keyword("new")*/;
|
| +var const$260 = new Keyword("null", false)/*const Keyword("null")*/;
|
| +var const$262 = new Keyword("return", false)/*const Keyword("return")*/;
|
| +var const$264 = new Keyword("super", false)/*const Keyword("super")*/;
|
| +var const$266 = new Keyword("switch", false)/*const Keyword("switch")*/;
|
| +var const$268 = new Keyword("this", false)/*const Keyword("this")*/;
|
| +var const$270 = new Keyword("throw", false)/*const Keyword("throw")*/;
|
| +var const$272 = new Keyword("true", false)/*const Keyword("true")*/;
|
| +var const$274 = new Keyword("try", false)/*const Keyword("try")*/;
|
| +var const$276 = new Keyword("var", false)/*const Keyword("var")*/;
|
| +var const$278 = new Keyword("void", false)/*const Keyword("void")*/;
|
| +var const$280 = new Keyword("while", false)/*const Keyword("while")*/;
|
| +var const$282 = new Keyword("abstract", true)/*const Keyword("abstract", true)*/;
|
| +var const$284 = new Keyword("assert", true)/*const Keyword("assert", true)*/;
|
| +var const$286 = new Keyword("class", true)/*const Keyword("class", true)*/;
|
| +var const$288 = new Keyword("extends", true)/*const Keyword("extends", true)*/;
|
| +var const$290 = new Keyword("factory", true)/*const Keyword("factory", true)*/;
|
| +var const$292 = new Keyword("get", true)/*const Keyword("get", true)*/;
|
| +var const$294 = new Keyword("implements", true)/*const Keyword("implements", true)*/;
|
| +var const$296 = new Keyword("import", true)/*const Keyword("import", true)*/;
|
| +var const$298 = new Keyword("interface", true)/*const Keyword("interface", true)*/;
|
| +var const$300 = new Keyword("library", true)/*const Keyword("library", true)*/;
|
| +var const$302 = new Keyword("native", true)/*const Keyword("native", true)*/;
|
| +var const$304 = new Keyword("negate", true)/*const Keyword("negate", true)*/;
|
| +var const$306 = new Keyword("operator", true)/*const Keyword("operator", true)*/;
|
| +var const$308 = new Keyword("set", true)/*const Keyword("set", true)*/;
|
| +var const$310 = new Keyword("source", true)/*const Keyword("source", true)*/;
|
| +var const$312 = new Keyword("static", true)/*const Keyword("static", true)*/;
|
| +var const$314 = new Keyword("typedef", true)/*const Keyword("typedef", true)*/;
|
| +var const$318 = new LinkTail()/*const LinkTail()*/;
|
| +var const$319 = new StringWrapper("<")/*const SourceString("<")*/;
|
| +var const$320 = new StringWrapper(".")/*const SourceString(".")*/;
|
| +var const$321 = new StringWrapper(",")/*const SourceString(",")*/;
|
| +var const$322 = new StringWrapper(">")/*const SourceString(">")*/;
|
| +var const$323 = new StringWrapper("{")/*const SourceString("{")*/;
|
| +var const$324 = new StringWrapper("string")/*const SourceString("string")*/;
|
| +var const$325 = new StringWrapper("(")/*const SourceString("(")*/;
|
| +var const$326 = new StringWrapper(")")/*const SourceString(")")*/;
|
| +var const$327 = new StringWrapper(";")/*const SourceString(";")*/;
|
| +var const$328 = new StringWrapper("#")/*const SourceString("#")*/;
|
| +var const$329 = new StringWrapper("=")/*const SourceString("=")*/;
|
| +var const$330 = new StringWrapper("}")/*const SourceString("}")*/;
|
| +var const$331 = new StringWrapper("return")/*const SourceString("return")*/;
|
| +var const$333 = new StringWrapper('print')/*const SourceString('print')*/;
|
| +var const$334 = new StringWrapper('+')/*const SourceString('+')*/;
|
| +var const$336 = new StringWrapper('void')/*const SourceString('void')*/;
|
| +var const$338 = new StringWrapper('int')/*const SourceString('int')*/;
|
| +var const$340 = new StringWrapper('Dynamic')/*const SourceString('Dynamic')*/;
|
| var $0 = 48;
|
| var $1 = 49;
|
| var $2 = 50;
|
| @@ -16025,9 +16059,9 @@
|
| TokenKind.LPAREN = 2;
|
| TokenKind.LT = 52;
|
| TokenKind.LTE = 54;
|
| -Duration.MILLISECONDS_PER_DAY = 86400000/*MILLISECONDS_PER_HOUR * HOURS_PER_DAY*/;
|
| -Duration.MILLISECONDS_PER_HOUR = 3600000/*MILLISECONDS_PER_MINUTE * MINUTES_PER_HOUR*/;
|
| -Duration.MILLISECONDS_PER_MINUTE = 60000/*MILLISECONDS_PER_SECOND * SECONDS_PER_MINUTE*/;
|
| +Duration.MILLISECONDS_PER_DAY = 86400000.000000/*MILLISECONDS_PER_HOUR * HOURS_PER_DAY*/;
|
| +Duration.MILLISECONDS_PER_HOUR = 3600000.000000/*MILLISECONDS_PER_MINUTE * MINUTES_PER_HOUR*/;
|
| +Duration.MILLISECONDS_PER_MINUTE = 60000.000000/*MILLISECONDS_PER_SECOND * SECONDS_PER_MINUTE*/;
|
| Duration.MILLISECONDS_PER_SECOND = 1000;
|
| Duration.MINUTES_PER_HOUR = 60;
|
| TokenKind.MOD = 47;
|
| @@ -16081,54 +16115,54 @@
|
| TokenKind.WHITESPACE = 62;
|
| HashMapImplementation._INITIAL_CAPACITY = 8;
|
| var _SPAWNED_SIGNAL = "spawned";
|
| -var const$134 = new SimpleType(const$133)/*const SimpleType(const SourceString('void'))*/;
|
| -var const$136 = new SimpleType(const$135)/*const SimpleType(const SourceString('int'))*/;
|
| -var const$138 = new SimpleType(const$137)/*const SimpleType(const SourceString('Dynamic'))*/;
|
| -Keyword.ABSTRACT = const$292/*const Keyword("abstract", true)*/;
|
| -Keyword.ASSERT = const$294/*const Keyword("assert", true)*/;
|
| -Keyword.BREAK = const$238/*const Keyword("break")*/;
|
| -Keyword.CASE = const$240/*const Keyword("case")*/;
|
| -Keyword.CATCH = const$242/*const Keyword("catch")*/;
|
| -Keyword.CLASS = const$296/*const Keyword("class", true)*/;
|
| -Keyword.CONST = const$244/*const Keyword("const")*/;
|
| -Keyword.CONTINUE = const$246/*const Keyword("continue")*/;
|
| -Keyword.DEFAULT = const$248/*const Keyword("default")*/;
|
| -Keyword.DO = const$250/*const Keyword("do")*/;
|
| -Keyword.ELSE = const$252/*const Keyword("else")*/;
|
| -Keyword.EXTENDS = const$298/*const Keyword("extends", true)*/;
|
| -Keyword.FACTORY = const$300/*const Keyword("factory", true)*/;
|
| -Keyword.FALSE = const$254/*const Keyword("false")*/;
|
| -Keyword.FINAL = const$256/*const Keyword("final")*/;
|
| -Keyword.FINALLY = const$258/*const Keyword("finally")*/;
|
| -Keyword.FOR = const$260/*const Keyword("for")*/;
|
| -Keyword.GET = const$302/*const Keyword("get", true)*/;
|
| -Keyword.IF = const$262/*const Keyword("if")*/;
|
| -Keyword.IMPLEMENTS = const$304/*const Keyword("implements", true)*/;
|
| -Keyword.IMPORT = const$306/*const Keyword("import", true)*/;
|
| -Keyword.IN = const$264/*const Keyword("in")*/;
|
| -Keyword.INTERFACE = const$308/*const Keyword("interface", true)*/;
|
| -Keyword.IS = const$266/*const Keyword("is")*/;
|
| -Keyword.LIBRARY = const$310/*const Keyword("library", true)*/;
|
| -Keyword.NATIVE = const$312/*const Keyword("native", true)*/;
|
| -Keyword.NEGATE = const$314/*const Keyword("negate", true)*/;
|
| -Keyword.NEW = const$268/*const Keyword("new")*/;
|
| -Keyword.NULL = const$270/*const Keyword("null")*/;
|
| -Keyword.OPERATOR = const$316/*const Keyword("operator", true)*/;
|
| -Keyword.RETURN = const$272/*const Keyword("return")*/;
|
| -Keyword.SET = const$318/*const Keyword("set", true)*/;
|
| -Keyword.SOURCE = const$320/*const Keyword("source", true)*/;
|
| -Keyword.STATIC = const$322/*const Keyword("static", true)*/;
|
| -Keyword.SUPER = const$274/*const Keyword("super")*/;
|
| -Keyword.SWITCH = const$276/*const Keyword("switch")*/;
|
| -Keyword.THIS = const$278/*const Keyword("this")*/;
|
| -Keyword.THROW = const$280/*const Keyword("throw")*/;
|
| -Keyword.TRUE = const$282/*const Keyword("true")*/;
|
| -Keyword.TRY = const$284/*const Keyword("try")*/;
|
| -Keyword.TYPEDEF = const$324/*const Keyword("typedef", true)*/;
|
| -Keyword.VAR = const$286/*const Keyword("var")*/;
|
| -Keyword.VOID = const$288/*const Keyword("void")*/;
|
| -Keyword.WHILE = const$290/*const Keyword("while")*/;
|
| -var const$326 = [const$238, const$240, const$242, const$244, const$246, const$248, const$250, const$252, const$254, const$256, const$258, const$260, const$262, const$264, const$266, const$268, const$270, const$272, const$274, const$276, const$278, const$280, const$282, const$284, const$286, const$288, const$290, const$292, const$294, const$296, const$298, const$300, const$302, const$304, const$306, const$308, const$310, const$312, const$314, const$316, const$318, const$320, const$322, const$324]/*const <Keyword> [
|
| +var const$337 = new SimpleType(const$336)/*const SimpleType(const SourceString('void'))*/;
|
| +var const$339 = new SimpleType(const$338)/*const SimpleType(const SourceString('int'))*/;
|
| +var const$341 = new SimpleType(const$340)/*const SimpleType(const SourceString('Dynamic'))*/;
|
| +Keyword.ABSTRACT = const$282/*const Keyword("abstract", true)*/;
|
| +Keyword.ASSERT = const$284/*const Keyword("assert", true)*/;
|
| +Keyword.BREAK = const$228/*const Keyword("break")*/;
|
| +Keyword.CASE = const$230/*const Keyword("case")*/;
|
| +Keyword.CATCH = const$232/*const Keyword("catch")*/;
|
| +Keyword.CLASS = const$286/*const Keyword("class", true)*/;
|
| +Keyword.CONST = const$234/*const Keyword("const")*/;
|
| +Keyword.CONTINUE = const$236/*const Keyword("continue")*/;
|
| +Keyword.DEFAULT = const$238/*const Keyword("default")*/;
|
| +Keyword.DO = const$240/*const Keyword("do")*/;
|
| +Keyword.ELSE = const$242/*const Keyword("else")*/;
|
| +Keyword.EXTENDS = const$288/*const Keyword("extends", true)*/;
|
| +Keyword.FACTORY = const$290/*const Keyword("factory", true)*/;
|
| +Keyword.FALSE = const$244/*const Keyword("false")*/;
|
| +Keyword.FINAL = const$246/*const Keyword("final")*/;
|
| +Keyword.FINALLY = const$248/*const Keyword("finally")*/;
|
| +Keyword.FOR = const$250/*const Keyword("for")*/;
|
| +Keyword.GET = const$292/*const Keyword("get", true)*/;
|
| +Keyword.IF = const$252/*const Keyword("if")*/;
|
| +Keyword.IMPLEMENTS = const$294/*const Keyword("implements", true)*/;
|
| +Keyword.IMPORT = const$296/*const Keyword("import", true)*/;
|
| +Keyword.IN = const$254/*const Keyword("in")*/;
|
| +Keyword.INTERFACE = const$298/*const Keyword("interface", true)*/;
|
| +Keyword.IS = const$256/*const Keyword("is")*/;
|
| +Keyword.LIBRARY = const$300/*const Keyword("library", true)*/;
|
| +Keyword.NATIVE = const$302/*const Keyword("native", true)*/;
|
| +Keyword.NEGATE = const$304/*const Keyword("negate", true)*/;
|
| +Keyword.NEW = const$258/*const Keyword("new")*/;
|
| +Keyword.NULL = const$260/*const Keyword("null")*/;
|
| +Keyword.OPERATOR = const$306/*const Keyword("operator", true)*/;
|
| +Keyword.RETURN = const$262/*const Keyword("return")*/;
|
| +Keyword.SET = const$308/*const Keyword("set", true)*/;
|
| +Keyword.SOURCE = const$310/*const Keyword("source", true)*/;
|
| +Keyword.STATIC = const$312/*const Keyword("static", true)*/;
|
| +Keyword.SUPER = const$264/*const Keyword("super")*/;
|
| +Keyword.SWITCH = const$266/*const Keyword("switch")*/;
|
| +Keyword.THIS = const$268/*const Keyword("this")*/;
|
| +Keyword.THROW = const$270/*const Keyword("throw")*/;
|
| +Keyword.TRUE = const$272/*const Keyword("true")*/;
|
| +Keyword.TRY = const$274/*const Keyword("try")*/;
|
| +Keyword.TYPEDEF = const$314/*const Keyword("typedef", true)*/;
|
| +Keyword.VAR = const$276/*const Keyword("var")*/;
|
| +Keyword.VOID = const$278/*const Keyword("void")*/;
|
| +Keyword.WHILE = const$280/*const Keyword("while")*/;
|
| +var const$316 = [const$228, const$230, const$232, const$234, const$236, const$238, const$240, const$242, const$244, const$246, const$248, const$250, const$252, const$254, const$256, const$258, const$260, const$262, const$264, const$266, const$268, const$270, const$272, const$274, const$276, const$278, const$280, const$282, const$284, const$286, const$288, const$290, const$292, const$294, const$296, const$298, const$300, const$302, const$304, const$306, const$308, const$310, const$312, const$314]/*const <Keyword> [
|
| BREAK,
|
| CASE,
|
| CATCH,
|
| @@ -16173,7 +16207,7 @@
|
| SOURCE,
|
| STATIC,
|
| TYPEDEF ]*/;
|
| -Keyword.values = const$326/*const <Keyword> [
|
| +Keyword.values = const$316/*const <Keyword> [
|
| BREAK,
|
| CASE,
|
| CATCH,
|
|
|