OLD | NEW |
---|---|
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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(); |
OLD | NEW |