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

Side by Side Diff: frogsh

Issue 8399010: Fixed compiler so that it passes Switch1NegativeTest.dart. (Closed) Base URL: http://dart.googlecode.com/svn/experimental/frog/
Patch Set: '' Created 9 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « no previous file | gen.dart » ('j') | gen.dart » ('J')
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 #!/usr/bin/env node 1 #!/usr/bin/env node
2 // ********** Library dart:core ************** 2 // ********** Library dart:core **************
3 // ********** Natives core.js ************** 3 // ********** Natives core.js **************
4 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file 4 // Copyright (c) 2011, the Dart project authors. Please see the AUTHORS file
5 // for details. All rights reserved. Use of this source code is governed by a 5 // for details. All rights reserved. Use of this source code is governed by a
6 // BSD-style license that can be found in the LICENSE file. 6 // BSD-style license that can be found in the LICENSE file.
7 7
8 // TODO(jimhug): Completeness - see tests/corelib 8 // TODO(jimhug): Completeness - see tests/corelib
9 9
10 /** Implements extends for dart classes on javascript prototypes. */ 10 /** Implements extends for dart classes on javascript prototypes. */
(...skipping 265 matching lines...) Expand 10 before | Expand all | Expand 10 after
276 function AssertError() {} 276 function AssertError() {}
277 AssertError.prototype.toString = function() { 277 AssertError.prototype.toString = function() {
278 return ("Failed assertion: '" + this.failedAssertion + "' is not true ") + ("i n " + this.url + " at line " + this.line + ", column " + this.column + "."); 278 return ("Failed assertion: '" + this.failedAssertion + "' is not true ") + ("i n " + this.url + " at line " + this.line + ", column " + this.column + ".");
279 } 279 }
280 // ********** Code for TypeError ************** 280 // ********** Code for TypeError **************
281 function TypeError() {} 281 function TypeError() {}
282 $inherits(TypeError, AssertError); 282 $inherits(TypeError, AssertError);
283 TypeError.prototype.toString = function() { 283 TypeError.prototype.toString = function() {
284 return ("Failed type check: type " + this.srcType + " is not assignable to typ e ") + ("" + this.dstType + " of " + this.dstName + " in " + this.url + " at lin e ") + ("" + this.line + ", column " + this.column + "."); 284 return ("Failed type check: type " + this.srcType + " is not assignable to typ e ") + ("" + this.dstType + " of " + this.dstName + " in " + this.url + " at lin e ") + ("" + this.line + ", column " + this.column + ".");
285 } 285 }
286 // ********** Code for FallThroughError **************
287 function FallThroughError() {}
288 FallThroughError.prototype.toString = function() {
289 return ("Switch case fall-through in " + this.url + " at line " + this.line + ".");
290 }
286 // ********** Code for Object ************** 291 // ********** Code for Object **************
287 Object.prototype.get$dynamic = function() { 292 Object.prototype.get$dynamic = function() {
288 return this; 293 return this;
289 } 294 }
290 Object.prototype.forEach$1 = function(f) { 295 Object.prototype.forEach$1 = function(f) {
291 return this.forEach(to$call$1(f)); 296 return this.forEach(to$call$1(f));
292 } 297 }
293 function Duration() {} 298 function Duration() {}
294 // ********** Code for IndexOutOfRangeException ************** 299 // ********** Code for IndexOutOfRangeException **************
295 function IndexOutOfRangeException() {} 300 function IndexOutOfRangeException() {}
296 IndexOutOfRangeException.prototype.toString = function() { 301 IndexOutOfRangeException.prototype.toString = function() {
297 return ("IndexOutOfRangeException: " + this._dart_core_index + ""); 302 return ("IndexOutOfRangeException: " + this._index + "");
298 } 303 }
299 // ********** Code for NoSuchMethodException ************** 304 // ********** Code for NoSuchMethodException **************
300 function NoSuchMethodException() {} 305 function NoSuchMethodException() {}
301 NoSuchMethodException.prototype.toString = function() { 306 NoSuchMethodException.prototype.toString = function() {
302 var sb = new StringBufferImpl(""); 307 var sb = new StringBufferImpl("");
303 for (var i = 0; 308 for (var i = 0;
304 i < this._arguments.length; i++) { 309 i < this._arguments.length; i++) {
305 if (i > 0) { 310 if (i > 0) {
306 sb.add(", "); 311 sb.add(", ");
307 } 312 }
(...skipping 22 matching lines...) Expand all
330 // ********** Code for EmptyQueueException ************** 335 // ********** Code for EmptyQueueException **************
331 function EmptyQueueException() { 336 function EmptyQueueException() {
332 // Initializers done 337 // Initializers done
333 } 338 }
334 EmptyQueueException.prototype.toString = function() { 339 EmptyQueueException.prototype.toString = function() {
335 return "EmptyQueueException"; 340 return "EmptyQueueException";
336 } 341 }
337 // ********** Code for UnsupportedOperationException ************** 342 // ********** Code for UnsupportedOperationException **************
338 function UnsupportedOperationException() {} 343 function UnsupportedOperationException() {}
339 UnsupportedOperationException.prototype.toString = function() { 344 UnsupportedOperationException.prototype.toString = function() {
340 return ("UnsupportedOperationException: " + this._dart_core_message + ""); 345 return ("UnsupportedOperationException: " + this._message + "");
341 } 346 }
342 // ********** Code for IllegalJSRegExpException ************** 347 // ********** Code for IllegalJSRegExpException **************
343 function IllegalJSRegExpException() {} 348 function IllegalJSRegExpException() {}
344 IllegalJSRegExpException.prototype.toString = function() { 349 IllegalJSRegExpException.prototype.toString = function() {
345 return ("IllegalJSRegExpException: '" + this._pattern + "' '" + this._errmsg + "'"); 350 return ("IllegalJSRegExpException: '" + this._pattern + "' '" + this._errmsg + "'");
346 } 351 }
347 // ********** Code for ExpectException ************** 352 // ********** Code for ExpectException **************
348 function ExpectException() {} 353 function ExpectException() {}
349 ExpectException.prototype.toString = function() { 354 ExpectException.prototype.toString = function() {
350 return this.message; 355 return this.message;
(...skipping 90 matching lines...) Expand 10 before | Expand all | Expand 10 after
441 function ListIterator(array) { 446 function ListIterator(array) {
442 this._array = array; 447 this._array = array;
443 this._pos = 0; 448 this._pos = 0;
444 // Initializers done 449 // Initializers done
445 } 450 }
446 ListIterator.prototype.hasNext = function() { 451 ListIterator.prototype.hasNext = function() {
447 return this._array.length > this._pos; 452 return this._array.length > this._pos;
448 } 453 }
449 ListIterator.prototype.next = function() { 454 ListIterator.prototype.next = function() {
450 if (!this.hasNext()) { 455 if (!this.hasNext()) {
451 $throw(const$9/*const NoMoreElementsException()*/); 456 $throw(const$121/*const NoMoreElementsException()*/);
452 } 457 }
453 return this._array.$index(this._pos++); 458 return this._array.$index(this._pos++);
454 } 459 }
455 // ********** Code for JSSyntaxRegExp ************** 460 // ********** Code for JSSyntaxRegExp **************
456 function JSSyntaxRegExp() {} 461 function JSSyntaxRegExp() {}
457 JSSyntaxRegExp._create$ctor = function(pattern, flags) { 462 JSSyntaxRegExp._create$ctor = function(pattern, flags) {
458 this.re = new RegExp(pattern, flags); 463 this.re = new RegExp(pattern, flags);
459 this.pattern = pattern; 464 this.pattern = pattern;
460 this.multiLine = this.re.multiline; 465 this.multiLine = this.re.multiline;
461 this.ignoreCase = this.re.ignoreCase; 466 this.ignoreCase = this.re.ignoreCase;
(...skipping 16 matching lines...) Expand all
478 } 483 }
479 // ********** Code for _AllMatchesIterator ************** 484 // ********** Code for _AllMatchesIterator **************
480 function _AllMatchesIterator(re, _str) { 485 function _AllMatchesIterator(re, _str) {
481 this._str = _str; 486 this._str = _str;
482 this._done = false; 487 this._done = false;
483 this._re = new JSSyntaxRegExp._create$ctor(re.pattern, 'g' + (re.multiLine ? ' m' : '') + (re.ignoreCase ? 'i' : '')); 488 this._re = new JSSyntaxRegExp._create$ctor(re.pattern, 'g' + (re.multiLine ? ' m' : '') + (re.ignoreCase ? 'i' : ''));
484 // Initializers done 489 // Initializers done
485 } 490 }
486 _AllMatchesIterator.prototype.next = function() { 491 _AllMatchesIterator.prototype.next = function() {
487 if (!this.hasNext()) { 492 if (!this.hasNext()) {
488 $throw(const$9/*const NoMoreElementsException()*/); 493 $throw(const$121/*const NoMoreElementsException()*/);
489 } 494 }
490 var next = this._next; 495 var next = this._next;
491 this._next = null; 496 this._next = null;
492 return next; 497 return next;
493 } 498 }
494 _AllMatchesIterator.prototype.hasNext = function() { 499 _AllMatchesIterator.prototype.hasNext = function() {
495 if (this._done) { 500 if (this._done) {
496 return false; 501 return false;
497 } 502 }
498 else if (this._next) { 503 else if (this._next) {
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
530 535
531 if (truncated == -0.0) return 0; 536 if (truncated == -0.0) return 0;
532 return truncated; 537 return truncated;
533 } 538 }
534 NumImplementation.prototype.toDouble = function() { 539 NumImplementation.prototype.toDouble = function() {
535 return this + 0; 540 return this + 0;
536 } 541 }
537 NumImplementation.prototype.compareTo = function(other) { 542 NumImplementation.prototype.compareTo = function(other) {
538 var thisValue = this.toDouble(); 543 var thisValue = this.toDouble();
539 if (thisValue < other) { 544 if (thisValue < other) {
540 return -1; 545 return -1.000000/*-1*/;
jimhug 2011/10/27 17:45:11 It looks like you didn't do a "true" selfhost buil
541 } 546 }
542 else if (thisValue > other) { 547 else if (thisValue > other) {
543 return 1; 548 return 1;
544 } 549 }
545 else if (thisValue == other) { 550 else if (thisValue == other) {
546 if (thisValue == 0) { 551 if (thisValue == 0) {
547 var thisIsNegative = this.isNegative(); 552 var thisIsNegative = this.isNegative();
548 var otherIsNegative = other.isNegative(); 553 var otherIsNegative = other.isNegative();
549 if ($eq(thisIsNegative, otherIsNegative)) return 0; 554 if ($eq(thisIsNegative, otherIsNegative)) return 0;
550 if (thisIsNegative) return -1; 555 if (thisIsNegative) return -1.000000/*-1*/;
551 return 1; 556 return 1;
552 } 557 }
553 return 0; 558 return 0;
554 } 559 }
555 else if (this.isNaN()) { 560 else if (this.isNaN()) {
556 if (other.isNaN()) { 561 if (other.isNaN()) {
557 return 0; 562 return 0;
558 } 563 }
559 return 1; 564 return 1;
560 } 565 }
561 else { 566 else {
562 return -1; 567 return -1.000000/*-1*/;
563 } 568 }
564 } 569 }
565 // ********** Code for DurationImplementation ************** 570 // ********** Code for DurationImplementation **************
566 function DurationImplementation(days, hours, minutes, seconds, milliseconds) { 571 function DurationImplementation(days, hours, minutes, seconds, milliseconds) {
567 this._durationInMilliseconds = days * 86400000/*Duration.MILLISECONDS_PER_DAY* / + hours * 3600000/*Duration.MILLISECONDS_PER_HOUR*/ + minutes * 60000/*Duratio n.MILLISECONDS_PER_MINUTE*/ + seconds * 1000/*Duration.MILLISECONDS_PER_SECOND*/ + milliseconds; 572 this._durationInMilliseconds = days * 86400000.000000/*Duration.MILLISECONDS_P ER_DAY*/ + hours * 3600000.000000/*Duration.MILLISECONDS_PER_HOUR*/ + minutes * 60000.000000/*Duration.MILLISECONDS_PER_MINUTE*/ + seconds * 1000/*Duration.MILL ISECONDS_PER_SECOND*/ + milliseconds;
568 // Initializers done 573 // Initializers done
569 } 574 }
570 DurationImplementation.prototype.get$inHours = function() { 575 DurationImplementation.prototype.get$inHours = function() {
571 return $truncdiv(this._durationInMilliseconds, 3600000/*Duration.MILLISECONDS_ PER_HOUR*/); 576 return $truncdiv(this._durationInMilliseconds, 3600000.000000/*Duration.MILLIS ECONDS_PER_HOUR*/);
572 } 577 }
573 DurationImplementation.prototype.get$inMinutes = function() { 578 DurationImplementation.prototype.get$inMinutes = function() {
574 return $truncdiv(this._durationInMilliseconds, 60000/*Duration.MILLISECONDS_PE R_MINUTE*/); 579 return $truncdiv(this._durationInMilliseconds, 60000.000000/*Duration.MILLISEC ONDS_PER_MINUTE*/);
575 } 580 }
576 DurationImplementation.prototype.get$inSeconds = function() { 581 DurationImplementation.prototype.get$inSeconds = function() {
577 return $truncdiv(this._durationInMilliseconds, 1000/*Duration.MILLISECONDS_PER _SECOND*/); 582 return $truncdiv(this._durationInMilliseconds, 1000/*Duration.MILLISECONDS_PER _SECOND*/);
578 } 583 }
579 DurationImplementation.prototype.get$inMilliseconds = function() { 584 DurationImplementation.prototype.get$inMilliseconds = function() {
580 return this._durationInMilliseconds; 585 return this._durationInMilliseconds;
581 } 586 }
582 DurationImplementation.prototype.$eq = function(other) { 587 DurationImplementation.prototype.$eq = function(other) {
583 if (!((other instanceof DurationImplementation))) return false; 588 if (!((other instanceof DurationImplementation))) return false;
584 return this._durationInMilliseconds == other.get$inMilliseconds(); 589 return this._durationInMilliseconds == other.get$inMilliseconds();
(...skipping 54 matching lines...) Expand 10 before | Expand all | Expand 10 after
639 HashMapImplementation._firstProbe = function(hashCode, length) { 644 HashMapImplementation._firstProbe = function(hashCode, length) {
640 return hashCode & (length - 1); 645 return hashCode & (length - 1);
641 } 646 }
642 HashMapImplementation._nextProbe = function(currentProbe, numberOfProbes, length ) { 647 HashMapImplementation._nextProbe = function(currentProbe, numberOfProbes, length ) {
643 return (currentProbe + numberOfProbes) & (length - 1); 648 return (currentProbe + numberOfProbes) & (length - 1);
644 } 649 }
645 HashMapImplementation.prototype._probeForAdding = function(key) { 650 HashMapImplementation.prototype._probeForAdding = function(key) {
646 var hash = HashMapImplementation._firstProbe(key.hashCode(), this._keys.length ); 651 var hash = HashMapImplementation._firstProbe(key.hashCode(), this._keys.length );
647 var numberOfProbes = 1; 652 var numberOfProbes = 1;
648 var initialHash = hash; 653 var initialHash = hash;
649 var insertionIndex = -1; 654 var insertionIndex = -1.000000/*-1*/;
650 while (true) { 655 while (true) {
651 var existingKey = this._keys.$index(hash); 656 var existingKey = this._keys.$index(hash);
652 if (existingKey == null) { 657 if (existingKey == null) {
653 if (insertionIndex < 0) return hash; 658 if (insertionIndex < 0) return hash;
654 return insertionIndex; 659 return insertionIndex;
655 } 660 }
656 else if ($eq(existingKey, key)) { 661 else if ($eq(existingKey, key)) {
657 return hash; 662 return hash;
658 } 663 }
659 else if ((insertionIndex < 0) && (HashMapImplementation._deletedKey === exis tingKey)) { 664 else if ((insertionIndex < 0) && (HashMapImplementation._deletedKey === exis tingKey)) {
660 insertionIndex = hash; 665 insertionIndex = hash;
661 } 666 }
662 hash = HashMapImplementation._nextProbe(hash, numberOfProbes++, this._keys.l ength); 667 hash = HashMapImplementation._nextProbe(hash, numberOfProbes++, this._keys.l ength);
663 } 668 }
664 } 669 }
665 HashMapImplementation.prototype._probeForLookup = function(key) { 670 HashMapImplementation.prototype._probeForLookup = function(key) {
666 var hash = HashMapImplementation._firstProbe(key.hashCode(), this._keys.length ); 671 var hash = HashMapImplementation._firstProbe(key.hashCode(), this._keys.length );
667 var numberOfProbes = 1; 672 var numberOfProbes = 1;
668 var initialHash = hash; 673 var initialHash = hash;
669 while (true) { 674 while (true) {
670 var existingKey = this._keys.$index(hash); 675 var existingKey = this._keys.$index(hash);
671 if (existingKey == null) return -1; 676 if (existingKey == null) return -1.000000/*-1*/;
672 if ($eq(existingKey, key)) return hash; 677 if ($eq(existingKey, key)) return hash;
673 hash = HashMapImplementation._nextProbe(hash, numberOfProbes++, this._keys.l ength); 678 hash = HashMapImplementation._nextProbe(hash, numberOfProbes++, this._keys.l ength);
674 } 679 }
675 } 680 }
676 HashMapImplementation.prototype._ensureCapacity = function() { 681 HashMapImplementation.prototype._ensureCapacity = function() {
677 var newNumberOfEntries = this._numberOfEntries + 1; 682 var newNumberOfEntries = this._numberOfEntries + 1;
678 if (newNumberOfEntries >= this._loadLimit) { 683 if (newNumberOfEntries >= this._loadLimit) {
679 this._grow(this._keys.length * 2); 684 this._grow(this._keys.length * 2);
680 return; 685 return;
681 } 686 }
(...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after
765 HashMapImplementation.prototype.getValues = function() { 770 HashMapImplementation.prototype.getValues = function() {
766 var list = new ListFactory$V(this.get$length()); 771 var list = new ListFactory$V(this.get$length());
767 var i = 0; 772 var i = 0;
768 this.forEach(function _(key, value) { 773 this.forEach(function _(key, value) {
769 list.$setindex(i++, value); 774 list.$setindex(i++, value);
770 } 775 }
771 ); 776 );
772 return list; 777 return list;
773 } 778 }
774 HashMapImplementation.prototype.containsKey = function(key) { 779 HashMapImplementation.prototype.containsKey = function(key) {
775 return (this._probeForLookup(key) != -1); 780 return (this._probeForLookup(key) != -1.000000/*-1*/);
776 } 781 }
777 HashMapImplementation.prototype.forEach$1 = HashMapImplementation.prototype.forE ach; 782 HashMapImplementation.prototype.forEach$1 = HashMapImplementation.prototype.forE ach;
778 // ********** Code for HashMapImplementation$E$E ************** 783 // ********** Code for HashMapImplementation$E$E **************
779 function HashMapImplementation$E$E() { 784 function HashMapImplementation$E$E() {
780 // Initializers done 785 // Initializers done
781 if (HashMapImplementation._deletedKey == null) { 786 if (HashMapImplementation._deletedKey == null) {
782 HashMapImplementation._deletedKey = new Object(); 787 HashMapImplementation._deletedKey = new Object();
783 } 788 }
784 this._numberOfEntries = 0; 789 this._numberOfEntries = 0;
785 this._numberOfDeleted = 0; 790 this._numberOfDeleted = 0;
786 this._loadLimit = HashMapImplementation._computeLoadLimit(8/*HashMapImplementa tion._INITIAL_CAPACITY*/); 791 this._loadLimit = HashMapImplementation._computeLoadLimit(8/*HashMapImplementa tion._INITIAL_CAPACITY*/);
787 this._keys = new ListFactory(8/*HashMapImplementation._INITIAL_CAPACITY*/); 792 this._keys = new ListFactory(8/*HashMapImplementation._INITIAL_CAPACITY*/);
788 this._values = new ListFactory$E(8/*HashMapImplementation._INITIAL_CAPACITY*/) ; 793 this._values = new ListFactory$E(8/*HashMapImplementation._INITIAL_CAPACITY*/) ;
789 } 794 }
790 $inherits(HashMapImplementation$E$E, HashMapImplementation); 795 $inherits(HashMapImplementation$E$E, HashMapImplementation);
791 HashMapImplementation$E$E._computeLoadLimit = function(capacity) { 796 HashMapImplementation$E$E._computeLoadLimit = function(capacity) {
792 return $truncdiv((capacity * 3), 4); 797 return $truncdiv((capacity * 3), 4);
793 } 798 }
794 HashMapImplementation$E$E._firstProbe = function(hashCode, length) { 799 HashMapImplementation$E$E._firstProbe = function(hashCode, length) {
795 return hashCode & (length - 1); 800 return hashCode & (length - 1);
796 } 801 }
797 HashMapImplementation$E$E._nextProbe = function(currentProbe, numberOfProbes, le ngth) { 802 HashMapImplementation$E$E._nextProbe = function(currentProbe, numberOfProbes, le ngth) {
798 return (currentProbe + numberOfProbes) & (length - 1); 803 return (currentProbe + numberOfProbes) & (length - 1);
799 } 804 }
800 HashMapImplementation$E$E.prototype._probeForAdding = function(key) { 805 HashMapImplementation$E$E.prototype._probeForAdding = function(key) {
801 var hash = HashMapImplementation._firstProbe(key.hashCode(), this._keys.length ); 806 var hash = HashMapImplementation._firstProbe(key.hashCode(), this._keys.length );
802 var numberOfProbes = 1; 807 var numberOfProbes = 1;
803 var initialHash = hash; 808 var initialHash = hash;
804 var insertionIndex = -1; 809 var insertionIndex = -1.000000/*-1*/;
805 while (true) { 810 while (true) {
806 var existingKey = this._keys.$index(hash); 811 var existingKey = this._keys.$index(hash);
807 if (existingKey == null) { 812 if (existingKey == null) {
808 if (insertionIndex < 0) return hash; 813 if (insertionIndex < 0) return hash;
809 return insertionIndex; 814 return insertionIndex;
810 } 815 }
811 else if ($eq(existingKey, key)) { 816 else if ($eq(existingKey, key)) {
812 return hash; 817 return hash;
813 } 818 }
814 else if ((insertionIndex < 0) && (HashMapImplementation._deletedKey === exis tingKey)) { 819 else if ((insertionIndex < 0) && (HashMapImplementation._deletedKey === exis tingKey)) {
815 insertionIndex = hash; 820 insertionIndex = hash;
816 } 821 }
817 hash = HashMapImplementation._nextProbe(hash, numberOfProbes++, this._keys.l ength); 822 hash = HashMapImplementation._nextProbe(hash, numberOfProbes++, this._keys.l ength);
818 } 823 }
819 } 824 }
820 HashMapImplementation$E$E.prototype._probeForLookup = function(key) { 825 HashMapImplementation$E$E.prototype._probeForLookup = function(key) {
821 var hash = HashMapImplementation._firstProbe(key.hashCode(), this._keys.length ); 826 var hash = HashMapImplementation._firstProbe(key.hashCode(), this._keys.length );
822 var numberOfProbes = 1; 827 var numberOfProbes = 1;
823 var initialHash = hash; 828 var initialHash = hash;
824 while (true) { 829 while (true) {
825 var existingKey = this._keys.$index(hash); 830 var existingKey = this._keys.$index(hash);
826 if (existingKey == null) return -1; 831 if (existingKey == null) return -1.000000/*-1*/;
827 if ($eq(existingKey, key)) return hash; 832 if ($eq(existingKey, key)) return hash;
828 hash = HashMapImplementation._nextProbe(hash, numberOfProbes++, this._keys.l ength); 833 hash = HashMapImplementation._nextProbe(hash, numberOfProbes++, this._keys.l ength);
829 } 834 }
830 } 835 }
831 HashMapImplementation$E$E.prototype._ensureCapacity = function() { 836 HashMapImplementation$E$E.prototype._ensureCapacity = function() {
832 var newNumberOfEntries = this._numberOfEntries + 1; 837 var newNumberOfEntries = this._numberOfEntries + 1;
833 if (newNumberOfEntries >= this._loadLimit) { 838 if (newNumberOfEntries >= this._loadLimit) {
834 this._grow(this._keys.length * 2); 839 this._grow(this._keys.length * 2);
835 return; 840 return;
836 } 841 }
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
900 HashMapImplementation$E$E.prototype.getKeys = function() { 905 HashMapImplementation$E$E.prototype.getKeys = function() {
901 var list = new ListFactory$E(this.get$length()); 906 var list = new ListFactory$E(this.get$length());
902 var i = 0; 907 var i = 0;
903 this.forEach(function _(key, value) { 908 this.forEach(function _(key, value) {
904 list.$setindex(i++, key); 909 list.$setindex(i++, key);
905 } 910 }
906 ); 911 );
907 return list; 912 return list;
908 } 913 }
909 HashMapImplementation$E$E.prototype.containsKey = function(key) { 914 HashMapImplementation$E$E.prototype.containsKey = function(key) {
910 return (this._probeForLookup(key) != -1); 915 return (this._probeForLookup(key) != -1.000000/*-1*/);
911 } 916 }
912 // ********** Code for HashMapImplementation$K$DoubleLinkedQueueEntry$KeyValuePa ir$K$V ************** 917 // ********** Code for HashMapImplementation$K$DoubleLinkedQueueEntry$KeyValuePa ir$K$V **************
913 function HashMapImplementation$K$DoubleLinkedQueueEntry$KeyValuePair$K$V() { 918 function HashMapImplementation$K$DoubleLinkedQueueEntry$KeyValuePair$K$V() {
914 // Initializers done 919 // Initializers done
915 if (HashMapImplementation._deletedKey == null) { 920 if (HashMapImplementation._deletedKey == null) {
916 HashMapImplementation._deletedKey = new Object(); 921 HashMapImplementation._deletedKey = new Object();
917 } 922 }
918 this._numberOfEntries = 0; 923 this._numberOfEntries = 0;
919 this._numberOfDeleted = 0; 924 this._numberOfDeleted = 0;
920 this._loadLimit = HashMapImplementation._computeLoadLimit(8/*HashMapImplementa tion._INITIAL_CAPACITY*/); 925 this._loadLimit = HashMapImplementation._computeLoadLimit(8/*HashMapImplementa tion._INITIAL_CAPACITY*/);
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
1020 } 1025 }
1021 HashSetImplementation.prototype.forEach$1 = HashSetImplementation.prototype.forE ach; 1026 HashSetImplementation.prototype.forEach$1 = HashSetImplementation.prototype.forE ach;
1022 // ********** Code for HashSetImplementation$E ************** 1027 // ********** Code for HashSetImplementation$E **************
1023 function HashSetImplementation$E() { 1028 function HashSetImplementation$E() {
1024 // Initializers done 1029 // Initializers done
1025 this._backingMap = new HashMapImplementation$E$E(); 1030 this._backingMap = new HashMapImplementation$E$E();
1026 } 1031 }
1027 $inherits(HashSetImplementation$E, HashSetImplementation); 1032 $inherits(HashSetImplementation$E, HashSetImplementation);
1028 // ********** Code for HashSetIterator ************** 1033 // ********** Code for HashSetIterator **************
1029 function HashSetIterator(set_) { 1034 function HashSetIterator(set_) {
1030 this._nextValidIndex = -1; 1035 this._nextValidIndex = -1.000000/*-1*/;
1031 this._entries = set_._backingMap._keys; 1036 this._entries = set_._backingMap._keys;
1032 // Initializers done 1037 // Initializers done
1033 this._advance(); 1038 this._advance();
1034 } 1039 }
1035 HashSetIterator.prototype.hasNext = function() { 1040 HashSetIterator.prototype.hasNext = function() {
1036 if (this._nextValidIndex >= this._entries.length) return false; 1041 if (this._nextValidIndex >= this._entries.length) return false;
1037 if (this._entries.$index(this._nextValidIndex) === HashMapImplementation._dele tedKey) { 1042 if (this._entries.$index(this._nextValidIndex) === HashMapImplementation._dele tedKey) {
1038 this._advance(); 1043 this._advance();
1039 } 1044 }
1040 return this._nextValidIndex < this._entries.length; 1045 return this._nextValidIndex < this._entries.length;
1041 } 1046 }
1042 HashSetIterator.prototype.next = function() { 1047 HashSetIterator.prototype.next = function() {
1043 if (!this.hasNext()) { 1048 if (!this.hasNext()) {
1044 $throw(const$9/*const NoMoreElementsException()*/); 1049 $throw(const$121/*const NoMoreElementsException()*/);
1045 } 1050 }
1046 var res = this._entries.$index(this._nextValidIndex); 1051 var res = this._entries.$index(this._nextValidIndex);
1047 this._advance(); 1052 this._advance();
1048 return res; 1053 return res;
1049 } 1054 }
1050 HashSetIterator.prototype._advance = function() { 1055 HashSetIterator.prototype._advance = function() {
1051 var length = this._entries.length; 1056 var length = this._entries.length;
1052 var entry; 1057 var entry;
1053 var deletedKey = HashMapImplementation._deletedKey; 1058 var deletedKey = HashMapImplementation._deletedKey;
1054 do { 1059 do {
1055 if (++this._nextValidIndex >= length) break; 1060 if (++this._nextValidIndex >= length) break;
1056 entry = this._entries.$index(this._nextValidIndex); 1061 entry = this._entries.$index(this._nextValidIndex);
1057 } 1062 }
1058 while ((entry == null) || (entry === deletedKey)) 1063 while ((entry == null) || (entry === deletedKey))
1059 } 1064 }
1060 // ********** Code for HashSetIterator$E ************** 1065 // ********** Code for HashSetIterator$E **************
1061 function HashSetIterator$E(set_) { 1066 function HashSetIterator$E(set_) {
1062 this._nextValidIndex = -1; 1067 this._nextValidIndex = -1.000000/*-1*/;
1063 this._entries = set_._backingMap._keys; 1068 this._entries = set_._backingMap._keys;
1064 // Initializers done 1069 // Initializers done
1065 this._advance(); 1070 this._advance();
1066 } 1071 }
1067 $inherits(HashSetIterator$E, HashSetIterator); 1072 $inherits(HashSetIterator$E, HashSetIterator);
1068 HashSetIterator$E.prototype._advance = function() { 1073 HashSetIterator$E.prototype._advance = function() {
1069 var length = this._entries.length; 1074 var length = this._entries.length;
1070 var entry; 1075 var entry;
1071 var deletedKey = HashMapImplementation._deletedKey; 1076 var deletedKey = HashMapImplementation._deletedKey;
1072 do { 1077 do {
(...skipping 182 matching lines...) Expand 10 before | Expand all | Expand 10 after
1255 function DoubleLinkedQueueEntry$KeyValuePair$String$Keyword() {} 1260 function DoubleLinkedQueueEntry$KeyValuePair$String$Keyword() {}
1256 $inherits(DoubleLinkedQueueEntry$KeyValuePair$String$Keyword, DoubleLinkedQueueE ntry); 1261 $inherits(DoubleLinkedQueueEntry$KeyValuePair$String$Keyword, DoubleLinkedQueueE ntry);
1257 // ********** Code for _DoubleLinkedQueueEntrySentinel ************** 1262 // ********** Code for _DoubleLinkedQueueEntrySentinel **************
1258 function _DoubleLinkedQueueEntrySentinel() { 1263 function _DoubleLinkedQueueEntrySentinel() {
1259 DoubleLinkedQueueEntry$E.call(this, null); 1264 DoubleLinkedQueueEntry$E.call(this, null);
1260 // Initializers done 1265 // Initializers done
1261 this._link(this, this); 1266 this._link(this, this);
1262 } 1267 }
1263 $inherits(_DoubleLinkedQueueEntrySentinel, DoubleLinkedQueueEntry$E); 1268 $inherits(_DoubleLinkedQueueEntrySentinel, DoubleLinkedQueueEntry$E);
1264 _DoubleLinkedQueueEntrySentinel.prototype.remove = function() { 1269 _DoubleLinkedQueueEntrySentinel.prototype.remove = function() {
1265 $throw(const$10/*const EmptyQueueException()*/); 1270 $throw(const$122/*const EmptyQueueException()*/);
1266 } 1271 }
1267 _DoubleLinkedQueueEntrySentinel.prototype._asNonSentinelEntry = function() { 1272 _DoubleLinkedQueueEntrySentinel.prototype._asNonSentinelEntry = function() {
1268 return null; 1273 return null;
1269 } 1274 }
1270 _DoubleLinkedQueueEntrySentinel.prototype.get$element = function() { 1275 _DoubleLinkedQueueEntrySentinel.prototype.get$element = function() {
1271 $throw(const$10/*const EmptyQueueException()*/); 1276 $throw(const$122/*const EmptyQueueException()*/);
1272 } 1277 }
1273 // ********** Code for _DoubleLinkedQueueEntrySentinel$E ************** 1278 // ********** Code for _DoubleLinkedQueueEntrySentinel$E **************
1274 function _DoubleLinkedQueueEntrySentinel$E() { 1279 function _DoubleLinkedQueueEntrySentinel$E() {
1275 DoubleLinkedQueueEntry$E.call(this, null); 1280 DoubleLinkedQueueEntry$E.call(this, null);
1276 // Initializers done 1281 // Initializers done
1277 this._link(this, this); 1282 this._link(this, this);
1278 } 1283 }
1279 $inherits(_DoubleLinkedQueueEntrySentinel$E, _DoubleLinkedQueueEntrySentinel); 1284 $inherits(_DoubleLinkedQueueEntrySentinel$E, _DoubleLinkedQueueEntrySentinel);
1280 _DoubleLinkedQueueEntrySentinel$E.prototype._link = function(p, n) { 1285 _DoubleLinkedQueueEntrySentinel$E.prototype._link = function(p, n) {
1281 this._next = n; 1286 this._next = n;
(...skipping 161 matching lines...) Expand 10 before | Expand all | Expand 10 after
1443 function _DoubleLinkedQueueIterator(_sentinel) { 1448 function _DoubleLinkedQueueIterator(_sentinel) {
1444 this._sentinel = _sentinel; 1449 this._sentinel = _sentinel;
1445 // Initializers done 1450 // Initializers done
1446 this._currentEntry = this._sentinel; 1451 this._currentEntry = this._sentinel;
1447 } 1452 }
1448 _DoubleLinkedQueueIterator.prototype.hasNext = function() { 1453 _DoubleLinkedQueueIterator.prototype.hasNext = function() {
1449 return this._currentEntry._next !== this._sentinel; 1454 return this._currentEntry._next !== this._sentinel;
1450 } 1455 }
1451 _DoubleLinkedQueueIterator.prototype.next = function() { 1456 _DoubleLinkedQueueIterator.prototype.next = function() {
1452 if (!this.hasNext()) { 1457 if (!this.hasNext()) {
1453 $throw(const$9/*const NoMoreElementsException()*/); 1458 $throw(const$121/*const NoMoreElementsException()*/);
1454 } 1459 }
1455 this._currentEntry = this._currentEntry._next; 1460 this._currentEntry = this._currentEntry._next;
1456 return this._currentEntry.get$element(); 1461 return this._currentEntry.get$element();
1457 } 1462 }
1458 // ********** Code for _DoubleLinkedQueueIterator$E ************** 1463 // ********** Code for _DoubleLinkedQueueIterator$E **************
1459 function _DoubleLinkedQueueIterator$E(_sentinel) { 1464 function _DoubleLinkedQueueIterator$E(_sentinel) {
1460 this._sentinel = _sentinel; 1465 this._sentinel = _sentinel;
1461 // Initializers done 1466 // Initializers done
1462 this._currentEntry = this._sentinel; 1467 this._currentEntry = this._sentinel;
1463 } 1468 }
(...skipping 396 matching lines...) Expand 10 before | Expand all | Expand 10 after
1860 get$vm().runInNewContext(code, 1865 get$vm().runInNewContext(code,
1861 {'require':require, 'process':process, 'console':console}); 1866 {'require':require, 'process':process, 'console':console});
1862 } 1867 }
1863 // ********** Code for ServerRequest ************** 1868 // ********** Code for ServerRequest **************
1864 // ********** Code for Process ************** 1869 // ********** Code for Process **************
1865 // ********** Code for top level ************** 1870 // ********** Code for top level **************
1866 // ********** Library util_implementation ************** 1871 // ********** Library util_implementation **************
1867 // ********** Code for LinkFactory ************** 1872 // ********** Code for LinkFactory **************
1868 function LinkFactory() {} 1873 function LinkFactory() {}
1869 LinkFactory.Link$factory = function(head, tail) { 1874 LinkFactory.Link$factory = function(head, tail) {
1870 return new LinkEntry(head, (tail == null) ? const$325/*const LinkTail()*/ : ta il); 1875 return new LinkEntry(head, (tail == null) ? const$317/*const LinkTail()*/ : ta il);
1871 } 1876 }
1872 LinkFactory.Link$fromList$factory = function(list) { 1877 LinkFactory.Link$fromList$factory = function(list) {
1873 switch (list.length) { 1878 switch (list.length) {
1874 case 0: 1879 case 0:
1875 1880
1876 return const$325/*const LinkTail()*/; 1881 return const$317/*const LinkTail()*/;
1882 $throw(new FallThroughError("./leg/util/link_implementation.dart", 12))
1877 1883
1878 case 1: 1884 case 1:
1879 1885
1880 return LinkFactory.Link$factory(list.$index(0)); 1886 return LinkFactory.Link$factory(list.$index(0));
1887 $throw(new FallThroughError("./leg/util/link_implementation.dart", 14))
1881 1888
1882 case 2: 1889 case 2:
1883 1890
1884 return LinkFactory.Link$factory(list.$index(0), LinkFactory.Link$factory(l ist.$index(1))); 1891 return LinkFactory.Link$factory(list.$index(0), LinkFactory.Link$factory(l ist.$index(1)));
1892 $throw(new FallThroughError("./leg/util/link_implementation.dart", 16))
1885 1893
1886 case 3: 1894 case 3:
1887 1895
1888 return LinkFactory.Link$factory(list.$index(0), LinkFactory.Link$factory(l ist.$index(1), LinkFactory.Link$factory(list.$index(2)))); 1896 return LinkFactory.Link$factory(list.$index(0), LinkFactory.Link$factory(l ist.$index(1), LinkFactory.Link$factory(list.$index(2))));
1889 1897
1890 } 1898 }
1891 var link = LinkFactory.Link$factory(list.last()); 1899 var link = LinkFactory.Link$factory(list.last());
1892 for (var i = list.length - 1; 1900 for (var i = list.length - 1;
1893 i > 0; i--) { 1901 i > 0; i--) {
1894 link = link.prepend(list.$index(i - 1)); 1902 link = link.prepend(list.$index(i - 1));
(...skipping 22 matching lines...) Expand all
1917 // Initializers done 1925 // Initializers done
1918 } 1926 }
1919 $inherits(LinkTail, AbstractLink$T); 1927 $inherits(LinkTail, AbstractLink$T);
1920 LinkTail.prototype.get$head = function() { 1928 LinkTail.prototype.get$head = function() {
1921 return null; 1929 return null;
1922 } 1930 }
1923 LinkTail.prototype.get$tail = function() { 1931 LinkTail.prototype.get$tail = function() {
1924 return null; 1932 return null;
1925 } 1933 }
1926 LinkTail.prototype.toList = function() { 1934 LinkTail.prototype.toList = function() {
1927 return const$8/*const []*/; 1935 return const$120/*const []*/;
1928 } 1936 }
1929 LinkTail.prototype.isEmpty = function() { 1937 LinkTail.prototype.isEmpty = function() {
1930 return true; 1938 return true;
1931 } 1939 }
1932 // ********** Code for LinkEntry ************** 1940 // ********** Code for LinkEntry **************
1933 function LinkEntry(head, realTail) { 1941 function LinkEntry(head, realTail) {
1934 this.head = head; 1942 this.head = head;
1935 this.realTail = realTail; 1943 this.realTail = realTail;
1936 // Initializers done 1944 // Initializers done
1937 } 1945 }
(...skipping 28 matching lines...) Expand all
1966 Element.prototype.get$node = function() { return this.node; }; 1974 Element.prototype.get$node = function() { return this.node; };
1967 Element.prototype.hashCode = function() { 1975 Element.prototype.hashCode = function() {
1968 return this.name.hashCode(); 1976 return this.name.hashCode();
1969 } 1977 }
1970 // ********** Code for top level ************** 1978 // ********** Code for top level **************
1971 // ********** Library scanner ************** 1979 // ********** Library scanner **************
1972 // ********** Code for AbstractScanner ************** 1980 // ********** Code for AbstractScanner **************
1973 function AbstractScanner() {} 1981 function AbstractScanner() {}
1974 AbstractScanner.prototype.tokenize = function() { 1982 AbstractScanner.prototype.tokenize = function() {
1975 var next = this.advance(); 1983 var next = this.advance();
1976 while (next != -1) { 1984 while (next != -1.000000/*-1*/) {
1977 next = this.bigSwitch(next); 1985 next = this.bigSwitch(next);
1978 } 1986 }
1979 return this.firstToken(); 1987 return this.firstToken();
1980 } 1988 }
1981 AbstractScanner.prototype.bigSwitch = function(next) { 1989 AbstractScanner.prototype.bigSwitch = function(next) {
1982 this.beginToken(); 1990 this.beginToken();
1983 switch (next) { 1991 switch (next) {
1984 case 9/*null.$TAB*/: 1992 case 9/*null.$TAB*/:
1985 case 10/*null.$LF*/: 1993 case 10/*null.$LF*/:
1986 case 13/*null.$CR*/: 1994 case 13/*null.$CR*/:
1987 case 32/*null.$SPACE*/: 1995 case 32/*null.$SPACE*/:
1988 1996
1989 this.appendWhiteSpace(next); 1997 this.appendWhiteSpace(next);
1990 return this.advance(); 1998 return this.advance();
1999 $throw(new FallThroughError("./leg/scanner/scanner.dart", 62))
1991 2000
1992 case 60/*null.$LT*/: 2001 case 60/*null.$LT*/:
1993 2002
1994 return this.tokenizeLessThan(next); 2003 return this.tokenizeLessThan(next);
2004 $throw(new FallThroughError("./leg/scanner/scanner.dart", 65))
jimhug 2011/10/27 17:45:11 Hopefully, this code - as well as our other simila
Emily Fortuna 2011/10/27 17:59:04 Yeah, I've reversed this change in r843. Will make
1995 2005
1996 case 62/*null.$GT*/: 2006 case 62/*null.$GT*/:
1997 2007
1998 return this.tokenizeGreaterThan(next); 2008 return this.tokenizeGreaterThan(next);
2009 $throw(new FallThroughError("./leg/scanner/scanner.dart", 68))
1999 2010
2000 case 61/*null.$EQ*/: 2011 case 61/*null.$EQ*/:
2001 2012
2002 return this.tokenizeEquals(next); 2013 return this.tokenizeEquals(next);
2014 $throw(new FallThroughError("./leg/scanner/scanner.dart", 71))
2003 2015
2004 case 33/*null.$BANG*/: 2016 case 33/*null.$BANG*/:
2005 2017
2006 return this.tokenizeExclamation(next); 2018 return this.tokenizeExclamation(next);
2019 $throw(new FallThroughError("./leg/scanner/scanner.dart", 74))
2007 2020
2008 case 43/*null.$PLUS*/: 2021 case 43/*null.$PLUS*/:
2009 2022
2010 return this.tokenizePlus(next); 2023 return this.tokenizePlus(next);
2024 $throw(new FallThroughError("./leg/scanner/scanner.dart", 77))
2011 2025
2012 case 45/*null.$MINUS*/: 2026 case 45/*null.$MINUS*/:
2013 2027
2014 return this.tokenizeMinus(next); 2028 return this.tokenizeMinus(next);
2029 $throw(new FallThroughError("./leg/scanner/scanner.dart", 80))
2015 2030
2016 case 42/*null.$STAR*/: 2031 case 42/*null.$STAR*/:
2017 2032
2018 return this.tokenizeMultiply(next); 2033 return this.tokenizeMultiply(next);
2034 $throw(new FallThroughError("./leg/scanner/scanner.dart", 83))
2019 2035
2020 case 37/*null.$PERCENT*/: 2036 case 37/*null.$PERCENT*/:
2021 2037
2022 return this.tokenizePercent(next); 2038 return this.tokenizePercent(next);
2039 $throw(new FallThroughError("./leg/scanner/scanner.dart", 86))
2023 2040
2024 case 38/*null.$AMPERSAND*/: 2041 case 38/*null.$AMPERSAND*/:
2025 2042
2026 return this.tokenizeAmpersand(next); 2043 return this.tokenizeAmpersand(next);
2044 $throw(new FallThroughError("./leg/scanner/scanner.dart", 89))
2027 2045
2028 case 124/*null.$BAR*/: 2046 case 124/*null.$BAR*/:
2029 2047
2030 return this.tokenizeBar(next); 2048 return this.tokenizeBar(next);
2049 $throw(new FallThroughError("./leg/scanner/scanner.dart", 92))
2031 2050
2032 case 94/*null.$CARET*/: 2051 case 94/*null.$CARET*/:
2033 2052
2034 return this.tokenizeCaret(next); 2053 return this.tokenizeCaret(next);
2054 $throw(new FallThroughError("./leg/scanner/scanner.dart", 95))
2035 2055
2036 case 91/*null.$LBRACKET*/: 2056 case 91/*null.$LBRACKET*/:
2037 2057
2038 return this.tokenizeOpenBracket(next); 2058 return this.tokenizeOpenBracket(next);
2059 $throw(new FallThroughError("./leg/scanner/scanner.dart", 98))
2039 2060
2040 case 126/*null.$TILDE*/: 2061 case 126/*null.$TILDE*/:
2041 2062
2042 return this.tokenizeTilde(next); 2063 return this.tokenizeTilde(next);
2064 $throw(new FallThroughError("./leg/scanner/scanner.dart", 101))
2043 2065
2044 case 92/*null.$BACKSLASH*/: 2066 case 92/*null.$BACKSLASH*/:
2045 2067
2046 this.appendStringToken(next, "\\"); 2068 this.appendStringToken(next, "\\");
2047 return this.advance(); 2069 return this.advance();
2070 $throw(new FallThroughError("./leg/scanner/scanner.dart", 105))
2048 2071
2049 case 35/*null.$HASH*/: 2072 case 35/*null.$HASH*/:
2050 2073
2051 return this.tokenizeTag(next); 2074 return this.tokenizeTag(next);
2075 $throw(new FallThroughError("./leg/scanner/scanner.dart", 108))
2052 2076
2053 case 40/*null.$LPAREN*/: 2077 case 40/*null.$LPAREN*/:
2054 2078
2055 this.appendStringToken(next, "("); 2079 this.appendStringToken(next, "(");
2056 return this.advance(); 2080 return this.advance();
2081 $throw(new FallThroughError("./leg/scanner/scanner.dart", 112))
2057 2082
2058 case 41/*null.$RPAREN*/: 2083 case 41/*null.$RPAREN*/:
2059 2084
2060 this.appendStringToken(next, ")"); 2085 this.appendStringToken(next, ")");
2061 return this.advance(); 2086 return this.advance();
2087 $throw(new FallThroughError("./leg/scanner/scanner.dart", 116))
2062 2088
2063 case 44/*null.$COMMA*/: 2089 case 44/*null.$COMMA*/:
2064 2090
2065 this.appendStringToken(next, ","); 2091 this.appendStringToken(next, ",");
2066 return this.advance(); 2092 return this.advance();
2093 $throw(new FallThroughError("./leg/scanner/scanner.dart", 120))
2067 2094
2068 case 58/*null.$COLON*/: 2095 case 58/*null.$COLON*/:
2069 2096
2070 this.appendStringToken(next, ":"); 2097 this.appendStringToken(next, ":");
2071 return this.advance(); 2098 return this.advance();
2099 $throw(new FallThroughError("./leg/scanner/scanner.dart", 124))
2072 2100
2073 case 59/*null.$SEMICOLON*/: 2101 case 59/*null.$SEMICOLON*/:
2074 2102
2075 this.appendStringToken(next, ";"); 2103 this.appendStringToken(next, ";");
2076 return this.advance(); 2104 return this.advance();
2105 $throw(new FallThroughError("./leg/scanner/scanner.dart", 128))
2077 2106
2078 case 63/*null.$QUESTION*/: 2107 case 63/*null.$QUESTION*/:
2079 2108
2080 this.appendStringToken(next, "?"); 2109 this.appendStringToken(next, "?");
2081 return this.advance(); 2110 return this.advance();
2111 $throw(new FallThroughError("./leg/scanner/scanner.dart", 132))
2082 2112
2083 case 93/*null.$RBRACKET*/: 2113 case 93/*null.$RBRACKET*/:
2084 2114
2085 this.appendStringToken(next, "]"); 2115 this.appendStringToken(next, "]");
2086 return this.advance(); 2116 return this.advance();
2117 $throw(new FallThroughError("./leg/scanner/scanner.dart", 136))
2087 2118
2088 case 96/*null.$BACKPING*/: 2119 case 96/*null.$BACKPING*/:
2089 2120
2090 this.appendStringToken(next, "`"); 2121 this.appendStringToken(next, "`");
2091 return this.advance(); 2122 return this.advance();
2123 $throw(new FallThroughError("./leg/scanner/scanner.dart", 140))
2092 2124
2093 case 123/*null.$LBRACE*/: 2125 case 123/*null.$LBRACE*/:
2094 2126
2095 this.appendStringToken(next, "{"); 2127 this.appendStringToken(next, "{");
2096 return this.advance(); 2128 return this.advance();
2129 $throw(new FallThroughError("./leg/scanner/scanner.dart", 144))
2097 2130
2098 case 125/*null.$RBRACE*/: 2131 case 125/*null.$RBRACE*/:
2099 2132
2100 this.appendStringToken(next, "}"); 2133 this.appendStringToken(next, "}");
2101 return this.advance(); 2134 return this.advance();
2135 $throw(new FallThroughError("./leg/scanner/scanner.dart", 148))
2102 2136
2103 case 47/*null.$SLASH*/: 2137 case 47/*null.$SLASH*/:
2104 2138
2105 return this.tokenizeSlashOrComment(next); 2139 return this.tokenizeSlashOrComment(next);
2140 $throw(new FallThroughError("./leg/scanner/scanner.dart", 151))
2106 2141
2107 case 64/*null.$AT*/: 2142 case 64/*null.$AT*/:
2108 2143
2109 return this.tokenizeRawString(next); 2144 return this.tokenizeRawString(next);
2145 $throw(new FallThroughError("./leg/scanner/scanner.dart", 154))
2110 2146
2111 case 34/*null.$DQ*/: 2147 case 34/*null.$DQ*/:
2112 case 39/*null.$SQ*/: 2148 case 39/*null.$SQ*/:
2113 2149
2114 return this.tokenizeString(next, this.get$byteOffset(), false); 2150 return this.tokenizeString(next, this.get$byteOffset(), false);
2151 $throw(new FallThroughError("./leg/scanner/scanner.dart", 158))
2115 2152
2116 case 46/*null.$PERIOD*/: 2153 case 46/*null.$PERIOD*/:
2117 2154
2118 return this.tokenizeDotOrNumber(next); 2155 return this.tokenizeDotOrNumber(next);
2156 $throw(new FallThroughError("./leg/scanner/scanner.dart", 161))
2119 2157
2120 case 48/*null.$0*/: 2158 case 48/*null.$0*/:
2121 2159
2122 return this.tokenizeHexOrNumber(next); 2160 return this.tokenizeHexOrNumber(next);
2161 $throw(new FallThroughError("./leg/scanner/scanner.dart", 164))
2123 2162
2124 case 49/*null.$1*/: 2163 case 49/*null.$1*/:
2125 case 50/*null.$2*/: 2164 case 50/*null.$2*/:
2126 case 51/*null.$3*/: 2165 case 51/*null.$3*/:
2127 case 52/*null.$4*/: 2166 case 52/*null.$4*/:
2128 case 53/*null.$5*/: 2167 case 53/*null.$5*/:
2129 case 54/*null.$6*/: 2168 case 54/*null.$6*/:
2130 case 55/*null.$7*/: 2169 case 55/*null.$7*/:
2131 case 56/*null.$8*/: 2170 case 56/*null.$8*/:
2132 case 57/*null.$9*/: 2171 case 57/*null.$9*/:
2133 2172
2134 return this.tokenizeNumber(next); 2173 return this.tokenizeNumber(next);
2174 $throw(new FallThroughError("./leg/scanner/scanner.dart", 175))
2135 2175
2136 case 36/*null.$DOLLAR*/: 2176 case 36/*null.$DOLLAR*/:
2137 case 65/*null.$A*/: 2177 case 65/*null.$A*/:
2138 case 66/*null.$B*/: 2178 case 66/*null.$B*/:
2139 case 67/*null.$C*/: 2179 case 67/*null.$C*/:
2140 case 68/*null.$D*/: 2180 case 68/*null.$D*/:
2141 case 69/*null.$E*/: 2181 case 69/*null.$E*/:
2142 case 70/*null.$F*/: 2182 case 70/*null.$F*/:
2143 case 71/*null.$G*/: 2183 case 71/*null.$G*/:
2144 case 72/*null.$H*/: 2184 case 72/*null.$H*/:
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
2182 case 115/*null.$s*/: 2222 case 115/*null.$s*/:
2183 case 116/*null.$t*/: 2223 case 116/*null.$t*/:
2184 case 117/*null.$u*/: 2224 case 117/*null.$u*/:
2185 case 118/*null.$v*/: 2225 case 118/*null.$v*/:
2186 case 119/*null.$w*/: 2226 case 119/*null.$w*/:
2187 case 120/*null.$x*/: 2227 case 120/*null.$x*/:
2188 case 121/*null.$y*/: 2228 case 121/*null.$y*/:
2189 case 122/*null.$z*/: 2229 case 122/*null.$z*/:
2190 2230
2191 return this.tokenizeIdentifier(next); 2231 return this.tokenizeIdentifier(next);
2232 $throw(new FallThroughError("./leg/scanner/scanner.dart", 231))
2192 2233
2193 default: 2234 default:
2194 2235
2195 if (next == -1) { 2236 if (next == -1.000000/*-1*/) {
2196 return -1; 2237 return -1.000000/*-1*/;
2197 } 2238 }
2198 if (next < 0x1f) { 2239 if (next < 0x1f) {
2199 $throw(this.get$charOffset()); 2240 $throw(this.get$charOffset());
2200 $throw(new MalformedInputException(this.get$charOffset())); 2241 $throw(new MalformedInputException(this.get$charOffset()));
2201 } 2242 }
2202 return this.tokenizeIdentifier(next); 2243 return this.tokenizeIdentifier(next);
2203 2244
2204 } 2245 }
2205 } 2246 }
2206 AbstractScanner.prototype.tokenizeTag = function(next) { 2247 AbstractScanner.prototype.tokenizeTag = function(next) {
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
2239 AbstractScanner.prototype.tokenizeCaret = function(next) { 2280 AbstractScanner.prototype.tokenizeCaret = function(next) {
2240 return this.select(61/*null.$EQ*/, "^=", "^"); 2281 return this.select(61/*null.$EQ*/, "^=", "^");
2241 } 2282 }
2242 AbstractScanner.prototype.tokenizeBar = function(next) { 2283 AbstractScanner.prototype.tokenizeBar = function(next) {
2243 next = this.advance(); 2284 next = this.advance();
2244 switch (next) { 2285 switch (next) {
2245 case 124/*null.$BAR*/: 2286 case 124/*null.$BAR*/:
2246 2287
2247 this.appendStringToken(124/*null.$BAR*/, "||"); 2288 this.appendStringToken(124/*null.$BAR*/, "||");
2248 return this.advance(); 2289 return this.advance();
2290 $throw(new FallThroughError("./leg/scanner/scanner.dart", 292))
2249 2291
2250 case 61/*null.$EQ*/: 2292 case 61/*null.$EQ*/:
2251 2293
2252 this.appendStringToken(124/*null.$BAR*/, "|="); 2294 this.appendStringToken(124/*null.$BAR*/, "|=");
2253 return this.advance(); 2295 return this.advance();
2296 $throw(new FallThroughError("./leg/scanner/scanner.dart", 295))
2254 2297
2255 default: 2298 default:
2256 2299
2257 this.appendStringToken(124/*null.$BAR*/, "|"); 2300 this.appendStringToken(124/*null.$BAR*/, "|");
2258 return next; 2301 return next;
2259 2302
2260 } 2303 }
2261 } 2304 }
2262 AbstractScanner.prototype.tokenizeAmpersand = function(next) { 2305 AbstractScanner.prototype.tokenizeAmpersand = function(next) {
2263 next = this.advance(); 2306 next = this.advance();
2264 switch (next) { 2307 switch (next) {
2265 case 38/*null.$AMPERSAND*/: 2308 case 38/*null.$AMPERSAND*/:
2266 2309
2267 this.appendStringToken(38/*null.$AMPERSAND*/, "&&"); 2310 this.appendStringToken(38/*null.$AMPERSAND*/, "&&");
2268 return this.advance(); 2311 return this.advance();
2312 $throw(new FallThroughError("./leg/scanner/scanner.dart", 308))
2269 2313
2270 case 61/*null.$EQ*/: 2314 case 61/*null.$EQ*/:
2271 2315
2272 this.appendStringToken(38/*null.$AMPERSAND*/, "&="); 2316 this.appendStringToken(38/*null.$AMPERSAND*/, "&=");
2273 return this.advance(); 2317 return this.advance();
2318 $throw(new FallThroughError("./leg/scanner/scanner.dart", 311))
2274 2319
2275 default: 2320 default:
2276 2321
2277 this.appendStringToken(38/*null.$AMPERSAND*/, "&"); 2322 this.appendStringToken(38/*null.$AMPERSAND*/, "&");
2278 return next; 2323 return next;
2279 2324
2280 } 2325 }
2281 } 2326 }
2282 AbstractScanner.prototype.tokenizePercent = function(next) { 2327 AbstractScanner.prototype.tokenizePercent = function(next) {
2283 return this.select(61/*null.$EQ*/, "%=", "%"); 2328 return this.select(61/*null.$EQ*/, "%=", "%");
2284 } 2329 }
2285 AbstractScanner.prototype.tokenizeMultiply = function(next) { 2330 AbstractScanner.prototype.tokenizeMultiply = function(next) {
2286 return this.select(61/*null.$EQ*/, "*=", "*"); 2331 return this.select(61/*null.$EQ*/, "*=", "*");
2287 } 2332 }
2288 AbstractScanner.prototype.tokenizeMinus = function(next) { 2333 AbstractScanner.prototype.tokenizeMinus = function(next) {
2289 next = this.advance(); 2334 next = this.advance();
2290 switch (next) { 2335 switch (next) {
2291 case 45/*null.$MINUS*/: 2336 case 45/*null.$MINUS*/:
2292 2337
2293 this.appendStringToken(45/*null.$MINUS*/, "--"); 2338 this.appendStringToken(45/*null.$MINUS*/, "--");
2294 return this.advance(); 2339 return this.advance();
2340 $throw(new FallThroughError("./leg/scanner/scanner.dart", 334))
2295 2341
2296 case 61/*null.$EQ*/: 2342 case 61/*null.$EQ*/:
2297 2343
2298 this.appendStringToken(45/*null.$MINUS*/, "-="); 2344 this.appendStringToken(45/*null.$MINUS*/, "-=");
2299 return this.advance(); 2345 return this.advance();
2346 $throw(new FallThroughError("./leg/scanner/scanner.dart", 337))
2300 2347
2301 default: 2348 default:
2302 2349
2303 this.appendStringToken(45/*null.$MINUS*/, "-"); 2350 this.appendStringToken(45/*null.$MINUS*/, "-");
2304 return next; 2351 return next;
2305 2352
2306 } 2353 }
2307 } 2354 }
2308 AbstractScanner.prototype.tokenizePlus = function(next) { 2355 AbstractScanner.prototype.tokenizePlus = function(next) {
2309 next = this.advance(); 2356 next = this.advance();
2310 switch (next) { 2357 switch (next) {
2311 case 43/*null.$PLUS*/: 2358 case 43/*null.$PLUS*/:
2312 2359
2313 this.appendStringToken(43/*null.$PLUS*/, "++"); 2360 this.appendStringToken(43/*null.$PLUS*/, "++");
2314 return this.advance(); 2361 return this.advance();
2362 $throw(new FallThroughError("./leg/scanner/scanner.dart", 350))
2315 2363
2316 case 61/*null.$EQ*/: 2364 case 61/*null.$EQ*/:
2317 2365
2318 this.appendStringToken(43/*null.$PLUS*/, "+="); 2366 this.appendStringToken(43/*null.$PLUS*/, "+=");
2319 return this.advance(); 2367 return this.advance();
2368 $throw(new FallThroughError("./leg/scanner/scanner.dart", 353))
2320 2369
2321 default: 2370 default:
2322 2371
2323 this.appendStringToken(43/*null.$PLUS*/, "+"); 2372 this.appendStringToken(43/*null.$PLUS*/, "+");
2324 return next; 2373 return next;
2325 2374
2326 } 2375 }
2327 } 2376 }
2328 AbstractScanner.prototype.tokenizeExclamation = function(next) { 2377 AbstractScanner.prototype.tokenizeExclamation = function(next) {
2329 next = this.advance(); 2378 next = this.advance();
(...skipping 11 matching lines...) Expand all
2341 this.appendStringToken(61/*null.$EQ*/, "="); 2390 this.appendStringToken(61/*null.$EQ*/, "=");
2342 return next; 2391 return next;
2343 } 2392 }
2344 AbstractScanner.prototype.tokenizeGreaterThan = function(next) { 2393 AbstractScanner.prototype.tokenizeGreaterThan = function(next) {
2345 next = this.advance(); 2394 next = this.advance();
2346 switch (next) { 2395 switch (next) {
2347 case 61/*null.$EQ*/: 2396 case 61/*null.$EQ*/:
2348 2397
2349 this.appendStringToken(62/*null.$GT*/, ">="); 2398 this.appendStringToken(62/*null.$GT*/, ">=");
2350 return this.advance(); 2399 return this.advance();
2400 $throw(new FallThroughError("./leg/scanner/scanner.dart", 386))
2351 2401
2352 case 62/*null.$GT*/: 2402 case 62/*null.$GT*/:
2353 2403
2354 next = this.advance(); 2404 next = this.advance();
2355 switch (next) { 2405 switch (next) {
2356 case 61/*null.$EQ*/: 2406 case 61/*null.$EQ*/:
2357 2407
2358 this.appendStringToken(62/*null.$GT*/, ">>="); 2408 this.appendStringToken(62/*null.$GT*/, ">>=");
2359 return this.advance(); 2409 return this.advance();
2410 $throw(new FallThroughError("./leg/scanner/scanner.dart", 392))
2360 2411
2361 case 62/*null.$GT*/: 2412 case 62/*null.$GT*/:
2362 2413
2363 return this.select(61/*null.$EQ*/, ">>>=", ">>>"); 2414 return this.select(61/*null.$EQ*/, ">>>=", ">>>");
2415 $throw(new FallThroughError("./leg/scanner/scanner.dart", 394))
2364 2416
2365 default: 2417 default:
2366 2418
2367 this.appendStringToken(62/*null.$GT*/, ">>"); 2419 this.appendStringToken(62/*null.$GT*/, ">>");
2368 return next; 2420 return next;
2369 2421
2370 } 2422 }
2423 $throw(new FallThroughError("./leg/scanner/scanner.dart", 389))
2371 2424
2372 default: 2425 default:
2373 2426
2374 this.appendStringToken(62/*null.$GT*/, ">"); 2427 this.appendStringToken(62/*null.$GT*/, ">");
2375 return next; 2428 return next;
2376 2429
2377 } 2430 }
2378 } 2431 }
2379 AbstractScanner.prototype.tokenizeLessThan = function(next) { 2432 AbstractScanner.prototype.tokenizeLessThan = function(next) {
2380 next = this.advance(); 2433 next = this.advance();
2381 switch (next) { 2434 switch (next) {
2382 case 61/*null.$EQ*/: 2435 case 61/*null.$EQ*/:
2383 2436
2384 this.appendStringToken(60/*null.$LT*/, "<="); 2437 this.appendStringToken(60/*null.$LT*/, "<=");
2385 return this.advance(); 2438 return this.advance();
2439 $throw(new FallThroughError("./leg/scanner/scanner.dart", 411))
2386 2440
2387 case 60/*null.$LT*/: 2441 case 60/*null.$LT*/:
2388 2442
2389 return this.select(61/*null.$EQ*/, "<<=", "<<"); 2443 return this.select(61/*null.$EQ*/, "<<=", "<<");
2444 $throw(new FallThroughError("./leg/scanner/scanner.dart", 413))
2390 2445
2391 default: 2446 default:
2392 2447
2393 this.appendStringToken(60/*null.$LT*/, "<"); 2448 this.appendStringToken(60/*null.$LT*/, "<");
2394 return next; 2449 return next;
2395 2450
2396 } 2451 }
2397 } 2452 }
2398 AbstractScanner.prototype.tokenizeNumber = function(next) { 2453 AbstractScanner.prototype.tokenizeNumber = function(next) {
2399 var start = this.get$byteOffset(); 2454 var start = this.get$byteOffset();
2400 while (true) { 2455 while (true) {
2401 next = this.advance(); 2456 next = this.advance();
2402 switch (next) { 2457 switch (next) {
2403 case 48/*null.$0*/: 2458 case 48/*null.$0*/:
2404 case 49/*null.$1*/: 2459 case 49/*null.$1*/:
2405 case 50/*null.$2*/: 2460 case 50/*null.$2*/:
2406 case 51/*null.$3*/: 2461 case 51/*null.$3*/:
2407 case 52/*null.$4*/: 2462 case 52/*null.$4*/:
2408 case 53/*null.$5*/: 2463 case 53/*null.$5*/:
2409 case 54/*null.$6*/: 2464 case 54/*null.$6*/:
2410 case 55/*null.$7*/: 2465 case 55/*null.$7*/:
2411 case 56/*null.$8*/: 2466 case 56/*null.$8*/:
2412 case 57/*null.$9*/: 2467 case 57/*null.$9*/:
2413 2468
2414 break; 2469 break;
2470 $throw(new FallThroughError("./leg/scanner/scanner.dart", 435))
2415 2471
2416 case 46/*null.$PERIOD*/: 2472 case 46/*null.$PERIOD*/:
2417 2473
2418 return this.tokenizeFractionPart(this.advance(), start); 2474 return this.tokenizeFractionPart(this.advance(), start);
2475 $throw(new FallThroughError("./leg/scanner/scanner.dart", 438))
2419 2476
2420 case 101/*null.$e*/: 2477 case 101/*null.$e*/:
2421 case 69/*null.$E*/: 2478 case 69/*null.$E*/:
2422 case 100/*null.$d*/: 2479 case 100/*null.$d*/:
2423 case 68/*null.$D*/: 2480 case 68/*null.$D*/:
2424 2481
2425 return this.tokenizeFractionPart(next, start); 2482 return this.tokenizeFractionPart(next, start);
2483 $throw(new FallThroughError("./leg/scanner/scanner.dart", 444))
2426 2484
2427 default: 2485 default:
2428 2486
2429 this.appendByteStringToken(105/*null.$i*/, this.asciiString(start)); 2487 this.appendByteStringToken(105/*null.$i*/, this.asciiString(start));
2430 return next; 2488 return next;
2431 2489
2432 } 2490 }
2433 } 2491 }
2434 } 2492 }
2435 AbstractScanner.prototype.tokenizeHexOrNumber = function(next) { 2493 AbstractScanner.prototype.tokenizeHexOrNumber = function(next) {
(...skipping 28 matching lines...) Expand all
2464 case 70/*null.$F*/: 2522 case 70/*null.$F*/:
2465 case 97/*null.$a*/: 2523 case 97/*null.$a*/:
2466 case 98/*null.$b*/: 2524 case 98/*null.$b*/:
2467 case 99/*null.$c*/: 2525 case 99/*null.$c*/:
2468 case 100/*null.$d*/: 2526 case 100/*null.$d*/:
2469 case 101/*null.$e*/: 2527 case 101/*null.$e*/:
2470 case 102/*null.$f*/: 2528 case 102/*null.$f*/:
2471 2529
2472 hasDigits = true; 2530 hasDigits = true;
2473 break; 2531 break;
2532 $throw(new FallThroughError("./leg/scanner/scanner.dart", 491))
2474 2533
2475 default: 2534 default:
2476 2535
2477 if (!hasDigits) { 2536 if (!hasDigits) {
2478 $throw(new MalformedInputException(this.get$charOffset())); 2537 $throw(new MalformedInputException(this.get$charOffset()));
2479 } 2538 }
2480 this.appendByteStringToken(120/*null.$x*/, this.asciiString(start)); 2539 this.appendByteStringToken(120/*null.$x*/, this.asciiString(start));
2481 return next; 2540 return next;
2482 2541
2483 } 2542 }
(...skipping 10 matching lines...) Expand all
2494 case 52/*null.$4*/: 2553 case 52/*null.$4*/:
2495 case 53/*null.$5*/: 2554 case 53/*null.$5*/:
2496 case 54/*null.$6*/: 2555 case 54/*null.$6*/:
2497 case 55/*null.$7*/: 2556 case 55/*null.$7*/:
2498 case 56/*null.$8*/: 2557 case 56/*null.$8*/:
2499 case 57/*null.$9*/: 2558 case 57/*null.$9*/:
2500 2559
2501 { 2560 {
2502 return this.tokenizeFractionPart(next, start); 2561 return this.tokenizeFractionPart(next, start);
2503 } 2562 }
2563 $throw(new FallThroughError("./leg/scanner/scanner.dart", 516))
2504 2564
2505 case 46/*null.$PERIOD*/: 2565 case 46/*null.$PERIOD*/:
2506 2566
2507 return this.select(46/*null.$PERIOD*/, "...", ".."); 2567 return this.select(46/*null.$PERIOD*/, "...", "..");
2568 $throw(new FallThroughError("./leg/scanner/scanner.dart", 521))
2508 2569
2509 default: 2570 default:
2510 2571
2511 this.appendStringToken(46/*null.$PERIOD*/, "."); 2572 this.appendStringToken(46/*null.$PERIOD*/, ".");
2512 return next; 2573 return next;
2513 2574
2514 } 2575 }
2515 } 2576 }
2516 AbstractScanner.prototype.tokenizeFractionPart = function(next, start) { 2577 AbstractScanner.prototype.tokenizeFractionPart = function(next, start) {
2517 var done = false; 2578 var done = false;
2518 LOOP: 2579 LOOP:
2519 while (!done) { 2580 while (!done) {
2520 switch (next) { 2581 switch (next) {
2521 case 48/*null.$0*/: 2582 case 48/*null.$0*/:
2522 case 49/*null.$1*/: 2583 case 49/*null.$1*/:
2523 case 50/*null.$2*/: 2584 case 50/*null.$2*/:
2524 case 51/*null.$3*/: 2585 case 51/*null.$3*/:
2525 case 52/*null.$4*/: 2586 case 52/*null.$4*/:
2526 case 53/*null.$5*/: 2587 case 53/*null.$5*/:
2527 case 54/*null.$6*/: 2588 case 54/*null.$6*/:
2528 case 55/*null.$7*/: 2589 case 55/*null.$7*/:
2529 case 56/*null.$8*/: 2590 case 56/*null.$8*/:
2530 case 57/*null.$9*/: 2591 case 57/*null.$9*/:
2531 2592
2532 break; 2593 break;
2594 $throw(new FallThroughError("./leg/scanner/scanner.dart", 543))
2533 2595
2534 case 101/*null.$e*/: 2596 case 101/*null.$e*/:
2535 case 69/*null.$E*/: 2597 case 69/*null.$E*/:
2536 2598
2537 next = this.tokenizeExponent(this.advance()); 2599 next = this.tokenizeExponent(this.advance());
2538 done = true; 2600 done = true;
2539 continue LOOP; 2601 continue LOOP;
2602 $throw(new FallThroughError("./leg/scanner/scanner.dart", 549))
2540 2603
2541 default: 2604 default:
2542 2605
2543 done = true; 2606 done = true;
2544 continue LOOP; 2607 continue LOOP;
2545 2608
2546 } 2609 }
2547 next = this.advance(); 2610 next = this.advance();
2548 } 2611 }
2549 if (next == 100/*null.$d*/ || next == 68/*null.$D*/) { 2612 if (next == 100/*null.$d*/ || next == 68/*null.$D*/) {
(...skipping 15 matching lines...) Expand all
2565 case 51/*null.$3*/: 2628 case 51/*null.$3*/:
2566 case 52/*null.$4*/: 2629 case 52/*null.$4*/:
2567 case 53/*null.$5*/: 2630 case 53/*null.$5*/:
2568 case 54/*null.$6*/: 2631 case 54/*null.$6*/:
2569 case 55/*null.$7*/: 2632 case 55/*null.$7*/:
2570 case 56/*null.$8*/: 2633 case 56/*null.$8*/:
2571 case 57/*null.$9*/: 2634 case 57/*null.$9*/:
2572 2635
2573 hasDigits = true; 2636 hasDigits = true;
2574 break; 2637 break;
2638 $throw(new FallThroughError("./leg/scanner/scanner.dart", 582))
2575 2639
2576 default: 2640 default:
2577 2641
2578 if (!hasDigits) { 2642 if (!hasDigits) {
2579 $throw(new MalformedInputException(this.get$charOffset())); 2643 $throw(new MalformedInputException(this.get$charOffset()));
2580 } 2644 }
2581 return next; 2645 return next;
2582 2646
2583 } 2647 }
2584 next = this.advance(); 2648 next = this.advance();
2585 } 2649 }
2586 } 2650 }
2587 AbstractScanner.prototype.tokenizeSlashOrComment = function(next) { 2651 AbstractScanner.prototype.tokenizeSlashOrComment = function(next) {
2588 next = this.advance(); 2652 next = this.advance();
2589 switch (next) { 2653 switch (next) {
2590 case 42/*null.$STAR*/: 2654 case 42/*null.$STAR*/:
2591 2655
2592 return this.tokenizeMultiLineComment(next); 2656 return this.tokenizeMultiLineComment(next);
2657 $throw(new FallThroughError("./leg/scanner/scanner.dart", 598))
2593 2658
2594 case 47/*null.$SLASH*/: 2659 case 47/*null.$SLASH*/:
2595 2660
2596 return this.tokenizeSingleLineComment(next); 2661 return this.tokenizeSingleLineComment(next);
2662 $throw(new FallThroughError("./leg/scanner/scanner.dart", 601))
2597 2663
2598 case 61/*null.$EQ*/: 2664 case 61/*null.$EQ*/:
2599 2665
2600 this.appendStringToken(47/*null.$SLASH*/, "/="); 2666 this.appendStringToken(47/*null.$SLASH*/, "/=");
2601 return this.advance(); 2667 return this.advance();
2668 $throw(new FallThroughError("./leg/scanner/scanner.dart", 605))
2602 2669
2603 default: 2670 default:
2604 2671
2605 this.appendStringToken(47/*null.$SLASH*/, "/"); 2672 this.appendStringToken(47/*null.$SLASH*/, "/");
2606 return next; 2673 return next;
2607 2674
2608 } 2675 }
2609 } 2676 }
2610 AbstractScanner.prototype.tokenizeSingleLineComment = function(next) { 2677 AbstractScanner.prototype.tokenizeSingleLineComment = function(next) {
2611 while (true) { 2678 while (true) {
2612 next = this.advance(); 2679 next = this.advance();
2613 switch (next) { 2680 switch (next) {
2614 case -1: 2681 case -1.000000/*-1*/:
2615 case 10/*null.$LF*/: 2682 case 10/*null.$LF*/:
2616 case 13/*null.$CR*/: 2683 case 13/*null.$CR*/:
2617 2684
2618 return next; 2685 return next;
2619 2686
2620 } 2687 }
2621 } 2688 }
2622 } 2689 }
2623 AbstractScanner.prototype.tokenizeMultiLineComment = function(next) { 2690 AbstractScanner.prototype.tokenizeMultiLineComment = function(next) {
2624 next = this.advance(); 2691 next = this.advance();
2625 while (true) { 2692 while (true) {
2626 switch (next) { 2693 switch (next) {
2627 case -1: 2694 case -1.000000/*-1*/:
2628 2695
2629 return next; 2696 return next;
2697 $throw(new FallThroughError("./leg/scanner/scanner.dart", 630))
2630 2698
2631 case 42/*null.$STAR*/: 2699 case 42/*null.$STAR*/:
2632 2700
2633 next = this.advance(); 2701 next = this.advance();
2634 if (next == 47/*null.$SLASH*/) { 2702 if (next == 47/*null.$SLASH*/) {
2635 return this.advance(); 2703 return this.advance();
2636 } 2704 }
2637 else if (next == -1) { 2705 else if (next == -1.000000/*-1*/) {
2638 return next; 2706 return next;
2639 } 2707 }
2640 break; 2708 break;
2709 $throw(new FallThroughError("./leg/scanner/scanner.dart", 638))
2641 2710
2642 default: 2711 default:
2643 2712
2644 next = this.advance(); 2713 next = this.advance();
2645 break; 2714 break;
2646 2715
2647 } 2716 }
2648 } 2717 }
2649 } 2718 }
2650 AbstractScanner.prototype.tokenizeIdentifier = function(next) { 2719 AbstractScanner.prototype.tokenizeIdentifier = function(next) {
(...skipping 14 matching lines...) Expand all
2665 state = null; 2734 state = null;
2666 } 2735 }
2667 else if (next < 128) { 2736 else if (next < 128) {
2668 if (state != null && state.isLeaf()) { 2737 if (state != null && state.isLeaf()) {
2669 this.appendKeywordToken(state.get$keyword()); 2738 this.appendKeywordToken(state.get$keyword());
2670 } 2739 }
2671 else if (isAscii) { 2740 else if (isAscii) {
2672 this.appendByteStringToken(97/*null.$a*/, this.asciiString(start)); 2741 this.appendByteStringToken(97/*null.$a*/, this.asciiString(start));
2673 } 2742 }
2674 else { 2743 else {
2675 this.appendByteStringToken(97/*null.$a*/, this.utf8String(start, -1)); 2744 this.appendByteStringToken(97/*null.$a*/, this.utf8String(start, -1.0000 00/*-1*/));
2676 } 2745 }
2677 return next; 2746 return next;
2678 } 2747 }
2679 else { 2748 else {
2680 var nonAsciiStart = this.get$byteOffset(); 2749 var nonAsciiStart = this.get$byteOffset();
2681 do { 2750 do {
2682 next = this.nextByte(); 2751 next = this.nextByte();
2683 } 2752 }
2684 while (next > 127) 2753 while (next > 127)
2685 var string = this.utf8String(nonAsciiStart, -1).toString(); 2754 var string = this.utf8String(nonAsciiStart, -1.000000/*-1*/).toString();
2686 isAscii = false; 2755 isAscii = false;
2687 this.addToCharOffset(string.length); 2756 this.addToCharOffset(string.length);
2688 return next; 2757 return next;
2689 } 2758 }
2690 next = this.advance(); 2759 next = this.advance();
2691 } 2760 }
2692 } 2761 }
2693 AbstractScanner.prototype.tokenizeRawString = function(next) { 2762 AbstractScanner.prototype.tokenizeRawString = function(next) {
2694 var start = this.get$byteOffset(); 2763 var start = this.get$byteOffset();
2695 next = this.advance(); 2764 next = this.advance();
2696 if (next == 34/*null.$DQ*/ || next == 39/*null.$SQ*/) { 2765 if (next == 34/*null.$DQ*/ || next == 39/*null.$SQ*/) {
2697 return this.tokenizeString(next, start, true); 2766 return this.tokenizeString(next, start, true);
2698 } 2767 }
2699 else { 2768 else {
2700 $throw(new MalformedInputException(this.get$charOffset())); 2769 $throw(new MalformedInputException(this.get$charOffset()));
2701 } 2770 }
2702 } 2771 }
2703 AbstractScanner.prototype.tokenizeString = function(next, start, raw) { 2772 AbstractScanner.prototype.tokenizeString = function(next, start, raw) {
2704 var q = next; 2773 var q = next;
2705 next = this.advance(); 2774 next = this.advance();
2706 if (q == next) { 2775 if (q == next) {
2707 next = this.advance(); 2776 next = this.advance();
2708 if (q == next) { 2777 if (q == next) {
2709 return this.tokenizeMultiLineString(q, start, raw); 2778 return this.tokenizeMultiLineString(q, start, raw);
2710 } 2779 }
2711 else { 2780 else {
2712 this.appendByteStringToken(q, this.utf8String(start, -1)); 2781 this.appendByteStringToken(q, this.utf8String(start, -1.000000/*-1*/));
2713 return next; 2782 return next;
2714 } 2783 }
2715 } 2784 }
2716 if (raw) { 2785 if (raw) {
2717 return this.tokenizeSingleLineRawString(next, q, start); 2786 return this.tokenizeSingleLineRawString(next, q, start);
2718 } 2787 }
2719 else { 2788 else {
2720 return this.tokenizeSingleLineString(next, q, start); 2789 return this.tokenizeSingleLineString(next, q, start);
2721 } 2790 }
2722 } 2791 }
2723 AbstractScanner.prototype.tokenizeSingleLineString = function(next, q1, start) { 2792 AbstractScanner.prototype.tokenizeSingleLineString = function(next, q1, start) {
2724 while (next != -1) { 2793 while (next != -1.000000/*-1*/) {
2725 if (next == q1) { 2794 if (next == q1) {
2726 this.appendByteStringToken(q1, this.utf8String(start, 0)); 2795 this.appendByteStringToken(q1, this.utf8String(start, 0));
2727 return this.advance(); 2796 return this.advance();
2728 } 2797 }
2729 else if (next == 92/*null.$BACKSLASH*/) { 2798 else if (next == 92/*null.$BACKSLASH*/) {
2730 next = this.advance(); 2799 next = this.advance();
2731 if (next == -1) { 2800 if (next == -1.000000/*-1*/) {
2732 $throw(new MalformedInputException(this.get$charOffset())); 2801 $throw(new MalformedInputException(this.get$charOffset()));
2733 } 2802 }
2734 } 2803 }
2735 else if (next == 10/*null.$LF*/ || next == 13/*null.$CR*/) { 2804 else if (next == 10/*null.$LF*/ || next == 13/*null.$CR*/) {
2736 $throw(new MalformedInputException(this.get$charOffset())); 2805 $throw(new MalformedInputException(this.get$charOffset()));
2737 } 2806 }
2738 next = this.advance(); 2807 next = this.advance();
2739 } 2808 }
2740 $throw(new MalformedInputException(this.get$charOffset())); 2809 $throw(new MalformedInputException(this.get$charOffset()));
2741 } 2810 }
2742 AbstractScanner.prototype.tokenizeSingleLineRawString = function(next, q1, start ) { 2811 AbstractScanner.prototype.tokenizeSingleLineRawString = function(next, q1, start ) {
2743 next = this.advance(); 2812 next = this.advance();
2744 while (next != -1) { 2813 while (next != -1.000000/*-1*/) {
2745 if (next == q1) { 2814 if (next == q1) {
2746 this.appendByteStringToken(q1, this.utf8String(start, 0)); 2815 this.appendByteStringToken(q1, this.utf8String(start, 0));
2747 return this.advance(); 2816 return this.advance();
2748 } 2817 }
2749 else if (next == 10/*null.$LF*/ || next == 13/*null.$CR*/) { 2818 else if (next == 10/*null.$LF*/ || next == 13/*null.$CR*/) {
2750 $throw(new MalformedInputException(this.get$charOffset())); 2819 $throw(new MalformedInputException(this.get$charOffset()));
2751 } 2820 }
2752 next = this.advance(); 2821 next = this.advance();
2753 } 2822 }
2754 $throw(new MalformedInputException(this.get$charOffset())); 2823 $throw(new MalformedInputException(this.get$charOffset()));
2755 } 2824 }
2756 AbstractScanner.prototype.tokenizeMultiLineString = function(q, start, raw) { 2825 AbstractScanner.prototype.tokenizeMultiLineString = function(q, start, raw) {
2757 var next = this.advance(); 2826 var next = this.advance();
2758 while (next != -1) { 2827 while (next != -1.000000/*-1*/) {
2759 if (next == q) { 2828 if (next == q) {
2760 next = this.advance(); 2829 next = this.advance();
2761 if (next == q) { 2830 if (next == q) {
2762 next = this.advance(); 2831 next = this.advance();
2763 if (next == q) { 2832 if (next == q) {
2764 this.appendByteStringToken(q, this.utf8String(start, 0)); 2833 this.appendByteStringToken(q, this.utf8String(start, 0));
2765 return this.advance(); 2834 return this.advance();
2766 } 2835 }
2767 } 2836 }
2768 } 2837 }
2769 next = this.advance(); 2838 next = this.advance();
2770 } 2839 }
2771 return next; 2840 return next;
2772 } 2841 }
2773 // ********** Code for AbstractScanner$S ************** 2842 // ********** Code for AbstractScanner$S **************
2774 function AbstractScanner$S() {} 2843 function AbstractScanner$S() {}
2775 $inherits(AbstractScanner$S, AbstractScanner); 2844 $inherits(AbstractScanner$S, AbstractScanner);
2776 AbstractScanner$S.prototype.tokenize = function() { 2845 AbstractScanner$S.prototype.tokenize = function() {
2777 var next = this.advance(); 2846 var next = this.advance();
2778 while (next != -1) { 2847 while (next != -1.000000/*-1*/) {
2779 next = this.bigSwitch(next); 2848 next = this.bigSwitch(next);
2780 } 2849 }
2781 return this.firstToken(); 2850 return this.firstToken();
2782 } 2851 }
2783 AbstractScanner$S.prototype.bigSwitch = function(next) { 2852 AbstractScanner$S.prototype.bigSwitch = function(next) {
2784 this.beginToken(); 2853 this.beginToken();
2785 switch (next) { 2854 switch (next) {
2786 case 9/*null.$TAB*/: 2855 case 9/*null.$TAB*/:
2787 case 10/*null.$LF*/: 2856 case 10/*null.$LF*/:
2788 case 13/*null.$CR*/: 2857 case 13/*null.$CR*/:
2789 case 32/*null.$SPACE*/: 2858 case 32/*null.$SPACE*/:
2790 2859
2791 this.appendWhiteSpace(next); 2860 this.appendWhiteSpace(next);
2792 return this.advance(); 2861 return this.advance();
2862 $throw(new FallThroughError("./leg/scanner/scanner.dart", 62))
2793 2863
2794 case 60/*null.$LT*/: 2864 case 60/*null.$LT*/:
2795 2865
2796 return this.tokenizeLessThan(next); 2866 return this.tokenizeLessThan(next);
2867 $throw(new FallThroughError("./leg/scanner/scanner.dart", 65))
2797 2868
2798 case 62/*null.$GT*/: 2869 case 62/*null.$GT*/:
2799 2870
2800 return this.tokenizeGreaterThan(next); 2871 return this.tokenizeGreaterThan(next);
2872 $throw(new FallThroughError("./leg/scanner/scanner.dart", 68))
2801 2873
2802 case 61/*null.$EQ*/: 2874 case 61/*null.$EQ*/:
2803 2875
2804 return this.tokenizeEquals(next); 2876 return this.tokenizeEquals(next);
2877 $throw(new FallThroughError("./leg/scanner/scanner.dart", 71))
2805 2878
2806 case 33/*null.$BANG*/: 2879 case 33/*null.$BANG*/:
2807 2880
2808 return this.tokenizeExclamation(next); 2881 return this.tokenizeExclamation(next);
2882 $throw(new FallThroughError("./leg/scanner/scanner.dart", 74))
2809 2883
2810 case 43/*null.$PLUS*/: 2884 case 43/*null.$PLUS*/:
2811 2885
2812 return this.tokenizePlus(next); 2886 return this.tokenizePlus(next);
2887 $throw(new FallThroughError("./leg/scanner/scanner.dart", 77))
2813 2888
2814 case 45/*null.$MINUS*/: 2889 case 45/*null.$MINUS*/:
2815 2890
2816 return this.tokenizeMinus(next); 2891 return this.tokenizeMinus(next);
2892 $throw(new FallThroughError("./leg/scanner/scanner.dart", 80))
2817 2893
2818 case 42/*null.$STAR*/: 2894 case 42/*null.$STAR*/:
2819 2895
2820 return this.tokenizeMultiply(next); 2896 return this.tokenizeMultiply(next);
2897 $throw(new FallThroughError("./leg/scanner/scanner.dart", 83))
2821 2898
2822 case 37/*null.$PERCENT*/: 2899 case 37/*null.$PERCENT*/:
2823 2900
2824 return this.tokenizePercent(next); 2901 return this.tokenizePercent(next);
2902 $throw(new FallThroughError("./leg/scanner/scanner.dart", 86))
2825 2903
2826 case 38/*null.$AMPERSAND*/: 2904 case 38/*null.$AMPERSAND*/:
2827 2905
2828 return this.tokenizeAmpersand(next); 2906 return this.tokenizeAmpersand(next);
2907 $throw(new FallThroughError("./leg/scanner/scanner.dart", 89))
2829 2908
2830 case 124/*null.$BAR*/: 2909 case 124/*null.$BAR*/:
2831 2910
2832 return this.tokenizeBar(next); 2911 return this.tokenizeBar(next);
2912 $throw(new FallThroughError("./leg/scanner/scanner.dart", 92))
2833 2913
2834 case 94/*null.$CARET*/: 2914 case 94/*null.$CARET*/:
2835 2915
2836 return this.tokenizeCaret(next); 2916 return this.tokenizeCaret(next);
2917 $throw(new FallThroughError("./leg/scanner/scanner.dart", 95))
2837 2918
2838 case 91/*null.$LBRACKET*/: 2919 case 91/*null.$LBRACKET*/:
2839 2920
2840 return this.tokenizeOpenBracket(next); 2921 return this.tokenizeOpenBracket(next);
2922 $throw(new FallThroughError("./leg/scanner/scanner.dart", 98))
2841 2923
2842 case 126/*null.$TILDE*/: 2924 case 126/*null.$TILDE*/:
2843 2925
2844 return this.tokenizeTilde(next); 2926 return this.tokenizeTilde(next);
2927 $throw(new FallThroughError("./leg/scanner/scanner.dart", 101))
2845 2928
2846 case 92/*null.$BACKSLASH*/: 2929 case 92/*null.$BACKSLASH*/:
2847 2930
2848 this.appendStringToken(next, "\\"); 2931 this.appendStringToken(next, "\\");
2849 return this.advance(); 2932 return this.advance();
2933 $throw(new FallThroughError("./leg/scanner/scanner.dart", 105))
2850 2934
2851 case 35/*null.$HASH*/: 2935 case 35/*null.$HASH*/:
2852 2936
2853 return this.tokenizeTag(next); 2937 return this.tokenizeTag(next);
2938 $throw(new FallThroughError("./leg/scanner/scanner.dart", 108))
2854 2939
2855 case 40/*null.$LPAREN*/: 2940 case 40/*null.$LPAREN*/:
2856 2941
2857 this.appendStringToken(next, "("); 2942 this.appendStringToken(next, "(");
2858 return this.advance(); 2943 return this.advance();
2944 $throw(new FallThroughError("./leg/scanner/scanner.dart", 112))
2859 2945
2860 case 41/*null.$RPAREN*/: 2946 case 41/*null.$RPAREN*/:
2861 2947
2862 this.appendStringToken(next, ")"); 2948 this.appendStringToken(next, ")");
2863 return this.advance(); 2949 return this.advance();
2950 $throw(new FallThroughError("./leg/scanner/scanner.dart", 116))
2864 2951
2865 case 44/*null.$COMMA*/: 2952 case 44/*null.$COMMA*/:
2866 2953
2867 this.appendStringToken(next, ","); 2954 this.appendStringToken(next, ",");
2868 return this.advance(); 2955 return this.advance();
2956 $throw(new FallThroughError("./leg/scanner/scanner.dart", 120))
2869 2957
2870 case 58/*null.$COLON*/: 2958 case 58/*null.$COLON*/:
2871 2959
2872 this.appendStringToken(next, ":"); 2960 this.appendStringToken(next, ":");
2873 return this.advance(); 2961 return this.advance();
2962 $throw(new FallThroughError("./leg/scanner/scanner.dart", 124))
2874 2963
2875 case 59/*null.$SEMICOLON*/: 2964 case 59/*null.$SEMICOLON*/:
2876 2965
2877 this.appendStringToken(next, ";"); 2966 this.appendStringToken(next, ";");
2878 return this.advance(); 2967 return this.advance();
2968 $throw(new FallThroughError("./leg/scanner/scanner.dart", 128))
2879 2969
2880 case 63/*null.$QUESTION*/: 2970 case 63/*null.$QUESTION*/:
2881 2971
2882 this.appendStringToken(next, "?"); 2972 this.appendStringToken(next, "?");
2883 return this.advance(); 2973 return this.advance();
2974 $throw(new FallThroughError("./leg/scanner/scanner.dart", 132))
2884 2975
2885 case 93/*null.$RBRACKET*/: 2976 case 93/*null.$RBRACKET*/:
2886 2977
2887 this.appendStringToken(next, "]"); 2978 this.appendStringToken(next, "]");
2888 return this.advance(); 2979 return this.advance();
2980 $throw(new FallThroughError("./leg/scanner/scanner.dart", 136))
2889 2981
2890 case 96/*null.$BACKPING*/: 2982 case 96/*null.$BACKPING*/:
2891 2983
2892 this.appendStringToken(next, "`"); 2984 this.appendStringToken(next, "`");
2893 return this.advance(); 2985 return this.advance();
2986 $throw(new FallThroughError("./leg/scanner/scanner.dart", 140))
2894 2987
2895 case 123/*null.$LBRACE*/: 2988 case 123/*null.$LBRACE*/:
2896 2989
2897 this.appendStringToken(next, "{"); 2990 this.appendStringToken(next, "{");
2898 return this.advance(); 2991 return this.advance();
2992 $throw(new FallThroughError("./leg/scanner/scanner.dart", 144))
2899 2993
2900 case 125/*null.$RBRACE*/: 2994 case 125/*null.$RBRACE*/:
2901 2995
2902 this.appendStringToken(next, "}"); 2996 this.appendStringToken(next, "}");
2903 return this.advance(); 2997 return this.advance();
2998 $throw(new FallThroughError("./leg/scanner/scanner.dart", 148))
2904 2999
2905 case 47/*null.$SLASH*/: 3000 case 47/*null.$SLASH*/:
2906 3001
2907 return this.tokenizeSlashOrComment(next); 3002 return this.tokenizeSlashOrComment(next);
3003 $throw(new FallThroughError("./leg/scanner/scanner.dart", 151))
2908 3004
2909 case 64/*null.$AT*/: 3005 case 64/*null.$AT*/:
2910 3006
2911 return this.tokenizeRawString(next); 3007 return this.tokenizeRawString(next);
3008 $throw(new FallThroughError("./leg/scanner/scanner.dart", 154))
2912 3009
2913 case 34/*null.$DQ*/: 3010 case 34/*null.$DQ*/:
2914 case 39/*null.$SQ*/: 3011 case 39/*null.$SQ*/:
2915 3012
2916 return this.tokenizeString(next, this.get$byteOffset(), false); 3013 return this.tokenizeString(next, this.get$byteOffset(), false);
3014 $throw(new FallThroughError("./leg/scanner/scanner.dart", 158))
2917 3015
2918 case 46/*null.$PERIOD*/: 3016 case 46/*null.$PERIOD*/:
2919 3017
2920 return this.tokenizeDotOrNumber(next); 3018 return this.tokenizeDotOrNumber(next);
3019 $throw(new FallThroughError("./leg/scanner/scanner.dart", 161))
2921 3020
2922 case 48/*null.$0*/: 3021 case 48/*null.$0*/:
2923 3022
2924 return this.tokenizeHexOrNumber(next); 3023 return this.tokenizeHexOrNumber(next);
3024 $throw(new FallThroughError("./leg/scanner/scanner.dart", 164))
2925 3025
2926 case 49/*null.$1*/: 3026 case 49/*null.$1*/:
2927 case 50/*null.$2*/: 3027 case 50/*null.$2*/:
2928 case 51/*null.$3*/: 3028 case 51/*null.$3*/:
2929 case 52/*null.$4*/: 3029 case 52/*null.$4*/:
2930 case 53/*null.$5*/: 3030 case 53/*null.$5*/:
2931 case 54/*null.$6*/: 3031 case 54/*null.$6*/:
2932 case 55/*null.$7*/: 3032 case 55/*null.$7*/:
2933 case 56/*null.$8*/: 3033 case 56/*null.$8*/:
2934 case 57/*null.$9*/: 3034 case 57/*null.$9*/:
2935 3035
2936 return this.tokenizeNumber(next); 3036 return this.tokenizeNumber(next);
3037 $throw(new FallThroughError("./leg/scanner/scanner.dart", 175))
2937 3038
2938 case 36/*null.$DOLLAR*/: 3039 case 36/*null.$DOLLAR*/:
2939 case 65/*null.$A*/: 3040 case 65/*null.$A*/:
2940 case 66/*null.$B*/: 3041 case 66/*null.$B*/:
2941 case 67/*null.$C*/: 3042 case 67/*null.$C*/:
2942 case 68/*null.$D*/: 3043 case 68/*null.$D*/:
2943 case 69/*null.$E*/: 3044 case 69/*null.$E*/:
2944 case 70/*null.$F*/: 3045 case 70/*null.$F*/:
2945 case 71/*null.$G*/: 3046 case 71/*null.$G*/:
2946 case 72/*null.$H*/: 3047 case 72/*null.$H*/:
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
2984 case 115/*null.$s*/: 3085 case 115/*null.$s*/:
2985 case 116/*null.$t*/: 3086 case 116/*null.$t*/:
2986 case 117/*null.$u*/: 3087 case 117/*null.$u*/:
2987 case 118/*null.$v*/: 3088 case 118/*null.$v*/:
2988 case 119/*null.$w*/: 3089 case 119/*null.$w*/:
2989 case 120/*null.$x*/: 3090 case 120/*null.$x*/:
2990 case 121/*null.$y*/: 3091 case 121/*null.$y*/:
2991 case 122/*null.$z*/: 3092 case 122/*null.$z*/:
2992 3093
2993 return this.tokenizeIdentifier(next); 3094 return this.tokenizeIdentifier(next);
3095 $throw(new FallThroughError("./leg/scanner/scanner.dart", 231))
2994 3096
2995 default: 3097 default:
2996 3098
2997 if (next == -1) { 3099 if (next == -1.000000/*-1*/) {
2998 return -1; 3100 return -1.000000/*-1*/;
2999 } 3101 }
3000 if (next < 0x1f) { 3102 if (next < 0x1f) {
3001 $throw(this.get$charOffset()); 3103 $throw(this.get$charOffset());
3002 $throw(new MalformedInputException(this.get$charOffset())); 3104 $throw(new MalformedInputException(this.get$charOffset()));
3003 } 3105 }
3004 return this.tokenizeIdentifier(next); 3106 return this.tokenizeIdentifier(next);
3005 3107
3006 } 3108 }
3007 } 3109 }
3008 AbstractScanner$S.prototype.tokenizeTag = function(next) { 3110 AbstractScanner$S.prototype.tokenizeTag = function(next) {
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
3041 AbstractScanner$S.prototype.tokenizeCaret = function(next) { 3143 AbstractScanner$S.prototype.tokenizeCaret = function(next) {
3042 return this.select(61/*null.$EQ*/, "^=", "^"); 3144 return this.select(61/*null.$EQ*/, "^=", "^");
3043 } 3145 }
3044 AbstractScanner$S.prototype.tokenizeBar = function(next) { 3146 AbstractScanner$S.prototype.tokenizeBar = function(next) {
3045 next = this.advance(); 3147 next = this.advance();
3046 switch (next) { 3148 switch (next) {
3047 case 124/*null.$BAR*/: 3149 case 124/*null.$BAR*/:
3048 3150
3049 this.appendStringToken(124/*null.$BAR*/, "||"); 3151 this.appendStringToken(124/*null.$BAR*/, "||");
3050 return this.advance(); 3152 return this.advance();
3153 $throw(new FallThroughError("./leg/scanner/scanner.dart", 292))
3051 3154
3052 case 61/*null.$EQ*/: 3155 case 61/*null.$EQ*/:
3053 3156
3054 this.appendStringToken(124/*null.$BAR*/, "|="); 3157 this.appendStringToken(124/*null.$BAR*/, "|=");
3055 return this.advance(); 3158 return this.advance();
3159 $throw(new FallThroughError("./leg/scanner/scanner.dart", 295))
3056 3160
3057 default: 3161 default:
3058 3162
3059 this.appendStringToken(124/*null.$BAR*/, "|"); 3163 this.appendStringToken(124/*null.$BAR*/, "|");
3060 return next; 3164 return next;
3061 3165
3062 } 3166 }
3063 } 3167 }
3064 AbstractScanner$S.prototype.tokenizeAmpersand = function(next) { 3168 AbstractScanner$S.prototype.tokenizeAmpersand = function(next) {
3065 next = this.advance(); 3169 next = this.advance();
3066 switch (next) { 3170 switch (next) {
3067 case 38/*null.$AMPERSAND*/: 3171 case 38/*null.$AMPERSAND*/:
3068 3172
3069 this.appendStringToken(38/*null.$AMPERSAND*/, "&&"); 3173 this.appendStringToken(38/*null.$AMPERSAND*/, "&&");
3070 return this.advance(); 3174 return this.advance();
3175 $throw(new FallThroughError("./leg/scanner/scanner.dart", 308))
3071 3176
3072 case 61/*null.$EQ*/: 3177 case 61/*null.$EQ*/:
3073 3178
3074 this.appendStringToken(38/*null.$AMPERSAND*/, "&="); 3179 this.appendStringToken(38/*null.$AMPERSAND*/, "&=");
3075 return this.advance(); 3180 return this.advance();
3181 $throw(new FallThroughError("./leg/scanner/scanner.dart", 311))
3076 3182
3077 default: 3183 default:
3078 3184
3079 this.appendStringToken(38/*null.$AMPERSAND*/, "&"); 3185 this.appendStringToken(38/*null.$AMPERSAND*/, "&");
3080 return next; 3186 return next;
3081 3187
3082 } 3188 }
3083 } 3189 }
3084 AbstractScanner$S.prototype.tokenizePercent = function(next) { 3190 AbstractScanner$S.prototype.tokenizePercent = function(next) {
3085 return this.select(61/*null.$EQ*/, "%=", "%"); 3191 return this.select(61/*null.$EQ*/, "%=", "%");
3086 } 3192 }
3087 AbstractScanner$S.prototype.tokenizeMultiply = function(next) { 3193 AbstractScanner$S.prototype.tokenizeMultiply = function(next) {
3088 return this.select(61/*null.$EQ*/, "*=", "*"); 3194 return this.select(61/*null.$EQ*/, "*=", "*");
3089 } 3195 }
3090 AbstractScanner$S.prototype.tokenizeMinus = function(next) { 3196 AbstractScanner$S.prototype.tokenizeMinus = function(next) {
3091 next = this.advance(); 3197 next = this.advance();
3092 switch (next) { 3198 switch (next) {
3093 case 45/*null.$MINUS*/: 3199 case 45/*null.$MINUS*/:
3094 3200
3095 this.appendStringToken(45/*null.$MINUS*/, "--"); 3201 this.appendStringToken(45/*null.$MINUS*/, "--");
3096 return this.advance(); 3202 return this.advance();
3203 $throw(new FallThroughError("./leg/scanner/scanner.dart", 334))
3097 3204
3098 case 61/*null.$EQ*/: 3205 case 61/*null.$EQ*/:
3099 3206
3100 this.appendStringToken(45/*null.$MINUS*/, "-="); 3207 this.appendStringToken(45/*null.$MINUS*/, "-=");
3101 return this.advance(); 3208 return this.advance();
3209 $throw(new FallThroughError("./leg/scanner/scanner.dart", 337))
3102 3210
3103 default: 3211 default:
3104 3212
3105 this.appendStringToken(45/*null.$MINUS*/, "-"); 3213 this.appendStringToken(45/*null.$MINUS*/, "-");
3106 return next; 3214 return next;
3107 3215
3108 } 3216 }
3109 } 3217 }
3110 AbstractScanner$S.prototype.tokenizePlus = function(next) { 3218 AbstractScanner$S.prototype.tokenizePlus = function(next) {
3111 next = this.advance(); 3219 next = this.advance();
3112 switch (next) { 3220 switch (next) {
3113 case 43/*null.$PLUS*/: 3221 case 43/*null.$PLUS*/:
3114 3222
3115 this.appendStringToken(43/*null.$PLUS*/, "++"); 3223 this.appendStringToken(43/*null.$PLUS*/, "++");
3116 return this.advance(); 3224 return this.advance();
3225 $throw(new FallThroughError("./leg/scanner/scanner.dart", 350))
3117 3226
3118 case 61/*null.$EQ*/: 3227 case 61/*null.$EQ*/:
3119 3228
3120 this.appendStringToken(43/*null.$PLUS*/, "+="); 3229 this.appendStringToken(43/*null.$PLUS*/, "+=");
3121 return this.advance(); 3230 return this.advance();
3231 $throw(new FallThroughError("./leg/scanner/scanner.dart", 353))
3122 3232
3123 default: 3233 default:
3124 3234
3125 this.appendStringToken(43/*null.$PLUS*/, "+"); 3235 this.appendStringToken(43/*null.$PLUS*/, "+");
3126 return next; 3236 return next;
3127 3237
3128 } 3238 }
3129 } 3239 }
3130 AbstractScanner$S.prototype.tokenizeExclamation = function(next) { 3240 AbstractScanner$S.prototype.tokenizeExclamation = function(next) {
3131 next = this.advance(); 3241 next = this.advance();
(...skipping 11 matching lines...) Expand all
3143 this.appendStringToken(61/*null.$EQ*/, "="); 3253 this.appendStringToken(61/*null.$EQ*/, "=");
3144 return next; 3254 return next;
3145 } 3255 }
3146 AbstractScanner$S.prototype.tokenizeGreaterThan = function(next) { 3256 AbstractScanner$S.prototype.tokenizeGreaterThan = function(next) {
3147 next = this.advance(); 3257 next = this.advance();
3148 switch (next) { 3258 switch (next) {
3149 case 61/*null.$EQ*/: 3259 case 61/*null.$EQ*/:
3150 3260
3151 this.appendStringToken(62/*null.$GT*/, ">="); 3261 this.appendStringToken(62/*null.$GT*/, ">=");
3152 return this.advance(); 3262 return this.advance();
3263 $throw(new FallThroughError("./leg/scanner/scanner.dart", 386))
3153 3264
3154 case 62/*null.$GT*/: 3265 case 62/*null.$GT*/:
3155 3266
3156 next = this.advance(); 3267 next = this.advance();
3157 switch (next) { 3268 switch (next) {
3158 case 61/*null.$EQ*/: 3269 case 61/*null.$EQ*/:
3159 3270
3160 this.appendStringToken(62/*null.$GT*/, ">>="); 3271 this.appendStringToken(62/*null.$GT*/, ">>=");
3161 return this.advance(); 3272 return this.advance();
3273 $throw(new FallThroughError("./leg/scanner/scanner.dart", 392))
3162 3274
3163 case 62/*null.$GT*/: 3275 case 62/*null.$GT*/:
3164 3276
3165 return this.select(61/*null.$EQ*/, ">>>=", ">>>"); 3277 return this.select(61/*null.$EQ*/, ">>>=", ">>>");
3278 $throw(new FallThroughError("./leg/scanner/scanner.dart", 394))
3166 3279
3167 default: 3280 default:
3168 3281
3169 this.appendStringToken(62/*null.$GT*/, ">>"); 3282 this.appendStringToken(62/*null.$GT*/, ">>");
3170 return next; 3283 return next;
3171 3284
3172 } 3285 }
3286 $throw(new FallThroughError("./leg/scanner/scanner.dart", 389))
3173 3287
3174 default: 3288 default:
3175 3289
3176 this.appendStringToken(62/*null.$GT*/, ">"); 3290 this.appendStringToken(62/*null.$GT*/, ">");
3177 return next; 3291 return next;
3178 3292
3179 } 3293 }
3180 } 3294 }
3181 AbstractScanner$S.prototype.tokenizeLessThan = function(next) { 3295 AbstractScanner$S.prototype.tokenizeLessThan = function(next) {
3182 next = this.advance(); 3296 next = this.advance();
3183 switch (next) { 3297 switch (next) {
3184 case 61/*null.$EQ*/: 3298 case 61/*null.$EQ*/:
3185 3299
3186 this.appendStringToken(60/*null.$LT*/, "<="); 3300 this.appendStringToken(60/*null.$LT*/, "<=");
3187 return this.advance(); 3301 return this.advance();
3302 $throw(new FallThroughError("./leg/scanner/scanner.dart", 411))
3188 3303
3189 case 60/*null.$LT*/: 3304 case 60/*null.$LT*/:
3190 3305
3191 return this.select(61/*null.$EQ*/, "<<=", "<<"); 3306 return this.select(61/*null.$EQ*/, "<<=", "<<");
3307 $throw(new FallThroughError("./leg/scanner/scanner.dart", 413))
3192 3308
3193 default: 3309 default:
3194 3310
3195 this.appendStringToken(60/*null.$LT*/, "<"); 3311 this.appendStringToken(60/*null.$LT*/, "<");
3196 return next; 3312 return next;
3197 3313
3198 } 3314 }
3199 } 3315 }
3200 AbstractScanner$S.prototype.tokenizeNumber = function(next) { 3316 AbstractScanner$S.prototype.tokenizeNumber = function(next) {
3201 var start = this.get$byteOffset(); 3317 var start = this.get$byteOffset();
3202 while (true) { 3318 while (true) {
3203 next = this.advance(); 3319 next = this.advance();
3204 switch (next) { 3320 switch (next) {
3205 case 48/*null.$0*/: 3321 case 48/*null.$0*/:
3206 case 49/*null.$1*/: 3322 case 49/*null.$1*/:
3207 case 50/*null.$2*/: 3323 case 50/*null.$2*/:
3208 case 51/*null.$3*/: 3324 case 51/*null.$3*/:
3209 case 52/*null.$4*/: 3325 case 52/*null.$4*/:
3210 case 53/*null.$5*/: 3326 case 53/*null.$5*/:
3211 case 54/*null.$6*/: 3327 case 54/*null.$6*/:
3212 case 55/*null.$7*/: 3328 case 55/*null.$7*/:
3213 case 56/*null.$8*/: 3329 case 56/*null.$8*/:
3214 case 57/*null.$9*/: 3330 case 57/*null.$9*/:
3215 3331
3216 break; 3332 break;
3333 $throw(new FallThroughError("./leg/scanner/scanner.dart", 435))
3217 3334
3218 case 46/*null.$PERIOD*/: 3335 case 46/*null.$PERIOD*/:
3219 3336
3220 return this.tokenizeFractionPart(this.advance(), start); 3337 return this.tokenizeFractionPart(this.advance(), start);
3338 $throw(new FallThroughError("./leg/scanner/scanner.dart", 438))
3221 3339
3222 case 101/*null.$e*/: 3340 case 101/*null.$e*/:
3223 case 69/*null.$E*/: 3341 case 69/*null.$E*/:
3224 case 100/*null.$d*/: 3342 case 100/*null.$d*/:
3225 case 68/*null.$D*/: 3343 case 68/*null.$D*/:
3226 3344
3227 return this.tokenizeFractionPart(next, start); 3345 return this.tokenizeFractionPart(next, start);
3346 $throw(new FallThroughError("./leg/scanner/scanner.dart", 444))
3228 3347
3229 default: 3348 default:
3230 3349
3231 this.appendByteStringToken(105/*null.$i*/, this.asciiString(start)); 3350 this.appendByteStringToken(105/*null.$i*/, this.asciiString(start));
3232 return next; 3351 return next;
3233 3352
3234 } 3353 }
3235 } 3354 }
3236 } 3355 }
3237 AbstractScanner$S.prototype.tokenizeHexOrNumber = function(next) { 3356 AbstractScanner$S.prototype.tokenizeHexOrNumber = function(next) {
(...skipping 28 matching lines...) Expand all
3266 case 70/*null.$F*/: 3385 case 70/*null.$F*/:
3267 case 97/*null.$a*/: 3386 case 97/*null.$a*/:
3268 case 98/*null.$b*/: 3387 case 98/*null.$b*/:
3269 case 99/*null.$c*/: 3388 case 99/*null.$c*/:
3270 case 100/*null.$d*/: 3389 case 100/*null.$d*/:
3271 case 101/*null.$e*/: 3390 case 101/*null.$e*/:
3272 case 102/*null.$f*/: 3391 case 102/*null.$f*/:
3273 3392
3274 hasDigits = true; 3393 hasDigits = true;
3275 break; 3394 break;
3395 $throw(new FallThroughError("./leg/scanner/scanner.dart", 491))
3276 3396
3277 default: 3397 default:
3278 3398
3279 if (!hasDigits) { 3399 if (!hasDigits) {
3280 $throw(new MalformedInputException(this.get$charOffset())); 3400 $throw(new MalformedInputException(this.get$charOffset()));
3281 } 3401 }
3282 this.appendByteStringToken(120/*null.$x*/, this.asciiString(start)); 3402 this.appendByteStringToken(120/*null.$x*/, this.asciiString(start));
3283 return next; 3403 return next;
3284 3404
3285 } 3405 }
(...skipping 10 matching lines...) Expand all
3296 case 52/*null.$4*/: 3416 case 52/*null.$4*/:
3297 case 53/*null.$5*/: 3417 case 53/*null.$5*/:
3298 case 54/*null.$6*/: 3418 case 54/*null.$6*/:
3299 case 55/*null.$7*/: 3419 case 55/*null.$7*/:
3300 case 56/*null.$8*/: 3420 case 56/*null.$8*/:
3301 case 57/*null.$9*/: 3421 case 57/*null.$9*/:
3302 3422
3303 { 3423 {
3304 return this.tokenizeFractionPart(next, start); 3424 return this.tokenizeFractionPart(next, start);
3305 } 3425 }
3426 $throw(new FallThroughError("./leg/scanner/scanner.dart", 516))
3306 3427
3307 case 46/*null.$PERIOD*/: 3428 case 46/*null.$PERIOD*/:
3308 3429
3309 return this.select(46/*null.$PERIOD*/, "...", ".."); 3430 return this.select(46/*null.$PERIOD*/, "...", "..");
3431 $throw(new FallThroughError("./leg/scanner/scanner.dart", 521))
3310 3432
3311 default: 3433 default:
3312 3434
3313 this.appendStringToken(46/*null.$PERIOD*/, "."); 3435 this.appendStringToken(46/*null.$PERIOD*/, ".");
3314 return next; 3436 return next;
3315 3437
3316 } 3438 }
3317 } 3439 }
3318 AbstractScanner$S.prototype.tokenizeFractionPart = function(next, start) { 3440 AbstractScanner$S.prototype.tokenizeFractionPart = function(next, start) {
3319 var done = false; 3441 var done = false;
3320 LOOP: 3442 LOOP:
3321 while (!done) { 3443 while (!done) {
3322 switch (next) { 3444 switch (next) {
3323 case 48/*null.$0*/: 3445 case 48/*null.$0*/:
3324 case 49/*null.$1*/: 3446 case 49/*null.$1*/:
3325 case 50/*null.$2*/: 3447 case 50/*null.$2*/:
3326 case 51/*null.$3*/: 3448 case 51/*null.$3*/:
3327 case 52/*null.$4*/: 3449 case 52/*null.$4*/:
3328 case 53/*null.$5*/: 3450 case 53/*null.$5*/:
3329 case 54/*null.$6*/: 3451 case 54/*null.$6*/:
3330 case 55/*null.$7*/: 3452 case 55/*null.$7*/:
3331 case 56/*null.$8*/: 3453 case 56/*null.$8*/:
3332 case 57/*null.$9*/: 3454 case 57/*null.$9*/:
3333 3455
3334 break; 3456 break;
3457 $throw(new FallThroughError("./leg/scanner/scanner.dart", 543))
3335 3458
3336 case 101/*null.$e*/: 3459 case 101/*null.$e*/:
3337 case 69/*null.$E*/: 3460 case 69/*null.$E*/:
3338 3461
3339 next = this.tokenizeExponent(this.advance()); 3462 next = this.tokenizeExponent(this.advance());
3340 done = true; 3463 done = true;
3341 continue LOOP; 3464 continue LOOP;
3465 $throw(new FallThroughError("./leg/scanner/scanner.dart", 549))
3342 3466
3343 default: 3467 default:
3344 3468
3345 done = true; 3469 done = true;
3346 continue LOOP; 3470 continue LOOP;
3347 3471
3348 } 3472 }
3349 next = this.advance(); 3473 next = this.advance();
3350 } 3474 }
3351 if (next == 100/*null.$d*/ || next == 68/*null.$D*/) { 3475 if (next == 100/*null.$d*/ || next == 68/*null.$D*/) {
(...skipping 15 matching lines...) Expand all
3367 case 51/*null.$3*/: 3491 case 51/*null.$3*/:
3368 case 52/*null.$4*/: 3492 case 52/*null.$4*/:
3369 case 53/*null.$5*/: 3493 case 53/*null.$5*/:
3370 case 54/*null.$6*/: 3494 case 54/*null.$6*/:
3371 case 55/*null.$7*/: 3495 case 55/*null.$7*/:
3372 case 56/*null.$8*/: 3496 case 56/*null.$8*/:
3373 case 57/*null.$9*/: 3497 case 57/*null.$9*/:
3374 3498
3375 hasDigits = true; 3499 hasDigits = true;
3376 break; 3500 break;
3501 $throw(new FallThroughError("./leg/scanner/scanner.dart", 582))
3377 3502
3378 default: 3503 default:
3379 3504
3380 if (!hasDigits) { 3505 if (!hasDigits) {
3381 $throw(new MalformedInputException(this.get$charOffset())); 3506 $throw(new MalformedInputException(this.get$charOffset()));
3382 } 3507 }
3383 return next; 3508 return next;
3384 3509
3385 } 3510 }
3386 next = this.advance(); 3511 next = this.advance();
3387 } 3512 }
3388 } 3513 }
3389 AbstractScanner$S.prototype.tokenizeSlashOrComment = function(next) { 3514 AbstractScanner$S.prototype.tokenizeSlashOrComment = function(next) {
3390 next = this.advance(); 3515 next = this.advance();
3391 switch (next) { 3516 switch (next) {
3392 case 42/*null.$STAR*/: 3517 case 42/*null.$STAR*/:
3393 3518
3394 return this.tokenizeMultiLineComment(next); 3519 return this.tokenizeMultiLineComment(next);
3520 $throw(new FallThroughError("./leg/scanner/scanner.dart", 598))
3395 3521
3396 case 47/*null.$SLASH*/: 3522 case 47/*null.$SLASH*/:
3397 3523
3398 return this.tokenizeSingleLineComment(next); 3524 return this.tokenizeSingleLineComment(next);
3525 $throw(new FallThroughError("./leg/scanner/scanner.dart", 601))
3399 3526
3400 case 61/*null.$EQ*/: 3527 case 61/*null.$EQ*/:
3401 3528
3402 this.appendStringToken(47/*null.$SLASH*/, "/="); 3529 this.appendStringToken(47/*null.$SLASH*/, "/=");
3403 return this.advance(); 3530 return this.advance();
3531 $throw(new FallThroughError("./leg/scanner/scanner.dart", 605))
3404 3532
3405 default: 3533 default:
3406 3534
3407 this.appendStringToken(47/*null.$SLASH*/, "/"); 3535 this.appendStringToken(47/*null.$SLASH*/, "/");
3408 return next; 3536 return next;
3409 3537
3410 } 3538 }
3411 } 3539 }
3412 AbstractScanner$S.prototype.tokenizeSingleLineComment = function(next) { 3540 AbstractScanner$S.prototype.tokenizeSingleLineComment = function(next) {
3413 while (true) { 3541 while (true) {
3414 next = this.advance(); 3542 next = this.advance();
3415 switch (next) { 3543 switch (next) {
3416 case -1: 3544 case -1.000000/*-1*/:
3417 case 10/*null.$LF*/: 3545 case 10/*null.$LF*/:
3418 case 13/*null.$CR*/: 3546 case 13/*null.$CR*/:
3419 3547
3420 return next; 3548 return next;
3421 3549
3422 } 3550 }
3423 } 3551 }
3424 } 3552 }
3425 AbstractScanner$S.prototype.tokenizeMultiLineComment = function(next) { 3553 AbstractScanner$S.prototype.tokenizeMultiLineComment = function(next) {
3426 next = this.advance(); 3554 next = this.advance();
3427 while (true) { 3555 while (true) {
3428 switch (next) { 3556 switch (next) {
3429 case -1: 3557 case -1.000000/*-1*/:
3430 3558
3431 return next; 3559 return next;
3560 $throw(new FallThroughError("./leg/scanner/scanner.dart", 630))
3432 3561
3433 case 42/*null.$STAR*/: 3562 case 42/*null.$STAR*/:
3434 3563
3435 next = this.advance(); 3564 next = this.advance();
3436 if (next == 47/*null.$SLASH*/) { 3565 if (next == 47/*null.$SLASH*/) {
3437 return this.advance(); 3566 return this.advance();
3438 } 3567 }
3439 else if (next == -1) { 3568 else if (next == -1.000000/*-1*/) {
3440 return next; 3569 return next;
3441 } 3570 }
3442 break; 3571 break;
3572 $throw(new FallThroughError("./leg/scanner/scanner.dart", 638))
3443 3573
3444 default: 3574 default:
3445 3575
3446 next = this.advance(); 3576 next = this.advance();
3447 break; 3577 break;
3448 3578
3449 } 3579 }
3450 } 3580 }
3451 } 3581 }
3452 AbstractScanner$S.prototype.tokenizeIdentifier = function(next) { 3582 AbstractScanner$S.prototype.tokenizeIdentifier = function(next) {
(...skipping 14 matching lines...) Expand all
3467 state = null; 3597 state = null;
3468 } 3598 }
3469 else if (next < 128) { 3599 else if (next < 128) {
3470 if (state != null && state.isLeaf()) { 3600 if (state != null && state.isLeaf()) {
3471 this.appendKeywordToken(state.get$keyword()); 3601 this.appendKeywordToken(state.get$keyword());
3472 } 3602 }
3473 else if (isAscii) { 3603 else if (isAscii) {
3474 this.appendByteStringToken(97/*null.$a*/, this.asciiString(start)); 3604 this.appendByteStringToken(97/*null.$a*/, this.asciiString(start));
3475 } 3605 }
3476 else { 3606 else {
3477 this.appendByteStringToken(97/*null.$a*/, this.utf8String(start, -1)); 3607 this.appendByteStringToken(97/*null.$a*/, this.utf8String(start, -1.0000 00/*-1*/));
3478 } 3608 }
3479 return next; 3609 return next;
3480 } 3610 }
3481 else { 3611 else {
3482 var nonAsciiStart = this.get$byteOffset(); 3612 var nonAsciiStart = this.get$byteOffset();
3483 do { 3613 do {
3484 next = this.nextByte(); 3614 next = this.nextByte();
3485 } 3615 }
3486 while (next > 127) 3616 while (next > 127)
3487 var string = this.utf8String(nonAsciiStart, -1).toString(); 3617 var string = this.utf8String(nonAsciiStart, -1.000000/*-1*/).toString();
3488 isAscii = false; 3618 isAscii = false;
3489 this.addToCharOffset(string.length); 3619 this.addToCharOffset(string.length);
3490 return next; 3620 return next;
3491 } 3621 }
3492 next = this.advance(); 3622 next = this.advance();
3493 } 3623 }
3494 } 3624 }
3495 AbstractScanner$S.prototype.tokenizeRawString = function(next) { 3625 AbstractScanner$S.prototype.tokenizeRawString = function(next) {
3496 var start = this.get$byteOffset(); 3626 var start = this.get$byteOffset();
3497 next = this.advance(); 3627 next = this.advance();
3498 if (next == 34/*null.$DQ*/ || next == 39/*null.$SQ*/) { 3628 if (next == 34/*null.$DQ*/ || next == 39/*null.$SQ*/) {
3499 return this.tokenizeString(next, start, true); 3629 return this.tokenizeString(next, start, true);
3500 } 3630 }
3501 else { 3631 else {
3502 $throw(new MalformedInputException(this.get$charOffset())); 3632 $throw(new MalformedInputException(this.get$charOffset()));
3503 } 3633 }
3504 } 3634 }
3505 AbstractScanner$S.prototype.tokenizeString = function(next, start, raw) { 3635 AbstractScanner$S.prototype.tokenizeString = function(next, start, raw) {
3506 var q = next; 3636 var q = next;
3507 next = this.advance(); 3637 next = this.advance();
3508 if (q == next) { 3638 if (q == next) {
3509 next = this.advance(); 3639 next = this.advance();
3510 if (q == next) { 3640 if (q == next) {
3511 return this.tokenizeMultiLineString(q, start, raw); 3641 return this.tokenizeMultiLineString(q, start, raw);
3512 } 3642 }
3513 else { 3643 else {
3514 this.appendByteStringToken(q, this.utf8String(start, -1)); 3644 this.appendByteStringToken(q, this.utf8String(start, -1.000000/*-1*/));
3515 return next; 3645 return next;
3516 } 3646 }
3517 } 3647 }
3518 if (raw) { 3648 if (raw) {
3519 return this.tokenizeSingleLineRawString(next, q, start); 3649 return this.tokenizeSingleLineRawString(next, q, start);
3520 } 3650 }
3521 else { 3651 else {
3522 return this.tokenizeSingleLineString(next, q, start); 3652 return this.tokenizeSingleLineString(next, q, start);
3523 } 3653 }
3524 } 3654 }
3525 AbstractScanner$S.prototype.tokenizeSingleLineString = function(next, q1, start) { 3655 AbstractScanner$S.prototype.tokenizeSingleLineString = function(next, q1, start) {
3526 while (next != -1) { 3656 while (next != -1.000000/*-1*/) {
3527 if (next == q1) { 3657 if (next == q1) {
3528 this.appendByteStringToken(q1, this.utf8String(start, 0)); 3658 this.appendByteStringToken(q1, this.utf8String(start, 0));
3529 return this.advance(); 3659 return this.advance();
3530 } 3660 }
3531 else if (next == 92/*null.$BACKSLASH*/) { 3661 else if (next == 92/*null.$BACKSLASH*/) {
3532 next = this.advance(); 3662 next = this.advance();
3533 if (next == -1) { 3663 if (next == -1.000000/*-1*/) {
3534 $throw(new MalformedInputException(this.get$charOffset())); 3664 $throw(new MalformedInputException(this.get$charOffset()));
3535 } 3665 }
3536 } 3666 }
3537 else if (next == 10/*null.$LF*/ || next == 13/*null.$CR*/) { 3667 else if (next == 10/*null.$LF*/ || next == 13/*null.$CR*/) {
3538 $throw(new MalformedInputException(this.get$charOffset())); 3668 $throw(new MalformedInputException(this.get$charOffset()));
3539 } 3669 }
3540 next = this.advance(); 3670 next = this.advance();
3541 } 3671 }
3542 $throw(new MalformedInputException(this.get$charOffset())); 3672 $throw(new MalformedInputException(this.get$charOffset()));
3543 } 3673 }
3544 AbstractScanner$S.prototype.tokenizeSingleLineRawString = function(next, q1, sta rt) { 3674 AbstractScanner$S.prototype.tokenizeSingleLineRawString = function(next, q1, sta rt) {
3545 next = this.advance(); 3675 next = this.advance();
3546 while (next != -1) { 3676 while (next != -1.000000/*-1*/) {
3547 if (next == q1) { 3677 if (next == q1) {
3548 this.appendByteStringToken(q1, this.utf8String(start, 0)); 3678 this.appendByteStringToken(q1, this.utf8String(start, 0));
3549 return this.advance(); 3679 return this.advance();
3550 } 3680 }
3551 else if (next == 10/*null.$LF*/ || next == 13/*null.$CR*/) { 3681 else if (next == 10/*null.$LF*/ || next == 13/*null.$CR*/) {
3552 $throw(new MalformedInputException(this.get$charOffset())); 3682 $throw(new MalformedInputException(this.get$charOffset()));
3553 } 3683 }
3554 next = this.advance(); 3684 next = this.advance();
3555 } 3685 }
3556 $throw(new MalformedInputException(this.get$charOffset())); 3686 $throw(new MalformedInputException(this.get$charOffset()));
3557 } 3687 }
3558 AbstractScanner$S.prototype.tokenizeMultiLineString = function(q, start, raw) { 3688 AbstractScanner$S.prototype.tokenizeMultiLineString = function(q, start, raw) {
3559 var next = this.advance(); 3689 var next = this.advance();
3560 while (next != -1) { 3690 while (next != -1.000000/*-1*/) {
3561 if (next == q) { 3691 if (next == q) {
3562 next = this.advance(); 3692 next = this.advance();
3563 if (next == q) { 3693 if (next == q) {
3564 next = this.advance(); 3694 next = this.advance();
3565 if (next == q) { 3695 if (next == q) {
3566 this.appendByteStringToken(q, this.utf8String(start, 0)); 3696 this.appendByteStringToken(q, this.utf8String(start, 0));
3567 return this.advance(); 3697 return this.advance();
3568 } 3698 }
3569 } 3699 }
3570 } 3700 }
3571 next = this.advance(); 3701 next = this.advance();
3572 } 3702 }
3573 return next; 3703 return next;
3574 } 3704 }
3575 // ********** Code for MalformedInputException ************** 3705 // ********** Code for MalformedInputException **************
3576 function MalformedInputException(ignored) { 3706 function MalformedInputException(ignored) {
3577 // Initializers done 3707 // Initializers done
3578 } 3708 }
3579 // ********** Code for Parser ************** 3709 // ********** Code for scanner_Parser **************
3580 function Parser(listener) { 3710 function scanner_Parser(listener) {
3581 this.listener = listener; 3711 this.listener = listener;
3582 // Initializers done 3712 // Initializers done
3583 } 3713 }
3584 Parser.prototype.next = function(token) { 3714 scanner_Parser.prototype.next = function(token) {
3585 return this.checkEof(token.next); 3715 return this.checkEof(token.next);
3586 } 3716 }
3587 Parser.prototype.checkEof = function(token) { 3717 scanner_Parser.prototype.checkEof = function(token) {
3588 if (token == null) { 3718 if (token == null) {
3589 this.listener.unexpectedEof(); 3719 this.listener.unexpectedEof();
3590 $throw("Unexpected EOF"); 3720 $throw("Unexpected EOF");
3591 } 3721 }
3592 return token; 3722 return token;
3593 } 3723 }
3594 Parser.prototype.parseUnit = function(token) { 3724 scanner_Parser.prototype.parseUnit = function(token) {
3595 while (token != null) { 3725 while (token != null) {
3596 switch (token.get$value()) { 3726 switch (token.get$value()) {
3597 case const$305/*Keyword.INTERFACE*/: 3727 case const$297/*Keyword.INTERFACE*/:
3598 3728
3599 token = this.parseInterface(token); 3729 token = this.parseInterface(token);
3600 break; 3730 break;
3731 $throw(new FallThroughError("./leg/scanner/parser.dart", 28))
3601 3732
3602 case const$293/*Keyword.CLASS*/: 3733 case const$285/*Keyword.CLASS*/:
3603 3734
3604 token = this.parseClass(token); 3735 token = this.parseClass(token);
3605 break; 3736 break;
3737 $throw(new FallThroughError("./leg/scanner/parser.dart", 31))
3606 3738
3607 case const$321/*Keyword.TYPEDEF*/: 3739 case const$313/*Keyword.TYPEDEF*/:
3608 3740
3609 token = this.parseNamedFunctionAlias(token); 3741 token = this.parseNamedFunctionAlias(token);
3610 break; 3742 break;
3743 $throw(new FallThroughError("./leg/scanner/parser.dart", 34))
3611 3744
3612 case "#": 3745 case "#":
3613 3746
3614 token = this.parseLibraryTags(token); 3747 token = this.parseLibraryTags(token);
3615 break; 3748 break;
3749 $throw(new FallThroughError("./leg/scanner/parser.dart", 37))
3616 3750
3617 default: 3751 default:
3618 3752
3619 token = this.parseTopLevelMember(token); 3753 token = this.parseTopLevelMember(token);
3620 break; 3754 break;
3621 3755
3622 } 3756 }
3623 } 3757 }
3624 } 3758 }
3625 Parser.prototype.parseInterface = function(token) { 3759 scanner_Parser.prototype.parseInterface = function(token) {
3626 this.listener.beginInterface(token); 3760 this.listener.beginInterface(token);
3627 token = this.parseIdentifier(this.next(token)); 3761 token = this.parseIdentifier(this.next(token));
3628 token = this.parseTypeVariablesOpt(token); 3762 token = this.parseTypeVariablesOpt(token);
3629 token = this.parseSupertypesClauseOpt(token); 3763 token = this.parseSupertypesClauseOpt(token);
3630 token = this.parseFactoryClauseOpt(token); 3764 token = this.parseFactoryClauseOpt(token);
3631 return this.parseInterfaceBody(token); 3765 return this.parseInterfaceBody(token);
3632 } 3766 }
3633 Parser.prototype.parseInterfaceBody = function(token) { 3767 scanner_Parser.prototype.parseInterfaceBody = function(token) {
3634 token = this.skipBlock(token); 3768 token = this.skipBlock(token);
3635 this.listener.endInterface(token); 3769 this.listener.endInterface(token);
3636 return token.next; 3770 return token.next;
3637 } 3771 }
3638 Parser.prototype.parseNamedFunctionAlias = function(token) { 3772 scanner_Parser.prototype.parseNamedFunctionAlias = function(token) {
3639 this.listener.beginFunctionTypeAlias(token); 3773 this.listener.beginFunctionTypeAlias(token);
3640 token = this.parseReturnTypeOpt(this.next(token)); 3774 token = this.parseReturnTypeOpt(this.next(token));
3641 token = this.parseIdentifier(token); 3775 token = this.parseIdentifier(token);
3642 token = this.parseTypeVariablesOpt(token); 3776 token = this.parseTypeVariablesOpt(token);
3643 token = this.parseParameters(token); 3777 token = this.parseParameters(token);
3644 this.listener.endFunctionTypeAlias(token); 3778 this.listener.endFunctionTypeAlias(token);
3645 return this.expect(";", token); 3779 return this.expect(";", token);
3646 } 3780 }
3647 Parser.prototype.parseReturnTypeOpt = function(token) { 3781 scanner_Parser.prototype.parseReturnTypeOpt = function(token) {
3648 if ($eq(token.get$value(), const$285/*Keyword.VOID*/)) { 3782 if ($eq(token.get$value(), const$277/*Keyword.VOID*/)) {
3649 return this.next(token); 3783 return this.next(token);
3650 } 3784 }
3651 else { 3785 else {
3652 return this.parseTypeOpt(token); 3786 return this.parseTypeOpt(token);
3653 } 3787 }
3654 } 3788 }
3655 Parser.prototype.parseParameters = function(token) { 3789 scanner_Parser.prototype.parseParameters = function(token) {
3656 this.expect("(", token); 3790 this.expect("(", token);
3657 if (this.optional(")", this.next(token))) { 3791 if (this.optional(")", this.next(token))) {
3658 return this.next(this.next(token)); 3792 return this.next(this.next(token));
3659 } 3793 }
3660 do { 3794 do {
3661 token = this.parseTypeOpt(this.next(token)); 3795 token = this.parseTypeOpt(this.next(token));
3662 token = this.parseIdentifier(token); 3796 token = this.parseIdentifier(token);
3663 } 3797 }
3664 while (this.optional(",", token)) 3798 while (this.optional(",", token))
3665 return this.expect(")", token); 3799 return this.expect(")", token);
3666 } 3800 }
3667 Parser.prototype.parseTypeOpt = function(token) { 3801 scanner_Parser.prototype.parseTypeOpt = function(token) {
3668 switch (true) { 3802 switch (true) {
3669 case this.optional("<", this.next(token)): 3803 case this.optional("<", this.next(token)):
3670 case this.optional(".", this.next(token)): 3804 case this.optional(".", this.next(token)):
3671 case this.isIdentifier(this.next(token)): 3805 case this.isIdentifier(this.next(token)):
3672 3806
3673 return this.parseType(token); 3807 return this.parseType(token);
3808 $throw(new FallThroughError("./leg/scanner/parser.dart", 96))
3674 3809
3675 default: 3810 default:
3676 3811
3677 return token; 3812 return token;
3678 3813
3679 } 3814 }
3680 } 3815 }
3681 Parser.prototype.isIdentifier = function(token) { 3816 scanner_Parser.prototype.isIdentifier = function(token) {
3682 switch (token.kind) { 3817 switch (token.kind) {
3683 case 97/*null.$a*/: 3818 case 97/*null.$a*/:
3684 3819
3685 return true; 3820 return true;
3821 $throw(new FallThroughError("./leg/scanner/parser.dart", 105))
3686 3822
3687 case 107/*null.$k*/: 3823 case 107/*null.$k*/:
3688 3824
3689 return token.get$value().isPseudo; 3825 return token.get$value().isPseudo;
3826 $throw(new FallThroughError("./leg/scanner/parser.dart", 107))
3690 3827
3691 default: 3828 default:
3692 3829
3693 return false; 3830 return false;
3694 3831
3695 } 3832 }
3696 } 3833 }
3697 Parser.prototype.parseSupertypesClauseOpt = function(token) { 3834 scanner_Parser.prototype.parseSupertypesClauseOpt = function(token) {
3698 if (this.optional(const$295/*Keyword.EXTENDS*/, token)) { 3835 if (this.optional(const$287/*Keyword.EXTENDS*/, token)) {
3699 do { 3836 do {
3700 token = this.parseType(this.next(token)); 3837 token = this.parseType(this.next(token));
3701 } 3838 }
3702 while (this.optional(",", token)) 3839 while (this.optional(",", token))
3703 } 3840 }
3704 return token; 3841 return token;
3705 } 3842 }
3706 Parser.prototype.parseFactoryClauseOpt = function(token) { 3843 scanner_Parser.prototype.parseFactoryClauseOpt = function(token) {
3707 if (this.optional(const$297/*Keyword.FACTORY*/, token)) { 3844 if (this.optional(const$289/*Keyword.FACTORY*/, token)) {
3708 return this.parseType(this.next(token)); 3845 return this.parseType(this.next(token));
3709 } 3846 }
3710 return token; 3847 return token;
3711 } 3848 }
3712 Parser.prototype.skipBlock = function(token) { 3849 scanner_Parser.prototype.skipBlock = function(token) {
3713 if (!this.optional("{", token)) return this.listener.expectedBlock(token); 3850 if (!this.optional("{", token)) return this.listener.expectedBlock(token);
3714 token = this.next(token); 3851 token = this.next(token);
3715 var nesting = 1; 3852 var nesting = 1;
3716 do { 3853 do {
3717 switch (token.kind) { 3854 switch (token.kind) {
3718 case 123/*null.$LBRACE*/: 3855 case 123/*null.$LBRACE*/:
3719 3856
3720 nesting++; 3857 nesting++;
3721 break; 3858 break;
3859 $throw(new FallThroughError("./leg/scanner/parser.dart", 137))
3722 3860
3723 case 125/*null.$RBRACE*/: 3861 case 125/*null.$RBRACE*/:
3724 3862
3725 nesting--; 3863 nesting--;
3726 if (nesting == 0) { 3864 if (nesting == 0) {
3727 return token; 3865 return token;
3728 } 3866 }
3729 break; 3867 break;
3730 3868
3731 } 3869 }
3732 token = this.next(token); 3870 token = this.next(token);
3733 } 3871 }
3734 while (token != null) 3872 while (token != null)
3735 $throw("Internal error: unreachable code"); 3873 $throw("Internal error: unreachable code");
3736 } 3874 }
3737 Parser.prototype.parseClass = function(token) { 3875 scanner_Parser.prototype.parseClass = function(token) {
3738 this.listener.beginClass(token); 3876 this.listener.beginClass(token);
3739 token = this.parseIdentifier(this.next(token)); 3877 token = this.parseIdentifier(this.next(token));
3740 token = this.parseTypeVariablesOpt(token); 3878 token = this.parseTypeVariablesOpt(token);
3741 token = this.parseSuperclassClauseOpt(token); 3879 token = this.parseSuperclassClauseOpt(token);
3742 token = this.parseImplementsOpt(token); 3880 token = this.parseImplementsOpt(token);
3743 token = this.parseNativeClassClauseOpt(token); 3881 token = this.parseNativeClassClauseOpt(token);
3744 return this.parseClassBody(token); 3882 return this.parseClassBody(token);
3745 } 3883 }
3746 Parser.prototype.parseNativeClassClauseOpt = function(token) { 3884 scanner_Parser.prototype.parseNativeClassClauseOpt = function(token) {
3747 if (this.optional(const$309/*Keyword.NATIVE*/, token)) { 3885 if (this.optional(const$301/*Keyword.NATIVE*/, token)) {
3748 return this.parseString(this.next(token)); 3886 return this.parseString(this.next(token));
3749 } 3887 }
3750 return token; 3888 return token;
3751 } 3889 }
3752 Parser.prototype.parseString = function(token) { 3890 scanner_Parser.prototype.parseString = function(token) {
3753 switch (token.kind) { 3891 switch (token.kind) {
3754 case 39/*null.$SQ*/: 3892 case 39/*null.$SQ*/:
3755 case 34/*null.$DQ*/: 3893 case 34/*null.$DQ*/:
3756 3894
3757 return this.next(token); 3895 return this.next(token);
3896 $throw(new FallThroughError("./leg/scanner/parser.dart", 171))
3758 3897
3759 default: 3898 default:
3760 3899
3761 return this.listener.expected("string", token); 3900 return this.listener.expected("string", token);
3762 3901
3763 } 3902 }
3764 } 3903 }
3765 Parser.prototype.parseIdentifier = function(token) { 3904 scanner_Parser.prototype.parseIdentifier = function(token) {
3766 if (this.isIdentifier(token)) { 3905 if (this.isIdentifier(token)) {
3767 this.listener.identifier(token); 3906 this.listener.identifier(token);
3768 } 3907 }
3769 else { 3908 else {
3770 this.listener.notIdentifier(token); 3909 this.listener.notIdentifier(token);
3771 } 3910 }
3772 return this.next(token); 3911 return this.next(token);
3773 } 3912 }
3774 Parser.prototype.parseTypeVariablesOpt = function(token) { 3913 scanner_Parser.prototype.parseTypeVariablesOpt = function(token) {
3775 if (!this.optional("<", token)) { 3914 if (!this.optional("<", token)) {
3776 return token; 3915 return token;
3777 } 3916 }
3778 this.listener.beginTypeVariables(token); 3917 this.listener.beginTypeVariables(token);
3779 do { 3918 do {
3780 token = this.parseTypeVariable(this.next(token)); 3919 token = this.parseTypeVariable(this.next(token));
3781 } 3920 }
3782 while (this.optional(",", token)) 3921 while (this.optional(",", token))
3783 return this.expect(">", token); 3922 return this.expect(">", token);
3784 } 3923 }
3785 Parser.prototype.expect = function(string, token) { 3924 scanner_Parser.prototype.expect = function(string, token) {
3786 if (string != token.get$value()) { 3925 if (string != token.get$value()) {
3787 return this.listener.expected(string, token); 3926 return this.listener.expected(string, token);
3788 } 3927 }
3789 return token.next; 3928 return token.next;
3790 } 3929 }
3791 Parser.prototype.parseTypeVariable = function(token) { 3930 scanner_Parser.prototype.parseTypeVariable = function(token) {
3792 this.listener.beginTypeVariable(token); 3931 this.listener.beginTypeVariable(token);
3793 token = this.parseIdentifier(token); 3932 token = this.parseIdentifier(token);
3794 token = this.parseSuperclassClauseOpt(token); 3933 token = this.parseSuperclassClauseOpt(token);
3795 this.listener.endTypeVariable(token); 3934 this.listener.endTypeVariable(token);
3796 return token; 3935 return token;
3797 } 3936 }
3798 Parser.prototype.optional = function(value, token) { 3937 scanner_Parser.prototype.optional = function(value, token) {
3799 return $eq(value, token.get$value()); 3938 return $eq(value, token.get$value());
3800 } 3939 }
3801 Parser.prototype.parseSuperclassClauseOpt = function(token) { 3940 scanner_Parser.prototype.parseSuperclassClauseOpt = function(token) {
3802 if (this.optional(const$295/*Keyword.EXTENDS*/, token)) { 3941 if (this.optional(const$287/*Keyword.EXTENDS*/, token)) {
3803 return this.parseType(this.next(token)); 3942 return this.parseType(this.next(token));
3804 } 3943 }
3805 return token; 3944 return token;
3806 } 3945 }
3807 Parser.prototype.parseType = function(token) { 3946 scanner_Parser.prototype.parseType = function(token) {
3808 if (this.isIdentifier(token)) { 3947 if (this.isIdentifier(token)) {
3809 token = this.parseIdentifier(token); 3948 token = this.parseIdentifier(token);
3810 } 3949 }
3811 else { 3950 else {
3812 token = this.listener.expectedType(token); 3951 token = this.listener.expectedType(token);
3813 } 3952 }
3814 return this.parseTypeArgumentsOpt(token); 3953 return this.parseTypeArgumentsOpt(token);
3815 } 3954 }
3816 Parser.prototype.parseTypeArgumentsOpt = function(token) { 3955 scanner_Parser.prototype.parseTypeArgumentsOpt = function(token) {
3817 if (this.optional("<", token)) { 3956 if (this.optional("<", token)) {
3818 this.listener.beginTypeArguments(this.next(token)); 3957 this.listener.beginTypeArguments(this.next(token));
3819 do { 3958 do {
3820 token = this.parseType(this.next(token)); 3959 token = this.parseType(this.next(token));
3821 } 3960 }
3822 while (this.optional(",", token)) 3961 while (this.optional(",", token))
3823 return this.expect(">", token); 3962 return this.expect(">", token);
3824 } 3963 }
3825 return token; 3964 return token;
3826 } 3965 }
3827 Parser.prototype.parseImplementsOpt = function(token) { 3966 scanner_Parser.prototype.parseImplementsOpt = function(token) {
3828 if (this.optional(const$301/*Keyword.IMPLEMENTS*/, token)) { 3967 if (this.optional(const$293/*Keyword.IMPLEMENTS*/, token)) {
3829 do { 3968 do {
3830 token = this.parseType(this.next(token)); 3969 token = this.parseType(this.next(token));
3831 } 3970 }
3832 while (this.optional(",", token)) 3971 while (this.optional(",", token))
3833 } 3972 }
3834 return token; 3973 return token;
3835 } 3974 }
3836 Parser.prototype.parseClassBody = function(token) { 3975 scanner_Parser.prototype.parseClassBody = function(token) {
3837 token = this.skipBlock(token); 3976 token = this.skipBlock(token);
3838 this.listener.endClass(token); 3977 this.listener.endClass(token);
3839 return token.next; 3978 return token.next;
3840 } 3979 }
3841 Parser.prototype.parseTopLevelMember = function(token) { 3980 scanner_Parser.prototype.parseTopLevelMember = function(token) {
3842 var start = token; 3981 var start = token;
3843 this.listener.beginTopLevelMember(token); 3982 this.listener.beginTopLevelMember(token);
3844 var previous = token; 3983 var previous = token;
3845 LOOP: 3984 LOOP:
3846 while (token != null) { 3985 while (token != null) {
3847 switch (token.kind) { 3986 switch (token.kind) {
3848 case 123/*null.$LBRACE*/: 3987 case 123/*null.$LBRACE*/:
3849 case 59/*null.$SEMICOLON*/: 3988 case 59/*null.$SEMICOLON*/:
3850 case 40/*null.$LPAREN*/: 3989 case 40/*null.$LPAREN*/:
3851 case 61/*null.$EQ*/: 3990 case 61/*null.$EQ*/:
3852 3991
3853 break LOOP; 3992 break LOOP;
3993 $throw(new FallThroughError("./leg/scanner/parser.dart", 266))
3854 3994
3855 default: 3995 default:
3856 3996
3857 token = this.next(previous = token); 3997 token = this.next(previous = token);
3858 break; 3998 break;
3859 3999
3860 } 4000 }
3861 } 4001 }
3862 token = this.parseIdentifier(previous); 4002 token = this.parseIdentifier(previous);
3863 if (this.optional("(", token)) { 4003 if (this.optional("(", token)) {
3864 this.listener.topLevelMethod(start); 4004 this.listener.topLevelMethod(start);
3865 } 4005 }
3866 else if (this.optional("=", token) || this.optional(";", token)) { 4006 else if (this.optional("=", token) || this.optional(";", token)) {
3867 this.listener.topLevelField(start); 4007 this.listener.topLevelField(start);
3868 } 4008 }
3869 else { 4009 else {
3870 token = this.listener.unexpected(token); 4010 token = this.listener.unexpected(token);
3871 } 4011 }
3872 while (token != null && token.kind != 123/*null.$LBRACE*/ && token.kind != 59/ *null.$SEMICOLON*/) { 4012 while (token != null && token.kind != 123/*null.$LBRACE*/ && token.kind != 59/ *null.$SEMICOLON*/) {
3873 token = this.next(token); 4013 token = this.next(token);
3874 } 4014 }
3875 if (!this.optional(";", token)) { 4015 if (!this.optional(";", token)) {
3876 token = this.skipBlock(token); 4016 token = this.skipBlock(token);
3877 } 4017 }
3878 this.listener.endTopLevelMember(token); 4018 this.listener.endTopLevelMember(token);
3879 return token.next; 4019 return token.next;
3880 } 4020 }
3881 Parser.prototype.parseLibraryTags = function(token) { 4021 scanner_Parser.prototype.parseLibraryTags = function(token) {
3882 this.listener.beginLibraryTag(token); 4022 this.listener.beginLibraryTag(token);
3883 token = this.parseIdentifier(this.next(token)); 4023 token = this.parseIdentifier(this.next(token));
3884 token = this.expect("(", token); 4024 token = this.expect("(", token);
3885 while (token != null && token.kind != 40/*null.$LPAREN*/ && token.kind != 41/* null.$RPAREN*/) { 4025 while (token != null && token.kind != 40/*null.$LPAREN*/ && token.kind != 41/* null.$RPAREN*/) {
3886 token = this.next(token); 4026 token = this.next(token);
3887 } 4027 }
3888 token = this.expect(")", token); 4028 token = this.expect(")", token);
3889 return this.expect(";", token); 4029 return this.expect(";", token);
3890 } 4030 }
3891 // ********** Code for Listener ************** 4031 // ********** Code for Listener **************
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
3939 Listener.prototype.beginTypeVariable = function(token) { 4079 Listener.prototype.beginTypeVariable = function(token) {
3940 4080
3941 } 4081 }
3942 Listener.prototype.endTypeVariable = function(token) { 4082 Listener.prototype.endTypeVariable = function(token) {
3943 4083
3944 } 4084 }
3945 Listener.prototype.beginTypeVariables = function(token) { 4085 Listener.prototype.beginTypeVariables = function(token) {
3946 4086
3947 } 4087 }
3948 Listener.prototype.identifier = function(token) { 4088 Listener.prototype.identifier = function(token) {
3949 this.previousIdentifier = new Identifier(token); 4089 this.previousIdentifier = new tree_Identifier(token);
3950 } 4090 }
3951 Listener.prototype.beginTypeArguments = function(token) { 4091 Listener.prototype.beginTypeArguments = function(token) {
3952 4092
3953 } 4093 }
3954 Listener.prototype.expected = function(string, token) { 4094 Listener.prototype.expected = function(string, token) {
3955 $throw(("Expected '" + string + "', but got '" + token + "' @ " + token.charOf fset + "")); 4095 $throw(("Expected '" + string + "', but got '" + token + "' @ " + token.charOf fset + ""));
3956 } 4096 }
3957 Listener.prototype.unexpectedEof = function() { 4097 Listener.prototype.unexpectedEof = function() {
3958 $throw("Unexpected end of file"); 4098 $throw("Unexpected end of file");
3959 } 4099 }
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
4020 // Initializers done 4160 // Initializers done
4021 } 4161 }
4022 $inherits(StringScanner, ArrayBasedScanner$String); 4162 $inherits(StringScanner, ArrayBasedScanner$String);
4023 StringScanner.prototype.nextByte = function() { 4163 StringScanner.prototype.nextByte = function() {
4024 return this.charAt(++this.byteOffset); 4164 return this.charAt(++this.byteOffset);
4025 } 4165 }
4026 StringScanner.prototype.peek = function() { 4166 StringScanner.prototype.peek = function() {
4027 return this.charAt(this.byteOffset + 1); 4167 return this.charAt(this.byteOffset + 1);
4028 } 4168 }
4029 StringScanner.prototype.charAt = function(index) { 4169 StringScanner.prototype.charAt = function(index) {
4030 return (this.string.length > index) ? this.string.charCodeAt(index) : -1; 4170 return (this.string.length > index) ? this.string.charCodeAt(index) : -1.00000 0/*-1*/;
4031 } 4171 }
4032 StringScanner.prototype.asciiString = function(start) { 4172 StringScanner.prototype.asciiString = function(start) {
4033 return this.string.substring(start, this.byteOffset); 4173 return this.string.substring(start, this.byteOffset);
4034 } 4174 }
4035 StringScanner.prototype.utf8String = function(start, offset) { 4175 StringScanner.prototype.utf8String = function(start, offset) {
4036 return this.string.substring(start, this.byteOffset + offset + 1); 4176 return this.string.substring(start, this.byteOffset + offset + 1);
4037 } 4177 }
4038 StringScanner.prototype.appendByteStringToken = function(kind, value) { 4178 StringScanner.prototype.appendByteStringToken = function(kind, value) {
4039 this.tail.next = new StringToken(kind, value, this.tokenStart); 4179 this.tail.next = new StringToken(kind, value, this.tokenStart);
4040 this.tail = this.tail.next; 4180 this.tail = this.tail.next;
4041 } 4181 }
4042 // ********** Code for top level ************** 4182 // ********** Code for top level **************
4043 // ********** Library scanner_implementation ************** 4183 // ********** Library scanner_implementation **************
4044 // ********** Code for Keyword ************** 4184 // ********** Code for Keyword **************
4045 function Keyword(syntax, isPseudo) { 4185 function Keyword(syntax, isPseudo) {
4046 this.syntax = syntax; 4186 this.syntax = syntax;
4047 this.isPseudo = isPseudo; 4187 this.isPseudo = isPseudo;
4048 // Initializers done 4188 // Initializers done
4049 } 4189 }
4050 Keyword.get$keywords = function() { 4190 Keyword.get$keywords = function() {
4051 if (Keyword._keywords == null) { 4191 if (Keyword._keywords == null) {
4052 Keyword._keywords = Keyword.computeKeywordMap(); 4192 Keyword._keywords = Keyword.computeKeywordMap();
4053 } 4193 }
4054 return Keyword._keywords; 4194 return Keyword._keywords;
4055 } 4195 }
4056 Keyword.computeKeywordMap = function() { 4196 Keyword.computeKeywordMap = function() {
4057 var result = new LinkedHashMapImplementation$String$Keyword(); 4197 var result = new LinkedHashMapImplementation$String$Keyword();
4058 for (var $i = 0;$i < const$323/*Keyword.values*/.length; $i++) { 4198 for (var $i = 0;$i < const$315/*Keyword.values*/.length; $i++) {
4059 var keyword = const$323/*Keyword.values*/.$index($i); 4199 var keyword = const$315/*Keyword.values*/.$index($i);
4060 result.$setindex(keyword.syntax, keyword); 4200 result.$setindex(keyword.syntax, keyword);
4061 } 4201 }
4062 return result; 4202 return result;
4063 } 4203 }
4064 // ********** Code for KeywordState ************** 4204 // ********** Code for KeywordState **************
4065 function KeywordState() {} 4205 function KeywordState() {}
4066 KeywordState.get$KEYWORD_STATE = function() { 4206 KeywordState.get$KEYWORD_STATE = function() {
4067 if (KeywordState._KEYWORD_STATE == null) { 4207 if (KeywordState._KEYWORD_STATE == null) {
4068 var strings = new ListFactory$String(const$323/*Keyword.values*/.length); 4208 var strings = new ListFactory$String(const$315/*Keyword.values*/.length);
4069 for (var i = 0; 4209 for (var i = 0;
4070 i < const$323/*Keyword.values*/.length; i++) { 4210 i < const$315/*Keyword.values*/.length; i++) {
4071 strings.$setindex(i, const$323/*Keyword.values*/.$index(i).syntax); 4211 strings.$setindex(i, const$315/*Keyword.values*/.$index(i).syntax);
4072 } 4212 }
4073 strings.sort((function (a, b) { 4213 strings.sort((function (a, b) {
4074 return a.compareTo(b); 4214 return a.compareTo(b);
4075 }) 4215 })
4076 ); 4216 );
4077 KeywordState._KEYWORD_STATE = KeywordState.computeKeywordStateTable(0, strin gs, 0, strings.length); 4217 KeywordState._KEYWORD_STATE = KeywordState.computeKeywordStateTable(0, strin gs, 0, strings.length);
4078 } 4218 }
4079 return KeywordState._KEYWORD_STATE; 4219 return KeywordState._KEYWORD_STATE;
4080 } 4220 }
4081 KeywordState.computeKeywordStateTable = function(start, strings, offset, length) { 4221 KeywordState.computeKeywordStateTable = function(start, strings, offset, length) {
4082 var result = new ListFactory$KeywordState(26); 4222 var result = new ListFactory$KeywordState(26);
4083 var chunk = 0; 4223 var chunk = 0;
4084 var chunkStart = -1; 4224 var chunkStart = -1.000000/*-1*/;
4085 for (var i = offset; 4225 for (var i = offset;
4086 i < offset + length; i++) { 4226 i < offset + length; i++) {
4087 if (strings.$index(i).length > start) { 4227 if (strings.$index(i).length > start) {
4088 var c = strings.$index(i).charCodeAt(start); 4228 var c = strings.$index(i).charCodeAt(start);
4089 if (chunk != c) { 4229 if (chunk != c) {
4090 if (chunkStart != -1) { 4230 if (chunkStart != -1.000000/*-1*/) {
4091 result.$setindex(chunk - 97/*null.$a*/, KeywordState.computeKeywordSta teTable(start + 1, strings, chunkStart, i - chunkStart)); 4231 result.$setindex(chunk - 97/*null.$a*/, KeywordState.computeKeywordSta teTable(start + 1, strings, chunkStart, i - chunkStart));
4092 } 4232 }
4093 chunkStart = i; 4233 chunkStart = i;
4094 chunk = c; 4234 chunk = c;
4095 } 4235 }
4096 } 4236 }
4097 } 4237 }
4098 if (chunkStart != -1) { 4238 if (chunkStart != -1.000000/*-1*/) {
4099 result.$setindex(chunk - 97/*null.$a*/, KeywordState.computeKeywordStateTabl e(start + 1, strings, chunkStart, offset + length - chunkStart)); 4239 result.$setindex(chunk - 97/*null.$a*/, KeywordState.computeKeywordStateTabl e(start + 1, strings, chunkStart, offset + length - chunkStart));
4100 } 4240 }
4101 else { 4241 else {
4102 return new LeafKeywordState(strings.$index(offset)); 4242 return new LeafKeywordState(strings.$index(offset));
4103 } 4243 }
4104 return new ArrayKeywordState(result); 4244 return new ArrayKeywordState(result);
4105 } 4245 }
4106 // ********** Code for ArrayKeywordState ************** 4246 // ********** Code for ArrayKeywordState **************
4107 function ArrayKeywordState(table) { 4247 function ArrayKeywordState(table) {
4108 this.table = table; 4248 this.table = table;
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
4141 LeafKeywordState.prototype.set$keyword = function(value) { return this.keyword = value; }; 4281 LeafKeywordState.prototype.set$keyword = function(value) { return this.keyword = value; };
4142 LeafKeywordState.prototype.isLeaf = function() { 4282 LeafKeywordState.prototype.isLeaf = function() {
4143 return true; 4283 return true;
4144 } 4284 }
4145 LeafKeywordState.prototype.next = function(c) { 4285 LeafKeywordState.prototype.next = function(c) {
4146 return null; 4286 return null;
4147 } 4287 }
4148 LeafKeywordState.prototype.toString = function() { 4288 LeafKeywordState.prototype.toString = function() {
4149 return this.keyword.syntax; 4289 return this.keyword.syntax;
4150 } 4290 }
4151 // ********** Code for Token ************** 4291 // ********** Code for scanner_implementation_Token **************
4152 function Token(kind, charOffset) { 4292 function scanner_implementation_Token(kind, charOffset) {
4153 this.kind = kind; 4293 this.kind = kind;
4154 this.charOffset = charOffset; 4294 this.charOffset = charOffset;
4155 // Initializers done 4295 // Initializers done
4156 } 4296 }
4157 Token.prototype.toString = function() { 4297 scanner_implementation_Token.prototype.toString = function() {
4158 return Strings.String$fromCharCodes$factory([this.kind]); 4298 return Strings.String$fromCharCodes$factory([this.kind]);
4159 } 4299 }
4160 // ********** Code for KeywordToken ************** 4300 // ********** Code for KeywordToken **************
4161 function KeywordToken(value, charOffset) { 4301 function KeywordToken(value, charOffset) {
4162 this.value = value; 4302 this.value = value;
4163 Token.call(this, 107/*null.$k*/, charOffset); 4303 scanner_implementation_Token.call(this, 107/*null.$k*/, charOffset);
4164 // Initializers done 4304 // Initializers done
4165 } 4305 }
4166 $inherits(KeywordToken, Token); 4306 $inherits(KeywordToken, scanner_implementation_Token);
4167 KeywordToken.prototype.get$value = function() { return this.value; }; 4307 KeywordToken.prototype.get$value = function() { return this.value; };
4168 KeywordToken.prototype.toString = function() { 4308 KeywordToken.prototype.toString = function() {
4169 return this.value.syntax; 4309 return this.value.syntax;
4170 } 4310 }
4171 // ********** Code for StringToken ************** 4311 // ********** Code for StringToken **************
4172 function StringToken(kind, value, charOffset) { 4312 function StringToken(kind, value, charOffset) {
4173 this.value = value; 4313 this.value = value;
4174 Token.call(this, kind, charOffset); 4314 scanner_implementation_Token.call(this, kind, charOffset);
4175 // Initializers done 4315 // Initializers done
4176 } 4316 }
4177 $inherits(StringToken, Token); 4317 $inherits(StringToken, scanner_implementation_Token);
4178 StringToken.prototype.get$value = function() { return this.value; }; 4318 StringToken.prototype.get$value = function() { return this.value; };
4179 StringToken.prototype.toString = function() { 4319 StringToken.prototype.toString = function() {
4180 return this.value; 4320 return this.value;
4181 } 4321 }
4182 // ********** Code for ArrayBasedScanner ************** 4322 // ********** Code for ArrayBasedScanner **************
4183 function ArrayBasedScanner() { 4323 function ArrayBasedScanner() {
4184 this.charOffset = -1; 4324 this.charOffset = -1.000000/*-1*/;
4185 this.tokenStart = -1; 4325 this.tokenStart = -1.000000/*-1*/;
4186 this.byteOffset = -1; 4326 this.byteOffset = -1.000000/*-1*/;
4187 this.tokens = new Token(0, -1); 4327 this.tokens = new scanner_implementation_Token(0, -1.000000/*-1*/);
4188 // Initializers done 4328 // Initializers done
4189 this.tail = this.tokens; 4329 this.tail = this.tokens;
4190 } 4330 }
4191 $inherits(ArrayBasedScanner, AbstractScanner$S); 4331 $inherits(ArrayBasedScanner, AbstractScanner$S);
4192 ArrayBasedScanner.prototype.get$charOffset = function() { return this.charOffset ; }; 4332 ArrayBasedScanner.prototype.get$charOffset = function() { return this.charOffset ; };
4193 ArrayBasedScanner.prototype.set$charOffset = function(value) { return this.charO ffset = value; }; 4333 ArrayBasedScanner.prototype.set$charOffset = function(value) { return this.charO ffset = value; };
4194 ArrayBasedScanner.prototype.get$byteOffset = function() { return this.byteOffset ; }; 4334 ArrayBasedScanner.prototype.get$byteOffset = function() { return this.byteOffset ; };
4195 ArrayBasedScanner.prototype.set$byteOffset = function(value) { return this.byteO ffset = value; }; 4335 ArrayBasedScanner.prototype.set$byteOffset = function(value) { return this.byteO ffset = value; };
4196 ArrayBasedScanner.prototype.advance = function() { 4336 ArrayBasedScanner.prototype.advance = function() {
4197 var next = this.nextByte(); 4337 var next = this.nextByte();
(...skipping 26 matching lines...) Expand all
4224 return this.tokens.next; 4364 return this.tokens.next;
4225 } 4365 }
4226 ArrayBasedScanner.prototype.addToCharOffset = function(offset) { 4366 ArrayBasedScanner.prototype.addToCharOffset = function(offset) {
4227 this.charOffset += offset; 4367 this.charOffset += offset;
4228 } 4368 }
4229 ArrayBasedScanner.prototype.appendWhiteSpace = function(next) { 4369 ArrayBasedScanner.prototype.appendWhiteSpace = function(next) {
4230 4370
4231 } 4371 }
4232 // ********** Code for ArrayBasedScanner$String ************** 4372 // ********** Code for ArrayBasedScanner$String **************
4233 function ArrayBasedScanner$String() { 4373 function ArrayBasedScanner$String() {
4234 this.charOffset = -1; 4374 this.charOffset = -1.000000/*-1*/;
4235 this.tokenStart = -1; 4375 this.tokenStart = -1.000000/*-1*/;
4236 this.byteOffset = -1; 4376 this.byteOffset = -1.000000/*-1*/;
4237 this.tokens = new Token(0, -1); 4377 this.tokens = new scanner_implementation_Token(0, -1.000000/*-1*/);
4238 // Initializers done 4378 // Initializers done
4239 this.tail = this.tokens; 4379 this.tail = this.tokens;
4240 } 4380 }
4241 $inherits(ArrayBasedScanner$String, ArrayBasedScanner); 4381 $inherits(ArrayBasedScanner$String, ArrayBasedScanner);
4242 ArrayBasedScanner$String.prototype.tokenize = function() { 4382 ArrayBasedScanner$String.prototype.tokenize = function() {
4243 var next = this.advance(); 4383 var next = this.advance();
4244 while (next != -1) { 4384 while (next != -1.000000/*-1*/) {
4245 next = this.bigSwitch(next); 4385 next = this.bigSwitch(next);
4246 } 4386 }
4247 return this.firstToken(); 4387 return this.firstToken();
4248 } 4388 }
4249 ArrayBasedScanner$String.prototype.bigSwitch = function(next) { 4389 ArrayBasedScanner$String.prototype.bigSwitch = function(next) {
4250 this.beginToken(); 4390 this.beginToken();
4251 switch (next) { 4391 switch (next) {
4252 case 9/*null.$TAB*/: 4392 case 9/*null.$TAB*/:
4253 case 10/*null.$LF*/: 4393 case 10/*null.$LF*/:
4254 case 13/*null.$CR*/: 4394 case 13/*null.$CR*/:
4255 case 32/*null.$SPACE*/: 4395 case 32/*null.$SPACE*/:
4256 4396
4257 this.appendWhiteSpace(next); 4397 this.appendWhiteSpace(next);
4258 return this.advance(); 4398 return this.advance();
4399 $throw(new FallThroughError("./leg/scanner/scanner.dart", 62))
4259 4400
4260 case 60/*null.$LT*/: 4401 case 60/*null.$LT*/:
4261 4402
4262 return this.tokenizeLessThan(next); 4403 return this.tokenizeLessThan(next);
4404 $throw(new FallThroughError("./leg/scanner/scanner.dart", 65))
4263 4405
4264 case 62/*null.$GT*/: 4406 case 62/*null.$GT*/:
4265 4407
4266 return this.tokenizeGreaterThan(next); 4408 return this.tokenizeGreaterThan(next);
4409 $throw(new FallThroughError("./leg/scanner/scanner.dart", 68))
4267 4410
4268 case 61/*null.$EQ*/: 4411 case 61/*null.$EQ*/:
4269 4412
4270 return this.tokenizeEquals(next); 4413 return this.tokenizeEquals(next);
4414 $throw(new FallThroughError("./leg/scanner/scanner.dart", 71))
4271 4415
4272 case 33/*null.$BANG*/: 4416 case 33/*null.$BANG*/:
4273 4417
4274 return this.tokenizeExclamation(next); 4418 return this.tokenizeExclamation(next);
4419 $throw(new FallThroughError("./leg/scanner/scanner.dart", 74))
4275 4420
4276 case 43/*null.$PLUS*/: 4421 case 43/*null.$PLUS*/:
4277 4422
4278 return this.tokenizePlus(next); 4423 return this.tokenizePlus(next);
4424 $throw(new FallThroughError("./leg/scanner/scanner.dart", 77))
4279 4425
4280 case 45/*null.$MINUS*/: 4426 case 45/*null.$MINUS*/:
4281 4427
4282 return this.tokenizeMinus(next); 4428 return this.tokenizeMinus(next);
4429 $throw(new FallThroughError("./leg/scanner/scanner.dart", 80))
4283 4430
4284 case 42/*null.$STAR*/: 4431 case 42/*null.$STAR*/:
4285 4432
4286 return this.tokenizeMultiply(next); 4433 return this.tokenizeMultiply(next);
4434 $throw(new FallThroughError("./leg/scanner/scanner.dart", 83))
4287 4435
4288 case 37/*null.$PERCENT*/: 4436 case 37/*null.$PERCENT*/:
4289 4437
4290 return this.tokenizePercent(next); 4438 return this.tokenizePercent(next);
4439 $throw(new FallThroughError("./leg/scanner/scanner.dart", 86))
4291 4440
4292 case 38/*null.$AMPERSAND*/: 4441 case 38/*null.$AMPERSAND*/:
4293 4442
4294 return this.tokenizeAmpersand(next); 4443 return this.tokenizeAmpersand(next);
4444 $throw(new FallThroughError("./leg/scanner/scanner.dart", 89))
4295 4445
4296 case 124/*null.$BAR*/: 4446 case 124/*null.$BAR*/:
4297 4447
4298 return this.tokenizeBar(next); 4448 return this.tokenizeBar(next);
4449 $throw(new FallThroughError("./leg/scanner/scanner.dart", 92))
4299 4450
4300 case 94/*null.$CARET*/: 4451 case 94/*null.$CARET*/:
4301 4452
4302 return this.tokenizeCaret(next); 4453 return this.tokenizeCaret(next);
4454 $throw(new FallThroughError("./leg/scanner/scanner.dart", 95))
4303 4455
4304 case 91/*null.$LBRACKET*/: 4456 case 91/*null.$LBRACKET*/:
4305 4457
4306 return this.tokenizeOpenBracket(next); 4458 return this.tokenizeOpenBracket(next);
4459 $throw(new FallThroughError("./leg/scanner/scanner.dart", 98))
4307 4460
4308 case 126/*null.$TILDE*/: 4461 case 126/*null.$TILDE*/:
4309 4462
4310 return this.tokenizeTilde(next); 4463 return this.tokenizeTilde(next);
4464 $throw(new FallThroughError("./leg/scanner/scanner.dart", 101))
4311 4465
4312 case 92/*null.$BACKSLASH*/: 4466 case 92/*null.$BACKSLASH*/:
4313 4467
4314 this.appendStringToken(next, "\\"); 4468 this.appendStringToken(next, "\\");
4315 return this.advance(); 4469 return this.advance();
4470 $throw(new FallThroughError("./leg/scanner/scanner.dart", 105))
4316 4471
4317 case 35/*null.$HASH*/: 4472 case 35/*null.$HASH*/:
4318 4473
4319 return this.tokenizeTag(next); 4474 return this.tokenizeTag(next);
4475 $throw(new FallThroughError("./leg/scanner/scanner.dart", 108))
4320 4476
4321 case 40/*null.$LPAREN*/: 4477 case 40/*null.$LPAREN*/:
4322 4478
4323 this.appendStringToken(next, "("); 4479 this.appendStringToken(next, "(");
4324 return this.advance(); 4480 return this.advance();
4481 $throw(new FallThroughError("./leg/scanner/scanner.dart", 112))
4325 4482
4326 case 41/*null.$RPAREN*/: 4483 case 41/*null.$RPAREN*/:
4327 4484
4328 this.appendStringToken(next, ")"); 4485 this.appendStringToken(next, ")");
4329 return this.advance(); 4486 return this.advance();
4487 $throw(new FallThroughError("./leg/scanner/scanner.dart", 116))
4330 4488
4331 case 44/*null.$COMMA*/: 4489 case 44/*null.$COMMA*/:
4332 4490
4333 this.appendStringToken(next, ","); 4491 this.appendStringToken(next, ",");
4334 return this.advance(); 4492 return this.advance();
4493 $throw(new FallThroughError("./leg/scanner/scanner.dart", 120))
4335 4494
4336 case 58/*null.$COLON*/: 4495 case 58/*null.$COLON*/:
4337 4496
4338 this.appendStringToken(next, ":"); 4497 this.appendStringToken(next, ":");
4339 return this.advance(); 4498 return this.advance();
4499 $throw(new FallThroughError("./leg/scanner/scanner.dart", 124))
4340 4500
4341 case 59/*null.$SEMICOLON*/: 4501 case 59/*null.$SEMICOLON*/:
4342 4502
4343 this.appendStringToken(next, ";"); 4503 this.appendStringToken(next, ";");
4344 return this.advance(); 4504 return this.advance();
4505 $throw(new FallThroughError("./leg/scanner/scanner.dart", 128))
4345 4506
4346 case 63/*null.$QUESTION*/: 4507 case 63/*null.$QUESTION*/:
4347 4508
4348 this.appendStringToken(next, "?"); 4509 this.appendStringToken(next, "?");
4349 return this.advance(); 4510 return this.advance();
4511 $throw(new FallThroughError("./leg/scanner/scanner.dart", 132))
4350 4512
4351 case 93/*null.$RBRACKET*/: 4513 case 93/*null.$RBRACKET*/:
4352 4514
4353 this.appendStringToken(next, "]"); 4515 this.appendStringToken(next, "]");
4354 return this.advance(); 4516 return this.advance();
4517 $throw(new FallThroughError("./leg/scanner/scanner.dart", 136))
4355 4518
4356 case 96/*null.$BACKPING*/: 4519 case 96/*null.$BACKPING*/:
4357 4520
4358 this.appendStringToken(next, "`"); 4521 this.appendStringToken(next, "`");
4359 return this.advance(); 4522 return this.advance();
4523 $throw(new FallThroughError("./leg/scanner/scanner.dart", 140))
4360 4524
4361 case 123/*null.$LBRACE*/: 4525 case 123/*null.$LBRACE*/:
4362 4526
4363 this.appendStringToken(next, "{"); 4527 this.appendStringToken(next, "{");
4364 return this.advance(); 4528 return this.advance();
4529 $throw(new FallThroughError("./leg/scanner/scanner.dart", 144))
4365 4530
4366 case 125/*null.$RBRACE*/: 4531 case 125/*null.$RBRACE*/:
4367 4532
4368 this.appendStringToken(next, "}"); 4533 this.appendStringToken(next, "}");
4369 return this.advance(); 4534 return this.advance();
4535 $throw(new FallThroughError("./leg/scanner/scanner.dart", 148))
4370 4536
4371 case 47/*null.$SLASH*/: 4537 case 47/*null.$SLASH*/:
4372 4538
4373 return this.tokenizeSlashOrComment(next); 4539 return this.tokenizeSlashOrComment(next);
4540 $throw(new FallThroughError("./leg/scanner/scanner.dart", 151))
4374 4541
4375 case 64/*null.$AT*/: 4542 case 64/*null.$AT*/:
4376 4543
4377 return this.tokenizeRawString(next); 4544 return this.tokenizeRawString(next);
4545 $throw(new FallThroughError("./leg/scanner/scanner.dart", 154))
4378 4546
4379 case 34/*null.$DQ*/: 4547 case 34/*null.$DQ*/:
4380 case 39/*null.$SQ*/: 4548 case 39/*null.$SQ*/:
4381 4549
4382 return this.tokenizeString(next, this.byteOffset, false); 4550 return this.tokenizeString(next, this.byteOffset, false);
4551 $throw(new FallThroughError("./leg/scanner/scanner.dart", 158))
4383 4552
4384 case 46/*null.$PERIOD*/: 4553 case 46/*null.$PERIOD*/:
4385 4554
4386 return this.tokenizeDotOrNumber(next); 4555 return this.tokenizeDotOrNumber(next);
4556 $throw(new FallThroughError("./leg/scanner/scanner.dart", 161))
4387 4557
4388 case 48/*null.$0*/: 4558 case 48/*null.$0*/:
4389 4559
4390 return this.tokenizeHexOrNumber(next); 4560 return this.tokenizeHexOrNumber(next);
4561 $throw(new FallThroughError("./leg/scanner/scanner.dart", 164))
4391 4562
4392 case 49/*null.$1*/: 4563 case 49/*null.$1*/:
4393 case 50/*null.$2*/: 4564 case 50/*null.$2*/:
4394 case 51/*null.$3*/: 4565 case 51/*null.$3*/:
4395 case 52/*null.$4*/: 4566 case 52/*null.$4*/:
4396 case 53/*null.$5*/: 4567 case 53/*null.$5*/:
4397 case 54/*null.$6*/: 4568 case 54/*null.$6*/:
4398 case 55/*null.$7*/: 4569 case 55/*null.$7*/:
4399 case 56/*null.$8*/: 4570 case 56/*null.$8*/:
4400 case 57/*null.$9*/: 4571 case 57/*null.$9*/:
4401 4572
4402 return this.tokenizeNumber(next); 4573 return this.tokenizeNumber(next);
4574 $throw(new FallThroughError("./leg/scanner/scanner.dart", 175))
4403 4575
4404 case 36/*null.$DOLLAR*/: 4576 case 36/*null.$DOLLAR*/:
4405 case 65/*null.$A*/: 4577 case 65/*null.$A*/:
4406 case 66/*null.$B*/: 4578 case 66/*null.$B*/:
4407 case 67/*null.$C*/: 4579 case 67/*null.$C*/:
4408 case 68/*null.$D*/: 4580 case 68/*null.$D*/:
4409 case 69/*null.$E*/: 4581 case 69/*null.$E*/:
4410 case 70/*null.$F*/: 4582 case 70/*null.$F*/:
4411 case 71/*null.$G*/: 4583 case 71/*null.$G*/:
4412 case 72/*null.$H*/: 4584 case 72/*null.$H*/:
(...skipping 37 matching lines...) Expand 10 before | Expand all | Expand 10 after
4450 case 115/*null.$s*/: 4622 case 115/*null.$s*/:
4451 case 116/*null.$t*/: 4623 case 116/*null.$t*/:
4452 case 117/*null.$u*/: 4624 case 117/*null.$u*/:
4453 case 118/*null.$v*/: 4625 case 118/*null.$v*/:
4454 case 119/*null.$w*/: 4626 case 119/*null.$w*/:
4455 case 120/*null.$x*/: 4627 case 120/*null.$x*/:
4456 case 121/*null.$y*/: 4628 case 121/*null.$y*/:
4457 case 122/*null.$z*/: 4629 case 122/*null.$z*/:
4458 4630
4459 return this.tokenizeIdentifier(next); 4631 return this.tokenizeIdentifier(next);
4632 $throw(new FallThroughError("./leg/scanner/scanner.dart", 231))
4460 4633
4461 default: 4634 default:
4462 4635
4463 if (next == -1) { 4636 if (next == -1.000000/*-1*/) {
4464 return -1; 4637 return -1.000000/*-1*/;
4465 } 4638 }
4466 if (next < 0x1f) { 4639 if (next < 0x1f) {
4467 $throw(this.charOffset); 4640 $throw(this.charOffset);
4468 $throw(new MalformedInputException(this.charOffset)); 4641 $throw(new MalformedInputException(this.charOffset));
4469 } 4642 }
4470 return this.tokenizeIdentifier(next); 4643 return this.tokenizeIdentifier(next);
4471 4644
4472 } 4645 }
4473 } 4646 }
4474 ArrayBasedScanner$String.prototype.tokenizeTag = function(next) { 4647 ArrayBasedScanner$String.prototype.tokenizeTag = function(next) {
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after
4507 ArrayBasedScanner$String.prototype.tokenizeCaret = function(next) { 4680 ArrayBasedScanner$String.prototype.tokenizeCaret = function(next) {
4508 return this.select(61/*null.$EQ*/, "^=", "^"); 4681 return this.select(61/*null.$EQ*/, "^=", "^");
4509 } 4682 }
4510 ArrayBasedScanner$String.prototype.tokenizeBar = function(next) { 4683 ArrayBasedScanner$String.prototype.tokenizeBar = function(next) {
4511 next = this.advance(); 4684 next = this.advance();
4512 switch (next) { 4685 switch (next) {
4513 case 124/*null.$BAR*/: 4686 case 124/*null.$BAR*/:
4514 4687
4515 this.appendStringToken(124/*null.$BAR*/, "||"); 4688 this.appendStringToken(124/*null.$BAR*/, "||");
4516 return this.advance(); 4689 return this.advance();
4690 $throw(new FallThroughError("./leg/scanner/scanner.dart", 292))
4517 4691
4518 case 61/*null.$EQ*/: 4692 case 61/*null.$EQ*/:
4519 4693
4520 this.appendStringToken(124/*null.$BAR*/, "|="); 4694 this.appendStringToken(124/*null.$BAR*/, "|=");
4521 return this.advance(); 4695 return this.advance();
4696 $throw(new FallThroughError("./leg/scanner/scanner.dart", 295))
4522 4697
4523 default: 4698 default:
4524 4699
4525 this.appendStringToken(124/*null.$BAR*/, "|"); 4700 this.appendStringToken(124/*null.$BAR*/, "|");
4526 return next; 4701 return next;
4527 4702
4528 } 4703 }
4529 } 4704 }
4530 ArrayBasedScanner$String.prototype.tokenizeAmpersand = function(next) { 4705 ArrayBasedScanner$String.prototype.tokenizeAmpersand = function(next) {
4531 next = this.advance(); 4706 next = this.advance();
4532 switch (next) { 4707 switch (next) {
4533 case 38/*null.$AMPERSAND*/: 4708 case 38/*null.$AMPERSAND*/:
4534 4709
4535 this.appendStringToken(38/*null.$AMPERSAND*/, "&&"); 4710 this.appendStringToken(38/*null.$AMPERSAND*/, "&&");
4536 return this.advance(); 4711 return this.advance();
4712 $throw(new FallThroughError("./leg/scanner/scanner.dart", 308))
4537 4713
4538 case 61/*null.$EQ*/: 4714 case 61/*null.$EQ*/:
4539 4715
4540 this.appendStringToken(38/*null.$AMPERSAND*/, "&="); 4716 this.appendStringToken(38/*null.$AMPERSAND*/, "&=");
4541 return this.advance(); 4717 return this.advance();
4718 $throw(new FallThroughError("./leg/scanner/scanner.dart", 311))
4542 4719
4543 default: 4720 default:
4544 4721
4545 this.appendStringToken(38/*null.$AMPERSAND*/, "&"); 4722 this.appendStringToken(38/*null.$AMPERSAND*/, "&");
4546 return next; 4723 return next;
4547 4724
4548 } 4725 }
4549 } 4726 }
4550 ArrayBasedScanner$String.prototype.tokenizePercent = function(next) { 4727 ArrayBasedScanner$String.prototype.tokenizePercent = function(next) {
4551 return this.select(61/*null.$EQ*/, "%=", "%"); 4728 return this.select(61/*null.$EQ*/, "%=", "%");
4552 } 4729 }
4553 ArrayBasedScanner$String.prototype.tokenizeMultiply = function(next) { 4730 ArrayBasedScanner$String.prototype.tokenizeMultiply = function(next) {
4554 return this.select(61/*null.$EQ*/, "*=", "*"); 4731 return this.select(61/*null.$EQ*/, "*=", "*");
4555 } 4732 }
4556 ArrayBasedScanner$String.prototype.tokenizeMinus = function(next) { 4733 ArrayBasedScanner$String.prototype.tokenizeMinus = function(next) {
4557 next = this.advance(); 4734 next = this.advance();
4558 switch (next) { 4735 switch (next) {
4559 case 45/*null.$MINUS*/: 4736 case 45/*null.$MINUS*/:
4560 4737
4561 this.appendStringToken(45/*null.$MINUS*/, "--"); 4738 this.appendStringToken(45/*null.$MINUS*/, "--");
4562 return this.advance(); 4739 return this.advance();
4740 $throw(new FallThroughError("./leg/scanner/scanner.dart", 334))
4563 4741
4564 case 61/*null.$EQ*/: 4742 case 61/*null.$EQ*/:
4565 4743
4566 this.appendStringToken(45/*null.$MINUS*/, "-="); 4744 this.appendStringToken(45/*null.$MINUS*/, "-=");
4567 return this.advance(); 4745 return this.advance();
4746 $throw(new FallThroughError("./leg/scanner/scanner.dart", 337))
4568 4747
4569 default: 4748 default:
4570 4749
4571 this.appendStringToken(45/*null.$MINUS*/, "-"); 4750 this.appendStringToken(45/*null.$MINUS*/, "-");
4572 return next; 4751 return next;
4573 4752
4574 } 4753 }
4575 } 4754 }
4576 ArrayBasedScanner$String.prototype.tokenizePlus = function(next) { 4755 ArrayBasedScanner$String.prototype.tokenizePlus = function(next) {
4577 next = this.advance(); 4756 next = this.advance();
4578 switch (next) { 4757 switch (next) {
4579 case 43/*null.$PLUS*/: 4758 case 43/*null.$PLUS*/:
4580 4759
4581 this.appendStringToken(43/*null.$PLUS*/, "++"); 4760 this.appendStringToken(43/*null.$PLUS*/, "++");
4582 return this.advance(); 4761 return this.advance();
4762 $throw(new FallThroughError("./leg/scanner/scanner.dart", 350))
4583 4763
4584 case 61/*null.$EQ*/: 4764 case 61/*null.$EQ*/:
4585 4765
4586 this.appendStringToken(43/*null.$PLUS*/, "+="); 4766 this.appendStringToken(43/*null.$PLUS*/, "+=");
4587 return this.advance(); 4767 return this.advance();
4768 $throw(new FallThroughError("./leg/scanner/scanner.dart", 353))
4588 4769
4589 default: 4770 default:
4590 4771
4591 this.appendStringToken(43/*null.$PLUS*/, "+"); 4772 this.appendStringToken(43/*null.$PLUS*/, "+");
4592 return next; 4773 return next;
4593 4774
4594 } 4775 }
4595 } 4776 }
4596 ArrayBasedScanner$String.prototype.tokenizeExclamation = function(next) { 4777 ArrayBasedScanner$String.prototype.tokenizeExclamation = function(next) {
4597 next = this.advance(); 4778 next = this.advance();
(...skipping 11 matching lines...) Expand all
4609 this.appendStringToken(61/*null.$EQ*/, "="); 4790 this.appendStringToken(61/*null.$EQ*/, "=");
4610 return next; 4791 return next;
4611 } 4792 }
4612 ArrayBasedScanner$String.prototype.tokenizeGreaterThan = function(next) { 4793 ArrayBasedScanner$String.prototype.tokenizeGreaterThan = function(next) {
4613 next = this.advance(); 4794 next = this.advance();
4614 switch (next) { 4795 switch (next) {
4615 case 61/*null.$EQ*/: 4796 case 61/*null.$EQ*/:
4616 4797
4617 this.appendStringToken(62/*null.$GT*/, ">="); 4798 this.appendStringToken(62/*null.$GT*/, ">=");
4618 return this.advance(); 4799 return this.advance();
4800 $throw(new FallThroughError("./leg/scanner/scanner.dart", 386))
4619 4801
4620 case 62/*null.$GT*/: 4802 case 62/*null.$GT*/:
4621 4803
4622 next = this.advance(); 4804 next = this.advance();
4623 switch (next) { 4805 switch (next) {
4624 case 61/*null.$EQ*/: 4806 case 61/*null.$EQ*/:
4625 4807
4626 this.appendStringToken(62/*null.$GT*/, ">>="); 4808 this.appendStringToken(62/*null.$GT*/, ">>=");
4627 return this.advance(); 4809 return this.advance();
4810 $throw(new FallThroughError("./leg/scanner/scanner.dart", 392))
4628 4811
4629 case 62/*null.$GT*/: 4812 case 62/*null.$GT*/:
4630 4813
4631 return this.select(61/*null.$EQ*/, ">>>=", ">>>"); 4814 return this.select(61/*null.$EQ*/, ">>>=", ">>>");
4815 $throw(new FallThroughError("./leg/scanner/scanner.dart", 394))
4632 4816
4633 default: 4817 default:
4634 4818
4635 this.appendStringToken(62/*null.$GT*/, ">>"); 4819 this.appendStringToken(62/*null.$GT*/, ">>");
4636 return next; 4820 return next;
4637 4821
4638 } 4822 }
4823 $throw(new FallThroughError("./leg/scanner/scanner.dart", 389))
4639 4824
4640 default: 4825 default:
4641 4826
4642 this.appendStringToken(62/*null.$GT*/, ">"); 4827 this.appendStringToken(62/*null.$GT*/, ">");
4643 return next; 4828 return next;
4644 4829
4645 } 4830 }
4646 } 4831 }
4647 ArrayBasedScanner$String.prototype.tokenizeLessThan = function(next) { 4832 ArrayBasedScanner$String.prototype.tokenizeLessThan = function(next) {
4648 next = this.advance(); 4833 next = this.advance();
4649 switch (next) { 4834 switch (next) {
4650 case 61/*null.$EQ*/: 4835 case 61/*null.$EQ*/:
4651 4836
4652 this.appendStringToken(60/*null.$LT*/, "<="); 4837 this.appendStringToken(60/*null.$LT*/, "<=");
4653 return this.advance(); 4838 return this.advance();
4839 $throw(new FallThroughError("./leg/scanner/scanner.dart", 411))
4654 4840
4655 case 60/*null.$LT*/: 4841 case 60/*null.$LT*/:
4656 4842
4657 return this.select(61/*null.$EQ*/, "<<=", "<<"); 4843 return this.select(61/*null.$EQ*/, "<<=", "<<");
4844 $throw(new FallThroughError("./leg/scanner/scanner.dart", 413))
4658 4845
4659 default: 4846 default:
4660 4847
4661 this.appendStringToken(60/*null.$LT*/, "<"); 4848 this.appendStringToken(60/*null.$LT*/, "<");
4662 return next; 4849 return next;
4663 4850
4664 } 4851 }
4665 } 4852 }
4666 ArrayBasedScanner$String.prototype.tokenizeNumber = function(next) { 4853 ArrayBasedScanner$String.prototype.tokenizeNumber = function(next) {
4667 var start = this.byteOffset; 4854 var start = this.byteOffset;
4668 while (true) { 4855 while (true) {
4669 next = this.advance(); 4856 next = this.advance();
4670 switch (next) { 4857 switch (next) {
4671 case 48/*null.$0*/: 4858 case 48/*null.$0*/:
4672 case 49/*null.$1*/: 4859 case 49/*null.$1*/:
4673 case 50/*null.$2*/: 4860 case 50/*null.$2*/:
4674 case 51/*null.$3*/: 4861 case 51/*null.$3*/:
4675 case 52/*null.$4*/: 4862 case 52/*null.$4*/:
4676 case 53/*null.$5*/: 4863 case 53/*null.$5*/:
4677 case 54/*null.$6*/: 4864 case 54/*null.$6*/:
4678 case 55/*null.$7*/: 4865 case 55/*null.$7*/:
4679 case 56/*null.$8*/: 4866 case 56/*null.$8*/:
4680 case 57/*null.$9*/: 4867 case 57/*null.$9*/:
4681 4868
4682 break; 4869 break;
4870 $throw(new FallThroughError("./leg/scanner/scanner.dart", 435))
4683 4871
4684 case 46/*null.$PERIOD*/: 4872 case 46/*null.$PERIOD*/:
4685 4873
4686 return this.tokenizeFractionPart(this.advance(), start); 4874 return this.tokenizeFractionPart(this.advance(), start);
4875 $throw(new FallThroughError("./leg/scanner/scanner.dart", 438))
4687 4876
4688 case 101/*null.$e*/: 4877 case 101/*null.$e*/:
4689 case 69/*null.$E*/: 4878 case 69/*null.$E*/:
4690 case 100/*null.$d*/: 4879 case 100/*null.$d*/:
4691 case 68/*null.$D*/: 4880 case 68/*null.$D*/:
4692 4881
4693 return this.tokenizeFractionPart(next, start); 4882 return this.tokenizeFractionPart(next, start);
4883 $throw(new FallThroughError("./leg/scanner/scanner.dart", 444))
4694 4884
4695 default: 4885 default:
4696 4886
4697 this.appendByteStringToken(105/*null.$i*/, this.asciiString(start)); 4887 this.appendByteStringToken(105/*null.$i*/, this.asciiString(start));
4698 return next; 4888 return next;
4699 4889
4700 } 4890 }
4701 } 4891 }
4702 } 4892 }
4703 ArrayBasedScanner$String.prototype.tokenizeHexOrNumber = function(next) { 4893 ArrayBasedScanner$String.prototype.tokenizeHexOrNumber = function(next) {
(...skipping 28 matching lines...) Expand all
4732 case 70/*null.$F*/: 4922 case 70/*null.$F*/:
4733 case 97/*null.$a*/: 4923 case 97/*null.$a*/:
4734 case 98/*null.$b*/: 4924 case 98/*null.$b*/:
4735 case 99/*null.$c*/: 4925 case 99/*null.$c*/:
4736 case 100/*null.$d*/: 4926 case 100/*null.$d*/:
4737 case 101/*null.$e*/: 4927 case 101/*null.$e*/:
4738 case 102/*null.$f*/: 4928 case 102/*null.$f*/:
4739 4929
4740 hasDigits = true; 4930 hasDigits = true;
4741 break; 4931 break;
4932 $throw(new FallThroughError("./leg/scanner/scanner.dart", 491))
4742 4933
4743 default: 4934 default:
4744 4935
4745 if (!hasDigits) { 4936 if (!hasDigits) {
4746 $throw(new MalformedInputException(this.charOffset)); 4937 $throw(new MalformedInputException(this.charOffset));
4747 } 4938 }
4748 this.appendByteStringToken(120/*null.$x*/, this.asciiString(start)); 4939 this.appendByteStringToken(120/*null.$x*/, this.asciiString(start));
4749 return next; 4940 return next;
4750 4941
4751 } 4942 }
(...skipping 10 matching lines...) Expand all
4762 case 52/*null.$4*/: 4953 case 52/*null.$4*/:
4763 case 53/*null.$5*/: 4954 case 53/*null.$5*/:
4764 case 54/*null.$6*/: 4955 case 54/*null.$6*/:
4765 case 55/*null.$7*/: 4956 case 55/*null.$7*/:
4766 case 56/*null.$8*/: 4957 case 56/*null.$8*/:
4767 case 57/*null.$9*/: 4958 case 57/*null.$9*/:
4768 4959
4769 { 4960 {
4770 return this.tokenizeFractionPart(next, start); 4961 return this.tokenizeFractionPart(next, start);
4771 } 4962 }
4963 $throw(new FallThroughError("./leg/scanner/scanner.dart", 516))
4772 4964
4773 case 46/*null.$PERIOD*/: 4965 case 46/*null.$PERIOD*/:
4774 4966
4775 return this.select(46/*null.$PERIOD*/, "...", ".."); 4967 return this.select(46/*null.$PERIOD*/, "...", "..");
4968 $throw(new FallThroughError("./leg/scanner/scanner.dart", 521))
4776 4969
4777 default: 4970 default:
4778 4971
4779 this.appendStringToken(46/*null.$PERIOD*/, "."); 4972 this.appendStringToken(46/*null.$PERIOD*/, ".");
4780 return next; 4973 return next;
4781 4974
4782 } 4975 }
4783 } 4976 }
4784 ArrayBasedScanner$String.prototype.tokenizeFractionPart = function(next, start) { 4977 ArrayBasedScanner$String.prototype.tokenizeFractionPart = function(next, start) {
4785 var done = false; 4978 var done = false;
4786 LOOP: 4979 LOOP:
4787 while (!done) { 4980 while (!done) {
4788 switch (next) { 4981 switch (next) {
4789 case 48/*null.$0*/: 4982 case 48/*null.$0*/:
4790 case 49/*null.$1*/: 4983 case 49/*null.$1*/:
4791 case 50/*null.$2*/: 4984 case 50/*null.$2*/:
4792 case 51/*null.$3*/: 4985 case 51/*null.$3*/:
4793 case 52/*null.$4*/: 4986 case 52/*null.$4*/:
4794 case 53/*null.$5*/: 4987 case 53/*null.$5*/:
4795 case 54/*null.$6*/: 4988 case 54/*null.$6*/:
4796 case 55/*null.$7*/: 4989 case 55/*null.$7*/:
4797 case 56/*null.$8*/: 4990 case 56/*null.$8*/:
4798 case 57/*null.$9*/: 4991 case 57/*null.$9*/:
4799 4992
4800 break; 4993 break;
4994 $throw(new FallThroughError("./leg/scanner/scanner.dart", 543))
4801 4995
4802 case 101/*null.$e*/: 4996 case 101/*null.$e*/:
4803 case 69/*null.$E*/: 4997 case 69/*null.$E*/:
4804 4998
4805 next = this.tokenizeExponent(this.advance()); 4999 next = this.tokenizeExponent(this.advance());
4806 done = true; 5000 done = true;
4807 continue LOOP; 5001 continue LOOP;
5002 $throw(new FallThroughError("./leg/scanner/scanner.dart", 549))
4808 5003
4809 default: 5004 default:
4810 5005
4811 done = true; 5006 done = true;
4812 continue LOOP; 5007 continue LOOP;
4813 5008
4814 } 5009 }
4815 next = this.advance(); 5010 next = this.advance();
4816 } 5011 }
4817 if (next == 100/*null.$d*/ || next == 68/*null.$D*/) { 5012 if (next == 100/*null.$d*/ || next == 68/*null.$D*/) {
(...skipping 15 matching lines...) Expand all
4833 case 51/*null.$3*/: 5028 case 51/*null.$3*/:
4834 case 52/*null.$4*/: 5029 case 52/*null.$4*/:
4835 case 53/*null.$5*/: 5030 case 53/*null.$5*/:
4836 case 54/*null.$6*/: 5031 case 54/*null.$6*/:
4837 case 55/*null.$7*/: 5032 case 55/*null.$7*/:
4838 case 56/*null.$8*/: 5033 case 56/*null.$8*/:
4839 case 57/*null.$9*/: 5034 case 57/*null.$9*/:
4840 5035
4841 hasDigits = true; 5036 hasDigits = true;
4842 break; 5037 break;
5038 $throw(new FallThroughError("./leg/scanner/scanner.dart", 582))
4843 5039
4844 default: 5040 default:
4845 5041
4846 if (!hasDigits) { 5042 if (!hasDigits) {
4847 $throw(new MalformedInputException(this.charOffset)); 5043 $throw(new MalformedInputException(this.charOffset));
4848 } 5044 }
4849 return next; 5045 return next;
4850 5046
4851 } 5047 }
4852 next = this.advance(); 5048 next = this.advance();
4853 } 5049 }
4854 } 5050 }
4855 ArrayBasedScanner$String.prototype.tokenizeSlashOrComment = function(next) { 5051 ArrayBasedScanner$String.prototype.tokenizeSlashOrComment = function(next) {
4856 next = this.advance(); 5052 next = this.advance();
4857 switch (next) { 5053 switch (next) {
4858 case 42/*null.$STAR*/: 5054 case 42/*null.$STAR*/:
4859 5055
4860 return this.tokenizeMultiLineComment(next); 5056 return this.tokenizeMultiLineComment(next);
5057 $throw(new FallThroughError("./leg/scanner/scanner.dart", 598))
4861 5058
4862 case 47/*null.$SLASH*/: 5059 case 47/*null.$SLASH*/:
4863 5060
4864 return this.tokenizeSingleLineComment(next); 5061 return this.tokenizeSingleLineComment(next);
5062 $throw(new FallThroughError("./leg/scanner/scanner.dart", 601))
4865 5063
4866 case 61/*null.$EQ*/: 5064 case 61/*null.$EQ*/:
4867 5065
4868 this.appendStringToken(47/*null.$SLASH*/, "/="); 5066 this.appendStringToken(47/*null.$SLASH*/, "/=");
4869 return this.advance(); 5067 return this.advance();
5068 $throw(new FallThroughError("./leg/scanner/scanner.dart", 605))
4870 5069
4871 default: 5070 default:
4872 5071
4873 this.appendStringToken(47/*null.$SLASH*/, "/"); 5072 this.appendStringToken(47/*null.$SLASH*/, "/");
4874 return next; 5073 return next;
4875 5074
4876 } 5075 }
4877 } 5076 }
4878 ArrayBasedScanner$String.prototype.tokenizeSingleLineComment = function(next) { 5077 ArrayBasedScanner$String.prototype.tokenizeSingleLineComment = function(next) {
4879 while (true) { 5078 while (true) {
4880 next = this.advance(); 5079 next = this.advance();
4881 switch (next) { 5080 switch (next) {
4882 case -1: 5081 case -1.000000/*-1*/:
4883 case 10/*null.$LF*/: 5082 case 10/*null.$LF*/:
4884 case 13/*null.$CR*/: 5083 case 13/*null.$CR*/:
4885 5084
4886 return next; 5085 return next;
4887 5086
4888 } 5087 }
4889 } 5088 }
4890 } 5089 }
4891 ArrayBasedScanner$String.prototype.tokenizeMultiLineComment = function(next) { 5090 ArrayBasedScanner$String.prototype.tokenizeMultiLineComment = function(next) {
4892 next = this.advance(); 5091 next = this.advance();
4893 while (true) { 5092 while (true) {
4894 switch (next) { 5093 switch (next) {
4895 case -1: 5094 case -1.000000/*-1*/:
4896 5095
4897 return next; 5096 return next;
5097 $throw(new FallThroughError("./leg/scanner/scanner.dart", 630))
4898 5098
4899 case 42/*null.$STAR*/: 5099 case 42/*null.$STAR*/:
4900 5100
4901 next = this.advance(); 5101 next = this.advance();
4902 if (next == 47/*null.$SLASH*/) { 5102 if (next == 47/*null.$SLASH*/) {
4903 return this.advance(); 5103 return this.advance();
4904 } 5104 }
4905 else if (next == -1) { 5105 else if (next == -1.000000/*-1*/) {
4906 return next; 5106 return next;
4907 } 5107 }
4908 break; 5108 break;
5109 $throw(new FallThroughError("./leg/scanner/scanner.dart", 638))
4909 5110
4910 default: 5111 default:
4911 5112
4912 next = this.advance(); 5113 next = this.advance();
4913 break; 5114 break;
4914 5115
4915 } 5116 }
4916 } 5117 }
4917 } 5118 }
4918 ArrayBasedScanner$String.prototype.tokenizeIdentifier = function(next) { 5119 ArrayBasedScanner$String.prototype.tokenizeIdentifier = function(next) {
(...skipping 14 matching lines...) Expand all
4933 state = null; 5134 state = null;
4934 } 5135 }
4935 else if (next < 128) { 5136 else if (next < 128) {
4936 if (state != null && state.isLeaf()) { 5137 if (state != null && state.isLeaf()) {
4937 this.appendKeywordToken(state.get$keyword()); 5138 this.appendKeywordToken(state.get$keyword());
4938 } 5139 }
4939 else if (isAscii) { 5140 else if (isAscii) {
4940 this.appendByteStringToken(97/*null.$a*/, this.asciiString(start)); 5141 this.appendByteStringToken(97/*null.$a*/, this.asciiString(start));
4941 } 5142 }
4942 else { 5143 else {
4943 this.appendByteStringToken(97/*null.$a*/, this.utf8String(start, -1)); 5144 this.appendByteStringToken(97/*null.$a*/, this.utf8String(start, -1.0000 00/*-1*/));
4944 } 5145 }
4945 return next; 5146 return next;
4946 } 5147 }
4947 else { 5148 else {
4948 var nonAsciiStart = this.byteOffset; 5149 var nonAsciiStart = this.byteOffset;
4949 do { 5150 do {
4950 next = this.nextByte(); 5151 next = this.nextByte();
4951 } 5152 }
4952 while (next > 127) 5153 while (next > 127)
4953 var string = this.utf8String(nonAsciiStart, -1).toString(); 5154 var string = this.utf8String(nonAsciiStart, -1.000000/*-1*/).toString();
4954 isAscii = false; 5155 isAscii = false;
4955 this.addToCharOffset(string.length); 5156 this.addToCharOffset(string.length);
4956 return next; 5157 return next;
4957 } 5158 }
4958 next = this.advance(); 5159 next = this.advance();
4959 } 5160 }
4960 } 5161 }
4961 ArrayBasedScanner$String.prototype.tokenizeRawString = function(next) { 5162 ArrayBasedScanner$String.prototype.tokenizeRawString = function(next) {
4962 var start = this.byteOffset; 5163 var start = this.byteOffset;
4963 next = this.advance(); 5164 next = this.advance();
4964 if (next == 34/*null.$DQ*/ || next == 39/*null.$SQ*/) { 5165 if (next == 34/*null.$DQ*/ || next == 39/*null.$SQ*/) {
4965 return this.tokenizeString(next, start, true); 5166 return this.tokenizeString(next, start, true);
4966 } 5167 }
4967 else { 5168 else {
4968 $throw(new MalformedInputException(this.charOffset)); 5169 $throw(new MalformedInputException(this.charOffset));
4969 } 5170 }
4970 } 5171 }
4971 ArrayBasedScanner$String.prototype.tokenizeString = function(next, start, raw) { 5172 ArrayBasedScanner$String.prototype.tokenizeString = function(next, start, raw) {
4972 var q = next; 5173 var q = next;
4973 next = this.advance(); 5174 next = this.advance();
4974 if (q == next) { 5175 if (q == next) {
4975 next = this.advance(); 5176 next = this.advance();
4976 if (q == next) { 5177 if (q == next) {
4977 return this.tokenizeMultiLineString(q, start, raw); 5178 return this.tokenizeMultiLineString(q, start, raw);
4978 } 5179 }
4979 else { 5180 else {
4980 this.appendByteStringToken(q, this.utf8String(start, -1)); 5181 this.appendByteStringToken(q, this.utf8String(start, -1.000000/*-1*/));
4981 return next; 5182 return next;
4982 } 5183 }
4983 } 5184 }
4984 if (raw) { 5185 if (raw) {
4985 return this.tokenizeSingleLineRawString(next, q, start); 5186 return this.tokenizeSingleLineRawString(next, q, start);
4986 } 5187 }
4987 else { 5188 else {
4988 return this.tokenizeSingleLineString(next, q, start); 5189 return this.tokenizeSingleLineString(next, q, start);
4989 } 5190 }
4990 } 5191 }
4991 ArrayBasedScanner$String.prototype.tokenizeSingleLineString = function(next, q1, start) { 5192 ArrayBasedScanner$String.prototype.tokenizeSingleLineString = function(next, q1, start) {
4992 while (next != -1) { 5193 while (next != -1.000000/*-1*/) {
4993 if (next == q1) { 5194 if (next == q1) {
4994 this.appendByteStringToken(q1, this.utf8String(start, 0)); 5195 this.appendByteStringToken(q1, this.utf8String(start, 0));
4995 return this.advance(); 5196 return this.advance();
4996 } 5197 }
4997 else if (next == 92/*null.$BACKSLASH*/) { 5198 else if (next == 92/*null.$BACKSLASH*/) {
4998 next = this.advance(); 5199 next = this.advance();
4999 if (next == -1) { 5200 if (next == -1.000000/*-1*/) {
5000 $throw(new MalformedInputException(this.charOffset)); 5201 $throw(new MalformedInputException(this.charOffset));
5001 } 5202 }
5002 } 5203 }
5003 else if (next == 10/*null.$LF*/ || next == 13/*null.$CR*/) { 5204 else if (next == 10/*null.$LF*/ || next == 13/*null.$CR*/) {
5004 $throw(new MalformedInputException(this.charOffset)); 5205 $throw(new MalformedInputException(this.charOffset));
5005 } 5206 }
5006 next = this.advance(); 5207 next = this.advance();
5007 } 5208 }
5008 $throw(new MalformedInputException(this.charOffset)); 5209 $throw(new MalformedInputException(this.charOffset));
5009 } 5210 }
5010 ArrayBasedScanner$String.prototype.tokenizeSingleLineRawString = function(next, q1, start) { 5211 ArrayBasedScanner$String.prototype.tokenizeSingleLineRawString = function(next, q1, start) {
5011 next = this.advance(); 5212 next = this.advance();
5012 while (next != -1) { 5213 while (next != -1.000000/*-1*/) {
5013 if (next == q1) { 5214 if (next == q1) {
5014 this.appendByteStringToken(q1, this.utf8String(start, 0)); 5215 this.appendByteStringToken(q1, this.utf8String(start, 0));
5015 return this.advance(); 5216 return this.advance();
5016 } 5217 }
5017 else if (next == 10/*null.$LF*/ || next == 13/*null.$CR*/) { 5218 else if (next == 10/*null.$LF*/ || next == 13/*null.$CR*/) {
5018 $throw(new MalformedInputException(this.charOffset)); 5219 $throw(new MalformedInputException(this.charOffset));
5019 } 5220 }
5020 next = this.advance(); 5221 next = this.advance();
5021 } 5222 }
5022 $throw(new MalformedInputException(this.charOffset)); 5223 $throw(new MalformedInputException(this.charOffset));
5023 } 5224 }
5024 ArrayBasedScanner$String.prototype.tokenizeMultiLineString = function(q, start, raw) { 5225 ArrayBasedScanner$String.prototype.tokenizeMultiLineString = function(q, start, raw) {
5025 var next = this.advance(); 5226 var next = this.advance();
5026 while (next != -1) { 5227 while (next != -1.000000/*-1*/) {
5027 if (next == q) { 5228 if (next == q) {
5028 next = this.advance(); 5229 next = this.advance();
5029 if (next == q) { 5230 if (next == q) {
5030 next = this.advance(); 5231 next = this.advance();
5031 if (next == q) { 5232 if (next == q) {
5032 this.appendByteStringToken(q, this.utf8String(start, 0)); 5233 this.appendByteStringToken(q, this.utf8String(start, 0));
5033 return this.advance(); 5234 return this.advance();
5034 } 5235 }
5035 } 5236 }
5036 } 5237 }
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
5084 TokenString.prototype.get$text = function() { return this.text; }; 5285 TokenString.prototype.get$text = function() { return this.text; };
5085 TokenString.prototype.$eq = function(other) { 5286 TokenString.prototype.$eq = function(other) {
5086 return (other instanceof TokenString) && this.text == other.get$text(); 5287 return (other instanceof TokenString) && this.text == other.get$text();
5087 } 5288 }
5088 TokenString.prototype.hashCode = function() { 5289 TokenString.prototype.hashCode = function() {
5089 return this.text.hashCode(); 5290 return this.text.hashCode();
5090 } 5291 }
5091 TokenString.prototype.toString = function() { 5292 TokenString.prototype.toString = function() {
5092 return this.text; 5293 return this.text;
5093 } 5294 }
5094 // ********** Code for Node ************** 5295 // ********** Code for tree_Node **************
5095 function Node() {} 5296 function tree_Node() {}
5096 Node.prototype.hashCode = function() { 5297 tree_Node.prototype.hashCode = function() {
5097 return this._hashCode; 5298 return this._hashCode;
5098 } 5299 }
5099 Node.prototype.toString = function() { 5300 tree_Node.prototype.toString = function() {
5100 return this.get$debugString(); 5301 return this.get$debugString();
5101 } 5302 }
5102 // ********** Code for Expression ************** 5303 // ********** Code for tree_Expression **************
5103 function Expression() {} 5304 function tree_Expression() {}
5104 $inherits(Expression, Node); 5305 $inherits(tree_Expression, tree_Node);
5105 // ********** Code for Statement ************** 5306 // ********** Code for tree_Statement **************
5106 function Statement() {} 5307 function tree_Statement() {}
5107 $inherits(Statement, Node); 5308 $inherits(tree_Statement, tree_Node);
5108 // ********** Code for Invocation ************** 5309 // ********** Code for Invocation **************
5109 function Invocation(receiver, selector, argumentsNode) { 5310 function Invocation(receiver, selector, argumentsNode) {
5110 this.debugString = "invocation" 5311 this.debugString = "invocation"
5111 this.receiver = receiver; 5312 this.receiver = receiver;
5112 this.selector = selector; 5313 this.selector = selector;
5113 this.argumentsNode = argumentsNode; 5314 this.argumentsNode = argumentsNode;
5114 // Initializers done 5315 // Initializers done
5115 } 5316 }
5116 $inherits(Invocation, Expression); 5317 $inherits(Invocation, tree_Expression);
5117 Invocation.prototype.get$arguments = function() { 5318 Invocation.prototype.get$arguments = function() {
5118 return this.argumentsNode.nodes; 5319 return this.argumentsNode.nodes;
5119 } 5320 }
5120 Invocation.prototype.get$debugString = function() { return this.debugString; }; 5321 Invocation.prototype.get$debugString = function() { return this.debugString; };
5121 Invocation.prototype.accept = function(visitor) { 5322 Invocation.prototype.accept = function(visitor) {
5122 return visitor.visitInvocation(this); 5323 return visitor.visitInvocation(this);
5123 } 5324 }
5124 // ********** Code for NewExpression ************** 5325 // ********** Code for tree_NewExpression **************
5125 function NewExpression() {} 5326 function tree_NewExpression() {}
5126 $inherits(NewExpression, Expression); 5327 $inherits(tree_NewExpression, tree_Expression);
5127 NewExpression.prototype.get$debugString = function() { return this.debugString; }; 5328 tree_NewExpression.prototype.get$debugString = function() { return this.debugStr ing; };
5128 // ********** Code for NodeList ************** 5329 // ********** Code for NodeList **************
5129 function NodeList(beginToken, nodes, endToken, delimiter) { 5330 function NodeList(beginToken, nodes, endToken, delimiter) {
5130 this.debugString = "node list" 5331 this.debugString = "node list"
5131 this.beginToken = beginToken; 5332 this.beginToken = beginToken;
5132 this.nodes = nodes; 5333 this.nodes = nodes;
5133 this.endToken = endToken; 5334 this.endToken = endToken;
5134 this.delimiter = delimiter; 5335 this.delimiter = delimiter;
5135 // Initializers done 5336 // Initializers done
5136 } 5337 }
5137 $inherits(NodeList, Node); 5338 $inherits(NodeList, tree_Node);
5138 NodeList.prototype.get$debugString = function() { return this.debugString; }; 5339 NodeList.prototype.get$debugString = function() { return this.debugString; };
5139 NodeList.prototype.accept = function(visitor) { 5340 NodeList.prototype.accept = function(visitor) {
5140 return visitor.visitNodeList(this); 5341 return visitor.visitNodeList(this);
5141 } 5342 }
5142 // ********** Code for Block ************** 5343 // ********** Code for Block **************
5143 function Block(beginToken, statements, endToken) { 5344 function Block(beginToken, statements, endToken) {
5144 this.debugString = "block" 5345 this.debugString = "block"
5145 this.beginToken = beginToken; 5346 this.beginToken = beginToken;
5146 this.statements = statements; 5347 this.statements = statements;
5147 this.endToken = endToken; 5348 this.endToken = endToken;
5148 // Initializers done 5349 // Initializers done
5149 } 5350 }
5150 $inherits(Block, Statement); 5351 $inherits(Block, tree_Statement);
5151 Block.prototype.get$debugString = function() { return this.debugString; }; 5352 Block.prototype.get$debugString = function() { return this.debugString; };
5152 Block.prototype.accept = function(visitor) { 5353 Block.prototype.accept = function(visitor) {
5153 return visitor.visitBlock(this); 5354 return visitor.visitBlock(this);
5154 } 5355 }
5155 // ********** Code for FunctionExpression ************** 5356 // ********** Code for FunctionExpression **************
5156 function FunctionExpression(name, parameters, body, returnType) { 5357 function FunctionExpression(name, parameters, body, returnType) {
5157 this.debugString = "function expression" 5358 this.debugString = "function expression"
5158 this.name = name; 5359 this.name = name;
5159 this.parameters = parameters; 5360 this.parameters = parameters;
5160 this.body = body; 5361 this.body = body;
5161 this.returnType = returnType; 5362 this.returnType = returnType;
5162 // Initializers done 5363 // Initializers done
5163 } 5364 }
5164 $inherits(FunctionExpression, Expression); 5365 $inherits(FunctionExpression, tree_Expression);
5165 FunctionExpression.prototype.get$name = function() { return this.name; }; 5366 FunctionExpression.prototype.get$name = function() { return this.name; };
5166 FunctionExpression.prototype.get$parameters = function() { return this.parameter s; }; 5367 FunctionExpression.prototype.get$parameters = function() { return this.parameter s; };
5167 FunctionExpression.prototype.get$returnType = function() { return this.returnTyp e; }; 5368 FunctionExpression.prototype.get$returnType = function() { return this.returnTyp e; };
5168 FunctionExpression.prototype.get$debugString = function() { return this.debugStr ing; }; 5369 FunctionExpression.prototype.get$debugString = function() { return this.debugStr ing; };
5169 FunctionExpression.prototype.accept = function(visitor) { 5370 FunctionExpression.prototype.accept = function(visitor) {
5170 return visitor.visitFunctionExpression(this); 5371 return visitor.visitFunctionExpression(this);
5171 } 5372 }
5172 // ********** Code for Literal ************** 5373 // ********** Code for Literal **************
5173 function Literal(value) { 5374 function Literal(value) {
5174 this.value = value; 5375 this.value = value;
5175 // Initializers done 5376 // Initializers done
5176 } 5377 }
5177 $inherits(Literal, Expression); 5378 $inherits(Literal, tree_Expression);
5178 Literal.prototype.get$value = function() { return this.value; }; 5379 Literal.prototype.get$value = function() { return this.value; };
5179 Literal.prototype.get$debugString = function() { 5380 Literal.prototype.get$debugString = function() {
5180 return ("" + this.value + ""); 5381 return ("" + this.value + "");
5181 } 5382 }
5182 Literal.prototype.accept = function(visitor) { 5383 Literal.prototype.accept = function(visitor) {
5183 return visitor.visitLiteral(this); 5384 return visitor.visitLiteral(this);
5184 } 5385 }
5185 // ********** Code for Identifier ************** 5386 // ********** Code for tree_Identifier **************
5186 function Identifier(string) { 5387 function tree_Identifier(string) {
5187 this.string = string; 5388 this.string = string;
5188 // Initializers done 5389 // Initializers done
5189 } 5390 }
5190 $inherits(Identifier, Expression); 5391 $inherits(tree_Identifier, tree_Expression);
5191 Identifier.prototype.get$debugString = function() { 5392 tree_Identifier.prototype.get$debugString = function() {
5192 return ("" + this.string + ""); 5393 return ("" + this.string + "");
5193 } 5394 }
5194 Identifier.prototype.accept = function(visitor) { 5395 tree_Identifier.prototype.accept = function(visitor) {
5195 return visitor.visitIdentifier(this); 5396 return visitor.visitIdentifier(this);
5196 } 5397 }
5197 // ********** Code for Operator ************** 5398 // ********** Code for Operator **************
5198 function Operator(string) { 5399 function Operator(string) {
5199 this.string = string; 5400 this.string = string;
5200 // Initializers done 5401 // Initializers done
5201 } 5402 }
5202 $inherits(Operator, Node); 5403 $inherits(Operator, tree_Node);
5203 Operator.prototype.get$debugString = function() { 5404 Operator.prototype.get$debugString = function() {
5204 return ("" + this.string + ""); 5405 return ("" + this.string + "");
5205 } 5406 }
5206 Operator.prototype.accept = function(visitor) { 5407 Operator.prototype.accept = function(visitor) {
5207 return visitor.visitOperator(this); 5408 return visitor.visitOperator(this);
5208 } 5409 }
5209 // ********** Code for Return ************** 5410 // ********** Code for Return **************
5210 function Return(expression) { 5411 function Return(expression) {
5211 this.debugString = "return" 5412 this.debugString = "return"
5212 this.expression = expression; 5413 this.expression = expression;
5213 // Initializers done 5414 // Initializers done
5214 } 5415 }
5215 $inherits(Return, Statement); 5416 $inherits(Return, tree_Statement);
5216 Return.prototype.get$debugString = function() { return this.debugString; }; 5417 Return.prototype.get$debugString = function() { return this.debugString; };
5217 Return.prototype.accept = function(visitor) { 5418 Return.prototype.accept = function(visitor) {
5218 return visitor.visitReturn(this); 5419 return visitor.visitReturn(this);
5219 } 5420 }
5220 // ********** Code for ExpressionStatement ************** 5421 // ********** Code for tree_ExpressionStatement **************
5221 function ExpressionStatement(expression) { 5422 function tree_ExpressionStatement(expression) {
5222 this.expression = expression; 5423 this.expression = expression;
5223 // Initializers done 5424 // Initializers done
5224 } 5425 }
5225 $inherits(ExpressionStatement, Statement); 5426 $inherits(tree_ExpressionStatement, tree_Statement);
5226 ExpressionStatement.prototype.get$debugString = function() { 5427 tree_ExpressionStatement.prototype.get$debugString = function() {
5227 return ("" + this.expression.get$debugString() + ""); 5428 return ("" + this.expression.get$debugString() + "");
5228 } 5429 }
5229 ExpressionStatement.prototype.accept = function(visitor) { 5430 tree_ExpressionStatement.prototype.accept = function(visitor) {
5230 return visitor.visitExpressionStatement(this); 5431 return visitor.visitExpressionStatement(this);
5231 } 5432 }
5232 // ********** Code for TypeAnnotation ************** 5433 // ********** Code for TypeAnnotation **************
5233 function TypeAnnotation(typeName) { 5434 function TypeAnnotation(typeName) {
5234 this.typeName = typeName; 5435 this.typeName = typeName;
5235 // Initializers done 5436 // Initializers done
5236 } 5437 }
5237 $inherits(TypeAnnotation, Node); 5438 $inherits(TypeAnnotation, tree_Node);
5238 TypeAnnotation.prototype.get$debugString = function() { 5439 TypeAnnotation.prototype.get$debugString = function() {
5239 return ("" + this.typeName + ""); 5440 return ("" + this.typeName + "");
5240 } 5441 }
5241 TypeAnnotation.prototype.accept = function(visitor) { 5442 TypeAnnotation.prototype.accept = function(visitor) {
5242 return visitor.visitTypeAnnotation(this); 5443 return visitor.visitTypeAnnotation(this);
5243 } 5444 }
5244 // ********** Code for top level ************** 5445 // ********** Code for top level **************
5245 // ********** Library emitter ************** 5446 // ********** Library emitter **************
5246 // ********** Code for EmitterStage ************** 5447 // ********** Code for EmitterStage **************
5247 function EmitterStage(pipeline) { 5448 function EmitterStage(pipeline) {
(...skipping 644 matching lines...) Expand 10 before | Expand all | Expand 10 after
5892 var text = elements.get$head().toString(); 6093 var text = elements.get$head().toString();
5893 var text2 = elements.get$tail().isEmpty() ? '' : elements.get$tail().get$head( ).toString(); 6094 var text2 = elements.get$tail().isEmpty() ? '' : elements.get$tail().get$head( ).toString();
5894 this.pipeline.log(text); 6095 this.pipeline.log(text);
5895 this.pipeline.log(text2); 6096 this.pipeline.log(text2);
5896 var emptyList = new NodeList(null, LinkFactory.Link$fromList$factory([])); 6097 var emptyList = new NodeList(null, LinkFactory.Link$fromList$factory([]));
5897 if (text == 'main ( ) { print ( 3 + 4 ) ; }') { 6098 if (text == 'main ( ) { print ( 3 + 4 ) ; }') {
5898 var three = new Literal(3); 6099 var three = new Literal(3);
5899 var four = new Literal(4); 6100 var four = new Literal(4);
5900 var plus = ParserStage.newOperator('+'); 6101 var plus = ParserStage.newOperator('+');
5901 var sum = new Invocation(three, plus, ParserStage.newArguments([four])); 6102 var sum = new Invocation(three, plus, ParserStage.newArguments([four]));
5902 var print = new ExpressionStatement(new Invocation(null, ParserStage.newIden tifier('print'), ParserStage.newArguments([sum]))); 6103 var print = new tree_ExpressionStatement(new Invocation(null, ParserStage.ne wIdentifier('print'), ParserStage.newArguments([sum])));
5903 var body = new Block(null, LinkFactory.Link$factory(print), null); 6104 var body = new Block(null, LinkFactory.Link$factory(print), null);
5904 var node = new FunctionExpression(ParserStage.newIdentifier('main'), emptyLi st, body); 6105 var node = new FunctionExpression(ParserStage.newIdentifier('main'), emptyLi st, body);
5905 this.pipeline.universe.define(new Element(new TokenString('main'), node)); 6106 this.pipeline.universe.define(new Element(new TokenString('main'), node));
5906 } 6107 }
5907 else if ((text == 'foo ( ) { return 3 + 4 ; }') && text2 == 'main ( ) { print ( foo ( ) ) ; }') { 6108 else if ((text == 'foo ( ) { return 3 + 4 ; }') && text2 == 'main ( ) { print ( foo ( ) ) ; }') {
5908 var foo = new Invocation(null, ParserStage.newIdentifier('foo'), ParserStage .newArguments([])); 6109 var foo = new Invocation(null, ParserStage.newIdentifier('foo'), ParserStage .newArguments([]));
5909 var print = new ExpressionStatement(new Invocation(null, ParserStage.newIden tifier('print'), ParserStage.newArguments([foo]))); 6110 var print = new tree_ExpressionStatement(new Invocation(null, ParserStage.ne wIdentifier('print'), ParserStage.newArguments([foo])));
5910 var body = new Block(null, LinkFactory.Link$factory(print), null); 6111 var body = new Block(null, LinkFactory.Link$factory(print), null);
5911 var node = new FunctionExpression(ParserStage.newIdentifier('main'), emptyLi st, body); 6112 var node = new FunctionExpression(ParserStage.newIdentifier('main'), emptyLi st, body);
5912 this.pipeline.universe.define(new Element(new TokenString('main'), node)); 6113 this.pipeline.universe.define(new Element(new TokenString('main'), node));
5913 var three = new Literal(3); 6114 var three = new Literal(3);
5914 var four = new Literal(4); 6115 var four = new Literal(4);
5915 var plus = ParserStage.newOperator('+'); 6116 var plus = ParserStage.newOperator('+');
5916 var sum = new Invocation(three, plus, ParserStage.newArguments([four])); 6117 var sum = new Invocation(three, plus, ParserStage.newArguments([four]));
5917 var ret = new Return(sum); 6118 var ret = new Return(sum);
5918 body = new Block(null, LinkFactory.Link$factory(ret), null); 6119 body = new Block(null, LinkFactory.Link$factory(ret), null);
5919 node = new FunctionExpression(ParserStage.newIdentifier('foo'), emptyList, b ody); 6120 node = new FunctionExpression(ParserStage.newIdentifier('foo'), emptyList, b ody);
5920 this.pipeline.universe.define(new Element(new TokenString('foo'), node)); 6121 this.pipeline.universe.define(new Element(new TokenString('foo'), node));
5921 } 6122 }
5922 else if (text == 'void main ( ) { return 3 ; }') { 6123 else if (text == 'void main ( ) { return 3 ; }') {
5923 var three = new Literal(3); 6124 var three = new Literal(3);
5924 var body = new Block(null, LinkFactory.Link$factory(new Return(three)), null ); 6125 var body = new Block(null, LinkFactory.Link$factory(new Return(three)), null );
5925 var node = new FunctionExpression(ParserStage.newIdentifier('main'), emptyLi st, body, new TypeAnnotation('void')); 6126 var node = new FunctionExpression(ParserStage.newIdentifier('main'), emptyLi st, body, new TypeAnnotation('void'));
5926 this.pipeline.universe.define(new Element(new TokenString('main'), node)); 6127 this.pipeline.universe.define(new Element(new TokenString('main'), node));
5927 } 6128 }
5928 else { 6129 else {
5929 this.pipeline.cancel(); 6130 this.pipeline.cancel();
5930 } 6131 }
5931 return input; 6132 return input;
5932 } 6133 }
5933 ParserStage.prototype.tokenize = function(text) { 6134 ParserStage.prototype.tokenize = function(text) {
5934 var tokens = this.pipeline.world.withTiming('[leg] scanning', (function () { 6135 var tokens = this.pipeline.world.withTiming('[leg] scanning', (function () {
5935 return new StringScanner(text).tokenize(); 6136 return new StringScanner(text).tokenize();
5936 }) 6137 })
5937 ); 6138 );
5938 var listener = new Listener(); 6139 var listener = new Listener();
5939 var parser = new Parser(listener); 6140 var parser = new scanner_Parser(listener);
5940 this.pipeline.world.withTiming('[leg] parsing', (function () { 6141 this.pipeline.world.withTiming('[leg] parsing', (function () {
5941 return parser.parseUnit(tokens); 6142 return parser.parseUnit(tokens);
5942 }) 6143 })
5943 ); 6144 );
5944 this.pipeline.log(new TokenPrinter(tokens)); 6145 this.pipeline.log(new TokenPrinter(tokens));
5945 this.pipeline.log(("Parsing " + listener.libraryTagCount + " tags, ") + ("" + listener.classCount + " classes, ") + ("" + listener.interfaceCount + " interfac es, ") + ("" + listener.aliasCount + " typedefs, ") + ("" + listener.topLevelMem berCount + " top-level members")); 6146 this.pipeline.log(("Parsing " + listener.libraryTagCount + " tags, ") + ("" + listener.classCount + " classes, ") + ("" + listener.interfaceCount + " interfac es, ") + ("" + listener.aliasCount + " typedefs, ") + ("" + listener.topLevelMem berCount + " top-level members"));
5946 return listener.topLevelElements; 6147 return listener.topLevelElements;
5947 } 6148 }
5948 ParserStage.newArguments = function(expressions) { 6149 ParserStage.newArguments = function(expressions) {
5949 return new NodeList(null, LinkFactory.Link$fromList$factory(expressions), null , null); 6150 return new NodeList(null, LinkFactory.Link$fromList$factory(expressions), null , null);
5950 } 6151 }
5951 ParserStage.newIdentifier = function(text) { 6152 ParserStage.newIdentifier = function(text) {
5952 return new Identifier(new TokenString(text)); 6153 return new tree_Identifier(new TokenString(text));
5953 } 6154 }
5954 ParserStage.newOperator = function(text) { 6155 ParserStage.newOperator = function(text) {
5955 return new Operator(new TokenString(text)); 6156 return new Operator(new TokenString(text));
5956 } 6157 }
5957 // ********** Code for Universe ************** 6158 // ********** Code for Universe **************
5958 function Universe() { 6159 function Universe() {
5959 this.world = $map([]); 6160 this.world = $map([]);
5960 this.generatedCode = $map([]); 6161 this.generatedCode = $map([]);
5961 // Initializers done 6162 // Initializers done
5962 } 6163 }
(...skipping 237 matching lines...) Expand 10 before | Expand all | Expand 10 after
6200 return this.name.text; 6401 return this.name.text;
6201 } 6402 }
6202 // ********** Code for FunctionType ************** 6403 // ********** Code for FunctionType **************
6203 function FunctionType(returnType) { 6404 function FunctionType(returnType) {
6204 this.returnType = returnType; 6405 this.returnType = returnType;
6205 // Initializers done 6406 // Initializers done
6206 } 6407 }
6207 FunctionType.prototype.get$returnType = function() { return this.returnType; }; 6408 FunctionType.prototype.get$returnType = function() { return this.returnType; };
6208 // ********** Code for Types ************** 6409 // ********** Code for Types **************
6209 function Types() { 6410 function Types() {
6210 this.VOID = const$133/*const SimpleType(const TokenString('void'))*/ 6411 this.VOID = const$321/*const SimpleType(const TokenString('void'))*/
6211 this.INT = const$135/*const SimpleType(const TokenString('int'))*/ 6412 this.INT = const$323/*const SimpleType(const TokenString('int'))*/
6212 this.DYNAMIC = const$137/*const SimpleType(const TokenString('Dynamic'))*/ 6413 this.DYNAMIC = const$325/*const SimpleType(const TokenString('Dynamic'))*/
6213 // Initializers done 6414 // Initializers done
6214 } 6415 }
6215 Types.prototype.isSubtype = function(r, s) { 6416 Types.prototype.isSubtype = function(r, s) {
6216 return r === s || r === this.DYNAMIC || s === this.DYNAMIC; 6417 return r === s || r === this.DYNAMIC || s === this.DYNAMIC;
6217 } 6418 }
6218 Types.prototype.isAssignable = function(r, s) { 6419 Types.prototype.isAssignable = function(r, s) {
6219 return this.isSubtype(r, s) || this.isSubtype(s, r); 6420 return this.isSubtype(r, s) || this.isSubtype(s, r);
6220 } 6421 }
6221 // ********** Code for TypeCheckerVisitor ************** 6422 // ********** Code for TypeCheckerVisitor **************
6222 function TypeCheckerVisitor(pipeline, elements, types, listener) { 6423 function TypeCheckerVisitor(pipeline, elements, types, listener) {
(...skipping 60 matching lines...) Expand 10 before | Expand all | Expand 10 after
6283 } 6484 }
6284 return this.types.VOID; 6485 return this.types.VOID;
6285 } 6486 }
6286 // ********** Code for leg_Script ************** 6487 // ********** Code for leg_Script **************
6287 function leg_Script(text) { 6488 function leg_Script(text) {
6288 this.text = text; 6489 this.text = text;
6289 // Initializers done 6490 // Initializers done
6290 } 6491 }
6291 leg_Script.prototype.get$text = function() { return this.text; }; 6492 leg_Script.prototype.get$text = function() { return this.text; };
6292 // ********** Code for top level ************** 6493 // ********** Code for top level **************
6293 function compile(world) { 6494 function leg_compile(world) {
6294 var file = world.readFile(options.dartScript); 6495 var file = world.readFile(options.dartScript);
6295 var script = new leg_Script(file.get$text()); 6496 var script = new leg_Script(file.get$text());
6296 var pipeline = new WorldPipeline(world, script); 6497 var pipeline = new WorldPipeline(world, script);
6297 return pipeline.run(); 6498 return pipeline.run();
6298 } 6499 }
6299 // ********** Library io ************** 6500 // ********** Library io **************
6300 // ********** Code for top level ************** 6501 // ********** Code for top level **************
6301 function writeString(outfile, text) { 6502 function writeString(outfile, text) {
6302 get$fs().writeFileSync(outfile, text); 6503 get$fs().writeFileSync(outfile, text);
6303 } 6504 }
(...skipping 23 matching lines...) Expand all
6327 } 6528 }
6328 } 6529 }
6329 CodeWriter.prototype.comment = function(text) { 6530 CodeWriter.prototype.comment = function(text) {
6330 if (this.writeComments) { 6531 if (this.writeComments) {
6331 this.writeln(text); 6532 this.writeln(text);
6332 } 6533 }
6333 } 6534 }
6334 CodeWriter.prototype.write = function(text) { 6535 CodeWriter.prototype.write = function(text) {
6335 if (text.length == 0) return; 6536 if (text.length == 0) return;
6336 if (this._pendingIndent) this._indent(); 6537 if (this._pendingIndent) this._indent();
6337 if (text.indexOf('\n', 0) != -1) { 6538 if (text.indexOf('\n', 0) != -1.000000/*-1*/) {
6338 var lines = text.split('\n'); 6539 var lines = text.split('\n');
6339 for (var i = 0; 6540 for (var i = 0;
6340 i < lines.length - 1; i++) { 6541 i < lines.length - 1; i++) {
6341 this.writeln(lines.$index(i)); 6542 this.writeln(lines.$index(i));
6342 } 6543 }
6343 this.write(lines.$index(lines.length - 1)); 6544 this.write(lines.$index(lines.length - 1));
6344 } 6545 }
6345 else { 6546 else {
6346 this._buf.add(text); 6547 this._buf.add(text);
6347 } 6548 }
(...skipping 42 matching lines...) Expand 10 before | Expand all | Expand 10 after
6390 pieces.removeLast(); 6591 pieces.removeLast();
6391 } 6592 }
6392 else if ($ne(piece, '')) { 6593 else if ($ne(piece, '')) {
6393 pieces.add(piece); 6594 pieces.add(piece);
6394 } 6595 }
6395 } 6596 }
6396 return Strings.join(pieces, '/'); 6597 return Strings.join(pieces, '/');
6397 } 6598 }
6398 FileSystem.prototype.dirname = function(path) { 6599 FileSystem.prototype.dirname = function(path) {
6399 var lastSlash = path.lastIndexOf('/', path.length); 6600 var lastSlash = path.lastIndexOf('/', path.length);
6400 if (lastSlash == -1) { 6601 if (lastSlash == -1.000000/*-1*/) {
6401 return '.'; 6602 return '.';
6402 } 6603 }
6403 else { 6604 else {
6404 return path.substring(0, lastSlash); 6605 return path.substring(0, lastSlash);
6405 } 6606 }
6406 } 6607 }
6407 FileSystem.prototype.basename = function(path) { 6608 FileSystem.prototype.basename = function(path) {
6408 var lastSlash = path.lastIndexOf('/', path.length); 6609 var lastSlash = path.lastIndexOf('/', path.length);
6409 if (lastSlash == -1) { 6610 if (lastSlash == -1.000000/*-1*/) {
6410 return path; 6611 return path;
6411 } 6612 }
6412 else { 6613 else {
6413 return path.substring(lastSlash + 1); 6614 return path.substring(lastSlash + 1);
6414 } 6615 }
6415 } 6616 }
6416 FileSystem.prototype.readFile = function(fullname) { 6617 FileSystem.prototype.readFile = function(fullname) {
6417 var filename = this.specialLibs.$index(fullname); 6618 var filename = this.specialLibs.$index(fullname);
6418 if (filename == null) { 6619 if (filename == null) {
6419 filename = fullname; 6620 filename = fullname;
(...skipping 261 matching lines...) Expand 10 before | Expand all | Expand 10 after
6681 var values = map.getValues(); 6882 var values = map.getValues();
6682 values.sort(this.get$_compareMembers()); 6883 values.sort(this.get$_compareMembers());
6683 return values; 6884 return values;
6684 } 6885 }
6685 WorldGenerator.prototype._compareMembers = function(x, y) { 6886 WorldGenerator.prototype._compareMembers = function(x, y) {
6686 if (x.get$span() != null && y.get$span() != null) { 6887 if (x.get$span() != null && y.get$span() != null) {
6687 var spans = x.get$span().compareTo(y.get$span()); 6888 var spans = x.get$span().compareTo(y.get$span());
6688 if (spans != 0) return spans; 6889 if (spans != 0) return spans;
6689 } 6890 }
6690 if (x.get$span() == null) return 1; 6891 if (x.get$span() == null) return 1;
6691 if (y.get$span() == null) return -1; 6892 if (y.get$span() == null) return -1.000000/*-1*/;
6692 return x.get$name().compareTo(y.get$name()); 6893 return x.get$name().compareTo(y.get$name());
6693 } 6894 }
6694 WorldGenerator.prototype.get$_compareMembers = function() { 6895 WorldGenerator.prototype.get$_compareMembers = function() {
6695 return WorldGenerator.prototype._compareMembers.bind(this); 6896 return WorldGenerator.prototype._compareMembers.bind(this);
6696 } 6897 }
6697 WorldGenerator.prototype.writeVarCallStubs = function() { 6898 WorldGenerator.prototype.writeVarCallStubs = function() {
6698 if (this._varCallStubs.get$length() > 0) { 6899 if (this._varCallStubs.get$length() > 0) {
6699 this.writer.comment('// ********** Call Stubs **************'); 6900 this.writer.comment('// ********** Call Stubs **************');
6700 var $list = MapUtils.valuesSortedByKeys(this._varCallStubs); 6901 var $list = MapUtils.valuesSortedByKeys(this._varCallStubs);
6701 for (var $i = 0;$i < $list.length; $i++) { 6902 for (var $i = 0;$i < $list.length; $i++) {
(...skipping 514 matching lines...) Expand 10 before | Expand all | Expand 10 after
7216 } 7417 }
7217 MethodGenerator.prototype.visitVoid = function(node) { 7418 MethodGenerator.prototype.visitVoid = function(node) {
7218 if ((node instanceof PostfixExpression)) { 7419 if ((node instanceof PostfixExpression)) {
7219 var value = this.visitPostfixExpression(node, true); 7420 var value = this.visitPostfixExpression(node, true);
7220 value.checkFirstClass(node.span); 7421 value.checkFirstClass(node.span);
7221 return value; 7422 return value;
7222 } 7423 }
7223 return this.visitValue(node); 7424 return this.visitValue(node);
7224 } 7425 }
7225 MethodGenerator.prototype.visitDietStatement = function(node) { 7426 MethodGenerator.prototype.visitDietStatement = function(node) {
7226 var parser = new lang_Parser(node.span.file, false, node.span.start); 7427 var parser = new Parser(node.span.file, false, node.span.start);
7227 this.visitStatementsInBlock(parser.block()); 7428 this.visitStatementsInBlock(parser.block());
7228 } 7429 }
7229 MethodGenerator.prototype.visitVariableDefinition = function(node) { 7430 MethodGenerator.prototype.visitVariableDefinition = function(node) {
7230 var isFinal = false; 7431 var isFinal = false;
7231 if (node.modifiers != null && node.modifiers.$index(0).kind == 96/*TokenKind.F INAL*/) { 7432 if (node.modifiers != null && node.modifiers.$index(0).kind == 96/*TokenKind.F INAL*/) {
7232 isFinal = true; 7433 isFinal = true;
7233 } 7434 }
7234 this.writer.write('var '); 7435 this.writer.write('var ');
7235 var type = this.method.resolveType(node.type); 7436 var type = this.method.resolveType(node.type);
7236 for (var i = 0; 7437 for (var i = 0;
(...skipping 249 matching lines...) Expand 10 before | Expand all | Expand 10 after
7486 for (var $i = 0;$i < $list.length; $i++) { 7687 for (var $i = 0;$i < $list.length; $i++) {
7487 var case_ = $list.$index($i); 7688 var case_ = $list.$index($i);
7488 if (case_.label != null) { 7689 if (case_.label != null) {
7489 world.error('unimplemented: labeled case statement', case_.get$span()); 7690 world.error('unimplemented: labeled case statement', case_.get$span());
7490 } 7691 }
7491 this._pushBlock(false); 7692 this._pushBlock(false);
7492 for (var i = 0; 7693 for (var i = 0;
7493 i < case_.cases.length; i++) { 7694 i < case_.cases.length; i++) {
7494 var expr = case_.cases.$index(i); 7695 var expr = case_.cases.$index(i);
7495 if (expr == null) { 7696 if (expr == null) {
7697 if (i < case_.cases.length - 1) {
7698 world.error('default clause must be the last case', case_.get$span());
7699 }
7496 this.writer.writeln('default:'); 7700 this.writer.writeln('default:');
7497 } 7701 }
7498 else { 7702 else {
7499 var value = this.visitValue(expr); 7703 var value = this.visitValue(expr);
7500 this.writer.writeln(('case ' + value.code + ':')); 7704 this.writer.writeln(('case ' + value.code + ':'));
7501 } 7705 }
7502 } 7706 }
7503 this.writer.enterBlock(''); 7707 this.writer.enterBlock('');
7504 var $list0 = case_.statements; 7708 var $list0 = case_.statements;
7505 for (var $i0 = case_.statements.iterator(); $i0.hasNext(); ) { 7709 for (var $i0 = case_.statements.iterator(); $i0.hasNext(); ) {
7506 var stmt = $i0.next(); 7710 var stmt = $i0.next();
7507 stmt.visit(this); 7711 stmt.visit(this);
7508 } 7712 }
7713 if ($ne(case_, node.cases.$index(node.cases.length - 1))) {
7714 var span = case_.statements.$index(case_.statements.length - 1).get$span() ;
7715 this.writer.writeln(('\$throw(new FallThroughError("' + span.file.filename + '",') + (' ' + span.file.getLine(span.start) + '))'));
7716 }
7509 this.writer.exitBlock(''); 7717 this.writer.exitBlock('');
7510 this._popBlock(); 7718 this._popBlock();
7511 } 7719 }
7512 this.writer.exitBlock('}'); 7720 this.writer.exitBlock('}');
7513 } 7721 }
7514 MethodGenerator.prototype.visitBlockStatement = function(node) { 7722 MethodGenerator.prototype.visitBlockStatement = function(node) {
7515 this._pushBlock(false); 7723 this._pushBlock(false);
7516 this.writer.enterBlock('{'); 7724 this.writer.enterBlock('{');
7517 var $list = node.body; 7725 var $list = node.body;
7518 for (var $i = 0;$i < $list.length; $i++) { 7726 for (var $i = 0;$i < $list.length; $i++) {
(...skipping 155 matching lines...) Expand 10 before | Expand all | Expand 10 after
7674 } 7882 }
7675 if (x.code == 'null' || y.code == 'null') { 7883 if (x.code == 'null' || y.code == 'null') {
7676 var op = node.op.toString().substring(0, 2); 7884 var op = node.op.toString().substring(0, 2);
7677 return new Value(null, ('' + x.code + ' ' + op + ' ' + y.code + ''), false , true, false); 7885 return new Value(null, ('' + x.code + ' ' + op + ' ' + y.code + ''), false , true, false);
7678 } 7886 }
7679 else { 7887 else {
7680 return new Value(null, ('' + x.code + ' ' + node.op + ' ' + y.code + ''), false, true, false); 7888 return new Value(null, ('' + x.code + ' ' + node.op + ' ' + y.code + ''), false, true, false);
7681 } 7889 }
7682 } 7890 }
7683 var assignKind = TokenKind.kindFromAssign(node.op.kind); 7891 var assignKind = TokenKind.kindFromAssign(node.op.kind);
7684 if (assignKind == -1) { 7892 if (assignKind == -1.000000/*-1*/) {
7685 var x = this.visitValue(node.x); 7893 var x = this.visitValue(node.x);
7686 var y = this.visitValue(node.y); 7894 var y = this.visitValue(node.y);
7687 var name = TokenKind.binaryMethodName(node.op.kind); 7895 var name = TokenKind.binaryMethodName(node.op.kind);
7688 if (node.op.kind == 49/*TokenKind.NE*/) { 7896 if (node.op.kind == 49/*TokenKind.NE*/) {
7689 name = '\$ne'; 7897 name = '\$ne';
7690 } 7898 }
7691 if (name == null) { 7899 if (name == null) {
7692 world.internalError(('unimplemented binary op ' + node.op + ''), node.span ); 7900 world.internalError(('unimplemented binary op ' + node.op + ''), node.span );
7693 return; 7901 return;
7694 } 7902 }
(...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after
7800 case 17/*TokenKind.DECR*/: 8008 case 17/*TokenKind.DECR*/:
7801 8009
7802 if (value.type.get$isNum()) { 8010 if (value.type.get$isNum()) {
7803 return new Value(value.type, ('' + node.op + '' + value.code + ''), fals e, true, false); 8011 return new Value(value.type, ('' + node.op + '' + value.code + ''), fals e, true, false);
7804 } 8012 }
7805 else { 8013 else {
7806 var kind = (16/*TokenKind.INCR*/ == node.op.kind ? 42/*TokenKind.ADD*/ : 43/*TokenKind.SUB*/); 8014 var kind = (16/*TokenKind.INCR*/ == node.op.kind ? 42/*TokenKind.ADD*/ : 43/*TokenKind.SUB*/);
7807 var operand = new LiteralExpression(1, new TypeReference(node.span, worl d.numType), '1', node.span); 8015 var operand = new LiteralExpression(1, new TypeReference(node.span, worl d.numType), '1', node.span);
7808 return this._visitAssign(kind, node.self, operand, node, to$call$1(null) ); 8016 return this._visitAssign(kind, node.self, operand, node, to$call$1(null) );
7809 } 8017 }
8018 $throw(new FallThroughError("./gen.dart", 1743))
7810 8019
7811 case 19/*TokenKind.NOT*/: 8020 case 19/*TokenKind.NOT*/:
7812 8021
7813 if (value.type.get$isBool() && value.get$isConst()) { 8022 if (value.type.get$isBool() && value.get$isConst()) {
7814 var newVal = !value.get$actualValue(); 8023 var newVal = !value.get$actualValue();
7815 return EvaluatedValue.EvaluatedValue$factory(value.type, newVal, ('' + n ewVal + ''), node.span); 8024 return EvaluatedValue.EvaluatedValue$factory(value.type, newVal, ('' + n ewVal + ''), node.span);
7816 } 8025 }
7817 else { 8026 else {
7818 return new Value(world.boolType, ('!' + value.code + ''), false, true, f alse); 8027 return new Value(world.boolType, ('!' + value.code + ''), false, true, f alse);
7819 } 8028 }
8029 $throw(new FallThroughError("./gen.dart", 1758))
7820 8030
7821 case 42/*TokenKind.ADD*/: 8031 case 42/*TokenKind.ADD*/:
7822 case 43/*TokenKind.SUB*/: 8032 case 43/*TokenKind.SUB*/:
7823 case 18/*TokenKind.BIT_NOT*/: 8033 case 18/*TokenKind.BIT_NOT*/:
7824 8034
7825 if (value.type.get$isNum()) { 8035 if (value.type.get$isNum()) {
7826 if (value.get$isConst()) { 8036 if (value.get$isConst()) {
7827 if (node.op.kind == 42/*TokenKind.ADD*/) { 8037 if (node.op.kind == 42/*TokenKind.ADD*/) {
7828 return value; 8038 return value;
7829 } 8039 }
7830 else if (node.op.kind == 43/*TokenKind.SUB*/) { 8040 else if (node.op.kind == 43/*TokenKind.SUB*/) {
7831 var newVal = $negate(value.get$actualValue()); 8041 var newVal = $negate(value.get$actualValue());
7832 return EvaluatedValue.EvaluatedValue$factory(value.type, newVal, ('' + newVal + ''), node.span); 8042 return EvaluatedValue.EvaluatedValue$factory(value.type, newVal, ('' + newVal + ''), node.span);
7833 } 8043 }
7834 else { 8044 else {
7835 var newVal = (~value.get$actualValue().toInt()).toDouble(); 8045 var newVal = (~value.get$actualValue().toInt()).toDouble();
7836 return EvaluatedValue.EvaluatedValue$factory(value.type, newVal, ('' + newVal + ''), node.span); 8046 return EvaluatedValue.EvaluatedValue$factory(value.type, newVal, ('' + newVal + ''), node.span);
7837 } 8047 }
7838 } 8048 }
7839 return new Value(value.type, ('' + node.op + '' + value.code + ''), fals e, true, false); 8049 return new Value(value.type, ('' + node.op + '' + value.code + ''), fals e, true, false);
7840 } 8050 }
7841 else { 8051 else {
7842 var name; 8052 var name;
7843 if (node.op.kind == 18/*TokenKind.BIT_NOT*/) name = '\$bit_not'; 8053 if (node.op.kind == 18/*TokenKind.BIT_NOT*/) name = '\$bit_not';
7844 else if (node.op.kind == 43/*TokenKind.SUB*/) name = '\$negate'; 8054 else if (node.op.kind == 43/*TokenKind.SUB*/) name = '\$negate';
7845 else world.internalError(('unimplemented: unary ' + node.op + ' on var') , node.span); 8055 else world.internalError(('unimplemented: unary ' + node.op + ' on var') , node.span);
7846 return new Value(world.varType, ('' + name + '(' + value.code + ')'), fa lse, true, false); 8056 return new Value(world.varType, ('' + name + '(' + value.code + ')'), fa lse, true, false);
7847 } 8057 }
8058 $throw(new FallThroughError("./gen.dart", 1769))
7848 8059
7849 default: 8060 default:
7850 8061
7851 world.internalError(('unimplemented: ' + node.op + ''), node.span); 8062 world.internalError(('unimplemented: ' + node.op + ''), node.span);
7852 8063
7853 } 8064 }
7854 } 8065 }
7855 MethodGenerator.prototype.visitPostfixExpression = function(node, isVoid) { 8066 MethodGenerator.prototype.visitPostfixExpression = function(node, isVoid) {
7856 var $this = this; // closure support 8067 var $this = this; // closure support
7857 var value = this.visitValue(node.body); 8068 var value = this.visitValue(node.body);
(...skipping 126 matching lines...) Expand 10 before | Expand all | Expand 10 after
7984 var value = EvaluatedValue.EvaluatedValue$factory(factType, code, code, node .span); 8195 var value = EvaluatedValue.EvaluatedValue$factory(factType, code, code, node .span);
7985 return this.parent.globalForConst(value, argValues); 8196 return this.parent.globalForConst(value, argValues);
7986 } 8197 }
7987 return new Value(factType, code, false, true, false); 8198 return new Value(factType, code, false, true, false);
7988 } 8199 }
7989 MethodGenerator.prototype.visitConditionalExpression = function(node) { 8200 MethodGenerator.prototype.visitConditionalExpression = function(node) {
7990 var test = this.visitBool(node.test); 8201 var test = this.visitBool(node.test);
7991 var trueBranch = this.visitValue(node.trueBranch); 8202 var trueBranch = this.visitValue(node.trueBranch);
7992 var falseBranch = this.visitValue(node.falseBranch); 8203 var falseBranch = this.visitValue(node.falseBranch);
7993 var code = ('' + test.code + ' ? ' + trueBranch.code + ' : ' + falseBranch.cod e + ''); 8204 var code = ('' + test.code + ' ? ' + trueBranch.code + ' : ' + falseBranch.cod e + '');
7994 return new Value(lang_Type.union(trueBranch.type, falseBranch.type), code, fal se, true, false); 8205 return new Value(Type.union(trueBranch.type, falseBranch.type), code, false, t rue, false);
7995 } 8206 }
7996 MethodGenerator.prototype.visitIsExpression = function(node) { 8207 MethodGenerator.prototype.visitIsExpression = function(node) {
7997 var value = this.visitValue(node.x); 8208 var value = this.visitValue(node.x);
7998 var type = this.method.resolveType(node.type); 8209 var type = this.method.resolveType(node.type);
7999 return this._isTest(value, type, node.span, node.isTrue, false); 8210 return this._isTest(value, type, node.span, node.isTrue, false);
8000 } 8211 }
8001 MethodGenerator.prototype.visitParenExpression = function(node) { 8212 MethodGenerator.prototype.visitParenExpression = function(node) {
8002 var body = this.visitValue(node.body); 8213 var body = this.visitValue(node.body);
8003 if (body.get$isConst()) { 8214 if (body.get$isConst()) {
8004 return EvaluatedValue.EvaluatedValue$factory(body.type, body.get$actualValue (), ('(' + body.canonicalCode + ')'), node.span); 8215 return EvaluatedValue.EvaluatedValue$factory(body.type, body.get$actualValue (), ('(' + body.canonicalCode + ')'), node.span);
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
8111 Arguments.prototype.getName = function(i) { 8322 Arguments.prototype.getName = function(i) {
8112 return this.nodes.$index(i).label.name; 8323 return this.nodes.$index(i).label.name;
8113 } 8324 }
8114 Arguments.prototype.getIndexOfName = function(name) { 8325 Arguments.prototype.getIndexOfName = function(name) {
8115 for (var i = this.get$bareCount(); 8326 for (var i = this.get$bareCount();
8116 i < this.get$length(); i++) { 8327 i < this.get$length(); i++) {
8117 if (this.getName(i) == name) { 8328 if (this.getName(i) == name) {
8118 return i; 8329 return i;
8119 } 8330 }
8120 } 8331 }
8121 return -1; 8332 return -1.000000/*-1*/;
8122 } 8333 }
8123 Arguments.prototype.getValue = function(name) { 8334 Arguments.prototype.getValue = function(name) {
8124 var i = this.getIndexOfName(name); 8335 var i = this.getIndexOfName(name);
8125 return i >= 0 ? this.values.$index(i) : null; 8336 return i >= 0 ? this.values.$index(i) : null;
8126 } 8337 }
8127 Arguments.prototype.get$bareCount = function() { 8338 Arguments.prototype.get$bareCount = function() {
8128 if (this._bareCount == null) { 8339 if (this._bareCount == null) {
8129 this._bareCount = this.get$length(); 8340 this._bareCount = this.get$length();
8130 if (this.nodes != null) { 8341 if (this.nodes != null) {
8131 for (var i = 0; 8342 for (var i = 0;
(...skipping 216 matching lines...) Expand 10 before | Expand all | Expand 10 after
8348 this.sources = []; 8559 this.sources = [];
8349 this.addSource(this.library.baseSource); 8560 this.addSource(this.library.baseSource);
8350 } 8561 }
8351 LibraryVisitor.prototype.get$library = function() { return this.library; }; 8562 LibraryVisitor.prototype.get$library = function() { return this.library; };
8352 LibraryVisitor.prototype.addSourceFromName = function(name) { 8563 LibraryVisitor.prototype.addSourceFromName = function(name) {
8353 var source = world.readFile(this.library.makeFullPath(name)); 8564 var source = world.readFile(this.library.makeFullPath(name));
8354 this.sources.add(source); 8565 this.sources.add(source);
8355 } 8566 }
8356 LibraryVisitor.prototype.addSource = function(source) { 8567 LibraryVisitor.prototype.addSource = function(source) {
8357 this.library.sources.add(source); 8568 this.library.sources.add(source);
8358 var parser = new lang_Parser(source, options.dietParse, 0); 8569 var parser = new Parser(source, options.dietParse, 0);
8359 var unit = parser.compilationUnit(); 8570 var unit = parser.compilationUnit();
8360 for (var $i = 0;$i < unit.length; $i++) { 8571 for (var $i = 0;$i < unit.length; $i++) {
8361 var def = unit.$index($i); 8572 var def = unit.$index($i);
8362 def.visit(this); 8573 def.visit(this);
8363 } 8574 }
8364 var newSources = this.sources; 8575 var newSources = this.sources;
8365 this.sources = []; 8576 this.sources = [];
8366 for (var $i = newSources.iterator(); $i.hasNext(); ) { 8577 for (var $i = newSources.iterator(); $i.hasNext(); ) {
8367 var source0 = $i.next(); 8578 var source0 = $i.next();
8368 this.addSource(source0); 8579 this.addSource(source0);
8369 } 8580 }
8370 } 8581 }
8371 LibraryVisitor.prototype.visitDirectiveDefinition = function(node) { 8582 LibraryVisitor.prototype.visitDirectiveDefinition = function(node) {
8372 var name; 8583 var name;
8373 switch (node.name.name) { 8584 switch (node.name.name) {
8374 case "library": 8585 case "library":
8375 8586
8376 name = this.getSingleStringArg(node); 8587 name = this.getSingleStringArg(node);
8377 if (this.library.name == null) { 8588 if (this.library.name == null) {
8378 this.library.name = name; 8589 this.library.name = name;
8379 if ($eq(name, 'node') || $eq(name, 'dom')) { 8590 if ($eq(name, 'node') || $eq(name, 'dom')) {
8380 this.library.topType.isNativeType = true; 8591 this.library.topType.isNativeType = true;
8381 } 8592 }
8382 } 8593 }
8383 else { 8594 else {
8384 world.error('already specified library name', node.span); 8595 world.error('already specified library name', node.span);
8385 } 8596 }
8386 break; 8597 break;
8598 $throw(new FallThroughError("./library.dart", 271))
8387 8599
8388 case "import": 8600 case "import":
8389 8601
8390 name = this.getFirstStringArg(node); 8602 name = this.getFirstStringArg(node);
8391 var prefix = this.tryGetNamedStringArg(node, 'prefix'); 8603 var prefix = this.tryGetNamedStringArg(node, 'prefix');
8392 if (node.arguments.length > 2 || node.arguments.length == 2 && prefix == n ull) { 8604 if (node.arguments.length > 2 || node.arguments.length == 2 && prefix == n ull) {
8393 world.error('expected at most one "name" argument and one optional "pref ix"' + (' but found ' + node.arguments.length + ''), node.span); 8605 world.error('expected at most one "name" argument and one optional "pref ix"' + (' but found ' + node.arguments.length + ''), node.span);
8394 } 8606 }
8395 else if ($ne(prefix, null) && prefix.indexOf('.', 0) >= 0) { 8607 else if ($ne(prefix, null) && prefix.indexOf('.', 0) >= 0) {
8396 world.error('library prefix canot contain "."', node.span); 8608 world.error('library prefix canot contain "."', node.span);
8397 } 8609 }
8398 if ($eq(prefix, '')) prefix = null; 8610 if ($eq(prefix, '')) prefix = null;
8399 this.library.addImport(this.library.makeFullPath(name), prefix); 8611 this.library.addImport(this.library.makeFullPath(name), prefix);
8400 break; 8612 break;
8613 $throw(new FallThroughError("./library.dart", 289))
8401 8614
8402 case "source": 8615 case "source":
8403 8616
8404 name = this.getSingleStringArg(node); 8617 name = this.getSingleStringArg(node);
8405 this.addSourceFromName(name); 8618 this.addSourceFromName(name);
8406 break; 8619 break;
8620 $throw(new FallThroughError("./library.dart", 294))
8407 8621
8408 case "native": 8622 case "native":
8409 8623
8410 name = this.getSingleStringArg(node); 8624 name = this.getSingleStringArg(node);
8411 this.library.addNative(this.library.makeFullPath(name)); 8625 this.library.addNative(this.library.makeFullPath(name));
8412 break; 8626 break;
8627 $throw(new FallThroughError("./library.dart", 299))
8413 8628
8414 default: 8629 default:
8415 8630
8416 world.error(('unknown directive: ' + node.name.name + ''), node.span); 8631 world.error(('unknown directive: ' + node.name.name + ''), node.span);
8417 8632
8418 } 8633 }
8419 } 8634 }
8420 LibraryVisitor.prototype.getSingleStringArg = function(node) { 8635 LibraryVisitor.prototype.getSingleStringArg = function(node) {
8421 if (node.arguments.length != 1) { 8636 if (node.arguments.length != 1) {
8422 world.error(('expected exactly one argument but found ' + node.arguments.len gth + ''), node.span); 8637 world.error(('expected exactly one argument but found ' + node.arguments.len gth + ''), node.span);
(...skipping 749 matching lines...) Expand 10 before | Expand all | Expand 10 after
9172 ival0 = val0.toInt(); 9387 ival0 = val0.toInt();
9173 if (args.values.length > 0) { 9388 if (args.values.length > 0) {
9174 val1 = args.values.$index(0).get$dynamic().get$actualValue(); 9389 val1 = args.values.$index(0).get$dynamic().get$actualValue();
9175 ival1 = val1.toInt(); 9390 ival1 = val1.toInt();
9176 } 9391 }
9177 switch (this.name) { 9392 switch (this.name) {
9178 case '\$negate': 9393 case '\$negate':
9179 9394
9180 value = -val0; 9395 value = -val0;
9181 break; 9396 break;
9397 $throw(new FallThroughError("./member.dart", 763))
9182 9398
9183 case '\$add': 9399 case '\$add':
9184 9400
9185 value = val0 + val1; 9401 value = val0 + val1;
9186 break; 9402 break;
9403 $throw(new FallThroughError("./member.dart", 764))
9187 9404
9188 case '\$sub': 9405 case '\$sub':
9189 9406
9190 value = val0 - val1; 9407 value = val0 - val1;
9191 break; 9408 break;
9409 $throw(new FallThroughError("./member.dart", 765))
9192 9410
9193 case '\$mul': 9411 case '\$mul':
9194 9412
9195 value = val0 * val1; 9413 value = val0 * val1;
9196 break; 9414 break;
9415 $throw(new FallThroughError("./member.dart", 766))
9197 9416
9198 case '\$div': 9417 case '\$div':
9199 9418
9200 value = val0 / val1; 9419 value = val0 / val1;
9201 break; 9420 break;
9421 $throw(new FallThroughError("./member.dart", 767))
9202 9422
9203 case '\$truncdiv': 9423 case '\$truncdiv':
9204 9424
9205 value = $truncdiv(val0, val1); 9425 value = $truncdiv(val0, val1);
9206 break; 9426 break;
9427 $throw(new FallThroughError("./member.dart", 768))
9207 9428
9208 case '\$mod': 9429 case '\$mod':
9209 9430
9210 value = val0 % val1; 9431 value = val0 % val1;
9211 break; 9432 break;
9433 $throw(new FallThroughError("./member.dart", 769))
9212 9434
9213 case '\$eq': 9435 case '\$eq':
9214 9436
9215 value = val0 == val1; 9437 value = val0 == val1;
9216 break; 9438 break;
9439 $throw(new FallThroughError("./member.dart", 770))
9217 9440
9218 case '\$lt': 9441 case '\$lt':
9219 9442
9220 value = val0 < val1; 9443 value = val0 < val1;
9221 break; 9444 break;
9445 $throw(new FallThroughError("./member.dart", 771))
9222 9446
9223 case '\$gt': 9447 case '\$gt':
9224 9448
9225 value = val0 > val1; 9449 value = val0 > val1;
9226 break; 9450 break;
9451 $throw(new FallThroughError("./member.dart", 772))
9227 9452
9228 case '\$lte': 9453 case '\$lte':
9229 9454
9230 value = val0 <= val1; 9455 value = val0 <= val1;
9231 break; 9456 break;
9457 $throw(new FallThroughError("./member.dart", 773))
9232 9458
9233 case '\$gte': 9459 case '\$gte':
9234 9460
9235 value = val0 >= val1; 9461 value = val0 >= val1;
9236 break; 9462 break;
9463 $throw(new FallThroughError("./member.dart", 774))
9237 9464
9238 case '\$ne': 9465 case '\$ne':
9239 9466
9240 value = val0 != val1; 9467 value = val0 != val1;
9241 break; 9468 break;
9469 $throw(new FallThroughError("./member.dart", 775))
9242 9470
9243 case '\$bit_not': 9471 case '\$bit_not':
9244 9472
9245 value = (~ival0).toDouble(); 9473 value = (~ival0).toDouble();
9246 break; 9474 break;
9475 $throw(new FallThroughError("./member.dart", 778))
9247 9476
9248 case '\$bit_or': 9477 case '\$bit_or':
9249 9478
9250 value = (ival0 | ival1).toDouble(); 9479 value = (ival0 | ival1).toDouble();
9251 break; 9480 break;
9481 $throw(new FallThroughError("./member.dart", 779))
9252 9482
9253 case '\$bit_xor': 9483 case '\$bit_xor':
9254 9484
9255 value = (ival0 ^ ival1).toDouble(); 9485 value = (ival0 ^ ival1).toDouble();
9256 break; 9486 break;
9487 $throw(new FallThroughError("./member.dart", 780))
9257 9488
9258 case '\$bit_and': 9489 case '\$bit_and':
9259 9490
9260 value = (ival0 & ival1).toDouble(); 9491 value = (ival0 & ival1).toDouble();
9261 break; 9492 break;
9493 $throw(new FallThroughError("./member.dart", 781))
9262 9494
9263 case '\$shl': 9495 case '\$shl':
9264 9496
9265 value = (ival0 << ival1).toDouble(); 9497 value = (ival0 << ival1).toDouble();
9266 break; 9498 break;
9499 $throw(new FallThroughError("./member.dart", 782))
9267 9500
9268 case '\$sar': 9501 case '\$sar':
9269 9502
9270 value = (ival0 >> ival1).toDouble(); 9503 value = (ival0 >> ival1).toDouble();
9271 break; 9504 break;
9505 $throw(new FallThroughError("./member.dart", 783))
9272 9506
9273 case '\$shr': 9507 case '\$shr':
9274 9508
9275 value = (ival0 >>> ival1).toDouble(); 9509 value = (ival0 >>> ival1).toDouble();
9276 break; 9510 break;
9277 9511
9278 } 9512 }
9279 return EvaluatedValue.EvaluatedValue$factory(this.returnType, value, ("" + value + ""), node.span); 9513 return EvaluatedValue.EvaluatedValue$factory(this.returnType, value, ("" + value + ""), node.span);
9280 } 9514 }
9281 } 9515 }
(...skipping 452 matching lines...) Expand 10 before | Expand all | Expand 10 after
9734 } 9968 }
9735 MemberSet.prototype._union = function(x, y, node) { 9969 MemberSet.prototype._union = function(x, y, node) {
9736 var result = this._tryUnion(x, y, node); 9970 var result = this._tryUnion(x, y, node);
9737 if (result.code == null) { 9971 if (result.code == null) {
9738 world.fatal(('mismatched code for ' + this.name + ' (' + x.code + ', ' + y.c ode + ')'), node.span); 9972 world.fatal(('mismatched code for ' + this.name + ' (' + x.code + ', ' + y.c ode + ')'), node.span);
9739 } 9973 }
9740 return result; 9974 return result;
9741 } 9975 }
9742 MemberSet.prototype._tryUnion = function(x, y, node) { 9976 MemberSet.prototype._tryUnion = function(x, y, node) {
9743 if (x == null) return y; 9977 if (x == null) return y;
9744 var type = lang_Type.union(x.type, y.type); 9978 var type = Type.union(x.type, y.type);
9745 if (x.code == y.code) { 9979 if (x.code == y.code) {
9746 if ($eq(type, x.type)) { 9980 if ($eq(type, x.type)) {
9747 return x; 9981 return x;
9748 } 9982 }
9749 else if (x.get$isConst() || y.get$isConst()) { 9983 else if (x.get$isConst() || y.get$isConst()) {
9750 world.internalError("unexpected: union of const values "); 9984 world.internalError("unexpected: union of const values ");
9751 } 9985 }
9752 else { 9986 else {
9753 return new Value(type, x.code, x.isSuper && y.isSuper, x.needsTemp || y.ne edsTemp, x.isType && y.isType); 9987 return new Value(type, x.code, x.isSuper && y.isSuper, x.needsTemp || y.ne edsTemp, x.isType && y.isType);
9754 } 9988 }
(...skipping 24 matching lines...) Expand all
9779 FactoryMap.prototype.forEach = function(f) { 10013 FactoryMap.prototype.forEach = function(f) {
9780 this.factories.forEach((function (_, constructors) { 10014 this.factories.forEach((function (_, constructors) {
9781 constructors.forEach((function (_0, member) { 10015 constructors.forEach((function (_0, member) {
9782 f(member); 10016 f(member);
9783 }) 10017 })
9784 ); 10018 );
9785 }) 10019 })
9786 ); 10020 );
9787 } 10021 }
9788 FactoryMap.prototype.forEach$1 = FactoryMap.prototype.forEach; 10022 FactoryMap.prototype.forEach$1 = FactoryMap.prototype.forEach;
9789 // ********** Code for lang_Token ************** 10023 // ********** Code for Token **************
9790 function lang_Token(kind, source, start, end) { 10024 function Token(kind, source, start, end) {
9791 this.kind = kind; 10025 this.kind = kind;
9792 this.source = source; 10026 this.source = source;
9793 this.start = start; 10027 this.start = start;
9794 this.end = end; 10028 this.end = end;
9795 // Initializers done 10029 // Initializers done
9796 } 10030 }
9797 lang_Token.prototype.get$text = function() { 10031 Token.prototype.get$text = function() {
9798 return this.source.get$text().substring(this.start, this.end); 10032 return this.source.get$text().substring(this.start, this.end);
9799 } 10033 }
9800 lang_Token.prototype.toString = function() { 10034 Token.prototype.toString = function() {
9801 var kindText = TokenKind.kindToString(this.kind); 10035 var kindText = TokenKind.kindToString(this.kind);
9802 var actualText = this.get$text(); 10036 var actualText = this.get$text();
9803 if ($ne(kindText, actualText)) { 10037 if ($ne(kindText, actualText)) {
9804 if (actualText.length > 10) { 10038 if (actualText.length > 10) {
9805 actualText = actualText.substring(0, 8) + '...'; 10039 actualText = actualText.substring(0, 8) + '...';
9806 } 10040 }
9807 return ('' + kindText + '(' + actualText + ')'); 10041 return ('' + kindText + '(' + actualText + ')');
9808 } 10042 }
9809 else { 10043 else {
9810 return kindText; 10044 return kindText;
9811 } 10045 }
9812 } 10046 }
9813 lang_Token.prototype.get$span = function() { 10047 Token.prototype.get$span = function() {
9814 return new SourceSpan(this.source, this.start, this.end); 10048 return new SourceSpan(this.source, this.start, this.end);
9815 } 10049 }
9816 // ********** Code for SourceFile ************** 10050 // ********** Code for SourceFile **************
9817 function SourceFile(filename, _text) { 10051 function SourceFile(filename, _text) {
9818 this.filename = filename; 10052 this.filename = filename;
9819 this._text = _text; 10053 this._text = _text;
9820 // Initializers done 10054 // Initializers done
9821 } 10055 }
9822 SourceFile.prototype.get$text = function() { 10056 SourceFile.prototype.get$text = function() {
9823 return this._text; 10057 return this._text;
(...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after
9898 var d = this.start - other.start; 10132 var d = this.start - other.start;
9899 return d == 0 ? (this.end - other.end) : d; 10133 return d == 0 ? (this.end - other.end) : d;
9900 } 10134 }
9901 return this.file.compareTo(other.file); 10135 return this.file.compareTo(other.file);
9902 } 10136 }
9903 // ********** Code for InterpStack ************** 10137 // ********** Code for InterpStack **************
9904 function InterpStack(previous, quote, isMultiline) { 10138 function InterpStack(previous, quote, isMultiline) {
9905 this.previous = previous; 10139 this.previous = previous;
9906 this.quote = quote; 10140 this.quote = quote;
9907 this.isMultiline = isMultiline; 10141 this.isMultiline = isMultiline;
9908 this.depth = -1; 10142 this.depth = -1.000000/*-1*/;
9909 // Initializers done 10143 // Initializers done
9910 } 10144 }
9911 InterpStack.prototype.pop = function() { 10145 InterpStack.prototype.pop = function() {
9912 return this.previous; 10146 return this.previous;
9913 } 10147 }
9914 InterpStack.push = function(stack, quote, isMultiline) { 10148 InterpStack.push = function(stack, quote, isMultiline) {
9915 var newStack = new InterpStack(stack, quote, isMultiline); 10149 var newStack = new InterpStack(stack, quote, isMultiline);
9916 if (stack != null) newStack.previous = stack; 10150 if (stack != null) newStack.previous = stack;
9917 return newStack; 10151 return newStack;
9918 } 10152 }
9919 // ********** Code for TokenizerBase ************** 10153 // ********** Code for TokenizerBase **************
9920 function TokenizerBase(_source, _skipWhitespace, _index) { 10154 function TokenizerBase(_source, _skipWhitespace, _index) {
9921 this._source = _source; 10155 this._source = _source;
9922 this._skipWhitespace = _skipWhitespace; 10156 this._skipWhitespace = _skipWhitespace;
9923 this._index = _index; 10157 this._lang_index = _index;
9924 // Initializers done 10158 // Initializers done
9925 this._text = this._source.get$text(); 10159 this._text = this._source.get$text();
9926 } 10160 }
9927 $inherits(TokenizerBase, TokenizerHelpers); 10161 $inherits(TokenizerBase, TokenizerHelpers);
9928 TokenizerBase.prototype._nextChar = function() { 10162 TokenizerBase.prototype._nextChar = function() {
9929 if (this._index < this._text.length) { 10163 if (this._lang_index < this._text.length) {
9930 return this._text.charCodeAt(this._index++); 10164 return this._text.charCodeAt(this._lang_index++);
9931 } 10165 }
9932 else { 10166 else {
9933 return 0; 10167 return 0;
9934 } 10168 }
9935 } 10169 }
9936 TokenizerBase.prototype._peekChar = function() { 10170 TokenizerBase.prototype._peekChar = function() {
9937 if (this._index < this._text.length) { 10171 if (this._lang_index < this._text.length) {
9938 return this._text.charCodeAt(this._index); 10172 return this._text.charCodeAt(this._lang_index);
9939 } 10173 }
9940 else { 10174 else {
9941 return 0; 10175 return 0;
9942 } 10176 }
9943 } 10177 }
9944 TokenizerBase.prototype._maybeEatChar = function(ch) { 10178 TokenizerBase.prototype._maybeEatChar = function(ch) {
9945 if (this._index < this._text.length) { 10179 if (this._lang_index < this._text.length) {
9946 if (this._text.charCodeAt(this._index) == ch) { 10180 if (this._text.charCodeAt(this._lang_index) == ch) {
9947 this._index++; 10181 this._lang_index++;
9948 return true; 10182 return true;
9949 } 10183 }
9950 else { 10184 else {
9951 return false; 10185 return false;
9952 } 10186 }
9953 } 10187 }
9954 else { 10188 else {
9955 return false; 10189 return false;
9956 } 10190 }
9957 } 10191 }
9958 TokenizerBase.prototype._finishToken = function(kind) { 10192 TokenizerBase.prototype._finishToken = function(kind) {
9959 return new lang_Token(kind, this._source, this._startIndex, this._index); 10193 return new Token(kind, this._source, this._startIndex, this._lang_index);
9960 } 10194 }
9961 TokenizerBase.prototype._errorToken = function() { 10195 TokenizerBase.prototype._errorToken = function() {
9962 return this._finishToken(64/*TokenKind.ERROR*/); 10196 return this._finishToken(64/*TokenKind.ERROR*/);
9963 } 10197 }
9964 TokenizerBase.prototype.finishWhitespace = function() { 10198 TokenizerBase.prototype.finishWhitespace = function() {
9965 while (this._index < this._text.length) { 10199 while (this._lang_index < this._text.length) {
9966 if (!TokenizerHelpers.isWhitespace(this._text.charCodeAt(this._index++))) { 10200 if (!TokenizerHelpers.isWhitespace(this._text.charCodeAt(this._lang_index++) )) {
9967 this._index--; 10201 this._lang_index--;
9968 return this.next(); 10202 return this.next();
9969 } 10203 }
9970 } 10204 }
9971 return this._finishToken(1/*TokenKind.END_OF_FILE*/); 10205 return this._finishToken(1/*TokenKind.END_OF_FILE*/);
9972 } 10206 }
9973 TokenizerBase.prototype.finishHashBang = function() { 10207 TokenizerBase.prototype.finishHashBang = function() {
9974 while (true) { 10208 while (true) {
9975 var ch = this._nextChar(); 10209 var ch = this._nextChar();
9976 if (ch == 0 || ch == 10 || ch == 13) { 10210 if (ch == 0 || ch == 10 || ch == 13) {
9977 return this._finishToken(13/*TokenKind.HASHBANG*/); 10211 return this._finishToken(13/*TokenKind.HASHBANG*/);
(...skipping 26 matching lines...) Expand all
10004 } 10238 }
10005 else { 10239 else {
10006 return this._finishToken(63/*TokenKind.COMMENT*/); 10240 return this._finishToken(63/*TokenKind.COMMENT*/);
10007 } 10241 }
10008 } 10242 }
10009 } 10243 }
10010 } 10244 }
10011 return this._errorToken(); 10245 return this._errorToken();
10012 } 10246 }
10013 TokenizerBase.prototype.eatDigits = function() { 10247 TokenizerBase.prototype.eatDigits = function() {
10014 while (this._index < this._text.length) { 10248 while (this._lang_index < this._text.length) {
10015 if (TokenizerHelpers.isDigit(this._text.charCodeAt(this._index))) { 10249 if (TokenizerHelpers.isDigit(this._text.charCodeAt(this._lang_index))) {
10016 this._index++; 10250 this._lang_index++;
10017 } 10251 }
10018 else { 10252 else {
10019 return; 10253 return;
10020 } 10254 }
10021 } 10255 }
10022 } 10256 }
10023 TokenizerBase.prototype.eatHexDigits = function() { 10257 TokenizerBase.prototype.eatHexDigits = function() {
10024 while (this._index < this._text.length) { 10258 while (this._lang_index < this._text.length) {
10025 if (TokenizerHelpers.isHexDigit(this._text.charCodeAt(this._index))) { 10259 if (TokenizerHelpers.isHexDigit(this._text.charCodeAt(this._lang_index))) {
10026 this._index++; 10260 this._lang_index++;
10027 } 10261 }
10028 else { 10262 else {
10029 return; 10263 return;
10030 } 10264 }
10031 } 10265 }
10032 } 10266 }
10033 TokenizerBase.prototype.maybeEatHexDigit = function() { 10267 TokenizerBase.prototype.maybeEatHexDigit = function() {
10034 if (this._index < this._text.length && TokenizerHelpers.isHexDigit(this._text. charCodeAt(this._index))) { 10268 if (this._lang_index < this._text.length && TokenizerHelpers.isHexDigit(this._ text.charCodeAt(this._lang_index))) {
10035 this._index++; 10269 this._lang_index++;
10036 return true; 10270 return true;
10037 } 10271 }
10038 return false; 10272 return false;
10039 } 10273 }
10040 TokenizerBase.prototype.finishHex = function() { 10274 TokenizerBase.prototype.finishHex = function() {
10041 this.eatHexDigits(); 10275 this.eatHexDigits();
10042 return this._finishToken(61/*TokenKind.HEX_NUMBER*/); 10276 return this._finishToken(61/*TokenKind.HEX_NUMBER*/);
10043 } 10277 }
10044 TokenizerBase.prototype.finishNumber = function() { 10278 TokenizerBase.prototype.finishNumber = function() {
10045 this.eatDigits(); 10279 this.eatDigits();
10046 if (this._peekChar() == 46) { 10280 if (this._peekChar() == 46) {
10047 this._nextChar(); 10281 this._nextChar();
10048 if (TokenizerHelpers.isDigit(this._peekChar())) { 10282 if (TokenizerHelpers.isDigit(this._peekChar())) {
10049 this.eatDigits(); 10283 this.eatDigits();
10050 } 10284 }
10051 else { 10285 else {
10052 this._index--; 10286 this._lang_index--;
10053 } 10287 }
10054 } 10288 }
10055 return this.finishNumberExtra(); 10289 return this.finishNumberExtra();
10056 } 10290 }
10057 TokenizerBase.prototype.finishNumberExtra = function() { 10291 TokenizerBase.prototype.finishNumberExtra = function() {
10058 if (this._maybeEatChar(101) || this._maybeEatChar(69)) { 10292 if (this._maybeEatChar(101) || this._maybeEatChar(69)) {
10059 this._maybeEatChar(45); 10293 this._maybeEatChar(45);
10060 this._maybeEatChar(43); 10294 this._maybeEatChar(43);
10061 this.eatDigits(); 10295 this.eatDigits();
10062 } 10296 }
(...skipping 24 matching lines...) Expand all
10087 else if (ch == 92) { 10321 else if (ch == 92) {
10088 if (!this.eatEscapeSequence()) { 10322 if (!this.eatEscapeSequence()) {
10089 return this._errorToken(); 10323 return this._errorToken();
10090 } 10324 }
10091 } 10325 }
10092 } 10326 }
10093 } 10327 }
10094 TokenizerBase.prototype._finishOpenBrace = function() { 10328 TokenizerBase.prototype._finishOpenBrace = function() {
10095 var $0; 10329 var $0;
10096 if (this._interpStack != null) { 10330 if (this._interpStack != null) {
10097 if (this._interpStack.depth == -1) { 10331 if (this._interpStack.depth == -1.000000/*-1*/) {
10098 this._interpStack.depth = 1; 10332 this._interpStack.depth = 1;
10099 } 10333 }
10100 else { 10334 else {
10101 ($0 = this._interpStack).depth = $0.depth + 1; 10335 ($0 = this._interpStack).depth = $0.depth + 1;
10102 } 10336 }
10103 } 10337 }
10104 return this._finishToken(6/*TokenKind.LBRACE*/); 10338 return this._finishToken(6/*TokenKind.LBRACE*/);
10105 } 10339 }
10106 TokenizerBase.prototype._finishCloseBrace = function() { 10340 TokenizerBase.prototype._finishCloseBrace = function() {
10107 var $0; 10341 var $0;
(...skipping 63 matching lines...) Expand 10 before | Expand all | Expand 10 after
10171 } 10405 }
10172 } 10406 }
10173 } 10407 }
10174 } 10408 }
10175 TokenizerBase.prototype.eatEscapeSequence = function() { 10409 TokenizerBase.prototype.eatEscapeSequence = function() {
10176 var hex; 10410 var hex;
10177 switch (this._nextChar()) { 10411 switch (this._nextChar()) {
10178 case 120: 10412 case 120:
10179 10413
10180 return this.maybeEatHexDigit() && this.maybeEatHexDigit(); 10414 return this.maybeEatHexDigit() && this.maybeEatHexDigit();
10415 $throw(new FallThroughError("./tokenizer.dart", 336))
10181 10416
10182 case 117: 10417 case 117:
10183 10418
10184 if (this._maybeEatChar(123)) { 10419 if (this._maybeEatChar(123)) {
10185 var start = this._index; 10420 var start = this._lang_index;
10186 this.eatHexDigits(); 10421 this.eatHexDigits();
10187 var chars = this._index - start; 10422 var chars = this._lang_index - start;
10188 if (chars > 0 && chars <= 6 && this._maybeEatChar(125)) { 10423 if (chars > 0 && chars <= 6 && this._maybeEatChar(125)) {
10189 hex = this._text.substring(start, start + chars); 10424 hex = this._text.substring(start, start + chars);
10190 break; 10425 break;
10191 } 10426 }
10192 else { 10427 else {
10193 return false; 10428 return false;
10194 } 10429 }
10195 } 10430 }
10196 else { 10431 else {
10197 if (this.maybeEatHexDigit() && this.maybeEatHexDigit() && this.maybeEatH exDigit() && this.maybeEatHexDigit()) { 10432 if (this.maybeEatHexDigit() && this.maybeEatHexDigit() && this.maybeEatH exDigit() && this.maybeEatHexDigit()) {
10198 hex = this._text.substring(this._index - 4, this._index); 10433 hex = this._text.substring(this._lang_index - 4, this._lang_index);
10199 break; 10434 break;
10200 } 10435 }
10201 else { 10436 else {
10202 return false; 10437 return false;
10203 } 10438 }
10204 } 10439 }
10440 $throw(new FallThroughError("./tokenizer.dart", 338))
10205 10441
10206 default: 10442 default:
10207 10443
10208 return true; 10444 return true;
10209 10445
10210 } 10446 }
10211 var n = lang_Parser.parseHex(hex); 10447 var n = Parser.parseHex(hex);
10212 return n < 0xD800 || n > 0xDFFF && n <= 0x10FFFF; 10448 return n < 0xD800 || n > 0xDFFF && n <= 0x10FFFF;
10213 } 10449 }
10214 TokenizerBase.prototype.finishDot = function() { 10450 TokenizerBase.prototype.finishDot = function() {
10215 if (TokenizerHelpers.isDigit(this._peekChar())) { 10451 if (TokenizerHelpers.isDigit(this._peekChar())) {
10216 this.eatDigits(); 10452 this.eatDigits();
10217 return this.finishNumberExtra(); 10453 return this.finishNumberExtra();
10218 } 10454 }
10219 else { 10455 else {
10220 return this._finishToken(14/*TokenKind.DOT*/); 10456 return this._finishToken(14/*TokenKind.DOT*/);
10221 } 10457 }
10222 } 10458 }
10223 TokenizerBase.prototype.finishIdentifier = function() { 10459 TokenizerBase.prototype.finishIdentifier = function() {
10224 while (this._index < this._text.length) { 10460 while (this._lang_index < this._text.length) {
10225 if (!TokenizerHelpers.isIdentifierPart(this._text.charCodeAt(this._index++)) ) { 10461 if (!TokenizerHelpers.isIdentifierPart(this._text.charCodeAt(this._lang_inde x++))) {
10226 this._index--; 10462 this._lang_index--;
10227 break; 10463 break;
10228 } 10464 }
10229 } 10465 }
10230 var kind = this.getIdentifierKind(); 10466 var kind = this.getIdentifierKind();
10231 if (this._interpStack != null && this._interpStack.depth == -1) { 10467 if (this._interpStack != null && this._interpStack.depth == -1.000000/*-1*/) {
10232 this._interpStack.depth = 0; 10468 this._interpStack.depth = 0;
10233 } 10469 }
10234 if (kind == 69/*TokenKind.IDENTIFIER*/) { 10470 if (kind == 69/*TokenKind.IDENTIFIER*/) {
10235 return this._finishToken(69/*TokenKind.IDENTIFIER*/); 10471 return this._finishToken(69/*TokenKind.IDENTIFIER*/);
10236 } 10472 }
10237 else { 10473 else {
10238 return this._finishToken(kind); 10474 return this._finishToken(kind);
10239 } 10475 }
10240 } 10476 }
10241 // ********** Code for Tokenizer ************** 10477 // ********** Code for Tokenizer **************
10242 function Tokenizer(source, skipWhitespace, index) { 10478 function Tokenizer(source, skipWhitespace, index) {
10243 TokenizerBase.call(this, source, skipWhitespace, index); 10479 TokenizerBase.call(this, source, skipWhitespace, index);
10244 // Initializers done 10480 // Initializers done
10245 } 10481 }
10246 $inherits(Tokenizer, TokenizerBase); 10482 $inherits(Tokenizer, TokenizerBase);
10247 Tokenizer.prototype.next = function() { 10483 Tokenizer.prototype.next = function() {
10248 this._startIndex = this._index; 10484 this._startIndex = this._lang_index;
10249 if (this._interpStack != null && this._interpStack.depth == 0) { 10485 if (this._interpStack != null && this._interpStack.depth == 0) {
10250 var istack = this._interpStack; 10486 var istack = this._interpStack;
10251 this._interpStack = this._interpStack.pop(); 10487 this._interpStack = this._interpStack.pop();
10252 if (istack.isMultiline) { 10488 if (istack.isMultiline) {
10253 return this.finishMultilineString(istack.quote); 10489 return this.finishMultilineString(istack.quote);
10254 } 10490 }
10255 else { 10491 else {
10256 return this.finishStringBody(istack.quote); 10492 return this.finishStringBody(istack.quote);
10257 } 10493 }
10258 } 10494 }
10259 var ch; 10495 var ch;
10260 ch = this._nextChar(); 10496 ch = this._nextChar();
10261 switch (ch) { 10497 switch (ch) {
10262 case 0: 10498 case 0:
10263 10499
10264 return this._finishToken(1/*TokenKind.END_OF_FILE*/); 10500 return this._finishToken(1/*TokenKind.END_OF_FILE*/);
10501 $throw(new FallThroughError("./tokenizer.g.dart", 29))
10265 10502
10266 case 32: 10503 case 32:
10267 case 9: 10504 case 9:
10268 case 10: 10505 case 10:
10269 case 13: 10506 case 13:
10270 10507
10271 return this.finishWhitespace(); 10508 return this.finishWhitespace();
10509 $throw(new FallThroughError("./tokenizer.g.dart", 31))
10272 10510
10273 case 33: 10511 case 33:
10274 10512
10275 if (this._maybeEatChar(61)) { 10513 if (this._maybeEatChar(61)) {
10276 if (this._maybeEatChar(61)) { 10514 if (this._maybeEatChar(61)) {
10277 return this._finishToken(51/*TokenKind.NE_STRICT*/); 10515 return this._finishToken(51/*TokenKind.NE_STRICT*/);
10278 } 10516 }
10279 else { 10517 else {
10280 return this._finishToken(49/*TokenKind.NE*/); 10518 return this._finishToken(49/*TokenKind.NE*/);
10281 } 10519 }
10282 } 10520 }
10283 else { 10521 else {
10284 return this._finishToken(19/*TokenKind.NOT*/); 10522 return this._finishToken(19/*TokenKind.NOT*/);
10285 } 10523 }
10524 $throw(new FallThroughError("./tokenizer.g.dart", 33))
10286 10525
10287 case 34: 10526 case 34:
10288 10527
10289 return this.finishString(34); 10528 return this.finishString(34);
10529 $throw(new FallThroughError("./tokenizer.g.dart", 43))
10290 10530
10291 case 35: 10531 case 35:
10292 10532
10293 if (this._maybeEatChar(33)) { 10533 if (this._maybeEatChar(33)) {
10294 return this.finishHashBang(); 10534 return this.finishHashBang();
10295 } 10535 }
10296 else { 10536 else {
10297 return this._finishToken(12/*TokenKind.HASH*/); 10537 return this._finishToken(12/*TokenKind.HASH*/);
10298 } 10538 }
10539 $throw(new FallThroughError("./tokenizer.g.dart", 45))
10299 10540
10300 case 36: 10541 case 36:
10301 10542
10302 if (this._maybeEatChar(34)) { 10543 if (this._maybeEatChar(34)) {
10303 return this.finishString(34); 10544 return this.finishString(34);
10304 } 10545 }
10305 else if (this._maybeEatChar(39)) { 10546 else if (this._maybeEatChar(39)) {
10306 return this.finishString(39); 10547 return this.finishString(39);
10307 } 10548 }
10308 else { 10549 else {
10309 return this.finishIdentifier(); 10550 return this.finishIdentifier();
10310 } 10551 }
10552 $throw(new FallThroughError("./tokenizer.g.dart", 51))
10311 10553
10312 case 37: 10554 case 37:
10313 10555
10314 if (this._maybeEatChar(61)) { 10556 if (this._maybeEatChar(61)) {
10315 return this._finishToken(32/*TokenKind.ASSIGN_MOD*/); 10557 return this._finishToken(32/*TokenKind.ASSIGN_MOD*/);
10316 } 10558 }
10317 else { 10559 else {
10318 return this._finishToken(47/*TokenKind.MOD*/); 10560 return this._finishToken(47/*TokenKind.MOD*/);
10319 } 10561 }
10562 $throw(new FallThroughError("./tokenizer.g.dart", 59))
10320 10563
10321 case 38: 10564 case 38:
10322 10565
10323 if (this._maybeEatChar(38)) { 10566 if (this._maybeEatChar(38)) {
10324 return this._finishToken(35/*TokenKind.AND*/); 10567 return this._finishToken(35/*TokenKind.AND*/);
10325 } 10568 }
10326 else if (this._maybeEatChar(61)) { 10569 else if (this._maybeEatChar(61)) {
10327 return this._finishToken(23/*TokenKind.ASSIGN_AND*/); 10570 return this._finishToken(23/*TokenKind.ASSIGN_AND*/);
10328 } 10571 }
10329 else { 10572 else {
10330 return this._finishToken(38/*TokenKind.BIT_AND*/); 10573 return this._finishToken(38/*TokenKind.BIT_AND*/);
10331 } 10574 }
10575 $throw(new FallThroughError("./tokenizer.g.dart", 65))
10332 10576
10333 case 39: 10577 case 39:
10334 10578
10335 return this.finishString(39); 10579 return this.finishString(39);
10580 $throw(new FallThroughError("./tokenizer.g.dart", 73))
10336 10581
10337 case 40: 10582 case 40:
10338 10583
10339 return this._finishToken(2/*TokenKind.LPAREN*/); 10584 return this._finishToken(2/*TokenKind.LPAREN*/);
10585 $throw(new FallThroughError("./tokenizer.g.dart", 75))
10340 10586
10341 case 41: 10587 case 41:
10342 10588
10343 return this._finishToken(3/*TokenKind.RPAREN*/); 10589 return this._finishToken(3/*TokenKind.RPAREN*/);
10590 $throw(new FallThroughError("./tokenizer.g.dart", 77))
10344 10591
10345 case 42: 10592 case 42:
10346 10593
10347 if (this._maybeEatChar(61)) { 10594 if (this._maybeEatChar(61)) {
10348 return this._finishToken(29/*TokenKind.ASSIGN_MUL*/); 10595 return this._finishToken(29/*TokenKind.ASSIGN_MUL*/);
10349 } 10596 }
10350 else { 10597 else {
10351 return this._finishToken(44/*TokenKind.MUL*/); 10598 return this._finishToken(44/*TokenKind.MUL*/);
10352 } 10599 }
10600 $throw(new FallThroughError("./tokenizer.g.dart", 79))
10353 10601
10354 case 43: 10602 case 43:
10355 10603
10356 if (this._maybeEatChar(43)) { 10604 if (this._maybeEatChar(43)) {
10357 return this._finishToken(16/*TokenKind.INCR*/); 10605 return this._finishToken(16/*TokenKind.INCR*/);
10358 } 10606 }
10359 else if (this._maybeEatChar(61)) { 10607 else if (this._maybeEatChar(61)) {
10360 return this._finishToken(27/*TokenKind.ASSIGN_ADD*/); 10608 return this._finishToken(27/*TokenKind.ASSIGN_ADD*/);
10361 } 10609 }
10362 else { 10610 else {
10363 return this._finishToken(42/*TokenKind.ADD*/); 10611 return this._finishToken(42/*TokenKind.ADD*/);
10364 } 10612 }
10613 $throw(new FallThroughError("./tokenizer.g.dart", 85))
10365 10614
10366 case 44: 10615 case 44:
10367 10616
10368 return this._finishToken(11/*TokenKind.COMMA*/); 10617 return this._finishToken(11/*TokenKind.COMMA*/);
10618 $throw(new FallThroughError("./tokenizer.g.dart", 93))
10369 10619
10370 case 45: 10620 case 45:
10371 10621
10372 if (this._maybeEatChar(45)) { 10622 if (this._maybeEatChar(45)) {
10373 return this._finishToken(17/*TokenKind.DECR*/); 10623 return this._finishToken(17/*TokenKind.DECR*/);
10374 } 10624 }
10375 else if (this._maybeEatChar(61)) { 10625 else if (this._maybeEatChar(61)) {
10376 return this._finishToken(28/*TokenKind.ASSIGN_SUB*/); 10626 return this._finishToken(28/*TokenKind.ASSIGN_SUB*/);
10377 } 10627 }
10378 else { 10628 else {
10379 return this._finishToken(43/*TokenKind.SUB*/); 10629 return this._finishToken(43/*TokenKind.SUB*/);
10380 } 10630 }
10631 $throw(new FallThroughError("./tokenizer.g.dart", 95))
10381 10632
10382 case 46: 10633 case 46:
10383 10634
10384 if (this._maybeEatChar(46)) { 10635 if (this._maybeEatChar(46)) {
10385 if (this._maybeEatChar(46)) { 10636 if (this._maybeEatChar(46)) {
10386 return this._finishToken(15/*TokenKind.ELLIPSIS*/); 10637 return this._finishToken(15/*TokenKind.ELLIPSIS*/);
10387 } 10638 }
10388 else { 10639 else {
10389 return this._errorToken(); 10640 return this._errorToken();
10390 } 10641 }
10391 } 10642 }
10392 else { 10643 else {
10393 return this.finishDot(); 10644 return this.finishDot();
10394 } 10645 }
10646 $throw(new FallThroughError("./tokenizer.g.dart", 103))
10395 10647
10396 case 47: 10648 case 47:
10397 10649
10398 if (this._maybeEatChar(42)) { 10650 if (this._maybeEatChar(42)) {
10399 return this.finishMultiLineComment(); 10651 return this.finishMultiLineComment();
10400 } 10652 }
10401 else if (this._maybeEatChar(47)) { 10653 else if (this._maybeEatChar(47)) {
10402 return this.finishSingleLineComment(); 10654 return this.finishSingleLineComment();
10403 } 10655 }
10404 else if (this._maybeEatChar(61)) { 10656 else if (this._maybeEatChar(61)) {
10405 return this._finishToken(30/*TokenKind.ASSIGN_DIV*/); 10657 return this._finishToken(30/*TokenKind.ASSIGN_DIV*/);
10406 } 10658 }
10407 else { 10659 else {
10408 return this._finishToken(45/*TokenKind.DIV*/); 10660 return this._finishToken(45/*TokenKind.DIV*/);
10409 } 10661 }
10662 $throw(new FallThroughError("./tokenizer.g.dart", 113))
10410 10663
10411 case 48: 10664 case 48:
10412 10665
10413 if (this._maybeEatChar(88)) { 10666 if (this._maybeEatChar(88)) {
10414 return this.finishHex(); 10667 return this.finishHex();
10415 } 10668 }
10416 else if (this._maybeEatChar(120)) { 10669 else if (this._maybeEatChar(120)) {
10417 return this.finishHex(); 10670 return this.finishHex();
10418 } 10671 }
10419 else { 10672 else {
10420 return this.finishNumber(); 10673 return this.finishNumber();
10421 } 10674 }
10675 $throw(new FallThroughError("./tokenizer.g.dart", 123))
10422 10676
10423 case 58: 10677 case 58:
10424 10678
10425 return this._finishToken(8/*TokenKind.COLON*/); 10679 return this._finishToken(8/*TokenKind.COLON*/);
10680 $throw(new FallThroughError("./tokenizer.g.dart", 131))
10426 10681
10427 case 59: 10682 case 59:
10428 10683
10429 return this._finishToken(10/*TokenKind.SEMICOLON*/); 10684 return this._finishToken(10/*TokenKind.SEMICOLON*/);
10685 $throw(new FallThroughError("./tokenizer.g.dart", 133))
10430 10686
10431 case 60: 10687 case 60:
10432 10688
10433 if (this._maybeEatChar(60)) { 10689 if (this._maybeEatChar(60)) {
10434 if (this._maybeEatChar(61)) { 10690 if (this._maybeEatChar(61)) {
10435 return this._finishToken(24/*TokenKind.ASSIGN_SHL*/); 10691 return this._finishToken(24/*TokenKind.ASSIGN_SHL*/);
10436 } 10692 }
10437 else { 10693 else {
10438 return this._finishToken(39/*TokenKind.SHL*/); 10694 return this._finishToken(39/*TokenKind.SHL*/);
10439 } 10695 }
10440 } 10696 }
10441 else if (this._maybeEatChar(61)) { 10697 else if (this._maybeEatChar(61)) {
10442 return this._finishToken(54/*TokenKind.LTE*/); 10698 return this._finishToken(54/*TokenKind.LTE*/);
10443 } 10699 }
10444 else { 10700 else {
10445 return this._finishToken(52/*TokenKind.LT*/); 10701 return this._finishToken(52/*TokenKind.LT*/);
10446 } 10702 }
10703 $throw(new FallThroughError("./tokenizer.g.dart", 135))
10447 10704
10448 case 61: 10705 case 61:
10449 10706
10450 if (this._maybeEatChar(61)) { 10707 if (this._maybeEatChar(61)) {
10451 if (this._maybeEatChar(61)) { 10708 if (this._maybeEatChar(61)) {
10452 return this._finishToken(50/*TokenKind.EQ_STRICT*/); 10709 return this._finishToken(50/*TokenKind.EQ_STRICT*/);
10453 } 10710 }
10454 else { 10711 else {
10455 return this._finishToken(48/*TokenKind.EQ*/); 10712 return this._finishToken(48/*TokenKind.EQ*/);
10456 } 10713 }
10457 } 10714 }
10458 else if (this._maybeEatChar(62)) { 10715 else if (this._maybeEatChar(62)) {
10459 return this._finishToken(9/*TokenKind.ARROW*/); 10716 return this._finishToken(9/*TokenKind.ARROW*/);
10460 } 10717 }
10461 else { 10718 else {
10462 return this._finishToken(20/*TokenKind.ASSIGN*/); 10719 return this._finishToken(20/*TokenKind.ASSIGN*/);
10463 } 10720 }
10721 $throw(new FallThroughError("./tokenizer.g.dart", 147))
10464 10722
10465 case 62: 10723 case 62:
10466 10724
10467 if (this._maybeEatChar(61)) { 10725 if (this._maybeEatChar(61)) {
10468 return this._finishToken(55/*TokenKind.GTE*/); 10726 return this._finishToken(55/*TokenKind.GTE*/);
10469 } 10727 }
10470 else if (this._maybeEatChar(62)) { 10728 else if (this._maybeEatChar(62)) {
10471 if (this._maybeEatChar(61)) { 10729 if (this._maybeEatChar(61)) {
10472 return this._finishToken(25/*TokenKind.ASSIGN_SAR*/); 10730 return this._finishToken(25/*TokenKind.ASSIGN_SAR*/);
10473 } 10731 }
10474 else if (this._maybeEatChar(62)) { 10732 else if (this._maybeEatChar(62)) {
10475 if (this._maybeEatChar(61)) { 10733 if (this._maybeEatChar(61)) {
10476 return this._finishToken(26/*TokenKind.ASSIGN_SHR*/); 10734 return this._finishToken(26/*TokenKind.ASSIGN_SHR*/);
10477 } 10735 }
10478 else { 10736 else {
10479 return this._finishToken(41/*TokenKind.SHR*/); 10737 return this._finishToken(41/*TokenKind.SHR*/);
10480 } 10738 }
10481 } 10739 }
10482 else { 10740 else {
10483 return this._finishToken(40/*TokenKind.SAR*/); 10741 return this._finishToken(40/*TokenKind.SAR*/);
10484 } 10742 }
10485 } 10743 }
10486 else { 10744 else {
10487 return this._finishToken(53/*TokenKind.GT*/); 10745 return this._finishToken(53/*TokenKind.GT*/);
10488 } 10746 }
10747 $throw(new FallThroughError("./tokenizer.g.dart", 159))
10489 10748
10490 case 63: 10749 case 63:
10491 10750
10492 return this._finishToken(33/*TokenKind.CONDITIONAL*/); 10751 return this._finishToken(33/*TokenKind.CONDITIONAL*/);
10752 $throw(new FallThroughError("./tokenizer.g.dart", 177))
10493 10753
10494 case 64: 10754 case 64:
10495 10755
10496 if (this._maybeEatChar(34)) { 10756 if (this._maybeEatChar(34)) {
10497 return this.finishRawString(34); 10757 return this.finishRawString(34);
10498 } 10758 }
10499 else if (this._maybeEatChar(39)) { 10759 else if (this._maybeEatChar(39)) {
10500 return this.finishRawString(39); 10760 return this.finishRawString(39);
10501 } 10761 }
10502 else { 10762 else {
10503 return this._errorToken(); 10763 return this._errorToken();
10504 } 10764 }
10765 $throw(new FallThroughError("./tokenizer.g.dart", 179))
10505 10766
10506 case 91: 10767 case 91:
10507 10768
10508 if (this._maybeEatChar(93)) { 10769 if (this._maybeEatChar(93)) {
10509 if (this._maybeEatChar(61)) { 10770 if (this._maybeEatChar(61)) {
10510 return this._finishToken(57/*TokenKind.SETINDEX*/); 10771 return this._finishToken(57/*TokenKind.SETINDEX*/);
10511 } 10772 }
10512 else { 10773 else {
10513 return this._finishToken(56/*TokenKind.INDEX*/); 10774 return this._finishToken(56/*TokenKind.INDEX*/);
10514 } 10775 }
10515 } 10776 }
10516 else { 10777 else {
10517 return this._finishToken(4/*TokenKind.LBRACK*/); 10778 return this._finishToken(4/*TokenKind.LBRACK*/);
10518 } 10779 }
10780 $throw(new FallThroughError("./tokenizer.g.dart", 187))
10519 10781
10520 case 93: 10782 case 93:
10521 10783
10522 return this._finishToken(5/*TokenKind.RBRACK*/); 10784 return this._finishToken(5/*TokenKind.RBRACK*/);
10785 $throw(new FallThroughError("./tokenizer.g.dart", 197))
10523 10786
10524 case 94: 10787 case 94:
10525 10788
10526 if (this._maybeEatChar(61)) { 10789 if (this._maybeEatChar(61)) {
10527 return this._finishToken(22/*TokenKind.ASSIGN_XOR*/); 10790 return this._finishToken(22/*TokenKind.ASSIGN_XOR*/);
10528 } 10791 }
10529 else { 10792 else {
10530 return this._finishToken(37/*TokenKind.BIT_XOR*/); 10793 return this._finishToken(37/*TokenKind.BIT_XOR*/);
10531 } 10794 }
10795 $throw(new FallThroughError("./tokenizer.g.dart", 199))
10532 10796
10533 case 123: 10797 case 123:
10534 10798
10535 return this._finishOpenBrace(); 10799 return this._finishOpenBrace();
10800 $throw(new FallThroughError("./tokenizer.g.dart", 205))
10536 10801
10537 case 124: 10802 case 124:
10538 10803
10539 if (this._maybeEatChar(61)) { 10804 if (this._maybeEatChar(61)) {
10540 return this._finishToken(21/*TokenKind.ASSIGN_OR*/); 10805 return this._finishToken(21/*TokenKind.ASSIGN_OR*/);
10541 } 10806 }
10542 else if (this._maybeEatChar(124)) { 10807 else if (this._maybeEatChar(124)) {
10543 return this._finishToken(34/*TokenKind.OR*/); 10808 return this._finishToken(34/*TokenKind.OR*/);
10544 } 10809 }
10545 else { 10810 else {
10546 return this._finishToken(36/*TokenKind.BIT_OR*/); 10811 return this._finishToken(36/*TokenKind.BIT_OR*/);
10547 } 10812 }
10813 $throw(new FallThroughError("./tokenizer.g.dart", 207))
10548 10814
10549 case 125: 10815 case 125:
10550 10816
10551 return this._finishCloseBrace(); 10817 return this._finishCloseBrace();
10818 $throw(new FallThroughError("./tokenizer.g.dart", 215))
10552 10819
10553 case 126: 10820 case 126:
10554 10821
10555 if (this._maybeEatChar(47)) { 10822 if (this._maybeEatChar(47)) {
10556 if (this._maybeEatChar(61)) { 10823 if (this._maybeEatChar(61)) {
10557 return this._finishToken(31/*TokenKind.ASSIGN_TRUNCDIV*/); 10824 return this._finishToken(31/*TokenKind.ASSIGN_TRUNCDIV*/);
10558 } 10825 }
10559 else { 10826 else {
10560 return this._finishToken(46/*TokenKind.TRUNCDIV*/); 10827 return this._finishToken(46/*TokenKind.TRUNCDIV*/);
10561 } 10828 }
10562 } 10829 }
10563 else { 10830 else {
10564 return this._finishToken(18/*TokenKind.BIT_NOT*/); 10831 return this._finishToken(18/*TokenKind.BIT_NOT*/);
10565 } 10832 }
10833 $throw(new FallThroughError("./tokenizer.g.dart", 217))
10566 10834
10567 default: 10835 default:
10568 10836
10569 if (TokenizerHelpers.isIdentifierStart(ch)) { 10837 if (TokenizerHelpers.isIdentifierStart(ch)) {
10570 return this.finishIdentifier(); 10838 return this.finishIdentifier();
10571 } 10839 }
10572 else if (TokenizerHelpers.isDigit(ch)) { 10840 else if (TokenizerHelpers.isDigit(ch)) {
10573 return this.finishNumber(); 10841 return this.finishNumber();
10574 } 10842 }
10575 else { 10843 else {
10576 return this._errorToken(); 10844 return this._errorToken();
10577 } 10845 }
10578 10846
10579 } 10847 }
10580 } 10848 }
10581 Tokenizer.prototype.getIdentifierKind = function() { 10849 Tokenizer.prototype.getIdentifierKind = function() {
10582 var i0 = this._startIndex; 10850 var i0 = this._startIndex;
10583 switch (this._index - i0) { 10851 switch (this._lang_index - i0) {
10584 case 2: 10852 case 2:
10585 10853
10586 if (this._text.charCodeAt(i0) == 100) { 10854 if (this._text.charCodeAt(i0) == 100) {
10587 if (this._text.charCodeAt(i0 + 1) == 111) return 93/*TokenKind.DO*/; 10855 if (this._text.charCodeAt(i0 + 1) == 111) return 93/*TokenKind.DO*/;
10588 } 10856 }
10589 else if (this._text.charCodeAt(i0) == 105) { 10857 else if (this._text.charCodeAt(i0) == 105) {
10590 if (this._text.charCodeAt(i0 + 1) == 102) { 10858 if (this._text.charCodeAt(i0 + 1) == 102) {
10591 return 99/*TokenKind.IF*/; 10859 return 99/*TokenKind.IF*/;
10592 } 10860 }
10593 else if (this._text.charCodeAt(i0 + 1) == 110) { 10861 else if (this._text.charCodeAt(i0 + 1) == 110) {
10594 return 100/*TokenKind.IN*/; 10862 return 100/*TokenKind.IN*/;
10595 } 10863 }
10596 else if (this._text.charCodeAt(i0 + 1) == 115) { 10864 else if (this._text.charCodeAt(i0 + 1) == 115) {
10597 return 101/*TokenKind.IS*/; 10865 return 101/*TokenKind.IS*/;
10598 } 10866 }
10599 } 10867 }
10600 return 69/*TokenKind.IDENTIFIER*/; 10868 return 69/*TokenKind.IDENTIFIER*/;
10869 $throw(new FallThroughError("./tokenizer.g.dart", 253))
10601 10870
10602 case 3: 10871 case 3:
10603 10872
10604 if (this._text.charCodeAt(i0) == 102) { 10873 if (this._text.charCodeAt(i0) == 102) {
10605 if (this._text.charCodeAt(i0 + 1) == 111 && this._text.charCodeAt(i0 + 2 ) == 114) return 98/*TokenKind.FOR*/; 10874 if (this._text.charCodeAt(i0 + 1) == 111 && this._text.charCodeAt(i0 + 2 ) == 114) return 98/*TokenKind.FOR*/;
10606 } 10875 }
10607 else if (this._text.charCodeAt(i0) == 103) { 10876 else if (this._text.charCodeAt(i0) == 103) {
10608 if (this._text.charCodeAt(i0 + 1) == 101 && this._text.charCodeAt(i0 + 2 ) == 116) return 75/*TokenKind.GET*/; 10877 if (this._text.charCodeAt(i0 + 1) == 101 && this._text.charCodeAt(i0 + 2 ) == 116) return 75/*TokenKind.GET*/;
10609 } 10878 }
10610 else if (this._text.charCodeAt(i0) == 110) { 10879 else if (this._text.charCodeAt(i0) == 110) {
10611 if (this._text.charCodeAt(i0 + 1) == 101 && this._text.charCodeAt(i0 + 2 ) == 119) return 102/*TokenKind.NEW*/; 10880 if (this._text.charCodeAt(i0 + 1) == 101 && this._text.charCodeAt(i0 + 2 ) == 119) return 102/*TokenKind.NEW*/;
10612 } 10881 }
10613 else if (this._text.charCodeAt(i0) == 115) { 10882 else if (this._text.charCodeAt(i0) == 115) {
10614 if (this._text.charCodeAt(i0 + 1) == 101 && this._text.charCodeAt(i0 + 2 ) == 116) return 83/*TokenKind.SET*/; 10883 if (this._text.charCodeAt(i0 + 1) == 101 && this._text.charCodeAt(i0 + 2 ) == 116) return 83/*TokenKind.SET*/;
10615 } 10884 }
10616 else if (this._text.charCodeAt(i0) == 116) { 10885 else if (this._text.charCodeAt(i0) == 116) {
10617 if (this._text.charCodeAt(i0 + 1) == 114 && this._text.charCodeAt(i0 + 2 ) == 121) return 110/*TokenKind.TRY*/; 10886 if (this._text.charCodeAt(i0 + 1) == 114 && this._text.charCodeAt(i0 + 2 ) == 121) return 110/*TokenKind.TRY*/;
10618 } 10887 }
10619 else if (this._text.charCodeAt(i0) == 118) { 10888 else if (this._text.charCodeAt(i0) == 118) {
10620 if (this._text.charCodeAt(i0 + 1) == 97 && this._text.charCodeAt(i0 + 2) == 114) return 111/*TokenKind.VAR*/; 10889 if (this._text.charCodeAt(i0 + 1) == 97 && this._text.charCodeAt(i0 + 2) == 114) return 111/*TokenKind.VAR*/;
10621 } 10890 }
10622 return 69/*TokenKind.IDENTIFIER*/; 10891 return 69/*TokenKind.IDENTIFIER*/;
10892 $throw(new FallThroughError("./tokenizer.g.dart", 268))
10623 10893
10624 case 4: 10894 case 4:
10625 10895
10626 if (this._text.charCodeAt(i0) == 99) { 10896 if (this._text.charCodeAt(i0) == 99) {
10627 if (this._text.charCodeAt(i0 + 1) == 97 && this._text.charCodeAt(i0 + 2) == 115 && this._text.charCodeAt(i0 + 3) == 101) return 88/*TokenKind.CASE*/; 10897 if (this._text.charCodeAt(i0 + 1) == 97 && this._text.charCodeAt(i0 + 2) == 115 && this._text.charCodeAt(i0 + 3) == 101) return 88/*TokenKind.CASE*/;
10628 } 10898 }
10629 else if (this._text.charCodeAt(i0) == 101) { 10899 else if (this._text.charCodeAt(i0) == 101) {
10630 if (this._text.charCodeAt(i0 + 1) == 108 && this._text.charCodeAt(i0 + 2 ) == 115 && this._text.charCodeAt(i0 + 3) == 101) return 94/*TokenKind.ELSE*/; 10900 if (this._text.charCodeAt(i0 + 1) == 108 && this._text.charCodeAt(i0 + 2 ) == 115 && this._text.charCodeAt(i0 + 3) == 101) return 94/*TokenKind.ELSE*/;
10631 } 10901 }
10632 else if (this._text.charCodeAt(i0) == 110) { 10902 else if (this._text.charCodeAt(i0) == 110) {
10633 if (this._text.charCodeAt(i0 + 1) == 117 && this._text.charCodeAt(i0 + 2 ) == 108 && this._text.charCodeAt(i0 + 3) == 108) return 103/*TokenKind.NULL*/; 10903 if (this._text.charCodeAt(i0 + 1) == 117 && this._text.charCodeAt(i0 + 2 ) == 108 && this._text.charCodeAt(i0 + 3) == 108) return 103/*TokenKind.NULL*/;
10634 } 10904 }
10635 else if (this._text.charCodeAt(i0) == 116) { 10905 else if (this._text.charCodeAt(i0) == 116) {
10636 if (this._text.charCodeAt(i0 + 1) == 104) { 10906 if (this._text.charCodeAt(i0 + 1) == 104) {
10637 if (this._text.charCodeAt(i0 + 2) == 105 && this._text.charCodeAt(i0 + 3) == 115) return 107/*TokenKind.THIS*/; 10907 if (this._text.charCodeAt(i0 + 2) == 105 && this._text.charCodeAt(i0 + 3) == 115) return 107/*TokenKind.THIS*/;
10638 } 10908 }
10639 else if (this._text.charCodeAt(i0 + 1) == 114) { 10909 else if (this._text.charCodeAt(i0 + 1) == 114) {
10640 if (this._text.charCodeAt(i0 + 2) == 117 && this._text.charCodeAt(i0 + 3) == 101) return 109/*TokenKind.TRUE*/; 10910 if (this._text.charCodeAt(i0 + 2) == 117 && this._text.charCodeAt(i0 + 3) == 101) return 109/*TokenKind.TRUE*/;
10641 } 10911 }
10642 } 10912 }
10643 else if (this._text.charCodeAt(i0) == 118) { 10913 else if (this._text.charCodeAt(i0) == 118) {
10644 if (this._text.charCodeAt(i0 + 1) == 111 && this._text.charCodeAt(i0 + 2 ) == 105 && this._text.charCodeAt(i0 + 3) == 100) return 112/*TokenKind.VOID*/; 10914 if (this._text.charCodeAt(i0 + 1) == 111 && this._text.charCodeAt(i0 + 2 ) == 105 && this._text.charCodeAt(i0 + 3) == 100) return 112/*TokenKind.VOID*/;
10645 } 10915 }
10646 return 69/*TokenKind.IDENTIFIER*/; 10916 return 69/*TokenKind.IDENTIFIER*/;
10917 $throw(new FallThroughError("./tokenizer.g.dart", 285))
10647 10918
10648 case 5: 10919 case 5:
10649 10920
10650 if (this._text.charCodeAt(i0) == 98) { 10921 if (this._text.charCodeAt(i0) == 98) {
10651 if (this._text.charCodeAt(i0 + 1) == 114 && this._text.charCodeAt(i0 + 2 ) == 101 && this._text.charCodeAt(i0 + 3) == 97 && this._text.charCodeAt(i0 + 4) == 107) return 87/*TokenKind.BREAK*/; 10922 if (this._text.charCodeAt(i0 + 1) == 114 && this._text.charCodeAt(i0 + 2 ) == 101 && this._text.charCodeAt(i0 + 3) == 97 && this._text.charCodeAt(i0 + 4) == 107) return 87/*TokenKind.BREAK*/;
10652 } 10923 }
10653 else if (this._text.charCodeAt(i0) == 99) { 10924 else if (this._text.charCodeAt(i0) == 99) {
10654 if (this._text.charCodeAt(i0 + 1) == 97) { 10925 if (this._text.charCodeAt(i0 + 1) == 97) {
10655 if (this._text.charCodeAt(i0 + 2) == 116 && this._text.charCodeAt(i0 + 3) == 99 && this._text.charCodeAt(i0 + 4) == 104) return 89/*TokenKind.CATCH*/; 10926 if (this._text.charCodeAt(i0 + 2) == 116 && this._text.charCodeAt(i0 + 3) == 99 && this._text.charCodeAt(i0 + 4) == 104) return 89/*TokenKind.CATCH*/;
10656 } 10927 }
(...skipping 15 matching lines...) Expand all
10672 else if (this._text.charCodeAt(i0) == 115) { 10943 else if (this._text.charCodeAt(i0) == 115) {
10673 if (this._text.charCodeAt(i0 + 1) == 117 && this._text.charCodeAt(i0 + 2 ) == 112 && this._text.charCodeAt(i0 + 3) == 101 && this._text.charCodeAt(i0 + 4 ) == 114) return 105/*TokenKind.SUPER*/; 10944 if (this._text.charCodeAt(i0 + 1) == 117 && this._text.charCodeAt(i0 + 2 ) == 112 && this._text.charCodeAt(i0 + 3) == 101 && this._text.charCodeAt(i0 + 4 ) == 114) return 105/*TokenKind.SUPER*/;
10674 } 10945 }
10675 else if (this._text.charCodeAt(i0) == 116) { 10946 else if (this._text.charCodeAt(i0) == 116) {
10676 if (this._text.charCodeAt(i0 + 1) == 104 && this._text.charCodeAt(i0 + 2 ) == 114 && this._text.charCodeAt(i0 + 3) == 111 && this._text.charCodeAt(i0 + 4 ) == 119) return 108/*TokenKind.THROW*/; 10947 if (this._text.charCodeAt(i0 + 1) == 104 && this._text.charCodeAt(i0 + 2 ) == 114 && this._text.charCodeAt(i0 + 3) == 111 && this._text.charCodeAt(i0 + 4 ) == 119) return 108/*TokenKind.THROW*/;
10677 } 10948 }
10678 else if (this._text.charCodeAt(i0) == 119) { 10949 else if (this._text.charCodeAt(i0) == 119) {
10679 if (this._text.charCodeAt(i0 + 1) == 104 && this._text.charCodeAt(i0 + 2 ) == 105 && this._text.charCodeAt(i0 + 3) == 108 && this._text.charCodeAt(i0 + 4 ) == 101) return 113/*TokenKind.WHILE*/; 10950 if (this._text.charCodeAt(i0 + 1) == 104 && this._text.charCodeAt(i0 + 2 ) == 105 && this._text.charCodeAt(i0 + 3) == 108 && this._text.charCodeAt(i0 + 4 ) == 101) return 113/*TokenKind.WHILE*/;
10680 } 10951 }
10681 return 69/*TokenKind.IDENTIFIER*/; 10952 return 69/*TokenKind.IDENTIFIER*/;
10953 $throw(new FallThroughError("./tokenizer.g.dart", 310))
10682 10954
10683 case 6: 10955 case 6:
10684 10956
10685 if (this._text.charCodeAt(i0) == 97) { 10957 if (this._text.charCodeAt(i0) == 97) {
10686 if (this._text.charCodeAt(i0 + 1) == 115 && this._text.charCodeAt(i0 + 2 ) == 115 && this._text.charCodeAt(i0 + 3) == 101 && this._text.charCodeAt(i0 + 4 ) == 114 && this._text.charCodeAt(i0 + 5) == 116) return 71/*TokenKind.ASSERT*/; 10958 if (this._text.charCodeAt(i0 + 1) == 115 && this._text.charCodeAt(i0 + 2 ) == 115 && this._text.charCodeAt(i0 + 3) == 101 && this._text.charCodeAt(i0 + 4 ) == 114 && this._text.charCodeAt(i0 + 5) == 116) return 71/*TokenKind.ASSERT*/;
10687 } 10959 }
10688 else if (this._text.charCodeAt(i0) == 105) { 10960 else if (this._text.charCodeAt(i0) == 105) {
10689 if (this._text.charCodeAt(i0 + 1) == 109 && this._text.charCodeAt(i0 + 2 ) == 112 && this._text.charCodeAt(i0 + 3) == 111 && this._text.charCodeAt(i0 + 4 ) == 114 && this._text.charCodeAt(i0 + 5) == 116) return 77/*TokenKind.IMPORT*/; 10961 if (this._text.charCodeAt(i0 + 1) == 109 && this._text.charCodeAt(i0 + 2 ) == 112 && this._text.charCodeAt(i0 + 3) == 111 && this._text.charCodeAt(i0 + 4 ) == 114 && this._text.charCodeAt(i0 + 5) == 116) return 77/*TokenKind.IMPORT*/;
10690 } 10962 }
10691 else if (this._text.charCodeAt(i0) == 110) { 10963 else if (this._text.charCodeAt(i0) == 110) {
(...skipping 12 matching lines...) Expand all
10704 if (this._text.charCodeAt(i0 + 2) == 117 && this._text.charCodeAt(i0 + 3) == 114 && this._text.charCodeAt(i0 + 4) == 99 && this._text.charCodeAt(i0 + 5) == 101) return 84/*TokenKind.SOURCE*/; 10976 if (this._text.charCodeAt(i0 + 2) == 117 && this._text.charCodeAt(i0 + 3) == 114 && this._text.charCodeAt(i0 + 4) == 99 && this._text.charCodeAt(i0 + 5) == 101) return 84/*TokenKind.SOURCE*/;
10705 } 10977 }
10706 else if (this._text.charCodeAt(i0 + 1) == 116) { 10978 else if (this._text.charCodeAt(i0 + 1) == 116) {
10707 if (this._text.charCodeAt(i0 + 2) == 97 && this._text.charCodeAt(i0 + 3) == 116 && this._text.charCodeAt(i0 + 4) == 105 && this._text.charCodeAt(i0 + 5) == 99) return 85/*TokenKind.STATIC*/; 10979 if (this._text.charCodeAt(i0 + 2) == 97 && this._text.charCodeAt(i0 + 3) == 116 && this._text.charCodeAt(i0 + 4) == 105 && this._text.charCodeAt(i0 + 5) == 99) return 85/*TokenKind.STATIC*/;
10708 } 10980 }
10709 else if (this._text.charCodeAt(i0 + 1) == 119) { 10981 else if (this._text.charCodeAt(i0 + 1) == 119) {
10710 if (this._text.charCodeAt(i0 + 2) == 105 && this._text.charCodeAt(i0 + 3) == 116 && this._text.charCodeAt(i0 + 4) == 99 && this._text.charCodeAt(i0 + 5) == 104) return 106/*TokenKind.SWITCH*/; 10982 if (this._text.charCodeAt(i0 + 2) == 105 && this._text.charCodeAt(i0 + 3) == 116 && this._text.charCodeAt(i0 + 4) == 99 && this._text.charCodeAt(i0 + 5) == 104) return 106/*TokenKind.SWITCH*/;
10711 } 10983 }
10712 } 10984 }
10713 return 69/*TokenKind.IDENTIFIER*/; 10985 return 69/*TokenKind.IDENTIFIER*/;
10986 $throw(new FallThroughError("./tokenizer.g.dart", 333))
10714 10987
10715 case 7: 10988 case 7:
10716 10989
10717 if (this._text.charCodeAt(i0) == 100) { 10990 if (this._text.charCodeAt(i0) == 100) {
10718 if (this._text.charCodeAt(i0 + 1) == 101 && this._text.charCodeAt(i0 + 2 ) == 102 && this._text.charCodeAt(i0 + 3) == 97 && this._text.charCodeAt(i0 + 4) == 117 && this._text.charCodeAt(i0 + 5) == 108 && this._text.charCodeAt(i0 + 6) == 116) return 92/*TokenKind.DEFAULT*/; 10991 if (this._text.charCodeAt(i0 + 1) == 101 && this._text.charCodeAt(i0 + 2 ) == 102 && this._text.charCodeAt(i0 + 3) == 97 && this._text.charCodeAt(i0 + 4) == 117 && this._text.charCodeAt(i0 + 5) == 108 && this._text.charCodeAt(i0 + 6) == 116) return 92/*TokenKind.DEFAULT*/;
10719 } 10992 }
10720 else if (this._text.charCodeAt(i0) == 101) { 10993 else if (this._text.charCodeAt(i0) == 101) {
10721 if (this._text.charCodeAt(i0 + 1) == 120 && this._text.charCodeAt(i0 + 2 ) == 116 && this._text.charCodeAt(i0 + 3) == 101 && this._text.charCodeAt(i0 + 4 ) == 110 && this._text.charCodeAt(i0 + 5) == 100 && this._text.charCodeAt(i0 + 6 ) == 115) return 73/*TokenKind.EXTENDS*/; 10994 if (this._text.charCodeAt(i0 + 1) == 120 && this._text.charCodeAt(i0 + 2 ) == 116 && this._text.charCodeAt(i0 + 3) == 101 && this._text.charCodeAt(i0 + 4 ) == 110 && this._text.charCodeAt(i0 + 5) == 100 && this._text.charCodeAt(i0 + 6 ) == 115) return 73/*TokenKind.EXTENDS*/;
10722 } 10995 }
10723 else if (this._text.charCodeAt(i0) == 102) { 10996 else if (this._text.charCodeAt(i0) == 102) {
10724 if (this._text.charCodeAt(i0 + 1) == 97) { 10997 if (this._text.charCodeAt(i0 + 1) == 97) {
10725 if (this._text.charCodeAt(i0 + 2) == 99 && this._text.charCodeAt(i0 + 3) == 116 && this._text.charCodeAt(i0 + 4) == 111 && this._text.charCodeAt(i0 + 5) == 114 && this._text.charCodeAt(i0 + 6) == 121) return 74/*TokenKind.FACTORY* /; 10998 if (this._text.charCodeAt(i0 + 2) == 99 && this._text.charCodeAt(i0 + 3) == 116 && this._text.charCodeAt(i0 + 4) == 111 && this._text.charCodeAt(i0 + 5) == 114 && this._text.charCodeAt(i0 + 6) == 121) return 74/*TokenKind.FACTORY* /;
10726 } 10999 }
10727 else if (this._text.charCodeAt(i0 + 1) == 105) { 11000 else if (this._text.charCodeAt(i0 + 1) == 105) {
10728 if (this._text.charCodeAt(i0 + 2) == 110 && this._text.charCodeAt(i0 + 3) == 97 && this._text.charCodeAt(i0 + 4) == 108 && this._text.charCodeAt(i0 + 5) == 108 && this._text.charCodeAt(i0 + 6) == 121) return 97/*TokenKind.FINALLY* /; 11001 if (this._text.charCodeAt(i0 + 2) == 110 && this._text.charCodeAt(i0 + 3) == 97 && this._text.charCodeAt(i0 + 4) == 108 && this._text.charCodeAt(i0 + 5) == 108 && this._text.charCodeAt(i0 + 6) == 121) return 97/*TokenKind.FINALLY* /;
10729 } 11002 }
10730 } 11003 }
10731 else if (this._text.charCodeAt(i0) == 108) { 11004 else if (this._text.charCodeAt(i0) == 108) {
10732 if (this._text.charCodeAt(i0 + 1) == 105 && this._text.charCodeAt(i0 + 2 ) == 98 && this._text.charCodeAt(i0 + 3) == 114 && this._text.charCodeAt(i0 + 4) == 97 && this._text.charCodeAt(i0 + 5) == 114 && this._text.charCodeAt(i0 + 6) == 121) return 79/*TokenKind.LIBRARY*/; 11005 if (this._text.charCodeAt(i0 + 1) == 105 && this._text.charCodeAt(i0 + 2 ) == 98 && this._text.charCodeAt(i0 + 3) == 114 && this._text.charCodeAt(i0 + 4) == 97 && this._text.charCodeAt(i0 + 5) == 114 && this._text.charCodeAt(i0 + 6) == 121) return 79/*TokenKind.LIBRARY*/;
10733 } 11006 }
10734 else if (this._text.charCodeAt(i0) == 116) { 11007 else if (this._text.charCodeAt(i0) == 116) {
10735 if (this._text.charCodeAt(i0 + 1) == 121 && this._text.charCodeAt(i0 + 2 ) == 112 && this._text.charCodeAt(i0 + 3) == 101 && this._text.charCodeAt(i0 + 4 ) == 100 && this._text.charCodeAt(i0 + 5) == 101 && this._text.charCodeAt(i0 + 6 ) == 102) return 86/*TokenKind.TYPEDEF*/; 11008 if (this._text.charCodeAt(i0 + 1) == 121 && this._text.charCodeAt(i0 + 2 ) == 112 && this._text.charCodeAt(i0 + 3) == 101 && this._text.charCodeAt(i0 + 4 ) == 100 && this._text.charCodeAt(i0 + 5) == 101 && this._text.charCodeAt(i0 + 6 ) == 102) return 86/*TokenKind.TYPEDEF*/;
10736 } 11009 }
10737 return 69/*TokenKind.IDENTIFIER*/; 11010 return 69/*TokenKind.IDENTIFIER*/;
11011 $throw(new FallThroughError("./tokenizer.g.dart", 350))
10738 11012
10739 case 8: 11013 case 8:
10740 11014
10741 if (this._text.charCodeAt(i0) == 97) { 11015 if (this._text.charCodeAt(i0) == 97) {
10742 if (this._text.charCodeAt(i0 + 1) == 98 && this._text.charCodeAt(i0 + 2) == 115 && this._text.charCodeAt(i0 + 3) == 116 && this._text.charCodeAt(i0 + 4) == 114 && this._text.charCodeAt(i0 + 5) == 97 && this._text.charCodeAt(i0 + 6) == 99 && this._text.charCodeAt(i0 + 7) == 116) return 70/*TokenKind.ABSTRACT*/; 11016 if (this._text.charCodeAt(i0 + 1) == 98 && this._text.charCodeAt(i0 + 2) == 115 && this._text.charCodeAt(i0 + 3) == 116 && this._text.charCodeAt(i0 + 4) == 114 && this._text.charCodeAt(i0 + 5) == 97 && this._text.charCodeAt(i0 + 6) == 99 && this._text.charCodeAt(i0 + 7) == 116) return 70/*TokenKind.ABSTRACT*/;
10743 } 11017 }
10744 else if (this._text.charCodeAt(i0) == 99) { 11018 else if (this._text.charCodeAt(i0) == 99) {
10745 if (this._text.charCodeAt(i0 + 1) == 111 && this._text.charCodeAt(i0 + 2 ) == 110 && this._text.charCodeAt(i0 + 3) == 116 && this._text.charCodeAt(i0 + 4 ) == 105 && this._text.charCodeAt(i0 + 5) == 110 && this._text.charCodeAt(i0 + 6 ) == 117 && this._text.charCodeAt(i0 + 7) == 101) return 91/*TokenKind.CONTINUE* /; 11019 if (this._text.charCodeAt(i0 + 1) == 111 && this._text.charCodeAt(i0 + 2 ) == 110 && this._text.charCodeAt(i0 + 3) == 116 && this._text.charCodeAt(i0 + 4 ) == 105 && this._text.charCodeAt(i0 + 5) == 110 && this._text.charCodeAt(i0 + 6 ) == 117 && this._text.charCodeAt(i0 + 7) == 101) return 91/*TokenKind.CONTINUE* /;
10746 } 11020 }
10747 else if (this._text.charCodeAt(i0) == 111) { 11021 else if (this._text.charCodeAt(i0) == 111) {
10748 if (this._text.charCodeAt(i0 + 1) == 112 && this._text.charCodeAt(i0 + 2 ) == 101 && this._text.charCodeAt(i0 + 3) == 114 && this._text.charCodeAt(i0 + 4 ) == 97 && this._text.charCodeAt(i0 + 5) == 116 && this._text.charCodeAt(i0 + 6) == 111 && this._text.charCodeAt(i0 + 7) == 114) return 82/*TokenKind.OPERATOR*/ ; 11022 if (this._text.charCodeAt(i0 + 1) == 112 && this._text.charCodeAt(i0 + 2 ) == 101 && this._text.charCodeAt(i0 + 3) == 114 && this._text.charCodeAt(i0 + 4 ) == 97 && this._text.charCodeAt(i0 + 5) == 116 && this._text.charCodeAt(i0 + 6) == 111 && this._text.charCodeAt(i0 + 7) == 114) return 82/*TokenKind.OPERATOR*/ ;
10749 } 11023 }
10750 return 69/*TokenKind.IDENTIFIER*/; 11024 return 69/*TokenKind.IDENTIFIER*/;
11025 $throw(new FallThroughError("./tokenizer.g.dart", 359))
10751 11026
10752 case 9: 11027 case 9:
10753 11028
10754 if (this._text.charCodeAt(i0) == 105 && this._text.charCodeAt(i0 + 1) == 1 10 && this._text.charCodeAt(i0 + 2) == 116 && this._text.charCodeAt(i0 + 3) == 1 01 && this._text.charCodeAt(i0 + 4) == 114 && this._text.charCodeAt(i0 + 5) == 1 02 && this._text.charCodeAt(i0 + 6) == 97 && this._text.charCodeAt(i0 + 7) == 99 && this._text.charCodeAt(i0 + 8) == 101) return 78/*TokenKind.INTERFACE*/; 11029 if (this._text.charCodeAt(i0) == 105 && this._text.charCodeAt(i0 + 1) == 1 10 && this._text.charCodeAt(i0 + 2) == 116 && this._text.charCodeAt(i0 + 3) == 1 01 && this._text.charCodeAt(i0 + 4) == 114 && this._text.charCodeAt(i0 + 5) == 1 02 && this._text.charCodeAt(i0 + 6) == 97 && this._text.charCodeAt(i0 + 7) == 99 && this._text.charCodeAt(i0 + 8) == 101) return 78/*TokenKind.INTERFACE*/;
10755 return 69/*TokenKind.IDENTIFIER*/; 11030 return 69/*TokenKind.IDENTIFIER*/;
11031 $throw(new FallThroughError("./tokenizer.g.dart", 362))
10756 11032
10757 case 10: 11033 case 10:
10758 11034
10759 if (this._text.charCodeAt(i0) == 105 && this._text.charCodeAt(i0 + 1) == 1 09 && this._text.charCodeAt(i0 + 2) == 112 && this._text.charCodeAt(i0 + 3) == 1 08 && this._text.charCodeAt(i0 + 4) == 101 && this._text.charCodeAt(i0 + 5) == 1 09 && this._text.charCodeAt(i0 + 6) == 101 && this._text.charCodeAt(i0 + 7) == 1 10 && this._text.charCodeAt(i0 + 8) == 116 && this._text.charCodeAt(i0 + 9) == 1 15) return 76/*TokenKind.IMPLEMENTS*/; 11035 if (this._text.charCodeAt(i0) == 105 && this._text.charCodeAt(i0 + 1) == 1 09 && this._text.charCodeAt(i0 + 2) == 112 && this._text.charCodeAt(i0 + 3) == 1 08 && this._text.charCodeAt(i0 + 4) == 101 && this._text.charCodeAt(i0 + 5) == 1 09 && this._text.charCodeAt(i0 + 6) == 101 && this._text.charCodeAt(i0 + 7) == 1 10 && this._text.charCodeAt(i0 + 8) == 116 && this._text.charCodeAt(i0 + 9) == 1 15) return 76/*TokenKind.IMPLEMENTS*/;
10760 return 69/*TokenKind.IDENTIFIER*/; 11036 return 69/*TokenKind.IDENTIFIER*/;
11037 $throw(new FallThroughError("./tokenizer.g.dart", 365))
10761 11038
10762 default: 11039 default:
10763 11040
10764 return 69/*TokenKind.IDENTIFIER*/; 11041 return 69/*TokenKind.IDENTIFIER*/;
10765 11042
10766 } 11043 }
10767 } 11044 }
10768 // ********** Code for TokenizerHelpers ************** 11045 // ********** Code for TokenizerHelpers **************
10769 function TokenizerHelpers() {} 11046 function TokenizerHelpers() {}
10770 TokenizerHelpers.isIdentifierStart = function(c) { 11047 TokenizerHelpers.isIdentifierStart = function(c) {
(...skipping 11 matching lines...) Expand all
10782 TokenizerHelpers.isIdentifierPart = function(c) { 11059 TokenizerHelpers.isIdentifierPart = function(c) {
10783 return (TokenizerHelpers.isIdentifierStart(c) || TokenizerHelpers.isDigit(c)); 11060 return (TokenizerHelpers.isIdentifierStart(c) || TokenizerHelpers.isDigit(c));
10784 } 11061 }
10785 // ********** Code for TokenKind ************** 11062 // ********** Code for TokenKind **************
10786 function TokenKind() {} 11063 function TokenKind() {}
10787 TokenKind.kindToString = function(kind) { 11064 TokenKind.kindToString = function(kind) {
10788 switch (kind) { 11065 switch (kind) {
10789 case 1/*TokenKind.END_OF_FILE*/: 11066 case 1/*TokenKind.END_OF_FILE*/:
10790 11067
10791 return "end of file"; 11068 return "end of file";
11069 $throw(new FallThroughError("./token_kind.g.dart", 347))
10792 11070
10793 case 2/*TokenKind.LPAREN*/: 11071 case 2/*TokenKind.LPAREN*/:
10794 11072
10795 return "("; 11073 return "(";
11074 $throw(new FallThroughError("./token_kind.g.dart", 348))
10796 11075
10797 case 3/*TokenKind.RPAREN*/: 11076 case 3/*TokenKind.RPAREN*/:
10798 11077
10799 return ")"; 11078 return ")";
11079 $throw(new FallThroughError("./token_kind.g.dart", 349))
10800 11080
10801 case 4/*TokenKind.LBRACK*/: 11081 case 4/*TokenKind.LBRACK*/:
10802 11082
10803 return "["; 11083 return "[";
11084 $throw(new FallThroughError("./token_kind.g.dart", 350))
10804 11085
10805 case 5/*TokenKind.RBRACK*/: 11086 case 5/*TokenKind.RBRACK*/:
10806 11087
10807 return "]"; 11088 return "]";
11089 $throw(new FallThroughError("./token_kind.g.dart", 351))
10808 11090
10809 case 6/*TokenKind.LBRACE*/: 11091 case 6/*TokenKind.LBRACE*/:
10810 11092
10811 return "{"; 11093 return "{";
11094 $throw(new FallThroughError("./token_kind.g.dart", 352))
10812 11095
10813 case 7/*TokenKind.RBRACE*/: 11096 case 7/*TokenKind.RBRACE*/:
10814 11097
10815 return "}"; 11098 return "}";
11099 $throw(new FallThroughError("./token_kind.g.dart", 353))
10816 11100
10817 case 8/*TokenKind.COLON*/: 11101 case 8/*TokenKind.COLON*/:
10818 11102
10819 return ":"; 11103 return ":";
11104 $throw(new FallThroughError("./token_kind.g.dart", 354))
10820 11105
10821 case 9/*TokenKind.ARROW*/: 11106 case 9/*TokenKind.ARROW*/:
10822 11107
10823 return "=>"; 11108 return "=>";
11109 $throw(new FallThroughError("./token_kind.g.dart", 355))
10824 11110
10825 case 10/*TokenKind.SEMICOLON*/: 11111 case 10/*TokenKind.SEMICOLON*/:
10826 11112
10827 return ";"; 11113 return ";";
11114 $throw(new FallThroughError("./token_kind.g.dart", 356))
10828 11115
10829 case 11/*TokenKind.COMMA*/: 11116 case 11/*TokenKind.COMMA*/:
10830 11117
10831 return ","; 11118 return ",";
11119 $throw(new FallThroughError("./token_kind.g.dart", 357))
10832 11120
10833 case 12/*TokenKind.HASH*/: 11121 case 12/*TokenKind.HASH*/:
10834 11122
10835 return "#"; 11123 return "#";
11124 $throw(new FallThroughError("./token_kind.g.dart", 358))
10836 11125
10837 case 13/*TokenKind.HASHBANG*/: 11126 case 13/*TokenKind.HASHBANG*/:
10838 11127
10839 return "#!"; 11128 return "#!";
11129 $throw(new FallThroughError("./token_kind.g.dart", 359))
10840 11130
10841 case 14/*TokenKind.DOT*/: 11131 case 14/*TokenKind.DOT*/:
10842 11132
10843 return "."; 11133 return ".";
11134 $throw(new FallThroughError("./token_kind.g.dart", 360))
10844 11135
10845 case 15/*TokenKind.ELLIPSIS*/: 11136 case 15/*TokenKind.ELLIPSIS*/:
10846 11137
10847 return "..."; 11138 return "...";
11139 $throw(new FallThroughError("./token_kind.g.dart", 361))
10848 11140
10849 case 16/*TokenKind.INCR*/: 11141 case 16/*TokenKind.INCR*/:
10850 11142
10851 return "++"; 11143 return "++";
11144 $throw(new FallThroughError("./token_kind.g.dart", 362))
10852 11145
10853 case 17/*TokenKind.DECR*/: 11146 case 17/*TokenKind.DECR*/:
10854 11147
10855 return "--"; 11148 return "--";
11149 $throw(new FallThroughError("./token_kind.g.dart", 363))
10856 11150
10857 case 18/*TokenKind.BIT_NOT*/: 11151 case 18/*TokenKind.BIT_NOT*/:
10858 11152
10859 return "~"; 11153 return "~";
11154 $throw(new FallThroughError("./token_kind.g.dart", 364))
10860 11155
10861 case 19/*TokenKind.NOT*/: 11156 case 19/*TokenKind.NOT*/:
10862 11157
10863 return "!"; 11158 return "!";
11159 $throw(new FallThroughError("./token_kind.g.dart", 365))
10864 11160
10865 case 20/*TokenKind.ASSIGN*/: 11161 case 20/*TokenKind.ASSIGN*/:
10866 11162
10867 return "="; 11163 return "=";
11164 $throw(new FallThroughError("./token_kind.g.dart", 366))
10868 11165
10869 case 21/*TokenKind.ASSIGN_OR*/: 11166 case 21/*TokenKind.ASSIGN_OR*/:
10870 11167
10871 return "|="; 11168 return "|=";
11169 $throw(new FallThroughError("./token_kind.g.dart", 367))
10872 11170
10873 case 22/*TokenKind.ASSIGN_XOR*/: 11171 case 22/*TokenKind.ASSIGN_XOR*/:
10874 11172
10875 return "^="; 11173 return "^=";
11174 $throw(new FallThroughError("./token_kind.g.dart", 368))
10876 11175
10877 case 23/*TokenKind.ASSIGN_AND*/: 11176 case 23/*TokenKind.ASSIGN_AND*/:
10878 11177
10879 return "&="; 11178 return "&=";
11179 $throw(new FallThroughError("./token_kind.g.dart", 369))
10880 11180
10881 case 24/*TokenKind.ASSIGN_SHL*/: 11181 case 24/*TokenKind.ASSIGN_SHL*/:
10882 11182
10883 return "<<="; 11183 return "<<=";
11184 $throw(new FallThroughError("./token_kind.g.dart", 370))
10884 11185
10885 case 25/*TokenKind.ASSIGN_SAR*/: 11186 case 25/*TokenKind.ASSIGN_SAR*/:
10886 11187
10887 return ">>="; 11188 return ">>=";
11189 $throw(new FallThroughError("./token_kind.g.dart", 371))
10888 11190
10889 case 26/*TokenKind.ASSIGN_SHR*/: 11191 case 26/*TokenKind.ASSIGN_SHR*/:
10890 11192
10891 return ">>>="; 11193 return ">>>=";
11194 $throw(new FallThroughError("./token_kind.g.dart", 372))
10892 11195
10893 case 27/*TokenKind.ASSIGN_ADD*/: 11196 case 27/*TokenKind.ASSIGN_ADD*/:
10894 11197
10895 return "+="; 11198 return "+=";
11199 $throw(new FallThroughError("./token_kind.g.dart", 373))
10896 11200
10897 case 28/*TokenKind.ASSIGN_SUB*/: 11201 case 28/*TokenKind.ASSIGN_SUB*/:
10898 11202
10899 return "-="; 11203 return "-=";
11204 $throw(new FallThroughError("./token_kind.g.dart", 374))
10900 11205
10901 case 29/*TokenKind.ASSIGN_MUL*/: 11206 case 29/*TokenKind.ASSIGN_MUL*/:
10902 11207
10903 return "*="; 11208 return "*=";
11209 $throw(new FallThroughError("./token_kind.g.dart", 375))
10904 11210
10905 case 30/*TokenKind.ASSIGN_DIV*/: 11211 case 30/*TokenKind.ASSIGN_DIV*/:
10906 11212
10907 return "/="; 11213 return "/=";
11214 $throw(new FallThroughError("./token_kind.g.dart", 376))
10908 11215
10909 case 31/*TokenKind.ASSIGN_TRUNCDIV*/: 11216 case 31/*TokenKind.ASSIGN_TRUNCDIV*/:
10910 11217
10911 return "~/="; 11218 return "~/=";
11219 $throw(new FallThroughError("./token_kind.g.dart", 377))
10912 11220
10913 case 32/*TokenKind.ASSIGN_MOD*/: 11221 case 32/*TokenKind.ASSIGN_MOD*/:
10914 11222
10915 return "%="; 11223 return "%=";
11224 $throw(new FallThroughError("./token_kind.g.dart", 378))
10916 11225
10917 case 33/*TokenKind.CONDITIONAL*/: 11226 case 33/*TokenKind.CONDITIONAL*/:
10918 11227
10919 return "?"; 11228 return "?";
11229 $throw(new FallThroughError("./token_kind.g.dart", 379))
10920 11230
10921 case 34/*TokenKind.OR*/: 11231 case 34/*TokenKind.OR*/:
10922 11232
10923 return "||"; 11233 return "||";
11234 $throw(new FallThroughError("./token_kind.g.dart", 380))
10924 11235
10925 case 35/*TokenKind.AND*/: 11236 case 35/*TokenKind.AND*/:
10926 11237
10927 return "&&"; 11238 return "&&";
11239 $throw(new FallThroughError("./token_kind.g.dart", 381))
10928 11240
10929 case 36/*TokenKind.BIT_OR*/: 11241 case 36/*TokenKind.BIT_OR*/:
10930 11242
10931 return "|"; 11243 return "|";
11244 $throw(new FallThroughError("./token_kind.g.dart", 382))
10932 11245
10933 case 37/*TokenKind.BIT_XOR*/: 11246 case 37/*TokenKind.BIT_XOR*/:
10934 11247
10935 return "^"; 11248 return "^";
11249 $throw(new FallThroughError("./token_kind.g.dart", 383))
10936 11250
10937 case 38/*TokenKind.BIT_AND*/: 11251 case 38/*TokenKind.BIT_AND*/:
10938 11252
10939 return "&"; 11253 return "&";
11254 $throw(new FallThroughError("./token_kind.g.dart", 384))
10940 11255
10941 case 39/*TokenKind.SHL*/: 11256 case 39/*TokenKind.SHL*/:
10942 11257
10943 return "<<"; 11258 return "<<";
11259 $throw(new FallThroughError("./token_kind.g.dart", 385))
10944 11260
10945 case 40/*TokenKind.SAR*/: 11261 case 40/*TokenKind.SAR*/:
10946 11262
10947 return ">>"; 11263 return ">>";
11264 $throw(new FallThroughError("./token_kind.g.dart", 386))
10948 11265
10949 case 41/*TokenKind.SHR*/: 11266 case 41/*TokenKind.SHR*/:
10950 11267
10951 return ">>>"; 11268 return ">>>";
11269 $throw(new FallThroughError("./token_kind.g.dart", 387))
10952 11270
10953 case 42/*TokenKind.ADD*/: 11271 case 42/*TokenKind.ADD*/:
10954 11272
10955 return "+"; 11273 return "+";
11274 $throw(new FallThroughError("./token_kind.g.dart", 388))
10956 11275
10957 case 43/*TokenKind.SUB*/: 11276 case 43/*TokenKind.SUB*/:
10958 11277
10959 return "-"; 11278 return "-";
11279 $throw(new FallThroughError("./token_kind.g.dart", 389))
10960 11280
10961 case 44/*TokenKind.MUL*/: 11281 case 44/*TokenKind.MUL*/:
10962 11282
10963 return "*"; 11283 return "*";
11284 $throw(new FallThroughError("./token_kind.g.dart", 390))
10964 11285
10965 case 45/*TokenKind.DIV*/: 11286 case 45/*TokenKind.DIV*/:
10966 11287
10967 return "/"; 11288 return "/";
11289 $throw(new FallThroughError("./token_kind.g.dart", 391))
10968 11290
10969 case 46/*TokenKind.TRUNCDIV*/: 11291 case 46/*TokenKind.TRUNCDIV*/:
10970 11292
10971 return "~/"; 11293 return "~/";
11294 $throw(new FallThroughError("./token_kind.g.dart", 392))
10972 11295
10973 case 47/*TokenKind.MOD*/: 11296 case 47/*TokenKind.MOD*/:
10974 11297
10975 return "%"; 11298 return "%";
11299 $throw(new FallThroughError("./token_kind.g.dart", 393))
10976 11300
10977 case 48/*TokenKind.EQ*/: 11301 case 48/*TokenKind.EQ*/:
10978 11302
10979 return "=="; 11303 return "==";
11304 $throw(new FallThroughError("./token_kind.g.dart", 394))
10980 11305
10981 case 49/*TokenKind.NE*/: 11306 case 49/*TokenKind.NE*/:
10982 11307
10983 return "!="; 11308 return "!=";
11309 $throw(new FallThroughError("./token_kind.g.dart", 395))
10984 11310
10985 case 50/*TokenKind.EQ_STRICT*/: 11311 case 50/*TokenKind.EQ_STRICT*/:
10986 11312
10987 return "==="; 11313 return "===";
11314 $throw(new FallThroughError("./token_kind.g.dart", 396))
10988 11315
10989 case 51/*TokenKind.NE_STRICT*/: 11316 case 51/*TokenKind.NE_STRICT*/:
10990 11317
10991 return "!=="; 11318 return "!==";
11319 $throw(new FallThroughError("./token_kind.g.dart", 397))
10992 11320
10993 case 52/*TokenKind.LT*/: 11321 case 52/*TokenKind.LT*/:
10994 11322
10995 return "<"; 11323 return "<";
11324 $throw(new FallThroughError("./token_kind.g.dart", 398))
10996 11325
10997 case 53/*TokenKind.GT*/: 11326 case 53/*TokenKind.GT*/:
10998 11327
10999 return ">"; 11328 return ">";
11329 $throw(new FallThroughError("./token_kind.g.dart", 399))
11000 11330
11001 case 54/*TokenKind.LTE*/: 11331 case 54/*TokenKind.LTE*/:
11002 11332
11003 return "<="; 11333 return "<=";
11334 $throw(new FallThroughError("./token_kind.g.dart", 400))
11004 11335
11005 case 55/*TokenKind.GTE*/: 11336 case 55/*TokenKind.GTE*/:
11006 11337
11007 return ">="; 11338 return ">=";
11339 $throw(new FallThroughError("./token_kind.g.dart", 401))
11008 11340
11009 case 56/*TokenKind.INDEX*/: 11341 case 56/*TokenKind.INDEX*/:
11010 11342
11011 return "[]"; 11343 return "[]";
11344 $throw(new FallThroughError("./token_kind.g.dart", 402))
11012 11345
11013 case 57/*TokenKind.SETINDEX*/: 11346 case 57/*TokenKind.SETINDEX*/:
11014 11347
11015 return "[]="; 11348 return "[]=";
11349 $throw(new FallThroughError("./token_kind.g.dart", 403))
11016 11350
11017 case 58/*TokenKind.STRING*/: 11351 case 58/*TokenKind.STRING*/:
11018 11352
11019 return "string"; 11353 return "string";
11354 $throw(new FallThroughError("./token_kind.g.dart", 404))
11020 11355
11021 case 59/*TokenKind.STRING_PART*/: 11356 case 59/*TokenKind.STRING_PART*/:
11022 11357
11023 return "string part"; 11358 return "string part";
11359 $throw(new FallThroughError("./token_kind.g.dart", 405))
11024 11360
11025 case 60/*TokenKind.NUMBER*/: 11361 case 60/*TokenKind.NUMBER*/:
11026 11362
11027 return "number"; 11363 return "number";
11364 $throw(new FallThroughError("./token_kind.g.dart", 406))
11028 11365
11029 case 61/*TokenKind.HEX_NUMBER*/: 11366 case 61/*TokenKind.HEX_NUMBER*/:
11030 11367
11031 return "hex number"; 11368 return "hex number";
11369 $throw(new FallThroughError("./token_kind.g.dart", 407))
11032 11370
11033 case 62/*TokenKind.WHITESPACE*/: 11371 case 62/*TokenKind.WHITESPACE*/:
11034 11372
11035 return "whitespace"; 11373 return "whitespace";
11374 $throw(new FallThroughError("./token_kind.g.dart", 408))
11036 11375
11037 case 63/*TokenKind.COMMENT*/: 11376 case 63/*TokenKind.COMMENT*/:
11038 11377
11039 return "comment"; 11378 return "comment";
11379 $throw(new FallThroughError("./token_kind.g.dart", 409))
11040 11380
11041 case 64/*TokenKind.ERROR*/: 11381 case 64/*TokenKind.ERROR*/:
11042 11382
11043 return "error"; 11383 return "error";
11384 $throw(new FallThroughError("./token_kind.g.dart", 410))
11044 11385
11045 case 65/*TokenKind.INCOMPLETE_STRING*/: 11386 case 65/*TokenKind.INCOMPLETE_STRING*/:
11046 11387
11047 return "incomplete string"; 11388 return "incomplete string";
11389 $throw(new FallThroughError("./token_kind.g.dart", 411))
11048 11390
11049 case 66/*TokenKind.INCOMPLETE_COMMENT*/: 11391 case 66/*TokenKind.INCOMPLETE_COMMENT*/:
11050 11392
11051 return "incomplete comment"; 11393 return "incomplete comment";
11394 $throw(new FallThroughError("./token_kind.g.dart", 412))
11052 11395
11053 case 67/*TokenKind.INCOMPLETE_MULTILINE_STRING_DQ*/: 11396 case 67/*TokenKind.INCOMPLETE_MULTILINE_STRING_DQ*/:
11054 11397
11055 return "incomplete multiline string dq"; 11398 return "incomplete multiline string dq";
11399 $throw(new FallThroughError("./token_kind.g.dart", 413))
11056 11400
11057 case 68/*TokenKind.INCOMPLETE_MULTILINE_STRING_SQ*/: 11401 case 68/*TokenKind.INCOMPLETE_MULTILINE_STRING_SQ*/:
11058 11402
11059 return "incomplete multiline string sq"; 11403 return "incomplete multiline string sq";
11404 $throw(new FallThroughError("./token_kind.g.dart", 414))
11060 11405
11061 case 69/*TokenKind.IDENTIFIER*/: 11406 case 69/*TokenKind.IDENTIFIER*/:
11062 11407
11063 return "identifier"; 11408 return "identifier";
11409 $throw(new FallThroughError("./token_kind.g.dart", 415))
11064 11410
11065 case 70/*TokenKind.ABSTRACT*/: 11411 case 70/*TokenKind.ABSTRACT*/:
11066 11412
11067 return "pseudo-keyword 'abstract'"; 11413 return "pseudo-keyword 'abstract'";
11414 $throw(new FallThroughError("./token_kind.g.dart", 416))
11068 11415
11069 case 71/*TokenKind.ASSERT*/: 11416 case 71/*TokenKind.ASSERT*/:
11070 11417
11071 return "pseudo-keyword 'assert'"; 11418 return "pseudo-keyword 'assert'";
11419 $throw(new FallThroughError("./token_kind.g.dart", 417))
11072 11420
11073 case 72/*TokenKind.CLASS*/: 11421 case 72/*TokenKind.CLASS*/:
11074 11422
11075 return "pseudo-keyword 'class'"; 11423 return "pseudo-keyword 'class'";
11424 $throw(new FallThroughError("./token_kind.g.dart", 418))
11076 11425
11077 case 73/*TokenKind.EXTENDS*/: 11426 case 73/*TokenKind.EXTENDS*/:
11078 11427
11079 return "pseudo-keyword 'extends'"; 11428 return "pseudo-keyword 'extends'";
11429 $throw(new FallThroughError("./token_kind.g.dart", 419))
11080 11430
11081 case 74/*TokenKind.FACTORY*/: 11431 case 74/*TokenKind.FACTORY*/:
11082 11432
11083 return "pseudo-keyword 'factory'"; 11433 return "pseudo-keyword 'factory'";
11434 $throw(new FallThroughError("./token_kind.g.dart", 420))
11084 11435
11085 case 75/*TokenKind.GET*/: 11436 case 75/*TokenKind.GET*/:
11086 11437
11087 return "pseudo-keyword 'get'"; 11438 return "pseudo-keyword 'get'";
11439 $throw(new FallThroughError("./token_kind.g.dart", 421))
11088 11440
11089 case 76/*TokenKind.IMPLEMENTS*/: 11441 case 76/*TokenKind.IMPLEMENTS*/:
11090 11442
11091 return "pseudo-keyword 'implements'"; 11443 return "pseudo-keyword 'implements'";
11444 $throw(new FallThroughError("./token_kind.g.dart", 422))
11092 11445
11093 case 77/*TokenKind.IMPORT*/: 11446 case 77/*TokenKind.IMPORT*/:
11094 11447
11095 return "pseudo-keyword 'import'"; 11448 return "pseudo-keyword 'import'";
11449 $throw(new FallThroughError("./token_kind.g.dart", 423))
11096 11450
11097 case 78/*TokenKind.INTERFACE*/: 11451 case 78/*TokenKind.INTERFACE*/:
11098 11452
11099 return "pseudo-keyword 'interface'"; 11453 return "pseudo-keyword 'interface'";
11454 $throw(new FallThroughError("./token_kind.g.dart", 424))
11100 11455
11101 case 79/*TokenKind.LIBRARY*/: 11456 case 79/*TokenKind.LIBRARY*/:
11102 11457
11103 return "pseudo-keyword 'library'"; 11458 return "pseudo-keyword 'library'";
11459 $throw(new FallThroughError("./token_kind.g.dart", 425))
11104 11460
11105 case 80/*TokenKind.NATIVE*/: 11461 case 80/*TokenKind.NATIVE*/:
11106 11462
11107 return "pseudo-keyword 'native'"; 11463 return "pseudo-keyword 'native'";
11464 $throw(new FallThroughError("./token_kind.g.dart", 426))
11108 11465
11109 case 81/*TokenKind.NEGATE*/: 11466 case 81/*TokenKind.NEGATE*/:
11110 11467
11111 return "pseudo-keyword 'negate'"; 11468 return "pseudo-keyword 'negate'";
11469 $throw(new FallThroughError("./token_kind.g.dart", 427))
11112 11470
11113 case 82/*TokenKind.OPERATOR*/: 11471 case 82/*TokenKind.OPERATOR*/:
11114 11472
11115 return "pseudo-keyword 'operator'"; 11473 return "pseudo-keyword 'operator'";
11474 $throw(new FallThroughError("./token_kind.g.dart", 428))
11116 11475
11117 case 83/*TokenKind.SET*/: 11476 case 83/*TokenKind.SET*/:
11118 11477
11119 return "pseudo-keyword 'set'"; 11478 return "pseudo-keyword 'set'";
11479 $throw(new FallThroughError("./token_kind.g.dart", 429))
11120 11480
11121 case 84/*TokenKind.SOURCE*/: 11481 case 84/*TokenKind.SOURCE*/:
11122 11482
11123 return "pseudo-keyword 'source'"; 11483 return "pseudo-keyword 'source'";
11484 $throw(new FallThroughError("./token_kind.g.dart", 430))
11124 11485
11125 case 85/*TokenKind.STATIC*/: 11486 case 85/*TokenKind.STATIC*/:
11126 11487
11127 return "pseudo-keyword 'static'"; 11488 return "pseudo-keyword 'static'";
11489 $throw(new FallThroughError("./token_kind.g.dart", 431))
11128 11490
11129 case 86/*TokenKind.TYPEDEF*/: 11491 case 86/*TokenKind.TYPEDEF*/:
11130 11492
11131 return "pseudo-keyword 'typedef'"; 11493 return "pseudo-keyword 'typedef'";
11494 $throw(new FallThroughError("./token_kind.g.dart", 432))
11132 11495
11133 case 87/*TokenKind.BREAK*/: 11496 case 87/*TokenKind.BREAK*/:
11134 11497
11135 return "keyword 'break'"; 11498 return "keyword 'break'";
11499 $throw(new FallThroughError("./token_kind.g.dart", 433))
11136 11500
11137 case 88/*TokenKind.CASE*/: 11501 case 88/*TokenKind.CASE*/:
11138 11502
11139 return "keyword 'case'"; 11503 return "keyword 'case'";
11504 $throw(new FallThroughError("./token_kind.g.dart", 434))
11140 11505
11141 case 89/*TokenKind.CATCH*/: 11506 case 89/*TokenKind.CATCH*/:
11142 11507
11143 return "keyword 'catch'"; 11508 return "keyword 'catch'";
11509 $throw(new FallThroughError("./token_kind.g.dart", 435))
11144 11510
11145 case 90/*TokenKind.CONST*/: 11511 case 90/*TokenKind.CONST*/:
11146 11512
11147 return "keyword 'const'"; 11513 return "keyword 'const'";
11514 $throw(new FallThroughError("./token_kind.g.dart", 436))
11148 11515
11149 case 91/*TokenKind.CONTINUE*/: 11516 case 91/*TokenKind.CONTINUE*/:
11150 11517
11151 return "keyword 'continue'"; 11518 return "keyword 'continue'";
11519 $throw(new FallThroughError("./token_kind.g.dart", 437))
11152 11520
11153 case 92/*TokenKind.DEFAULT*/: 11521 case 92/*TokenKind.DEFAULT*/:
11154 11522
11155 return "keyword 'default'"; 11523 return "keyword 'default'";
11524 $throw(new FallThroughError("./token_kind.g.dart", 438))
11156 11525
11157 case 93/*TokenKind.DO*/: 11526 case 93/*TokenKind.DO*/:
11158 11527
11159 return "keyword 'do'"; 11528 return "keyword 'do'";
11529 $throw(new FallThroughError("./token_kind.g.dart", 439))
11160 11530
11161 case 94/*TokenKind.ELSE*/: 11531 case 94/*TokenKind.ELSE*/:
11162 11532
11163 return "keyword 'else'"; 11533 return "keyword 'else'";
11534 $throw(new FallThroughError("./token_kind.g.dart", 440))
11164 11535
11165 case 95/*TokenKind.FALSE*/: 11536 case 95/*TokenKind.FALSE*/:
11166 11537
11167 return "keyword 'false'"; 11538 return "keyword 'false'";
11539 $throw(new FallThroughError("./token_kind.g.dart", 441))
11168 11540
11169 case 96/*TokenKind.FINAL*/: 11541 case 96/*TokenKind.FINAL*/:
11170 11542
11171 return "keyword 'final'"; 11543 return "keyword 'final'";
11544 $throw(new FallThroughError("./token_kind.g.dart", 442))
11172 11545
11173 case 97/*TokenKind.FINALLY*/: 11546 case 97/*TokenKind.FINALLY*/:
11174 11547
11175 return "keyword 'finally'"; 11548 return "keyword 'finally'";
11549 $throw(new FallThroughError("./token_kind.g.dart", 443))
11176 11550
11177 case 98/*TokenKind.FOR*/: 11551 case 98/*TokenKind.FOR*/:
11178 11552
11179 return "keyword 'for'"; 11553 return "keyword 'for'";
11554 $throw(new FallThroughError("./token_kind.g.dart", 444))
11180 11555
11181 case 99/*TokenKind.IF*/: 11556 case 99/*TokenKind.IF*/:
11182 11557
11183 return "keyword 'if'"; 11558 return "keyword 'if'";
11559 $throw(new FallThroughError("./token_kind.g.dart", 445))
11184 11560
11185 case 100/*TokenKind.IN*/: 11561 case 100/*TokenKind.IN*/:
11186 11562
11187 return "keyword 'in'"; 11563 return "keyword 'in'";
11564 $throw(new FallThroughError("./token_kind.g.dart", 446))
11188 11565
11189 case 101/*TokenKind.IS*/: 11566 case 101/*TokenKind.IS*/:
11190 11567
11191 return "keyword 'is'"; 11568 return "keyword 'is'";
11569 $throw(new FallThroughError("./token_kind.g.dart", 447))
11192 11570
11193 case 102/*TokenKind.NEW*/: 11571 case 102/*TokenKind.NEW*/:
11194 11572
11195 return "keyword 'new'"; 11573 return "keyword 'new'";
11574 $throw(new FallThroughError("./token_kind.g.dart", 448))
11196 11575
11197 case 103/*TokenKind.NULL*/: 11576 case 103/*TokenKind.NULL*/:
11198 11577
11199 return "keyword 'null'"; 11578 return "keyword 'null'";
11579 $throw(new FallThroughError("./token_kind.g.dart", 449))
11200 11580
11201 case 104/*TokenKind.RETURN*/: 11581 case 104/*TokenKind.RETURN*/:
11202 11582
11203 return "keyword 'return'"; 11583 return "keyword 'return'";
11584 $throw(new FallThroughError("./token_kind.g.dart", 450))
11204 11585
11205 case 105/*TokenKind.SUPER*/: 11586 case 105/*TokenKind.SUPER*/:
11206 11587
11207 return "keyword 'super'"; 11588 return "keyword 'super'";
11589 $throw(new FallThroughError("./token_kind.g.dart", 451))
11208 11590
11209 case 106/*TokenKind.SWITCH*/: 11591 case 106/*TokenKind.SWITCH*/:
11210 11592
11211 return "keyword 'switch'"; 11593 return "keyword 'switch'";
11594 $throw(new FallThroughError("./token_kind.g.dart", 452))
11212 11595
11213 case 107/*TokenKind.THIS*/: 11596 case 107/*TokenKind.THIS*/:
11214 11597
11215 return "keyword 'this'"; 11598 return "keyword 'this'";
11599 $throw(new FallThroughError("./token_kind.g.dart", 453))
11216 11600
11217 case 108/*TokenKind.THROW*/: 11601 case 108/*TokenKind.THROW*/:
11218 11602
11219 return "keyword 'throw'"; 11603 return "keyword 'throw'";
11604 $throw(new FallThroughError("./token_kind.g.dart", 454))
11220 11605
11221 case 109/*TokenKind.TRUE*/: 11606 case 109/*TokenKind.TRUE*/:
11222 11607
11223 return "keyword 'true'"; 11608 return "keyword 'true'";
11609 $throw(new FallThroughError("./token_kind.g.dart", 455))
11224 11610
11225 case 110/*TokenKind.TRY*/: 11611 case 110/*TokenKind.TRY*/:
11226 11612
11227 return "keyword 'try'"; 11613 return "keyword 'try'";
11614 $throw(new FallThroughError("./token_kind.g.dart", 456))
11228 11615
11229 case 111/*TokenKind.VAR*/: 11616 case 111/*TokenKind.VAR*/:
11230 11617
11231 return "keyword 'var'"; 11618 return "keyword 'var'";
11619 $throw(new FallThroughError("./token_kind.g.dart", 457))
11232 11620
11233 case 112/*TokenKind.VOID*/: 11621 case 112/*TokenKind.VOID*/:
11234 11622
11235 return "keyword 'void'"; 11623 return "keyword 'void'";
11624 $throw(new FallThroughError("./token_kind.g.dart", 458))
11236 11625
11237 case 113/*TokenKind.WHILE*/: 11626 case 113/*TokenKind.WHILE*/:
11238 11627
11239 return "keyword 'while'"; 11628 return "keyword 'while'";
11629 $throw(new FallThroughError("./token_kind.g.dart", 459))
11240 11630
11241 default: 11631 default:
11242 11632
11243 return "TokenKind(" + kind.toString() + ")"; 11633 return "TokenKind(" + kind.toString() + ")";
11244 11634
11245 } 11635 }
11246 } 11636 }
11247 TokenKind.isIdentifier = function(kind) { 11637 TokenKind.isIdentifier = function(kind) {
11248 return kind >= 69/*TokenKind.IDENTIFIER*/ && kind < 87/*TokenKind.BREAK*/; 11638 return kind >= 69/*TokenKind.IDENTIFIER*/ && kind < 87/*TokenKind.BREAK*/;
11249 } 11639 }
11250 TokenKind.infixPrecedence = function(kind) { 11640 TokenKind.infixPrecedence = function(kind) {
11251 switch (kind) { 11641 switch (kind) {
11252 case 20/*TokenKind.ASSIGN*/: 11642 case 20/*TokenKind.ASSIGN*/:
11253 11643
11254 return 2; 11644 return 2;
11645 $throw(new FallThroughError("./token_kind.g.dart", 470))
11255 11646
11256 case 21/*TokenKind.ASSIGN_OR*/: 11647 case 21/*TokenKind.ASSIGN_OR*/:
11257 11648
11258 return 2; 11649 return 2;
11650 $throw(new FallThroughError("./token_kind.g.dart", 471))
11259 11651
11260 case 22/*TokenKind.ASSIGN_XOR*/: 11652 case 22/*TokenKind.ASSIGN_XOR*/:
11261 11653
11262 return 2; 11654 return 2;
11655 $throw(new FallThroughError("./token_kind.g.dart", 472))
11263 11656
11264 case 23/*TokenKind.ASSIGN_AND*/: 11657 case 23/*TokenKind.ASSIGN_AND*/:
11265 11658
11266 return 2; 11659 return 2;
11660 $throw(new FallThroughError("./token_kind.g.dart", 473))
11267 11661
11268 case 24/*TokenKind.ASSIGN_SHL*/: 11662 case 24/*TokenKind.ASSIGN_SHL*/:
11269 11663
11270 return 2; 11664 return 2;
11665 $throw(new FallThroughError("./token_kind.g.dart", 474))
11271 11666
11272 case 25/*TokenKind.ASSIGN_SAR*/: 11667 case 25/*TokenKind.ASSIGN_SAR*/:
11273 11668
11274 return 2; 11669 return 2;
11670 $throw(new FallThroughError("./token_kind.g.dart", 475))
11275 11671
11276 case 26/*TokenKind.ASSIGN_SHR*/: 11672 case 26/*TokenKind.ASSIGN_SHR*/:
11277 11673
11278 return 2; 11674 return 2;
11675 $throw(new FallThroughError("./token_kind.g.dart", 476))
11279 11676
11280 case 27/*TokenKind.ASSIGN_ADD*/: 11677 case 27/*TokenKind.ASSIGN_ADD*/:
11281 11678
11282 return 2; 11679 return 2;
11680 $throw(new FallThroughError("./token_kind.g.dart", 477))
11283 11681
11284 case 28/*TokenKind.ASSIGN_SUB*/: 11682 case 28/*TokenKind.ASSIGN_SUB*/:
11285 11683
11286 return 2; 11684 return 2;
11685 $throw(new FallThroughError("./token_kind.g.dart", 478))
11287 11686
11288 case 29/*TokenKind.ASSIGN_MUL*/: 11687 case 29/*TokenKind.ASSIGN_MUL*/:
11289 11688
11290 return 2; 11689 return 2;
11690 $throw(new FallThroughError("./token_kind.g.dart", 479))
11291 11691
11292 case 30/*TokenKind.ASSIGN_DIV*/: 11692 case 30/*TokenKind.ASSIGN_DIV*/:
11293 11693
11294 return 2; 11694 return 2;
11695 $throw(new FallThroughError("./token_kind.g.dart", 480))
11295 11696
11296 case 31/*TokenKind.ASSIGN_TRUNCDIV*/: 11697 case 31/*TokenKind.ASSIGN_TRUNCDIV*/:
11297 11698
11298 return 2; 11699 return 2;
11700 $throw(new FallThroughError("./token_kind.g.dart", 481))
11299 11701
11300 case 32/*TokenKind.ASSIGN_MOD*/: 11702 case 32/*TokenKind.ASSIGN_MOD*/:
11301 11703
11302 return 2; 11704 return 2;
11705 $throw(new FallThroughError("./token_kind.g.dart", 482))
11303 11706
11304 case 33/*TokenKind.CONDITIONAL*/: 11707 case 33/*TokenKind.CONDITIONAL*/:
11305 11708
11306 return 3; 11709 return 3;
11710 $throw(new FallThroughError("./token_kind.g.dart", 483))
11307 11711
11308 case 34/*TokenKind.OR*/: 11712 case 34/*TokenKind.OR*/:
11309 11713
11310 return 4; 11714 return 4;
11715 $throw(new FallThroughError("./token_kind.g.dart", 484))
11311 11716
11312 case 35/*TokenKind.AND*/: 11717 case 35/*TokenKind.AND*/:
11313 11718
11314 return 5; 11719 return 5;
11720 $throw(new FallThroughError("./token_kind.g.dart", 485))
11315 11721
11316 case 36/*TokenKind.BIT_OR*/: 11722 case 36/*TokenKind.BIT_OR*/:
11317 11723
11318 return 6; 11724 return 6;
11725 $throw(new FallThroughError("./token_kind.g.dart", 486))
11319 11726
11320 case 37/*TokenKind.BIT_XOR*/: 11727 case 37/*TokenKind.BIT_XOR*/:
11321 11728
11322 return 7; 11729 return 7;
11730 $throw(new FallThroughError("./token_kind.g.dart", 487))
11323 11731
11324 case 38/*TokenKind.BIT_AND*/: 11732 case 38/*TokenKind.BIT_AND*/:
11325 11733
11326 return 8; 11734 return 8;
11735 $throw(new FallThroughError("./token_kind.g.dart", 488))
11327 11736
11328 case 39/*TokenKind.SHL*/: 11737 case 39/*TokenKind.SHL*/:
11329 11738
11330 return 11; 11739 return 11;
11740 $throw(new FallThroughError("./token_kind.g.dart", 489))
11331 11741
11332 case 40/*TokenKind.SAR*/: 11742 case 40/*TokenKind.SAR*/:
11333 11743
11334 return 11; 11744 return 11;
11745 $throw(new FallThroughError("./token_kind.g.dart", 490))
11335 11746
11336 case 41/*TokenKind.SHR*/: 11747 case 41/*TokenKind.SHR*/:
11337 11748
11338 return 11; 11749 return 11;
11750 $throw(new FallThroughError("./token_kind.g.dart", 491))
11339 11751
11340 case 42/*TokenKind.ADD*/: 11752 case 42/*TokenKind.ADD*/:
11341 11753
11342 return 12; 11754 return 12;
11755 $throw(new FallThroughError("./token_kind.g.dart", 492))
11343 11756
11344 case 43/*TokenKind.SUB*/: 11757 case 43/*TokenKind.SUB*/:
11345 11758
11346 return 12; 11759 return 12;
11760 $throw(new FallThroughError("./token_kind.g.dart", 493))
11347 11761
11348 case 44/*TokenKind.MUL*/: 11762 case 44/*TokenKind.MUL*/:
11349 11763
11350 return 13; 11764 return 13;
11765 $throw(new FallThroughError("./token_kind.g.dart", 494))
11351 11766
11352 case 45/*TokenKind.DIV*/: 11767 case 45/*TokenKind.DIV*/:
11353 11768
11354 return 13; 11769 return 13;
11770 $throw(new FallThroughError("./token_kind.g.dart", 495))
11355 11771
11356 case 46/*TokenKind.TRUNCDIV*/: 11772 case 46/*TokenKind.TRUNCDIV*/:
11357 11773
11358 return 13; 11774 return 13;
11775 $throw(new FallThroughError("./token_kind.g.dart", 496))
11359 11776
11360 case 47/*TokenKind.MOD*/: 11777 case 47/*TokenKind.MOD*/:
11361 11778
11362 return 13; 11779 return 13;
11780 $throw(new FallThroughError("./token_kind.g.dart", 497))
11363 11781
11364 case 48/*TokenKind.EQ*/: 11782 case 48/*TokenKind.EQ*/:
11365 11783
11366 return 9; 11784 return 9;
11785 $throw(new FallThroughError("./token_kind.g.dart", 498))
11367 11786
11368 case 49/*TokenKind.NE*/: 11787 case 49/*TokenKind.NE*/:
11369 11788
11370 return 9; 11789 return 9;
11790 $throw(new FallThroughError("./token_kind.g.dart", 499))
11371 11791
11372 case 50/*TokenKind.EQ_STRICT*/: 11792 case 50/*TokenKind.EQ_STRICT*/:
11373 11793
11374 return 9; 11794 return 9;
11795 $throw(new FallThroughError("./token_kind.g.dart", 500))
11375 11796
11376 case 51/*TokenKind.NE_STRICT*/: 11797 case 51/*TokenKind.NE_STRICT*/:
11377 11798
11378 return 9; 11799 return 9;
11800 $throw(new FallThroughError("./token_kind.g.dart", 501))
11379 11801
11380 case 52/*TokenKind.LT*/: 11802 case 52/*TokenKind.LT*/:
11381 11803
11382 return 10; 11804 return 10;
11805 $throw(new FallThroughError("./token_kind.g.dart", 502))
11383 11806
11384 case 53/*TokenKind.GT*/: 11807 case 53/*TokenKind.GT*/:
11385 11808
11386 return 10; 11809 return 10;
11810 $throw(new FallThroughError("./token_kind.g.dart", 503))
11387 11811
11388 case 54/*TokenKind.LTE*/: 11812 case 54/*TokenKind.LTE*/:
11389 11813
11390 return 10; 11814 return 10;
11815 $throw(new FallThroughError("./token_kind.g.dart", 504))
11391 11816
11392 case 55/*TokenKind.GTE*/: 11817 case 55/*TokenKind.GTE*/:
11393 11818
11394 return 10; 11819 return 10;
11820 $throw(new FallThroughError("./token_kind.g.dart", 505))
11395 11821
11396 case 101/*TokenKind.IS*/: 11822 case 101/*TokenKind.IS*/:
11397 11823
11398 return 10; 11824 return 10;
11825 $throw(new FallThroughError("./token_kind.g.dart", 506))
11399 11826
11400 default: 11827 default:
11401 11828
11402 return -1; 11829 return -1.000000/*-1*/;
11403 11830
11404 } 11831 }
11405 } 11832 }
11406 TokenKind.rawOperatorFromMethod = function(name) { 11833 TokenKind.rawOperatorFromMethod = function(name) {
11407 switch (name) { 11834 switch (name) {
11408 case '\$bit_not': 11835 case '\$bit_not':
11409 11836
11410 return '~'; 11837 return '~';
11838 $throw(new FallThroughError("./token_kind.g.dart", 513))
11411 11839
11412 case '\$bit_or': 11840 case '\$bit_or':
11413 11841
11414 return '|'; 11842 return '|';
11843 $throw(new FallThroughError("./token_kind.g.dart", 514))
11415 11844
11416 case '\$bit_xor': 11845 case '\$bit_xor':
11417 11846
11418 return '^'; 11847 return '^';
11848 $throw(new FallThroughError("./token_kind.g.dart", 515))
11419 11849
11420 case '\$bit_and': 11850 case '\$bit_and':
11421 11851
11422 return '&'; 11852 return '&';
11853 $throw(new FallThroughError("./token_kind.g.dart", 516))
11423 11854
11424 case '\$shl': 11855 case '\$shl':
11425 11856
11426 return '<<'; 11857 return '<<';
11858 $throw(new FallThroughError("./token_kind.g.dart", 517))
11427 11859
11428 case '\$sar': 11860 case '\$sar':
11429 11861
11430 return '>>'; 11862 return '>>';
11863 $throw(new FallThroughError("./token_kind.g.dart", 518))
11431 11864
11432 case '\$shr': 11865 case '\$shr':
11433 11866
11434 return '>>>'; 11867 return '>>>';
11868 $throw(new FallThroughError("./token_kind.g.dart", 519))
11435 11869
11436 case '\$add': 11870 case '\$add':
11437 11871
11438 return '+'; 11872 return '+';
11873 $throw(new FallThroughError("./token_kind.g.dart", 520))
11439 11874
11440 case '\$sub': 11875 case '\$sub':
11441 11876
11442 return '-'; 11877 return '-';
11878 $throw(new FallThroughError("./token_kind.g.dart", 521))
11443 11879
11444 case '\$mul': 11880 case '\$mul':
11445 11881
11446 return '*'; 11882 return '*';
11883 $throw(new FallThroughError("./token_kind.g.dart", 522))
11447 11884
11448 case '\$div': 11885 case '\$div':
11449 11886
11450 return '/'; 11887 return '/';
11888 $throw(new FallThroughError("./token_kind.g.dart", 523))
11451 11889
11452 case '\$truncdiv': 11890 case '\$truncdiv':
11453 11891
11454 return '~/'; 11892 return '~/';
11893 $throw(new FallThroughError("./token_kind.g.dart", 524))
11455 11894
11456 case '\$mod': 11895 case '\$mod':
11457 11896
11458 return '%'; 11897 return '%';
11898 $throw(new FallThroughError("./token_kind.g.dart", 525))
11459 11899
11460 case '\$eq': 11900 case '\$eq':
11461 11901
11462 return '=='; 11902 return '==';
11903 $throw(new FallThroughError("./token_kind.g.dart", 526))
11463 11904
11464 case '\$lt': 11905 case '\$lt':
11465 11906
11466 return '<'; 11907 return '<';
11908 $throw(new FallThroughError("./token_kind.g.dart", 527))
11467 11909
11468 case '\$gt': 11910 case '\$gt':
11469 11911
11470 return '>'; 11912 return '>';
11913 $throw(new FallThroughError("./token_kind.g.dart", 528))
11471 11914
11472 case '\$lte': 11915 case '\$lte':
11473 11916
11474 return '<='; 11917 return '<=';
11918 $throw(new FallThroughError("./token_kind.g.dart", 529))
11475 11919
11476 case '\$gte': 11920 case '\$gte':
11477 11921
11478 return '>='; 11922 return '>=';
11923 $throw(new FallThroughError("./token_kind.g.dart", 530))
11479 11924
11480 case '\$index': 11925 case '\$index':
11481 11926
11482 return '[]'; 11927 return '[]';
11928 $throw(new FallThroughError("./token_kind.g.dart", 531))
11483 11929
11484 case '\$setindex': 11930 case '\$setindex':
11485 11931
11486 return '[]='; 11932 return '[]=';
11933 $throw(new FallThroughError("./token_kind.g.dart", 532))
11487 11934
11488 case '\$ne': 11935 case '\$ne':
11489 11936
11490 return '!='; 11937 return '!=';
11491 11938
11492 } 11939 }
11493 } 11940 }
11494 TokenKind.binaryMethodName = function(kind) { 11941 TokenKind.binaryMethodName = function(kind) {
11495 switch (kind) { 11942 switch (kind) {
11496 case 18/*TokenKind.BIT_NOT*/: 11943 case 18/*TokenKind.BIT_NOT*/:
11497 11944
11498 return '\$bit_not'; 11945 return '\$bit_not';
11946 $throw(new FallThroughError("./token_kind.g.dart", 539))
11499 11947
11500 case 36/*TokenKind.BIT_OR*/: 11948 case 36/*TokenKind.BIT_OR*/:
11501 11949
11502 return '\$bit_or'; 11950 return '\$bit_or';
11951 $throw(new FallThroughError("./token_kind.g.dart", 540))
11503 11952
11504 case 37/*TokenKind.BIT_XOR*/: 11953 case 37/*TokenKind.BIT_XOR*/:
11505 11954
11506 return '\$bit_xor'; 11955 return '\$bit_xor';
11956 $throw(new FallThroughError("./token_kind.g.dart", 541))
11507 11957
11508 case 38/*TokenKind.BIT_AND*/: 11958 case 38/*TokenKind.BIT_AND*/:
11509 11959
11510 return '\$bit_and'; 11960 return '\$bit_and';
11961 $throw(new FallThroughError("./token_kind.g.dart", 542))
11511 11962
11512 case 39/*TokenKind.SHL*/: 11963 case 39/*TokenKind.SHL*/:
11513 11964
11514 return '\$shl'; 11965 return '\$shl';
11966 $throw(new FallThroughError("./token_kind.g.dart", 543))
11515 11967
11516 case 40/*TokenKind.SAR*/: 11968 case 40/*TokenKind.SAR*/:
11517 11969
11518 return '\$sar'; 11970 return '\$sar';
11971 $throw(new FallThroughError("./token_kind.g.dart", 544))
11519 11972
11520 case 41/*TokenKind.SHR*/: 11973 case 41/*TokenKind.SHR*/:
11521 11974
11522 return '\$shr'; 11975 return '\$shr';
11976 $throw(new FallThroughError("./token_kind.g.dart", 545))
11523 11977
11524 case 42/*TokenKind.ADD*/: 11978 case 42/*TokenKind.ADD*/:
11525 11979
11526 return '\$add'; 11980 return '\$add';
11981 $throw(new FallThroughError("./token_kind.g.dart", 546))
11527 11982
11528 case 43/*TokenKind.SUB*/: 11983 case 43/*TokenKind.SUB*/:
11529 11984
11530 return '\$sub'; 11985 return '\$sub';
11986 $throw(new FallThroughError("./token_kind.g.dart", 547))
11531 11987
11532 case 44/*TokenKind.MUL*/: 11988 case 44/*TokenKind.MUL*/:
11533 11989
11534 return '\$mul'; 11990 return '\$mul';
11991 $throw(new FallThroughError("./token_kind.g.dart", 548))
11535 11992
11536 case 45/*TokenKind.DIV*/: 11993 case 45/*TokenKind.DIV*/:
11537 11994
11538 return '\$div'; 11995 return '\$div';
11996 $throw(new FallThroughError("./token_kind.g.dart", 549))
11539 11997
11540 case 46/*TokenKind.TRUNCDIV*/: 11998 case 46/*TokenKind.TRUNCDIV*/:
11541 11999
11542 return '\$truncdiv'; 12000 return '\$truncdiv';
12001 $throw(new FallThroughError("./token_kind.g.dart", 550))
11543 12002
11544 case 47/*TokenKind.MOD*/: 12003 case 47/*TokenKind.MOD*/:
11545 12004
11546 return '\$mod'; 12005 return '\$mod';
12006 $throw(new FallThroughError("./token_kind.g.dart", 551))
11547 12007
11548 case 48/*TokenKind.EQ*/: 12008 case 48/*TokenKind.EQ*/:
11549 12009
11550 return '\$eq'; 12010 return '\$eq';
12011 $throw(new FallThroughError("./token_kind.g.dart", 552))
11551 12012
11552 case 52/*TokenKind.LT*/: 12013 case 52/*TokenKind.LT*/:
11553 12014
11554 return '\$lt'; 12015 return '\$lt';
12016 $throw(new FallThroughError("./token_kind.g.dart", 553))
11555 12017
11556 case 53/*TokenKind.GT*/: 12018 case 53/*TokenKind.GT*/:
11557 12019
11558 return '\$gt'; 12020 return '\$gt';
12021 $throw(new FallThroughError("./token_kind.g.dart", 554))
11559 12022
11560 case 54/*TokenKind.LTE*/: 12023 case 54/*TokenKind.LTE*/:
11561 12024
11562 return '\$lte'; 12025 return '\$lte';
12026 $throw(new FallThroughError("./token_kind.g.dart", 555))
11563 12027
11564 case 55/*TokenKind.GTE*/: 12028 case 55/*TokenKind.GTE*/:
11565 12029
11566 return '\$gte'; 12030 return '\$gte';
12031 $throw(new FallThroughError("./token_kind.g.dart", 556))
11567 12032
11568 case 56/*TokenKind.INDEX*/: 12033 case 56/*TokenKind.INDEX*/:
11569 12034
11570 return '\$index'; 12035 return '\$index';
12036 $throw(new FallThroughError("./token_kind.g.dart", 557))
11571 12037
11572 case 57/*TokenKind.SETINDEX*/: 12038 case 57/*TokenKind.SETINDEX*/:
11573 12039
11574 return '\$setindex'; 12040 return '\$setindex';
11575 12041
11576 } 12042 }
11577 } 12043 }
11578 TokenKind.kindFromAssign = function(kind) { 12044 TokenKind.kindFromAssign = function(kind) {
11579 if (kind == 20/*TokenKind.ASSIGN*/) return 0; 12045 if (kind == 20/*TokenKind.ASSIGN*/) return 0;
11580 if (kind > 20/*TokenKind.ASSIGN*/ && kind <= 32/*TokenKind.ASSIGN_MOD*/) { 12046 if (kind > 20/*TokenKind.ASSIGN*/ && kind <= 32/*TokenKind.ASSIGN_MOD*/) {
11581 return kind + (15)/*(ADD - ASSIGN_ADD)*/; 12047 return kind + (15.000000)/*(ADD - ASSIGN_ADD)*/;
11582 } 12048 }
11583 return -1; 12049 return -1.000000/*-1*/;
11584 } 12050 }
11585 // ********** Code for lang_Parser ************** 12051 // ********** Code for Parser **************
11586 function lang_Parser(source, diet, startOffset) { 12052 function Parser(source, diet, startOffset) {
11587 this.source = source; 12053 this.source = source;
11588 this.diet = diet; 12054 this.diet = diet;
11589 // Initializers done 12055 // Initializers done
11590 this.tokenizer = new Tokenizer(this.source, true, startOffset); 12056 this.tokenizer = new Tokenizer(this.source, true, startOffset);
11591 this._peekToken = this.tokenizer.next(); 12057 this._peekToken = this.tokenizer.next();
11592 this._previousToken = null; 12058 this._previousToken = null;
11593 this._inInitializers = false; 12059 this._inInitializers = false;
11594 } 12060 }
11595 lang_Parser.prototype.isPrematureEndOfFile = function() { 12061 Parser.prototype.isPrematureEndOfFile = function() {
11596 if (this._maybeEat(1/*TokenKind.END_OF_FILE*/)) { 12062 if (this._maybeEat(1/*TokenKind.END_OF_FILE*/)) {
11597 this._lang_error('unexpected end of file', this._peekToken.get$span()); 12063 this._lang_error('unexpected end of file', this._peekToken.get$span());
11598 return true; 12064 return true;
11599 } 12065 }
11600 else { 12066 else {
11601 return false; 12067 return false;
11602 } 12068 }
11603 } 12069 }
11604 lang_Parser.prototype._peek = function() { 12070 Parser.prototype._peek = function() {
11605 return this._peekToken.kind; 12071 return this._peekToken.kind;
11606 } 12072 }
11607 lang_Parser.prototype._lang_next = function() { 12073 Parser.prototype._lang_next = function() {
11608 this._previousToken = this._peekToken; 12074 this._previousToken = this._peekToken;
11609 this._peekToken = this.tokenizer.next(); 12075 this._peekToken = this.tokenizer.next();
11610 return this._previousToken; 12076 return this._previousToken;
11611 } 12077 }
11612 lang_Parser.prototype._peekKind = function(kind) { 12078 Parser.prototype._peekKind = function(kind) {
11613 return this._peekToken.kind == kind; 12079 return this._peekToken.kind == kind;
11614 } 12080 }
11615 lang_Parser.prototype._peekIdentifier = function() { 12081 Parser.prototype._peekIdentifier = function() {
11616 return TokenKind.isIdentifier(this._peekToken.kind); 12082 return TokenKind.isIdentifier(this._peekToken.kind);
11617 } 12083 }
11618 lang_Parser.prototype._maybeEat = function(kind) { 12084 Parser.prototype._maybeEat = function(kind) {
11619 if (this._peekToken.kind == kind) { 12085 if (this._peekToken.kind == kind) {
11620 this._previousToken = this._peekToken; 12086 this._previousToken = this._peekToken;
11621 this._peekToken = this.tokenizer.next(); 12087 this._peekToken = this.tokenizer.next();
11622 return true; 12088 return true;
11623 } 12089 }
11624 else { 12090 else {
11625 return false; 12091 return false;
11626 } 12092 }
11627 } 12093 }
11628 lang_Parser.prototype._eat = function(kind) { 12094 Parser.prototype._eat = function(kind) {
11629 if (!this._maybeEat(kind)) { 12095 if (!this._maybeEat(kind)) {
11630 this._errorExpected(TokenKind.kindToString(kind)); 12096 this._errorExpected(TokenKind.kindToString(kind));
11631 } 12097 }
11632 } 12098 }
11633 lang_Parser.prototype._eatSemicolon = function() { 12099 Parser.prototype._eatSemicolon = function() {
11634 this._eat(10/*TokenKind.SEMICOLON*/); 12100 this._eat(10/*TokenKind.SEMICOLON*/);
11635 } 12101 }
11636 lang_Parser.prototype._errorExpected = function(expected) { 12102 Parser.prototype._errorExpected = function(expected) {
11637 var tok = this._lang_next(); 12103 var tok = this._lang_next();
11638 var message = ('expected ' + expected + ', but found ' + tok + ''); 12104 var message = ('expected ' + expected + ', but found ' + tok + '');
11639 this._lang_error(message, tok.get$span()); 12105 this._lang_error(message, tok.get$span());
11640 } 12106 }
11641 lang_Parser.prototype._lang_error = function(message, location) { 12107 Parser.prototype._lang_error = function(message, location) {
11642 if (location == null) { 12108 if (location == null) {
11643 location = this._peekToken.get$span(); 12109 location = this._peekToken.get$span();
11644 } 12110 }
11645 world.fatal(message, location); 12111 world.fatal(message, location);
11646 } 12112 }
11647 lang_Parser.prototype._skipBlock = function() { 12113 Parser.prototype._skipBlock = function() {
11648 var depth = 1; 12114 var depth = 1;
11649 this._eat(6/*TokenKind.LBRACE*/); 12115 this._eat(6/*TokenKind.LBRACE*/);
11650 while (true) { 12116 while (true) {
11651 var tok = this._lang_next(); 12117 var tok = this._lang_next();
11652 if (tok.kind == 6/*TokenKind.LBRACE*/) { 12118 if (tok.kind == 6/*TokenKind.LBRACE*/) {
11653 depth += 1; 12119 depth += 1;
11654 } 12120 }
11655 else if (tok.kind == 7/*TokenKind.RBRACE*/) { 12121 else if (tok.kind == 7/*TokenKind.RBRACE*/) {
11656 depth -= 1; 12122 depth -= 1;
11657 if (depth == 0) return; 12123 if (depth == 0) return;
11658 } 12124 }
11659 else if (tok.kind == 1/*TokenKind.END_OF_FILE*/) { 12125 else if (tok.kind == 1/*TokenKind.END_OF_FILE*/) {
11660 this._lang_error('unexpected end of file during diet parse', tok.get$span( )); 12126 this._lang_error('unexpected end of file during diet parse', tok.get$span( ));
11661 return; 12127 return;
11662 } 12128 }
11663 } 12129 }
11664 } 12130 }
11665 lang_Parser.prototype._makeSpan = function(start) { 12131 Parser.prototype._makeSpan = function(start) {
11666 return new SourceSpan(this.source, start, this._previousToken.end); 12132 return new SourceSpan(this.source, start, this._previousToken.end);
11667 } 12133 }
11668 lang_Parser.prototype.compilationUnit = function() { 12134 Parser.prototype.compilationUnit = function() {
11669 var ret = []; 12135 var ret = [];
11670 this._maybeEat(13/*TokenKind.HASHBANG*/); 12136 this._maybeEat(13/*TokenKind.HASHBANG*/);
11671 while (this._peekKind(12/*TokenKind.HASH*/)) { 12137 while (this._peekKind(12/*TokenKind.HASH*/)) {
11672 ret.add(this.directive()); 12138 ret.add(this.directive());
11673 } 12139 }
11674 while (!this._maybeEat(1/*TokenKind.END_OF_FILE*/)) { 12140 while (!this._maybeEat(1/*TokenKind.END_OF_FILE*/)) {
11675 ret.add(this.topLevelDefinition()); 12141 ret.add(this.topLevelDefinition());
11676 } 12142 }
11677 return ret; 12143 return ret;
11678 } 12144 }
11679 lang_Parser.prototype.directive = function() { 12145 Parser.prototype.directive = function() {
11680 var start = this._peekToken.start; 12146 var start = this._peekToken.start;
11681 this._eat(12/*TokenKind.HASH*/); 12147 this._eat(12/*TokenKind.HASH*/);
11682 var name = this.identifier(); 12148 var name = this.identifier();
11683 var args = this.arguments(); 12149 var args = this.arguments();
11684 this._eatSemicolon(); 12150 this._eatSemicolon();
11685 return new DirectiveDefinition(name, args, this._makeSpan(start)); 12151 return new DirectiveDefinition(name, args, this._makeSpan(start));
11686 } 12152 }
11687 lang_Parser.prototype.topLevelDefinition = function() { 12153 Parser.prototype.topLevelDefinition = function() {
11688 switch (this._peek()) { 12154 switch (this._peek()) {
11689 case 72/*TokenKind.CLASS*/: 12155 case 72/*TokenKind.CLASS*/:
11690 12156
11691 return this.classDefinition(72/*TokenKind.CLASS*/); 12157 return this.classDefinition(72/*TokenKind.CLASS*/);
12158 $throw(new FallThroughError("./parser.dart", 157))
11692 12159
11693 case 78/*TokenKind.INTERFACE*/: 12160 case 78/*TokenKind.INTERFACE*/:
11694 12161
11695 return this.classDefinition(78/*TokenKind.INTERFACE*/); 12162 return this.classDefinition(78/*TokenKind.INTERFACE*/);
12163 $throw(new FallThroughError("./parser.dart", 159))
11696 12164
11697 case 86/*TokenKind.TYPEDEF*/: 12165 case 86/*TokenKind.TYPEDEF*/:
11698 12166
11699 return this.functionTypeAlias(); 12167 return this.functionTypeAlias();
12168 $throw(new FallThroughError("./parser.dart", 161))
11700 12169
11701 default: 12170 default:
11702 12171
11703 return this.declaration(); 12172 return this.declaration();
11704 12173
11705 } 12174 }
11706 } 12175 }
11707 lang_Parser.prototype.classDefinition = function(kind) { 12176 Parser.prototype.classDefinition = function(kind) {
11708 var start = this._peekToken.start; 12177 var start = this._peekToken.start;
11709 this._eat(kind); 12178 this._eat(kind);
11710 var name = this.identifier(); 12179 var name = this.identifier();
11711 var typeParams = null; 12180 var typeParams = null;
11712 if (this._peekKind(52/*TokenKind.LT*/)) { 12181 if (this._peekKind(52/*TokenKind.LT*/)) {
11713 typeParams = this.typeParameters(); 12182 typeParams = this.typeParameters();
11714 } 12183 }
11715 var _extends = null; 12184 var _extends = null;
11716 if (this._maybeEat(73/*TokenKind.EXTENDS*/)) { 12185 if (this._maybeEat(73/*TokenKind.EXTENDS*/)) {
11717 _extends = this.typeList(); 12186 _extends = this.typeList();
(...skipping 15 matching lines...) Expand all
11733 while (!this._maybeEat(7/*TokenKind.RBRACE*/)) { 12202 while (!this._maybeEat(7/*TokenKind.RBRACE*/)) {
11734 if (this.isPrematureEndOfFile()) break; 12203 if (this.isPrematureEndOfFile()) break;
11735 body.add(this.declaration()); 12204 body.add(this.declaration());
11736 } 12205 }
11737 } 12206 }
11738 else { 12207 else {
11739 this._errorExpected('block starting with "{" or ";"'); 12208 this._errorExpected('block starting with "{" or ";"');
11740 } 12209 }
11741 return new TypeDefinition(kind == 72/*TokenKind.CLASS*/, name, typeParams, _ex tends, _implements, _native, _factory, body, this._makeSpan(start)); 12210 return new TypeDefinition(kind == 72/*TokenKind.CLASS*/, name, typeParams, _ex tends, _implements, _native, _factory, body, this._makeSpan(start));
11742 } 12211 }
11743 lang_Parser.prototype.functionTypeAlias = function() { 12212 Parser.prototype.functionTypeAlias = function() {
11744 var start = this._peekToken.start; 12213 var start = this._peekToken.start;
11745 this._eat(86/*TokenKind.TYPEDEF*/); 12214 this._eat(86/*TokenKind.TYPEDEF*/);
11746 var di = this.declaredIdentifier(false); 12215 var di = this.declaredIdentifier(false);
11747 var typeParams = null; 12216 var typeParams = null;
11748 if (this._peekKind(52/*TokenKind.LT*/)) { 12217 if (this._peekKind(52/*TokenKind.LT*/)) {
11749 typeParams = this.typeParameters(); 12218 typeParams = this.typeParameters();
11750 } 12219 }
11751 var formals = this.formalParameterList(); 12220 var formals = this.formalParameterList();
11752 this._eatSemicolon(); 12221 this._eatSemicolon();
11753 var func = new FunctionDefinition(null, di.type, di.get$name(), formals, null, null, this._makeSpan(start)); 12222 var func = new FunctionDefinition(null, di.type, di.get$name(), formals, null, null, this._makeSpan(start));
11754 return new FunctionTypeDefinition(func, typeParams, this._makeSpan(start)); 12223 return new FunctionTypeDefinition(func, typeParams, this._makeSpan(start));
11755 } 12224 }
11756 lang_Parser.prototype.initializers = function() { 12225 Parser.prototype.initializers = function() {
11757 this._inInitializers = true; 12226 this._inInitializers = true;
11758 var ret = []; 12227 var ret = [];
11759 do { 12228 do {
11760 ret.add(this.expression()); 12229 ret.add(this.expression());
11761 } 12230 }
11762 while (this._maybeEat(11/*TokenKind.COMMA*/)) 12231 while (this._maybeEat(11/*TokenKind.COMMA*/))
11763 this._inInitializers = false; 12232 this._inInitializers = false;
11764 return ret; 12233 return ret;
11765 } 12234 }
11766 lang_Parser.prototype.functionBody = function(inExpression) { 12235 Parser.prototype.functionBody = function(inExpression) {
11767 var start = this._peekToken.start; 12236 var start = this._peekToken.start;
11768 if (this._maybeEat(9/*TokenKind.ARROW*/)) { 12237 if (this._maybeEat(9/*TokenKind.ARROW*/)) {
11769 var expr = this.expression(); 12238 var expr = this.expression();
11770 if (!inExpression) { 12239 if (!inExpression) {
11771 this._eatSemicolon(); 12240 this._eatSemicolon();
11772 } 12241 }
11773 return new ReturnStatement(expr, this._makeSpan(start)); 12242 return new ReturnStatement(expr, this._makeSpan(start));
11774 } 12243 }
11775 else if (this._peekKind(6/*TokenKind.LBRACE*/)) { 12244 else if (this._peekKind(6/*TokenKind.LBRACE*/)) {
11776 if (this.diet) { 12245 if (this.diet) {
(...skipping 14 matching lines...) Expand all
11791 this._eatSemicolon(); 12260 this._eatSemicolon();
11792 return new NativeStatement(nativeBody, this._makeSpan(start)); 12261 return new NativeStatement(nativeBody, this._makeSpan(start));
11793 } 12262 }
11794 else { 12263 else {
11795 return this.functionBody(inExpression); 12264 return this.functionBody(inExpression);
11796 } 12265 }
11797 } 12266 }
11798 } 12267 }
11799 this._lang_error('Expected function body (neither { nor => found)'); 12268 this._lang_error('Expected function body (neither { nor => found)');
11800 } 12269 }
11801 lang_Parser.prototype.finishField = function(start, modifiers, type, name, value ) { 12270 Parser.prototype.finishField = function(start, modifiers, type, name, value) {
11802 var names = [name]; 12271 var names = [name];
11803 var values = [value]; 12272 var values = [value];
11804 while (this._maybeEat(11/*TokenKind.COMMA*/)) { 12273 while (this._maybeEat(11/*TokenKind.COMMA*/)) {
11805 names.add(this.identifier()); 12274 names.add(this.identifier());
11806 if (this._maybeEat(20/*TokenKind.ASSIGN*/)) { 12275 if (this._maybeEat(20/*TokenKind.ASSIGN*/)) {
11807 values.add(this.expression()); 12276 values.add(this.expression());
11808 } 12277 }
11809 else { 12278 else {
11810 values.add(null); 12279 values.add(null);
11811 } 12280 }
11812 } 12281 }
11813 this._eatSemicolon(); 12282 this._eatSemicolon();
11814 return new VariableDefinition(modifiers, type, names, values, this._makeSpan(s tart)); 12283 return new VariableDefinition(modifiers, type, names, values, this._makeSpan(s tart));
11815 } 12284 }
11816 lang_Parser.prototype.finishDefinition = function(start, modifiers, di) { 12285 Parser.prototype.finishDefinition = function(start, modifiers, di) {
11817 switch (this._peek()) { 12286 switch (this._peek()) {
11818 case 2/*TokenKind.LPAREN*/: 12287 case 2/*TokenKind.LPAREN*/:
11819 12288
11820 var formals = this.formalParameterList(); 12289 var formals = this.formalParameterList();
11821 var inits = null; 12290 var inits = null;
11822 if (this._maybeEat(8/*TokenKind.COLON*/)) { 12291 if (this._maybeEat(8/*TokenKind.COLON*/)) {
11823 inits = this.initializers(); 12292 inits = this.initializers();
11824 } 12293 }
11825 var body = this.functionBody(false); 12294 var body = this.functionBody(false);
11826 if (di.get$name() == null) { 12295 if (di.get$name() == null) {
11827 di.name = di.type.get$name(); 12296 di.name = di.type.get$name();
11828 } 12297 }
11829 return new FunctionDefinition(modifiers, di.type, di.get$name(), formals, inits, body, this._makeSpan(start)); 12298 return new FunctionDefinition(modifiers, di.type, di.get$name(), formals, inits, body, this._makeSpan(start));
12299 $throw(new FallThroughError("./parser.dart", 307))
11830 12300
11831 case 20/*TokenKind.ASSIGN*/: 12301 case 20/*TokenKind.ASSIGN*/:
11832 12302
11833 this._eat(20/*TokenKind.ASSIGN*/); 12303 this._eat(20/*TokenKind.ASSIGN*/);
11834 var value = this.expression(); 12304 var value = this.expression();
11835 return this.finishField(start, modifiers, di.type, di.get$name(), value); 12305 return this.finishField(start, modifiers, di.type, di.get$name(), value);
12306 $throw(new FallThroughError("./parser.dart", 313))
11836 12307
11837 case 11/*TokenKind.COMMA*/: 12308 case 11/*TokenKind.COMMA*/:
11838 case 10/*TokenKind.SEMICOLON*/: 12309 case 10/*TokenKind.SEMICOLON*/:
11839 12310
11840 return this.finishField(start, modifiers, di.type, di.get$name(), null); 12311 return this.finishField(start, modifiers, di.type, di.get$name(), null);
12312 $throw(new FallThroughError("./parser.dart", 317))
11841 12313
11842 default: 12314 default:
11843 12315
11844 this._errorExpected('declaration'); 12316 this._errorExpected('declaration');
11845 return null; 12317 return null;
11846 12318
11847 } 12319 }
11848 } 12320 }
11849 lang_Parser.prototype.declaration = function() { 12321 Parser.prototype.declaration = function() {
11850 var start = this._peekToken.start; 12322 var start = this._peekToken.start;
11851 if (this._peekKind(74/*TokenKind.FACTORY*/)) { 12323 if (this._peekKind(74/*TokenKind.FACTORY*/)) {
11852 return this.factoryConstructorDeclaration(); 12324 return this.factoryConstructorDeclaration();
11853 } 12325 }
11854 var modifiers = this._readModifiers(); 12326 var modifiers = this._readModifiers();
11855 return this.finishDefinition(start, modifiers, this.declaredIdentifier(true)); 12327 return this.finishDefinition(start, modifiers, this.declaredIdentifier(true));
11856 } 12328 }
11857 lang_Parser.prototype.factoryConstructorDeclaration = function() { 12329 Parser.prototype.factoryConstructorDeclaration = function() {
11858 var start = this._peekToken.start; 12330 var start = this._peekToken.start;
11859 var factoryToken = this._lang_next(); 12331 var factoryToken = this._lang_next();
11860 var names = [this.identifier()]; 12332 var names = [this.identifier()];
11861 while (this._maybeEat(14/*TokenKind.DOT*/)) { 12333 while (this._maybeEat(14/*TokenKind.DOT*/)) {
11862 names.add(this.identifier()); 12334 names.add(this.identifier());
11863 } 12335 }
11864 var typeParams = null; 12336 var typeParams = null;
11865 if (this._peekKind(52/*TokenKind.LT*/)) { 12337 if (this._peekKind(52/*TokenKind.LT*/)) {
11866 typeParams = this.typeParameters(); 12338 typeParams = this.typeParameters();
11867 } 12339 }
11868 var name = null; 12340 var name = null;
11869 var type = null; 12341 var type = null;
11870 if (this._maybeEat(14/*TokenKind.DOT*/)) { 12342 if (this._maybeEat(14/*TokenKind.DOT*/)) {
11871 name = this.identifier(); 12343 name = this.identifier();
11872 } 12344 }
11873 else if (typeParams == null) { 12345 else if (typeParams == null) {
11874 if (names.length > 1) { 12346 if (names.length > 1) {
11875 name = names.removeLast(); 12347 name = names.removeLast();
11876 } 12348 }
11877 else { 12349 else {
11878 name = new lang_Identifier('', names.$index(0).get$span()); 12350 name = new Identifier('', names.$index(0).get$span());
11879 } 12351 }
11880 } 12352 }
11881 else { 12353 else {
11882 name = new lang_Identifier('', names.$index(0).get$span()); 12354 name = new Identifier('', names.$index(0).get$span());
11883 } 12355 }
11884 if (names.length > 1) { 12356 if (names.length > 1) {
11885 this._lang_error('unsupported qualified name for factory', names.$index(0).g et$span()); 12357 this._lang_error('unsupported qualified name for factory', names.$index(0).g et$span());
11886 } 12358 }
11887 type = new NameTypeReference(false, names.$index(0), null, names.$index(0).get $span()); 12359 type = new NameTypeReference(false, names.$index(0), null, names.$index(0).get $span());
11888 var di = new DeclaredIdentifier(type, name, this._makeSpan(start)); 12360 var di = new DeclaredIdentifier(type, name, this._makeSpan(start));
11889 return this.finishDefinition(start, [factoryToken], di); 12361 return this.finishDefinition(start, [factoryToken], di);
11890 } 12362 }
11891 lang_Parser.prototype.statement = function() { 12363 Parser.prototype.statement = function() {
11892 switch (this._peek()) { 12364 switch (this._peek()) {
11893 case 87/*TokenKind.BREAK*/: 12365 case 87/*TokenKind.BREAK*/:
11894 12366
11895 return this.breakStatement(); 12367 return this.breakStatement();
12368 $throw(new FallThroughError("./parser.dart", 379))
11896 12369
11897 case 91/*TokenKind.CONTINUE*/: 12370 case 91/*TokenKind.CONTINUE*/:
11898 12371
11899 return this.continueStatement(); 12372 return this.continueStatement();
12373 $throw(new FallThroughError("./parser.dart", 381))
11900 12374
11901 case 104/*TokenKind.RETURN*/: 12375 case 104/*TokenKind.RETURN*/:
11902 12376
11903 return this.returnStatement(); 12377 return this.returnStatement();
12378 $throw(new FallThroughError("./parser.dart", 383))
11904 12379
11905 case 108/*TokenKind.THROW*/: 12380 case 108/*TokenKind.THROW*/:
11906 12381
11907 return this.throwStatement(); 12382 return this.throwStatement();
12383 $throw(new FallThroughError("./parser.dart", 385))
11908 12384
11909 case 71/*TokenKind.ASSERT*/: 12385 case 71/*TokenKind.ASSERT*/:
11910 12386
11911 return this.assertStatement(); 12387 return this.assertStatement();
12388 $throw(new FallThroughError("./parser.dart", 387))
11912 12389
11913 case 113/*TokenKind.WHILE*/: 12390 case 113/*TokenKind.WHILE*/:
11914 12391
11915 return this.whileStatement(); 12392 return this.whileStatement();
12393 $throw(new FallThroughError("./parser.dart", 390))
11916 12394
11917 case 93/*TokenKind.DO*/: 12395 case 93/*TokenKind.DO*/:
11918 12396
11919 return this.doStatement(); 12397 return this.doStatement();
12398 $throw(new FallThroughError("./parser.dart", 392))
11920 12399
11921 case 98/*TokenKind.FOR*/: 12400 case 98/*TokenKind.FOR*/:
11922 12401
11923 return this.forStatement(); 12402 return this.forStatement();
12403 $throw(new FallThroughError("./parser.dart", 394))
11924 12404
11925 case 99/*TokenKind.IF*/: 12405 case 99/*TokenKind.IF*/:
11926 12406
11927 return this.ifStatement(); 12407 return this.ifStatement();
12408 $throw(new FallThroughError("./parser.dart", 397))
11928 12409
11929 case 106/*TokenKind.SWITCH*/: 12410 case 106/*TokenKind.SWITCH*/:
11930 12411
11931 return this.switchStatement(); 12412 return this.switchStatement();
12413 $throw(new FallThroughError("./parser.dart", 399))
11932 12414
11933 case 110/*TokenKind.TRY*/: 12415 case 110/*TokenKind.TRY*/:
11934 12416
11935 return this.tryStatement(); 12417 return this.tryStatement();
12418 $throw(new FallThroughError("./parser.dart", 402))
11936 12419
11937 case 6/*TokenKind.LBRACE*/: 12420 case 6/*TokenKind.LBRACE*/:
11938 12421
11939 return this.block(); 12422 return this.block();
12423 $throw(new FallThroughError("./parser.dart", 405))
11940 12424
11941 case 10/*TokenKind.SEMICOLON*/: 12425 case 10/*TokenKind.SEMICOLON*/:
11942 12426
11943 return this.emptyStatement(); 12427 return this.emptyStatement();
12428 $throw(new FallThroughError("./parser.dart", 407))
11944 12429
11945 case 96/*TokenKind.FINAL*/: 12430 case 96/*TokenKind.FINAL*/:
11946 12431
11947 return this.declaration(); 12432 return this.declaration();
12433 $throw(new FallThroughError("./parser.dart", 410))
11948 12434
11949 case 111/*TokenKind.VAR*/: 12435 case 111/*TokenKind.VAR*/:
11950 12436
11951 return this.declaration(); 12437 return this.declaration();
12438 $throw(new FallThroughError("./parser.dart", 412))
11952 12439
11953 default: 12440 default:
11954 12441
11955 return this.finishExpressionAsStatement(this.expression()); 12442 return this.finishExpressionAsStatement(this.expression());
11956 12443
11957 } 12444 }
11958 } 12445 }
11959 lang_Parser.prototype.finishExpressionAsStatement = function(expr) { 12446 Parser.prototype.finishExpressionAsStatement = function(expr) {
11960 var start = expr.get$span().start; 12447 var start = expr.get$span().start;
11961 if (this._maybeEat(8/*TokenKind.COLON*/)) { 12448 if (this._maybeEat(8/*TokenKind.COLON*/)) {
11962 var label = this._makeLabel(expr); 12449 var label = this._makeLabel(expr);
11963 return new LabeledStatement(label, this.statement(), this._makeSpan(start)); 12450 return new LabeledStatement(label, this.statement(), this._makeSpan(start));
11964 } 12451 }
11965 if ((expr instanceof LambdaExpression)) { 12452 if ((expr instanceof LambdaExpression)) {
11966 if (!(expr.func.body instanceof BlockStatement)) { 12453 if (!(expr.func.body instanceof BlockStatement)) {
11967 this._eatSemicolon(); 12454 this._eatSemicolon();
11968 expr.func.span = this._makeSpan(start); 12455 expr.func.span = this._makeSpan(start);
11969 } 12456 }
(...skipping 16 matching lines...) Expand all
11986 var gt = this._finishTypeArguments(baseType, 0, typeArgs); 12473 var gt = this._finishTypeArguments(baseType, 0, typeArgs);
11987 var name = this.identifier(); 12474 var name = this.identifier();
11988 var value = null; 12475 var value = null;
11989 if (this._maybeEat(20/*TokenKind.ASSIGN*/)) { 12476 if (this._maybeEat(20/*TokenKind.ASSIGN*/)) {
11990 value = this.expression(); 12477 value = this.expression();
11991 } 12478 }
11992 return this.finishField(expr.get$span().start, null, gt, name, value); 12479 return this.finishField(expr.get$span().start, null, gt, name, value);
11993 } 12480 }
11994 else { 12481 else {
11995 this._eatSemicolon(); 12482 this._eatSemicolon();
11996 return new lang_ExpressionStatement(expr, this._makeSpan(expr.get$span().sta rt)); 12483 return new ExpressionStatement(expr, this._makeSpan(expr.get$span().start));
11997 } 12484 }
11998 } 12485 }
11999 lang_Parser.prototype.testCondition = function() { 12486 Parser.prototype.testCondition = function() {
12000 this._eat(2/*TokenKind.LPAREN*/); 12487 this._eat(2/*TokenKind.LPAREN*/);
12001 var ret = this.expression(); 12488 var ret = this.expression();
12002 this._eat(3/*TokenKind.RPAREN*/); 12489 this._eat(3/*TokenKind.RPAREN*/);
12003 return ret; 12490 return ret;
12004 } 12491 }
12005 lang_Parser.prototype.block = function() { 12492 Parser.prototype.block = function() {
12006 var start = this._peekToken.start; 12493 var start = this._peekToken.start;
12007 this._eat(6/*TokenKind.LBRACE*/); 12494 this._eat(6/*TokenKind.LBRACE*/);
12008 var stmts = []; 12495 var stmts = [];
12009 while (!this._maybeEat(7/*TokenKind.RBRACE*/)) { 12496 while (!this._maybeEat(7/*TokenKind.RBRACE*/)) {
12010 if (this.isPrematureEndOfFile()) break; 12497 if (this.isPrematureEndOfFile()) break;
12011 stmts.add(this.statement()); 12498 stmts.add(this.statement());
12012 } 12499 }
12013 return new BlockStatement(stmts, this._makeSpan(start)); 12500 return new BlockStatement(stmts, this._makeSpan(start));
12014 } 12501 }
12015 lang_Parser.prototype.emptyStatement = function() { 12502 Parser.prototype.emptyStatement = function() {
12016 var start = this._peekToken.start; 12503 var start = this._peekToken.start;
12017 this._eat(10/*TokenKind.SEMICOLON*/); 12504 this._eat(10/*TokenKind.SEMICOLON*/);
12018 return new EmptyStatement(this._makeSpan(start)); 12505 return new EmptyStatement(this._makeSpan(start));
12019 } 12506 }
12020 lang_Parser.prototype.ifStatement = function() { 12507 Parser.prototype.ifStatement = function() {
12021 var start = this._peekToken.start; 12508 var start = this._peekToken.start;
12022 this._eat(99/*TokenKind.IF*/); 12509 this._eat(99/*TokenKind.IF*/);
12023 var test = this.testCondition(); 12510 var test = this.testCondition();
12024 var trueBranch = this.statement(); 12511 var trueBranch = this.statement();
12025 var falseBranch = null; 12512 var falseBranch = null;
12026 if (this._maybeEat(94/*TokenKind.ELSE*/)) { 12513 if (this._maybeEat(94/*TokenKind.ELSE*/)) {
12027 falseBranch = this.statement(); 12514 falseBranch = this.statement();
12028 } 12515 }
12029 return new IfStatement(test, trueBranch, falseBranch, this._makeSpan(start)); 12516 return new IfStatement(test, trueBranch, falseBranch, this._makeSpan(start));
12030 } 12517 }
12031 lang_Parser.prototype.whileStatement = function() { 12518 Parser.prototype.whileStatement = function() {
12032 var start = this._peekToken.start; 12519 var start = this._peekToken.start;
12033 this._eat(113/*TokenKind.WHILE*/); 12520 this._eat(113/*TokenKind.WHILE*/);
12034 var test = this.testCondition(); 12521 var test = this.testCondition();
12035 var body = this.statement(); 12522 var body = this.statement();
12036 return new WhileStatement(test, body, this._makeSpan(start)); 12523 return new WhileStatement(test, body, this._makeSpan(start));
12037 } 12524 }
12038 lang_Parser.prototype.doStatement = function() { 12525 Parser.prototype.doStatement = function() {
12039 var start = this._peekToken.start; 12526 var start = this._peekToken.start;
12040 this._eat(93/*TokenKind.DO*/); 12527 this._eat(93/*TokenKind.DO*/);
12041 var body = this.statement(); 12528 var body = this.statement();
12042 this._eat(113/*TokenKind.WHILE*/); 12529 this._eat(113/*TokenKind.WHILE*/);
12043 var test = this.testCondition(); 12530 var test = this.testCondition();
12044 this._eatSemicolon(); 12531 this._eatSemicolon();
12045 return new DoStatement(body, test, this._makeSpan(start)); 12532 return new DoStatement(body, test, this._makeSpan(start));
12046 } 12533 }
12047 lang_Parser.prototype.forStatement = function() { 12534 Parser.prototype.forStatement = function() {
12048 var start = this._peekToken.start; 12535 var start = this._peekToken.start;
12049 this._eat(98/*TokenKind.FOR*/); 12536 this._eat(98/*TokenKind.FOR*/);
12050 this._eat(2/*TokenKind.LPAREN*/); 12537 this._eat(2/*TokenKind.LPAREN*/);
12051 var init = this.forInitializerStatement(start); 12538 var init = this.forInitializerStatement(start);
12052 if ((init instanceof ForInStatement)) { 12539 if ((init instanceof ForInStatement)) {
12053 return init; 12540 return init;
12054 } 12541 }
12055 var test = null; 12542 var test = null;
12056 if (!this._maybeEat(10/*TokenKind.SEMICOLON*/)) { 12543 if (!this._maybeEat(10/*TokenKind.SEMICOLON*/)) {
12057 test = this.expression(); 12544 test = this.expression();
12058 this._eatSemicolon(); 12545 this._eatSemicolon();
12059 } 12546 }
12060 var step = []; 12547 var step = [];
12061 if (!this._maybeEat(3/*TokenKind.RPAREN*/)) { 12548 if (!this._maybeEat(3/*TokenKind.RPAREN*/)) {
12062 step.add(this.expression()); 12549 step.add(this.expression());
12063 while (this._maybeEat(11/*TokenKind.COMMA*/)) { 12550 while (this._maybeEat(11/*TokenKind.COMMA*/)) {
12064 step.add(this.expression()); 12551 step.add(this.expression());
12065 } 12552 }
12066 this._eat(3/*TokenKind.RPAREN*/); 12553 this._eat(3/*TokenKind.RPAREN*/);
12067 } 12554 }
12068 var body = this.statement(); 12555 var body = this.statement();
12069 return new ForStatement(init, test, step, body, this._makeSpan(start)); 12556 return new ForStatement(init, test, step, body, this._makeSpan(start));
12070 } 12557 }
12071 lang_Parser.prototype.forInitializerStatement = function(start) { 12558 Parser.prototype.forInitializerStatement = function(start) {
12072 if (this._maybeEat(10/*TokenKind.SEMICOLON*/)) { 12559 if (this._maybeEat(10/*TokenKind.SEMICOLON*/)) {
12073 return null; 12560 return null;
12074 } 12561 }
12075 else { 12562 else {
12076 var init = this.expression(); 12563 var init = this.expression();
12077 if (this._peekKind(11/*TokenKind.COMMA*/) && this._isBin(init, 52/*TokenKind .LT*/)) { 12564 if (this._peekKind(11/*TokenKind.COMMA*/) && this._isBin(init, 52/*TokenKind .LT*/)) {
12078 this._eat(11/*TokenKind.COMMA*/); 12565 this._eat(11/*TokenKind.COMMA*/);
12079 var baseType = this._makeType(init.x); 12566 var baseType = this._makeType(init.x);
12080 var typeArgs = [this._makeType(init.y)]; 12567 var typeArgs = [this._makeType(init.y)];
12081 var gt = this._finishTypeArguments(baseType, 0, typeArgs); 12568 var gt = this._finishTypeArguments(baseType, 0, typeArgs);
12082 var name = this.identifier(); 12569 var name = this.identifier();
12083 init = new DeclaredIdentifier(gt, name, this._makeSpan(init.get$span().sta rt)); 12570 init = new DeclaredIdentifier(gt, name, this._makeSpan(init.get$span().sta rt));
12084 } 12571 }
12085 if (this._maybeEat(100/*TokenKind.IN*/)) { 12572 if (this._maybeEat(100/*TokenKind.IN*/)) {
12086 return this._finishForIn(start, this._makeDeclaredIdentifier(init)); 12573 return this._finishForIn(start, this._makeDeclaredIdentifier(init));
12087 } 12574 }
12088 else { 12575 else {
12089 return this.finishExpressionAsStatement(init); 12576 return this.finishExpressionAsStatement(init);
12090 } 12577 }
12091 } 12578 }
12092 } 12579 }
12093 lang_Parser.prototype._finishForIn = function(start, di) { 12580 Parser.prototype._finishForIn = function(start, di) {
12094 var expr = this.expression(); 12581 var expr = this.expression();
12095 this._eat(3/*TokenKind.RPAREN*/); 12582 this._eat(3/*TokenKind.RPAREN*/);
12096 var body = this.statement(); 12583 var body = this.statement();
12097 return new ForInStatement(di, expr, body, this._makeSpan(start)); 12584 return new ForInStatement(di, expr, body, this._makeSpan(start));
12098 } 12585 }
12099 lang_Parser.prototype.tryStatement = function() { 12586 Parser.prototype.tryStatement = function() {
12100 var start = this._peekToken.start; 12587 var start = this._peekToken.start;
12101 this._eat(110/*TokenKind.TRY*/); 12588 this._eat(110/*TokenKind.TRY*/);
12102 var body = this.block(); 12589 var body = this.block();
12103 var catches = []; 12590 var catches = [];
12104 while (this._peekKind(89/*TokenKind.CATCH*/)) { 12591 while (this._peekKind(89/*TokenKind.CATCH*/)) {
12105 catches.add(this.catchNode()); 12592 catches.add(this.catchNode());
12106 } 12593 }
12107 var finallyBlock = null; 12594 var finallyBlock = null;
12108 if (this._maybeEat(97/*TokenKind.FINALLY*/)) { 12595 if (this._maybeEat(97/*TokenKind.FINALLY*/)) {
12109 finallyBlock = this.block(); 12596 finallyBlock = this.block();
12110 } 12597 }
12111 return new TryStatement(body, catches, finallyBlock, this._makeSpan(start)); 12598 return new TryStatement(body, catches, finallyBlock, this._makeSpan(start));
12112 } 12599 }
12113 lang_Parser.prototype.catchNode = function() { 12600 Parser.prototype.catchNode = function() {
12114 var start = this._peekToken.start; 12601 var start = this._peekToken.start;
12115 this._eat(89/*TokenKind.CATCH*/); 12602 this._eat(89/*TokenKind.CATCH*/);
12116 this._eat(2/*TokenKind.LPAREN*/); 12603 this._eat(2/*TokenKind.LPAREN*/);
12117 var exc = this.declaredIdentifier(false); 12604 var exc = this.declaredIdentifier(false);
12118 var trace = null; 12605 var trace = null;
12119 if (this._maybeEat(11/*TokenKind.COMMA*/)) { 12606 if (this._maybeEat(11/*TokenKind.COMMA*/)) {
12120 trace = this.declaredIdentifier(false); 12607 trace = this.declaredIdentifier(false);
12121 } 12608 }
12122 this._eat(3/*TokenKind.RPAREN*/); 12609 this._eat(3/*TokenKind.RPAREN*/);
12123 var body = this.block(); 12610 var body = this.block();
12124 return new CatchNode(exc, trace, body, this._makeSpan(start)); 12611 return new CatchNode(exc, trace, body, this._makeSpan(start));
12125 } 12612 }
12126 lang_Parser.prototype.switchStatement = function() { 12613 Parser.prototype.switchStatement = function() {
12127 var start = this._peekToken.start; 12614 var start = this._peekToken.start;
12128 this._eat(106/*TokenKind.SWITCH*/); 12615 this._eat(106/*TokenKind.SWITCH*/);
12129 var test = this.testCondition(); 12616 var test = this.testCondition();
12130 var cases = []; 12617 var cases = [];
12131 this._eat(6/*TokenKind.LBRACE*/); 12618 this._eat(6/*TokenKind.LBRACE*/);
12132 while (!this._maybeEat(7/*TokenKind.RBRACE*/)) { 12619 while (!this._maybeEat(7/*TokenKind.RBRACE*/)) {
12133 cases.add(this.caseNode()); 12620 cases.add(this.caseNode());
12134 } 12621 }
12135 return new SwitchStatement(test, cases, this._makeSpan(start)); 12622 return new SwitchStatement(test, cases, this._makeSpan(start));
12136 } 12623 }
12137 lang_Parser.prototype._peekCaseEnd = function() { 12624 Parser.prototype._peekCaseEnd = function() {
12138 var kind = this._peek(); 12625 var kind = this._peek();
12139 return $eq(kind, 7/*TokenKind.RBRACE*/) || $eq(kind, 88/*TokenKind.CASE*/) || $eq(kind, 92/*TokenKind.DEFAULT*/); 12626 return $eq(kind, 7/*TokenKind.RBRACE*/) || $eq(kind, 88/*TokenKind.CASE*/) || $eq(kind, 92/*TokenKind.DEFAULT*/);
12140 } 12627 }
12141 lang_Parser.prototype.caseNode = function() { 12628 Parser.prototype.caseNode = function() {
12142 var start = this._peekToken.start; 12629 var start = this._peekToken.start;
12143 var label = null; 12630 var label = null;
12144 if (this._peekIdentifier()) { 12631 if (this._peekIdentifier()) {
12145 this._eat(8/*TokenKind.COLON*/); 12632 this._eat(8/*TokenKind.COLON*/);
12146 label = this.identifier(); 12633 label = this.identifier();
12147 } 12634 }
12148 var cases = []; 12635 var cases = [];
12149 while (true) { 12636 while (true) {
12150 if (this._maybeEat(88/*TokenKind.CASE*/)) { 12637 if (this._maybeEat(88/*TokenKind.CASE*/)) {
12151 cases.add(this.expression()); 12638 cases.add(this.expression());
(...skipping 10 matching lines...) Expand all
12162 if (cases.length == 0) { 12649 if (cases.length == 0) {
12163 this._lang_error('case or default'); 12650 this._lang_error('case or default');
12164 } 12651 }
12165 var stmts = []; 12652 var stmts = [];
12166 while (!this._peekCaseEnd()) { 12653 while (!this._peekCaseEnd()) {
12167 if (this.isPrematureEndOfFile()) break; 12654 if (this.isPrematureEndOfFile()) break;
12168 stmts.add(this.statement()); 12655 stmts.add(this.statement());
12169 } 12656 }
12170 return new CaseNode(label, cases, stmts, this._makeSpan(start)); 12657 return new CaseNode(label, cases, stmts, this._makeSpan(start));
12171 } 12658 }
12172 lang_Parser.prototype.returnStatement = function() { 12659 Parser.prototype.returnStatement = function() {
12173 var start = this._peekToken.start; 12660 var start = this._peekToken.start;
12174 this._eat(104/*TokenKind.RETURN*/); 12661 this._eat(104/*TokenKind.RETURN*/);
12175 var expr; 12662 var expr;
12176 if (this._maybeEat(10/*TokenKind.SEMICOLON*/)) { 12663 if (this._maybeEat(10/*TokenKind.SEMICOLON*/)) {
12177 expr = null; 12664 expr = null;
12178 } 12665 }
12179 else { 12666 else {
12180 expr = this.expression(); 12667 expr = this.expression();
12181 this._eatSemicolon(); 12668 this._eatSemicolon();
12182 } 12669 }
12183 return new ReturnStatement(expr, this._makeSpan(start)); 12670 return new ReturnStatement(expr, this._makeSpan(start));
12184 } 12671 }
12185 lang_Parser.prototype.throwStatement = function() { 12672 Parser.prototype.throwStatement = function() {
12186 var start = this._peekToken.start; 12673 var start = this._peekToken.start;
12187 this._eat(108/*TokenKind.THROW*/); 12674 this._eat(108/*TokenKind.THROW*/);
12188 var expr; 12675 var expr;
12189 if (this._maybeEat(10/*TokenKind.SEMICOLON*/)) { 12676 if (this._maybeEat(10/*TokenKind.SEMICOLON*/)) {
12190 expr = null; 12677 expr = null;
12191 } 12678 }
12192 else { 12679 else {
12193 expr = this.expression(); 12680 expr = this.expression();
12194 this._eatSemicolon(); 12681 this._eatSemicolon();
12195 } 12682 }
12196 return new ThrowStatement(expr, this._makeSpan(start)); 12683 return new ThrowStatement(expr, this._makeSpan(start));
12197 } 12684 }
12198 lang_Parser.prototype.assertStatement = function() { 12685 Parser.prototype.assertStatement = function() {
12199 var start = this._peekToken.start; 12686 var start = this._peekToken.start;
12200 this._eat(71/*TokenKind.ASSERT*/); 12687 this._eat(71/*TokenKind.ASSERT*/);
12201 this._eat(2/*TokenKind.LPAREN*/); 12688 this._eat(2/*TokenKind.LPAREN*/);
12202 var expr = this.expression(); 12689 var expr = this.expression();
12203 this._eat(3/*TokenKind.RPAREN*/); 12690 this._eat(3/*TokenKind.RPAREN*/);
12204 this._eatSemicolon(); 12691 this._eatSemicolon();
12205 return new AssertStatement(expr, this._makeSpan(start)); 12692 return new AssertStatement(expr, this._makeSpan(start));
12206 } 12693 }
12207 lang_Parser.prototype.breakStatement = function() { 12694 Parser.prototype.breakStatement = function() {
12208 var start = this._peekToken.start; 12695 var start = this._peekToken.start;
12209 this._eat(87/*TokenKind.BREAK*/); 12696 this._eat(87/*TokenKind.BREAK*/);
12210 var name = null; 12697 var name = null;
12211 if (this._peekIdentifier()) { 12698 if (this._peekIdentifier()) {
12212 name = this.identifier(); 12699 name = this.identifier();
12213 } 12700 }
12214 this._eatSemicolon(); 12701 this._eatSemicolon();
12215 return new BreakStatement(name, this._makeSpan(start)); 12702 return new BreakStatement(name, this._makeSpan(start));
12216 } 12703 }
12217 lang_Parser.prototype.continueStatement = function() { 12704 Parser.prototype.continueStatement = function() {
12218 var start = this._peekToken.start; 12705 var start = this._peekToken.start;
12219 this._eat(91/*TokenKind.CONTINUE*/); 12706 this._eat(91/*TokenKind.CONTINUE*/);
12220 var name = null; 12707 var name = null;
12221 if (this._peekIdentifier()) { 12708 if (this._peekIdentifier()) {
12222 name = this.identifier(); 12709 name = this.identifier();
12223 } 12710 }
12224 this._eatSemicolon(); 12711 this._eatSemicolon();
12225 return new ContinueStatement(name, this._makeSpan(start)); 12712 return new ContinueStatement(name, this._makeSpan(start));
12226 } 12713 }
12227 lang_Parser.prototype.expression = function() { 12714 Parser.prototype.expression = function() {
12228 return this.infixExpression(0); 12715 return this.infixExpression(0);
12229 } 12716 }
12230 lang_Parser.prototype._makeType = function(expr) { 12717 Parser.prototype._makeType = function(expr) {
12231 if ((expr instanceof VarExpression)) { 12718 if ((expr instanceof VarExpression)) {
12232 return new NameTypeReference(false, expr.get$name(), null, expr.get$span()); 12719 return new NameTypeReference(false, expr.get$name(), null, expr.get$span());
12233 } 12720 }
12234 else if ((expr instanceof DotExpression)) { 12721 else if ((expr instanceof DotExpression)) {
12235 var type = this._makeType(expr.self); 12722 var type = this._makeType(expr.self);
12236 if (type.names == null) { 12723 if (type.names == null) {
12237 type.names = [expr.get$name()]; 12724 type.names = [expr.get$name()];
12238 } 12725 }
12239 else { 12726 else {
12240 type.names.add(expr.get$name()); 12727 type.names.add(expr.get$name());
12241 } 12728 }
12242 type.span = expr.get$span(); 12729 type.span = expr.get$span();
12243 return type; 12730 return type;
12244 } 12731 }
12245 else { 12732 else {
12246 this._lang_error('expected type reference'); 12733 this._lang_error('expected type reference');
12247 return null; 12734 return null;
12248 } 12735 }
12249 } 12736 }
12250 lang_Parser.prototype.infixExpression = function(precedence) { 12737 Parser.prototype.infixExpression = function(precedence) {
12251 return this.finishInfixExpression(this.unaryExpression(), precedence); 12738 return this.finishInfixExpression(this.unaryExpression(), precedence);
12252 } 12739 }
12253 lang_Parser.prototype._finishDeclaredId = function(type) { 12740 Parser.prototype._finishDeclaredId = function(type) {
12254 var name = this.identifier(); 12741 var name = this.identifier();
12255 return this.finishPostfixExpression(new DeclaredIdentifier(type, name, this._m akeSpan(type.get$span().start))); 12742 return this.finishPostfixExpression(new DeclaredIdentifier(type, name, this._m akeSpan(type.get$span().start)));
12256 } 12743 }
12257 lang_Parser.prototype._fixAsType = function(x) { 12744 Parser.prototype._fixAsType = function(x) {
12258 if (this._maybeEat(53/*TokenKind.GT*/)) { 12745 if (this._maybeEat(53/*TokenKind.GT*/)) {
12259 var base = this._makeType(x.x); 12746 var base = this._makeType(x.x);
12260 var typeParam = this._makeType(x.y); 12747 var typeParam = this._makeType(x.y);
12261 var type = new GenericTypeReference(base, [typeParam], 0, this._makeSpan(x.s pan.start)); 12748 var type = new GenericTypeReference(base, [typeParam], 0, this._makeSpan(x.s pan.start));
12262 return this._finishDeclaredId(type); 12749 return this._finishDeclaredId(type);
12263 } 12750 }
12264 else { 12751 else {
12265 var base = this._makeType(x.x); 12752 var base = this._makeType(x.x);
12266 var paramBase = this._makeType(x.y); 12753 var paramBase = this._makeType(x.y);
12267 var firstParam = this.addTypeArguments(paramBase, 1); 12754 var firstParam = this.addTypeArguments(paramBase, 1);
12268 var type; 12755 var type;
12269 if (firstParam.depth <= 0) { 12756 if (firstParam.depth <= 0) {
12270 type = new GenericTypeReference(base, [firstParam], 0, this._makeSpan(x.sp an.start)); 12757 type = new GenericTypeReference(base, [firstParam], 0, this._makeSpan(x.sp an.start));
12271 } 12758 }
12272 else if (this._maybeEat(11/*TokenKind.COMMA*/)) { 12759 else if (this._maybeEat(11/*TokenKind.COMMA*/)) {
12273 type = this._finishTypeArguments(base, 0, [firstParam]); 12760 type = this._finishTypeArguments(base, 0, [firstParam]);
12274 } 12761 }
12275 else { 12762 else {
12276 this._eat(53/*TokenKind.GT*/); 12763 this._eat(53/*TokenKind.GT*/);
12277 type = new GenericTypeReference(base, [firstParam], 0, this._makeSpan(x.sp an.start)); 12764 type = new GenericTypeReference(base, [firstParam], 0, this._makeSpan(x.sp an.start));
12278 } 12765 }
12279 return this._finishDeclaredId(type); 12766 return this._finishDeclaredId(type);
12280 } 12767 }
12281 } 12768 }
12282 lang_Parser.prototype.finishInfixExpression = function(x, precedence) { 12769 Parser.prototype.finishInfixExpression = function(x, precedence) {
12283 while (true) { 12770 while (true) {
12284 var kind = this._peek(); 12771 var kind = this._peek();
12285 var prec = TokenKind.infixPrecedence(this._peek()); 12772 var prec = TokenKind.infixPrecedence(this._peek());
12286 if (prec >= precedence) { 12773 if (prec >= precedence) {
12287 if (kind == 52/*TokenKind.LT*/ || kind == 53/*TokenKind.GT*/) { 12774 if (kind == 52/*TokenKind.LT*/ || kind == 53/*TokenKind.GT*/) {
12288 if (this._isBin(x, 52/*TokenKind.LT*/)) { 12775 if (this._isBin(x, 52/*TokenKind.LT*/)) {
12289 return this._fixAsType(x); 12776 return this._fixAsType(x);
12290 } 12777 }
12291 } 12778 }
12292 var op = this._lang_next(); 12779 var op = this._lang_next();
(...skipping 12 matching lines...) Expand all
12305 else { 12792 else {
12306 x = new BinaryExpression(op, x, y, this._makeSpan(x.span.start)); 12793 x = new BinaryExpression(op, x, y, this._makeSpan(x.span.start));
12307 } 12794 }
12308 } 12795 }
12309 else { 12796 else {
12310 break; 12797 break;
12311 } 12798 }
12312 } 12799 }
12313 return x; 12800 return x;
12314 } 12801 }
12315 lang_Parser.prototype._isPrefixUnaryOperator = function(kind) { 12802 Parser.prototype._isPrefixUnaryOperator = function(kind) {
12316 switch (kind) { 12803 switch (kind) {
12317 case 42/*TokenKind.ADD*/: 12804 case 42/*TokenKind.ADD*/:
12318 case 43/*TokenKind.SUB*/: 12805 case 43/*TokenKind.SUB*/:
12319 case 19/*TokenKind.NOT*/: 12806 case 19/*TokenKind.NOT*/:
12320 case 18/*TokenKind.BIT_NOT*/: 12807 case 18/*TokenKind.BIT_NOT*/:
12321 case 16/*TokenKind.INCR*/: 12808 case 16/*TokenKind.INCR*/:
12322 case 17/*TokenKind.DECR*/: 12809 case 17/*TokenKind.DECR*/:
12323 12810
12324 return true; 12811 return true;
12812 $throw(new FallThroughError("./parser.dart", 835))
12325 12813
12326 default: 12814 default:
12327 12815
12328 return false; 12816 return false;
12329 12817
12330 } 12818 }
12331 } 12819 }
12332 lang_Parser.prototype.unaryExpression = function() { 12820 Parser.prototype.unaryExpression = function() {
12333 var start = this._peekToken.start; 12821 var start = this._peekToken.start;
12334 if (this._isPrefixUnaryOperator(this._peek())) { 12822 if (this._isPrefixUnaryOperator(this._peek())) {
12335 var tok = this._lang_next(); 12823 var tok = this._lang_next();
12336 var expr = this.unaryExpression(); 12824 var expr = this.unaryExpression();
12337 return new UnaryExpression(tok, expr, this._makeSpan(start)); 12825 return new UnaryExpression(tok, expr, this._makeSpan(start));
12338 } 12826 }
12339 return this.finishPostfixExpression(this.primary()); 12827 return this.finishPostfixExpression(this.primary());
12340 } 12828 }
12341 lang_Parser.prototype.argument = function() { 12829 Parser.prototype.argument = function() {
12342 var start = this._peekToken.start; 12830 var start = this._peekToken.start;
12343 var expr; 12831 var expr;
12344 var label = null; 12832 var label = null;
12345 if (this._maybeEat(15/*TokenKind.ELLIPSIS*/)) { 12833 if (this._maybeEat(15/*TokenKind.ELLIPSIS*/)) {
12346 label = new lang_Identifier('...', this._makeSpan(start)); 12834 label = new Identifier('...', this._makeSpan(start));
12347 } 12835 }
12348 expr = this.expression(); 12836 expr = this.expression();
12349 if (label == null && this._maybeEat(8/*TokenKind.COLON*/)) { 12837 if (label == null && this._maybeEat(8/*TokenKind.COLON*/)) {
12350 label = this._makeLabel(expr); 12838 label = this._makeLabel(expr);
12351 expr = this.expression(); 12839 expr = this.expression();
12352 } 12840 }
12353 return new ArgumentNode(label, expr, this._makeSpan(start)); 12841 return new ArgumentNode(label, expr, this._makeSpan(start));
12354 } 12842 }
12355 lang_Parser.prototype.arguments = function() { 12843 Parser.prototype.arguments = function() {
12356 var args = []; 12844 var args = [];
12357 this._eat(2/*TokenKind.LPAREN*/); 12845 this._eat(2/*TokenKind.LPAREN*/);
12358 if (!this._maybeEat(3/*TokenKind.RPAREN*/)) { 12846 if (!this._maybeEat(3/*TokenKind.RPAREN*/)) {
12359 do { 12847 do {
12360 args.add(this.argument()); 12848 args.add(this.argument());
12361 } 12849 }
12362 while (this._maybeEat(11/*TokenKind.COMMA*/)) 12850 while (this._maybeEat(11/*TokenKind.COMMA*/))
12363 this._eat(3/*TokenKind.RPAREN*/); 12851 this._eat(3/*TokenKind.RPAREN*/);
12364 } 12852 }
12365 return args; 12853 return args;
12366 } 12854 }
12367 lang_Parser.prototype.get$arguments = function() { 12855 Parser.prototype.get$arguments = function() {
12368 return lang_Parser.prototype.arguments.bind(this); 12856 return Parser.prototype.arguments.bind(this);
12369 } 12857 }
12370 lang_Parser.prototype.finishPostfixExpression = function(expr) { 12858 Parser.prototype.finishPostfixExpression = function(expr) {
12371 switch (this._peek()) { 12859 switch (this._peek()) {
12372 case 2/*TokenKind.LPAREN*/: 12860 case 2/*TokenKind.LPAREN*/:
12373 12861
12374 return this.finishPostfixExpression(new CallExpression(expr, this.argument s(), this._makeSpan(expr.get$span().start))); 12862 return this.finishPostfixExpression(new CallExpression(expr, this.argument s(), this._makeSpan(expr.get$span().start)));
12863 $throw(new FallThroughError("./parser.dart", 884))
12375 12864
12376 case 4/*TokenKind.LBRACK*/: 12865 case 4/*TokenKind.LBRACK*/:
12377 12866
12378 this._eat(4/*TokenKind.LBRACK*/); 12867 this._eat(4/*TokenKind.LBRACK*/);
12379 var index = this.expression(); 12868 var index = this.expression();
12380 this._eat(5/*TokenKind.RBRACK*/); 12869 this._eat(5/*TokenKind.RBRACK*/);
12381 return this.finishPostfixExpression(new IndexExpression(expr, index, this. _makeSpan(expr.get$span().start))); 12870 return this.finishPostfixExpression(new IndexExpression(expr, index, this. _makeSpan(expr.get$span().start)));
12871 $throw(new FallThroughError("./parser.dart", 890))
12382 12872
12383 case 14/*TokenKind.DOT*/: 12873 case 14/*TokenKind.DOT*/:
12384 12874
12385 this._eat(14/*TokenKind.DOT*/); 12875 this._eat(14/*TokenKind.DOT*/);
12386 var name = this.identifier(); 12876 var name = this.identifier();
12387 var ret = new DotExpression(expr, name, this._makeSpan(expr.get$span().sta rt)); 12877 var ret = new DotExpression(expr, name, this._makeSpan(expr.get$span().sta rt));
12388 return this.finishPostfixExpression(ret); 12878 return this.finishPostfixExpression(ret);
12879 $throw(new FallThroughError("./parser.dart", 896))
12389 12880
12390 case 16/*TokenKind.INCR*/: 12881 case 16/*TokenKind.INCR*/:
12391 case 17/*TokenKind.DECR*/: 12882 case 17/*TokenKind.DECR*/:
12392 12883
12393 var tok = this._lang_next(); 12884 var tok = this._lang_next();
12394 return new PostfixExpression(expr, tok, this._makeSpan(expr.get$span().sta rt)); 12885 return new PostfixExpression(expr, tok, this._makeSpan(expr.get$span().sta rt));
12886 $throw(new FallThroughError("./parser.dart", 901))
12395 12887
12396 case 9/*TokenKind.ARROW*/: 12888 case 9/*TokenKind.ARROW*/:
12397 case 6/*TokenKind.LBRACE*/: 12889 case 6/*TokenKind.LBRACE*/:
12398 12890
12399 if (this._inInitializers) return expr; 12891 if (this._inInitializers) return expr;
12400 var body = this.functionBody(true); 12892 var body = this.functionBody(true);
12401 return this._makeFunction(expr, body); 12893 return this._makeFunction(expr, body);
12894 $throw(new FallThroughError("./parser.dart", 909))
12402 12895
12403 default: 12896 default:
12404 12897
12405 if (this._peekIdentifier()) { 12898 if (this._peekIdentifier()) {
12406 return this.finishPostfixExpression(new DeclaredIdentifier(this._makeTyp e(expr), this.identifier(), this._makeSpan(expr.get$span().start))); 12899 return this.finishPostfixExpression(new DeclaredIdentifier(this._makeTyp e(expr), this.identifier(), this._makeSpan(expr.get$span().start)));
12407 } 12900 }
12408 else { 12901 else {
12409 return expr; 12902 return expr;
12410 } 12903 }
12411 12904
12412 } 12905 }
12413 } 12906 }
12414 lang_Parser.prototype._isBin = function(expr, kind) { 12907 Parser.prototype._isBin = function(expr, kind) {
12415 return (expr instanceof BinaryExpression) && expr.op.kind == kind; 12908 return (expr instanceof BinaryExpression) && expr.op.kind == kind;
12416 } 12909 }
12417 lang_Parser.prototype._boolTypeRef = function(span) { 12910 Parser.prototype._boolTypeRef = function(span) {
12418 return new TypeReference(span, world.boolType); 12911 return new TypeReference(span, world.boolType);
12419 } 12912 }
12420 lang_Parser.prototype._numTypeRef = function(span) { 12913 Parser.prototype._numTypeRef = function(span) {
12421 return new TypeReference(span, world.numType); 12914 return new TypeReference(span, world.numType);
12422 } 12915 }
12423 lang_Parser.prototype._stringTypeRef = function(span) { 12916 Parser.prototype._stringTypeRef = function(span) {
12424 return new TypeReference(span, world.stringType); 12917 return new TypeReference(span, world.stringType);
12425 } 12918 }
12426 lang_Parser.prototype.primary = function() { 12919 Parser.prototype.primary = function() {
12427 var start = this._peekToken.start; 12920 var start = this._peekToken.start;
12428 switch (this._peek()) { 12921 switch (this._peek()) {
12429 case 107/*TokenKind.THIS*/: 12922 case 107/*TokenKind.THIS*/:
12430 12923
12431 this._eat(107/*TokenKind.THIS*/); 12924 this._eat(107/*TokenKind.THIS*/);
12432 return new ThisExpression(this._makeSpan(start)); 12925 return new ThisExpression(this._makeSpan(start));
12926 $throw(new FallThroughError("./parser.dart", 944))
12433 12927
12434 case 105/*TokenKind.SUPER*/: 12928 case 105/*TokenKind.SUPER*/:
12435 12929
12436 this._eat(105/*TokenKind.SUPER*/); 12930 this._eat(105/*TokenKind.SUPER*/);
12437 return new SuperExpression(this._makeSpan(start)); 12931 return new SuperExpression(this._makeSpan(start));
12932 $throw(new FallThroughError("./parser.dart", 948))
12438 12933
12439 case 90/*TokenKind.CONST*/: 12934 case 90/*TokenKind.CONST*/:
12440 12935
12441 this._eat(90/*TokenKind.CONST*/); 12936 this._eat(90/*TokenKind.CONST*/);
12442 if (this._peekKind(4/*TokenKind.LBRACK*/) || this._peekKind(56/*TokenKind. INDEX*/)) { 12937 if (this._peekKind(4/*TokenKind.LBRACK*/) || this._peekKind(56/*TokenKind. INDEX*/)) {
12443 return this.finishListLiteral(start, true, null); 12938 return this.finishListLiteral(start, true, null);
12444 } 12939 }
12445 else if (this._peekKind(6/*TokenKind.LBRACE*/)) { 12940 else if (this._peekKind(6/*TokenKind.LBRACE*/)) {
12446 return this.finishMapLiteral(start, true, null); 12941 return this.finishMapLiteral(start, true, null);
12447 } 12942 }
12448 else if (this._peekKind(52/*TokenKind.LT*/)) { 12943 else if (this._peekKind(52/*TokenKind.LT*/)) {
12449 return this.finishTypedLiteral(start, true); 12944 return this.finishTypedLiteral(start, true);
12450 } 12945 }
12451 else { 12946 else {
12452 return this.finishNewExpression(start, true); 12947 return this.finishNewExpression(start, true);
12453 } 12948 }
12949 $throw(new FallThroughError("./parser.dart", 952))
12454 12950
12455 case 102/*TokenKind.NEW*/: 12951 case 102/*TokenKind.NEW*/:
12456 12952
12457 this._eat(102/*TokenKind.NEW*/); 12953 this._eat(102/*TokenKind.NEW*/);
12458 return this.finishNewExpression(start, false); 12954 return this.finishNewExpression(start, false);
12955 $throw(new FallThroughError("./parser.dart", 964))
12459 12956
12460 case 2/*TokenKind.LPAREN*/: 12957 case 2/*TokenKind.LPAREN*/:
12461 12958
12462 return this._parenOrLambda(); 12959 return this._parenOrLambda();
12960 $throw(new FallThroughError("./parser.dart", 967))
12463 12961
12464 case 4/*TokenKind.LBRACK*/: 12962 case 4/*TokenKind.LBRACK*/:
12465 case 56/*TokenKind.INDEX*/: 12963 case 56/*TokenKind.INDEX*/:
12466 12964
12467 return this.finishListLiteral(start, false, null); 12965 return this.finishListLiteral(start, false, null);
12966 $throw(new FallThroughError("./parser.dart", 971))
12468 12967
12469 case 6/*TokenKind.LBRACE*/: 12968 case 6/*TokenKind.LBRACE*/:
12470 12969
12471 return this.finishMapLiteral(start, false, null); 12970 return this.finishMapLiteral(start, false, null);
12971 $throw(new FallThroughError("./parser.dart", 973))
12472 12972
12473 case 103/*TokenKind.NULL*/: 12973 case 103/*TokenKind.NULL*/:
12474 12974
12475 this._eat(103/*TokenKind.NULL*/); 12975 this._eat(103/*TokenKind.NULL*/);
12476 return new NullExpression(this._makeSpan(start)); 12976 return new NullExpression(this._makeSpan(start));
12977 $throw(new FallThroughError("./parser.dart", 978))
12477 12978
12478 case 109/*TokenKind.TRUE*/: 12979 case 109/*TokenKind.TRUE*/:
12479 12980
12480 this._eat(109/*TokenKind.TRUE*/); 12981 this._eat(109/*TokenKind.TRUE*/);
12481 return new LiteralExpression(true, this._boolTypeRef(this._makeSpan(start) ), 'true', this._makeSpan(start)); 12982 return new LiteralExpression(true, this._boolTypeRef(this._makeSpan(start) ), 'true', this._makeSpan(start));
12983 $throw(new FallThroughError("./parser.dart", 983))
12482 12984
12483 case 95/*TokenKind.FALSE*/: 12985 case 95/*TokenKind.FALSE*/:
12484 12986
12485 this._eat(95/*TokenKind.FALSE*/); 12987 this._eat(95/*TokenKind.FALSE*/);
12486 return new LiteralExpression(false, this._boolTypeRef(this._makeSpan(start )), 'false', this._makeSpan(start)); 12988 return new LiteralExpression(false, this._boolTypeRef(this._makeSpan(start )), 'false', this._makeSpan(start));
12989 $throw(new FallThroughError("./parser.dart", 988))
12487 12990
12488 case 61/*TokenKind.HEX_NUMBER*/: 12991 case 61/*TokenKind.HEX_NUMBER*/:
12489 12992
12490 var t = this._lang_next(); 12993 var t = this._lang_next();
12491 return new LiteralExpression(lang_Parser.parseHex(t.get$text().substring(2 )), this._numTypeRef(this._makeSpan(start)), t.get$text(), this._makeSpan(start) ); 12994 return new LiteralExpression(Parser.parseHex(t.get$text().substring(2)), t his._numTypeRef(this._makeSpan(start)), t.get$text(), this._makeSpan(start));
12995 $throw(new FallThroughError("./parser.dart", 994))
12492 12996
12493 case 60/*TokenKind.NUMBER*/: 12997 case 60/*TokenKind.NUMBER*/:
12494 12998
12495 var t = this._lang_next(); 12999 var t = this._lang_next();
12496 return new LiteralExpression(Math.parseDouble(t.get$text()), this._numType Ref(this._makeSpan(start)), t.get$text(), this._makeSpan(start)); 13000 return new LiteralExpression(Math.parseDouble(t.get$text()), this._numType Ref(this._makeSpan(start)), t.get$text(), this._makeSpan(start));
13001 $throw(new FallThroughError("./parser.dart", 999))
12497 13002
12498 case 58/*TokenKind.STRING*/: 13003 case 58/*TokenKind.STRING*/:
12499 13004
12500 return this.stringLiteralExpr(); 13005 return this.stringLiteralExpr();
13006 $throw(new FallThroughError("./parser.dart", 1003))
12501 13007
12502 case 65/*TokenKind.INCOMPLETE_STRING*/: 13008 case 65/*TokenKind.INCOMPLETE_STRING*/:
12503 13009
12504 return this.stringInterpolation(); 13010 return this.stringInterpolation();
13011 $throw(new FallThroughError("./parser.dart", 1006))
12505 13012
12506 case 52/*TokenKind.LT*/: 13013 case 52/*TokenKind.LT*/:
12507 13014
12508 return this.finishTypedLiteral(start, false); 13015 return this.finishTypedLiteral(start, false);
13016 $throw(new FallThroughError("./parser.dart", 1009))
12509 13017
12510 case 112/*TokenKind.VOID*/: 13018 case 112/*TokenKind.VOID*/:
12511 case 111/*TokenKind.VAR*/: 13019 case 111/*TokenKind.VAR*/:
12512 case 96/*TokenKind.FINAL*/: 13020 case 96/*TokenKind.FINAL*/:
12513 13021
12514 return this.declaredIdentifier(false); 13022 return this.declaredIdentifier(false);
13023 $throw(new FallThroughError("./parser.dart", 1014))
12515 13024
12516 default: 13025 default:
12517 13026
12518 if (!this._peekIdentifier()) { 13027 if (!this._peekIdentifier()) {
12519 this._errorExpected('expression'); 13028 this._errorExpected('expression');
12520 } 13029 }
12521 return new VarExpression(this.identifier(), this._makeSpan(start)); 13030 return new VarExpression(this.identifier(), this._makeSpan(start));
12522 13031
12523 } 13032 }
12524 } 13033 }
12525 lang_Parser.prototype.stringInterpolation = function() { 13034 Parser.prototype.stringInterpolation = function() {
12526 var start = this._peekToken.start; 13035 var start = this._peekToken.start;
12527 var lits = []; 13036 var lits = [];
12528 var startQuote = null, endQuote = null; 13037 var startQuote = null, endQuote = null;
12529 while (this._peekKind(65/*TokenKind.INCOMPLETE_STRING*/)) { 13038 while (this._peekKind(65/*TokenKind.INCOMPLETE_STRING*/)) {
12530 var token = this._lang_next(); 13039 var token = this._lang_next();
12531 var text = token.get$text(); 13040 var text = token.get$text();
12532 if (startQuote == null) { 13041 if (startQuote == null) {
12533 if (isMultilineString(text)) { 13042 if (isMultilineString(text)) {
12534 endQuote = text.substring(0, 3); 13043 endQuote = text.substring(0, 3);
12535 startQuote = endQuote + '\n'; 13044 startQuote = endQuote + '\n';
(...skipping 18 matching lines...) Expand all
12554 } 13063 }
12555 var tok = this._lang_next(); 13064 var tok = this._lang_next();
12556 if (tok.kind != 58/*TokenKind.STRING*/) { 13065 if (tok.kind != 58/*TokenKind.STRING*/) {
12557 this._errorExpected('interpolated string'); 13066 this._errorExpected('interpolated string');
12558 } 13067 }
12559 var text = startQuote + tok.get$text(); 13068 var text = startQuote + tok.get$text();
12560 lits.add(this.makeStringLiteral(text, tok.get$span())); 13069 lits.add(this.makeStringLiteral(text, tok.get$span()));
12561 var span = this._makeSpan(start); 13070 var span = this._makeSpan(start);
12562 return new LiteralExpression(lits, this._stringTypeRef(span), '\$\$\$', span); 13071 return new LiteralExpression(lits, this._stringTypeRef(span), '\$\$\$', span);
12563 } 13072 }
12564 lang_Parser.prototype.makeStringLiteral = function(text, span) { 13073 Parser.prototype.makeStringLiteral = function(text, span) {
12565 return new LiteralExpression(text, this._stringTypeRef(span), text, span); 13074 return new LiteralExpression(text, this._stringTypeRef(span), text, span);
12566 } 13075 }
12567 lang_Parser.prototype.stringLiteralExpr = function() { 13076 Parser.prototype.stringLiteralExpr = function() {
12568 var token = this._lang_next(); 13077 var token = this._lang_next();
12569 return this.makeStringLiteral(token.get$text(), token.get$span()); 13078 return this.makeStringLiteral(token.get$text(), token.get$span());
12570 } 13079 }
12571 lang_Parser.prototype.maybeStringLiteral = function() { 13080 Parser.prototype.maybeStringLiteral = function() {
12572 var kind = this._peek(); 13081 var kind = this._peek();
12573 if ($eq(kind, 58/*TokenKind.STRING*/)) { 13082 if ($eq(kind, 58/*TokenKind.STRING*/)) {
12574 return parseStringLiteral(this._lang_next().get$text()); 13083 return parseStringLiteral(this._lang_next().get$text());
12575 } 13084 }
12576 else if ($eq(kind, 59/*TokenKind.STRING_PART*/)) { 13085 else if ($eq(kind, 59/*TokenKind.STRING_PART*/)) {
12577 this._lang_next(); 13086 this._lang_next();
12578 this._errorExpected('string literal, but found interpolated string start'); 13087 this._errorExpected('string literal, but found interpolated string start');
12579 } 13088 }
12580 else if ($eq(kind, 65/*TokenKind.INCOMPLETE_STRING*/)) { 13089 else if ($eq(kind, 65/*TokenKind.INCOMPLETE_STRING*/)) {
12581 this._lang_next(); 13090 this._lang_next();
12582 this._errorExpected('string literal, but found incomplete string'); 13091 this._errorExpected('string literal, but found incomplete string');
12583 } 13092 }
12584 return null; 13093 return null;
12585 } 13094 }
12586 lang_Parser.prototype._parenOrLambda = function() { 13095 Parser.prototype._parenOrLambda = function() {
12587 var start = this._peekToken.start; 13096 var start = this._peekToken.start;
12588 var args = this.arguments(); 13097 var args = this.arguments();
12589 if (!this._inInitializers && (this._peekKind(9/*TokenKind.ARROW*/) || this._pe ekKind(6/*TokenKind.LBRACE*/))) { 13098 if (!this._inInitializers && (this._peekKind(9/*TokenKind.ARROW*/) || this._pe ekKind(6/*TokenKind.LBRACE*/))) {
12590 var body = this.functionBody(true); 13099 var body = this.functionBody(true);
12591 var formals = this._makeFormals(args); 13100 var formals = this._makeFormals(args);
12592 var func = new FunctionDefinition(null, null, null, formals, null, body, thi s._makeSpan(start)); 13101 var func = new FunctionDefinition(null, null, null, formals, null, body, thi s._makeSpan(start));
12593 return new LambdaExpression(func, func.get$span()); 13102 return new LambdaExpression(func, func.get$span());
12594 } 13103 }
12595 else { 13104 else {
12596 if (args.length == 1) { 13105 if (args.length == 1) {
12597 return new ParenExpression(args.$index(0).get$value(), this._makeSpan(star t)); 13106 return new ParenExpression(args.$index(0).get$value(), this._makeSpan(star t));
12598 } 13107 }
12599 else { 13108 else {
12600 this._lang_error('unexpected comma expression'); 13109 this._lang_error('unexpected comma expression');
12601 return args.$index(0).get$value(); 13110 return args.$index(0).get$value();
12602 } 13111 }
12603 } 13112 }
12604 } 13113 }
12605 lang_Parser.prototype._typeAsIdentifier = function(type) { 13114 Parser.prototype._typeAsIdentifier = function(type) {
12606 return type.get$name(); 13115 return type.get$name();
12607 } 13116 }
12608 lang_Parser.prototype._specialIdentifier = function(includeOperators) { 13117 Parser.prototype._specialIdentifier = function(includeOperators) {
12609 var start = this._peekToken.start; 13118 var start = this._peekToken.start;
12610 var name; 13119 var name;
12611 switch (this._peek()) { 13120 switch (this._peek()) {
12612 case 15/*TokenKind.ELLIPSIS*/: 13121 case 15/*TokenKind.ELLIPSIS*/:
12613 13122
12614 this._eat(15/*TokenKind.ELLIPSIS*/); 13123 this._eat(15/*TokenKind.ELLIPSIS*/);
12615 this._lang_error('rest no longer supported', this._previousToken); 13124 this._lang_error('rest no longer supported', this._previousToken);
12616 name = this.identifier().get$name(); 13125 name = this.identifier().get$name();
12617 break; 13126 break;
13127 $throw(new FallThroughError("./parser.dart", 1123))
12618 13128
12619 case 107/*TokenKind.THIS*/: 13129 case 107/*TokenKind.THIS*/:
12620 13130
12621 this._eat(107/*TokenKind.THIS*/); 13131 this._eat(107/*TokenKind.THIS*/);
12622 this._eat(14/*TokenKind.DOT*/); 13132 this._eat(14/*TokenKind.DOT*/);
12623 name = ('this.' + this.identifier().get$name() + ''); 13133 name = ('this.' + this.identifier().get$name() + '');
12624 break; 13134 break;
13135 $throw(new FallThroughError("./parser.dart", 1128))
12625 13136
12626 case 75/*TokenKind.GET*/: 13137 case 75/*TokenKind.GET*/:
12627 13138
12628 if (!includeOperators) return null; 13139 if (!includeOperators) return null;
12629 this._eat(75/*TokenKind.GET*/); 13140 this._eat(75/*TokenKind.GET*/);
12630 name = ('get\$' + this.identifier().get$name() + ''); 13141 name = ('get\$' + this.identifier().get$name() + '');
12631 break; 13142 break;
13143 $throw(new FallThroughError("./parser.dart", 1133))
12632 13144
12633 case 83/*TokenKind.SET*/: 13145 case 83/*TokenKind.SET*/:
12634 13146
12635 if (!includeOperators) return null; 13147 if (!includeOperators) return null;
12636 this._eat(83/*TokenKind.SET*/); 13148 this._eat(83/*TokenKind.SET*/);
12637 name = ('set\$' + this.identifier().get$name() + ''); 13149 name = ('set\$' + this.identifier().get$name() + '');
12638 break; 13150 break;
13151 $throw(new FallThroughError("./parser.dart", 1138))
12639 13152
12640 case 82/*TokenKind.OPERATOR*/: 13153 case 82/*TokenKind.OPERATOR*/:
12641 13154
12642 if (!includeOperators) return null; 13155 if (!includeOperators) return null;
12643 this._eat(82/*TokenKind.OPERATOR*/); 13156 this._eat(82/*TokenKind.OPERATOR*/);
12644 var tok = this._lang_next(); 13157 var tok = this._lang_next();
12645 if (tok.kind == 81/*TokenKind.NEGATE*/) { 13158 if (tok.kind == 81/*TokenKind.NEGATE*/) {
12646 name = '\$negate'; 13159 name = '\$negate';
12647 } 13160 }
12648 else { 13161 else {
12649 name = TokenKind.binaryMethodName(tok.kind); 13162 name = TokenKind.binaryMethodName(tok.kind);
12650 if (name == null) { 13163 if (name == null) {
12651 this._errorExpected(('legal operator name, but found: ' + tok + '')); 13164 this._errorExpected(('legal operator name, but found: ' + tok + ''));
12652 name = tok.toString(); 13165 name = tok.toString();
12653 } 13166 }
12654 } 13167 }
12655 break; 13168 break;
13169 $throw(new FallThroughError("./parser.dart", 1152))
12656 13170
12657 default: 13171 default:
12658 13172
12659 return null; 13173 return null;
12660 13174
12661 } 13175 }
12662 return new lang_Identifier(name, this._makeSpan(start)); 13176 return new Identifier(name, this._makeSpan(start));
12663 } 13177 }
12664 lang_Parser.prototype.declaredIdentifier = function(includeOperators) { 13178 Parser.prototype.declaredIdentifier = function(includeOperators) {
12665 var start = this._peekToken.start; 13179 var start = this._peekToken.start;
12666 var myType = null; 13180 var myType = null;
12667 var name = this._specialIdentifier(includeOperators); 13181 var name = this._specialIdentifier(includeOperators);
12668 if (name == null) { 13182 if (name == null) {
12669 myType = this.type(0); 13183 myType = this.type(0);
12670 name = this._specialIdentifier(includeOperators); 13184 name = this._specialIdentifier(includeOperators);
12671 if (name == null) { 13185 if (name == null) {
12672 if (this._peekIdentifier()) { 13186 if (this._peekIdentifier()) {
12673 name = this.identifier(); 13187 name = this.identifier();
12674 } 13188 }
12675 else if ((myType instanceof NameTypeReference) && myType.names == null) { 13189 else if ((myType instanceof NameTypeReference) && myType.names == null) {
12676 name = this._typeAsIdentifier(myType); 13190 name = this._typeAsIdentifier(myType);
12677 myType = null; 13191 myType = null;
12678 } 13192 }
12679 else { 13193 else {
12680 } 13194 }
12681 } 13195 }
12682 } 13196 }
12683 return new DeclaredIdentifier(myType, name, this._makeSpan(start)); 13197 return new DeclaredIdentifier(myType, name, this._makeSpan(start));
12684 } 13198 }
12685 lang_Parser._hexDigit = function(c) { 13199 Parser._hexDigit = function(c) {
12686 if (c >= 48 && c <= 57) { 13200 if (c >= 48 && c <= 57) {
12687 return c - 48; 13201 return c - 48;
12688 } 13202 }
12689 else if (c >= 97 && c <= 102) { 13203 else if (c >= 97 && c <= 102) {
12690 return c - 87; 13204 return c - 87;
12691 } 13205 }
12692 else if (c >= 65 && c <= 70) { 13206 else if (c >= 65 && c <= 70) {
12693 return c - 55; 13207 return c - 55;
12694 } 13208 }
12695 else { 13209 else {
12696 return -1; 13210 return -1.000000/*-1*/;
12697 } 13211 }
12698 } 13212 }
12699 lang_Parser.parseHex = function(hex) { 13213 Parser.parseHex = function(hex) {
12700 var result = 0; 13214 var result = 0;
12701 for (var i = 0; 13215 for (var i = 0;
12702 i < hex.length; i++) { 13216 i < hex.length; i++) {
12703 var digit = lang_Parser._hexDigit(hex.charCodeAt(i)); 13217 var digit = Parser._hexDigit(hex.charCodeAt(i));
12704 result = (result << 4) + digit; 13218 result = (result << 4) + digit;
12705 } 13219 }
12706 return result; 13220 return result;
12707 } 13221 }
12708 lang_Parser.prototype.finishNewExpression = function(start, isConst) { 13222 Parser.prototype.finishNewExpression = function(start, isConst) {
12709 var type = this.type(0); 13223 var type = this.type(0);
12710 var name = null; 13224 var name = null;
12711 if (this._maybeEat(14/*TokenKind.DOT*/)) { 13225 if (this._maybeEat(14/*TokenKind.DOT*/)) {
12712 name = this.identifier(); 13226 name = this.identifier();
12713 } 13227 }
12714 var args = this.arguments(); 13228 var args = this.arguments();
12715 return new lang_NewExpression(isConst, type, name, args, this._makeSpan(start) ); 13229 return new NewExpression(isConst, type, name, args, this._makeSpan(start));
12716 } 13230 }
12717 lang_Parser.prototype.finishListLiteral = function(start, isConst, type) { 13231 Parser.prototype.finishListLiteral = function(start, isConst, type) {
12718 if (this._maybeEat(56/*TokenKind.INDEX*/)) { 13232 if (this._maybeEat(56/*TokenKind.INDEX*/)) {
12719 return new ListExpression(isConst, type, [], this._makeSpan(start)); 13233 return new ListExpression(isConst, type, [], this._makeSpan(start));
12720 } 13234 }
12721 var values = []; 13235 var values = [];
12722 this._eat(4/*TokenKind.LBRACK*/); 13236 this._eat(4/*TokenKind.LBRACK*/);
12723 while (!this._maybeEat(5/*TokenKind.RBRACK*/)) { 13237 while (!this._maybeEat(5/*TokenKind.RBRACK*/)) {
12724 if (this.isPrematureEndOfFile()) break; 13238 if (this.isPrematureEndOfFile()) break;
12725 values.add(this.expression()); 13239 values.add(this.expression());
12726 if (!this._maybeEat(11/*TokenKind.COMMA*/)) { 13240 if (!this._maybeEat(11/*TokenKind.COMMA*/)) {
12727 this._eat(5/*TokenKind.RBRACK*/); 13241 this._eat(5/*TokenKind.RBRACK*/);
12728 break; 13242 break;
12729 } 13243 }
12730 } 13244 }
12731 return new ListExpression(isConst, type, values, this._makeSpan(start)); 13245 return new ListExpression(isConst, type, values, this._makeSpan(start));
12732 } 13246 }
12733 lang_Parser.prototype.finishMapLiteral = function(start, isConst, type) { 13247 Parser.prototype.finishMapLiteral = function(start, isConst, type) {
12734 var items = []; 13248 var items = [];
12735 this._eat(6/*TokenKind.LBRACE*/); 13249 this._eat(6/*TokenKind.LBRACE*/);
12736 while (!this._maybeEat(7/*TokenKind.RBRACE*/)) { 13250 while (!this._maybeEat(7/*TokenKind.RBRACE*/)) {
12737 if (this.isPrematureEndOfFile()) break; 13251 if (this.isPrematureEndOfFile()) break;
12738 items.add(this.expression()); 13252 items.add(this.expression());
12739 this._eat(8/*TokenKind.COLON*/); 13253 this._eat(8/*TokenKind.COLON*/);
12740 items.add(this.expression()); 13254 items.add(this.expression());
12741 if (!this._maybeEat(11/*TokenKind.COMMA*/)) { 13255 if (!this._maybeEat(11/*TokenKind.COMMA*/)) {
12742 this._eat(7/*TokenKind.RBRACE*/); 13256 this._eat(7/*TokenKind.RBRACE*/);
12743 break; 13257 break;
12744 } 13258 }
12745 } 13259 }
12746 return new MapExpression(isConst, type, items, this._makeSpan(start)); 13260 return new MapExpression(isConst, type, items, this._makeSpan(start));
12747 } 13261 }
12748 lang_Parser.prototype.finishTypedLiteral = function(start, isConst) { 13262 Parser.prototype.finishTypedLiteral = function(start, isConst) {
12749 var span = this._makeSpan(start); 13263 var span = this._makeSpan(start);
12750 var typeToBeNamedLater = new NameTypeReference(false, null, null, span); 13264 var typeToBeNamedLater = new NameTypeReference(false, null, null, span);
12751 var genericType = this.addTypeArguments(typeToBeNamedLater, 0); 13265 var genericType = this.addTypeArguments(typeToBeNamedLater, 0);
12752 if (this._peekKind(4/*TokenKind.LBRACK*/) || this._peekKind(56/*TokenKind.INDE X*/)) { 13266 if (this._peekKind(4/*TokenKind.LBRACK*/) || this._peekKind(56/*TokenKind.INDE X*/)) {
12753 return this.finishListLiteral(start, isConst, genericType); 13267 return this.finishListLiteral(start, isConst, genericType);
12754 } 13268 }
12755 else if (this._peekKind(6/*TokenKind.LBRACE*/)) { 13269 else if (this._peekKind(6/*TokenKind.LBRACE*/)) {
12756 return this.finishMapLiteral(start, isConst, genericType); 13270 return this.finishMapLiteral(start, isConst, genericType);
12757 } 13271 }
12758 else { 13272 else {
12759 this._errorExpected('array or map literal'); 13273 this._errorExpected('array or map literal');
12760 } 13274 }
12761 } 13275 }
12762 lang_Parser.prototype._readModifiers = function() { 13276 Parser.prototype._readModifiers = function() {
12763 var modifiers = null; 13277 var modifiers = null;
12764 while (true) { 13278 while (true) {
12765 switch (this._peek()) { 13279 switch (this._peek()) {
12766 case 85/*TokenKind.STATIC*/: 13280 case 85/*TokenKind.STATIC*/:
12767 case 96/*TokenKind.FINAL*/: 13281 case 96/*TokenKind.FINAL*/:
12768 case 90/*TokenKind.CONST*/: 13282 case 90/*TokenKind.CONST*/:
12769 case 70/*TokenKind.ABSTRACT*/: 13283 case 70/*TokenKind.ABSTRACT*/:
12770 case 74/*TokenKind.FACTORY*/: 13284 case 74/*TokenKind.FACTORY*/:
12771 13285
12772 if (modifiers == null) modifiers = []; 13286 if (modifiers == null) modifiers = [];
12773 modifiers.add(this._lang_next()); 13287 modifiers.add(this._lang_next());
12774 break; 13288 break;
13289 $throw(new FallThroughError("./parser.dart", 1281))
12775 13290
12776 default: 13291 default:
12777 13292
12778 return modifiers; 13293 return modifiers;
12779 13294
12780 } 13295 }
12781 } 13296 }
12782 return null; 13297 return null;
12783 } 13298 }
12784 lang_Parser.prototype.typeParameter = function() { 13299 Parser.prototype.typeParameter = function() {
12785 var start = this._peekToken.start; 13300 var start = this._peekToken.start;
12786 var name = this.identifier(); 13301 var name = this.identifier();
12787 var myType = null; 13302 var myType = null;
12788 if (this._maybeEat(73/*TokenKind.EXTENDS*/)) { 13303 if (this._maybeEat(73/*TokenKind.EXTENDS*/)) {
12789 myType = this.type(1); 13304 myType = this.type(1);
12790 } 13305 }
12791 return new TypeParameter(name, myType, this._makeSpan(start)); 13306 return new TypeParameter(name, myType, this._makeSpan(start));
12792 } 13307 }
12793 lang_Parser.prototype.typeParameters = function() { 13308 Parser.prototype.typeParameters = function() {
12794 this._eat(52/*TokenKind.LT*/); 13309 this._eat(52/*TokenKind.LT*/);
12795 var closed = false; 13310 var closed = false;
12796 var ret = []; 13311 var ret = [];
12797 do { 13312 do {
12798 var tp = this.typeParameter(); 13313 var tp = this.typeParameter();
12799 ret.add(tp); 13314 ret.add(tp);
12800 if ((tp.extendsType instanceof GenericTypeReference) && tp.extendsType.depth == 0) { 13315 if ((tp.extendsType instanceof GenericTypeReference) && tp.extendsType.depth == 0) {
12801 closed = true; 13316 closed = true;
12802 break; 13317 break;
12803 } 13318 }
12804 } 13319 }
12805 while (this._maybeEat(11/*TokenKind.COMMA*/)) 13320 while (this._maybeEat(11/*TokenKind.COMMA*/))
12806 if (!closed) { 13321 if (!closed) {
12807 this._eat(53/*TokenKind.GT*/); 13322 this._eat(53/*TokenKind.GT*/);
12808 } 13323 }
12809 return ret; 13324 return ret;
12810 } 13325 }
12811 lang_Parser.prototype.get$typeParameters = function() { 13326 Parser.prototype.get$typeParameters = function() {
12812 return lang_Parser.prototype.typeParameters.bind(this); 13327 return Parser.prototype.typeParameters.bind(this);
12813 } 13328 }
12814 lang_Parser.prototype._eatClosingAngle = function(depth) { 13329 Parser.prototype._eatClosingAngle = function(depth) {
12815 if (this._maybeEat(53/*TokenKind.GT*/)) { 13330 if (this._maybeEat(53/*TokenKind.GT*/)) {
12816 return depth; 13331 return depth;
12817 } 13332 }
12818 else if (depth > 0 && this._maybeEat(40/*TokenKind.SAR*/)) { 13333 else if (depth > 0 && this._maybeEat(40/*TokenKind.SAR*/)) {
12819 return depth - 1; 13334 return depth - 1;
12820 } 13335 }
12821 else if (depth > 1 && this._maybeEat(41/*TokenKind.SHR*/)) { 13336 else if (depth > 1 && this._maybeEat(41/*TokenKind.SHR*/)) {
12822 return depth - 2; 13337 return depth - 2;
12823 } 13338 }
12824 else { 13339 else {
12825 this._errorExpected('>'); 13340 this._errorExpected('>');
12826 return depth; 13341 return depth;
12827 } 13342 }
12828 } 13343 }
12829 lang_Parser.prototype.addTypeArguments = function(baseType, depth) { 13344 Parser.prototype.addTypeArguments = function(baseType, depth) {
12830 this._eat(52/*TokenKind.LT*/); 13345 this._eat(52/*TokenKind.LT*/);
12831 return this._finishTypeArguments(baseType, depth, []); 13346 return this._finishTypeArguments(baseType, depth, []);
12832 } 13347 }
12833 lang_Parser.prototype._finishTypeArguments = function(baseType, depth, types) { 13348 Parser.prototype._finishTypeArguments = function(baseType, depth, types) {
12834 var delta = -1; 13349 var delta = -1.000000/*-1*/;
12835 do { 13350 do {
12836 var myType = this.type(depth + 1); 13351 var myType = this.type(depth + 1);
12837 types.add(myType); 13352 types.add(myType);
12838 if ((myType instanceof GenericTypeReference) && myType.depth <= depth) { 13353 if ((myType instanceof GenericTypeReference) && myType.depth <= depth) {
12839 delta = depth - myType.depth; 13354 delta = depth - myType.depth;
12840 break; 13355 break;
12841 } 13356 }
12842 } 13357 }
12843 while (this._maybeEat(11/*TokenKind.COMMA*/)) 13358 while (this._maybeEat(11/*TokenKind.COMMA*/))
12844 if (delta >= 0) { 13359 if (delta >= 0) {
12845 depth = depth - delta; 13360 depth = depth - delta;
12846 } 13361 }
12847 else { 13362 else {
12848 depth = this._eatClosingAngle(depth); 13363 depth = this._eatClosingAngle(depth);
12849 } 13364 }
12850 var span = this._makeSpan(baseType.span.start); 13365 var span = this._makeSpan(baseType.span.start);
12851 return new GenericTypeReference(baseType, types, depth, span); 13366 return new GenericTypeReference(baseType, types, depth, span);
12852 } 13367 }
12853 lang_Parser.prototype.typeList = function() { 13368 Parser.prototype.typeList = function() {
12854 var types = []; 13369 var types = [];
12855 do { 13370 do {
12856 types.add(this.type(0)); 13371 types.add(this.type(0));
12857 } 13372 }
12858 while (this._maybeEat(11/*TokenKind.COMMA*/)) 13373 while (this._maybeEat(11/*TokenKind.COMMA*/))
12859 return types; 13374 return types;
12860 } 13375 }
12861 lang_Parser.prototype.type = function(depth) { 13376 Parser.prototype.type = function(depth) {
12862 var start = this._peekToken.start; 13377 var start = this._peekToken.start;
12863 var name; 13378 var name;
12864 var names = null; 13379 var names = null;
12865 var typeArgs = null; 13380 var typeArgs = null;
12866 var isFinal = false; 13381 var isFinal = false;
12867 switch (this._peek()) { 13382 switch (this._peek()) {
12868 case 112/*TokenKind.VOID*/: 13383 case 112/*TokenKind.VOID*/:
12869 13384
12870 return new TypeReference(this._lang_next().get$span(), world.voidType); 13385 return new TypeReference(this._lang_next().get$span(), world.voidType);
13386 $throw(new FallThroughError("./parser.dart", 1379))
12871 13387
12872 case 111/*TokenKind.VAR*/: 13388 case 111/*TokenKind.VAR*/:
12873 13389
12874 return new TypeReference(this._lang_next().get$span(), world.varType); 13390 return new TypeReference(this._lang_next().get$span(), world.varType);
13391 $throw(new FallThroughError("./parser.dart", 1381))
12875 13392
12876 case 96/*TokenKind.FINAL*/: 13393 case 96/*TokenKind.FINAL*/:
12877 13394
12878 this._eat(96/*TokenKind.FINAL*/); 13395 this._eat(96/*TokenKind.FINAL*/);
12879 isFinal = true; 13396 isFinal = true;
12880 name = this.identifier(); 13397 name = this.identifier();
12881 break; 13398 break;
13399 $throw(new FallThroughError("./parser.dart", 1386))
12882 13400
12883 default: 13401 default:
12884 13402
12885 name = this.identifier(); 13403 name = this.identifier();
12886 break; 13404 break;
12887 13405
12888 } 13406 }
12889 while (this._maybeEat(14/*TokenKind.DOT*/)) { 13407 while (this._maybeEat(14/*TokenKind.DOT*/)) {
12890 if (names == null) names = []; 13408 if (names == null) names = [];
12891 names.add(this.identifier()); 13409 names.add(this.identifier());
12892 } 13410 }
12893 var typeRef = new NameTypeReference(isFinal, name, names, this._makeSpan(start )); 13411 var typeRef = new NameTypeReference(isFinal, name, names, this._makeSpan(start ));
12894 if (this._peekKind(52/*TokenKind.LT*/)) { 13412 if (this._peekKind(52/*TokenKind.LT*/)) {
12895 return this.addTypeArguments(typeRef, depth); 13413 return this.addTypeArguments(typeRef, depth);
12896 } 13414 }
12897 else { 13415 else {
12898 return typeRef; 13416 return typeRef;
12899 } 13417 }
12900 } 13418 }
12901 lang_Parser.prototype.formalParameter = function(inOptionalBlock) { 13419 Parser.prototype.formalParameter = function(inOptionalBlock) {
12902 var start = this._peekToken.start; 13420 var start = this._peekToken.start;
12903 var isThis = false; 13421 var isThis = false;
12904 var isRest = false; 13422 var isRest = false;
12905 var di = this.declaredIdentifier(false); 13423 var di = this.declaredIdentifier(false);
12906 var type = di.type; 13424 var type = di.type;
12907 var name = di.get$name(); 13425 var name = di.get$name();
12908 var value = null; 13426 var value = null;
12909 if (this._maybeEat(20/*TokenKind.ASSIGN*/)) { 13427 if (this._maybeEat(20/*TokenKind.ASSIGN*/)) {
12910 if (!inOptionalBlock) { 13428 if (!inOptionalBlock) {
12911 this._lang_error('default values only allowed inside [optional] section'); 13429 this._lang_error('default values only allowed inside [optional] section');
12912 } 13430 }
12913 value = this.expression(); 13431 value = this.expression();
12914 } 13432 }
12915 else if (this._peekKind(2/*TokenKind.LPAREN*/)) { 13433 else if (this._peekKind(2/*TokenKind.LPAREN*/)) {
12916 var formals = this.formalParameterList(); 13434 var formals = this.formalParameterList();
12917 var func = new FunctionDefinition(null, type, name, formals, null, null, thi s._makeSpan(start)); 13435 var func = new FunctionDefinition(null, type, name, formals, null, null, thi s._makeSpan(start));
12918 type = new FunctionTypeReference(false, func, func.get$span()); 13436 type = new FunctionTypeReference(false, func, func.get$span());
12919 } 13437 }
12920 if (inOptionalBlock && value == null) { 13438 if (inOptionalBlock && value == null) {
12921 value = new NullExpression(this._makeSpan(start)); 13439 value = new NullExpression(this._makeSpan(start));
12922 } 13440 }
12923 return new FormalNode(isThis, isRest, type, name, value, this._makeSpan(start) ); 13441 return new FormalNode(isThis, isRest, type, name, value, this._makeSpan(start) );
12924 } 13442 }
12925 lang_Parser.prototype.formalParameterList = function() { 13443 Parser.prototype.formalParameterList = function() {
12926 this._eat(2/*TokenKind.LPAREN*/); 13444 this._eat(2/*TokenKind.LPAREN*/);
12927 var formals = []; 13445 var formals = [];
12928 var inOptionalBlock = false; 13446 var inOptionalBlock = false;
12929 if (!this._maybeEat(3/*TokenKind.RPAREN*/)) { 13447 if (!this._maybeEat(3/*TokenKind.RPAREN*/)) {
12930 if (this._maybeEat(4/*TokenKind.LBRACK*/)) { 13448 if (this._maybeEat(4/*TokenKind.LBRACK*/)) {
12931 inOptionalBlock = true; 13449 inOptionalBlock = true;
12932 } 13450 }
12933 formals.add(this.formalParameter(inOptionalBlock)); 13451 formals.add(this.formalParameter(inOptionalBlock));
12934 while (this._maybeEat(11/*TokenKind.COMMA*/)) { 13452 while (this._maybeEat(11/*TokenKind.COMMA*/)) {
12935 if (this._maybeEat(4/*TokenKind.LBRACK*/)) { 13453 if (this._maybeEat(4/*TokenKind.LBRACK*/)) {
12936 if (inOptionalBlock) { 13454 if (inOptionalBlock) {
12937 this._lang_error('already inside an optional block', this._previousTok en.get$span()); 13455 this._lang_error('already inside an optional block', this._previousTok en.get$span());
12938 } 13456 }
12939 inOptionalBlock = true; 13457 inOptionalBlock = true;
12940 } 13458 }
12941 formals.add(this.formalParameter(inOptionalBlock)); 13459 formals.add(this.formalParameter(inOptionalBlock));
12942 } 13460 }
12943 if (inOptionalBlock) { 13461 if (inOptionalBlock) {
12944 this._eat(5/*TokenKind.RBRACK*/); 13462 this._eat(5/*TokenKind.RBRACK*/);
12945 } 13463 }
12946 this._eat(3/*TokenKind.RPAREN*/); 13464 this._eat(3/*TokenKind.RPAREN*/);
12947 } 13465 }
12948 return formals; 13466 return formals;
12949 } 13467 }
12950 lang_Parser.prototype.identifier = function() { 13468 Parser.prototype.identifier = function() {
12951 var tok = this._lang_next(); 13469 var tok = this._lang_next();
12952 if (!TokenKind.isIdentifier(tok.kind)) { 13470 if (!TokenKind.isIdentifier(tok.kind)) {
12953 this._lang_error(('expected identifier, but found ' + tok + ''), tok.get$spa n()); 13471 this._lang_error(('expected identifier, but found ' + tok + ''), tok.get$spa n());
12954 } 13472 }
12955 return new lang_Identifier(tok.get$text(), this._makeSpan(tok.start)); 13473 return new Identifier(tok.get$text(), this._makeSpan(tok.start));
12956 } 13474 }
12957 lang_Parser.prototype._makeFunction = function(expr, body) { 13475 Parser.prototype._makeFunction = function(expr, body) {
12958 var name, type; 13476 var name, type;
12959 if ((expr instanceof CallExpression)) { 13477 if ((expr instanceof CallExpression)) {
12960 if ((expr.target instanceof VarExpression)) { 13478 if ((expr.target instanceof VarExpression)) {
12961 name = expr.target.get$name(); 13479 name = expr.target.get$name();
12962 type = null; 13480 type = null;
12963 } 13481 }
12964 else if ((expr.target instanceof DeclaredIdentifier)) { 13482 else if ((expr.target instanceof DeclaredIdentifier)) {
12965 name = expr.target.get$name(); 13483 name = expr.target.get$name();
12966 type = expr.target.type; 13484 type = expr.target.type;
12967 } 13485 }
12968 else { 13486 else {
12969 this._lang_error('bad function'); 13487 this._lang_error('bad function');
12970 } 13488 }
12971 var formals = this._makeFormals(expr.get$arguments()); 13489 var formals = this._makeFormals(expr.get$arguments());
12972 var span = new SourceSpan(expr.get$span().file, expr.get$span().start, body. get$span().end); 13490 var span = new SourceSpan(expr.get$span().file, expr.get$span().start, body. get$span().end);
12973 var func = new FunctionDefinition(null, type, name, formals, null, body, spa n); 13491 var func = new FunctionDefinition(null, type, name, formals, null, body, spa n);
12974 return new LambdaExpression(func, func.get$span()); 13492 return new LambdaExpression(func, func.get$span());
12975 } 13493 }
12976 else { 13494 else {
12977 this._lang_error('expected function'); 13495 this._lang_error('expected function');
12978 } 13496 }
12979 } 13497 }
12980 lang_Parser.prototype._makeFormal = function(expr) { 13498 Parser.prototype._makeFormal = function(expr) {
12981 if ((expr instanceof VarExpression)) { 13499 if ((expr instanceof VarExpression)) {
12982 return new FormalNode(false, false, null, expr.get$name(), null, expr.get$sp an()); 13500 return new FormalNode(false, false, null, expr.get$name(), null, expr.get$sp an());
12983 } 13501 }
12984 else if ((expr instanceof DeclaredIdentifier)) { 13502 else if ((expr instanceof DeclaredIdentifier)) {
12985 return new FormalNode(false, false, expr.type, expr.get$name(), null, expr.g et$span()); 13503 return new FormalNode(false, false, expr.type, expr.get$name(), null, expr.g et$span());
12986 } 13504 }
12987 else if (this._isBin(expr, 20/*TokenKind.ASSIGN*/) && ((expr.x instanceof Decl aredIdentifier))) { 13505 else if (this._isBin(expr, 20/*TokenKind.ASSIGN*/) && ((expr.x instanceof Decl aredIdentifier))) {
12988 var di = expr.x; 13506 var di = expr.x;
12989 return new FormalNode(false, false, di.type, di.name, expr.y, expr.get$span( )); 13507 return new FormalNode(false, false, di.type, di.name, expr.y, expr.get$span( ));
12990 } 13508 }
12991 else if (this._isBin(expr, 52/*TokenKind.LT*/)) { 13509 else if (this._isBin(expr, 52/*TokenKind.LT*/)) {
12992 return null; 13510 return null;
12993 } 13511 }
12994 else if ((expr instanceof ListExpression)) { 13512 else if ((expr instanceof ListExpression)) {
12995 return this._makeFormalsFromList(expr); 13513 return this._makeFormalsFromList(expr);
12996 } 13514 }
12997 else { 13515 else {
12998 this._lang_error('expected formal', expr.get$span()); 13516 this._lang_error('expected formal', expr.get$span());
12999 } 13517 }
13000 } 13518 }
13001 lang_Parser.prototype._makeFormalsFromList = function(expr) { 13519 Parser.prototype._makeFormalsFromList = function(expr) {
13002 if (expr.get$isConst()) { 13520 if (expr.get$isConst()) {
13003 this._lang_error('expected formal, but found "const"', expr.get$span()); 13521 this._lang_error('expected formal, but found "const"', expr.get$span());
13004 } 13522 }
13005 else if ($ne(expr.type, null)) { 13523 else if ($ne(expr.type, null)) {
13006 this._lang_error('expected formal, but found generic type arguments', expr.t ype.get$span()); 13524 this._lang_error('expected formal, but found generic type arguments', expr.t ype.get$span());
13007 } 13525 }
13008 return this._makeFormalsFromExpressions(expr.values, false); 13526 return this._makeFormalsFromExpressions(expr.values, false);
13009 } 13527 }
13010 lang_Parser.prototype._makeFormals = function(arguments) { 13528 Parser.prototype._makeFormals = function(arguments) {
13011 var expressions = []; 13529 var expressions = [];
13012 for (var i = 0; 13530 for (var i = 0;
13013 i < arguments.length; i++) { 13531 i < arguments.length; i++) {
13014 var arg = arguments.$index(i); 13532 var arg = arguments.$index(i);
13015 if (arg.label != null) { 13533 if (arg.label != null) {
13016 this._lang_error('expected formal, but found ":"'); 13534 this._lang_error('expected formal, but found ":"');
13017 } 13535 }
13018 expressions.add(arg.get$value()); 13536 expressions.add(arg.get$value());
13019 } 13537 }
13020 return this._makeFormalsFromExpressions(expressions, true); 13538 return this._makeFormalsFromExpressions(expressions, true);
13021 } 13539 }
13022 lang_Parser.prototype._makeFormalsFromExpressions = function(expressions, allowO ptional) { 13540 Parser.prototype._makeFormalsFromExpressions = function(expressions, allowOption al) {
13023 var formals = []; 13541 var formals = [];
13024 for (var i = 0; 13542 for (var i = 0;
13025 i < expressions.length; i++) { 13543 i < expressions.length; i++) {
13026 var formal = this._makeFormal(expressions.$index(i)); 13544 var formal = this._makeFormal(expressions.$index(i));
13027 if (formal == null) { 13545 if (formal == null) {
13028 var baseType = this._makeType(expressions.$index(i).x); 13546 var baseType = this._makeType(expressions.$index(i).x);
13029 var typeParams = [this._makeType(expressions.$index(i).y)]; 13547 var typeParams = [this._makeType(expressions.$index(i).y)];
13030 i++; 13548 i++;
13031 while (i < expressions.length) { 13549 while (i < expressions.length) {
13032 var expr = expressions.$index(i++); 13550 var expr = expressions.$index(i++);
(...skipping 22 matching lines...) Expand all
13055 if (!allowOptional) { 13573 if (!allowOptional) {
13056 this._lang_error('unexpected nested optional formal', expressions.$index (i).get$span()); 13574 this._lang_error('unexpected nested optional formal', expressions.$index (i).get$span());
13057 } 13575 }
13058 } 13576 }
13059 else { 13577 else {
13060 formals.add(formal); 13578 formals.add(formal);
13061 } 13579 }
13062 } 13580 }
13063 return formals; 13581 return formals;
13064 } 13582 }
13065 lang_Parser.prototype._makeDeclaredIdentifier = function(e) { 13583 Parser.prototype._makeDeclaredIdentifier = function(e) {
13066 if ((e instanceof VarExpression)) { 13584 if ((e instanceof VarExpression)) {
13067 return new DeclaredIdentifier(null, e.get$name(), e.get$span()); 13585 return new DeclaredIdentifier(null, e.get$name(), e.get$span());
13068 } 13586 }
13069 else if ((e instanceof DeclaredIdentifier)) { 13587 else if ((e instanceof DeclaredIdentifier)) {
13070 return e; 13588 return e;
13071 } 13589 }
13072 else { 13590 else {
13073 this._lang_error('expected declared identifier'); 13591 this._lang_error('expected declared identifier');
13074 return new DeclaredIdentifier(null, null, e.get$span()); 13592 return new DeclaredIdentifier(null, null, e.get$span());
13075 } 13593 }
13076 } 13594 }
13077 lang_Parser.prototype._makeLabel = function(expr) { 13595 Parser.prototype._makeLabel = function(expr) {
13078 if ((expr instanceof VarExpression)) { 13596 if ((expr instanceof VarExpression)) {
13079 return expr.get$name(); 13597 return expr.get$name();
13080 } 13598 }
13081 else { 13599 else {
13082 this._errorExpected('label'); 13600 this._errorExpected('label');
13083 return null; 13601 return null;
13084 } 13602 }
13085 } 13603 }
13086 // ********** Code for lang_Node ************** 13604 // ********** Code for Node **************
13087 function lang_Node(span) { 13605 function Node(span) {
13088 this.span = span; 13606 this.span = span;
13089 // Initializers done 13607 // Initializers done
13090 } 13608 }
13091 lang_Node.prototype.get$span = function() { return this.span; }; 13609 Node.prototype.get$span = function() { return this.span; };
13092 lang_Node.prototype.set$span = function(value) { return this.span = value; }; 13610 Node.prototype.set$span = function(value) { return this.span = value; };
13093 // ********** Code for Definition ************** 13611 // ********** Code for Definition **************
13094 function Definition(span) { 13612 function Definition(span) {
13095 lang_Statement.call(this, span); 13613 Statement.call(this, span);
13096 // Initializers done 13614 // Initializers done
13097 } 13615 }
13098 $inherits(Definition, lang_Statement); 13616 $inherits(Definition, Statement);
13099 Definition.prototype.get$typeParameters = function() { 13617 Definition.prototype.get$typeParameters = function() {
13100 return null; 13618 return null;
13101 } 13619 }
13102 // ********** Code for lang_Statement ************** 13620 // ********** Code for Statement **************
13103 function lang_Statement(span) { 13621 function Statement(span) {
13104 lang_Node.call(this, span); 13622 Node.call(this, span);
13105 // Initializers done 13623 // Initializers done
13106 } 13624 }
13107 $inherits(lang_Statement, lang_Node); 13625 $inherits(Statement, Node);
13108 // ********** Code for lang_Expression ************** 13626 // ********** Code for Expression **************
13109 function lang_Expression(span) { 13627 function Expression(span) {
13110 lang_Node.call(this, span); 13628 Node.call(this, span);
13111 // Initializers done 13629 // Initializers done
13112 } 13630 }
13113 $inherits(lang_Expression, lang_Node); 13631 $inherits(Expression, Node);
13114 // ********** Code for TypeReference ************** 13632 // ********** Code for TypeReference **************
13115 function TypeReference(span, type) { 13633 function TypeReference(span, type) {
13116 this.type = type; 13634 this.type = type;
13117 lang_Node.call(this, span); 13635 Node.call(this, span);
13118 // Initializers done 13636 // Initializers done
13119 } 13637 }
13120 $inherits(TypeReference, lang_Node); 13638 $inherits(TypeReference, Node);
13121 TypeReference.prototype.visit = function(visitor) { 13639 TypeReference.prototype.visit = function(visitor) {
13122 return visitor.visitTypeReference(this); 13640 return visitor.visitTypeReference(this);
13123 } 13641 }
13124 // ********** Code for TreeOutput ************** 13642 // ********** Code for TreeOutput **************
13125 function TreeOutput() {} 13643 function TreeOutput() {}
13126 TreeOutput.prototype.write = function(s) { 13644 TreeOutput.prototype.write = function(s) {
13127 for (var i = 0; 13645 for (var i = 0;
13128 i < this.depth; i++) { 13646 i < this.depth; i++) {
13129 this.buf.add(' '); 13647 this.buf.add(' ');
13130 } 13648 }
13131 this.buf.add(s); 13649 this.buf.add(s);
13132 } 13650 }
13133 TreeOutput.prototype.writeln = function(s) { 13651 TreeOutput.prototype.writeln = function(s) {
13134 this.write(s); 13652 this.write(s);
13135 this.buf.add('\n'); 13653 this.buf.add('\n');
13136 } 13654 }
13137 TreeOutput.prototype.heading = function(name, span) { 13655 TreeOutput.prototype.heading = function(name, span) {
13138 this.buf.add(name); 13656 this.buf.add(name);
13139 this.buf.add('\n'); 13657 this.buf.add('\n');
13140 } 13658 }
13141 TreeOutput.prototype.toValue = function(value) { 13659 TreeOutput.prototype.toValue = function(value) {
13142 if (value == null) return 'null'; 13660 if (value == null) return 'null';
13143 else if ((value instanceof lang_Identifier)) return value.get$name(); 13661 else if ((value instanceof Identifier)) return value.get$name();
13144 else return value.toString(); 13662 else return value.toString();
13145 } 13663 }
13146 TreeOutput.prototype.writeNode = function(label, node) { 13664 TreeOutput.prototype.writeNode = function(label, node) {
13147 this.write(label + ': '); 13665 this.write(label + ': ');
13148 this.depth += 1; 13666 this.depth += 1;
13149 if (node != null) node.visit(this.printer); 13667 if (node != null) node.visit(this.printer);
13150 else this.writeln('null'); 13668 else this.writeln('null');
13151 this.depth -= 1; 13669 this.depth -= 1;
13152 } 13670 }
13153 TreeOutput.prototype.writeValue = function(label, value) { 13671 TreeOutput.prototype.writeValue = function(label, value) {
(...skipping 110 matching lines...) Expand 10 before | Expand all | Expand 10 after
13264 FunctionDefinition.prototype.get$returnType = function() { return this.returnTyp e; }; 13782 FunctionDefinition.prototype.get$returnType = function() { return this.returnTyp e; };
13265 FunctionDefinition.prototype.set$returnType = function(value) { return this.retu rnType = value; }; 13783 FunctionDefinition.prototype.set$returnType = function(value) { return this.retu rnType = value; };
13266 FunctionDefinition.prototype.get$name = function() { return this.name; }; 13784 FunctionDefinition.prototype.get$name = function() { return this.name; };
13267 FunctionDefinition.prototype.set$name = function(value) { return this.name = val ue; }; 13785 FunctionDefinition.prototype.set$name = function(value) { return this.name = val ue; };
13268 FunctionDefinition.prototype.visit = function(visitor) { 13786 FunctionDefinition.prototype.visit = function(visitor) {
13269 return visitor.visitFunctionDefinition(this); 13787 return visitor.visitFunctionDefinition(this);
13270 } 13788 }
13271 // ********** Code for ReturnStatement ************** 13789 // ********** Code for ReturnStatement **************
13272 function ReturnStatement(value, span) { 13790 function ReturnStatement(value, span) {
13273 this.value = value; 13791 this.value = value;
13274 lang_Statement.call(this, span); 13792 Statement.call(this, span);
13275 // Initializers done 13793 // Initializers done
13276 } 13794 }
13277 $inherits(ReturnStatement, lang_Statement); 13795 $inherits(ReturnStatement, Statement);
13278 ReturnStatement.prototype.get$value = function() { return this.value; }; 13796 ReturnStatement.prototype.get$value = function() { return this.value; };
13279 ReturnStatement.prototype.set$value = function(value) { return this.value = valu e; }; 13797 ReturnStatement.prototype.set$value = function(value) { return this.value = valu e; };
13280 ReturnStatement.prototype.visit = function(visitor) { 13798 ReturnStatement.prototype.visit = function(visitor) {
13281 return visitor.visitReturnStatement(this); 13799 return visitor.visitReturnStatement(this);
13282 } 13800 }
13283 // ********** Code for ThrowStatement ************** 13801 // ********** Code for ThrowStatement **************
13284 function ThrowStatement(value, span) { 13802 function ThrowStatement(value, span) {
13285 this.value = value; 13803 this.value = value;
13286 lang_Statement.call(this, span); 13804 Statement.call(this, span);
13287 // Initializers done 13805 // Initializers done
13288 } 13806 }
13289 $inherits(ThrowStatement, lang_Statement); 13807 $inherits(ThrowStatement, Statement);
13290 ThrowStatement.prototype.get$value = function() { return this.value; }; 13808 ThrowStatement.prototype.get$value = function() { return this.value; };
13291 ThrowStatement.prototype.set$value = function(value) { return this.value = value ; }; 13809 ThrowStatement.prototype.set$value = function(value) { return this.value = value ; };
13292 ThrowStatement.prototype.visit = function(visitor) { 13810 ThrowStatement.prototype.visit = function(visitor) {
13293 return visitor.visitThrowStatement(this); 13811 return visitor.visitThrowStatement(this);
13294 } 13812 }
13295 // ********** Code for AssertStatement ************** 13813 // ********** Code for AssertStatement **************
13296 function AssertStatement(test, span) { 13814 function AssertStatement(test, span) {
13297 this.test = test; 13815 this.test = test;
13298 lang_Statement.call(this, span); 13816 Statement.call(this, span);
13299 // Initializers done 13817 // Initializers done
13300 } 13818 }
13301 $inherits(AssertStatement, lang_Statement); 13819 $inherits(AssertStatement, Statement);
13302 AssertStatement.prototype.visit = function(visitor) { 13820 AssertStatement.prototype.visit = function(visitor) {
13303 return visitor.visitAssertStatement(this); 13821 return visitor.visitAssertStatement(this);
13304 } 13822 }
13305 // ********** Code for BreakStatement ************** 13823 // ********** Code for BreakStatement **************
13306 function BreakStatement(label, span) { 13824 function BreakStatement(label, span) {
13307 this.label = label; 13825 this.label = label;
13308 lang_Statement.call(this, span); 13826 Statement.call(this, span);
13309 // Initializers done 13827 // Initializers done
13310 } 13828 }
13311 $inherits(BreakStatement, lang_Statement); 13829 $inherits(BreakStatement, Statement);
13312 BreakStatement.prototype.visit = function(visitor) { 13830 BreakStatement.prototype.visit = function(visitor) {
13313 return visitor.visitBreakStatement(this); 13831 return visitor.visitBreakStatement(this);
13314 } 13832 }
13315 // ********** Code for ContinueStatement ************** 13833 // ********** Code for ContinueStatement **************
13316 function ContinueStatement(label, span) { 13834 function ContinueStatement(label, span) {
13317 this.label = label; 13835 this.label = label;
13318 lang_Statement.call(this, span); 13836 Statement.call(this, span);
13319 // Initializers done 13837 // Initializers done
13320 } 13838 }
13321 $inherits(ContinueStatement, lang_Statement); 13839 $inherits(ContinueStatement, Statement);
13322 ContinueStatement.prototype.visit = function(visitor) { 13840 ContinueStatement.prototype.visit = function(visitor) {
13323 return visitor.visitContinueStatement(this); 13841 return visitor.visitContinueStatement(this);
13324 } 13842 }
13325 // ********** Code for IfStatement ************** 13843 // ********** Code for IfStatement **************
13326 function IfStatement(test, trueBranch, falseBranch, span) { 13844 function IfStatement(test, trueBranch, falseBranch, span) {
13327 this.test = test; 13845 this.test = test;
13328 this.trueBranch = trueBranch; 13846 this.trueBranch = trueBranch;
13329 this.falseBranch = falseBranch; 13847 this.falseBranch = falseBranch;
13330 lang_Statement.call(this, span); 13848 Statement.call(this, span);
13331 // Initializers done 13849 // Initializers done
13332 } 13850 }
13333 $inherits(IfStatement, lang_Statement); 13851 $inherits(IfStatement, Statement);
13334 IfStatement.prototype.visit = function(visitor) { 13852 IfStatement.prototype.visit = function(visitor) {
13335 return visitor.visitIfStatement(this); 13853 return visitor.visitIfStatement(this);
13336 } 13854 }
13337 // ********** Code for WhileStatement ************** 13855 // ********** Code for WhileStatement **************
13338 function WhileStatement(test, body, span) { 13856 function WhileStatement(test, body, span) {
13339 this.test = test; 13857 this.test = test;
13340 this.body = body; 13858 this.body = body;
13341 lang_Statement.call(this, span); 13859 Statement.call(this, span);
13342 // Initializers done 13860 // Initializers done
13343 } 13861 }
13344 $inherits(WhileStatement, lang_Statement); 13862 $inherits(WhileStatement, Statement);
13345 WhileStatement.prototype.visit = function(visitor) { 13863 WhileStatement.prototype.visit = function(visitor) {
13346 return visitor.visitWhileStatement(this); 13864 return visitor.visitWhileStatement(this);
13347 } 13865 }
13348 // ********** Code for DoStatement ************** 13866 // ********** Code for DoStatement **************
13349 function DoStatement(body, test, span) { 13867 function DoStatement(body, test, span) {
13350 this.body = body; 13868 this.body = body;
13351 this.test = test; 13869 this.test = test;
13352 lang_Statement.call(this, span); 13870 Statement.call(this, span);
13353 // Initializers done 13871 // Initializers done
13354 } 13872 }
13355 $inherits(DoStatement, lang_Statement); 13873 $inherits(DoStatement, Statement);
13356 DoStatement.prototype.visit = function(visitor) { 13874 DoStatement.prototype.visit = function(visitor) {
13357 return visitor.visitDoStatement(this); 13875 return visitor.visitDoStatement(this);
13358 } 13876 }
13359 // ********** Code for ForStatement ************** 13877 // ********** Code for ForStatement **************
13360 function ForStatement(init, test, step, body, span) { 13878 function ForStatement(init, test, step, body, span) {
13361 this.init = init; 13879 this.init = init;
13362 this.test = test; 13880 this.test = test;
13363 this.step = step; 13881 this.step = step;
13364 this.body = body; 13882 this.body = body;
13365 lang_Statement.call(this, span); 13883 Statement.call(this, span);
13366 // Initializers done 13884 // Initializers done
13367 } 13885 }
13368 $inherits(ForStatement, lang_Statement); 13886 $inherits(ForStatement, Statement);
13369 ForStatement.prototype.visit = function(visitor) { 13887 ForStatement.prototype.visit = function(visitor) {
13370 return visitor.visitForStatement(this); 13888 return visitor.visitForStatement(this);
13371 } 13889 }
13372 // ********** Code for ForInStatement ************** 13890 // ********** Code for ForInStatement **************
13373 function ForInStatement(item, list, body, span) { 13891 function ForInStatement(item, list, body, span) {
13374 this.item = item; 13892 this.item = item;
13375 this.list = list; 13893 this.list = list;
13376 this.body = body; 13894 this.body = body;
13377 lang_Statement.call(this, span); 13895 Statement.call(this, span);
13378 // Initializers done 13896 // Initializers done
13379 } 13897 }
13380 $inherits(ForInStatement, lang_Statement); 13898 $inherits(ForInStatement, Statement);
13381 ForInStatement.prototype.visit = function(visitor) { 13899 ForInStatement.prototype.visit = function(visitor) {
13382 return visitor.visitForInStatement(this); 13900 return visitor.visitForInStatement(this);
13383 } 13901 }
13384 // ********** Code for TryStatement ************** 13902 // ********** Code for TryStatement **************
13385 function TryStatement(body, catches, finallyBlock, span) { 13903 function TryStatement(body, catches, finallyBlock, span) {
13386 this.body = body; 13904 this.body = body;
13387 this.catches = catches; 13905 this.catches = catches;
13388 this.finallyBlock = finallyBlock; 13906 this.finallyBlock = finallyBlock;
13389 lang_Statement.call(this, span); 13907 Statement.call(this, span);
13390 // Initializers done 13908 // Initializers done
13391 } 13909 }
13392 $inherits(TryStatement, lang_Statement); 13910 $inherits(TryStatement, Statement);
13393 TryStatement.prototype.visit = function(visitor) { 13911 TryStatement.prototype.visit = function(visitor) {
13394 return visitor.visitTryStatement(this); 13912 return visitor.visitTryStatement(this);
13395 } 13913 }
13396 // ********** Code for SwitchStatement ************** 13914 // ********** Code for SwitchStatement **************
13397 function SwitchStatement(test, cases, span) { 13915 function SwitchStatement(test, cases, span) {
13398 this.test = test; 13916 this.test = test;
13399 this.cases = cases; 13917 this.cases = cases;
13400 lang_Statement.call(this, span); 13918 Statement.call(this, span);
13401 // Initializers done 13919 // Initializers done
13402 } 13920 }
13403 $inherits(SwitchStatement, lang_Statement); 13921 $inherits(SwitchStatement, Statement);
13404 SwitchStatement.prototype.visit = function(visitor) { 13922 SwitchStatement.prototype.visit = function(visitor) {
13405 return visitor.visitSwitchStatement(this); 13923 return visitor.visitSwitchStatement(this);
13406 } 13924 }
13407 // ********** Code for BlockStatement ************** 13925 // ********** Code for BlockStatement **************
13408 function BlockStatement(body, span) { 13926 function BlockStatement(body, span) {
13409 this.body = body; 13927 this.body = body;
13410 lang_Statement.call(this, span); 13928 Statement.call(this, span);
13411 // Initializers done 13929 // Initializers done
13412 } 13930 }
13413 $inherits(BlockStatement, lang_Statement); 13931 $inherits(BlockStatement, Statement);
13414 BlockStatement.prototype.visit = function(visitor) { 13932 BlockStatement.prototype.visit = function(visitor) {
13415 return visitor.visitBlockStatement(this); 13933 return visitor.visitBlockStatement(this);
13416 } 13934 }
13417 // ********** Code for LabeledStatement ************** 13935 // ********** Code for LabeledStatement **************
13418 function LabeledStatement(name, body, span) { 13936 function LabeledStatement(name, body, span) {
13419 this.name = name; 13937 this.name = name;
13420 this.body = body; 13938 this.body = body;
13421 lang_Statement.call(this, span); 13939 Statement.call(this, span);
13422 // Initializers done 13940 // Initializers done
13423 } 13941 }
13424 $inherits(LabeledStatement, lang_Statement); 13942 $inherits(LabeledStatement, Statement);
13425 LabeledStatement.prototype.get$name = function() { return this.name; }; 13943 LabeledStatement.prototype.get$name = function() { return this.name; };
13426 LabeledStatement.prototype.set$name = function(value) { return this.name = value ; }; 13944 LabeledStatement.prototype.set$name = function(value) { return this.name = value ; };
13427 LabeledStatement.prototype.visit = function(visitor) { 13945 LabeledStatement.prototype.visit = function(visitor) {
13428 return visitor.visitLabeledStatement(this); 13946 return visitor.visitLabeledStatement(this);
13429 } 13947 }
13430 // ********** Code for lang_ExpressionStatement ************** 13948 // ********** Code for ExpressionStatement **************
13431 function lang_ExpressionStatement(body, span) { 13949 function ExpressionStatement(body, span) {
13432 this.body = body; 13950 this.body = body;
13433 lang_Statement.call(this, span); 13951 Statement.call(this, span);
13434 // Initializers done 13952 // Initializers done
13435 } 13953 }
13436 $inherits(lang_ExpressionStatement, lang_Statement); 13954 $inherits(ExpressionStatement, Statement);
13437 lang_ExpressionStatement.prototype.visit = function(visitor) { 13955 ExpressionStatement.prototype.visit = function(visitor) {
13438 return visitor.visitExpressionStatement(this); 13956 return visitor.visitExpressionStatement(this);
13439 } 13957 }
13440 // ********** Code for EmptyStatement ************** 13958 // ********** Code for EmptyStatement **************
13441 function EmptyStatement(span) { 13959 function EmptyStatement(span) {
13442 lang_Statement.call(this, span); 13960 Statement.call(this, span);
13443 // Initializers done 13961 // Initializers done
13444 } 13962 }
13445 $inherits(EmptyStatement, lang_Statement); 13963 $inherits(EmptyStatement, Statement);
13446 EmptyStatement.prototype.visit = function(visitor) { 13964 EmptyStatement.prototype.visit = function(visitor) {
13447 return visitor.visitEmptyStatement(this); 13965 return visitor.visitEmptyStatement(this);
13448 } 13966 }
13449 // ********** Code for DietStatement ************** 13967 // ********** Code for DietStatement **************
13450 function DietStatement(span) { 13968 function DietStatement(span) {
13451 lang_Statement.call(this, span); 13969 Statement.call(this, span);
13452 // Initializers done 13970 // Initializers done
13453 } 13971 }
13454 $inherits(DietStatement, lang_Statement); 13972 $inherits(DietStatement, Statement);
13455 DietStatement.prototype.visit = function(visitor) { 13973 DietStatement.prototype.visit = function(visitor) {
13456 return visitor.visitDietStatement(this); 13974 return visitor.visitDietStatement(this);
13457 } 13975 }
13458 // ********** Code for NativeStatement ************** 13976 // ********** Code for NativeStatement **************
13459 function NativeStatement(body, span) { 13977 function NativeStatement(body, span) {
13460 this.body = body; 13978 this.body = body;
13461 lang_Statement.call(this, span); 13979 Statement.call(this, span);
13462 // Initializers done 13980 // Initializers done
13463 } 13981 }
13464 $inherits(NativeStatement, lang_Statement); 13982 $inherits(NativeStatement, Statement);
13465 NativeStatement.prototype.visit = function(visitor) { 13983 NativeStatement.prototype.visit = function(visitor) {
13466 return visitor.visitNativeStatement(this); 13984 return visitor.visitNativeStatement(this);
13467 } 13985 }
13468 // ********** Code for LambdaExpression ************** 13986 // ********** Code for LambdaExpression **************
13469 function LambdaExpression(func, span) { 13987 function LambdaExpression(func, span) {
13470 this.func = func; 13988 this.func = func;
13471 lang_Expression.call(this, span); 13989 Expression.call(this, span);
13472 // Initializers done 13990 // Initializers done
13473 } 13991 }
13474 $inherits(LambdaExpression, lang_Expression); 13992 $inherits(LambdaExpression, Expression);
13475 LambdaExpression.prototype.visit = function(visitor) { 13993 LambdaExpression.prototype.visit = function(visitor) {
13476 return visitor.visitLambdaExpression(this); 13994 return visitor.visitLambdaExpression(this);
13477 } 13995 }
13478 // ********** Code for CallExpression ************** 13996 // ********** Code for CallExpression **************
13479 function CallExpression(target, arguments, span) { 13997 function CallExpression(target, arguments, span) {
13480 this.target = target; 13998 this.target = target;
13481 this.arguments = arguments; 13999 this.arguments = arguments;
13482 lang_Expression.call(this, span); 14000 Expression.call(this, span);
13483 // Initializers done 14001 // Initializers done
13484 } 14002 }
13485 $inherits(CallExpression, lang_Expression); 14003 $inherits(CallExpression, Expression);
13486 CallExpression.prototype.get$arguments = function() { return this.arguments; }; 14004 CallExpression.prototype.get$arguments = function() { return this.arguments; };
13487 CallExpression.prototype.set$arguments = function(value) { return this.arguments = value; }; 14005 CallExpression.prototype.set$arguments = function(value) { return this.arguments = value; };
13488 CallExpression.prototype.visit = function(visitor) { 14006 CallExpression.prototype.visit = function(visitor) {
13489 return visitor.visitCallExpression(this); 14007 return visitor.visitCallExpression(this);
13490 } 14008 }
13491 // ********** Code for IndexExpression ************** 14009 // ********** Code for IndexExpression **************
13492 function IndexExpression(target, index, span) { 14010 function IndexExpression(target, index, span) {
13493 this.target = target; 14011 this.target = target;
13494 this.index = index; 14012 this.index = index;
13495 lang_Expression.call(this, span); 14013 Expression.call(this, span);
13496 // Initializers done 14014 // Initializers done
13497 } 14015 }
13498 $inherits(IndexExpression, lang_Expression); 14016 $inherits(IndexExpression, Expression);
13499 IndexExpression.prototype.visit = function(visitor) { 14017 IndexExpression.prototype.visit = function(visitor) {
13500 return visitor.visitIndexExpression(this); 14018 return visitor.visitIndexExpression(this);
13501 } 14019 }
13502 // ********** Code for BinaryExpression ************** 14020 // ********** Code for BinaryExpression **************
13503 function BinaryExpression(op, x, y, span) { 14021 function BinaryExpression(op, x, y, span) {
13504 this.op = op; 14022 this.op = op;
13505 this.x = x; 14023 this.x = x;
13506 this.y = y; 14024 this.y = y;
13507 lang_Expression.call(this, span); 14025 Expression.call(this, span);
13508 // Initializers done 14026 // Initializers done
13509 } 14027 }
13510 $inherits(BinaryExpression, lang_Expression); 14028 $inherits(BinaryExpression, Expression);
13511 BinaryExpression.prototype.visit = function(visitor) { 14029 BinaryExpression.prototype.visit = function(visitor) {
13512 return visitor.visitBinaryExpression(this); 14030 return visitor.visitBinaryExpression(this);
13513 } 14031 }
13514 // ********** Code for UnaryExpression ************** 14032 // ********** Code for UnaryExpression **************
13515 function UnaryExpression(op, self, span) { 14033 function UnaryExpression(op, self, span) {
13516 this.op = op; 14034 this.op = op;
13517 this.self = self; 14035 this.self = self;
13518 lang_Expression.call(this, span); 14036 Expression.call(this, span);
13519 // Initializers done 14037 // Initializers done
13520 } 14038 }
13521 $inherits(UnaryExpression, lang_Expression); 14039 $inherits(UnaryExpression, Expression);
13522 UnaryExpression.prototype.visit = function(visitor) { 14040 UnaryExpression.prototype.visit = function(visitor) {
13523 return visitor.visitUnaryExpression(this); 14041 return visitor.visitUnaryExpression(this);
13524 } 14042 }
13525 // ********** Code for PostfixExpression ************** 14043 // ********** Code for PostfixExpression **************
13526 function PostfixExpression(body, op, span) { 14044 function PostfixExpression(body, op, span) {
13527 this.body = body; 14045 this.body = body;
13528 this.op = op; 14046 this.op = op;
13529 lang_Expression.call(this, span); 14047 Expression.call(this, span);
13530 // Initializers done 14048 // Initializers done
13531 } 14049 }
13532 $inherits(PostfixExpression, lang_Expression); 14050 $inherits(PostfixExpression, Expression);
13533 PostfixExpression.prototype.visit = function(visitor) { 14051 PostfixExpression.prototype.visit = function(visitor) {
13534 return visitor.visitPostfixExpression$1(this); 14052 return visitor.visitPostfixExpression$1(this);
13535 } 14053 }
13536 // ********** Code for lang_NewExpression ************** 14054 // ********** Code for NewExpression **************
13537 function lang_NewExpression(isConst, type, name, arguments, span) { 14055 function NewExpression(isConst, type, name, arguments, span) {
13538 this.isConst = isConst; 14056 this.isConst = isConst;
13539 this.type = type; 14057 this.type = type;
13540 this.name = name; 14058 this.name = name;
13541 this.arguments = arguments; 14059 this.arguments = arguments;
13542 lang_Expression.call(this, span); 14060 Expression.call(this, span);
13543 // Initializers done 14061 // Initializers done
13544 } 14062 }
13545 $inherits(lang_NewExpression, lang_Expression); 14063 $inherits(NewExpression, Expression);
13546 lang_NewExpression.prototype.get$isConst = function() { return this.isConst; }; 14064 NewExpression.prototype.get$isConst = function() { return this.isConst; };
13547 lang_NewExpression.prototype.set$isConst = function(value) { return this.isConst = value; }; 14065 NewExpression.prototype.set$isConst = function(value) { return this.isConst = va lue; };
13548 lang_NewExpression.prototype.get$name = function() { return this.name; }; 14066 NewExpression.prototype.get$name = function() { return this.name; };
13549 lang_NewExpression.prototype.set$name = function(value) { return this.name = val ue; }; 14067 NewExpression.prototype.set$name = function(value) { return this.name = value; } ;
13550 lang_NewExpression.prototype.get$arguments = function() { return this.arguments; }; 14068 NewExpression.prototype.get$arguments = function() { return this.arguments; };
13551 lang_NewExpression.prototype.set$arguments = function(value) { return this.argum ents = value; }; 14069 NewExpression.prototype.set$arguments = function(value) { return this.arguments = value; };
13552 lang_NewExpression.prototype.visit = function(visitor) { 14070 NewExpression.prototype.visit = function(visitor) {
13553 return visitor.visitNewExpression(this); 14071 return visitor.visitNewExpression(this);
13554 } 14072 }
13555 // ********** Code for ListExpression ************** 14073 // ********** Code for ListExpression **************
13556 function ListExpression(isConst, type, values, span) { 14074 function ListExpression(isConst, type, values, span) {
13557 this.isConst = isConst; 14075 this.isConst = isConst;
13558 this.type = type; 14076 this.type = type;
13559 this.values = values; 14077 this.values = values;
13560 lang_Expression.call(this, span); 14078 Expression.call(this, span);
13561 // Initializers done 14079 // Initializers done
13562 } 14080 }
13563 $inherits(ListExpression, lang_Expression); 14081 $inherits(ListExpression, Expression);
13564 ListExpression.prototype.get$isConst = function() { return this.isConst; }; 14082 ListExpression.prototype.get$isConst = function() { return this.isConst; };
13565 ListExpression.prototype.set$isConst = function(value) { return this.isConst = v alue; }; 14083 ListExpression.prototype.set$isConst = function(value) { return this.isConst = v alue; };
13566 ListExpression.prototype.visit = function(visitor) { 14084 ListExpression.prototype.visit = function(visitor) {
13567 return visitor.visitListExpression(this); 14085 return visitor.visitListExpression(this);
13568 } 14086 }
13569 // ********** Code for MapExpression ************** 14087 // ********** Code for MapExpression **************
13570 function MapExpression(isConst, type, items, span) { 14088 function MapExpression(isConst, type, items, span) {
13571 this.isConst = isConst; 14089 this.isConst = isConst;
13572 this.type = type; 14090 this.type = type;
13573 this.items = items; 14091 this.items = items;
13574 lang_Expression.call(this, span); 14092 Expression.call(this, span);
13575 // Initializers done 14093 // Initializers done
13576 } 14094 }
13577 $inherits(MapExpression, lang_Expression); 14095 $inherits(MapExpression, Expression);
13578 MapExpression.prototype.get$isConst = function() { return this.isConst; }; 14096 MapExpression.prototype.get$isConst = function() { return this.isConst; };
13579 MapExpression.prototype.set$isConst = function(value) { return this.isConst = va lue; }; 14097 MapExpression.prototype.set$isConst = function(value) { return this.isConst = va lue; };
13580 MapExpression.prototype.visit = function(visitor) { 14098 MapExpression.prototype.visit = function(visitor) {
13581 return visitor.visitMapExpression(this); 14099 return visitor.visitMapExpression(this);
13582 } 14100 }
13583 // ********** Code for ConditionalExpression ************** 14101 // ********** Code for ConditionalExpression **************
13584 function ConditionalExpression(test, trueBranch, falseBranch, span) { 14102 function ConditionalExpression(test, trueBranch, falseBranch, span) {
13585 this.test = test; 14103 this.test = test;
13586 this.trueBranch = trueBranch; 14104 this.trueBranch = trueBranch;
13587 this.falseBranch = falseBranch; 14105 this.falseBranch = falseBranch;
13588 lang_Expression.call(this, span); 14106 Expression.call(this, span);
13589 // Initializers done 14107 // Initializers done
13590 } 14108 }
13591 $inherits(ConditionalExpression, lang_Expression); 14109 $inherits(ConditionalExpression, Expression);
13592 ConditionalExpression.prototype.visit = function(visitor) { 14110 ConditionalExpression.prototype.visit = function(visitor) {
13593 return visitor.visitConditionalExpression(this); 14111 return visitor.visitConditionalExpression(this);
13594 } 14112 }
13595 // ********** Code for IsExpression ************** 14113 // ********** Code for IsExpression **************
13596 function IsExpression(isTrue, x, type, span) { 14114 function IsExpression(isTrue, x, type, span) {
13597 this.isTrue = isTrue; 14115 this.isTrue = isTrue;
13598 this.x = x; 14116 this.x = x;
13599 this.type = type; 14117 this.type = type;
13600 lang_Expression.call(this, span); 14118 Expression.call(this, span);
13601 // Initializers done 14119 // Initializers done
13602 } 14120 }
13603 $inherits(IsExpression, lang_Expression); 14121 $inherits(IsExpression, Expression);
13604 IsExpression.prototype.visit = function(visitor) { 14122 IsExpression.prototype.visit = function(visitor) {
13605 return visitor.visitIsExpression(this); 14123 return visitor.visitIsExpression(this);
13606 } 14124 }
13607 // ********** Code for ParenExpression ************** 14125 // ********** Code for ParenExpression **************
13608 function ParenExpression(body, span) { 14126 function ParenExpression(body, span) {
13609 this.body = body; 14127 this.body = body;
13610 lang_Expression.call(this, span); 14128 Expression.call(this, span);
13611 // Initializers done 14129 // Initializers done
13612 } 14130 }
13613 $inherits(ParenExpression, lang_Expression); 14131 $inherits(ParenExpression, Expression);
13614 ParenExpression.prototype.visit = function(visitor) { 14132 ParenExpression.prototype.visit = function(visitor) {
13615 return visitor.visitParenExpression(this); 14133 return visitor.visitParenExpression(this);
13616 } 14134 }
13617 // ********** Code for DotExpression ************** 14135 // ********** Code for DotExpression **************
13618 function DotExpression(self, name, span) { 14136 function DotExpression(self, name, span) {
13619 this.self = self; 14137 this.self = self;
13620 this.name = name; 14138 this.name = name;
13621 lang_Expression.call(this, span); 14139 Expression.call(this, span);
13622 // Initializers done 14140 // Initializers done
13623 } 14141 }
13624 $inherits(DotExpression, lang_Expression); 14142 $inherits(DotExpression, Expression);
13625 DotExpression.prototype.get$name = function() { return this.name; }; 14143 DotExpression.prototype.get$name = function() { return this.name; };
13626 DotExpression.prototype.set$name = function(value) { return this.name = value; } ; 14144 DotExpression.prototype.set$name = function(value) { return this.name = value; } ;
13627 DotExpression.prototype.visit = function(visitor) { 14145 DotExpression.prototype.visit = function(visitor) {
13628 return visitor.visitDotExpression(this); 14146 return visitor.visitDotExpression(this);
13629 } 14147 }
13630 // ********** Code for VarExpression ************** 14148 // ********** Code for VarExpression **************
13631 function VarExpression(name, span) { 14149 function VarExpression(name, span) {
13632 this.name = name; 14150 this.name = name;
13633 lang_Expression.call(this, span); 14151 Expression.call(this, span);
13634 // Initializers done 14152 // Initializers done
13635 } 14153 }
13636 $inherits(VarExpression, lang_Expression); 14154 $inherits(VarExpression, Expression);
13637 VarExpression.prototype.get$name = function() { return this.name; }; 14155 VarExpression.prototype.get$name = function() { return this.name; };
13638 VarExpression.prototype.set$name = function(value) { return this.name = value; } ; 14156 VarExpression.prototype.set$name = function(value) { return this.name = value; } ;
13639 VarExpression.prototype.visit = function(visitor) { 14157 VarExpression.prototype.visit = function(visitor) {
13640 return visitor.visitVarExpression(this); 14158 return visitor.visitVarExpression(this);
13641 } 14159 }
13642 // ********** Code for ThisExpression ************** 14160 // ********** Code for ThisExpression **************
13643 function ThisExpression(span) { 14161 function ThisExpression(span) {
13644 lang_Expression.call(this, span); 14162 Expression.call(this, span);
13645 // Initializers done 14163 // Initializers done
13646 } 14164 }
13647 $inherits(ThisExpression, lang_Expression); 14165 $inherits(ThisExpression, Expression);
13648 ThisExpression.prototype.visit = function(visitor) { 14166 ThisExpression.prototype.visit = function(visitor) {
13649 return visitor.visitThisExpression(this); 14167 return visitor.visitThisExpression(this);
13650 } 14168 }
13651 // ********** Code for SuperExpression ************** 14169 // ********** Code for SuperExpression **************
13652 function SuperExpression(span) { 14170 function SuperExpression(span) {
13653 lang_Expression.call(this, span); 14171 Expression.call(this, span);
13654 // Initializers done 14172 // Initializers done
13655 } 14173 }
13656 $inherits(SuperExpression, lang_Expression); 14174 $inherits(SuperExpression, Expression);
13657 SuperExpression.prototype.visit = function(visitor) { 14175 SuperExpression.prototype.visit = function(visitor) {
13658 return visitor.visitSuperExpression(this); 14176 return visitor.visitSuperExpression(this);
13659 } 14177 }
13660 // ********** Code for NullExpression ************** 14178 // ********** Code for NullExpression **************
13661 function NullExpression(span) { 14179 function NullExpression(span) {
13662 lang_Expression.call(this, span); 14180 Expression.call(this, span);
13663 // Initializers done 14181 // Initializers done
13664 } 14182 }
13665 $inherits(NullExpression, lang_Expression); 14183 $inherits(NullExpression, Expression);
13666 NullExpression.prototype.visit = function(visitor) { 14184 NullExpression.prototype.visit = function(visitor) {
13667 return visitor.visitNullExpression(this); 14185 return visitor.visitNullExpression(this);
13668 } 14186 }
13669 // ********** Code for LiteralExpression ************** 14187 // ********** Code for LiteralExpression **************
13670 function LiteralExpression(value, type, text, span) { 14188 function LiteralExpression(value, type, text, span) {
13671 this.value = value; 14189 this.value = value;
13672 this.type = type; 14190 this.type = type;
13673 this.text = text; 14191 this.text = text;
13674 lang_Expression.call(this, span); 14192 Expression.call(this, span);
13675 // Initializers done 14193 // Initializers done
13676 } 14194 }
13677 $inherits(LiteralExpression, lang_Expression); 14195 $inherits(LiteralExpression, Expression);
13678 LiteralExpression.prototype.get$value = function() { return this.value; }; 14196 LiteralExpression.prototype.get$value = function() { return this.value; };
13679 LiteralExpression.prototype.set$value = function(value) { return this.value = va lue; }; 14197 LiteralExpression.prototype.set$value = function(value) { return this.value = va lue; };
13680 LiteralExpression.prototype.get$text = function() { return this.text; }; 14198 LiteralExpression.prototype.get$text = function() { return this.text; };
13681 LiteralExpression.prototype.set$text = function(value) { return this.text = valu e; }; 14199 LiteralExpression.prototype.set$text = function(value) { return this.text = valu e; };
13682 LiteralExpression.prototype.visit = function(visitor) { 14200 LiteralExpression.prototype.visit = function(visitor) {
13683 return visitor.visitLiteralExpression(this); 14201 return visitor.visitLiteralExpression(this);
13684 } 14202 }
13685 // ********** Code for NameTypeReference ************** 14203 // ********** Code for NameTypeReference **************
13686 function NameTypeReference(isFinal, name, names, span) { 14204 function NameTypeReference(isFinal, name, names, span) {
13687 this.isFinal = isFinal; 14205 this.isFinal = isFinal;
(...skipping 28 matching lines...) Expand all
13716 // Initializers done 14234 // Initializers done
13717 } 14235 }
13718 $inherits(FunctionTypeReference, TypeReference); 14236 $inherits(FunctionTypeReference, TypeReference);
13719 FunctionTypeReference.prototype.visit = function(visitor) { 14237 FunctionTypeReference.prototype.visit = function(visitor) {
13720 return visitor.visitFunctionTypeReference(this); 14238 return visitor.visitFunctionTypeReference(this);
13721 } 14239 }
13722 // ********** Code for ArgumentNode ************** 14240 // ********** Code for ArgumentNode **************
13723 function ArgumentNode(label, value, span) { 14241 function ArgumentNode(label, value, span) {
13724 this.label = label; 14242 this.label = label;
13725 this.value = value; 14243 this.value = value;
13726 lang_Node.call(this, span); 14244 Node.call(this, span);
13727 // Initializers done 14245 // Initializers done
13728 } 14246 }
13729 $inherits(ArgumentNode, lang_Node); 14247 $inherits(ArgumentNode, Node);
13730 ArgumentNode.prototype.get$value = function() { return this.value; }; 14248 ArgumentNode.prototype.get$value = function() { return this.value; };
13731 ArgumentNode.prototype.set$value = function(value) { return this.value = value; }; 14249 ArgumentNode.prototype.set$value = function(value) { return this.value = value; };
13732 ArgumentNode.prototype.visit = function(visitor) { 14250 ArgumentNode.prototype.visit = function(visitor) {
13733 return visitor.visitArgumentNode(this); 14251 return visitor.visitArgumentNode(this);
13734 } 14252 }
13735 // ********** Code for FormalNode ************** 14253 // ********** Code for FormalNode **************
13736 function FormalNode(isThis, isRest, type, name, value, span) { 14254 function FormalNode(isThis, isRest, type, name, value, span) {
13737 this.isThis = isThis; 14255 this.isThis = isThis;
13738 this.isRest = isRest; 14256 this.isRest = isRest;
13739 this.type = type; 14257 this.type = type;
13740 this.name = name; 14258 this.name = name;
13741 this.value = value; 14259 this.value = value;
13742 lang_Node.call(this, span); 14260 Node.call(this, span);
13743 // Initializers done 14261 // Initializers done
13744 } 14262 }
13745 $inherits(FormalNode, lang_Node); 14263 $inherits(FormalNode, Node);
13746 FormalNode.prototype.get$name = function() { return this.name; }; 14264 FormalNode.prototype.get$name = function() { return this.name; };
13747 FormalNode.prototype.set$name = function(value) { return this.name = value; }; 14265 FormalNode.prototype.set$name = function(value) { return this.name = value; };
13748 FormalNode.prototype.get$value = function() { return this.value; }; 14266 FormalNode.prototype.get$value = function() { return this.value; };
13749 FormalNode.prototype.set$value = function(value) { return this.value = value; }; 14267 FormalNode.prototype.set$value = function(value) { return this.value = value; };
13750 FormalNode.prototype.visit = function(visitor) { 14268 FormalNode.prototype.visit = function(visitor) {
13751 return visitor.visitFormalNode(this); 14269 return visitor.visitFormalNode(this);
13752 } 14270 }
13753 // ********** Code for CatchNode ************** 14271 // ********** Code for CatchNode **************
13754 function CatchNode(exception, trace, body, span) { 14272 function CatchNode(exception, trace, body, span) {
13755 this.exception = exception; 14273 this.exception = exception;
13756 this.trace = trace; 14274 this.trace = trace;
13757 this.body = body; 14275 this.body = body;
13758 lang_Node.call(this, span); 14276 Node.call(this, span);
13759 // Initializers done 14277 // Initializers done
13760 } 14278 }
13761 $inherits(CatchNode, lang_Node); 14279 $inherits(CatchNode, Node);
13762 CatchNode.prototype.visit = function(visitor) { 14280 CatchNode.prototype.visit = function(visitor) {
13763 return visitor.visitCatchNode(this); 14281 return visitor.visitCatchNode(this);
13764 } 14282 }
13765 // ********** Code for CaseNode ************** 14283 // ********** Code for CaseNode **************
13766 function CaseNode(label, cases, statements, span) { 14284 function CaseNode(label, cases, statements, span) {
13767 this.label = label; 14285 this.label = label;
13768 this.cases = cases; 14286 this.cases = cases;
13769 this.statements = statements; 14287 this.statements = statements;
13770 lang_Node.call(this, span); 14288 Node.call(this, span);
13771 // Initializers done 14289 // Initializers done
13772 } 14290 }
13773 $inherits(CaseNode, lang_Node); 14291 $inherits(CaseNode, Node);
13774 CaseNode.prototype.visit = function(visitor) { 14292 CaseNode.prototype.visit = function(visitor) {
13775 return visitor.visitCaseNode(this); 14293 return visitor.visitCaseNode(this);
13776 } 14294 }
13777 // ********** Code for TypeParameter ************** 14295 // ********** Code for TypeParameter **************
13778 function TypeParameter(name, extendsType, span) { 14296 function TypeParameter(name, extendsType, span) {
13779 this.name = name; 14297 this.name = name;
13780 this.extendsType = extendsType; 14298 this.extendsType = extendsType;
13781 lang_Node.call(this, span); 14299 Node.call(this, span);
13782 // Initializers done 14300 // Initializers done
13783 } 14301 }
13784 $inherits(TypeParameter, lang_Node); 14302 $inherits(TypeParameter, Node);
13785 TypeParameter.prototype.get$name = function() { return this.name; }; 14303 TypeParameter.prototype.get$name = function() { return this.name; };
13786 TypeParameter.prototype.set$name = function(value) { return this.name = value; } ; 14304 TypeParameter.prototype.set$name = function(value) { return this.name = value; } ;
13787 TypeParameter.prototype.visit = function(visitor) { 14305 TypeParameter.prototype.visit = function(visitor) {
13788 return visitor.visitTypeParameter(this); 14306 return visitor.visitTypeParameter(this);
13789 } 14307 }
13790 // ********** Code for lang_Identifier ************** 14308 // ********** Code for Identifier **************
13791 function lang_Identifier(name, span) { 14309 function Identifier(name, span) {
13792 this.name = name; 14310 this.name = name;
13793 lang_Node.call(this, span); 14311 Node.call(this, span);
13794 // Initializers done 14312 // Initializers done
13795 } 14313 }
13796 $inherits(lang_Identifier, lang_Node); 14314 $inherits(Identifier, Node);
13797 lang_Identifier.prototype.get$name = function() { return this.name; }; 14315 Identifier.prototype.get$name = function() { return this.name; };
13798 lang_Identifier.prototype.set$name = function(value) { return this.name = value; }; 14316 Identifier.prototype.set$name = function(value) { return this.name = value; };
13799 lang_Identifier.prototype.visit = function(visitor) { 14317 Identifier.prototype.visit = function(visitor) {
13800 return visitor.visitIdentifier(this); 14318 return visitor.visitIdentifier(this);
13801 } 14319 }
13802 // ********** Code for DeclaredIdentifier ************** 14320 // ********** Code for DeclaredIdentifier **************
13803 function DeclaredIdentifier(type, name, span) { 14321 function DeclaredIdentifier(type, name, span) {
13804 this.type = type; 14322 this.type = type;
13805 this.name = name; 14323 this.name = name;
13806 lang_Expression.call(this, span); 14324 Expression.call(this, span);
13807 // Initializers done 14325 // Initializers done
13808 } 14326 }
13809 $inherits(DeclaredIdentifier, lang_Expression); 14327 $inherits(DeclaredIdentifier, Expression);
13810 DeclaredIdentifier.prototype.get$name = function() { return this.name; }; 14328 DeclaredIdentifier.prototype.get$name = function() { return this.name; };
13811 DeclaredIdentifier.prototype.set$name = function(value) { return this.name = val ue; }; 14329 DeclaredIdentifier.prototype.set$name = function(value) { return this.name = val ue; };
13812 DeclaredIdentifier.prototype.visit = function(visitor) { 14330 DeclaredIdentifier.prototype.visit = function(visitor) {
13813 return visitor.visitDeclaredIdentifier(this); 14331 return visitor.visitDeclaredIdentifier(this);
13814 } 14332 }
13815 // ********** Code for TreePrinter ************** 14333 // ********** Code for TreePrinter **************
13816 function TreePrinter() {} 14334 function TreePrinter() {}
13817 TreePrinter.prototype.visitDirectiveDefinition = function(node) { 14335 TreePrinter.prototype.visitDirectiveDefinition = function(node) {
13818 this.output.heading('DirectiveDefinition', node.span); 14336 this.output.heading('DirectiveDefinition', node.span);
13819 this.output.writeNode('name', node.name); 14337 this.output.writeNode('name', node.name);
(...skipping 251 matching lines...) Expand 10 before | Expand all | Expand 10 after
14071 } 14589 }
14072 TreePrinter.prototype.visitDeclaredIdentifier = function(node) { 14590 TreePrinter.prototype.visitDeclaredIdentifier = function(node) {
14073 this.output.heading('DeclaredIdentifier', node.span); 14591 this.output.heading('DeclaredIdentifier', node.span);
14074 this.output.writeNode('type', node.type); 14592 this.output.writeNode('type', node.type);
14075 this.output.writeNode('name', node.name); 14593 this.output.writeNode('name', node.name);
14076 } 14594 }
14077 TreePrinter.prototype.visitTypeReference = function(node) { 14595 TreePrinter.prototype.visitTypeReference = function(node) {
14078 this.output.heading('TypeReference(' + this.output.toValue(node.type) + ")", n ode.span); 14596 this.output.heading('TypeReference(' + this.output.toValue(node.type) + ")", n ode.span);
14079 } 14597 }
14080 TreePrinter.prototype.visitPostfixExpression$1 = TreePrinter.prototype.visitPost fixExpression; 14598 TreePrinter.prototype.visitPostfixExpression$1 = TreePrinter.prototype.visitPost fixExpression;
14081 // ********** Code for lang_Type ************** 14599 // ********** Code for Type **************
14082 function lang_Type(name) { 14600 function Type(name) {
14083 this.name = name; 14601 this.name = name;
14084 this.isTested = false; 14602 this.isTested = false;
14085 // Initializers done 14603 // Initializers done
14086 } 14604 }
14087 lang_Type.prototype.get$name = function() { return this.name; }; 14605 Type.prototype.get$name = function() { return this.name; };
14088 lang_Type.prototype.markUsed = function() { 14606 Type.prototype.markUsed = function() {
14089 14607
14090 } 14608 }
14091 lang_Type.prototype.get$typeMember = function() { 14609 Type.prototype.get$typeMember = function() {
14092 if (this._typeMember == null) { 14610 if (this._typeMember == null) {
14093 this._typeMember = new TypeMember(this); 14611 this._typeMember = new TypeMember(this);
14094 } 14612 }
14095 return this._typeMember; 14613 return this._typeMember;
14096 } 14614 }
14097 lang_Type.prototype.getMember = function(name) { 14615 Type.prototype.getMember = function(name) {
14098 return null; 14616 return null;
14099 } 14617 }
14100 lang_Type.prototype.get$isVar = function() { 14618 Type.prototype.get$isVar = function() {
14101 return false; 14619 return false;
14102 } 14620 }
14103 lang_Type.prototype.get$isTop = function() { 14621 Type.prototype.get$isTop = function() {
14104 return false; 14622 return false;
14105 } 14623 }
14106 lang_Type.prototype.get$isObject = function() { 14624 Type.prototype.get$isObject = function() {
14107 return false; 14625 return false;
14108 } 14626 }
14109 lang_Type.prototype.get$isString = function() { 14627 Type.prototype.get$isString = function() {
14110 return false; 14628 return false;
14111 } 14629 }
14112 lang_Type.prototype.get$isBool = function() { 14630 Type.prototype.get$isBool = function() {
14113 return false; 14631 return false;
14114 } 14632 }
14115 lang_Type.prototype.get$isFunction = function() { 14633 Type.prototype.get$isFunction = function() {
14116 return false; 14634 return false;
14117 } 14635 }
14118 lang_Type.prototype.get$isList = function() { 14636 Type.prototype.get$isList = function() {
14119 return false; 14637 return false;
14120 } 14638 }
14121 lang_Type.prototype.get$isNum = function() { 14639 Type.prototype.get$isNum = function() {
14122 return false; 14640 return false;
14123 } 14641 }
14124 lang_Type.prototype.get$isVarOrFunction = function() { 14642 Type.prototype.get$isVarOrFunction = function() {
14125 return this.get$isVar() || this.get$isFunction(); 14643 return this.get$isVar() || this.get$isFunction();
14126 } 14644 }
14127 lang_Type.prototype.getCallMethod = function() { 14645 Type.prototype.getCallMethod = function() {
14128 return null; 14646 return null;
14129 } 14647 }
14130 lang_Type.prototype.get$isClosed = function() { 14648 Type.prototype.get$isClosed = function() {
14131 return this.get$isString() || this.get$isBool() || this.get$isNum() || this.ge t$isFunction(); 14649 return this.get$isString() || this.get$isBool() || this.get$isNum() || this.ge t$isFunction();
14132 } 14650 }
14133 lang_Type.prototype.get$isUsed = function() { 14651 Type.prototype.get$isUsed = function() {
14134 return false; 14652 return false;
14135 } 14653 }
14136 lang_Type.prototype.get$isGeneric = function() { 14654 Type.prototype.get$isGeneric = function() {
14137 return false; 14655 return false;
14138 } 14656 }
14139 lang_Type.prototype.get$isNativeType = function() { 14657 Type.prototype.get$isNativeType = function() {
14140 return false; 14658 return false;
14141 } 14659 }
14142 lang_Type.prototype.get$isNative = function() { 14660 Type.prototype.get$isNative = function() {
14143 return this.get$isNativeType(); 14661 return this.get$isNativeType();
14144 } 14662 }
14145 lang_Type.prototype.get$hasTypeParams = function() { 14663 Type.prototype.get$hasTypeParams = function() {
14146 return false; 14664 return false;
14147 } 14665 }
14148 lang_Type.prototype.get$typeofName = function() { 14666 Type.prototype.get$typeofName = function() {
14149 return null; 14667 return null;
14150 } 14668 }
14151 lang_Type.prototype.get$jsname = function() { 14669 Type.prototype.get$jsname = function() {
14152 return this._jsname == null ? this.name : this._jsname; 14670 return this._jsname == null ? this.name : this._jsname;
14153 } 14671 }
14154 lang_Type.prototype.set$jsname = function(name) { 14672 Type.prototype.set$jsname = function(name) {
14155 return this._jsname = name; 14673 return this._jsname = name;
14156 } 14674 }
14157 lang_Type.prototype.getAllMembers = function() { 14675 Type.prototype.getAllMembers = function() {
14158 return $map([]); 14676 return $map([]);
14159 } 14677 }
14160 lang_Type.prototype.needsVarCall = function(args) { 14678 Type.prototype.needsVarCall = function(args) {
14161 if (this.get$isVarOrFunction()) { 14679 if (this.get$isVarOrFunction()) {
14162 return true; 14680 return true;
14163 } 14681 }
14164 var call = this.getCallMethod(); 14682 var call = this.getCallMethod();
14165 if ($ne(call, null)) { 14683 if ($ne(call, null)) {
14166 if (args.get$length() != call.get$parameters().length || !call.namesInOrder( args)) { 14684 if (args.get$length() != call.get$parameters().length || !call.namesInOrder( args)) {
14167 return true; 14685 return true;
14168 } 14686 }
14169 } 14687 }
14170 return false; 14688 return false;
14171 } 14689 }
14172 lang_Type.union = function(x, y) { 14690 Type.union = function(x, y) {
14173 if ($eq(x, y)) return x; 14691 if ($eq(x, y)) return x;
14174 if (x.get$isNum() && y.get$isNum()) return world.numType; 14692 if (x.get$isNum() && y.get$isNum()) return world.numType;
14175 if (x.get$isString() && y.get$isString()) return world.stringType; 14693 if (x.get$isString() && y.get$isString()) return world.stringType;
14176 return world.varType; 14694 return world.varType;
14177 } 14695 }
14178 // ********** Code for ParameterType ************** 14696 // ********** Code for ParameterType **************
14179 function ParameterType(name, typeParameter) { 14697 function ParameterType(name, typeParameter) {
14180 this.typeParameter = typeParameter; 14698 this.typeParameter = typeParameter;
14181 lang_Type.call(this, name); 14699 Type.call(this, name);
14182 // Initializers done 14700 // Initializers done
14183 } 14701 }
14184 $inherits(ParameterType, lang_Type); 14702 $inherits(ParameterType, Type);
14185 ParameterType.prototype.get$isClass = function() { 14703 ParameterType.prototype.get$isClass = function() {
14186 return false; 14704 return false;
14187 } 14705 }
14188 ParameterType.prototype.get$library = function() { 14706 ParameterType.prototype.get$library = function() {
14189 return null; 14707 return null;
14190 } 14708 }
14191 ParameterType.prototype.get$span = function() { 14709 ParameterType.prototype.get$span = function() {
14192 return this.typeParameter.span; 14710 return this.typeParameter.span;
14193 } 14711 }
14194 ParameterType.prototype.getCallMethod = function() { 14712 ParameterType.prototype.getCallMethod = function() {
(...skipping 23 matching lines...) Expand all
14218 } 14736 }
14219 } 14737 }
14220 // ********** Code for ConcreteType ************** 14738 // ********** Code for ConcreteType **************
14221 function ConcreteType(name, genericType, typeArguments, typeArgsInOrder) { 14739 function ConcreteType(name, genericType, typeArguments, typeArgsInOrder) {
14222 this.genericType = genericType; 14740 this.genericType = genericType;
14223 this.typeArguments = typeArguments; 14741 this.typeArguments = typeArguments;
14224 this.typeArgsInOrder = typeArgsInOrder; 14742 this.typeArgsInOrder = typeArgsInOrder;
14225 this.constructors = $map([]); 14743 this.constructors = $map([]);
14226 this.members = $map([]); 14744 this.members = $map([]);
14227 this.factories = new FactoryMap(); 14745 this.factories = new FactoryMap();
14228 lang_Type.call(this, name); 14746 Type.call(this, name);
14229 // Initializers done 14747 // Initializers done
14230 } 14748 }
14231 $inherits(ConcreteType, lang_Type); 14749 $inherits(ConcreteType, Type);
14232 ConcreteType.prototype.get$isList = function() { 14750 ConcreteType.prototype.get$isList = function() {
14233 return this.genericType.get$isList(); 14751 return this.genericType.get$isList();
14234 } 14752 }
14235 ConcreteType.prototype.get$isClass = function() { 14753 ConcreteType.prototype.get$isClass = function() {
14236 return this.genericType.get$isClass(); 14754 return this.genericType.get$isClass();
14237 } 14755 }
14238 ConcreteType.prototype.get$library = function() { 14756 ConcreteType.prototype.get$library = function() {
14239 return this.genericType.get$library(); 14757 return this.genericType.get$library();
14240 } 14758 }
14241 ConcreteType.prototype.get$span = function() { 14759 ConcreteType.prototype.get$span = function() {
(...skipping 133 matching lines...) Expand 10 before | Expand all | Expand 10 after
14375 function DefinedType(name, library, definition, isClass) { 14893 function DefinedType(name, library, definition, isClass) {
14376 this.isUsed = false 14894 this.isUsed = false
14377 this.isNativeType = false 14895 this.isNativeType = false
14378 this.library = library; 14896 this.library = library;
14379 this.isClass = isClass; 14897 this.isClass = isClass;
14380 this.directSubtypes = []; 14898 this.directSubtypes = [];
14381 this.constructors = $map([]); 14899 this.constructors = $map([]);
14382 this.members = $map([]); 14900 this.members = $map([]);
14383 this.factories = new FactoryMap(); 14901 this.factories = new FactoryMap();
14384 this._resolvedMembers = $map([]); 14902 this._resolvedMembers = $map([]);
14385 lang_Type.call(this, name); 14903 Type.call(this, name);
14386 // Initializers done 14904 // Initializers done
14387 this.setDefinition(definition); 14905 this.setDefinition(definition);
14388 } 14906 }
14389 $inherits(DefinedType, lang_Type); 14907 $inherits(DefinedType, Type);
14390 DefinedType.prototype.get$definition = function() { return this.definition; }; 14908 DefinedType.prototype.get$definition = function() { return this.definition; };
14391 DefinedType.prototype.set$definition = function(value) { return this.definition = value; }; 14909 DefinedType.prototype.set$definition = function(value) { return this.definition = value; };
14392 DefinedType.prototype.get$library = function() { return this.library; }; 14910 DefinedType.prototype.get$library = function() { return this.library; };
14393 DefinedType.prototype.get$isClass = function() { return this.isClass; }; 14911 DefinedType.prototype.get$isClass = function() { return this.isClass; };
14394 DefinedType.prototype.get$parent = function() { return this.parent; }; 14912 DefinedType.prototype.get$parent = function() { return this.parent; };
14395 DefinedType.prototype.set$parent = function(value) { return this.parent = value; }; 14913 DefinedType.prototype.set$parent = function(value) { return this.parent = value; };
14396 DefinedType.prototype.get$interfaces = function() { return this.interfaces; }; 14914 DefinedType.prototype.get$interfaces = function() { return this.interfaces; };
14397 DefinedType.prototype.set$interfaces = function(value) { return this.interfaces = value; }; 14915 DefinedType.prototype.set$interfaces = function(value) { return this.interfaces = value; };
14398 DefinedType.prototype.get$typeParameters = function() { return this.typeParamete rs; }; 14916 DefinedType.prototype.get$typeParameters = function() { return this.typeParamete rs; };
14399 DefinedType.prototype.set$typeParameters = function(value) { return this.typePar ameters = value; }; 14917 DefinedType.prototype.set$typeParameters = function(value) { return this.typePar ameters = value; };
(...skipping 663 matching lines...) Expand 10 before | Expand all | Expand 10 after
15063 return this.exp.get$dynamic().get$actualValue(); 15581 return this.exp.get$dynamic().get$actualValue();
15064 } 15582 }
15065 GlobalValue.prototype.compareTo = function(other) { 15583 GlobalValue.prototype.compareTo = function(other) {
15066 if ($eq(other, this)) { 15584 if ($eq(other, this)) {
15067 return 0; 15585 return 0;
15068 } 15586 }
15069 else if (this.dependencies.indexOf(other, 0) >= 0) { 15587 else if (this.dependencies.indexOf(other, 0) >= 0) {
15070 return 1; 15588 return 1;
15071 } 15589 }
15072 else if (other.dependencies.indexOf(this, 0) >= 0) { 15590 else if (other.dependencies.indexOf(this, 0) >= 0) {
15073 return -1; 15591 return -1.000000/*-1*/;
15074 } 15592 }
15075 else if (this.dependencies.length > other.dependencies.length) { 15593 else if (this.dependencies.length > other.dependencies.length) {
15076 return 1; 15594 return 1;
15077 } 15595 }
15078 else if (this.dependencies.length < other.dependencies.length) { 15596 else if (this.dependencies.length < other.dependencies.length) {
15079 return -1; 15597 return -1.000000/*-1*/;
15080 } 15598 }
15081 else if (this.name == null && other.name != null) { 15599 else if (this.name == null && other.name != null) {
15082 return 1; 15600 return 1;
15083 } 15601 }
15084 else if (this.name != null && other.name == null) { 15602 else if (this.name != null && other.name == null) {
15085 return -1; 15603 return -1.000000/*-1*/;
15086 } 15604 }
15087 else if (this.name != null) { 15605 else if (this.name != null) {
15088 return this.name.compareTo(other.name); 15606 return this.name.compareTo(other.name);
15089 } 15607 }
15090 else { 15608 else {
15091 return this.field.name.compareTo(other.field.name); 15609 return this.field.name.compareTo(other.field.name);
15092 } 15610 }
15093 } 15611 }
15094 // ********** Code for CompilerException ************** 15612 // ********** Code for CompilerException **************
15095 function CompilerException(_message, _location) { 15613 function CompilerException(_message, _location) {
15096 this._message = _message; 15614 this._lang_message = _message;
15097 this._location = _location; 15615 this._location = _location;
15098 // Initializers done 15616 // Initializers done
15099 } 15617 }
15100 CompilerException.prototype.toString = function() { 15618 CompilerException.prototype.toString = function() {
15101 if (this._location != null) { 15619 if (this._location != null) {
15102 return ('CompilerException: ' + this._location.toMessageString(this._message ) + ''); 15620 return ('CompilerException: ' + this._location.toMessageString(this._lang_me ssage) + '');
15103 } 15621 }
15104 else { 15622 else {
15105 return ('CompilerException: ' + this._message + ''); 15623 return ('CompilerException: ' + this._lang_message + '');
15106 } 15624 }
15107 } 15625 }
15108 // ********** Code for World ************** 15626 // ********** Code for World **************
15109 function World(files) { 15627 function World(files) {
15110 this.errors = 0 15628 this.errors = 0
15111 this.warnings = 0 15629 this.warnings = 0
15112 this.dartBytesRead = 0 15630 this.dartBytesRead = 0
15113 this.jsBytesWritten = 0 15631 this.jsBytesWritten = 0
15114 this.seenFatal = false 15632 this.seenFatal = false
15115 this.files = files; 15633 this.files = files;
(...skipping 117 matching lines...) Expand 10 before | Expand all | Expand 10 after
15233 throw exc; 15751 throw exc;
15234 } 15752 }
15235 } 15753 }
15236 this.printStatus(); 15754 this.printStatus();
15237 return !this.get$hasErrors(); 15755 return !this.get$hasErrors();
15238 } 15756 }
15239 World.prototype.runLeg = function() { 15757 World.prototype.runLeg = function() {
15240 var $this = this; // closure support 15758 var $this = this; // closure support
15241 if (!options.enableLeg) return false; 15759 if (!options.enableLeg) return false;
15242 return this.withTiming('try leg compile', (function () { 15760 return this.withTiming('try leg compile', (function () {
15243 return compile($this); 15761 return leg_compile($this);
15244 }) 15762 })
15245 ); 15763 );
15246 } 15764 }
15247 World.prototype.runCompilationPhases = function() { 15765 World.prototype.runCompilationPhases = function() {
15248 var $this = this; // closure support 15766 var $this = this; // closure support
15249 var lib = this.withTiming('first pass', (function () { 15767 var lib = this.withTiming('first pass', (function () {
15250 return $this.processScript(options.dartScript); 15768 return $this.processScript(options.dartScript);
15251 }) 15769 })
15252 ); 15770 );
15253 this.withTiming('resolve top level', (function () { 15771 this.withTiming('resolve top level', (function () {
(...skipping 73 matching lines...) Expand 10 before | Expand all | Expand 10 after
15327 this.process(); 15845 this.process();
15328 return library; 15846 return library;
15329 } 15847 }
15330 World.prototype.resolveAll = function() { 15848 World.prototype.resolveAll = function() {
15331 var $list = this.libraries.getValues(); 15849 var $list = this.libraries.getValues();
15332 for (var $i = this.libraries.getValues().iterator(); $i.hasNext(); ) { 15850 for (var $i = this.libraries.getValues().iterator(); $i.hasNext(); ) {
15333 var lib = $i.next(); 15851 var lib = $i.next();
15334 lib.resolve(); 15852 lib.resolve();
15335 } 15853 }
15336 } 15854 }
15337 World.prototype._message = function(message, location, throwing) { 15855 World.prototype._lang_message = function(message, location, throwing) {
15338 var text = message; 15856 var text = message;
15339 if (location != null) { 15857 if (location != null) {
15340 text = location.toMessageString(message); 15858 text = location.toMessageString(message);
15341 } 15859 }
15342 print(text); 15860 print(text);
15343 if (throwing) { 15861 if (throwing) {
15344 $throw(new CompilerException(message, location)); 15862 $throw(new CompilerException(message, location));
15345 } 15863 }
15346 } 15864 }
15347 World.prototype.error = function(message, location) { 15865 World.prototype.error = function(message, location) {
15348 this.errors++; 15866 this.errors++;
15349 this._message(('error: ' + message + ''), location, options.throwOnErrors); 15867 this._lang_message(('error: ' + message + ''), location, options.throwOnErrors );
15350 } 15868 }
15351 World.prototype.warning = function(message, location) { 15869 World.prototype.warning = function(message, location) {
15352 this.warnings++; 15870 this.warnings++;
15353 if (options.showWarnings) { 15871 if (options.showWarnings) {
15354 this._message(('warning: ' + message + ''), location, options.throwOnWarning s); 15872 this._lang_message(('warning: ' + message + ''), location, options.throwOnWa rnings);
15355 } 15873 }
15356 } 15874 }
15357 World.prototype.fatal = function(message, location) { 15875 World.prototype.fatal = function(message, location) {
15358 this.errors++; 15876 this.errors++;
15359 this.seenFatal = true; 15877 this.seenFatal = true;
15360 this._message(('fatal: ' + message + ''), location, options.throwOnFatal || op tions.throwOnErrors); 15878 this._lang_message(('fatal: ' + message + ''), location, options.throwOnFatal || options.throwOnErrors);
15361 } 15879 }
15362 World.prototype.internalError = function(message, location) { 15880 World.prototype.internalError = function(message, location) {
15363 this._message(('We are sorry, but... ' + message + ''), location, true); 15881 this._lang_message(('We are sorry, but... ' + message + ''), location, true);
15364 } 15882 }
15365 World.prototype.info = function(message, location) { 15883 World.prototype.info = function(message, location) {
15366 if (options.showInfo) { 15884 if (options.showInfo) {
15367 this._message(('info: ' + message + ''), location, false); 15885 this._lang_message(('info: ' + message + ''), location, false);
15368 } 15886 }
15369 } 15887 }
15370 World.prototype.get$hasErrors = function() { 15888 World.prototype.get$hasErrors = function() {
15371 return this.errors > 0; 15889 return this.errors > 0;
15372 } 15890 }
15373 World.prototype.printStatus = function() { 15891 World.prototype.printStatus = function() {
15374 this.info(('compiled ' + this.dartBytesRead + ' bytes Dart -> ' + this.jsBytes Written + ' bytes JS')); 15892 this.info(('compiled ' + this.dartBytesRead + ' bytes Dart -> ' + this.jsBytes Written + ' bytes JS'));
15375 if (this.get$hasErrors()) { 15893 if (this.get$hasErrors()) {
15376 print(('compilation failed with ' + this.errors + ' errors')); 15894 print(('compilation failed with ' + this.errors + ' errors'));
15377 } 15895 }
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
15411 var ignoreUnrecognizedFlags = false; 15929 var ignoreUnrecognizedFlags = false;
15412 loop: 15930 loop:
15413 for (var i = 2; 15931 for (var i = 2;
15414 i < args.length; i++) { 15932 i < args.length; i++) {
15415 var arg = args.$index(i); 15933 var arg = args.$index(i);
15416 switch (arg) { 15934 switch (arg) {
15417 case '--enable_leg': 15935 case '--enable_leg':
15418 15936
15419 this.enableLeg = true; 15937 this.enableLeg = true;
15420 continue loop; 15938 continue loop;
15939 $throw(new FallThroughError("./options.dart", 59))
15421 15940
15422 case '--enable_asserts': 15941 case '--enable_asserts':
15423 15942
15424 this.enableAsserts = true; 15943 this.enableAsserts = true;
15425 continue loop; 15944 continue loop;
15945 $throw(new FallThroughError("./options.dart", 63))
15426 15946
15427 case '--enable_type_checks': 15947 case '--enable_type_checks':
15428 15948
15429 this.enableTypeChecks = true; 15949 this.enableTypeChecks = true;
15430 this.enableAsserts = true; 15950 this.enableAsserts = true;
15431 continue loop; 15951 continue loop;
15952 $throw(new FallThroughError("./options.dart", 69))
15432 15953
15433 case '--verify_implements': 15954 case '--verify_implements':
15434 15955
15435 this.verifyImplements = true; 15956 this.verifyImplements = true;
15436 continue loop; 15957 continue loop;
15958 $throw(new FallThroughError("./options.dart", 73))
15437 15959
15438 case '--compile_all': 15960 case '--compile_all':
15439 15961
15440 this.compileAll = true; 15962 this.compileAll = true;
15441 continue loop; 15963 continue loop;
15964 $throw(new FallThroughError("./options.dart", 77))
15442 15965
15443 case '--diet-parse': 15966 case '--diet-parse':
15444 15967
15445 this.dietParse = true; 15968 this.dietParse = true;
15446 continue loop; 15969 continue loop;
15970 $throw(new FallThroughError("./options.dart", 81))
15447 15971
15448 case '--ignore-unrecognized-flags': 15972 case '--ignore-unrecognized-flags':
15449 15973
15450 ignoreUnrecognizedFlags = true; 15974 ignoreUnrecognizedFlags = true;
15451 continue loop; 15975 continue loop;
15976 $throw(new FallThroughError("./options.dart", 85))
15452 15977
15453 case '--verbose': 15978 case '--verbose':
15454 15979
15455 this.showInfo = true; 15980 this.showInfo = true;
15456 continue loop; 15981 continue loop;
15982 $throw(new FallThroughError("./options.dart", 89))
15457 15983
15458 case '--throw_on_errors': 15984 case '--throw_on_errors':
15459 15985
15460 this.throwOnErrors = true; 15986 this.throwOnErrors = true;
15461 continue loop; 15987 continue loop;
15988 $throw(new FallThroughError("./options.dart", 93))
15462 15989
15463 case '--throw_on_warnings': 15990 case '--throw_on_warnings':
15464 15991
15465 this.throwOnWarnings = true; 15992 this.throwOnWarnings = true;
15466 continue loop; 15993 continue loop;
15994 $throw(new FallThroughError("./options.dart", 97))
15467 15995
15468 case '--compile-only': 15996 case '--compile-only':
15469 15997
15470 this.compileOnly = true; 15998 this.compileOnly = true;
15471 continue loop; 15999 continue loop;
16000 $throw(new FallThroughError("./options.dart", 102))
15472 16001
15473 default: 16002 default:
15474 16003
15475 if (arg.endsWith('.dart')) { 16004 if (arg.endsWith('.dart')) {
15476 this.dartScript = arg; 16005 this.dartScript = arg;
15477 this.childArgs = ListFactory.ListFactory$fromList$factory(args, i + 1, args.length); 16006 this.childArgs = ListFactory.ListFactory$fromList$factory(args, i + 1, args.length);
15478 return; 16007 return;
15479 } 16008 }
15480 else if (arg.startsWith('--out=')) { 16009 else if (arg.startsWith('--out=')) {
15481 this.outfile = arg.substring('--out='.length); 16010 this.outfile = arg.substring('--out='.length);
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
15531 } 16060 }
15532 else { 16061 else {
15533 return text; 16062 return text;
15534 } 16063 }
15535 } 16064 }
15536 var world; 16065 var world;
15537 function initializeWorld(files) { 16066 function initializeWorld(files) {
15538 world = new World(files); 16067 world = new World(files);
15539 world.init(); 16068 world.init();
15540 } 16069 }
15541 function lang_compile(homedir, args) { 16070 function compile(homedir, args) {
15542 parseOptions(homedir, args); 16071 parseOptions(homedir, args);
15543 initializeWorld(new FileSystem(options.libDir)); 16072 initializeWorld(new FileSystem(options.libDir));
15544 var success = world.compile(); 16073 var success = world.compile();
15545 if (options.outfile != null) { 16074 if (options.outfile != null) {
15546 if (success) { 16075 if (success) {
15547 var code = world.getGeneratedCode(); 16076 var code = world.getGeneratedCode();
15548 if (!options.outfile.endsWith('.js')) { 16077 if (!options.outfile.endsWith('.js')) {
15549 code = '#!/usr/bin/env node\n' + code; 16078 code = '#!/usr/bin/env node\n' + code;
15550 } 16079 }
15551 world.files.writeString(options.outfile, code); 16080 world.files.writeString(options.outfile, code);
15552 } 16081 }
15553 else { 16082 else {
15554 world.files.writeString(options.outfile, "throw 'Sorry, but I could not ge nerate reasonable code to run.\\n';"); 16083 world.files.writeString(options.outfile, "throw 'Sorry, but I could not ge nerate reasonable code to run.\\n';");
15555 } 16084 }
15556 } 16085 }
15557 return success; 16086 return success;
15558 } 16087 }
15559 var options; 16088 var options;
15560 function parseOptions(homedir, args) { 16089 function parseOptions(homedir, args) {
15561 options = new Options(homedir, args); 16090 options = new Options(homedir, args);
15562 } 16091 }
15563 // ********** Library frog ************** 16092 // ********** Library frog **************
15564 // ********** Code for top level ************** 16093 // ********** Code for top level **************
15565 function main() { 16094 function main() {
15566 var homedir = get$path().dirname(get$fs().realpathSync(process.argv.$index(1)) ); 16095 var homedir = get$path().dirname(get$fs().realpathSync(process.argv.$index(1)) );
15567 if (lang_compile(homedir, process.argv)) { 16096 if (compile(homedir, process.argv)) {
15568 var code = world.getGeneratedCode(); 16097 var code = world.getGeneratedCode();
15569 if (!options.compileOnly) { 16098 if (!options.compileOnly) {
15570 process.argv = [process.argv.$index(0), process.argv.$index(1)]; 16099 process.argv = [process.argv.$index(0), process.argv.$index(1)];
15571 process.argv.addAll(options.childArgs); 16100 process.argv.addAll(options.childArgs);
15572 runCodeWithContext(code); 16101 runCodeWithContext(code);
15573 } 16102 }
15574 } 16103 }
15575 else { 16104 else {
15576 process.exit(1); 16105 process.exit(1);
15577 } 16106 }
(...skipping 10 matching lines...) Expand all
15588 function to$call$1(f) { return f && f.to$call$1(); } 16117 function to$call$1(f) { return f && f.to$call$1(); }
15589 Function.prototype.to$call$2 = function() { 16118 Function.prototype.to$call$2 = function() {
15590 this.call$2 = this.$genStub(2); 16119 this.call$2 = this.$genStub(2);
15591 this.to$call$2 = function() { return this.call$2; }; 16120 this.to$call$2 = function() { return this.call$2; };
15592 return this.call$2; 16121 return this.call$2;
15593 } 16122 }
15594 Function.prototype.call$2 = function($0, $1) { 16123 Function.prototype.call$2 = function($0, $1) {
15595 return this.to$call$2()($0, $1); 16124 return this.to$call$2()($0, $1);
15596 } 16125 }
15597 function to$call$2(f) { return f && f.to$call$2(); } 16126 function to$call$2(f) { return f && f.to$call$2(); }
15598 var const$10 = new EmptyQueueException()/*const EmptyQueueException()*/; 16127 var const$120 = []/*const []*/;
15599 var const$132 = new TokenString('void')/*const TokenString('void')*/; 16128 var const$121 = new NoMoreElementsException()/*const NoMoreElementsException()*/ ;
15600 var const$134 = new TokenString('int')/*const TokenString('int')*/; 16129 var const$122 = new EmptyQueueException()/*const EmptyQueueException()*/;
15601 var const$136 = new TokenString('Dynamic')/*const TokenString('Dynamic')*/; 16130 var const$227 = new Keyword("break", false)/*const Keyword("break")*/;
15602 var const$235 = new Keyword("break", false)/*const Keyword("break")*/; 16131 var const$229 = new Keyword("case", false)/*const Keyword("case")*/;
15603 var const$237 = new Keyword("case", false)/*const Keyword("case")*/; 16132 var const$231 = new Keyword("catch", false)/*const Keyword("catch")*/;
15604 var const$239 = new Keyword("catch", false)/*const Keyword("catch")*/; 16133 var const$233 = new Keyword("const", false)/*const Keyword("const")*/;
15605 var const$241 = new Keyword("const", false)/*const Keyword("const")*/; 16134 var const$235 = new Keyword("continue", false)/*const Keyword("continue")*/;
15606 var const$243 = new Keyword("continue", false)/*const Keyword("continue")*/; 16135 var const$237 = new Keyword("default", false)/*const Keyword("default")*/;
15607 var const$245 = new Keyword("default", false)/*const Keyword("default")*/; 16136 var const$239 = new Keyword("do", false)/*const Keyword("do")*/;
15608 var const$247 = new Keyword("do", false)/*const Keyword("do")*/; 16137 var const$241 = new Keyword("else", false)/*const Keyword("else")*/;
15609 var const$249 = new Keyword("else", false)/*const Keyword("else")*/; 16138 var const$243 = new Keyword("false", false)/*const Keyword("false")*/;
15610 var const$251 = new Keyword("false", false)/*const Keyword("false")*/; 16139 var const$245 = new Keyword("final", false)/*const Keyword("final")*/;
15611 var const$253 = new Keyword("final", false)/*const Keyword("final")*/; 16140 var const$247 = new Keyword("finally", false)/*const Keyword("finally")*/;
15612 var const$255 = new Keyword("finally", false)/*const Keyword("finally")*/; 16141 var const$249 = new Keyword("for", false)/*const Keyword("for")*/;
15613 var const$257 = new Keyword("for", false)/*const Keyword("for")*/; 16142 var const$251 = new Keyword("if", false)/*const Keyword("if")*/;
15614 var const$259 = new Keyword("if", false)/*const Keyword("if")*/; 16143 var const$253 = new Keyword("in", false)/*const Keyword("in")*/;
15615 var const$261 = new Keyword("in", false)/*const Keyword("in")*/; 16144 var const$255 = new Keyword("is", false)/*const Keyword("is")*/;
15616 var const$263 = new Keyword("is", false)/*const Keyword("is")*/; 16145 var const$257 = new Keyword("new", false)/*const Keyword("new")*/;
15617 var const$265 = new Keyword("new", false)/*const Keyword("new")*/; 16146 var const$259 = new Keyword("null", false)/*const Keyword("null")*/;
15618 var const$267 = new Keyword("null", false)/*const Keyword("null")*/; 16147 var const$261 = new Keyword("return", false)/*const Keyword("return")*/;
15619 var const$269 = new Keyword("return", false)/*const Keyword("return")*/; 16148 var const$263 = new Keyword("super", false)/*const Keyword("super")*/;
15620 var const$271 = new Keyword("super", false)/*const Keyword("super")*/; 16149 var const$265 = new Keyword("switch", false)/*const Keyword("switch")*/;
15621 var const$273 = new Keyword("switch", false)/*const Keyword("switch")*/; 16150 var const$267 = new Keyword("this", false)/*const Keyword("this")*/;
15622 var const$275 = new Keyword("this", false)/*const Keyword("this")*/; 16151 var const$269 = new Keyword("throw", false)/*const Keyword("throw")*/;
15623 var const$277 = new Keyword("throw", false)/*const Keyword("throw")*/; 16152 var const$271 = new Keyword("true", false)/*const Keyword("true")*/;
15624 var const$279 = new Keyword("true", false)/*const Keyword("true")*/; 16153 var const$273 = new Keyword("try", false)/*const Keyword("try")*/;
15625 var const$281 = new Keyword("try", false)/*const Keyword("try")*/; 16154 var const$275 = new Keyword("var", false)/*const Keyword("var")*/;
15626 var const$283 = new Keyword("var", false)/*const Keyword("var")*/; 16155 var const$277 = new Keyword("void", false)/*const Keyword("void")*/;
15627 var const$285 = new Keyword("void", false)/*const Keyword("void")*/; 16156 var const$279 = new Keyword("while", false)/*const Keyword("while")*/;
15628 var const$287 = new Keyword("while", false)/*const Keyword("while")*/; 16157 var const$281 = new Keyword("abstract", true)/*const Keyword("abstract", true)*/ ;
15629 var const$289 = new Keyword("abstract", true)/*const Keyword("abstract", true)*/ ; 16158 var const$283 = new Keyword("assert", true)/*const Keyword("assert", true)*/;
15630 var const$291 = new Keyword("assert", true)/*const Keyword("assert", true)*/; 16159 var const$285 = new Keyword("class", true)/*const Keyword("class", true)*/;
15631 var const$293 = new Keyword("class", true)/*const Keyword("class", true)*/; 16160 var const$287 = new Keyword("extends", true)/*const Keyword("extends", true)*/;
15632 var const$295 = new Keyword("extends", true)/*const Keyword("extends", true)*/; 16161 var const$289 = new Keyword("factory", true)/*const Keyword("factory", true)*/;
15633 var const$297 = new Keyword("factory", true)/*const Keyword("factory", true)*/; 16162 var const$291 = new Keyword("get", true)/*const Keyword("get", true)*/;
15634 var const$299 = new Keyword("get", true)/*const Keyword("get", true)*/; 16163 var const$293 = new Keyword("implements", true)/*const Keyword("implements", tru e)*/;
15635 var const$301 = new Keyword("implements", true)/*const Keyword("implements", tru e)*/; 16164 var const$295 = new Keyword("import", true)/*const Keyword("import", true)*/;
15636 var const$303 = new Keyword("import", true)/*const Keyword("import", true)*/; 16165 var const$297 = new Keyword("interface", true)/*const Keyword("interface", true) */;
15637 var const$305 = new Keyword("interface", true)/*const Keyword("interface", true) */; 16166 var const$299 = new Keyword("library", true)/*const Keyword("library", true)*/;
15638 var const$307 = new Keyword("library", true)/*const Keyword("library", true)*/; 16167 var const$301 = new Keyword("native", true)/*const Keyword("native", true)*/;
15639 var const$309 = new Keyword("native", true)/*const Keyword("native", true)*/; 16168 var const$303 = new Keyword("negate", true)/*const Keyword("negate", true)*/;
15640 var const$311 = new Keyword("negate", true)/*const Keyword("negate", true)*/; 16169 var const$305 = new Keyword("operator", true)/*const Keyword("operator", true)*/ ;
15641 var const$313 = new Keyword("operator", true)/*const Keyword("operator", true)*/ ; 16170 var const$307 = new Keyword("set", true)/*const Keyword("set", true)*/;
15642 var const$315 = new Keyword("set", true)/*const Keyword("set", true)*/; 16171 var const$309 = new Keyword("source", true)/*const Keyword("source", true)*/;
15643 var const$317 = new Keyword("source", true)/*const Keyword("source", true)*/; 16172 var const$311 = new Keyword("static", true)/*const Keyword("static", true)*/;
15644 var const$319 = new Keyword("static", true)/*const Keyword("static", true)*/; 16173 var const$313 = new Keyword("typedef", true)/*const Keyword("typedef", true)*/;
15645 var const$321 = new Keyword("typedef", true)/*const Keyword("typedef", true)*/; 16174 var const$317 = new LinkTail()/*const LinkTail()*/;
15646 var const$325 = new LinkTail()/*const LinkTail()*/; 16175 var const$320 = new TokenString('void')/*const TokenString('void')*/;
15647 var const$8 = []/*const []*/; 16176 var const$322 = new TokenString('int')/*const TokenString('int')*/;
15648 var const$9 = new NoMoreElementsException()/*const NoMoreElementsException()*/; 16177 var const$324 = new TokenString('Dynamic')/*const TokenString('Dynamic')*/;
15649 var $0 = 48; 16178 var $0 = 48;
15650 var $1 = 49; 16179 var $1 = 49;
15651 var $2 = 50; 16180 var $2 = 50;
15652 var $3 = 51; 16181 var $3 = 51;
15653 var $4 = 52; 16182 var $4 = 52;
15654 var $5 = 53; 16183 var $5 = 53;
15655 var $6 = 54; 16184 var $6 = 54;
15656 var $7 = 55; 16185 var $7 = 55;
15657 var $8 = 56; 16186 var $8 = 56;
15658 var $9 = 57; 16187 var $9 = 57;
(...skipping 170 matching lines...) Expand 10 before | Expand all | Expand 10 after
15829 TokenKind.LBRACE = 6; 16358 TokenKind.LBRACE = 6;
15830 TokenKind.LBRACK = 4; 16359 TokenKind.LBRACK = 4;
15831 TokenKind.LIBRARY = 79; 16360 TokenKind.LIBRARY = 79;
15832 Math.LN10 = 2.302585092994046; 16361 Math.LN10 = 2.302585092994046;
15833 Math.LN2 = 0.6931471805599453; 16362 Math.LN2 = 0.6931471805599453;
15834 Math.LOG10E = 0.4342944819032518; 16363 Math.LOG10E = 0.4342944819032518;
15835 Math.LOG2E = 1.4426950408889634; 16364 Math.LOG2E = 1.4426950408889634;
15836 TokenKind.LPAREN = 2; 16365 TokenKind.LPAREN = 2;
15837 TokenKind.LT = 52; 16366 TokenKind.LT = 52;
15838 TokenKind.LTE = 54; 16367 TokenKind.LTE = 54;
15839 Duration.MILLISECONDS_PER_DAY = 86400000/*MILLISECONDS_PER_HOUR * HOURS_PER_DAY* /; 16368 Duration.MILLISECONDS_PER_DAY = 86400000.000000/*MILLISECONDS_PER_HOUR * HOURS_P ER_DAY*/;
15840 Duration.MILLISECONDS_PER_HOUR = 3600000/*MILLISECONDS_PER_MINUTE * MINUTES_PER_ HOUR*/; 16369 Duration.MILLISECONDS_PER_HOUR = 3600000.000000/*MILLISECONDS_PER_MINUTE * MINUT ES_PER_HOUR*/;
15841 Duration.MILLISECONDS_PER_MINUTE = 60000/*MILLISECONDS_PER_SECOND * SECONDS_PER_ MINUTE*/; 16370 Duration.MILLISECONDS_PER_MINUTE = 60000.000000/*MILLISECONDS_PER_SECOND * SECON DS_PER_MINUTE*/;
15842 Duration.MILLISECONDS_PER_SECOND = 1000; 16371 Duration.MILLISECONDS_PER_SECOND = 1000;
15843 Duration.MINUTES_PER_HOUR = 60; 16372 Duration.MINUTES_PER_HOUR = 60;
15844 TokenKind.MOD = 47; 16373 TokenKind.MOD = 47;
15845 TokenKind.MUL = 44; 16374 TokenKind.MUL = 44;
15846 TokenKind.NATIVE = 80; 16375 TokenKind.NATIVE = 80;
15847 TokenKind.NE = 49; 16376 TokenKind.NE = 49;
15848 TokenKind.NEGATE = 81; 16377 TokenKind.NEGATE = 81;
15849 TokenKind.NEW = 102; 16378 TokenKind.NEW = 102;
15850 CodeWriter.NEWLINE = '\n'; 16379 CodeWriter.NEWLINE = '\n';
15851 TokenKind.NE_STRICT = 51; 16380 TokenKind.NE_STRICT = 51;
(...skipping 33 matching lines...) Expand 10 before | Expand all | Expand 10 after
15885 TokenKind.TRUE = 109; 16414 TokenKind.TRUE = 109;
15886 TokenKind.TRUNCDIV = 46; 16415 TokenKind.TRUNCDIV = 46;
15887 TokenKind.TRY = 110; 16416 TokenKind.TRY = 110;
15888 TokenKind.TYPEDEF = 86; 16417 TokenKind.TYPEDEF = 86;
15889 TokenKind.VAR = 111; 16418 TokenKind.VAR = 111;
15890 TokenKind.VOID = 112; 16419 TokenKind.VOID = 112;
15891 TokenKind.WHILE = 113; 16420 TokenKind.WHILE = 113;
15892 TokenKind.WHITESPACE = 62; 16421 TokenKind.WHITESPACE = 62;
15893 HashMapImplementation._INITIAL_CAPACITY = 8; 16422 HashMapImplementation._INITIAL_CAPACITY = 8;
15894 var _SPAWNED_SIGNAL = "spawned"; 16423 var _SPAWNED_SIGNAL = "spawned";
15895 var const$133 = new SimpleType(const$132)/*const SimpleType(const TokenString('v oid'))*/; 16424 var const$321 = new SimpleType(const$320)/*const SimpleType(const TokenString('v oid'))*/;
15896 var const$135 = new SimpleType(const$134)/*const SimpleType(const TokenString('i nt'))*/; 16425 var const$323 = new SimpleType(const$322)/*const SimpleType(const TokenString('i nt'))*/;
15897 var const$137 = new SimpleType(const$136)/*const SimpleType(const TokenString('D ynamic'))*/; 16426 var const$325 = new SimpleType(const$324)/*const SimpleType(const TokenString('D ynamic'))*/;
15898 Keyword.ABSTRACT = const$289/*const Keyword("abstract", true)*/; 16427 Keyword.ABSTRACT = const$281/*const Keyword("abstract", true)*/;
15899 Keyword.ASSERT = const$291/*const Keyword("assert", true)*/; 16428 Keyword.ASSERT = const$283/*const Keyword("assert", true)*/;
15900 Keyword.BREAK = const$235/*const Keyword("break")*/; 16429 Keyword.BREAK = const$227/*const Keyword("break")*/;
15901 Keyword.CASE = const$237/*const Keyword("case")*/; 16430 Keyword.CASE = const$229/*const Keyword("case")*/;
15902 Keyword.CATCH = const$239/*const Keyword("catch")*/; 16431 Keyword.CATCH = const$231/*const Keyword("catch")*/;
15903 Keyword.CLASS = const$293/*const Keyword("class", true)*/; 16432 Keyword.CLASS = const$285/*const Keyword("class", true)*/;
15904 Keyword.CONST = const$241/*const Keyword("const")*/; 16433 Keyword.CONST = const$233/*const Keyword("const")*/;
15905 Keyword.CONTINUE = const$243/*const Keyword("continue")*/; 16434 Keyword.CONTINUE = const$235/*const Keyword("continue")*/;
15906 Keyword.DEFAULT = const$245/*const Keyword("default")*/; 16435 Keyword.DEFAULT = const$237/*const Keyword("default")*/;
15907 Keyword.DO = const$247/*const Keyword("do")*/; 16436 Keyword.DO = const$239/*const Keyword("do")*/;
15908 Keyword.ELSE = const$249/*const Keyword("else")*/; 16437 Keyword.ELSE = const$241/*const Keyword("else")*/;
15909 Keyword.EXTENDS = const$295/*const Keyword("extends", true)*/; 16438 Keyword.EXTENDS = const$287/*const Keyword("extends", true)*/;
15910 Keyword.FACTORY = const$297/*const Keyword("factory", true)*/; 16439 Keyword.FACTORY = const$289/*const Keyword("factory", true)*/;
15911 Keyword.FALSE = const$251/*const Keyword("false")*/; 16440 Keyword.FALSE = const$243/*const Keyword("false")*/;
15912 Keyword.FINAL = const$253/*const Keyword("final")*/; 16441 Keyword.FINAL = const$245/*const Keyword("final")*/;
15913 Keyword.FINALLY = const$255/*const Keyword("finally")*/; 16442 Keyword.FINALLY = const$247/*const Keyword("finally")*/;
15914 Keyword.FOR = const$257/*const Keyword("for")*/; 16443 Keyword.FOR = const$249/*const Keyword("for")*/;
15915 Keyword.GET = const$299/*const Keyword("get", true)*/; 16444 Keyword.GET = const$291/*const Keyword("get", true)*/;
15916 Keyword.IF = const$259/*const Keyword("if")*/; 16445 Keyword.IF = const$251/*const Keyword("if")*/;
15917 Keyword.IMPLEMENTS = const$301/*const Keyword("implements", true)*/; 16446 Keyword.IMPLEMENTS = const$293/*const Keyword("implements", true)*/;
15918 Keyword.IMPORT = const$303/*const Keyword("import", true)*/; 16447 Keyword.IMPORT = const$295/*const Keyword("import", true)*/;
15919 Keyword.IN = const$261/*const Keyword("in")*/; 16448 Keyword.IN = const$253/*const Keyword("in")*/;
15920 Keyword.INTERFACE = const$305/*const Keyword("interface", true)*/; 16449 Keyword.INTERFACE = const$297/*const Keyword("interface", true)*/;
15921 Keyword.IS = const$263/*const Keyword("is")*/; 16450 Keyword.IS = const$255/*const Keyword("is")*/;
15922 Keyword.LIBRARY = const$307/*const Keyword("library", true)*/; 16451 Keyword.LIBRARY = const$299/*const Keyword("library", true)*/;
15923 Keyword.NATIVE = const$309/*const Keyword("native", true)*/; 16452 Keyword.NATIVE = const$301/*const Keyword("native", true)*/;
15924 Keyword.NEGATE = const$311/*const Keyword("negate", true)*/; 16453 Keyword.NEGATE = const$303/*const Keyword("negate", true)*/;
15925 Keyword.NEW = const$265/*const Keyword("new")*/; 16454 Keyword.NEW = const$257/*const Keyword("new")*/;
15926 Keyword.NULL = const$267/*const Keyword("null")*/; 16455 Keyword.NULL = const$259/*const Keyword("null")*/;
15927 Keyword.OPERATOR = const$313/*const Keyword("operator", true)*/; 16456 Keyword.OPERATOR = const$305/*const Keyword("operator", true)*/;
15928 Keyword.RETURN = const$269/*const Keyword("return")*/; 16457 Keyword.RETURN = const$261/*const Keyword("return")*/;
15929 Keyword.SET = const$315/*const Keyword("set", true)*/; 16458 Keyword.SET = const$307/*const Keyword("set", true)*/;
15930 Keyword.SOURCE = const$317/*const Keyword("source", true)*/; 16459 Keyword.SOURCE = const$309/*const Keyword("source", true)*/;
15931 Keyword.STATIC = const$319/*const Keyword("static", true)*/; 16460 Keyword.STATIC = const$311/*const Keyword("static", true)*/;
15932 Keyword.SUPER = const$271/*const Keyword("super")*/; 16461 Keyword.SUPER = const$263/*const Keyword("super")*/;
15933 Keyword.SWITCH = const$273/*const Keyword("switch")*/; 16462 Keyword.SWITCH = const$265/*const Keyword("switch")*/;
15934 Keyword.THIS = const$275/*const Keyword("this")*/; 16463 Keyword.THIS = const$267/*const Keyword("this")*/;
15935 Keyword.THROW = const$277/*const Keyword("throw")*/; 16464 Keyword.THROW = const$269/*const Keyword("throw")*/;
15936 Keyword.TRUE = const$279/*const Keyword("true")*/; 16465 Keyword.TRUE = const$271/*const Keyword("true")*/;
15937 Keyword.TRY = const$281/*const Keyword("try")*/; 16466 Keyword.TRY = const$273/*const Keyword("try")*/;
15938 Keyword.TYPEDEF = const$321/*const Keyword("typedef", true)*/; 16467 Keyword.TYPEDEF = const$313/*const Keyword("typedef", true)*/;
15939 Keyword.VAR = const$283/*const Keyword("var")*/; 16468 Keyword.VAR = const$275/*const Keyword("var")*/;
15940 Keyword.VOID = const$285/*const Keyword("void")*/; 16469 Keyword.VOID = const$277/*const Keyword("void")*/;
15941 Keyword.WHILE = const$287/*const Keyword("while")*/; 16470 Keyword.WHILE = const$279/*const Keyword("while")*/;
15942 var const$323 = [const$235, const$237, const$239, const$241, const$243, const$24 5, const$247, const$249, const$251, const$253, const$255, const$257, const$259, const$261, const$263, const$265, const$267, const$269, const$271, const$273, con st$275, const$277, const$279, const$281, const$283, const$285, const$287, const$ 289, const$291, const$293, const$295, const$297, const$299, const$301, const$303 , const$305, const$307, const$309, const$311, const$313, const$315, const$317, c onst$319, const$321]/*const <Keyword> [ 16471 var const$315 = [const$227, const$229, const$231, const$233, const$235, const$23 7, const$239, const$241, const$243, const$245, const$247, const$249, const$251, const$253, const$255, const$257, const$259, const$261, const$263, const$265, con st$267, const$269, const$271, const$273, const$275, const$277, const$279, const$ 281, const$283, const$285, const$287, const$289, const$291, const$293, const$295 , const$297, const$299, const$301, const$303, const$305, const$307, const$309, c onst$311, const$313]/*const <Keyword> [
15943 BREAK, 16472 BREAK,
15944 CASE, 16473 CASE,
15945 CATCH, 16474 CATCH,
15946 CONST, 16475 CONST,
15947 CONTINUE, 16476 CONTINUE,
15948 DEFAULT, 16477 DEFAULT,
15949 DO, 16478 DO,
15950 ELSE, 16479 ELSE,
15951 FALSE, 16480 FALSE,
15952 FINAL, 16481 FINAL,
(...skipping 24 matching lines...) Expand all
15977 IMPORT, 16506 IMPORT,
15978 INTERFACE, 16507 INTERFACE,
15979 LIBRARY, 16508 LIBRARY,
15980 NATIVE, 16509 NATIVE,
15981 NEGATE, 16510 NEGATE,
15982 OPERATOR, 16511 OPERATOR,
15983 SET, 16512 SET,
15984 SOURCE, 16513 SOURCE,
15985 STATIC, 16514 STATIC,
15986 TYPEDEF ]*/; 16515 TYPEDEF ]*/;
15987 Keyword.values = const$323/*const <Keyword> [ 16516 Keyword.values = const$315/*const <Keyword> [
15988 BREAK, 16517 BREAK,
15989 CASE, 16518 CASE,
15990 CATCH, 16519 CATCH,
15991 CONST, 16520 CONST,
15992 CONTINUE, 16521 CONTINUE,
15993 DEFAULT, 16522 DEFAULT,
15994 DO, 16523 DO,
15995 ELSE, 16524 ELSE,
15996 FALSE, 16525 FALSE,
15997 FINAL, 16526 FINAL,
(...skipping 25 matching lines...) Expand all
16023 INTERFACE, 16552 INTERFACE,
16024 LIBRARY, 16553 LIBRARY,
16025 NATIVE, 16554 NATIVE,
16026 NEGATE, 16555 NEGATE,
16027 OPERATOR, 16556 OPERATOR,
16028 SET, 16557 SET,
16029 SOURCE, 16558 SOURCE,
16030 STATIC, 16559 STATIC,
16031 TYPEDEF ]*/; 16560 TYPEDEF ]*/;
16032 main(); 16561 main();
OLDNEW
« no previous file with comments | « no previous file | gen.dart » ('j') | gen.dart » ('J')

Powered by Google App Engine
This is Rietveld 408576698